Changelog¶
All notable changes to this project will be documented here.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
2.2.0¶
Added¶
- Configuration file tower: Degasolv looks for config files in pre-defined locations on the file system if they exist, see Default Configuration Files.
- Environment variable support: environment variables are consulted first, but are merged into the option map AFTER config file material and BEFORE any given command line options, see Environment Variables and How Options are Gathered
- Added support for HTTP/HTTPS authentication using basic, oauth2 token and header methods, see A Note on Specifying Files.
Changed¶
- Removed deprecated, unused function
degasolv.util.assoc-conj
Fixed¶
- Option packs are expanded at the level upon which they are defined, then the options are merged together. This seemed like a bug that needed fixing. See Option Packs for more information.
2.1.0¶
Added¶
- Added “version suggestion”, a performance enhancement allowing for minimum version selection
- Added the
:index-sort-order
option togenerate-repo-index
, allowing users to specifyascending
ordescending
. Previously onlydescending
was supported. With this new option, users will be able to use Degasolv in a minimum version selection configuration. - If the reason for failure in the
resolve-dependencies
function is:present-package-conflict
, add a key:package-present-by
with value as either:found
meaning the package was in conflict with a package found during resolution, or with value as:given
meaning the package was in conflict with a package given via the parameterpresent-packages
.
Changed¶
- Removed the deprecated functions
->requirement
,->package
, and->version-predicate
from usage in the code base. - Removed
dbg2
macro in favor of keepingdbg
Fixed¶
- Standardized capitalization of the word “Degasolv” to be title case for consistency in the documentation unless it is in a code snippet.
- Fix #16
- Fix spec for package id’s. This should have the effect of enforcing that
names should not have
>
,<
,!
,=
,,
,;
, or|
characters in them. This simply has the effect of changing the error message, as this was never allowed but handled poorly.
2.0.0¶
Added¶
- Documentation saying what return codes are given and what they mean.
- For #15, added ability to specify output format for
display-config
. - Added 3rd Party Licenses document
Changed¶
- In the docs,
java -jar degasolv-<version>-standalone.jar
changed todegasolv
with added note for clarity - For #13, return code for
resolve-locations
changed to 3 when dependency resolutions occur to distinguish them from normal “you got the argument string wrong” errors - Default
--{enable|disable}-error-format
set toenabled
for resolve-locations and query-repo. - Default for
--list-strat
option for resolve-locations set tolazy
, a much saner default. - Option pack
v1
added to help administrators keep compatibility with version 1 of Degasolv if required. - Default for the
--version-comparison
option when--package-system
isdegasolv
set tosemver
for generate-repo-index (option here), resolve-locations (option here) and query-repo (option here). - Removed less-than-useful warning about absent config files.
Fixed¶
- Fixed #14, “Degasolv pulls in X”
- Fixed bug where
display-config
didn’t allow the user to specify valid options for other things, now it does - Fixed bug where index.dsrepo didn’t generate anything except an empty map inside the file. This was completely broken.
- Fixed #6, “If one config file fails to load, the rest do as well”
- Fixed #9, “Heading for ‘Specifying Subproc Executable’ is wrong in docs”
- Fixed #10, “How do you specify requirements of a package (deps) in the output of a subproc to Degasolv?”
1.12.1¶
1.12.1 was strictly a docs release. No code changes were made and no runnable artifacts were created.
Added¶
- Added authors file to docs
Fixed¶
- Fixed changelog so that the 1.12.0 release was present in the document
- Fixed package system subheaders in command reference
1.12.0¶
Added¶
- Added the
--{enable|disable}-error-format
options to resolve-locations and query-repo. - Added the
--package-system subproc
option, together with its Specify Subproc Package System Executable and Specify Subproc Package System Output Format options. - Added the
--json-config
global option allowing users to use JSON config files - Added the
--list-strat
option to resolve-locations, allowing users to have their dependencies listed in a sane order.
Changed¶
Fixed¶
- JSON/EDN output for
query-repo
erroneously listed the subcommand asresolve-locations
. Fixed.
1.11.0¶
Added¶
- Added the
--meta
option to generate-card - Added metadata a la
--meta
to theapt
package system (experimental) - Added the
edn
output format option for theresolve-locations
subcommand - Added the
--output-format
option to the query-repo command
Changed¶
- Overhauled the documentation option look and feel; ensured that options themselves had a linking target (header)
1.10.0¶
Added¶
- Added the
--output-format
option to resolve-locations
1.9.0¶
Added¶
- Added the pessimistic greater-than comparison operator
><
.
Fixed¶
- Removed validation from the config file option, allowing it to be a URL or anything else.
- If no arguments are given, the help screen is now printed instead of a wierd error.
1.8.0¶
Added¶
- Distribution is now done via RPM and Debian package as well as JAR fil
- Added the
--version-comparison
option to generate-repo-index (option here), resolve-locations (option here) and query-repo (option here), allowing the user to specify which version comparison algorithm is used. - Added the
--search-strat
option to resolve-locations, allowing users to select breadth first search or depth first search during resolution - Added the matches operator (
<>REGEX
) which matches a version against a regex - Added the in-range operator (
=>V
) which matches a version against a certain range of indexes - Added the ability to specify
--present-package
multiple times using the same package name, but different versions. This is useful for when the:conflict-strat
is set toinclusive
. - Added tests testing to make sure that unsuccessful runs generate the proper error messages.
Changed¶
- Reorganized the unit tests.
- Alphabetized the options for
generate-card
. - Alphabetized the options for
generate-repo-index
.
Fixed¶
- Fixed bug wherein if the conflict strategy is set to
:inclusive
and a package satisfying a requirement is already found or present, it is used instead of finding a new one. - Fixed CLI of display-config so that it actually works as advertised, LOLZ
- Fixed the CLI output of
--help
so that default values of options are shown again :) - Refreshed the CLI output of
--help
for all the subcommands as posted in the docs
1.7.0¶
Added¶
- Added
--option-pack
, the ability to specify multiple options at once
Fixed¶
- Fixed how default options work, they no longer override stuff found in the config file (ouch)
- Fixed output of printed warning when configuration file is not used
1.6.0¶
Added¶
- Formatted docs better on the front page for PDF purposes
- Add ability to use any (long) option on the command line in display-config
Improved¶
- Memoized core Degasolv package system repository function (should speed the resolver up a bit)
- Changed apt reop function from filtering a list to lookup in a map, increasing its speed
1.5.1¶
Added¶
- In just ~15 seconds, it slurps in a rather large apt repository Packages.gz file. In another ~45 seconds, it resolves the ubuntu-desktop package, spitting out a grand total of 797 packages with their locations.
Fixed¶
- While using the apt data and package system to profile Degasolv, I found some rather nasty bugs. This release fixes them. This tool is now ready for prime time.
1.4.0¶
Added¶
- Added the
--present-package
option and the--package-system
option to the resolve-locations subcommand. This was so that Degasolv could be profiled using apt package repos (real-world data) and thereby have its performance optimized.
1.3.0¶
Added¶
- Add standard input as a file type. All options which take a file name may now
have
-
given as the filename, to specify that standard in should be used.
1.2.0¶
Added¶
- Added the ability to specify multiple configuration files, thus allowing for site-wide configuration.
1.1.0¶
Added¶
- Added the
--conflict-strat
option to the resolve-locations subcommand. - Added docs and tests.
1.0.2¶
- This isn’t the first release, but for the purposes of these docs, it is :D