Quickstart with 25.05.1
cargo install --locked tackler
tackler new journal
tackler --config journal/conf/tackler.toml

Release Highlights

Semantic change with input.git.dir and input.git.ext

This releases fixes the functionality of input.git.dir and input.git.ext so that it is identical how input.fs.dir and input.fs.ext work.

+ With previous releases of tackler, input.git.dir and input.git.ext acted as a glob pattern (prefix and suffix). Now input.git.dir will match the full directory name (no glob at the end) and input.git.ext will match the full extension of the filename (no prefix glob).

New features

  • New output format JSON

    • Optional configuration key report.formats to specify output formats.

    • New optional CLI argument --formats to select report formats

Changes

  • Git SCM Storage

    • Enforce that input.git.dir is matched as a directory (not as a glob)

    • Enforce that input.git.ext is matched as a file extension (not as a glob)

  • Add account selectors as text into Account Selector Checksum metadata

  • Change and Add more information to the "Git Storage" metadata

    • New fields: "author", "date"

    • Fix name of "message" to "subject" (the content of that field has been git subject all the time)

    • Change field "suffix" to "extension", don’t print the '.'

    • Change the order of fields (move commit after extension)

  • Change default allocator

    • Replace tikv-jemallocator with mimalloc

      • Mimalloc is available on Linux, Windows and MacOS

      • It’s about 20% faster on Linux and Windows, but on MacOS difference is only about 5%

      • Memory usage increases about 30% an all platforms

  • Reject unknown configuration keys

  • Add new default configuration key ext for suffix (for both fs and git storage). Old config wiht suffix key is still supported.

  • Add new CLI option --input.fs.path

    • Change the semantics of --input.fs.dir, it’s now path inside journal (under --input.fs.path) This is now symmetrical how --input.git.repo and --input.git.dir behave

  • Allow overriding storage options from CLI without full storage configuration

Test coverage

Tackler-ng is tested with 436 of tracked test vectors at the moment.

Published artifacts

Tackler-ng artifacts are published in crates.io.

Component Version

Tackler CLI

25.5.1

tackler-core

0.11.0

tackler-api

0.10.0

tackler-rs

0.10.0

Changelog

For full changelog, see Tackler-ng CHANGELOG