# Changelog All notable changes to this project will be documented in this file. ## [0.1.1](https://git.kemitix.net/kemitix/trello-to-deck/compare/v0.1.0...v0.1.1) - 2024-12-31 ### Other - add CHANGELOG.md ## [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