Skip to content

Changelog

BottyIvan edited this page Jun 15, 2026 · 2 revisions

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.

[Unreleased]

Planned Features

  • 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

[0.0.1] - 2024-11-02

Added

Core Features

  • 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

Services

  • 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)

Extensions

  • 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)

User Interface

  • 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

Development Features

  • 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

Database

  • SQLite database for persistent storage
  • User preferences table
  • Extension state tracking
  • Application cache (optional)
  • Type-safe database wrapper with proper error handling

Helper Utilities

  • Parser: Input type detection and parsing
  • ThreadManager: Background thread execution
  • DynamicLoader: Runtime class loading with caching
  • AppInit: Application initialization utilities

Fixed

  • N/A (initial release)

Changed

  • N/A (initial release)

Deprecated

  • N/A (initial release)

Removed

  • N/A (initial release)

Security

  • 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

Version History

Version Numbering

Launcher follows Semantic Versioning:

  • MAJOR version: Incompatible API changes
  • MINOR version: New functionality (backward compatible)
  • PATCH version: Bug fixes (backward compatible)

Release Schedule

  • Development: Active development on main branch
  • Alpha: Feature testing (breaking changes possible)
  • Beta: Stabilization phase (minimal breaking changes)
  • Stable: Production-ready releases

Support Policy

  • Current version: Full support with bug fixes and features
  • Previous version: Security fixes only
  • Older versions: No support (please upgrade)

Upgrade Guide

From 0.0.1 to Future Versions

When upgrading:

  1. Backup your data:

    cp -r ~/.local/share/cloud.ivanbotty.Launcher ~/launcher-backup
  2. Check breaking changes: Review changelog for breaking changes

  3. 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
  4. Verify configuration: Check preferences after upgrade

  5. Report issues: If problems occur, report on GitHub

Contributing

Found a bug or want to suggest a feature? See Contributing Guide.

Links

Acknowledgments

Core Technologies

  • GTK4 and Adwaita for beautiful UI
  • PyGObject for Python bindings
  • SQLite for data persistence
  • Flatpak for distribution

Contributors

  • Ivan Bottigelli (@BottyIvan) - Project creator and maintainer

Thank you to all contributors and users! 🎉


Legend

  • Added - New features
  • Changed - Changes to existing functionality
  • Deprecated - Soon-to-be removed features
  • Removed - Removed features
  • Fixed - Bug fixes
  • Security - Security improvements

Future Roadmap

v0.1.0 (Next Release)

  • Complete command service implementation
  • Full AI assistant with Gemini API
  • File search functionality
  • Link management system
  • Performance optimizations
  • Bug fixes from initial release

v0.2.0

  • Plugin system for third-party extensions
  • Web search integration
  • Calculator history
  • Enhanced keyboard shortcuts
  • Improved preferences UI

v0.3.0

  • Clipboard manager integration
  • Window switcher
  • Multi-monitor improvements
  • Localization support (i18n)
  • Additional themes

v1.0.0 (Stable)

  • Feature complete and stable
  • Comprehensive documentation
  • Full test coverage
  • Performance optimized
  • Production ready

See Features for more details on upcoming features.

Clone this wiki locally