Skip to content

Releases: SitanHuang/ledg

v1.0.0

13 Mar 21:44
Compare
Choose a tag to compare

Added

  • allow C-style comments in config files

Fixed

  • --balance-to-currency does not correctly resolve imbalance errors

Misc

  • minor improvements in help command

v1.0.0-beta.1

09 Nov 04:53
Compare
Choose a tag to compare

Added

  • --version is now synonymous with the version subcommand

Fixed

  • \v is not escaped in manual
  • on some environments, Makefile includes chart.js twice
  • version and help are not in fish autocomplete
  • fixed critical error #9 with
    ledg not using different timezone offset when parsing entries from a date with
    different timezone (ie. running ledg during winter caused all dates to shift
    back a day as ledg used same timezone offset from UTC on dates during daylight
    savings period)

Changed

  • account(a, b, c) macro for csv parsers now returns a || default_account
    if only 1 argument is provided

Project

  • examples: add .ledgrc, aliases.fish samples

v1.0.0-beta

03 Aug 03:10
Compare
Choose a tag to compare

Added

  • acc(...x) macro for --test to match multiple account filters

Changed

  • info flat now shows "--- Event ---" if entry is an event without transfers,
    and "--- Empty ---" if entry is empty and not an event

Fixed

  • timeline command sets --maxhour off by 1 hour
  • budget command crash without --budget specified
  • "Since" column in events command shows year, month and day in mixed signs if
    event date is in the future
  • typos in --help page

v0.13.0

05 Jun 23:26
Compare
Choose a tag to compare

Added

  • event directive, similar to beancount but can contain transfers and modifiers,
    can be batch modified
  • events command
  • --test option for filtering entries with JS eval and various macros
  • account filter regex literal mode
  • --min-depth option for
    • accounts cmd
    • multiperiod reports
    • register cmd
  • --interval option for custom date intervals
  • --csv-delimiter option
  • --no-comma option to disable commas in amounts
  • --flat option as a shorthand for --tree=false
  • --budget option now recognizes budget id
  • "none" flag for -W
    • previously, passing a list to -W only turns on the desired flags but does
      not turn off previously set flags; this makes it impossible to disable the
      -W list in .ledgrc if user wants to override it
    • now, if user wants to turn off a flag from .ledgrc, they can use -Wnone,...
      to first turn everything off then turn on specific ones
  • Makefile now checks for min node version
  • version cmd now shows git commit hash and node version

Changed

  • info command defaults to from:@min if --test is set

Fixed

  • system pager is invoked even with --html option
  • incorrect expansion of ~ for --file
  • cannot find home directory in Windows
  • register command with interval does not sort accounts alphabetically
  • Money.eq returns true even between two unresolvable currencies

v0.12.0

21 May 05:06
Compare
Choose a tag to compare

Added

  • timeline command to produce timelines of blocks of
    time checked in and out throughout each day
    • --simple for table only
  • using sugar.js to process smart dates
    • --period=smartdate
    • from:, to:, --skip
    • budget file from: to:
  • vim plugin
    • installable via make install
    • syntax highlighting
    • snippets
  • added the following error suppression flags:
    • uuid-reassigned-warning
    • timeclock-uuid-reassigned-warning

Changed

  • make binary now compresses binary to 50% of the
    original size, making load times even faster
  • clockout entries with more than 2 transfers are
    also serialized in journals and printed in cmds with
    timeclock format

Fixed

  • print_max_width_from_entries counts amount string
    length before conversion rather than after
  • division by zero if history command is run with
    from: > to:
  • budget progress bar and usePerc does not work with
    multicurrency

v0.11.0

16 May 00:25
Compare
Choose a tag to compare

Added

  • timeclock format support in regular journal files
    • --timeclock option for print command
    • --tc-expose and --tc-prices options
  • csv import via the import command
    • ability to make custom parsers
    • directly add entries to journal
  • data.precisionTolerance in config for allowing a certain
    error tolerance in currency conversion
  • --rewrite option in print command
  • --sort option in print command (no longer defaults to sort)
  • --do-not-write-books, and --do-not-write-config options
  • register command now supports --valuation-eop
  • uninstall target in Makefile

