Release 5.5.4

Bump package version in setup.py to 5.5.4.

CHANGELOG: document 5.5.4 (full-database restore hardening and backup/restore documentation).

docs/BUILD_CONFIGURATION.md: refresh version-code example and setup.py snippet to 5.5.4 (50504).
This commit is contained in:
Dries Peeters
2026-05-11 07:27:13 +02:00
parent 1ddea89d40
commit 1dff4e7b05
3 changed files with 13 additions and 4 deletions
+10
View File
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [5.5.4] - 2026-05-11
### Fixed
- **Full database restore** — Admin restore cleanup no longer uses `current_app` from a background thread outside Flask application context. While `restore_backup` runs (archive extract through Alembic upgrade), the app sets `_database_restore_in_progress`; the client portal global context processor skips non-essential database reads during that window and rolls back the session on `SQLAlchemyError` so login and error pages can render when PostgreSQL schema is briefly torn during `pg_restore --clean`.
### Documentation
- **Backup and restore** — Added [docs/admin/BACKUP_AND_RESTORE.md](docs/admin/BACKUP_AND_RESTORE.md) and cross-links from the admin index, [DATABASE_RECOVERY.md](DATABASE_RECOVERY.md), and import/export guides for operational behaviour during restore.
## [5.5.3] - 2026-05-06
### Fixed
+2 -2
View File
@@ -31,7 +31,7 @@ All build scripts automatically sync the version before building.
**Version Code Calculation:**
- Android version code is calculated as: `major * 10000 + minor * 100 + patch`
- Example: Version `5.5.2` → version code `50502`
- Example: Version `5.5.4` → version code `50504`
**Build Scripts:**
- `scripts/build-mobile.bat` (Windows)
@@ -184,7 +184,7 @@ To update the version for all applications:
```python
setup(
name='timetracker',
version='5.5.2', # Update here
version='5.5.4', # Update here
...
)
```
+1 -2
View File
@@ -7,7 +7,7 @@ from setuptools import setup, find_packages
setup(
name='timetracker',
version='5.5.3',
version='5.5.4',
packages=find_packages(),
include_package_data=True,
package_data={
@@ -22,4 +22,3 @@ setup(
],
python_requires='>=3.11',
)