-
Notifications
You must be signed in to change notification settings - Fork 0
Changelog
All notable changes to Launcher will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Full command service implementation
- Complete AI integration with Gemini
- File manager extension
- Link management extension
- Plugin system for third-party extensions
- Web search integration
- Clipboard manager integration
- Window switcher functionality
- Modern GTK4/Adwaita user interface
- Flatpak support for sandboxed distribution
- Instant application search with fuzzy matching
- Dual view modes: compact grid and extended list
- SVG icon rendering with proper scaling
- Persistent user preferences with SQLite
- Comprehensive type annotations throughout codebase
- Professional test suite with unit and performance tests
-
ApplicationsService: Application discovery and search
- Desktop file scanning from multiple locations
- Intelligent search with case-insensitive matching
- Icon resolution with theme support
- Application launching with Gio.AppInfo
- Database caching for improved performance
-
ExtensionService: Extension management system
- YAML-based extension definitions
- Dynamic extension loading and unloading
- Enable/disable extensions at runtime
- Extension search and listing
- Custom service registration
-
MathService: Built-in calculator
- Safe mathematical expression evaluation
- Support for basic arithmetic operators
- Common mathematical functions (sqrt, sin, cos, tan, log, abs)
- Constants (pi, e)
- Error handling and validation
-
CommandService: Command execution framework (in development)
-
AIService: AI assistant integration (in development)
- Application search extension (enabled by default)
- Math calculator extension (enabled by default)
- Command runner extension (in development)
- AI assistant extension (in development)
- File manager extension (planned)
- Link management extension (planned)
-
MainWindow: Primary application window
- Responsive layout
- Keyboard-first design
- Window state persistence
- Dark mode support
-
SearchEntry: Search input widget
- Real-time search as you type
- Instant results display
- Keyboard navigation support
-
ApplicationRow: Result display widget
- Icon and text layout
- Click and keyboard activation
- Hover effects
-
Preferences: Settings dialog
- General settings configuration
- Extension management
- Keyboard shortcut customization
-
Wizard: Welcome wizard for first-time setup
-
Comprehensive documentation
- Installation guide
- Usage guide
- Architecture documentation
- API reference
- Contributing guidelines
- FAQ and troubleshooting
-
Code Quality Tools
- Black formatting (line length: 100)
- Flake8 linting configuration
- Type checking support
- Unit test framework
-
Build System
- Meson build configuration
- Flatpak manifest for distribution
- PyProject.toml for Python packaging
- SQLite database for persistent storage
- User preferences table
- Extension state tracking
- Application cache (optional)
- Type-safe database wrapper with proper error handling
- Parser: Input type detection and parsing
- ThreadManager: Background thread execution
- DynamicLoader: Runtime class loading with caching
- AppInit: Application initialization utilities
- N/A (initial release)
- N/A (initial release)
- N/A (initial release)
- N/A (initial release)
- Safe mathematical expression evaluation without eval()
- Parameterized SQL queries to prevent injection
- Flatpak sandboxing for controlled environment
- Limited filesystem and network access
- Input validation throughout
Launcher follows Semantic Versioning:
- MAJOR version: Incompatible API changes
- MINOR version: New functionality (backward compatible)
- PATCH version: Bug fixes (backward compatible)
- Development: Active development on main branch
- Alpha: Feature testing (breaking changes possible)
- Beta: Stabilization phase (minimal breaking changes)
- Stable: Production-ready releases
- Current version: Full support with bug fixes and features
- Previous version: Security fixes only
- Older versions: No support (please upgrade)
When upgrading:
-
Backup your data:
cp -r ~/.local/share/cloud.ivanbotty.Launcher ~/launcher-backup
-
Check breaking changes: Review changelog for breaking changes
-
Update installation:
# For Flatpak cd launcher-app git pull flatpak-builder --user --install --force-clean build-dir cloud.ivanbotty.Launcher.yaml # For source git pull python3 -m cloud.ivanbotty.Launcher
-
Verify configuration: Check preferences after upgrade
-
Report issues: If problems occur, report on GitHub
Found a bug or want to suggest a feature? See Contributing Guide.
- Repository: https://github.com/BottyIvan/launcher-app
- Issues: https://github.com/BottyIvan/launcher-app/issues
- Releases: https://github.com/BottyIvan/launcher-app/releases
- GTK4 and Adwaita for beautiful UI
- PyGObject for Python bindings
- SQLite for data persistence
- Flatpak for distribution
- Ivan Bottigelli (@BottyIvan) - Project creator and maintainer
Thank you to all contributors and users! 🎉
-
Added- New features -
Changed- Changes to existing functionality -
Deprecated- Soon-to-be removed features -
Removed- Removed features -
Fixed- Bug fixes -
Security- Security improvements
- Complete command service implementation
- Full AI assistant with Gemini API
- File search functionality
- Link management system
- Performance optimizations
- Bug fixes from initial release
- Plugin system for third-party extensions
- Web search integration
- Calculator history
- Enhanced keyboard shortcuts
- Improved preferences UI
- Clipboard manager integration
- Window switcher
- Multi-monitor improvements
- Localization support (i18n)
- Additional themes
- Feature complete and stable
- Comprehensive documentation
- Full test coverage
- Performance optimized
- Production ready
See Features for more details on upcoming features.