Version 0.6.0
Features
-
Merged #19 that closed #13: the version report displayed early in the
execution of theship
subcommand now usestabled
in order to present
it in the form of a table, which looks much better while only requiring
little code to achieve it. An example of it can be found in the updated
README.md
. Many thanks to @ToBinio. -
Merged #22 that closed #21: the
import
subcommand now ignores by default
all locally-installed packages, i.e. the ones installed throughcargo
install --path=...
. This should help to avoid poluting the destination
configuration file with packages that cannot be updated anyway since they
have no guarantee of existing in the registry used. If the previous behavior
is still desired however, a new--keep-local
CLI option has been added for
this reason. As a side-effect,--keep-self
's shorthand-k
has been
changed to-s
in order to make room for the new option's-l
. Many thanks
to @ToBinio. -
The error reporting has been completely overhauled in order to add context
through the call stacks. Thanks tocolor-eyre
, the errors now transport
additional information indicating what exactly failed, why it could have
happened so and how it could be fixed. This should help users diagnose and
fix the usual issues quicker, such as missing files. It should also combine
well with the CLI verbosity controls in case more precise debugging is still
required as they now also control the verbosity of these error reports: when
-v
is given, theRUST_BACKTRACE=1
format is used and when-vv
or more
is given,RUST_BACKTRACE=full
is used; when-qqq
or more is given, the
error report is entirely skipped. It is also not displayed in the logs
anymore, since the whole point is to have a proper termination type.
Fixes
-
Merged #20: the build was broken for Windows because of some Unix-specific
API that slipped in; it is now fixed. GNU/Linux is still the only platform
tested in CI, but the others should work fine. Thanks to @ToBinio. -
Made sure the exit status code of the
cargo search
child processes spawned
in order to fetch the latest versions of the configured packages was checked
before continuing. Previously, only errors specifically related to spawning
and waiting for them were checked and bubbled up, but no manual check was
actually done on the status code. The reported error should now be clearer.
Testing
The fixtures have been updated and new tests have been added for:
- The change of the version report.
- The new
import
filtering feature and its--keep-local
option. - The new error reporting.
Documentation
CONTRIBUTING.md
:- Added a mention for GPG signing as a requirement.
- Added precisions about the development environment used.
- Added a mention for the new error contexts.
README.md
:- Updated the CLI help usage messages for the new features: the new import
option and the changed error reporting. - Fixed the link to Cargo's
install
documentation. - Wrapped the example output lines to 69 columns at most. It was previously
done at 70, but was apparently still too much by one for crates.io.
Hopefully, it is now correct. - Updated the crates.io download stats badge's link to point at the bottom
of the page in order to provide quicker access. Hopefully, it will work.
- Updated the CLI help usage messages for the new features: the new import
CHANGELOG.md
:- Fixed a random typo lost somewhere.
- Made a hidden version notes template for quicker releases.
- Added a new version.
Miscellaneous
- The dependencies have been updated, which required updating some testing
code to adapt to the changes included in Snapbox. - Introduced a stricter Rustfmt configuration for more control over the
automatic formatting and to enforce things done manually. - Introduced a Justfile in order to provide some command shortcuts useful
during development. - The MSRV has been bumped to 1.76 in order to use
Result::inspect_err
.