Skip to content

Releases: jcornaz/beancount-parser

v2.0.0-beta.1

01 Jul 13:43
Compare
Choose a tag to compare
v2.0.0-beta.1 Pre-release
Pre-release

I finally decided to re-use the old crate name beancount-parser instead of continuing with beancount_parser_2.

This release contains exactly the same functionallity beancount_parser_2 version 1.0.0-beta.3.
beancount_parser_2 will be discontinued and archived soon.

Breaking changes

This is a full rewrite of the parser from scratch.
Most types have been either removed or changed in an incompatible way.
This new version is also more strict about what beancount syntax is considered valid.

Check the documentation to see how the new API looks like.

Note

You may depend on both the version 1 and 2 at the same time like this:

[dependencies]
# version 1, in rust code `use beancount_parser::...`
beancount-parser = { version = "1" } 
# version 2, in rust code `use beancount_parser_2::...`
beancount-parser-2 = { package = "beancount-parser", version = "=2.0.0-beta.1" }

Supported beancount syntax

  • Transaction
    • flag
    • payee and description
    • tags
    • links
    • metadata
    • postings
      • account
      • amount
      • price
      • cost
        • amount
        • date
      • metadata
  • Price directive
  • Open and close directives
  • Balance assertion
  • Commodity declaration
  • Events
  • Options
  • Directive metadata (string values only)

Thank you

@doriath

v1.16.3

01 Jul 14:40
Compare
Choose a tag to compare

Documentation

Update status in readme

v1.16.2

20 Jun 10:32
Compare
Choose a tag to compare

Breaking changes (in unstable API)

remove pest_parser

The pest experiment was not conclusive. It is much slower than the nom implementation and the code is not significantly more maintainable in my opinion.
On top of that, the latest pest patch contained some breaking changes, causing new compile errors.
Therefore, this release completely removes the experimental pest parser.

v1.16.1

20 Jun 10:32
Compare
Choose a tag to compare

Documentation

Announce new status of the project in readme: The project is now in "maintenance mode"

v1.16.0

14 May 16:33
Compare
Choose a tag to compare

Breaking changes (in unstable API)

  • remove Error::line_number

    (Instead, I am working on a wrapper type that would work for locating both errors and successfully parsed directives)

Added

  • implement Default for transaction::Flag (The default value is transaction::Flag::Cleared)

Changed

  • Accept account types without more components. (e.g. 2023-05-13 open Assets is now valid)
  • Ignore trailing spaces after transaction/posting declarations
  • Accept amount values with the unary operator + (e.g. +42)
  • Accept spaces before the comma in currency list of open directive

Unstable API added

Warning

The unstable API requires the unstable feature flag. It is not considered part of the public API
and is subject to breaking changes.

  • Parse option directive
  • Parse event directive
  • Parse commodity directive

v1.15.0

07 Mar 07:20
Compare
Choose a tag to compare

Added

  • AccountType alias for account::Type

  • unstable: metadata module

    which makes possible to pattern match the result of Transaction::metadata.

Deprecated

  • Type

    It has been made public by mistake. Use AccountType or account::Type instead.

Documentation

  • readme: Warning about unsupported feature flags

v1.14.0

24 Feb 00:27
Compare
Choose a tag to compare

1.14.0 (2023-02-24)

Features

  • provide AccountType from root module (equivalent of account::Type) (7602beb)

v1.13.0

17 Feb 00:34
Compare
Choose a tag to compare

1.13.0 (2023-02-17)

Features

Documentation

v1.12.0

05 Feb 17:24
Compare
Choose a tag to compare

1.12.0 (2023-02-05)

Features

  • implement Display for account::Type (eb6bf10)
  • implement Display for Account (b890620)
  • stabilize include directive (60c7a2b)

v1.11.1

03 Feb 00:17
Compare
Choose a tag to compare

1.11.1 (2023-02-03)

Features

  • unstable: Add support for include directives (#24) (e39c414)
  • unstable: Make the include direcvie return a &Path (480061a)