# Changelog

All notable changes to this project will be documented in this file.

## [0.3.4] - 2026-01-24

### Added
- **Integration Tests**: Created comprehensive pytest integration tests (test_integration_bootstrap.py)
  - Tests bootstrap functionality with real Open WebUI databases
  - Tests dry-run mode to verify no changes are made
  - Tests database reset functionality
  - Parametrizable database testing for multiple Open WebUI versions
- **Database Versioning**: Renamed reference database from webui.db to webui-0.7.2.db
- **Enhanced verify-bootstrap.sh**: Updated script to use relative paths and new database filename

### Changed
- Updated verify-bootstrap.sh to use relative paths with `$(dirname "$0")`
- Improved test infrastructure for better CI/CD integration
- Enhanced database compatibility with Open WebUI 0.7.2

### Fixed
- Database schema compatibility issues
- Path handling in verify-bootstrap.sh script
- Test isolation and resource cleanup

## [0.3.3] - 2026-01-24

### Added
- Support for multiple connections in configuration (list of ConnectionConfig)
- Backward compatibility for single connection configuration

### Changed
- Updated OpenWebUIConfig model to accept both single and list connection formats
- Fixed configuration validation to support flexible connection configurations

### Fixed
- Configuration validation errors for connections field
- Context size field validation (now accepts string format)
- Capabilities and default_capabilities field validation (now accepts comma-separated strings)
- Image generation workflow field validation

## [0.3.3] - 2026-01-24

### Added
- Initial RBAC implementation with PermissionService class
- Comprehensive permission system with roles (admin, user, pending)
- Permission merging and inheritance logic
- Database support for user and group permissions
- Unit tests for RBAC functionality
- Comprehensive SQLite database test suite (test_sqlite_comprehensive.py)
- Database integration tests (test_config_database_integration.py)
- Database base coverage tests (test_database_base_coverage.py)

### Changed
- Enhanced UserEntity model to support permissions
- Updated database schema to include permissions fields
- Improved configuration system for group-based permissions
- Fixed configuration validation for connections field to accept list of ConnectionConfig
- Updated test coverage summary documentation

### Fixed
- Various bugs in permission resolution logic
- Database operation issues with permission persistence
- Configuration validation errors for connections field
- Context size field validation (now accepts string format)
- Capabilities and default_capabilities field validation (now accepts comma-separated strings)
- Image generation workflow field validation

## [0.3.2] - 2026-01-23

### Added
- Support for multiple connections in configuration (list of ConnectionConfig)
- Backward compatibility for single connection configuration

### Changed
- Updated OpenWebUIConfig model to accept both single and list connection formats
- Fixed configuration validation to support flexible connection configurations

### Fixed
- Configuration validation errors for connections field
- Context size field validation (now accepts string format)
- Capabilities and default_capabilities field validation (now accepts comma-separated strings)
- Image generation workflow field validation

## [0.2.1] - 2026-01-22

### Added
- **Public API for Library Usage**: Added comprehensive public interface for using the package as a Python library
  - `bootstrap_openwebui()`: Complete bootstrap operation with all CLI functionality
  - `load_config()`: Load and validate configuration from YAML files
  - `apply_config()`: Apply configuration to database
  - `reset_database()`: Reset database by clearing managed tables
- **Enhanced Documentation**: Added extensive library usage documentation to README.md
  - Multiple usage examples showing different scenarios
  - Complete public API reference with function signatures
  - Design philosophy and best practices

### Changed
- Updated package version in both `pyproject.toml` and `__init__.py` to 0.2.1
- Enhanced `__all__` exports to include new public API functions

### Fixed
- Ensured all public API functions have proper type hints and docstrings
- Verified error handling and exception propagation in public API

## [0.2.0] - 2026-01-22

### Added
- Enhanced UserEntity model with additional fields for better compatibility with official open-webui schema:
  - `profile_banner_image_url`: User's profile banner image URL
  - `timezone`: User's timezone information
  - `presence_state`: User's presence/online status
  - `status_emoji`: Status emoji for user
  - `status_message`: Custom status message
  - `status_expires_at`: When status expires
  - `oauth`: Complete OAuth data structure
- Updated database operations to handle new user fields
- Comprehensive database schema comparison documentation
- OAuth specification documentation

### Changed
- Updated database schema to match official open-webui user table structure
- Modified database operations to properly serialize/deserialize OAuth data as JSON
- Updated test database schema to include all new user fields

### Fixed
- Improved compatibility between openwebui-bootstrap and official open-webui database schema
- Ensured backward compatibility with existing databases

## [0.1.0] - 2026-01-21

### Added
- Initial project scaffolding
- Package configuration with pyproject.toml
- MIT license
- Basic documentation structure
