Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased¶
0.4.0 - TBD¶
This is a major architectural release that restructures Hop3 into a modern client-server architecture with extensive new features.
Added¶
- Client-Server Architecture: New
hop3-cliclient communicates withhop3-servervia JSON-RPC over SSH or HTTP/HTTPS - JWT Authentication: Secure user authentication with JWT tokens, bcrypt password hashing, and role-based access control
- Configuration System: Support for both Procfile (convention) and hop3.toml (configuration) with precedence rules
- Service Framework: Plugin-based service/addon system with PostgreSQL implementation for managed databases
- Service Credential Persistence: ⚠️ BREAKING CHANGE - Service credentials now encrypted and persisted to database using Fernet AEAD encryption with PBKDF2-HMAC-SHA256 key derivation. Requires
HOP3_SECRET_KEYenvironment variable for production deployments. Credentials survive server restarts and are properly managed through the entire service lifecycle (attach, detach, destroy) - Git Push Deployment: Support for
git pushdeployment method using git hooks - OS Plugin System: Pluggable OS abstraction layer with family-based plugins supporting all Debian-based (Debian, Ubuntu, derivatives) and Red Hat-based (RHEL, Rocky, Alma, Fedora, CentOS) distributions, plus Arch, BSD, and macOS
- Web UI Scaffolding: Initial structure for future web-based management interface
- Backup System: Basic application backup mechanism (WIP)
- SBOM Generation: Automatic Software Bill of Materials generation for supply chain security
- Environment Variable Management:
config:setandconfig:unsetcommands for managing per-app configuration - HOP3_UNSAFE Mode: Test-only configuration option to bypass authentication in Docker test environments (never use in production)
Changed¶
- Monorepo Structure: Reorganized into workspace with
hop3-cli,hop3-server,hop3-testing, andhop3-agentpackages - Dependency Management: Migrated from Poetry to
uvwith workspace support - Configuration Handling: Moved from hardcoded constants to flexible class-based configuration system
- Path Handling: Modernized to use
pathlib.Pathobjects throughout - Command Execution: Updated to use
subprocess.runinstead of legacy methods - License: Changed to Apache 2.0
- Proxy Architecture: Refactored Nginx, Caddy, and Traefik implementations to use abstract
BaseProxyclass, eliminating ~240 lines of code duplication. StandardizedHOST_NAMEenvironment variable across all proxy plugins (replacedNGINX_HOST_NAME,CADDY_SERVER_NAME,TRAEFIK_SERVER_NAME)
Removed¶
- Legacy CLI: Removed old monolithic CLI implementation in favor of client-server architecture
Fixed¶
- Security: Fixed authentication bypass vulnerability in middleware
- Nginx: Fixed multiple nginx configuration issues including auto-reload, multi-app routing, and SSL certificate handling
- E2E Tests: Fixed socket permissions, SSH tunneling, and DNS resolution in end-to-end tests
- Build System: Fixed build strategy detection for Python applications
- Installation: Fixed missing python3-venv dependency and improved error messages
Security¶
- Authentication Middleware: Fixed critical bug allowing bypass of authentication on non-public endpoints
- Archive Security: Enhanced deployment archive extraction with multiple security layers
0.3.0 - 2025-03-24¶
Added¶
- First stable version for deploying simple web applications (Python WSGI and static sites)
- Core internal API for managing application lifecycles
Fixed¶
- Stabilized installation script for production-like environments
- Numerous deployment reliability improvements
0.2.2 - 2024-07-15¶
Added¶
- Initial development of web application and ORM model (WIP)
- Preliminary security features for web app
Fixed¶
- Installer and static site deployment bugs
- Typing issues and broken web deployment mechanism
Changed¶
- Refined uWSGI manager and actor framework
0.2.1 - 2024-07-04¶
Added¶
- Initial actor-based framework
Changed¶
- Improved certificate manager and proxy setup
- Major documentation updates including README, architecture, and core values
0.2.0 - 2024-06-28¶
Changed¶
- Modernized Nginx setup with class-based implementation
- Major testing suite improvements
0.1.5 - 2024-06-27¶
Added¶
- First version of CHANGES.md
Fixed¶
- Temporarily disabled Nginx configuration checks
0.1.4 - 2024-06-27¶
Fixed¶
- Static site deployment errors
Changed¶
- Extensive README, metadata, and roadmap updates
- Added REUSE compliance logo
0.1.3 - 2024-06-07¶
Changed¶
- Updated project dependencies
0.1.2 - 2024-04-19¶
Changed¶
- Major code cleanup using
ruff - Modernized path handling with
pathlib - Improved docstrings throughout codebase
0.1.1 - 2024-04-18¶
Added¶
- Application sorting capability
Fixed¶
- Recent regression fix
0.1.0 - 2024-04-11¶
Initial release establishing Hop3's core architecture.
Added¶
- Initial application builders and addon support
- SQL-based model with SQLAlchemy and PostgreSQL support
- First end-to-end test runner
- Initial README, roadmap, and compliance documentation
Changed¶
- Established core class-based architecture
- Major refactoring for better structure and typing