Skip to content

Releases: Peter-L-SVK/PyLine

v1.1.6

17 Oct 18:38
Immutable release. Only release title and notes can be modified.
082a888

Choose a tag to compare

PyLine v1.1.6 Release Notes

🐛 Bug Fixes

Type Checking & Code Quality

  • Fixed mypy type conflicts in text buffer operations by adding appropriate # type: ignore comments
  • 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/sh is 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

13 Oct 12:15
Immutable release. Only release title and notes can be modified.
231c165

Choose a tag to compare

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

10 Oct 22:14
Immutable release. Only release title and notes can be modified.
0fc7adf

Choose a tag to compare

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.sh

Upgrade from v1.0.x

cd pyline
git pull
./install.sh -u  # Uninstall old version first
./install.sh     # Install new version

Hook Installation (Optional)

./install-all.sh  # Install all enhanced functionality hooks

Bug 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.md with 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

08 Oct 10:36
Immutable release. Only release title and notes can be modified.
e55ded7

Choose a tag to compare

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 None returns from configuration methods

Bug Fixes

  • Fixed incompatible type assignments between Optional[str] and str return 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: Enhanced get_path() method with proper default handling
  • execmode.py: Streamlined user interactions and improved path management
  • main.py: Improved resource path detection for manual execution
  • dirops.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

07 Oct 16:12
Immutable release. Only release title and notes can be modified.
7f34f3c

Choose a tag to compare

  • fix of paths mechanism
  • install script refactor
  • documentation improvements

v1.0.2

06 Oct 12:22
Immutable release. Only release title and notes can be modified.
032b82d

Choose a tag to compare

Small bug-fixes and docs formats.

v1.0

05 Oct 19:21
Immutable release. Only release title and notes can be modified.
a211d68

Choose a tag to compare

🎉 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

06 Sep 13:06
Immutable release. Only release title and notes can be modified.
3273505

Choose a tag to compare

Major features:

  • Config managment and config.ini in JSON
  • Theme manager: full managment of color themes (for now partial theming)

v0.9.7

02 Sep 19:08
41aa54f

Choose a tag to compare

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

23 Aug 21:12
58649d6

Choose a tag to compare

Major changes:

  • new hook manager
  • added support for custom hooks
  • smart tab hook now in box