Skip to content

Latest commit

 

History

History
60 lines (40 loc) · 3.36 KB

File metadata and controls

60 lines (40 loc) · 3.36 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Added unhandled ANSI sequence logging to surface edge cases in command output.
  • Added regression coverage for dashboard rendering behavior, diff-render cursor anchoring, renderer reuse, process-driver command wrapping, and shutdown signaling paths.

Changed

  • Updated dashboard rendering to prefer screen-diff output when available while preserving string-renderer fallback behavior.
  • Upgraded soloterm/screen to include the upstream toCellBuffer() ANSI decode fix and removed Solo's temporary local shim.
  • Consolidated CapturedPrompt renderer mapping into the trait, eliminating per-class overrides.

Fixed

  • Fixed a frame composition bug that could scroll away the first row, causing the tab strip to disappear or appear incomplete.
  • Fixed non-interactive dashboard boot crashes caused by uninitialized Laravel Prompts typed properties.
  • Fixed differential rendering artifacts by re-homing the cursor at the first changed cell in each diff frame.

Removed

  • Removed GNU Screen process driver and all associated code. Solo now uses PTY mode directly via Symfony Process with soloterm/screen handling all ANSI parsing. GNU Screen is no longer required.
  • Removed solo.process_driver and solo.use_screen configuration options.
  • Removed output marker filtering (SOLO_START/SOLO_END), screen version checking, and screen-specific shutdown logic.
  • Removed unused CapturedSearchPrompt and CapturedSuggestPrompt classes.
  • Removed EnhancedTailCommand - it has been extracted to the standalone soloterm/vtail package. The default Logs command now uses a simple tail -f command.

[0.3.0]

Breaking Changes

There are a lot of breaking changes from 0.2.x to 0.3.x. I am sorry about that, but this is a fundamental rewrite! And it's so much better. This should be the last 0.x release. Provided nothing major comes up, we'll move on to 1.0.0 pretty quickly.

Changed

  • Changed the package name from aaronfrancis/solo to soloterm/solo. I've marked aaronfrancis/solo abandoned on Packagist.
  • Changed the namespace from AaronFrancis\Solo to SoloTerm\Solo
  • Completely rewrote the rendering pipeline
  • Changed how hotkeys work. They are now configurable.

Added

  • Interactive commands!
  • A new quick nav popup
  • Hotkeys per command
  • A new solo:dumps command that you can use to intercept dump calls in your application.
  • A new solo:make command that lets you quickly access all Laravel make:* commands
  • An enhanced tail command that collapses vendor frames and lets you truncate the logs via hotkey

Removed

  • Removed the need for you to have a service provider in favor of a much simpler config file. You'll need to migrate to the config file approach and delete your service provider.
  • Removed all the allowRegistrationFrom hoops you had to jump through to register commands. This means that any third-party package could register a command. Any malicious third-party package can already run shell_exec without Solo. Running a malicious script via Solo just makes it totally obvious that it's happening. So the security that allowRegistrationFrom added was performative at best.