# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ## [0.1.0](https://git.kemitix.net/kemitix/trello-to-deck/releases/tag/v0.1.0) - 2024-12-31 ### Added - migrate card position and due date - revert: store attachments with the card rather than as a file - add trello card id to trello long card - store attachments with the card rather than as a file - improved APIResult error reporting and use tracing - impl From for TrelloCardPosition - add Rate Limits on trello API and own parallisation - make best-effort to maintain order of stacks and cards - write downloaded attachments to temp directory - add support for tokio-console - *(nextcloud)* support exponential backoff with jitter - *(trello)* support exponential backoff with jitter - split into actors - add command 'import' - *(nextcloud)* add command 'nextcloud board create-label' - *(nextcloud)* add command 'nextcloud stack create' - *(nextcloud)* add command 'nextcloud board labels' - add command 'nextcloud card add-attachment' - add command 'nextcloud stack get' - add command 'nextcloud board get' - use more non-String types - check command lists trello boards - *(nextcloud)* add commnad 'nextcloud deck get' - *(trello)* add command 'trello attachement save' - *(trello)* add command 'trello attachement get' - *(trello)* add command 'trello card get' - *(trello)* add command 'trello stack list' - *(nextcloud)* add command 'nextcloud card add-label' - *(nextcloud)* add command 'nextcloud card create' - enable trace logging support - *(nextcloud)* add command 'nextcloud card get' - add command 'check' - *(nextcloud)* add command 'nextcloud card list' - *(trello)* add command 'trello board list' - *(nextcloud)* add command 'nextcloud stack list' - *(nextcloud)* add command 'nextcloud board list' - *(nextcloud)* add deck_client to FullCtx - *(nextcloud)* DeckClient hold reference to FullCtx - add kxio printer to context - *(nextcloud)* add basics of nextcloud config model client - *(trello)* add basics of trello config model - add APIResult - load config file - command to write initial config file - add const NAME - parse command line - add helper macros - create Ctx instance - install error trap from color_eyre - define command arguments to parse - define Ctx to hold context (e.g. fs and net handles) - start empty lib - make main tokio async ### Fixed - Import*Actor shutsdown properly on error - upload attachments with unique filename - import labels lookup label properly - *(trello)* detect trello 429 responses correctly - always remove child actors regardless of how they exit - only upload attachments that are files - stop zombie actors - improve exponential backup detection of 429 error - *(trello)* parse labels on cards - install color_eyre error handler in main - *(deps)* update rust crate kxio to v4 ### Other - update gitignore and add Cargo.lock - remove unused temp_fs from FullCtx - add tests for importing - upgrade kxio to v5.0 - trello client: clean up headers - trello client: specify query parameters - nextcloud client: request takes Bytes - include file name and line number in tracing output - create missing stacks - import/card: remove creating trello or deck client variables - add more tracing messages - notes on fixmes to improve error handling - log spawned actor details on single line - move spawn and spawn_in_thread macros to macros module - add supported features list to README - remove dead code - split import into smaller functions - *(trello)* pin down parameter types for create_card - remove dead code - *(trello)* rearrange model - remove board_id and board_name from config file - added for 'check' command - command 'nextcloud card add-label' - command 'nextcloud card create' - command 'nextcloud card get' takes board id from parameters - Remove command 'nextcloud card list' - pass parsed Commands from main - Execute::execute passes itself by ref - pass context by reference - replace Ctx::new with Ctx::From - remove dead code: trello::url() - add test for TrelloBoards::find_by_name() - remove unused From implementations for TrelloAuth - remove unlinked file: trello::model::new_card - add tests for commands 'trello attachment get' and 'trello attachment save' - add tests for 'trello stack get' - use variable in expected url - add tests for APIResult - extract inline module tests::given - extract inline module tests::template - extract inline module tests::init - extract inline module tests::config - add tests for 'trello card get' - add tests for 'trello board get' - remove unused trello boards list command - *(trello)* add tests for 'trello member get' - nextcloud card create - with/without description - ignore coverage data - code coverage configuration - remove dead code - *(nextcloud)* remove duplicate client - *(nextcloud)* enable tests - *(nextcloud)* add new tests - add nextcloud credentials instructions - *(trello)* rewrite trello module and rename commands - *(trello)* rename 'trello boards list' as 'trello member get' - add plan to readme - *(trello)* rename module types as model - reshuffling and extracting Executor trait - clippy will apply any fixes it can - rearrange command dispatcher - disable mutation testing in new tests are in place - Add FullCtx which is Ctx with AppConfig - jj-next can ignore immutable main on start and can move next anywhere - *(deps)* update kemitix/rust action to v2.5.0 - add Readme - Remove hello world - *(deps)* add planned dependencies as comments - jj-next - initial ci setup - cargo init