Skip to content

Changelog ​

All notable changes to Yalla CLI will be documented in this file.

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

[Unreleased] ​

Added ​

  • TBD

Changed ​

  • TBD

Fixed ​

  • TBD

[2.0.0] - 2025-10-01 ​

🎉 Major Release - Production Ready ​

Version 2.0 represents a massive evolution of Yalla CLI, transforming it from a basic CLI framework into a production-ready, enterprise-grade command-line framework. This release introduces 10+ major features and architectural improvements.

What's New ​

🚀 Major Features ​

  • Async Command Execution - Run commands asynchronously with promises and parallel execution
  • Signal Handling - Graceful shutdown and cleanup on interrupt signals (Unix/Linux)
  • Command Middleware - Authentication, logging, timing, and custom middleware pipeline
  • Dry Run Mode - Preview command operations without executing them
  • Environment Management - .env file support with variable expansion
  • File System Helpers - Safe file operations, backup, unique filenames
  • Stub Generator - Template-based code generation with conditionals and loops
  • Process Locking - Prevent concurrent command execution with file-based locks
  • Command Aliases - Create shortcuts for frequently used commands
  • Exit Codes - Standard exit codes with descriptions and exception mapping
  • Command Signatures - Laravel-style signature parsing
  • Enhanced Output - Output sections, semantic methods, verbosity levels

🔧 Improvements ​

  • Maintained 100% test coverage with 685+ passing tests
  • Enhanced error handling and exception mapping
  • Better cross-platform support
  • Comprehensive documentation for all features
  • Multiple working examples for each feature

🐛 Bug Fixes ​

  • Fixed humanFilesize() formatting to remove trailing zeros (1 KB instead of 1.0 KB)

Breaking Changes ​

None - v2.0 is fully backward compatible with v1.x. All new features are opt-in via traits and classes.

[1.4.0] - 2025-01-26 ​

Added ​

  • Advanced Table Formatting System: Professional-grade table formatter with multiple border styles
  • Table Class: New Table class with extensive formatting options
    • 7 border styles: Unicode, ASCII, Markdown, Double, Rounded, Compact, None
    • Column alignment support (left, center, right)
    • Emoji and Unicode character support with proper width calculation
    • Cell formatters for custom value transformation
    • Sorting and filtering capabilities
    • Row indexing with custom names
    • Fluent interface for method chaining
  • MigrationTable Class: Specialized table for database migration systems
    • Built-in status formatting with emoji indicators
    • Batch filtering and status filtering
    • Migration summary reporting
    • Support for Laravel, Doctrine, and custom migration systems
  • Enhanced Output Methods: New createTable() method for advanced table creation
  • Comprehensive Documentation: Complete guides and API references for table formatting
  • 100% Test Coverage: Full test suite with 218+ tests covering all table features

Enhanced ​

  • Table Rendering: Upgraded from basic ASCII tables to professional formatting
  • Emoji Support: Proper handling of emoji width in table cells and terminal display
  • Documentation: Added dedicated table formatting guide and API references

Technical Improvements ​

  • Width Calculation: Smart emoji and Unicode character width detection
  • Alignment System: Markdown-compatible alignment indicators for center and right alignment
  • Performance: Optimized table rendering for large datasets
  • Memory Management: Efficient cloning and data handling for table variations

Breaking Changes ​

  • None - all existing table functionality remains backward compatible

Developer Experience ​

  • Fluent Interface: Method chaining for clean, readable table building code
  • Type Safety: Full type hints and strict types throughout
  • Examples: Comprehensive example files and documentation samples

[1.3.0] - 2025-01-14 ​

Added ​

  • REPL (Read-Eval-Print-Loop) functionality
  • Interactive PHP shell with history and autocomplete
  • Multiple display modes (compact, verbose, JSON, dump)
  • REPL extensions system
  • Command history management
  • Variable persistence in REPL sessions
  • Shortcuts for frequently used classes
  • Custom formatters for object display

Changed ​

  • Improved output formatting for better readability
  • Enhanced Windows compatibility

Fixed ​

  • Color detection on various terminal emulators
  • Table rendering with Unicode characters

[1.2.0] - 2024-12-01 ​

Added ​

  • Command scaffolding with create:command
  • Automatic command generation from templates
  • Custom directory support for generated commands
  • Force overwrite option for existing files

Changed ​

  • Improved command registry performance
  • Better error messages for missing commands

[1.1.0] - 2024-11-15 ​

Added ​

  • Progress bar support for long-running operations
  • Spinner animation for indeterminate progress
  • Tree display for hierarchical data
  • Box drawing around important messages
  • Section headers for organized output

Changed ​

  • Refactored Output class for better extensibility
  • Improved table rendering algorithm

Fixed ​

  • Memory leak in long-running commands
  • Color support detection on Windows

[1.0.0] - 2024-10-01 ​

Added ​

  • Initial release
  • Core command system
  • Argument and option parsing
  • Colored output support
  • Table rendering
  • Built-in commands (help, list)
  • Input validation
  • Error handling
  • 100% test coverage

Features ​

  • Zero dependencies
  • PSR-12 compliant
  • Cross-platform support (Windows, macOS, Linux)
  • PHP 8.1+ support

[0.9.0-beta] - 2024-09-15 ​

Added ​

  • Beta release for testing
  • Basic command structure
  • Output formatting
  • Initial test suite

Known Issues ​

  • Limited Windows support
  • No REPL functionality
  • Basic documentation only

Version History Summary ​

  • 1.3.0 - REPL and interactive features
  • 1.2.0 - Command scaffolding
  • 1.1.0 - Enhanced output formatting
  • 1.0.0 - First stable release
  • 0.9.0-beta - Beta testing phase

Upgrade Guide ​

From 1.2.x to 1.3.0 ​

  1. No breaking changes
  2. New REPL features are opt-in
  3. Update composer dependency:
    bash
    composer update marwen-brini/yalla

From 1.1.x to 1.2.0 ​

  1. No breaking changes
  2. New create:command available immediately
  3. Update composer dependency

From 1.0.x to 1.1.0 ​

  1. No breaking changes
  2. New output methods are backward compatible
  3. Update composer dependency

Deprecations ​

Currently, there are no deprecated features.

Future Releases ​

Planned for 1.4.0 ​

  • Event system for command lifecycle
  • Middleware support
  • Command aliases
  • Performance improvements

Planned for 2.0.0 ​

  • Async command execution
  • Plugin marketplace
  • GUI mode
  • Breaking changes to improve API

Support Policy ​

  • Latest version: Full support
  • Previous minor version: Security fixes only
  • Older versions: No support

PHP Version Support ​

Yalla VersionPHP 8.1PHP 8.2PHP 8.3PHP 8.4
1.3.x✅✅✅✅
1.2.x✅✅✅❌
1.1.x✅✅❌❌
1.0.x✅❌❌❌

Reporting Issues ​

Please report issues on GitHub.

Contributing ​

See Contributing Guide for details on how to contribute.

Released under the MIT License.