- Add configurable pool settings via environment variables:
DB_POOL_SIZE, DB_MAX_OVERFLOW, DB_POOL_TIMEOUT, DB_POOL_RECYCLE,
DB_POOL_PRE_PING (defaults: 5, 10, 30s, 1800s, true)
- Enable pool_pre_ping by default to detect and recycle stale connections
- Add dispose_engines() called during FastAPI lifespan shutdown to
release all connections back to the database
- Skip pool configuration for SQLite (uses file-lock, not connection pools)
- Apply changes to both servers/ and electron/ FastAPI instances
Fixes#453 (stale connections exhausting pool)
Fixes#454 (missing pool configuration)
- Removed the deprecated convert binary file from the project.
- Enhanced the runtime synchronization logic to support dynamic version fetching from GitHub releases.
- Improved platform and architecture detection for the converter candidates.
- Added functions for downloading, extracting, and validating the export runtime.
- Implemented error handling for HTTP requests and file operations.
- Updated the main function to handle existing runtime validation and conditional downloading.
- Added logo.png for branding
- Included star-1.gif and star.gif for visual elements
- Added stary.gif for additional graphics
- Introduced test.png for testing purposes
- Introduced a helper function `_to_sync_database_url` to standardize the conversion of async database URLs to sync URLs in `env.py` and `migrations.py`.
- Added `_ensure_sqlite_parent_dir` function in `db_utils.py` to create the parent directory for SQLite databases if it doesn't exist, ensuring compatibility with Windows paths.
- Updated the `get_database_url_and_connect_args` function to call `_ensure_sqlite_parent_dir` before processing the database URL.
- Simplified the `sync_export_runtime.js` script by removing the build step and directly using committed runtime artifacts, ensuring a smoother export process.
- Updated the success and state mismatch HTML pages in openai_codex.py for a better user experience during authentication, including new styles and auto-reload functionality.
- Modified ChartWithBulletsSlideLayout.tsx to disable animations for various chart components and adjusted the layout for better responsiveness.