Releases: markbeep/vvzapi
Releases · markbeep/vvzapi
v1.12.2
1.12.2 (2026-05-28)
Features
- scraper: add version to user-agent header (d77992b)
Bug Fixes
- api: fix connection timeouts throwing errors (e01ce2b)
- api: fix wrong status code of dump endpoint (b7b01ba)
- search: fix non-ascii characters being ignored as search values. Closes #65 (373def4)
Miscellaneous Chores
- add migration step when starting up server locally with just (f01647e)
Code Refactoring
- search: remove legacy request header for fixi.js backwards compatibility (5128f87)
- search: remove query referral from unit pages url to improve caching (2666498)
Continuous Integration
- add jinjax testing and use mise for Github action testing (259635f)
v1.12.1
1.12.1 (2026-05-07)
Bug Fixes
- api: fix department parameters being incorrectly handled as strings instead of ints (21ee024), closes #62
- api: fix various incorrectly unhandled database errors, including no max integer size check or joining tables incorrectly (05460da)
- api: improve OpenAPI spec compliance with 'null' support for optional arguments and correctly documented response codes (05460da)
- fix timeslots being set and returned as "null" instead of empty list (15ae457)
- search: replace single-quoted strings with backticks (cc7f851)
Dependencies
- update python dependencies (97face6)
Continuous Integration
- add schemathesis for openapi specs (fuzzy) testing (25cd9ea)
v1.12.0
1.12.0 (2026-04-01)
⚠ BREAKING CHANGES
- remove unit changes endpoint/table (#61)
Features
- search: add flag button to report incorrect pages (086a617)
- search: add haptics for page buttons (4c73eb3)
Bug Fixes
- scraper: filter out unused german unit pages for (8079a33)
Miscellaneous Chores
Code Refactoring
- search: simplify static endpoint for path traversal prevention (8973411)
v1.11.0
1.11.0 (2026-02-27)
Features
- scraper: add "Last updated" indicator on unit page (d09b996)
- scraper: add logic for handling flagged (outdated) pages to force targeted refreshes of scraped and cached pages (d09b996)
- search: add llms.txt to help llms search for courses (8344c83)
Bug Fixes
- search: fix 'cannonical' typo to 'canonical' (ff7cf35)
- search: retain query when directly being redirected to a single unit after searching (2e16bd4)
Miscellaneous Chores
- scraper: deprecate unit changes and stop tracking changes in preparation for removing it completely (d09b996)
Code Refactoring
- scraper: refactor rescrape functionality to properly refresh a few (unit) details every now and then (d09b996)
- scraper: use sqlite for html cache instead of default scrapy file-based httpcache (d09b996)
Continuous Integration
v1.10.3
v1.10.2
1.10.2 (2026-02-21)
Bug Fixes
- search: fix search query not transferring over when visiting a unit (a568734)
Performance Improvements
- search: add fixi.js for lightweight DOM replacement when changing pages (b960a1d)
- search: aggressively preload next page and search queries (b960a1d)
- search: improve search query performance by splitting it into two concurrent queries (aaa40e0)
Miscellaneous Chores
v1.10.1
1.10.1 (2026-02-20)
Features
- api: add OpenTelemetry for more detailed traces (ab5d27e)
Bug Fixes
Performance Improvements
- api: replace database acceses with async connections (99d59bc)
- search: add async db access, resulting in over 4x req/s under heavy load (05eeee4)
- search: add db indices to improve performance on title/credits queries (9d404d6)
- search: add materialized tables for section paths and departments (05eeee4)
Miscellaneous Chores
- search: simplify plausible condition for analytics (c39b422)
Tests
- search: benchmark search queries with k6s (2535276)
v1.10.0
1.10.0 (2026-02-11)
Features
- scraper: scrape course review ratings (16a66bf)
- search: add coursereview operator to query by average rating (5151c8e)
- search: allow querying by lecturer by clicking on name on unit page (1ea359b)
Bug Fixes
- search: escape title/description in header (926800a)
Documentation
Miscellaneous Chores
v1.9.0
1.9.0 (2026-02-07)
Features
- search: add compact mode for viewing search results (b87c342)
- search: prefetch script on mousedown for anchor tags (a2112d5)
Bug Fixes
- scraper: allow for lecturers to not have a title (119fbba)
- search: allow searches to be scraped according to robots.txt (619df0d)
- search: fix tabbing index to skip stacked results in search page (29d1bc2)
Miscellaneous Chores
- search: adjust the title/description metadata tags to more updated keywords (915c510)
- search: make AND/OR operators lower-case in query information (29d1bc2)
- search: update favicon to blue lines (a4d4533)
Code Refactoring
- search: switch to jinjax for templating and fix a few typing (38395ff)
Continuous Integration
- fix missing ruff formatter (20194d3)
v1.8.0
1.8.0 (2026-02-05)
Features
- scraper: add lecturer title and department (30b591b)
- search: add animated search placeholders on root page (a765f14)
Bug Fixes
- fix ints being read out as strings from json array (ddfcacb)
- search: add cannonical link to unit pages leading to newest page (9491f1a)
Performance Improvements
- search: improve page load metrics (e5f1db7)
Miscellaneous Chores
- add example commands for how to solely scrape lecturers (1b6242a)
- install arm tools in devcontainer (30b591b)
Continuous Integration
- enable type/tests to run on pull requests (99fde66)