Skip to content

Latest commit

 

History

History
863 lines (539 loc) · 16 KB

File metadata and controls

863 lines (539 loc) · 16 KB

Tackler: Changelog

Releases

Tackler release XX.YY.Z

New features and changes

New features:

  • …​

    • …​

Changed functionality:

  • …​

    • …​

Fixes

Fixes in this release …​

Development

Updated dependencies (major or minor version):

  • …​

Rust toolchain
Rust Edition

2024

MSRV

1.87.0

Release Artifacts

Component Version

Tackler CLI

TODO: XX.YY.Z

tackler-core

TODO: No changes

tackler-api

TODO: No changes

tackler-rs

TODO: No changes


Tackler release 26.01.2

New features and changes

New features: None

Changed functionality: None

Fixes

Fixes in this release

  • Possible memory corruption caused by dependency in OOM situation

Development

Updated dependencies (major or minor version):

  • rust_decimal: 1.40.0

Rust toolchain
Rust Edition

2024

MSRV

1.87.0

Release Artifacts

Component Version

Tackler CLI

26.01.2

tackler-core

0.15.0

tackler-api

0.14.0

tackler-rs

0.12.0


Tackler release 26.01.1

New features and changes

New features:

  • Support TOML 1.1.0 configuration syntax

Changed functionality:

  • Enforce that there is more than one filter for AND and OR logic filters

Fixes

No fixes in this release.

Development

Updated dependencies (major or minor version):

  • gix: 0.77.0

  • toml: 0.9.10

  • uuid: 0.19.0

Development dependencies:

  • criterion: 0.8

Rust toolchain
Rust Edition

2024

MSRV

1.85.0

Release Artifacts

Component Version

Tackler CLI

26.01.1

tackler-core

0.14.0

tackler-api

0.13.0

tackler-rs

No changes (v0.11.0)


Tackler release 25.10.1

New features and changes

New features: None

Changed functionality:

  • Add Append method for TxnData

Fixes

Fixes in this release:

  • Harmonized various error message styles and formatting

    • Provide more helpful error message in case of unknown hash algorithm

Development

Updated dependencies (major or minor version):

  • gix: 0.74.1

  • regex: 1.12.2

  • rust_decimal: 1.39.0

  • toml: 0.9.2

  • uuid: 1.18.0

Rust toolchain
Rust Edition

2024

MSRV

1.85.0

Release Artifacts

Component Version

Tackler CLI

25.10.1

tackler-core

0.13.0

tackler-api

0.12.0

tackler-rs

0.11.0


Tackler release 25.06.1

New features and changes

New features:

  • New credit account reporting option --invert for all reports and Equity export (GH-99)

  • Enhanced and better error messages in case of invalid configuration file

Changed functionality:

  • Equity export: Use price data if commodity conversion is activated (GH-101)

  • Equity export: move the uuid of last txn from the subject line to the comment section of the equity transaction

Fixes

Fixes in this release:

  • Fixed CLI select all account selector (--accounts "")

  • Fixed CLI disable all reports selector (--reports "")

  • Fixed CLI disable all exports selector (--exports "")

  • Adapt to Rust 1.88.0 with clippy::pedantic

Development

No major or minor version updates.

Rust toolchain
Rust Edition

2024

MSRV

1.85.0

Release Artifacts

Component Version

Tackler CLI

25.6.1

tackler-core

0.12.0

tackler-api

0.11.0

tackler-rs

0.10.1


Tackler release 25.05.1

Warning
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 and changes

New features:

  • New output format JSON

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

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

Changed functionality:

  • 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

Fixes

Fixes in this release: None

Development

Updated dependencies (major or minor version): None

Rust toolchain
Rust Edition

2024

MSRV

1.85.0

Release Artifacts

Component Version

Tackler CLI

25.05.1

tackler-core

0.11.0

tackler-api

0.10.0

tackler-rs

