Skip to content

Releases: markbeep/vvzapi

v1.12.2

28 May 15:00
577eebd

Choose a tag to compare

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

07 May 11:41
753f809

Choose a tag to compare

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

01 Apr 08:43
06140af

Choose a tag to compare

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

  • remove unit changes endpoint/table (#61) (280b071)
  • update gitignore with local mise file (d4e487c)

Code Refactoring

  • search: simplify static endpoint for path traversal prevention (8973411)

v1.11.0

27 Feb 22:55
48e13ad

Choose a tag to compare

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

  • remove deprecated set-output from build action (e649347)
  • update dockerfiles to correctly execute alembic migrations (956f929)

v1.10.3

25 Feb 08:59
f7a8a4e

Choose a tag to compare

1.10.3 (2026-02-23)

Bug Fixes

  • search: fix browser history not working with fixi (af91496)
  • search: fix html not being correctly escaped for query on results (c48f033)

Miscellaneous Chores

  • search: add contact email and notice about not being affiliated with eth (d3660ea)

v1.10.2

21 Feb 21:11
1021655

Choose a tag to compare

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

  • api: add influxdb support for more detailed analytics (99417b9)
  • api: prometheus endpoint for gathering metrics (2b0543d)

v1.10.1

20 Feb 17:07

Choose a tag to compare

1.10.1 (2026-02-20)

Features

  • api: add OpenTelemetry for more detailed traces (ab5d27e)

Bug Fixes

  • api: remove static path from api docs (9bd84f2)
  • search: allow for utf8 letters in queries (de17fb3)

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

11 Feb 23:12
510d557

Choose a tag to compare

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

  • add terms of use for clarity (2f870f5)
  • added readme banner (e3b9aab)

Miscellaneous Chores

  • add k6 for benchmarking the website (aa4bafd)
  • search: update index page description (75e093b)

v1.9.0

07 Feb 12:27
d99fbe0

Choose a tag to compare

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

05 Feb 10:57
3ad6aed

Choose a tag to compare

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)