@@ -176,6 +176,95 @@ view in the background instead of hardcoded destinations.
176176- Two-phase rendering: base view first, then dialog overlay
177177- Converted all push_mode(AppMode::X) calls to open_dialog(DialogMode::X)
178178
179+ ## [ 0.1.15] - 2025-12-21
180+
181+ - feat(cli): include git commit hash in version output
182+ - fix(tui): skip empty sprints section when navigating board details
183+ - fix: filter out completed and cancelled sprints from assign list
184+ - fix: navigate to last sprint when scrolling up from columns in board settings
185+ - fix: preserve navigation mode during auto-reload from external changes
186+ - chore: cargo fmt
187+ - fix(tui): fix gg/G vim navigation in grouped-by-column view
188+ - chore: remove wip file
189+ - fix: prevent premature column switching in handle_navigation_down
190+ - fix: Centralize file watcher pause/resume in StateManager
191+ - feat: add kanban-mcp server
192+ - feat(mcp): add McpTools trait for compile-time parity with KanbanOperations
193+ - docs(mcp): add subprocess architecture documentation and Nix wrapper
194+ - feat(mcp): add CLI executor for subprocess-based operations
195+ - feat(mcp): enhance card operations and add delete/archive functionality
196+ - feat: add kanban-mcp: Model Context Protocol server implementation
197+ - fix: batch card creation with optional status update
198+ - fix: batch card movements with conditional status updates
199+ - fix: batch sprint activation and completion with board updates
200+ - fix: batch column position swaps
201+ - fix: batch card unassignment from sprint
202+ - fix: batch card completion toggles
203+ - fix: batch card moves when deleting column
204+ - fix: batch default column creation to prevent conflict dialog on new board
205+ - refactor: use batch command execution in sprint assignment handlers
206+ - feat: add execute_commands_batch for race-free command execution
207+ - fix: enhance AssignCardToSprint to handle sprint log transitions
208+ - fix: batch card archive and delete operations in animation completion
209+ - feat(persistence): create kanban-persistence crate structure
210+ - feat(state): create Command trait and StateManager
211+ - feat(domain): add CreateBoard command
212+ - feat(domain): add active_sprint_id field to BoardUpdate
213+ - feat(state): add debouncing to StateManager::save_if_needed()
214+ - feat(persistence): add automatic V1→V2 migration on load
215+ - feat(core,persistence): add conflict detection for multi-instance saves
216+ - feat(persistence): detect file conflicts before save
217+ - feat(state): propagate conflict errors in StateManager
218+ - feat(tui): Implement conflict resolution dialog and event loop integration
219+ - feat(tui): Integrate FileWatcher with App event loop
220+ - feat(state): Add view refresh tracking to StateManager
221+ - feat(tui): Add ExternalChangeDetected dialog
222+ - feat(tui): add user-visible error display banner
223+ - feat(app): prevent quit with pending saves
224+ - feat(app): add save completion receiver to App struct
225+ - feat(state): add bidirectional save completion channel
226+ - feat: Add migration verification and automatic backup cleanup
227+ - fix: Add instance ID check to file watcher to prevent false positives
228+ - fix: Remove redundant version fields from PersistenceMetadata
229+ - fix(tui): restoring restoring cards
230+ - fix(cli): restoring to a non existing column
231+ - docs: add CLI quick start section to root README
232+ - docs: update CLI README with command documentation
233+ - fix: use get_selected_card_in_context for points dialog
234+ - feat: add TuiContext struct with KanbanOperations implementation
235+ - feat: implement KanbanOperations trait for TUI App
236+ - test: update CLI tests for positional ID arguments
237+ - feat: make ID positional argument for single-resource commands
238+ - fix: return descriptive errors for invalid priority and status values
239+ - feat: add API version to CLI output and document never type
240+ - feat: simplify CLI file argument and add shell completions
241+ - fix: CLI context bugs and improve error messages
242+ - fix: Support positional file argument for TUI mode
243+ - test: Add comprehensive integration tests for CLI
244+ - feat: Implement full CLI with subcommand interface
245+ - feat: Add KanbanOperations trait for TUI/CLI feature parity
246+ - feat(mcp): omit description and sprint_logs from card list responses
247+ - feat(cli): include git commit hash in version output (#132 )
248+ - fix: stabilize release pipeline for v0.1.15
249+ Jumping cards
250+ - fix: jump by actual visible cards count from render_info, not cards_to_show
251+ - feat: add vim jump motions to normal mode keybinding display
252+ - feat: add vim jump motions to card list keybinding display
253+ - feat: wire up vim jump motions to keybinding handlers
254+ - feat: add jump motion handlers
255+ - feat: add jump methods to CardList
256+ - feat: add jump_to_first and jump_to_last methods to SelectionState
257+ - feat: add jump action variants to KeybindingAction enum
258+ - feat: add pending_key field to App struct for multi-key sequences
259+ Refactored dialog mode handling to use nested AppMode::Dialog(DialogMode) enum
260+ for type-safe dialog management. Dialogs now correctly display their parent
261+ view in the background instead of hardcoded destinations.
262+ - Added DialogMode enum with all 23 dialog variants
263+ - Simplified is_dialog_mode() to matches!(self.mode, AppMode::Dialog(_ ))
264+ - Added get_base_mode() to determine parent view from mode_stack
265+ - Two-phase rendering: base view first, then dialog overlay
266+ - Converted all push_mode(AppMode::X) calls to open_dialog(DialogMode::X)
267+
179268## [ 0.1.14] - 2025-11-17 ([ #patch] ( https://github.com/fulsomenko/kanban/pull/patch ) )
180269
181270- - refactor: integrate card list into keybinding registry
0 commit comments