Skip to content

Releases: amakerlife/ZhiXue-Lite-backend

v0.5.0

20 Feb 13:21
60179dc

Choose a tag to compare

Breaking Changes

  • Zhixue passwords and cookies are now encrypted. A new ENCRYPTION_KEY environment variable is required to start the application.

Migration Guide

  1. Back up your database before upgrading:
docker compose exec db pg_dump -U zhixuelite zhixuelite > backup.sql
  1. 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

14 Feb 08:34
3d70e44

Choose a tag to compare

Bug Fixees

  • Increased maximum items per page from 10 to 20.

Full Changelog: v0.4.1...v0.4.2

v0.4.1

14 Feb 08:26
a820949

Choose a tag to compare

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

14 Feb 08:25
9da7ec4

Choose a tag to compare

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

25 Jan 07:00
86393ac

Choose a tag to compare

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