0.10.0


Tackler release 25.04.2

New features and changes

New features:

Changed functionality:

  • New optional configuration key report.balance.type and report.balance-group.type, default is tackler’s original balance report type tree.

Fixes

None

Development

No major updates

Rust toolchain
Rust Edition

2024

MSRV

1.85.0

Release Artifacts

Component Version

Tackler CLI

25.04.2

tackler-core

0.10.0

tackler-api

0.9.1

tackler-rs

No changes


Tackler release 25.04.1

New features and changes

New features:

Changed functionality:

  • Better and more informative error messages of invalid transaction data ("parse errors")

Fixes

Fixes in this release:

  • Don’t accept invalid CLI input arg combinations

  • Warn if exports are used without CLI output arguments

  • Enforce blank line between transactions (Tackler-Mk1 / ANTLR)

  • Print error message if repository contains links (Tackler-Mk1)

  • Print error message if transaction set is empty (Tackler-Mk1)

  • Check equity account name when strict mode is on (Tackler-Mk1)

Contributions

  • Thanks to @RagibHasin for contributing and helping with Commodity Price Support feature (TEP-1015)

Development

Updated dependencies (major or minor version):

  • gix: 0.71

  • itertools: 0.14

  • jiff: v0.2

  • rust_decimal: 1.37

  • uuid: v1.16

  • winnow: 0.7

Rust toolchain
Rust Edition

2024

MSRV

1.85.0

Release Artifacts

Component Version

Tackler CLI

25.04.1

tackler-core

0.9.0

tackler-api

0.9.0

tackler-rs

0.9.0


Tackler release 25.01.1

New features and changes

New features:

  • New tackler commands new and init

    • Command new <name> will create a new bookkeeping setup name with default files

    • Command init will initialize a new bookkeeping setup at current location

Changed functionality:

  • Replaced ANTLR based Txn parser with winnow parser combinator

    • This is affecting how invalid journal syntax is reported

    • This has NO changes to journal syntax

  • Replaced time and time-tz with jiff

    • This have some user visible changes, e.g. 'Z' is replaced with '+00:00'

    • Txn Filters, Txn Timestamp: Begin and End are displayed with report timezone

Fixes

Fixes in this release:

  • Use better optimization for release builds

Contributions

  • Thanks to @zamazan4ik for pointing out missing LTO settings

  • Thanks to @epage for pointing the rust-2018-idioms lint

  • Thanks to @BurntSushi for helping with offset parsing

Development

  • Enable rust-2018-idioms and some other lints

Updated deps and tools:

  • Dependencies

    • gix: 0.70.0

    • jiff: 0.1.24

    • serde: 1.0.217

    • serde_json: 1.0.136

    • winnow: 0.6.24

Rust toolchain
MSRV

1.82.0

Release Artifacts

Component Version

Tackler CLI

25.01.1

tackler-core

0.8.0

tackler-api

0.8.0

tackler-rs

0.8.0


Tackler release 24.12.2

New features and changes

New features:

  • Git Backend: Add support for revspecs with --input.git.ref

  • Add support for new storage keys

    • input.fs.path, path to top level fs-storage location

    • input.git.repo, alias for input.git.repository

Fixes

Fixes in this release:

  • Git Backend: When opening the repo, use exact location, and don’t search upwards on the directory tree

  • Implement Tackler-Mk1 and JDK compatible full string (haystack) regex matcher. This change is affecting Account Selectors which use regex.

Contributions

  • Thanks to @Byron for pointing out the Git Backend fix and suggesting the use of revspecs API

Development

Updated dependencies and tools:

  • Dependencies

    • gix: 0.69.1

    • serde: 1.0.216

    • serde_json: 1.0.134

    • serde_regex: removed

Rust toolchain
MSRV

1.81.0

Release Artifacts

Component Version

Tackler CLI

24.12.2

tackler-core

0.7.0

tackler-api