Changed

  • internal journal interator now walks tree in
    original order rather than the reverse
  • Big.toNumber is now multitudes faster
  • multicurrency amounts are now sorted based on
    currency name
  • register command now uses period end date
  • add command now ignores all currency flags

Fixed

  • add command does not set Money.date to entry date
  • Big.js eq method does not work for values other than 0
  • in prompts that show entry title string, pending sign
    is now shown
  • close command should not convert currency
  • reg command should not hide dates when --sort
  • add command has no extra space after prompt
  • missing --cleared documentation and autocomplete

v0.10.0

11 May 19:35
Compare
Choose a tag to compare

Added

  • --csv-no-quotes option
  • --include-prices option to explictly load price files
  • --balance-to-currency option
  • --eop is now a shorthand for --valuation-eop

Changed

  • --show-default-currency now applies to all cmds
  • history command uses period end date with --iso,
    --isofull or --epoch
  • --avg now no longer requires currency squashing

Fixed

  • ledg-time does not communicate with ledg at all
  • --valuation-eop causes multiperiod reports to
    ignore --currency
  • debug message does not count prices read correctly
  • Money.removeEmpty does not work

v0.9.5

09 May 23:08
Compare
Choose a tag to compare

Added

  • --no-config option
  • --right option
  • --drop-columns option
  • info flat and register commands now underlines
    virtual transfers and adds ! to pending entries
  • bump_version.rb for auto version bumping

Changed

  • removed unused library asciichart
  • parseBooks stopped using asynciterator
    • up to 20% performance boost
  • money.js use primitive comparison in
    removeEmpty()
    • up to 9% performance boost
  • Big.js parsing optimizations
    • up to 2-5% performance boost

Fixed

  • fix still persisting issue with info command uuid
    does not align for pending entries
  • parser does not throw error when metadata or
    transfer is present before an entry declaration

v0.9.4

06 May 04:09
Compare
Choose a tag to compare

Added

  • test cases
    • incomestatement
    • balancesheet

Changed

  • complete rewrite of accounting.js to allow proper
    display formats for bigfloat
  • stats command no longer prints modifiers and flags
  • --csv no longer trims spaces in cells

Fixed

  • crash in multicurrency reports with:
    • --sum-parent=false --tree and --avg combination
    • --avg and account filter
    • does not sort name without --tree
  • info command uuid does not align for pending entries

v0.9.3

30 Apr 17:10
Compare
Choose a tag to compare

Changed

  • complete rewrite of Big.js using native bigint for
    float calculation
    • results in 14%-24% performance increase
Command Mean [s] Min [s] Max [s] Relative
ledgOld -Ftest inc --daily --dp=10 --currency=h 1.235 ± 0.021 1.209 1.266 1.24 ± 0.02
ledg -Ftest inc --daily --dp=10 --currency=h 0.994 ± 0.010 0.979 1.006 1.00
Command Mean [ms] Min [ms] Max [ms] Relative
ledgOld -Ftest 506.7 ± 7.8 494.5 519.2 1.13 ± 0.02
ledg -Ftest 446.6 ± 4.9 440.8 456.2 1.00
Command Mean [ms] Min [ms] Max [ms] Relative
ledgOld -Ftest --currency=m 526.7 ± 14.2 505.8 546.3 1.18 ± 0.03
ledg -Ftest --currency=m 444.6 ± 5.2 436.9 452.3 1.00
native_init: 41.92ms
500400.7411313054
native_add: 27.347ms
BigFloat32_init: 1.081s
500400.74111967965
BigFloat32_add: 290.657ms
BigJS_init: 935.006ms
500400.7411312983
BigJS_add: 245.981ms
Custom_init: 672.081ms
500400.7411312983
Custom_add: 66.148ms