v7.0.1
rebar3 hex v7
As part of an initiative by the EEF build and packaging group we are pleased to announce rebar3_hex v7.
One of the main goals with v7 was to align with mix hex's API as much as possible for a seamless and unified
developer experience, and thus we had to introduce some breaking changes, mostly in regards to provider names, command line arguments, and switches. In addition, v7 includes enhancements and bug fixes described below.
Check out the new docs
Breaking changes
-
We no longer support implicit publishing of docs. With v7 you must either specify a docs provider in your hex config
or use the--doc-dir
switch on the publish provider in the case you use a documentation tool for which there is
no provider. This also means we no longer support thedoc
attribute in.app.src
. -
The
docs
provider has been removed, but will be re-added in a later release for fetching docs for your application,
dependencies, and opening them. You should now publish docs using thepublish
provider. -
The
--package
and--docs
switches on the publish provider have been removed in favor of the bare argumentsdocs
andpackage
. Likewise the--without-docs
switch has been removed. -
The
revert
task has been removed and is now simply a switch on the publish provider (i.e.,rebar3 hex publish --revert
) -
The
message
argument is now a switch on theretire
provider vs a bare argument. -
The old repo provider has been renamed to organization. The api has been updated to align with
mix hex.organization
. See the organization docs for more information. -
The key provider has been removed. All key tasks are now available on the
user
andorganization
providers. See either the rebar3 hex user docs or rebar3 hex organization docs
Enhancements
-
A build provider is now included so you can build packages and docs tarballs locally to inspect exactly what
would be included in a release devoid of publishing. -
An
--app
switch is now provided on thepublish
provider in case you'd rather not be prompted at runtime if publishing from within inside an umbrella. -
The
--dry-run
switch on the publish provider now works with packages and docs (i.e., giving the --dry-run switch
will truly result in a dry-run). -
Updated docs which can now be found hex.pm
-
Improved UX around password prompts. Specifically, we will always ask for a confirmation of usernames (if blank), account passwords, and local passwords now.
-
When authenticating as a user we will now wait for a successful authentication before stating you are authenticated and prompting for a local password.
-
Added support for unretiring a package on the retire provider
-
DEBUG
support has been removed in favor ofDIAGNOSTICS
. -
The
include_files
.app.src attribute is nowinclude_paths
, we continue to supportinclude_files
but
recommend changing toinclude_paths
-
The
exclude_files
.app.src attribute is nowexclude_paths
, we continue to supportexclude_files
but
recommend changing toexclude_paths
-
The
exclude_regexps
.app.src attribute is nowexclude_patterns
, we continue to supportexclude_regexps
but
recommend changing toexclude_patterns
-
Improved messaging around which docs version were published or if a failure occurred.
-
Display "no docs config found" as a warning vs an error.
Bug fixes
- Fixed a case where by if the user provided no no user or email when prompted a crash would ensue.
- Fixed publishing docs to private repositories (orgs).
- Fixed underline emphasis of column names in tabled results.
- Fixed organization listing for OTP 23, we would try to call ssh_file:encode/2 when it did not exist.
- Fixed case where we didn't abort if no apps were found on the
publish
provider.