Releases: amakerlife/ZhiXue-Lite-backend
Releases · amakerlife/ZhiXue-Lite-backend
v0.5.0
Breaking Changes
- Zhixue passwords and cookies are now encrypted. A new ENCRYPTION_KEY environment variable is required to start the application.
Migration Guide
- Back up your database before upgrading:
docker compose exec db pg_dump -U zhixuelite zhixuelite > backup.sql- Generate an encryption key and add it to your .env file:
python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"Features
- Implemented encrypted storage for Zhixue passwords and cookies using Fernet symmetric encryption.
- Persisted login method in session cookie for automatic re-login.
- Added email format validation during registration and login.
- Added secure cookie settings (HttpOnly, Secure, SameSite).
Bug Fixes
- Migrated cookie serialization to JSON format with domain info preservation.
Chores
- Bumped gunicorn from 25.0.3 to 25.1.0.
- Bumped Flask from 3.1.2 to 3.1.3.
Full Changelog: v0.4.2...v0.5.0
v0.4.2
v0.4.1
Bug Fixes
- Added minimum and maximum value constraints for pagination parameters.
Chores
- Fixed test cases for exam instance.
Full Changelog: v0.4.0...v0.4.1
v0.4.0
Features
- Added participant counts to score endpoint.
- Added admin ability to change email verification status.
- Replaced in-memory pagination with database-level LIMIT/OFFSET.
Bug Fixes
- Added checks to prevent index out of range in exam data.
- Added class participant counts to score endpoint.
- Used enqueue for logger thread safety.
- Removed deprecated database fields.
- Dropped unnecessary indexes and updated index definitions.
Chores
- Bumped gunicorn from 23.0.0 to 25.0.3
- Bumped pillow from 12.1.0 to 12.1.1
Full Changelog: v0.3.0...v0.4.0
v0.3.0
Features
- Added support for rate limiting.
- Added support for statistics caching.
- Added /statistics endpoint for system statistics.
- Added school_has_teacher field to zhixue_info for better teacher account management.
- Added support for su_info in user data response.
- Added is_calculated field to Score model.
- Automatic use zhixue method login for digital usernames and fixed agreement handling.
- Standardized JSON error responses for all HTTP exceptions.
- Updated log file names and remove retention settings.
Bug Fixes
- Removed exposed ports for DB/Redis in Docker setup.
- Fixed SQLAlchemy connection pool issues and score-retrieval KeyErrors.
- Fixed query conditions for saved exams and school listing permissions.
Chores
- Updated dependencies.
- Updated testing session type to use cachelib.
Full Changelog: https://github.com/amakerlife/ZhiXue-Lite-backend/commits/v0.3.0