Currently published releases are:
libraryDependencies += "fi.e257" %%% "tackler-api" % "1.0.1" libraryDependencies += "fi.e257" %% "tackler-core" % "1.0.1"
Component | Version |
---|---|
Tackler CLI |
TODO: XX.YY.Z |
tackler-core |
TODO: No changes |
tackler-api |
TODO: No changes |
New features and changes in this release:
-
…
-
…
-
Fixes in this release:
-
Reject duplicate tags in transaction tag set (TEP-1011).
-
Trim extra whitespace in Transaction header, when there isn’t description This is cosmetic change, it didn’t have any effect on validity of identity output or parsing of identity output
Updated deps and tools:
-
Dependencies
-
better-files: 3.9.2
-
cats: 2.12.2
-
circe: 0.14.10
-
circe-optics: 0.15.0
-
config: 1.4.3
-
jgit: 7.0.0.202409031743-r
-
logback: 1.5.12
-
scallop: 5.1.0
-
slf4-api: 2.0.16
-
-
Build
-
sbt: 1.9.7
-
sbt-assembly: 2.3.0
-
sbt-buildinfo: 0.13.1
-
sbt-scalajs: 1.17.0
-
sbt-crossproject: 1.3.2
-
sbt-scalajs-crossproject: 1.3.2
-
sbt-scoverage: 2.2.2
-
sbt-sonatype: 3.12.2
-
sbt-wartremover: 3.2.4
-
scala: 2.13.15
-
-
Tests
-
scala: 2.12.20
-
dirsuite: 0.32.0
-
ScalaTest: 3.2.19
-
Component | Version |
---|---|
Tackler CLI |
22.12.2 |
tackler-core |
no changes |
tackler-api |
no changes |
Fix broken assembly packaging, which broke logger functionality for tackler-cli.
The broken functionality was manifested by following error message:
SLF4J: No SLF4J providers were found. SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.
Component | Version |
---|---|
Tackler CLI |
22.12.1 |
tackler-core |
1.0.1 |
tackler-api |
1.0.1 |
This is a re-release of Tackler 2022-12 with JDK 11. No other changes.
Tackler 2022-12 was released accidentally with JDK 17 (Bytecode Version 61.0), instead of JDK 11 (Bytecode Version 55.0), so fix that.
Component | Version |
---|---|
Tackler CLI |
22.12.0 |
tackler-core |
1.0.0 |
tackler-api |
1.0.0 |
New features and changes in this release:
-
New versioning scheme (YY.MM.PATCH) for Tackler CLI, where YY and MM are release year and month
-
1.0.0 release for Tackler core and api
-
Tackler requires at least Java 11 to run
-
Upgrade JGit to 6.4.0
-
Deprecations
-
Drop support for Scala 2.12
-
Drop support for Java 8
-
Updated deps and tools:
-
Dependencies
-
Antlr4: 4.11.1
-
cats: 2.9.0
-
circe: 0.14.3
-
circe-optics: 0.14.1
-
config: 1.4.2
-
scala-parallel-collections: 1.0.4
-
jgit: 6.4.0.202211300538-r
-
logback: 1.4.5
-
slf4j: 2.0.6
-
-
Build
-
sbt: 1.8.0
-
sbt-assembly: 2.1.0
-
sbt-buildinfo: 1.11.0
-
sbt-git: 1.0.2
-
sbt-scalajs: 1.12.1
-
sbt-crossproject: 1.2.0
-
sbt-scalajs-crossproject: 1.2.0
-
scala-2.12: 2.12.17
-
scala-2.13: 2.13.10
-
scala-collection-compat: dropped
-
-
Tests
-
sbt-scoverage: 2.0.6
-
sbt-wartremover: 3.0.7
-
sbt-sonatype: 3.9.15
-
ScalaTest: 3.2.14
-
New features and changes in this release:
-
TEP-1014: Equity Export Enhancements
-
Cfg key to set equity transaction’s target account
-
Print out actual value for equity posting - don’t use implicit (last posting’s empty) value for it
-
Print out warning, if equity transaction zeros out without equity posting
-
Indent equity transaction same amount as identity export (3 spaces)
-
New features and changes in this release:
-
TEP-1011: Transaction Tags and Filters
-
Support for Transaction Tags
-
Txn Tag Filter: transaction filters based on tags
-
Journal format: Txn Tags
-
-
TEP-1013: Configuration key change of accounts CoA
-
New configuration key for Chart of Accounts (
chart-of-accounts
)
-
New features and changes in this release:
-
TEP-1012: Custom timestamps for reports
-
Time zone setting for dates and times on reports
-
Timestamp style setting for Register report
-
Updated deps and tools:
-
Dependencies
-
better-files: 3.9.1
-
cats: 2.3.1
-
circe: 0.13.0
-
config: 1.4.1
-
jgit: 5.10.0.202012080955-r
-
scala-collection-compat: 2.3.1
-
scallop: 4.0.1
-
slf4j-api: 1.7.30
-
-
Build
-
scala: 2.13.4
-
scala: 2.12.12
-
sbt: 1.4.5
-
sbt-antlr: 0.8.3
-
sbt-assembly: 0.15.0
-
sbt-buildinfo: 0.10.0
-
sbt-scalajs: 1.3.1
-
sbt-scoverage: 1.6.1
-
sbt-sonatype: 3.9.5
-
-
Tests
-
sbt-wartremover: 2.4.13
-
DirSuite: 0.31.0
-
ScalaTest: 3.2.3
-
New features and changes in this release:
-
Support for Scala 2.12 and 2.13
-
Update better-files to 3.8.0
-
3.8.0 is not binary compatible with better-files 3.7.0
-
-
CLI: Raport Git commit id and working copy state with version info for
--help
and--version
commands -
Equity export
-
Create equity transactions in sorting order of commodities
-
Record commodity on equity txn’s subject line
-
-
Prepare for BigDecimal changes in Scala 2.13
-
New type
TacklerReal
with explicitMathContext
constructor argument
-
Fixes in this release:
-
Reject semantically wrong negative unit costs (e.g.
{ -2 € }
) and unit prices (e.g.@ -2 €
)
Updated deps and tools:
-
Dependencies
-
better-files: 3.8.0
-
cats: 2.0.0
-
circe: 0.12.1
-
jgit: 5.5.0.201909110433-r
-
scala-collection-compat: 2.1.2
-
scallop: 3.3.1
-
-
Build
-
scala: 2.12.10
-
scala: 2.13.1
-
sbt-assembly: 0.14.10
-
sbt-git: 1.0.0 (new)
-
sbt-scalajs: 0.6.29
-
sbt-crossproject: 0.6.1
-
sbt-scalajs-crossproject: 0.6.1
-
sbt-sonatype: 2.5
-
sbt-wartremover: 2.4.3
-
-
Tests
-
dirsuite: 0.30.1
-
scalatest: 3.0.8
-
sbt-coveralls: drop
-
sbt-scoverage: 1.6.0
-
New features and changes in this release:
-
Support for Geographic Information System (GIS)
-
Add support for Value Position with total amount (
=
syntax)
Fixes in this release:
-
Reject "identity" (e.g.
1 € @ 2 €
) value positions as invalid construct
Warning
|
Phase 2 support for new Journal Format Version v2
|
New features and changes in this release:
-
New Journal Format Version v2 (phase 2), see:
-
CLI switch
input.storage
to change used storage type
Fixes in this release:
-
Account and Commodity Names: Accept signs which were left unintentionally outside in the cold
-
Currency symbols
$
,¢
,£
,¤
,¥
from Latin-1 Base and Supplement blocks -
Micro and Degree (
µ
,°
) from Latin-1 Supplement block -
Vulgar Fractions (
¼
,½
,¾
) from Latin-1 Supplement block -
Superscripts (
¹
,²
,³
) from Latin-1 Supplement block
-
Warning
|
Phase 1 support for new Journal Format Version v2
|
New features and changes in this release are:
-
New Journal Format Version v2 (phase 1), see:
-
Support for numerical sub-account names, see:
-
TEP-1008: Numerical Account names for details
-
Related GitLab Issue: 2
-
-
All user documentation has been moved to Tackler’s new web site: https://tackler.e257.fi/
-
Version v0.5.1
-
Generate test data in journal format v2
-
This release has Phase 1 support for new Journal Format Version v2. This means that it will accept both old deprecated version v1 and new version v2 of journal format. All exports (Equity and Identity) are in new format.
Phase 1 support for Journal Format Version v2
Future version of Tackler journal v2 will have following changes:
- Transaction description
-
Transaction description must start with
'
-prefix. - Transaction code
-
Transaction code can not contain characters:
'
(
)
[
]
{
}
<
>
- Transaction metadata
-
Transaction metadata (UUID) must start with
#
+ space -prefix.
See TEP-1009: Txn Header Syntax for motivation for this change and for further info.
New features and changes in this release are:
-
Support Account Auditing, see:
-
New or changed Metadata:
-
Renamed Metadata’s
metadataItems
toitems
-
New item:
TxnSetChecksum
-
New item:
AccountSelectorChecksum
-
New fields in
GitInputReference
-
Fields:
input.git.dir
andinput.git.suffix
-
-
Renamed
TxnFilterMetadata
→TxnFilterDescription
-
-
Add CLI option for:
input.git.dir
. -
Reformat balance report for better clarity
-
Base64 ascii armor for Txn Filters defined by
--api-filter-def
CLI option-
See Usage Guide and Txn Filters
-
-
Scala-ARM has been removed and replaced with functionality from better-files
Generator:
-
Versions v0.4.0 and v0.4.1
-
Add uuid to test corpus transactions
-
Add 1E1 and 1E2 test sets
-
Update build and deps
Reject invalid UUIDs which were permitted in the past. These are certain way invalid and malformed UUIDs, which are accepted by JDK.
This could change old valid journal to invalid, if journal contains these special way invalid UUIDs.
See following openjdk bugs for details:
New features in this release are:
-
Strict validation of commodities and currencies. This is turned on by default, if
accounts.strict = true
. See accounts.conf for how to configure this. -
Improve error messages in case of parse and logic errors (filename, lines, etc.)
-
Reports
-
Register report: Add separator between txn entries
-
-
tackler-api: TxnTS based sharders (date, month, year, iso-week, iso-week-date)
Force UTF-8 always on console, regardless of console settings. This is needed for Windows/MinGW/MSYS2.
New features in this release are:
-
Configuration settings
reporting.scale
andreports.<report>.scale
for report output scale. Defaults are not changed (min=2, max=7). See:
This is same as Tackler v0.10.0. The difference is that code is hosted at gitlab.com and moved under new groupId.
New features of this release are transaction filters and updated generator.
-
Transaction filters:
-
Transaction test data generator:
-
new version: 0.3.0
-
Txn generator creates txn
code
anddescription
fields to support perf testing of Txn Filters.
-
Updated deps and tools:
-
Updated dependencies
-
better-files: 3.7.0
-
cats: 1.5.0
-
circe: 0.10.1
-
scallop: 3.1.5
-
config: 1.3.3
-
jgit: 5.1.3.201810200350-r
-
scalatest: 3.0.5
-
-
build
-
scala: 2.12.8
-
sbt: 1.2.7
-
sbt-assembly: 0.14.9
-
sbt-buildinfo: 0.9.0
-
sbt-coveralls: 1.2.4
-
sbt-crossproject: 0.6.0
-
sbt-scalajs: 0.6.26
-
sbt-scalajs-crossproject: 0.6.0
-
sbt-wartremover: 2.3.7
-
-
New client API (
tackler-api
) library of data models (JVM and JS environments).-
Publish JVM and JS version of
tackler-api.jar
on Maven Central Repository
-
-
Server API clean ups and enhancements (helper methods for Txns and report handling).
-
JSON cleanups and changes (see diff of
tests
withignore-whitespace
)-
Use tackler-api and Circe for serializing JSON reports
-
-
Publish
tackler-core.jar
on Maven Central Repository -
Provide specialized configuration for all reports
-
Add reporting method which returns report as json-object
-
Provide Settings constructors without conf-file path and with only embedded configuration
-
Renamed embedded configuration
tackler.conf
toreference.conf
-
Move Tackler’s conf-file configuration under
tackler.core
namespace
-
-
Change
equity
andidentity
to actual exports (code and configuration)-
new conf+cli option
reporting.exports
-
Conf+cli key
reporting.reports
doesn’t acceptequity
noridentity
anymore -
move conf-key
reports.equity
toexports.equity
-
-
Change: change
ReportType
toOutputType
, and split it toReportType
andExportType
traits. -
New: ReportSettings base class for report configuration
-
Change: All reports takes specialized <ReportType>Settings as settings argument
Updated deps and tools:
-
Updated dependencies
-
better-files: 3.4.0
-
jgit: 4.9.1.201712030800-r
-
-
build
-
sbt: 1.0.4
-
assembly: 0.14.6
-
sonatype: 2.0
-
-
JSON report format
-
Update build chain to sbt 1.0
-
Support for Units and Commodities
-
First public release
-
Git storage support:
-
Rename configuration and CLI arg key
input.txn
toinput.fs
-
Support link as target for top-level shard directory (
input.fs.dir
)
-
Supports single star globs (
*.txn
) for flat directories -
Internal: better-files
-
Internal: logback 1.2.3
-
Txns file changes
-
meta:uuid: feature
-
Account names
-
hyphen '-'
-
underscore '_'
-
wide range of characters (e.g. kanji) in account names
-
-
Txn comments are printend with identity report
-
-
TS with offset is used for Txn sorting and group-by
-
Change automatic scale to (2-7 decimals)
-
Do not allow zero postings
-
reporting.console = true
-
RegisterReport
-
prints meta:uuid:
-
prints txn comments
-
Stream based implementation
-
-
IdentityReport
-
Stream based implementation
-
-
EquityReport
-
printing
-
-
Perf:
-
1E3: (1000) txns testing
-
1E6: (1_000_000) txns testing
-
Generator (0.1.4)
-
-
Reporting
-
initial support for reports and accounts as cli opt
-
Automatic scale (2-6 decimals)
-
Register report title format
-
-
reporting
-
renamed balgrp → balance-group
-
report names from conf
-
balance-group: group-by from conf
-
balance summary line
-
-
conf-settings
-
Z as UTC marker
-
conf: timezone
-
Chart of Accounts
-
cli+conf: accounts.coa
-
cli+conf: accounts.strict