All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
0.5.0 - 2024-10-21
- Add --multiple option to the CLI; thanks @markus456
- Includes versions in cache version mismatch error; thanks @hoijui
- Dependency updates for internals; thanks @decathorpe, @musicinmybrain
0.4.6 - 2022-06-16
- Updated SPDX dataset
- Fix silent failures in file I/O when using the CLI
0.4.5 - 2022-04-09
- Updated SPDX dataset
- Bumped
zstd
up to 0.11; thanks @mellowagain
0.4.4 - 2021-11-21
- Updated SPDX dataset
- Tons of code cleanup; thanks @hdhoang
zstd
update to 0.8; thanks @decathorpe- Replace
failure
withanyhow
; thanks @hdhoang
0.4.3 - 2020-09-23
- Re-introduced gzip cache compression as an optional feature. The default is still zstd.
Store
gainedget_original
to fetch the canonical license text, instead of needing to access the text via a match.
- Updated SPDX dataset
0.4.2 - 2020-01-14
- Performance improvements in text pre-processing (#48, thanks @AnthonyMikh)
- Updated SPDX dataset
0.4.1 - 2019-12-06
- Removed some extraneous files from the core
askalono
packaged crate. - Include LICENSE, NOTICE, and README.md in
askalono-cli
crate.
0.4.0 - 2019-11-06
- askalono will attempt to ignore license "title lines" (e.g. "The MIT License") that occasionally appear on licenses.
- (Breaking) Switch to Rust 2018 edition.
- (Breaking) Drop the previously-deprecated
aliases
field. Aliases can instead be queried with thealiases
function on aStore
. - (Breaking)
analyze
(onStore
) no longer returns a Result. There was no reasonable case where it could fail. - (Breaking)
with_view
,white_out
,optimize_bounds
onTextData
also no longer return Result, as they never had an expected failure path outside of programming errors. A panic may occur if an out-of-bounds view is used -- this is intentional. See commit 8d11161c. - Stores are now compressed with zstd instead of gzip, which provides better compression and performance particularly for the dataset used by askalono.
- Fresh SPDX dataset.
- URLs in licenses will be "black-boxed" in case modified/re-hosted.
- The
lcs_removal
preprocessor has been fixed to be less aggressive on certain repeated statements (#42). - Fixed CLI help text strings (#34)
0.3.0 - 2018-09-27
- Scanning strategies have been added in
ScanStrategy
. These include some common high-level logic that can be used for diving deeper into askalono's results. Store
gained methods to add your own licenses to its dataset at runtime. These areadd_license
andadd_variant
.Store
lets you retrieve and set the list of aliases for a given license.Store
can also tell you which licenses are present withlicenses
.TextData
'swith_view
is now public. It can be used to change the region of lines in a text you're interested in without needing to wholly re-compute data for the underlying string.TextData
also learnedwhite_out
, which is the inverse ofwith_view
. It erases the active view's lines. This can be useful when a match has been found and you'd like to "hide" it to perform further analysis.- The command-line application learned how to output JSON for better machine parsing.
- EXPERIMENTAL: askalono is WebAssembly-capable. Loading caches is not yet supported due to missing upstream dependencies. This likely to be available in the near future.
optimize_bounds
now returns a Result. Previously it would have paniced ifself
was missing text.
- The
aliases
field has been deprecated and will be removed in a future release. Prefer looking up aliases in the store when needed.
optimize_bounds
now respects existing line views/windows on TextData structs.
0.2.0 - 2018-05-13
- Full documentation for the public API.
- The CLI can now read a list of filenames from stdin (batch mode).
- The CLI is capable of crawling a directory tree, looking for license-like files and identifying them.
- The library and CLI can now optimize a matched license to tell you where in your source the match was identified.
- Revised API. API changes are likely to be much more rare from here on out.
- Many performance improvements.
analyze
is now able to run in 3-5 ms on commodity hardware! - Text storage and normalization improvements.
- Duplicate SPDX entries are now stored as aliases.
- SPDX definitions have been updated.
- The "diff" option is now only available if compiled with the "diagnostics" feature (off by default). This was intended for debugging and had no practical use in the binary.
- Resolved a potential panic for short/empty license files (a divide-by-zero was involved).
0.1.0 - 2018-01-31
- Initial release
- Non-existent documentation
- Bad tests
- It's fast, though