Releases
v0.7.0
Compare
Sorry, something went wrong.
No results found
Xevion
released this
25 Feb 22:48
0.7.0 (2026-02-25)
Features
Accent-insensitive search via PostgreSQL unaccent extension (e6fb3e1 )
Add BlueBook course evaluation scraper and database schema (bd2c3c3 )
Add incremental BlueBook scraping with per-subject intervals (17d205c )
Add pending status, nickname matching, and review-course scoring to RMP matching (7ccfb06 )
Add public instructor directory and profile pages (eb8c6cb )
Add RMP review scraping with per-professor scheduling (5e18ecf )
Add ScoreBar component with layerchart visualization and Storybook decorators (c32970b )
Add search autocomplete with server-side trigram suggestions (616974f )
Add section count to instructor suggestions and fix audit sort order (2edfe45 )
admin: Add BlueBook instructor linking admin UI and API (4e1af55 )
admin: Add term column to scraper jobs and audit tables (9964218 )
backend: Add app_kv store to persist scheduler and bot state across restarts (69090d0 )
backend: Add Cache-Control headers to reference and search-options routes (80f5856 )
backend: Spawn background reference cache refresh every 30 minutes (a183776 )
Bayesian instructor scoring combining RMP and BlueBook data (c47bb8c )
bot: Add subject and term autocomplete to search command (feb0142 )
debug: Add dev auth bypass for local testing (fdea62c )
Enrich RMP matching with review metadata and unified subject scoring (ddcfcd6 )
Extract SortSelect component with direction toggle (d85206c )
frontend: Add server-side API proxy and fix SSR compatibility (f562eba )
frontend: Compress campus filter groups into compact availability URL param (a2e9eb6 )
frontend: Redesign health and admin status pages (843eacc )
Handle overenrolled sections in seat availability display (5f699cf )
infra: Add database backup script with R2 upload and Docker support (26b3349 )
Integrate BlueBook scraper into scheduler with admin trigger endpoint (9173aa7 )
log: Enhance tracing formatter with syntax highlighting and smart field grouping (8d58f8a )
Replace LATERAL RMP subqueries with materialized view (730e75b )
scraper: Per-term adaptive scheduling with archived term tiers (1491370 )
scripts: Harden db reset with dynamic prompt (b793d82 )
Slug-based instructor filtering with autocomplete (07aa9e5 )
Store instructors without email addresses (d23d554 )
stream: Add ScraperStats, ScraperTimeseries, and ScraperSubjects stream kinds (f32b727 )
Support numeric ID and email-prefix lookup for instructor endpoints (00649fa )
Surface BlueBook ratings and composite scores across instructor views (57185a8 )
Surface instructor subjects, years, and email in bluebook link review (6913126 )
Switch frontend from SPA (adapter-static) to SSR with Bun (bc5e60c )
terms: Add multi-term scraping support with database table and admin API (f5d13b0 )
web: Replace TraceLayer with ULID-based request ID middleware (8d2a1cd )
Bug Fixes
backend: Change valid year range to start in 2001 (e081ace )
backend: Make hours_week nullable to handle null API responses (ae035ec )
backend: Make instructional_method option to support older semesters (7d97cc9 )
backend: Make wait_capacity, wait_count, and meeting_type nullable for older courses (5445ba8 )
bluebook: Tolerate mismatched subject prefixes and non-breaking spaces in course parsing (22e85c1 )
ci: Update bytes dependency for security audit fix, add security audits to check script (049938a )
deps: Force ajv update to satisfy security vulnerability (4626df1 )
deps: Update time to 0.3.47 for RUSTSEC-2026-0009 (1321d1e )
frontend: Card slide animation null height issues (e78a46c )
frontend: Include title in teaching history each-block key to prevent duplicates (f2afa8a )
frontend: Use pointer cursor on instructor link only, ignore link clicks for row expansions (4679320 )
frontend: Use proper theme variables for styling scrollbar handle (516f567 )
Improve search autocomplete popover trigger and z-index handling (bb5aa3d )
infra: Copy .sqlx cache and set SQLX_OFFLINE in Dockerfile (4014e64 )
infra: Install mold, add nextest, timeouts, and bun ci to CI (9b33205 )
scripts: Guard against re-entrant cleanup and handle SIGINT exit cleanly (7cd4650 )
Widen credit hour columns from INTEGER to DOUBLE PRECISION (3b5184c )
Performance Improvements
backend: Stream schedule cache loading with SQL-side meeting extraction (0ec9eb7 )
db: Drop redundant/unused indexes, add scrape job index (6663a99 )
scripts: Speed up check script by limiting run build & test scope to lib tests (83e25e5 )
Code Refactoring
admin: Extract shared UI components and composables from admin pages (c36d7d0 )
backend: Extract SearchOptionsCache with typed storage and singleflight (80abd1d )
backend: Migrate audit old_value/new_value from TEXT to JSONB (7c8ab19 )
Clean up test helpers, switch reqwest to rustls, use mold linker (5947633 )
Consistent createContext, page titles, error page, test colocation (0be4293 )
db: Restructure database layer with context and event emission (5551dc3 )
Extract reusable score display components from inline rating logic (0c1134f )
Extract RMP data layer, add frontend composables and UI components (30c5372 )
frontend: Extract filter logic into registry-driven pure functions (aad0858 )
frontend: Hoist searchOptionsCache to module scope (001dc0b )
frontend: Move search fetching into SvelteKit load function (f40e648 )
middleware: Consolidate rate limiting into unified module (a69ba89 )
Normalize RMP data with sanitized nullable ratings (69ec375 )
query: Replace Duration with NaiveTime for course search time parameters (6252777 )
Remove banner comments across codebase (6813473 )
Reorganize module structure, reduce top-level modules (77e23b6 )
Replace boolean confidence flags with continuous confidence score (97dc185 )
scraper: Improve parse error handling and log formatting (39c0ad6 )
scripts: Extract shared targets, commands, and preflight into reusable modules (ecca783 )
Simplify LazyRichTooltip to use native tooltip open state (025c2c4 )
tracing: Improve log messages across codebase, standardize duration formatting (0f230e6 )
Unify instructor rating type names and add Brief/Full source variants (80912b1 )
web: Consolidate admin pages into tabbed scraper interface (6fb7d79 )
Miscellaneous
Normalize codebase symbols (4b80c42 )
Reformat files (968f6f4 )
Remove section banner comments and dividers (5a7bf21 )
scripts: Add vite build to frontend check script (ce10373 )
You can’t perform that action at this time.