Releases: djdanielsson/mosaicterm
Releases · djdanielsson/mosaicterm
v0.3.0
Major Changes
App Module Refactoring
- Split monolithic app.rs (3500+ lines) into 7 focused modules:
- async_ops.rs: Background task processing
- commands.rs: Command detection and classification
- context.rs: Environment context detection (venv, conda, nvm, git)
- input.rs: Keyboard shortcuts and input handling
- prompt.rs: Prompt building with SSH support
- ssh.rs: SSH session management
PTY System Improvements
- Renamed PtyManagerV2 to PtyManager (removed legacy V1)
- Implemented event-driven architecture with PtyEventBus
- Added PtyEvent types for output, errors, and lifecycle events
- Fixed TUI overlay exit bug causing garbled input
Code Quality
- Added 62+ tests for app module components
- Comprehensive module documentation with examples
- Fixed cross-platform test failures on Windows
- Resolved all clippy warnings
Configuration
- Fixed TUI apps config merging (additive instead of replacement)
- Fixed config loader to properly merge with defaults
- Added 'pwsh' alias for PowerShell detection
Performance
- Lazy ANSI parsing with OnceCell
- Batch PTY output processing
- Removed unused code and dead fields"
What's Changed
- chore(deps): bump thiserror from 1.0.69 to 2.0.17 by @dependabot[bot] in #18
- chore(deps): bump criterion from 0.7.0 to 0.8.1 by @dependabot[bot] in #17
- chore(deps): bump the minor-and-patch group with 5 updates by @dependabot[bot] in #16
- Add SSH session support by @djdanielsson in #22
- ci(deps): bump actions/cache from 4 to 5 by @dependabot[bot] in #20
- chore(deps): bump the minor-and-patch group with 2 updates by @dependabot[bot] in #21
Full Changelog: v0.2.1...v0.3.0
v0.2.1
Highlights
This release introduces two major features: SSH session support that integrates remote shell sessions seamlessly into MosaicTerm's block-based UI, and a comprehensive theming system allowing full customization of all UI colors via the config file.
New Features
SSH Session Support
- Interactive SSH prompt overlay for passwords, passphrases, and host key verification
- Seamless remote sessions work just like local commands with block-based output display
- Automatic remote prompt detection and display
- Clean session transitions with proper PTY buffer management
- Command completion tracking for remote commands
Comprehensive Theming System
- Full color customization via config.toml with hex color support (#RRGGBB)
- Theme sections: [ui.theme], [ui.theme.ansi], [ui.theme.blocks], [ui.theme.input], [ui.theme.status_bar]
- Easy support for popular themes like Solarized Light/Dark
- All config fields now optional with sensible defaults
Bug Fixes
- Fixed PTY output buffering issue when exiting SSH sessions
- Fixed config watcher reloading from wrong file path
- Fixed focus handling in SSH prompt overlay
New Files
- src/ui/ssh_prompt_overlay.rs - SSH authentication prompt UI
- src/ui/colors.rs - UI color conversion and management
What's Changed
- chore(deps): bump thiserror from 1.0.69 to 2.0.17 by @dependabot[bot] in #18
- chore(deps): bump criterion from 0.7.0 to 0.8.1 by @dependabot[bot] in #17
- chore(deps): bump the minor-and-patch group with 5 updates by @dependabot[bot] in #16
- Add SSH session support by @djdanielsson in #22
- ci(deps): bump actions/cache from 4 to 5 by @dependabot[bot] in #20
- chore(deps): bump the minor-and-patch group with 2 updates by @dependabot[bot] in #21
Full Changelog: v0.2.0...v0.2.1
v0.2.0
Major Changes
Platform Abstraction Layer
- New: Comprehensive cross-platform abstraction layer with platform-specific traits
- New: Platform implementations for Unix (Linux, macOS) and Windows
- New: Unified interfaces for filesystem operations, process management, shell handling, and signal processing
- New: Platform-specific modules for paths, memory management, and process control
Architecture Improvements
- Refactor: Major refactoring of platform-specific code into modular, maintainable structure
- New: Added
src/platform/traits.rsdefining platform abstraction interfaces - New: Added
src/context.rsfor improved context management - Refactor: Improved error handling and type safety across platform operations
Bug Fixes
- Fix: Windows x86 test failures in environment variable handling
- Fix: Improved test robustness for environment variable inheritance across platforms
- Fix: Better handling of environment variables in PTY process spawning
- Fix: Improved working directory tracking and validation
Improvements
- Improve: Enhanced config validation and error messages
- Improve: Better working directory tracking for terminal sessions
- Improve: More robust process spawning with improved environment handling
- Improve: Enhanced signal handling across platforms
Dependencies
- Update: Updated egui/eframe to 2.4
- Update: Updated CI workflow dependencies (actions/checkout, codecov-action, action-gh-release)
- Update: Added Dependabot configuration for automated dependency updates
Testing
- Improve: Enhanced test coverage for platform-specific functionality
- Fix: Fixed Windows x86 compatibility issues in test suite
- Improve: More robust environment variable tests
Other changes
- chore(deps): bump portable-pty from 0.8.1 to 0.9.0 by @dependabot[bot] in #15
- chore(deps): bump notify from 6.1.1 to 8.2.0 by @dependabot[bot] in #14
- chore(deps): bump nix from 0.27.1 to 0.30.1 by @dependabot[bot] in #13
- chore(deps): bump toml from 0.8.23 to 0.9.8 by @dependabot[bot] in #6
- chore(deps): bump git2 from 0.18.3 to 0.20.2 by @dependabot[bot] in #7
- chore(deps): bump vte from 0.13.1 to 0.15.0 by @dependabot[bot] in #8
- chore(deps): bump dirs from 5.0.1 to 6.0.0 by @dependabot[bot] in #9
- chore(deps): bump criterion from 0.5.1 to 0.7.0 by @dependabot[bot] in #10
Full Changelog: v0.1.1...v0.2.0
v0.1.2
Major Changes:
- Persistent Command History: Added ability to save and restore command history between sessions
- History Search: Implemented Ctrl+R for interactive history search (noted as "kinda buggy still" in the commit)
- Tab Completion Improvements: Enhanced tab completion functionality
- Timeout Removal: Removed the 30-second timeout limit on command execution
Bug Fixes:
- Fixed display issue showing all commands as still running
- Fixed up arrow navigation through command history
- Fixed click-to-kill functionality for processes
- TUI Support: Added Terminal User Interface capabilities
- Process Tree Management: Enhanced process tree handling for better command lifecycle management
- Resolve the Icon Rendering issue by @SamPlaysKeys in #1
New Contributors
- @SamPlaysKeys made their first contribution in #1
Full Changelog: v0.1.1...v0.1.2
v0.1.1
Major Changes:
- macOS App Bundle Support: Added automated .app bundle creation to CI/CD release workflow for easier macOS installation
- Shell Echo Fix: Disabled shell line editors (--noediting for Bash, +Z for Zsh) to fix command echo display issues
- Repository Cleanup: Removed development tooling directories (.cursor/, .specify/) and templates to streamline the codebase
- Documentation Cleanup: Removed extensive internal documentation files (ROADMAP_INTERACTIVE_SUPPORT.md, PTY_MANAGER_V2_MIGRATION.md, etc.)
- UI Framework Addition: Added comprehensive UI modules including completion popup, metrics, scroll handling, text rendering, TUI overlay, and viewport management
- Configuration Enhancements: Added shell type detection and theme configuration capabilities
- Code Quality: Fixed linting warnings, added error handling, and improved test coverage
Full Changelog
Full Changelog: v0.1.0...v0.1.1
v0.1.0
Full Changelog: https://github.com/djdanielsson/mosaicterm/commits/v0.1.0