Releases: tarides/dune-release
Releases · tarides/dune-release
2.2.1
2.2.0
2.1.0
CHANGES:
Added
- Add
dune-release delegate-info versionto show the current version as infered
by the tool (#495, @samoht) - Add
--dev-repotodune-releaseanddune-release publishto overwrite
thedev-repofield specified in the opam file (#494, @samoht)
Changed
- Use the 'user' option as the fork owner, only attempt to decode the remote URL
if the user option is not set. (#480, @Julow)
Fixed
- Make
dune-releasenot fail in the presence of~/.dune/bin/dune(which is present
when using dune package management)
Removed
1.5.0
CHANGES:
Added
- Add
--no-auto-opento the default command. It was previously only available for
dune-release opam. (#374, @NathanReb) - Add a
config createsubcommand to create a fresh configuration if you don't have one yet
(#373, @NathanReb) - Add
--local-repo,--remote-repoand--opam-repooptions to the default command,
they used to be only available for theopamsubcommand (#363, @NathanReb) - Add a
--tokenoption todune-release publishanddune-release opamcommands
to specify a github token. This allows dune-release to be called through a Github
Actions workflow and use the github token through an environment variable.
(#284 #368, @gpetiot @NathanReb) - Log curl calls on verbose/debug mode (#281, @gpetiot)
- Try to publish the release asset again after it failed (#272, @gpetiot)
- Improve error reporting of failing git comands (#257, @gpetiot)
- Suggest a solution for users without ssh setup (#304, @pitag-ha)
- Allow including git submodules to the distrib tarball by passing the
--include-submodulesflag todune-release,dune-release bistroor
dune-release distrib(#300, @NathanReb) - Support 'git://' scheme for dev-repo uri (#331, @gpetiot)
- Support creation of draft releases and draft PRs. Define a new option
--draftfordune-release publishanddune-release opam submitcommands.
(#248, @gpetiot) - Add a new command
checkto check the prerequisites of dune-release and
avoid starting a release process that couldn't be finished (#318, #351, @pitag-ha) - When preparing the opam-repository PR and pushing the local branch to
the user's remote opam-repository fork, use--set-upstreamto ease any further
update of the PR (#350, @gpetiot)
Changed
- Entirely rely on the remote fork of opam-repository URL in
opam submitinstead of
reading the user separately. The information was redundant and could only lead to bugs
when unproperly set. (#372, @NathanReb) - Use pure token authentication for Github API requests rather than "token as passwords"
authentication (#369, @NathanReb) - Require tokens earlier in the execution of commands that use the github API. If the token
isn't saved to the user's configuration, the prompt for creating one will show up at the
command startup rather than on sending the first request (#368, @NathanReb) - Attach the changelog to the annotated tag message (#283, @gpetiot)
- Do not remove versioned files from the tarball anymore. We used to exclude
.gitignore,.gitattributesand other such files from the archive.
(#299, @NathanReb) - Don't try to push the tag if it is already present and point to the same ref on the remote.
dune-releasemust guess which URI to pass togit pushand may guess it wrong.
This change allows users to push the tag manually to avoid using that code. (#219, @Julow) - Don't try to create the release if it is already present and points to the same tag (#277, @kit-ty-kate)
- Recursively exclude all
.git/.hgfiles and folders from the distrib
tarball (#300, @NathanReb) - Make the automatic dune-release workflow to stop if a step exits with a non-zero code (#332, @gpetiot)
- Make git-related mdx tests more robust in unusual environments (#334, @sternenseemann)
- Set the default tag message to "Release " instead of "Distribution "
- Opam file linter: check for
synopsisinstead ofdescription(#291, @kit-ty-kate) - Upgrade the use of the opam libraries to opam 2.1 (#343, @kit-ty-kate)
Deprecated
- Deprecate the
--userCLI options and configuration field, they were redundant with
the remote-repo option and field and could be set unproperly, leading to bugs (#372, @NathanReb) - Deprecate the use of delegates in
dune-release publish(#276, #302, @pitag-ha) - Deprecate the use of opam file format 1.x (#352, @NathanReb)
Removed
- Option --name is removed from all commands. When used with
dune-release distrib, it was previously effectively ignored. Now
it is required to add a(name <name>)stanza to
dune-project. (#327, @lehy)
Fixed
- Fix a bug where
opam submitwould look up a config file, even though all the required
information was provided on the command line. This would lead to starting the interactive
config creation quizz if that file did not exist which made it impossible to use it in a CI
for instance. (#373, @NathanReb) - Fix a bug where
opam submitwould fail on non-github repositories if the user had no
configuration file (#372, @NathanReb) - Fix a bug where subcommands wouldn't properly read the token files, leading to authentication
failures on API requests (#368, @NathanReb) - Fix a bug in
opam submitpreventing non-github users to create the opam-repo PR
via dune-release. (#359, @NathanReb) - Fix a bug where
opam submitwould try to parse the custom URI provided through
--distrib-urias a github repo URI instead of using the dev-repo (#358, @NathanReb) - Fix the priority of the
--distrib-urioption indune-release opam pkg.
It used to have lower precendence than the url file written bydune-release publish
and therefore made it impossible to overwrite it if needed. (#255, @NathanReb) - Fix a bug with --distrib-file in
dune-release opam pkgwhere you would need
the regular dune-release generated archive to be around even though you specified
a custom distrib archive file. (#255, @NathanReb) - Use int64 for timestamps. (#261, @gpetiot)
- Define the order of packages (#263, @gpetiot)
- Allow the dry-run mode to continue even after some API call's response were expected by using placeholder values (#262, @gpetiot)
- Build and run tests for all selected packages when checking distribution tarball
(#266, @NathanReb) - Improve trimming of the changelog to preserve the indentation of the list of changes. (#268, @gpetiot)
- Trim the data of the
urlfile before filling theurl.srcfield. This fixes an issue that caused theurl.srcfield to be a multi-line string instead of single line. (#270, @gpetiot) - Fix a bug causing dune-release to exclude all hidden files and folders (starting with
.) at the
repository from the distrib archive (#298, @NathanReb) - Better report GitHub API errors, all of the error messages reported by the GitHub API are now checked and reported to the user. (#290, @gpetiot)
- Fix error message when
dune-release tagcannot guess the project name (#319, @lehy) - Always warn about uncommitted changes at the start of
dune-release distrib(#325, @lehy). Otherwise uncommitted changes to
dune-project would be silently ignored bydune-release distrib. - Fix rewriting of github references in changelog (#330, @gpetiot)
- Fixes a bug under cygwin where dune-release was unable to find the commit hash corresponding to the release tag (#329, @gpetiot)
- Fixes release names by explicitly setting it to match the released version (#338, @NathanReb)
- Fix a bug that prevented release of a package whose version number contains invalid characters for a git branch. The git branch names are now sanitized. (#271, @gpetiot)
publish: Fix the process of inferring user name and repo from the dev repo uri (#348, @pitag-ha)
2.0.0
CHANGES:
Added
- Adopt the OCaml Code of Conduct (#473, @rikusilvola)
- Added support for projects that have their OPAM files in the
opam/
subdirectory. (#466, @Leonidas-from-XIV)
Changed
- Running
dune-release checknow attempts to discover and parse the change
log, and a new flag--skip-change-logdisables this behaviour. (#458,
@gridbugs) - List the main package and amount of subpackages when creating the PR to avoid
very long package lists in PRs (#465, @emillon)
Fixed
- Avoid collision between branch and tag name. Tag detection got confused when
branch was named the same as tag. Now it searches only for tag refs, instead
of all refs. (#452, @3Rafal) - Fix project name detection from
dune-project. The parser could get confused
when opam file generation is used. Now it only considers the first(name X)
in the file. (#445, @emillon)
Removed
- Remove support for delegates.
Previous users of this feature should now usedune-release delegate-info
and wrap dune-release calls in a script. See #188 for details.
(#428, @NathanReb) - Removed support for the OPAM 1.2.2 client. This means
dune-releaseexpects
theopambinary to be version 2.0 at least. (#406, #411,
@Leonidas-from-XIV)
Security
1.6.2
1.6.1
CHANGES:
Fixed
- Fix compatibility with Cmdliner 1.1.0. This also unfortunately means that the
minimum OCaml version is 4.08 now. (#429, @NathanReb)
1.6.0
CHANGES:
Added
- Add
--skip-lint,--skip-build,--skip-testand
--keep-build-dirto the main command (#419, @NathanReb) - Added support for parsing changelogs written in the style of
keepachangelog.com (#421, @ifazk)
1.5.2
CHANGES:
Fixed
- Fixed the release asset URL for projects with multiple opam packages. Before,
the packages would attempt to infer their URL and fail in rare cases where
the project usesvas prefix for tags but the project version omits it. Now
they share the same URL. (#402, #404, @Leonidas-from-XIV)
1.5.1
CHANGES:
Added
- Added support for creating releases from unannotated Git tags.
dune-release
supported unannotated tags in a few places already, now it supports using
them for creating a release. (#383, @Leonidas-from-XIV)
Fixed
- Change the
---Vcommand option to be-V(#388, @Leonidas-from-XIV) - Infer release versions are inferred from VCS tags. This change allows using
dune-releaseon projects that do not use the changelog or have it in a
different format. (#381, #383 @Leonidas-from-XIV) - Fix a bug where
dune-releasecouldn't retrieve a release on GitHub if the
tag and project version don't match (e.g.v1.0vs1.0).dune-release
would in such case believe the release doesn't exist, attempt to create it
and subsequently fail. (#387, #395, @Leonidas-from-XIV)