Releases: alirzaev/vyatsu-schedule-backend
Release v3.0.1-a2.3.0
Changelog:
- Fix MongoDB setting up procedure
Release v3.0.0-a2.3.0
Changelog:
-
Introduce new versioning schema:
vX.X.X-aY.Y.Y
. The first part of version (vX.X.X
) is API server's version and the second part of version (aY.Y.Y
) is API's version -
Update dependencies
-
Restructure tests
-
Switch to
loguru
logging library. Log into MongoDB response status code -
Improve application configuration
-
Add configs for development, testing and production environments
-
Require
FLASK_ENV
to be defined
-
-
Implement Flask CLI command
prefetch
. Direct execution ofutils.prefetch
module was dropped -
Prefetching runs before first request
-
Update cache policy. Set
Expires
header's value to the end of the current day (GMT+03) for the date-sensitive API endpointsAffected endpoints:
-
/api/v1/groups/list
-
/api/v1/groups/by_faculty
-
/api/v1/schedule
-
/api/v2/groups/list
-
/api/v2/groups/by_faculty
-
/api/v2/departments/list
-
/api/v2/departments/by_faculty
-
/api/v2/season/current
-
/api/v2/schedule
-
/api/v2/department
-
Release v2.3.0
Changelog:
-
Implement API for departments' schedules
-
Add endpoints for checking the state of the server
-
Update shorthands of the faculties
-
MongoDB database is optioanal. If you do not provide MONGODB_URI logs will be written only to console
-
Update documentation
Release v2.2.1
Changelog:
- Log useragent into MongoDB for each API request
Release v2.2.0
Changelog:
-
Fix performance issues
Due to enormous size of html page (up to 8 MiB!) with groups and date ranges information prefetch strategy was enabled.
New prefetch strategy is like in v2.0.6 but uses Redis for caching instead of MongoDB because of speed. But in comparison with v2.0.6 you must not to manually run prefetch script before server startup. Also cache update performs atomically with Redis command MSET.
Group schedules are still cached by functools.lru_cache.
Release v2.1.0
Changelog:
-
Switch to stateless model
Server does not require to predefine groups information in database. It will download them directly from VyatSU site on the first request and store them in cache later.
-
Use LRU cache from functools module instead of custom MongoDB cache
-
Remove deprecated API endpoints (starts with
/vyatsu
-
Improve browser's cache policy
-
Use pdf2json API v2 for converting PDFs to JSON
-
Improve logging to MongoDB: only requests to API endpoints are logged in