Releases: sboehler/knut
v0.1.2
Changelog
- f7557b8 Consume a different Yahoo! API
- cf9dc8c Parse thousands separators
- 729383a Upgrade nix
- 5631f69 Fix order-dependent process
- 941c872 Update postfinance parser
- d7b1f53 Add flake.nix
- 0bf28ee Small refactorings
- c7eb881 Introduce journal.Builder
- d4d9a45 Use a slice argument
- 557f91e Simplify adding days
- aa81768 Remove registry field from journal
- 1246ae8 Add Journal2
- ffed040 Replace typed add functions
- d881d4b Renaming
- 7a8554e Renamings
- 37d7b62 Remove indentation
- f6bd9f0 Simplify count handling
- b52d914 Add support for csv output
- f2d6c6a Fix wise importer
- fa43139 Fix balance without valuation
- ecaa97a WIP: Wise importer
- 2272784 Fix test
- 02f72d0 Fix formatting of multiline assertions
- 188db30 Import aggregate VIAC value
- 48d7e57 Allow ignoring checks
- 1c1fe3e go mod tidy
- 1dcf81f Move Error to check
- 21133c3 Add writing out assertions
- 0146724 New check command
- 3805b2a Remove valuation from Check
- d537c7b Introduce multi assertions
- 6f47728 Use Processor throughout
- 67369d1 Use processor
- d9d0641 Use Processor
- ddb2169 Rename variable
- 1f6f773 Use Processor
- 1141f0d Use processor
- 7fc7bb6 Prototype evvent-based processing
- 0484a11 Ignore zero gains
- 23bf7a2 Simplify processing
- f7ae1f8 Disentangle condition
- 62b3e64 Use multimap in registry
- 37fecf4 Remove unnecessary field
- 82da518 Store segments
- a1bf0cf Remove redundant methods
- d8f2ab5 Remove unused methods
- 9c394df Delete unused field
- 8de8299 Make mapping more powerful
- 449853e Rename method
- 723f5b4 Rename variable
- b8ca6c2 Move TBDAccount and ValuationAccountFor
- a1288c4 Move Account() to Accounts().MustGet()
- 2a1de83 Handle error
- 0d9877d Log better errors
- ec8227e Fix postfinance importer
- b0894b2 Formatting
- 1e6dcc8 Upgrade deps
- ed84b54 Add template for multiperiod flags
- e3ffed8 filter -> predicate
- 923bb7a More expressive variables
- 122bbb8 Mapping and sorting
- be8a469 Introduce Query
- b966b3a Minimize fields
- 8165643 Decomplexify II
- 620e06e Decomplexify
- 1cf964a Improve account.Mapping
- 0955ca1 Use digits
- b91eef7 Update docs
- ada90d3 Add flag to omit commodities
- fe304eb Use multimap for weights
- 4fdc344 Create Universe
- 6639002 Use PostOrder for weights
- 19c4536 Improve sorting
- 4b06663 Field renamings
- e5b90e0 [experimental] Use multimap
- 69d3cca Add universe
- 521c260 Enable CSV output
- 68c3247 Add final separator
- 67a8443 Use error
- 14e40de First iteration of weights command
- 7c6efd1 Simplify
- 761896d Rename AddNumber -> AddDecimal
- 1e407df Reorganize portfolio commands
- 7b6a86e Sliightly improve error reporting
- d963bbc Change back to amount
- 15c01e4 Remove alias
- 4c763b2 Fix error handling
- ba4bf08 Rename variables
- df495f0 Amount -> Quantity
- 19c3eb5 Rename amount -> quantity
- dda53d8 Move Amounts to own package
- 360e56a Colocate all commands
- a80cd32 Colocate more commands
- d4dbd8e Colocate more commands
- 6860361 Colocate some commands
- 8438b35 Move reports under common root
- 82fec4c Remove indentation
- 1a63a64 Replace deprecated option
- 373a6ac Reverse condition
- 0b5f0bb Join lines
- 22a28b2 Rename Consume -> ForEach
- 6dee1cb Require Go 1.21
- 3700bc8 Use library function
- ee62f56 Delete engine
- 8b08a0a Remove slice package
- 9ac61e4 Fix compiler warning
- f2426a0 Refactor sorting
- c108973 Rename file
- 74d4f50 Add PrintDirectiveLn
- b34bc4b Use pointer receiver
- 408c8cb Move PrintJournal -> journal.Print
- e8a232a Simplify PrintJournal
- 7e29782 Simplify printer
- b4da1f6 Make field private
- 8ce091e Add PrintJournal function
- d3e3c3a Reorder methods
- f903457 Create constructor
- 0895c27 Improve syntax printer
- ed2230e Simplify prices
- c9e6dec Rename function
- a5ecdd6 Rename function
- 6c6980c Improve typing
- e1ee03e Rename AccountMapping -> Mapping
- 4e100f1 Remove unnecessary reexports
- 7d21a99 Introduce FormatFile convenience method
- 4c403c6 Add ParseFile interface method
- c439fce Make syntax a reexporting package
- aac446a Align paths
- d101c19 Delete old model
- f07bf98 Remove benchmark command
- b85467c Use new model
- fba5c04 Use new model
- 0129e68 Use new model
- bdf0487 Use new model
- a80db28 Remove sort command
- 9800a65 Use new printer
- 4f2c423 Journal printer for new model
- 4aae73b Use new model for register
- e27699a Move Performance to journal2
- a752432 Cleanup
- 4e7d5a5 Extract Create function
- e24ee8e New process model
- bcee91f Extract Produce helper
- 1ab2d0f Remove obsolete comment
- 71e3959 Renamings
- 61547ee Replace for loop
- 1b167f3 Change Path -> IncludePath
- 60a0ba7 Cancel context if leaving early
- f6c7542 Coarser-grained concurrency
- ddbd713 Parallel processing by file
- ee46161 Renamings
- 4b648e1 Use new model
- d57f12f Use new model for balancing
- 3472e89 Update modules
- 929f66c Copy test
- 6ba331f...
v0.1.1
0.1.0
Changelog
- d88808d Use color by default
- 341a81a Add remapping accounts
- ba48cc9 Mark period flags mutually exclusive
- 4588eda Update dependencies
- 7412de6 Fix printing
- 4fe2c56 Make account and commodity flags multivalued
- 797560e Remove String()
- cdfc884 Simplify commodities
- bbfeb0a Use Consume
- 47e5847 Simplify
- 1be534b Rename
- 5b9d78f Clean up sorting and mapping
- efa790e Simplify single file parsing
- 45ebad9 Use first matching mapping
- cf29083 Fix deadlock
- 54ddd0f Introduce Consume concurrency primitive
- 61c9c15 Use dict
- f0d8fba Rename variable
- 57c0076 Cleanup filtering
- 526209f Cleanup
- f5328f7 Cleanup mapping
- a4efe03 Remove dead code
- 41f93fb Remove old balance pipeline
v0.0.16
Changelog
- 387e81d Add column for commodities
- a55b2d3 Remove usused code
- 89c7516 Implement diffing
- 1398b23 Fix rendering of empty accounts
- 219b731 Add concurrency primitives
- 8752c1b Adjust description
- 6014163 Add delta
- 4dc8f2f Allow mapping account to nil
- 9301820 Properly handle other account
- fd6437e Remove unused method
- c5080da Report rendering with totals
- 100ff6b Compute totals
- 42df180 Nicer layouting, show commodities
- be5b64e First output from balance2
- 4fa65ec Cached inserts
- 79a21da Test for smaller relation first
- ed0a2fc Rename maputils -> dict
- 18fae6e Fix reference
- 988396c Eliminate Section
- 6c7ae84 Add method to get children
- e7794d4 Weight computation
- 2a8cf5e Add utility methods
- ee70869 Experimental new report
- 07abe1c Filter dates
- bdc1e45 Remove context
- 4507a64 Remove context from aggregator
- 898799d Remove context from signatures
- 7c25f47 Move context out of Mapper
- b00b44f Introduce filter
- d238bfd Add Densify method
- 7d0ebed Remove context
- 95422df Add comment
- 09c4217 Move mappers out of amounts
- fc18036 Remove filtering from journal source
- 636c8ca Rename package
- 2243f34 Simplify signature
- 84fac15 Test indexing
- a33a277 Comparisons
- e9770a1 Improve Mapper type
- 64d7321 Add filtering framework, Other account
- 19501d3 Return name directly
- 28b7ee5 Add new ordering framework and some implementations
- 15dce60 Fix transcode tests
- aba4414 Align formatting
- 1eb70fa Hide balance2 command
- 3e6c0c6 Simplify Aggregator
- 7ac1fbd g
- 26f63fc Mapping framework
- f2704db Mapper ideas
- 8f695b2 Rename method
- 442107f Use Add method
- 81b26f7 Rename file
- 41a34c1 Add experimental balance2 playground
- 1234f2b Add Index method
- b98cb09 Use constructors
- c59c65b Align commodities with accounts
- 3751d26 Synchronize public operations in Accounts
- a19c1d0 Refactor accounts
- 0a2ce64 Bump Go version
- 4910db8 Enable mapping in register
- 39dbbf4 Register: implement show-commodities and valuation
- a9c9fa9 Improve register
- 3afd71f Add .vscode to .gitignore
- 63a4d52 Fix Supercard
- b9e213b Remove nonhermetic check
- 06dc67e New function to create periods
- c30e0ae Native ordering for accounts
- 2fcb535 Fix comment
- c2d9a2f Start making amounts.Amounts more generic
- 1f5b202 Return error
- a52ca64 Some form of register report
- 5d105b6 Please the linter by unifying the receiver name
- 0e8ffff Fix range of transaction
- 051921f Refactor period filter
- 3b3921e Better diffing
- dee8548 Remove obsolete field
- 237cedf Use periods for indexing
- b28b98a Show amounts
- e89c383 Distinguish Days from Periods
- aa99286 Generic pipelines
- d861599 Use stable Go version
v0.0.15
Changelog
- 79bf828 Delete unnecessary line
- 8c91326 Fix prototype
- c70f830 Update tests
- 59987e2 Simplify
- 163d5aa Remove else
- 840ed83 Move filtering to transaction
- b9e7994 Ensure transactions are sorted
- d8a5cc5 Improve equality and ordering
- 77412e1 Add TransactionBuilder
- f7a0100 Sort postings when parsing
- cca0ffa Refine engine
- f600a1f Represent periods as days
- 279af44 Improve name
- cb1fdef Rework period filter
- 254d117 Fix error handling
- 2f66a1a Remove addons
- 94e9a79 Introduce separate value field
- c50fd0c Stop at the to date
- 37dad2e Fix case
- 4e155c1 Delete unused field
- 66a94f1 Remove whitespace
- 3710645 Increase buffer
- bec08a4 Renamings
- 0bc6ca9 Renamings
- 5f9e904 Rename balance report
- cf16a57 Move engine to cpr
- e0145cf More deletions
- 2120164 Delete obsolete code paths
- f4e05ac Third variant
- 5ac8225 User errgroup in recursive parser
- 13b489d Explicit finalization
- 755206b Optimizations
- 4048de9 Move assignment into one line
- 8d15a7c Prototype done
- c582e66 Make it run
- 4a5770e New pipeline trial
- ea9c983 More WIP
- fcf60e0 Extend Directive
- 6322814 Convert a few processors
- 8ec7924 Re-add some elements
- 167fcb2 Aggregate transactions
- 3f43609 Skeleton for register command
- cf6a44f Fix typo
- 5365da1 Update ch.postfinance importer to new format
- 14516e7 Use empty but allocated targets array for portfolio fees
- cf5997d Allow for empty target commodity declarations
v0.0.14
Changelog
- 33d5a8e New behavior for differ
- 8b73a0a Use periods instead of intervals
- 541f9c2 Rename period -> interval
- da1b242 Easier formatting
- 3f3c31f Move index into loop
- 0d0955a DRY
- 2b97613 Update docs
- 4a8dd5b Rudimentary daily performance calculation
- 4a3b9ca Rename
- 2a029b8 Remove obsolete function
- 0bf266c Generate targets when valuating transactions
- a002543 Remove obsolete function
- a3b89cb Generate targets in Swissquote parser
- 0cc6967 Use trading account in Swissquote parser
- 8481fb2 Generate targets in IBKR parser
- 3e89a85 Don't close accounts outside of filter
- 8b01f42 Inline filter
- 4338b49 Fix parser
- bc247e1 Use net amount for sorting
- 598828f Refactor flow calculation
- fc4fb96 Simplify
- 7ef170a Migrate performance calculator
- 1116a80 Remove obsolete fields
- 07c068e Remove obsolete function
- 51d7a25 Always deduplicate
- e4534a6 Dry up error merging
- 374c26a Use concurrency primitives
- faac26a Use concurrency primitives
- 3e472ae Use exclude
- 0a5448e Document the concurrency primitives
- 2243c08 Remove error from valuationAccount
- ea57344 Add test for prices
- af20615 Add cancelation test
- 5b6361f Add tests for PeriodFilter, and fix it
- d07581d Regenerate docs with new sort order
- 46f60f3 Add coverage command
- 9ab1471 Add tests for PeriodFilter
- 8bfcc00 Move push and pop to cpr package
- b60725b Add tests for PASTBuilder
- 01ca778 Simplify
- 17ed685 Simplify
- c907e8c Remove obsolete code
- 506c5ab Add tests for Differ
- fa0756d Use generics to streamline selects
- 8465865 Add more test data
- 46773db Remove camel case
- 1a3964f Test ASTBuilder
- a188877 Sort accounts by turnover
- aa5df0c Use assignment
- 35afd7e Start pipeline at parser
- f50b01c Remove unused fields
- b39d43b Reverse arguments
- bbff58e Restructure
- 3e19523 Fix formatting
- c02e81f Generate docs
- 0337aa7 Fix typo
- a2b17bd Fix accidental shadowing
- 5ffa594 Use concrete interface
- cb608d3 Move report under val
- 956da86 Delete obsolete file
- bbc3d18 Move table to common
- f962514 Move prices to journal
- 6903fb3 Move prices to journal
- aa2978e Move process under journal
- 2da1c93 Remove accounts from past
- 9b36af7 Move Amounts to own package
- ec0a8b5 Simplify PeriodFilter
- d89734b Fix differ
- 4674053 Restructure valuator
- 9896a7a Restructure valuator
- d460a96 Restructure PASTBuilder
- 477c85a Use less mutations
- e36dc91 Structure & comments
- 21c05b6 Remove context indirection
- 3d48dc0 Use channel closing to propagate done
- 1f92c80 Rename parsing method
- 171690a Use context and split channels
- 8845f9b Streamline concurrent parsing
- 501d748 Fix printing of accruals
- ef52d5b Delete legacy function
- 4fddbaf Delete legacy code
- f5b754b Implement diffing
- 8c0fe94 Delete legacy balance types
- 5bf211b Remove references to processors
- 11359f9 Fix
- f3fee5f Remove unused parameter
- 4303dca Migrate transcoding
- d943b2e Clone description
- df903a6 Use clone
- a8696e1 Use common transaction type
- e81f5fc Fix benchmark generation
- 95eca81 Properly compute days beyond the last date
- 63ccdd1 Use buffered channels
- fa18cb9 Split package into separate files
- ef7ee78 Build report from stream
- bf0a16e Unify error channels
- 3ef75fc Unify naming
- dcb60ab Unify stream processing methods
- ceafafb Delete obsolete function
- 403446c Use new engine for balance
- 0ed23e9 Implement valuation in processor
- c7d6486 Use errOrExit
- 681e2d7 Implement async processing
- b83d56d Update date
- e6914d3 Replace processors
- d8f4e66 Move sorting to AST
- df9bfdf Use new code path for balance command
- 4e0202b Finalize AST -> PAST processing
- 2a8aedf Move around packages
- 5ccbbd0 Implement some processing
- 4ec05f9 Move PAST to past package
- 89a56f6 Move builder
- acdc7ef Move processing to own package
- 0a9510d Rename file
- 64078d2 Rename AST1 -> AST
- 64df1a9 Rename AST -> PAST
- 1f74671 Introduce an unprocessed AST
- fedf98f Rename file
- 63520f5 Add builder2
- da930f3 Introduce AddOns for transactions
- 885a59a Reorganize packages
- 057db84 Use Ledger by reference
- f9f1c3d Revert to using Include by reference
- ef220ca Revert to using Open by reference
- 5dc000a Revert to using Close by reference
- 943df89 Revert to using Value by reference
- 9bdecac Revert to using assertions by reference
- 304f0fc Revert to using prices by reference
- 8acd2bb Revert to using transactions by reference
- 7df06a9 Use async processing
- a96317f Introduce Today function
- d0fc7b3 Preserve line endings for *.knut
- b971d04 Refactor infer
- afacafb Clean up legacy methods in flags
- a8f5bb4 Migrate IB & Cumulus
- 8b91dff Simplify asyncRunner
- 2b2a703 Simplify runner
- 06edad3 Update docs
- 4e4d95b Simplify flag parsing
- cf823b4 Move snapshotter to end of chain
- fab0336 Add test
- beb4ca3 Some more async enhancements
- 92415ae Simplify sorting
- cddfea6 Complete experimental async pipeline
- f287378 Fix async computation
- ef9bd66 Add ActualDates method
- 83d3add Rewrite method
- fec93c3 Add experimental async pipeline
- e282fc2 Hide portfolio command
- 81e77f5 Add some async processors
- 50688c4 Fix negation of totals
- 8560257 Move context from report to renderer
- 84a3d72 Renamings
- bc42d87 Simplify renderer
- 358526c Remove debugging statement
- 6b6eb7d Fix generation
- 9cd6ec7 Refactor report
- a61271f Add function to get parent and descendents
- 9318649 Add ordered iteration to accounts and commodities
- 64ab63c Rename field
- 40a8df1 Build mapping into accounts
- 7ceb432 Maintain tree structure for accounts
- 4faa2fd Smaller refactoring
- 9233bef Split file
- 9e95f73 Add a working trading cost allocation
- cb42e81 Syntax extensions
- f1204a8 Move directives to own file
- 9bb39f5 Simplify
- 664187e Cleanup
- b84ab1a Simplify
- 276ae49 Simplify portfolio cmd
- efd1e33 Add async processing function
- c01c975 Rebase onto master
- b171ed6 Fix computation
- e5a8f52 Rudimentary performance computation
- 0a81a62 Delete balance.Builder
- 5cad9dc Move more steps construction to cmd
- 45464c0 Move steps construction to command
- 9c5e797 Update license headers
- 895ff62 Update docs
v0.0.13
Changelog
3c881ef Move processing to ledger
a3ec24a Move open accounts to own file
9644c51 Report error
81f9aee Use zero value for Period
5b8d249 Move all logic into processors
701e76b Fix date updating
9b7721a Move entire processing into processors
beb9831 Add more processors
2e87ea2 Extract some steps into processors
7ec8238 Cleanups and renamings
41756e4 Move accounts and commodities to ledger
254a6dd Use context for commodities
cbe51b2 Get -> GetAccount
13ec9a7 accounts -> context
45910eb Move commodities into struct
0a4aa1f Refactor filters
8ee8ce9 Rename journal and move to parser
0d53353 Add convenience method
e0bbcda Fix comment
550bd22 Remove global accounts
89cfb9c Move error checking for accruals
e6a2a0c Simplify handling of file locations
b45014d Move filters to own file
598e6ac Fix inference
979c9fb Granular valuation report
1a8df49 Restructure function
17a1f1e Fix cumulus importer
8831d02 Use value types
60b809c Use Posting as value
439de61 Use Posting as value type
0b47f28 Remove Target field
0542e40 Remove debugging statement
c1efdb2 Allow variable width lines in Supercard importer
v0.0.12
v0.0.11
Changelog
5bb3179 Refactor ledger filtering
03ebf40 Refactor revolut importer
5eae393 Remove package generic
2e0539d Refactor ch.postfinance importer
bfcac80 Cleanup
a84d9ef Improve date handling
9121a50 Fix val flag
33b478b Validate commodity names
fa36e1b Create flags package for common use cases
e722800 Remove dependency on scanner in importers
373923a Move account validation into package accounts
220498f Name fields
c17c018 DRY up
c3f8b0d Fix doc comment
a5d9e24 Add Supercard importer
b56217d Fix signs
27dbf30 Fix thousands separator
e65fe54 Fix wrong date
5e1cfc1 Add sqlite files
56d395c Add knut.exe
9d11cf6 Update Go versions
fc4401b Fix atomic file operations on Windows
c9b2842 Fix static analysis issues
bd3b06f Set target account
cc1d1f7 Fill target
be9b178 Add target commodity
90801ba Make Filter reusable
b074097 Remove obsolete type