Skip to content

Releases: djdanielsson/mosaicterm

v0.3.0

05 Jan 21:10
36ccc14

Choose a tag to compare

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

24 Dec 00:45
54fa1de

Choose a tag to compare

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

24 Nov 21:01
6a28dc6

Choose a tag to compare

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.rs defining platform abstraction interfaces
  • New: Added src/context.rs for 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

14 Nov 15:40
c2c8a30

Choose a tag to compare

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

Full Changelog: v0.1.1...v0.1.2

v0.1.1

12 Nov 22:50
254c14b

Choose a tag to compare

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

12 Nov 02:15
50abc3d

Choose a tag to compare