From 1348db25d9d62755381ae1725785eb7a22b840e8 Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Tue, 31 Dec 2024 19:13:22 +0000 Subject: [PATCH] docs: add CHANGELOG.md --- CHANGELOG.md | 164 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..cb2161f --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,164 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +## [0.1.0] - 2024-12-31 + +### ๐Ÿš€ Features + +- Make main tokio async +- Start empty lib +- Define Ctx to hold context (e.g. fs and net handles) +- Define command arguments to parse +- Install error trap from color_eyre +- Create Ctx instance +- Add helper macros +- Parse command line +- Add const NAME +- Command to write initial config file +- Load config file +- Add APIResult +- *(trello)* Add basics of trello config model +- *(nextcloud)* Add basics of nextcloud config model client +- Add kxio printer to context +- *(nextcloud)* DeckClient hold reference to FullCtx +- *(nextcloud)* Add deck_client to FullCtx +- *(nextcloud)* Add command 'nextcloud board list' +- *(nextcloud)* Add command 'nextcloud stack list' +- *(trello)* Add command 'trello board list' +- *(nextcloud)* Add command 'nextcloud card list' +- Add command 'check' +- *(nextcloud)* Add command 'nextcloud card get' +- Enable trace logging support +- *(nextcloud)* Add command 'nextcloud card create' +- *(nextcloud)* Add command 'nextcloud card add-label' +- *(trello)* Add command 'trello stack list' +- *(trello)* Add command 'trello card get' +- *(trello)* Add command 'trello attachement get' +- *(trello)* Add command 'trello attachement save' +- *(nextcloud)* Add commnad 'nextcloud deck get' +- Check command lists trello boards +- Use more non-String types +- Add command 'nextcloud board get' +- Add command 'nextcloud stack get' +- Add command 'nextcloud card add-attachment' +- *(nextcloud)* Add command 'nextcloud board labels' +- *(nextcloud)* Add command 'nextcloud stack create' +- *(nextcloud)* Add command 'nextcloud board create-label' +- Add command 'import' +- Split into actors +- *(trello)* Support exponential backoff with jitter +- *(nextcloud)* Support exponential backoff with jitter +- Add support for tokio-console +- Write downloaded attachments to temp directory +- Make best-effort to maintain order of stacks and cards +- Add Rate Limits on trello API and own parallisation +- Impl From for TrelloCardPosition +- Improved APIResult error reporting and use tracing +- Store attachments with the card rather than as a file +- Add trello card id to trello long card +- Revert: store attachments with the card rather than as a file +- Migrate card position and due date + +### ๐Ÿ› Bug Fixes + +- *(deps)* Update rust crate kxio to v4 +- Install color_eyre error handler in main +- *(trello)* Parse labels on cards +- Improve exponential backup detection of 429 error +- Stop zombie actors +- Only upload attachments that are files +- Always remove child actors regardless of how they exit +- *(trello)* Detect trello 429 responses correctly +- Import labels lookup label properly +- Upload attachments with unique filename +- Import*Actor shutsdown properly on error + +### ๐Ÿ’ผ Other + +- Initial ci setup +- Jj-next +- Jj-next can ignore immutable main on start and can move next anywhere +- Disable mutation testing in new tests are in place +- Clippy will apply any fixes it can + +### ๐Ÿšœ Refactor + +- Add FullCtx which is Ctx with AppConfig +- Rearrange command dispatcher +- Reshuffling and extracting Executor trait +- *(trello)* Rename module types as model +- *(trello)* Rename 'trello boards list' as 'trello member get' +- *(trello)* Rewrite trello module and rename commands +- Extract inline module tests::config +- Extract inline module tests::init +- Extract inline module tests::template +- Extract inline module tests::given +- Replace Ctx::new with Ctx::From +- Pass context by reference +- Execute::execute passes itself by ref +- Pass parsed Commands from main +- Remove command 'nextcloud card list' +- Command 'nextcloud card get' takes board id from parameters +- Command 'nextcloud card create' +- Command 'nextcloud card add-label' +- Remove board_id and board_name from config file +- *(trello)* Rearrange model +- Remove dead code +- *(trello)* Pin down parameter types for create_card +- Split import into smaller functions +- Move spawn and spawn_in_thread macros to macros module +- Import/card: remove creating trello or deck client variables +- Create missing stacks +- Nextcloud client: request takes Bytes +- Trello client: specify query parameters +- Trello client: clean up headers + +### ๐Ÿ“š Documentation + +- Add Readme +- Add plan to readme +- Add nextcloud credentials instructions +- Add supported features list to README + +### ๐Ÿงช Testing + +- *(nextcloud)* Add new tests +- *(nextcloud)* Enable tests +- Nextcloud card create - with/without description +- *(trello)* Add tests for 'trello member get' +- Add tests for 'trello board get' +- Add tests for 'trello card get' +- Add tests for APIResult +- Use variable in expected url +- Add tests for 'trello stack get' +- Add tests for commands 'trello attachment get' and 'trello attachment save' +- Add test for TrelloBoards::find_by_name() +- Added for 'check' command +- Add tests for importing + +### โš™๏ธ Miscellaneous Tasks + +- Remove hello world +- *(nextcloud)* Strip out old tests +- *(nextcloud)* Remove duplicate client +- Remove dead code +- Code coverage configuration +- Ignore coverage data +- Remove old unlinked file +- Drop old unlinked file +- Remove unused trello boards list command +- Remove unlinked file: trello::model::new_card +- Remove unused From implementations for TrelloAuth +- Remove dead code: trello::url() +- Remove dead code +- Log spawned actor details on single line +- Notes on fixmes to improve error handling +- Add more tracing messages +- Include file name and line number in tracing output +- Upgrade kxio to v5.0 +- Remove unused temp_fs from FullCtx +- Update gitignore and add Cargo.lock +- Remove trash + +