Releases: SitanHuang/ledg
Releases · SitanHuang/ledg
v1.0.0
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
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
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
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
Added
- timeline command to produce timelines of blocks of
time checked in and out throughout each day
- 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
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
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
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
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
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