Releases: Peter-L-SVK/PyLine
v1.1.6
PyLine v1.1.6 Release Notes
🐛 Bug Fixes
Type Checking & Code Quality
- Fixed mypy type conflicts in text buffer operations by adding appropriate
# type: ignorecomments - Resolved assignment conflicts with EditCommand subclasses while maintaining full functionality
- Improved code reliability and static analysis compatibility
Shell Compatibility
- Enhanced Ubuntu/Debian compatibility by replacing
os.system()calls with shell-aware utilities - Fixed issues with systems where
/bin/shis dash instead of bash - Improved prompt display with TTY-aware continue functions
- Maintained cross-platform support for macOS zsh and other Unix systems
- Unified all clear operations using
clear_screen()utility
Search & Replace Restoration
- Fixed search and replace functionality that was not updating the buffer
- Corrected hook response processing to handle both direct results and LanguageHookExecutor wrapped responses
- Perl hook integration now works correctly with proper buffer updates
- Maintained full undo/redo support for all replacement operations
- Search results now properly highlight matches and display line numbers
Technical Improvements
- Better handling of LanguageHookExecutor responses from non-Python hooks
- Improved cross-shell compatibility for interactive features
- Enhanced type safety while maintaining flexibility
- More reliable buffer update mechanisms
- File Headers: Unchanged (remain "PyLine 1.1" per versioning policy)
Compatibility
Fully compatible with:
- Ubuntu/Debian (dash as /bin/sh)
- macOS (zsh)
- Other Unix-like systems
- Python 3.8+
- Perl 5+ for search/replace hooks
Upgrade Notes
This is a recommended update for all users, especially those:
- Using Ubuntu/Debian systems
- Relying on search and replace functionality
- Working with Perl-based hooks
- Experiencing shell compatibility issues
The search and replace functionality is now fully restored and more reliable than ever with proper undo support and cross-platform compatibility.
v1.1.5
PyLine v1.1.5 Release Notes
Improvements
- Added context-aware input history management
- Separate persistent menu history from session-only editing history
- Prevent history pollution when switching between files
- Maintain appropriate command history based on current context
Bug Fixes
- Fixed history interference between different editor modes
- Resolved issue where navigation commands were cluttering command history
Technical Details
- Version: 1.1.5 (Patch release)
- Compatibility: Maintains full compatibility with v1.1.0
- File Headers: Unchanged (remain "PyLine 1.1" per versioning policy)
v1.1.0
PyLine v1.1.0 Release Notes
Major Features
AI-Powered Grammar Checker
- New: Integrated AI grammar checking with
language_tool_python - Configurable: JSON-based configuration for custom grammar rules
- Smart Analysis: Contextual error detection with confidence scoring
- Writing Insights: Readability scoring and style suggestions
- Technical Filtering: Automatically ignores code and technical content
Improved User Interface
- Expanded Menus: More options across all modes (editor)
- Better Navigation: Enhanced user experience with additional commands
- Fixed Artifacts: Resolved GUI display issues during save/close operations
Advanced Installation
- Automated Deployment: One-command hook installation with
install-all.sh - Cross-Shell Support: Full compatibility with both bash and zsh
- Verification System: Automatic hook testing and dependency checking
- Easy Uninstallation: Comprehensive removal with backup system
Technical Improvements
Configuration System
- Dynamic directory configuration management
- Improved theme validation and discovery
- Enhanced path management with fallbacks
Text Processing
- Statistical analysis with pandas/numpy integration
- Enhanced syntax highlighting for JSON and shell scripts
- Improved search/replace with advanced pattern matching
Performance & Compatibility
- Optimized memory usage with large files
- Better cross-platform compatibility
- Enhanced undo/redo behavior
Breaking Changes
Dirops
- Automatic-Path-Mechanism: Totally free from hard-coded paths
Editor
- Menu Reorganization: Some options moved for better UX
Versioning Policy
- File Headers: Now use major.minor format (e.g., "PyLine 1.1")
- Release Tags: Continue using semantic versioning (e.g., "v1.1.0")
- Patch Releases: No longer require file header updates
Installation & Upgrade
New Installation
git clone https://github.com/yourusername/pyline.git
cd pyline
./install.shUpgrade from v1.0.x
cd pyline
git pull
./install.sh -u # Uninstall old version first
./install.sh # Install new versionHook Installation (Optional)
./install-all.sh # Install all enhanced functionality hooksBug Fixes
- Fixed GUI display artifacts when saving files after close
- Resolved shell script compatibility issues with zsh
- Improved display refresh in save/close workflow
- Enhanced error handling in hook execution
New Hooks Available
grammar_checker__70.py- AI-powered grammar and style checking
Documentation Updates
- Updated
CONTRIBUTING.mdwith new versioning policy - Enhanced hook development guidelines
- Improved installation instructions
- Added AI grammar checker configuration guide
System Requirements
- Python: 3.8+
- Dependencies:
language_tool_python,pandas,numpy(for AI features) - Shell: bash or zsh
- Platform: Linux, macOS, Windows (WSL)
v1.0.4
PyLine 1.04 Release Notes
Overview
Minor maintenance release focusing on code quality, type safety, and user experience improvements. This release enhances robustness and developer experience while maintaining full backward compatibility.
New Features & Improvements
Code Quality & Type Safety
- Enhanced Type Safety: Resolved mypy type inconsistencies across config and execmode modules
- Robust Path Handling: Improved
get_path()method with proper default values and fallbacks - Professional Configuration: Replaced hardcoded parameters with dynamic config-based path management
User Experience
- Streamlined Workflows: Removed redundant [Y/N] confirmation prompts from change default path command
- Legacy Code Cleanup: Eliminated early development debug artifacts for cleaner interface
- Manual Execution Support: Properly configured source paths for running PyLine directly from source
Developer Experience
- Better Error Handling: Enhanced exception handling with sensible defaults
- Improved Resource Access: Consistent license and resource file location detection
- Type-safe Returns: Eliminated potential
Nonereturns from configuration methods
Bug Fixes
- Fixed incompatible type assignments between
Optional[str]andstrreturn types - Corrected default path handling in CWD command to use configured defaults
- Resolved source path detection for manual execution scenarios
Compatibility
- Full Backward Compatibility: All existing configurations and workflows remain unchanged
- Hook System: No changes to hook API or functionality
Technical Details
Code Changes
config.py: Enhancedget_path()method with proper default handlingexecmode.py: Streamlined user interactions and improved path managementmain.py: Improved resource path detection for manual executiondirops.py: Type safety improvements in directory operations
Configuration
- No configuration changes required
- Existing user settings preserved automatically
- Theme and hook configurations remain intact
Note: Version 1.04 reflects internal improvements while maintaining the stable 1.0 feature set. The version number in code headers remains 1.0 for consistency with the major release cycle.
v1.0.3
- fix of paths mechanism
- install script refactor
- documentation improvements
v1.0.2
Small bug-fixes and docs formats.
v1.0
🎉 Major Release - PyLine 1.0
I'm excited to announce PyLine v1.0, a significant milestone that transforms this terminal-based line editor into a powerful, extensible editing platform with advanced features and comprehensive theming support.
🚀 What's New
✨ Core Architecture Improvements
Complete Config-Hook Integration: Unified state management across all manager classes
Circular Import Resolution: Fixed dependency issues between theme_manager and utils
Enhanced Singleton Patterns: Proper dependency injection for all manager instances
Memory Optimization: Improved handling of large files (>10k lines)
v0.9.8
Major features:
- Config managment and config.ini in JSON
- Theme manager: full managment of color themes (for now partial theming)
v0.9.7
Major features:
Modular hooks system with priority, runtime enable/disable, cross-language support (Python, Perl, Bash, Ruby, Lua, Node.js, PHP)
Hook manager UI (list, enable/disable, reload hooks, show info)
BufferManager, NavigationManager, SelectionManager, PasteBuffer, UndoManager all refactored for composition and extensibility
Hook-enabled file loading/saving, multi-language event handlers
Enhanced config and state management (per-user config dir)
Improved argument parsing and info screens
Key Changes:
- src/syntax_highlighter.py: Fixed 8 type issues including return types and object attribute access
- src/text_buffer.py: Fixed 3 "None" iteration errors with proper null checks
- hooks/smart-tab/smart_tab__90.py: Added complete type annotations to all functions
- Various modules: Added 100+ missing type annotations to functions and methods
Release notes:
See README and hooks-overview.md for new extensibility features and usage.
v0.9
Major changes:
- new hook manager
- added support for custom hooks
- smart tab hook now in box