0.7.0

tackler-rs

0.7.0


Tackler release 24.12.1

New features and changes

New features:

  • Add support for CLI option --input.git.commit

Fixes

Fixes in this release:

  • Register report: Use Tackler-MkI compatible output

  • Fix broken --group-by cli option (clap definition)

  • Print location with full precision (with trailing zeros)

Development

Updated dependencies and tools:

  • Dependencies

    • clap: 4.5.23

    • digest: 0.10.7

    • serde: 1.0.215

    • serde_json: 1.0.133

    • sha2: 0.10.8

    • time: 0.3.37

Rust toolchain
MSRV

1.77.2

Release Artifacts

Component Version

Tackler CLI

24.12.1

tackler-core

0.6.0

tackler-api

0.6.0

tackler-rs

0.6.0


Tackler release 24.11.2

New features and changes

New features:

  • Add CLI options

    • --output.dir

    • --output.prefix

    • --strict.mode

  • Add export.targets to configuration

Fixes

Fixes in this release:

  • Tackler compatible output

Development

Updated dependencies and tools:

  • Dependencies

    • gix: 0.68.0

Rust toolchain

Used unstable features: None

Release Artifacts

Component Version

Tackler CLI

24.11.2

tackler-core

0.5.0

tackler-api

0.5.0

tackler-rs

0.5.0


Tackler release 24.11.1

New features and changes

New features:

Fixes

Fixes in this release:

  • Changed how CLI and configuration options and defaults

Development

Updated dependencies and tools:

  • Dependencies

    • no direct dependency changes

  • Build

    • Added Github Actions workflow "build"

Rust toolchain

Used unstable features: None

Release Artifacts

Component Version

Tackler CLI

24.11.1

tackler-core

0.4.0

tackler-api

0.4.0

tackler-rs

0.4.0


Tackler release 24.11.0

New features and changes

New features:

  • Reports

    • Balance Group Report

      • GroupBy: Year, Month, Date, ISO-Week, ISO-Week-Day

  • Exports

    • Equity export

    • Identity export

  • Account Selector checksums

Fixes

  • Always sort transactions with all inputs

Development

Updated dependencies and tools:

  • Dependencies

    • gix: updated to 0.67.0

    • chrono: removed, replaced with time

    • clap: 4.5.20

    • itertools: 0.13

    • tikv-jemallocator: new

    • time: new

    • time-tz: new

    • walkdir: 2.5.0

  • Build

    • use stable Rust toolchain

Rust toolchain

Used unstable features: None

Release Artifacts

Component Version

Tackler CLI

0.3.0

tackler-core

0.3.0

tackler-api

0.3.0

tackler-rs

0.3.0


Tackler release 23.04.01

This is the first Technology Preview Release of rusty Tackler.

New features and changes

New features:

  • Storage Systems

    • Filesystem Backend

    • Git Backend

  • Reporting

    • Reports (register and balance)

    • Account Selectors

  • Auditing

    • Txn Set Checksum

  • Txn Filters

Fixes

None

Development

Updated dependencies and tools:

  • Dependencies

    • base64: new

    • chrono: new

    • clap: new

    • digest: new

    • gix: new

    • gix-hash: new

    • indoc: new

    • itertools: new

    • regex: new

    • rust_decimal: new

    • serde: new

    • serde_json: new

    • serde_regex: new

    • sha2: new

    • uuid: new

    • walkdir: new

  • Build

    • cargo-deny: new

Rust toolchain

Used unstable features:

rust
rustfmt

Release Artifacts

Component Version

Tackler CLI

0.2.0

tackler-core

0.2.0

tackler-api

0.2.0

tackler-rs

0.2.0


Tackler release 23.1.1

Component Version

Tackler CLI

0.1.0

tackler-core

0.1.0

tackler-api

0.1.0

tackler-rs

0.1.0

This is an initial POC release with ANTLR rust target.