Changelog
May 1, 2025 · View on GitHub
All notable changes to this project are documented in this file.
This project adheres to Semantic Versioning.
Unreleased
1.2.0 – 2025-05-01
Added
- Validation in
render_licenseto handle missing copyright keys,
falling back to prepending the generated copyright string. - Added
.lichen.tomlto the project’s.gitignorefile.
Changed
- Default copyright string now includes “All rights reserved.”
- Documentation improvements:
- Doc comments added to the
lichen initandlichen unapplycommands. - Refined README copy and formatting.
- Doc comments added to the
1.1.2 – 2025-04-30
Added
- Added
descriptionandlicensefields to the Cargo.toml manifest.
Changed
- Renamed the package from
lictolichennin both Cargo.toml and Cargo.lock.
Fixed
- Removed the redundant
.exesuffix being appended to Windows release artifacts in the GitHub Actions workflow.
1.1.1 – 2025-04-29
Changed
- Consolidate
Clistruct: removed its duplicate definition incli.rs, moved the single source-of-truth intomodels.rs, and updated the import inmain.rs.
Fixed
- Improve
justfilepath handling: properly quotefull_nameand verify thatoutput_directoryis created (erroring out if it isn’t).
1.1.0 – 2025-04-29
Added
- Bundle and install CLI shell completions (Bash, Zsh, Fish, PowerShell, Elvish) alongside release binaries, with correct output-directory handling.
Changed
- Overhauled the
compress-binariesrecipe in the Justfile: • Archives entire package directories instead of individual executables
• Improves logging and error handling
• Supports a configurable output directory - Changed compress-binaries to
compress
Fixed
- Clippy errors in
lic/src/cli.rsand removed the obsoleteLicense::iterimplementation inlic/src/license.rs. build.rswarning output now omits redundantcargo:warning=prefixes and correctly logsOUT_DIRandPROFILE.- Release workflow and Justfile checksum tasks now:
• Produce unified
.sumfiles (SHA256, MD5, BLAKE3)
• Remove stale checksum files before generation
• Fail on any error instead of silently continuing - Updated the release step to use the new checksum method and upload
.sumartifacts.
1.0.0 - 2025-04-29
Added
- Configuration option
- New license templates
- A test suite
- Compress binaries recipe
- Clap-complete and completions
Changed
- All struct definitions now reside in the models.rs file
Removed
- Weird trailer
0.3.6 – 2025-04-27
Added
- Added platform-support badges (Rust version, macOS, Windows, Linux) to README.md.
- Recipes for downloading comment tokens and license data
- Acknowledged the Licensure project in README.md.
Changed
- Refactored CLI to leverage Clap’s argument groups and flattened common structs (
LicenseArgs,FileProcessingArgs). - Switched many logs from
info!todebug!andtrace!for more granular output. - Enhanced
render_licenseto use the fullDatetype (not just year) when generating copyright. - Applied broad code formatting and idiomatic Rust improvements across modules (
app,cli,commands,utils). - Updated CI workflow: the packaging step now runs
just packageinstead ofjust build-release. - Improved Justfile:
build-releaseandpackagerecipes now accept--binand dynamic target flags.- Refined defaults, alias definitions, and checksum generation for clarity.
- Pinned all dependencies in Cargo.toml to exact versions; regenerated Cargo.lock with updated checksums.
- Brought CHANGELOG.md up to date with the current release structure.
Deprecated
- Deprecated and removed the Python-based
scripts/parse_commentscomment-token generator (moved to its own repository).
Fixed
- Corrected
cargo installinstructions in README.md to install thelicbinary only. - Fixed Justfile recipes for
run,run-release,install,install-force, andchecksumto reference the correct package names and flags.
0.3.5 – 2025-04-23
Fixed
- CI workflow
0.3.4 – 2025-04-23
Added
- Trailer
0.3.3 – 2025-04-23
- Stress release
0.3.2 – 2025-04-23
Fixed
- "ignoreGitignore" option in config is now all
- Gitignore loading will not error if not a git repoistory
Added
- License init command
- Short "A" option for "all" in apply
- All dotfiles defaults case
Changed
- Default config has constructive comments
- Gen command is _gen
- Positional target argument for init
0.3.1 – 2025-04-23
Changed
- Moved to a bundled-with-the-binary solution for managing files and directories
- Logic for determining the default comment token
Fixed
- Justfile error handling (In the awk block)
- Typos and clippy errors
- Generate script interface
Added
- Justfile recipe for compressing binaries
- License (haha!)
- Coming soon section in README
- Contributing section in README
0.3.0 – 2025-04-22
Added
- Add
unapplysubcommand to remove previously applied license headers. Handles shebangs and correctly identifies headers marked during application. - Add initial
README.mdwith project summary, usage examples, configuration details, and build instructions.
Removed
- Remove
--in-placeargument and configuration option from theapplycommand. File modification is now the default and only behavior forapply.
Fixed
- Correct configuration file name from
lichen.tomlto.lichen.tomlin documentation, error messages, and loading logic. - Example toml file (excludes) to (exclude)
- Fix typo in
Commands::Unapplyenum variant.
0.2.9 – 2025‑04‑22
Added
- CLI now supports parsing full dates (
YYYY‑MM‑DD) in addition to year‑only inputs. - Fallback to January 1 when given a year‑only string (e.g.
"2025"→2025‑01‑01). - Errors are now propagated for invalid date strings longer than four characters.
Changed
- Refined CLI documentation comments:
- Clarified license file generation help (
--generate-license). - Updated default config initialization description.
- Described ignore‑pattern behavior:
.gitignoreand default patterns are skipped.
- Clarified license file generation help (
0.2.8 – 2025‑04‑22
- This is when I started keeping a changelog