Changelog¶
All notable changes to this project will be documented in this file.
[unreleased]¶
Bug Fixes¶
(admin) improve security and dashboard services - (5304a58) - Jacob Coffee
(admin) keep main navbar visible in admin area - (eda3465) - Jacob Coffee
(admin) use safe user access and add Python logo to sidebar - (ab48a02) - Jacob Coffee
(admin) use safe user access in dashboard template - (dc785b8) - Jacob Coffee
(admin) reorder drawer elements for proper sidebar display - (729857c) - Jacob Coffee
(admin) restore drawer sidebar with correct element order - (1f3038a) - Jacob Coffee
(admin) remove breadcrumbs block to prevent duplicate rendering - (d8c138a) - Jacob Coffee
(admin) use inline SVG for search icons - (c1c8ac1) - Jacob Coffee
(admin) resolve admin panel initialization issues - (67e8d7a) - Jacob Coffee
(admin) use DaisyUI input pattern for search field - (5fe4a05) - Jacob Coffee
(admin) exclude admin page controllers from OpenAPI schema - (dc895e7) - Jacob Coffee
(admin) always show HTML tabs in email preview with warning - (1d14e98) - Jacob Coffee
(admin) always show HTML tabs in template detail page - (879710b) - Jacob Coffee
(admin) fix modal layout collision and DIALOG method error - (2a4dcb2) - Jacob Coffee
(admin) improve cache management UI with toast notifications and fixes - (a0213ad) - Jacob Coffee
(admin) ensure toast appears immediately after redirect - (6651c87) - Jacob Coffee
(admin) fix modal close buttons causing HTTP 405 errors - (fe5e4a2) - Jacob Coffee
(admin) implement email logs filter functionality - (13b6dcd) - Jacob Coffee
(admin) default email logs time_range to all - (c26ac32) - Jacob Coffee
(admin) implement email templates status and type filters - (34c5eef) - Jacob Coffee
(admin) fix pages list published filter parameter - (abc9c64) - Jacob Coffee
(admin) export DownloadAnalyticsService from services module - (89d8670) - Jacob Coffee
(admin/blogs) handle empty feed_id query param in entries list - (ddc5b1b) - Jacob Coffee
(admin/blogs) render entry summary HTML with safe filter - (1bf21cd) - Jacob Coffee
(admin/blogs) use feed.entries instead of undefined entries variable - (bb30516) - Jacob Coffee
(admin/blogs) pass entries to feed preview modal context - (7205e4d) - Jacob Coffee
(admin/blogs) inline search button with join class - (e402117) - Jacob Coffee
(admin/email) use correct AuditBase field names in logs detail - (6b143f6) - Jacob Coffee
(admin/email) add duplicate template handler - (dcd9ab2) - Jacob Coffee
(admin/events) fix validation errors and add HTMX partials - (0b70608) - Jacob Coffee
(admin/events) add |safe filter to render HTML in event titles - (4d80aff) - Jacob Coffee
(admin/events) avoid empty query params in pagination URLs - (c53818e) - Jacob Coffee
(admin/jobs) improve preview modal UX - (349b308) - Jacob Coffee
(api) consolidate OpenAPI tags for users and add Nominations tag - (e859ee2) - Jacob Coffee
(api) exclude page render controllers from OpenAPI schema - (b67e0f0) - Jacob Coffee
(api) add missing limit_offset pagination dependency - (2273023) - Jacob Coffee
(auth) handle plugin.config as list in middleware - (2b5c5d3) - Jacob Coffee
(auth) use Request type for route handler DI - (b425997) - Jacob Coffee
(auth) set proper HTTP status codes for auth endpoints - (ddea628) - Jacob Coffee
(auth) keep UUID/datetime as runtime imports for Pydantic - (94195de) - Jacob Coffee
(auth) update auth controller routes for page rendering - (9e347cb) - Jacob Coffee
(auth) use native fetch for login form JSON submission - (0cfbd0e) - Jacob Coffee
(auth) prevent form GET submission and SQLAlchemy greenlet error - (cc76098) - Jacob Coffee
(auth) use native fetch for all auth forms JSON submission - (6fece37) - Jacob Coffee
(auth) add UserPopulationMiddleware to show admin button on all pages - (ae01f3f) - Jacob Coffee
(auth) resolve circular import in guards module - (b98ada1) - Jacob Coffee
(banners) persist sitewide banners across HTMX navigation - (eb6711e) - Jacob Coffee
(blogs) filter featured entries by is_featured flag - (1aa9c7b) - Jacob Coffee
(blogs) add HTMX OOB swap for sidebar feed filter active state - (21bb063) - Jacob Coffee
(blogs) resolve MissingGreenlet error in feed fetch - (56459f5) - Jacob Coffee
(ci) resolve Docker test and Feed schema issues - (539fa32) - Jacob Coffee
(codespell) skip generated directories and add regex false positive - (8e70658) - Jacob Coffee
(config) use IPv4 address for Meilisearch default URL - (6ac961f) - Jacob Coffee
(config) auto-convert postgresql:// to postgresql+asyncpg:// - (00fa302) - Jacob Coffee
(csrf) improve CSRF configuration and add tests - (41cef7d) - Jacob Coffee
(css) rename loading-spinner to avoid DaisyUI circular dependency - (6988847) - Jacob Coffee
(db) configure AlembicAsyncConfig for Litestar CLI database commands - (61ce8a7) - Jacob Coffee
(deploy) add Railway config and fix test connection pool - (91cabed) - Jacob Coffee
(deploy) wrap start command in shell for env var parsing - (dc3096c) - Jacob Coffee
(deploy) increase healthcheck timeout to 120s - (32dbef9) - Jacob Coffee
(docker) add BuildKit syntax and cache mount ids for Railway - (8fdcd61) - Jacob Coffee
(docker) remove cache mounts for Railway compatibility - (07ce5bb) - Jacob Coffee
(docker) ensure venv binaries have execute permissions - (70634da) - Jacob Coffee
(docker) use –chmod=755 on COPY for venv executables - (124e63d) - Jacob Coffee
(docker) resolve Python version mismatch and venv symlink issues - (69ca3f6) - Jacob Coffee
(docs) fix Scalar plugin and change schema path to /api - (c62d213) - Jacob Coffee
(docs) simplify OpenAPI plugin configuration - (4d39dc7) - Jacob Coffee
(docs) simplify OpenAPI plugins to use built-in renders - (d6ccb28) - Jacob Coffee
(docs) make header text white on blue background - (0af03d2) - Jacob Coffee
(docs) add yellow hover state for header elements - (5d15ee5) - Jacob Coffee
(docs) exclude internal directory from Sphinx builds - (e7dd06f) - Jacob Coffee
(docs) resolve Sphinx build warnings - (95a0ec8) - Jacob Coffee
(docs) resolve Sphinx warnings from SQLAdmin and docstrings - (327b533) - Jacob Coffee
(docs) suppress debug logging during sphinx build - (09b2c45) - Jacob Coffee
(events) render event description HTML with safe filter - (04380cd) - Jacob Coffee
(events) correct iCalendar feed URL in calendar template - (8d2ced0) - Jacob Coffee
(events) add hx-boost=false to iCalendar download links - (c0db848) - Jacob Coffee
(events) rewire calendar view with proper data and HTMX support - (4fbbd4b) - Jacob Coffee
(events) improve calendar view HTMX and add week view - (c79929a) - Jacob Coffee
(events) make calendar navigation work with HTMX - (c2e377a) - Jacob Coffee
(events) add eager loading to prevent MissingGreenlet errors - (5eedfbb) - Jacob Coffee
(events) add eager loading to event queries - (0607587) - Jacob Coffee
(events) add calendar, start_date, end_date filter params to controller - (1472827) - Jacob Coffee
(exceptions) improve toast messages and add deduplication - (2073356) - Jacob Coffee
(homepage) display venue name instead of object repr - (2563d69) - Jacob Coffee
(jobs) resolve duplicate content in job filter sidebar - (5720d75) - Jacob Coffee
(jobs) convert Clear All to htmx button for proper partial swap - (60791af) - Jacob Coffee
(jobs/submit) fix modal close button and checkbox array handling - (6cfb545) - Jacob Coffee
(jobs/submit) fix form data mapping to match API schema - (fb82b27) - Jacob Coffee
(jobs/submit) remove conflicting form action and method - (e6324f0) - Jacob Coffee
(js) prevent script re-execution from hx-boost navigation - (985fa5a) - Jacob Coffee
(lint) ignore PLC0415 in tasks for lazy imports - (bd0f9b6) - Jacob Coffee
(lint) disable PLC0415 globally and fix FURB162 - (c221c28) - Jacob Coffee
(logging) remove format_exc_info for dev mode to enable Rich tracebacks - (e31639a) - Jacob Coffee
(logging) explicitly configure processors for Rich console output - (68c8e6e) - Jacob Coffee
(make) remove duplicate Docker targets - (6d5daed) - Jacob Coffee
(navbar) safely access user from request scope - (daa4ffd) - Jacob Coffee
(navbar) improve admin dropdown and fix donate button alignment - (e7f1159) - Jacob Coffee
(navbar) improve dropdown hover behavior and update links - (6eba545) - Jacob Coffee
(pages) prevent double slash in page paths - (c03e66a) - Jacob Coffee
(railway) reduce workers to 1 for debugging - (8cd4444) - Jacob Coffee
(search) cleanup stale index entries and reduce log noise - (f01b0a9) - Jacob Coffee
(search) graceful degradation when Meilisearch unavailable - (2455853) - Jacob Coffee
(search) add eager loading to event indexing tasks - (08c42bc) - Jacob Coffee
(seed) remove unnecessary noqa comments - (aac0195) - Jacob Coffee
(seed) update blog feeds to use official Python sources - (ef1687a) - Jacob Coffee
(sqladmin) add Tailwind CSS, Lucide icons, and Python logo - (7aa5495) - Jacob Coffee
(sqladmin) fix sidebar header layout with Python logo - (5e4ab19) - Jacob Coffee
(sqladmin) use same sidebar as admin pages - (d3c96f6) - Jacob Coffee
(sqladmin) handle category children in template menu iteration - (151baf9) - Jacob Coffee
(tasks) prevent MissingGreenlet error in feed refresh tasks - (e61aea5) - Jacob Coffee
(templates) update admin templates for new controllers - (05ecdca) - Jacob Coffee
(templates) use striptags filter to prevent raw HTML in summaries - (99864f5) - Jacob Coffee
(templates) minor template fixes across admin and auth - (ae5abb7) - Jacob Coffee
(templates) update donate links to point to donate.python.org - (ceda264) - Jacob Coffee
(templates) strip HTML tags from blog summaries on home page - (e69d372) - Jacob Coffee
(templates) correct footer links - (e376b43) - Jacob Coffee
(tests) skip E2E tests when no server is available - (d0a2e43) - Jacob Coffee
(tests) add sync_to_thread=False to feature guard tests - (1089e87) - Jacob Coffee
(tests) prevent connection exhaustion in integration tests - (4a1fb4a) - Jacob Coffee
(timeline) reorder terminus layout and fix logo SVG - (6467722) - Jacob Coffee
(timeline) improve river rendering and add external links - (b6ed387) - Jacob Coffee
(ty) ignore invalid-key and possibly-missing-attribute rules - (6c5afc9) - Jacob Coffee
(ty) ignore invalid-type-arguments for Litestar Request generics - (8e409eb) - Jacob Coffee
(ui) remove duplicate navbar in admin area and fix user access - (4dda986) - Jacob Coffee
(ui) use Lucide icons consistently and improve admin layout - (f09a2f6) - Jacob Coffee
(ui) remove search button from navbar until sitewide search implemented - (aae1b6a) - Jacob Coffee
(worker) align startup banner box drawing - (8d7b953) - Jacob Coffee
(worker) resolve MissingGreenlet in cache warming tasks - (7dc9c71) - Jacob Coffee
(worker) correct EventLocation field references in search indexing - (a0a0a3a) - Jacob Coffee
move datetime/UUID imports outside TYPE_CHECKING for Pydantic - (4195f9d) - Jacob Coffee
use direct return pattern for dependency providers - (8906460) - Jacob Coffee
remove downloads from gitignore - (7ae18ba) - Jacob Coffee
resolve HTMX/Alpine errors and fix test infrastructure - (a03e774) - Jacob Coffee
resolve CI check failures across multiple workflows - (6aca255) - Jacob Coffee
resolve additional CI failures - (7fe7f1e) - Jacob Coffee
resolve type checker warnings - (dea42e2) - Jacob Coffee
resolve remaining CI failures - (93c1bbe) - Jacob Coffee
resolve ruff lint and intersphinx warnings - (e0c12ab) - Jacob Coffee
add missing lib module and migration - (9400374) - Jacob Coffee
update gitignore to not ignore src/**/lib - (54e558e) - Jacob Coffee
resolve remaining ruff lint errors in lib/tasks.py and migration - (7dd48c8) - Jacob Coffee
address CodeQL review comments - (2fb10a5) - Jacob Coffee
resolve lint errors and format code - (90a847c) - Jacob Coffee
resolve CI failures in docs and Trivy security scan - (f6d2a08) - Jacob Coffee
Railway deployment issues - CSS, seeding, and template scanning - (90da89a) - Jacob Coffee
re-enable –force to reseed Railway database - (b9e665f) - Jacob Coffee
increase healthcheck timeout to 5 minutes - (ac70ca0) - Jacob Coffee
remove seeding from startup to debug healthcheck failure - (185f226) - Jacob Coffee
run seeding in background after Granian starts - (17fd8db) - Jacob Coffee
remove –force from background seed, capture errors - (f5967c1) - Jacob Coffee
add sa_orm_sentinel column migration for download_statistics - (b5e933e) - Jacob Coffee
Documentation¶
(api) add request/response examples to auth schemas - (6067877) - Jacob Coffee
(api) add request/response examples to domain schemas - (f438201) - Jacob Coffee
(api) add comprehensive docstrings to controller endpoints - (8a91cd9) - Jacob Coffee
(api) add SDK autodoc structure with autosummary - (afcc9a5) - Jacob Coffee
(architecture) add API tags documentation - (83573aa) - Jacob Coffee
(architecture) add rate limiting architecture documentation - (52ac364) - Jacob Coffee
(architecture) add comprehensive domain model reference - (b6a1766) - Jacob Coffee
(architecture) remove manual table of contents sections - (cb62689) - Jacob Coffee
(cookbook) add practical recipes and patterns - (130a630) - Jacob Coffee
(db) update README with Litestar CLI migration commands - (5747732) - Jacob Coffee
(getting-started) add installation and quickstart guides - (8f751e9) - Jacob Coffee
(guides) add comprehensive development guides - (63ca944) - Jacob Coffee
(guides) rename contributing page title to Contribution Guide - (e653681) - Jacob Coffee
(index) update landing page with grid cards and navigation - (8148f74) - Jacob Coffee
(makefile) add litestar-vite CLI commands for frontend assets - (f4698bf) - Jacob Coffee
(openapi) enhance API spec with metadata and improved tag descriptions - (b7c29a4) - Jacob Coffee
(plan) update Phase 7 Admin status and add testing improvements - (cb39cd9) - Jacob Coffee
(plan) mark Phase 8 Testing as complete - (55ec6bf) - Jacob Coffee
(plan) update Phase 10 status with completed admin sub-pages - (5e5727b) - Jacob Coffee
(plan) update Phase 10 status and add tiered priority list - (1bbda01) - Jacob Coffee
(plan) mark Phase 10 Admin Panel complete - (37c694d) - Jacob Coffee
(plan) mark Docker and CI/CD tasks complete - (a0f4aa7) - Jacob Coffee
(plan) update auth and testing sections - (58ad8fc) - Jacob Coffee
(plan) update project plan with completed tasks - (b3484ef) - Jacob Coffee
(plan) document admin task UI enhancements - (4d53620) - Jacob Coffee
(plan) complete API route audit, add internal API research - (2e8df23) - Jacob Coffee
(plan) update completion status and add known bugs - (f874078) - Jacob Coffee
(plan) add email UI improvements to completion list - (7beddbe) - Jacob Coffee
(plan) mark jobs progress tracking as fixed, add cron dashboard plan - (40ff15d) - Jacob Coffee
(plan) mark API documentation as complete, add enhancement entries - (399a7b2) - Jacob Coffee
(plan) mark OAuth testing as complete - (ee173d7) - Jacob Coffee
(plan) mark page caching as complete - (9d921d1) - Jacob Coffee
(plan) add cache management admin UI to completed enhancements - (e2faa74) - Jacob Coffee
(plan) update cache management UI as complete with full features - (e9cc859) - Jacob Coffee
(plan) remove GraphQL API from roadmap - (de7316f) - Jacob Coffee
(plan) mark download statistics feature as complete - (a55a98a) - Jacob Coffee
(plan) add Litestar CLI commands and litestar-vite integration - (35fc497) - Jacob Coffee
(plan) move PLAN.md to root, mark HTMX audit complete - (ac8446d) - Jacob Coffee
(plan) mark SAQ worker MissingGreenlet issues as fixed - (7ec7e78) - Jacob Coffee
(plan) update banner feature as complete with full details - (9ff3e0c) - Jacob Coffee
(plan) mark all page implementations as complete - (2171cfe) - Jacob Coffee
(plan) mark pagination First/Last buttons complete - (7533735) - Jacob Coffee
(plan) mark 3 admin UX issues complete - (1508b63) - Jacob Coffee
(plan) mark LOW priority issues complete - (1dee3b6) - Jacob Coffee
(plan) mark page caching and CDN integration complete - (331d4e8) - Jacob Coffee
(plan) mark GPG signature verification complete - (7180680) - Jacob Coffee
(plan) mark all domain feature gaps complete - (50d777a) - Jacob Coffee
(plan) mark template refactor as complete - (cf96232) - Jacob Coffee
(plan) mark OAuth2 providers testing complete - (4396711) - Jacob Coffee
(plan) mark Phase 9 documentation complete - (a147f6c) - Jacob Coffee
(plan) add sponsor admin UI gaps and litestar-workflows research - (518abe7) - Jacob Coffee
(sidebar) reorganize docs navigation into Learn/Reference/Project sections - (719d2c1) - Jacob Coffee
update PLAN.md with progress and auth reference - (7174bbd) - Jacob Coffee
add API usage guides and Postman collection - (b857c0c) - Jacob Coffee
update PLAN.md with latest changes and fixes - (e9199cf) - Jacob Coffee
mark Batch 3 issues as fixed in PLAN.md - (a72f7af) - Jacob Coffee
add email logs filters issue to PLAN.md - (681d284) - Jacob Coffee
add planned enhancements for jobs workflow - (0a6f662) - Jacob Coffee
mark Batch 4 issues as fixed in PLAN.md - (42553e6) - Jacob Coffee
update events/submit entry to reference toast issue - (b1a5a51) - Jacob Coffee
mark API versioning and notifications complete in PLAN.md - (44fe50c) - Jacob Coffee
fix sphinx warnings for code blocks and cross-references - (d8dca07) - Jacob Coffee
optimize build speed and clean up sidebar - (38a6471) - Jacob Coffee
restore orphaned pages to sidebar navigation - (865dd8f) - Jacob Coffee
suppress all sphinx warnings for clean builds - (3e2e456) - Jacob Coffee
enhance API domain documentation - (d0489c0) - Jacob Coffee
Features¶
(about) add About section domain and templates - (c8a9575) - Jacob Coffee
(about) add interactive Python timeline with river-flow effect - (f4ccb93) - Jacob Coffee
(about) add static pages for help, apps, quotes, getting started, legal - (60d4fe6) - Jacob Coffee
(admin) add admin domain scaffold with guards, schemas, and services - (e3bd408) - Jacob Coffee
(admin) add admin dashboard controller with auth redirect - (429bab8) - Jacob Coffee
(admin) add sqladmin-litestar-plugin for CRUD admin interface - (38bd888) - Jacob Coffee
(admin) add admin templates with TailwindCSS/DaisyUI - (8bf4fbc) - Jacob Coffee
(admin) integrate admin controllers into main application - (56cd357) - Jacob Coffee
(admin) add user admin service and controller - (7707c5a) - Jacob Coffee
(admin) add job admin service and controller - (73c27a7) - Jacob Coffee
(admin) register job and user admin controllers - (759ace8) - Jacob Coffee
(admin) add sponsor admin service and controller - (01f56d3) - Jacob Coffee
(admin) add sponsor admin templates - (7084fdb) - Jacob Coffee
(admin) add events management page with calendar support - (a6d8329) - Jacob Coffee
(admin) add pages CMS management with publish/unpublish - (87a82aa) - Jacob Coffee
(admin) add blogs/feeds management with activate/deactivate - (a9483fe) - Jacob Coffee
(admin) add settings and logs placeholder pages - (6a1c860) - Jacob Coffee
(admin) simplify admin navbar button and add navbar to SQLAdmin - (d36d077) - Jacob Coffee
(admin) add Lucide icons to database admin tiles - (a306a6c) - Jacob Coffee
(admin) organize database admin into sections with search - (3203c5e) - Jacob Coffee
(admin) enhance admin services with search indexing triggers - (4381e81) - Jacob Coffee
(admin) add email template management UI with HTMX - (5c5bcee) - Jacob Coffee
(admin) add email content guidance and status alerts - (9652591) - Jacob Coffee
(admin) add cron jobs dashboard for scheduled task monitoring - (ddd3d59) - Jacob Coffee
(admin) add cache management UI at /admin/settings/cache - (4c7e54a) - Jacob Coffee
(admin) add interactive key inspection to cache management UI - (4ed9d0c) - Jacob Coffee
(admin) add toast notifications and error handling to cache management - (eb0a00d) - Jacob Coffee
(admin) add feed priority editing to admin blogs UI - (b0a0e5a) - Jacob Coffee
(admin) add banner management UI - (8d7b362) - Jacob Coffee
(admin) add manual trigger button for cron jobs - (acdb882) - Jacob Coffee
(admin/blogs) add HTMX partial rendering and feature toggles - (0e49cf9) - Jacob Coffee
(admin/email) add HTMX partial rendering for email logs - (25e9b04) - Jacob Coffee
(admin/events) add calendar pagination and upcoming filter - (239b040) - Jacob Coffee
(admin/events) add date metadata to event rows - (2f59ec0) - Jacob Coffee
(admin/jobs) add HTMX partial rendering for job list - (b840382) - Jacob Coffee
(admin/jobs) add DELETE handler for job deletion - (ecab59b) - Jacob Coffee
(admin/pages) add delete page functionality - (c2eb861) - Jacob Coffee
(api) add JSON error responses for API exception handlers - (0a04fcf) - Jacob Coffee
(api) add API key management endpoints - (db20316) - Jacob Coffee
(api) add API version negotiation middleware - (8f86b40) - Jacob Coffee
(api) add admin-only API documentation at /api/admin/docs/ - (2aa7a96) - Jacob Coffee
(app) add JWT middleware, nominations, and OpenAPI config - (8a33a99) - Jacob Coffee
(auth) add login and registration templates with htmx - (1eea194) - Jacob Coffee
(auth) add token refresh and password change endpoints - (8f34b4f) - Jacob Coffee
(auth) add missing profile management endpoints - (db3a97a) - Jacob Coffee
(auth) add API key authentication to middleware - (262857b) - Jacob Coffee
(auth) add API key guards for route protection - (cf7a72a) - Jacob Coffee
(banners) add targeting fields to banner model - (4c5230c) - Jacob Coffee
(banners) add repository methods for targeted banner queries - (c25e329) - Jacob Coffee
(banners) add middleware for frontend and API banners - (02531f7) - Jacob Coffee
(banners) add API endpoint and integration tests - (0757cec) - Jacob Coffee
(blogs) add is_featured field to blog entries - (6e26fa5) - Jacob Coffee
(blogs) add feed filtering and featured posts section - (04a6011) - Jacob Coffee
(blogs) add feed priority for official Python blogs first - (f295162) - Jacob Coffee
(cache) add core cache module for page caching - (7ff610d) - Jacob Coffee
(cache) integrate response caching into Litestar app - (e72c7b1) - Jacob Coffee
(cache) add automatic cache invalidation on page changes - (f0a8197) - Jacob Coffee
(cache) add HTTP cache-control middleware - (eced8fb) - Jacob Coffee
(cache) wire up cache middleware in application - (4d6e007) - Jacob Coffee
(cache) add Cache-Control header for 404 responses - (8c5ab42) - Jacob Coffee
(ci) add comprehensive CI workflow - (486adb3) - Jacob Coffee
(ci) add PR title validation workflow - (f97826c) - Jacob Coffee
(ci) add changelog generation workflow - (01756a7) - Jacob Coffee
(ci) add release workflow with Docker publishing - (8cb74e2) - Jacob Coffee
(cli) add Litestar database CLI commands to Makefile - (538e9d7) - Jacob Coffee
(cli) add Litestar CLI integration with Makefile targets - (0ac2cf6) - Jacob Coffee
(cli) enable advanced-alchemy CLI extra and convert seed to markdown - (bb9e07e) - Jacob Coffee
(community) redesign community page with comprehensive sections - (26b3470) - Jacob Coffee
(community) add workshops, IRC, forums, and mailing lists pages - (719e285) - Jacob Coffee
(community) overhaul posts page UX - (b6c12e7) - Jacob Coffee
(config) add Meilisearch configuration for search - (4ff9e6e) - Jacob Coffee
(config) split env files for dev and prod environments - (2cf8e59) - Jacob Coffee
(core) add site-wide exception handlers with HTMX toast support - (6aa94ed) - Jacob Coffee
(db) add migration for Feed.is_official column - (30b839a) - Jacob Coffee
(deps) add admin UI dependencies - (0d497a7) - Jacob Coffee
(deps) add litestar-vite for frontend asset management - (7f12b09) - Jacob Coffee
(docker) add multi-stage Docker build configuration - (ac3522b) - Jacob Coffee
(docker) add docker-compose for dev and production - (128b126) - Jacob Coffee
(docs) add Python.org themed Scalar CSS - (1b6d777) - Jacob Coffee
(docs) add custom OpenAPI UI plugins - (48b322b) - Jacob Coffee
(docs) integrate Scalar + Swagger OpenAPI plugins - (38f61f0) - Jacob Coffee
(docs) add custom Python.org CSS theme to Scalar - (388cd89) - Jacob Coffee
(docs) add Documentation section domain and templates - (f0d5dda) - Jacob Coffee
(downloads) add downloads domain module - (0d36e49) - Jacob Coffee
(downloads) add download statistics tracking and admin analytics (#4) - (50668a6) - Jacob Coffee
(downloads) add download statistics tracking and admin analytics - (009f0f7) - Jacob Coffee
(downloads) add import script and remove faulty constraint - (8cef0aa) - Jacob Coffee
(downloads) enhance release notes and fix UI issues - (715e669) - Jacob Coffee
(downloads) add markdown rendering for release notes - (0e26174) - Jacob Coffee
(downloads) add alternative implementations and other resources pages - (783f8a4) - Jacob Coffee
(downloads) add SHA256 checksum field to ReleaseFile - (b801721) - Jacob Coffee
(downloads) add SHA256 checksum to API schemas - (7db1997) - Jacob Coffee
(downloads) add Jinja2 macros for signature verification UI - (a6fe884) - Jacob Coffee
(downloads) show signatures and checksums on release page - (41cb33c) - Jacob Coffee
(events) add RFC 5545 compliant iCalendar export - (7c30dd3) - Jacob Coffee
(events) add HTMX partials and calendar list view - (2a766e9) - Jacob Coffee
(events) add toast notification on event submission - (468810b) - Jacob Coffee
(events) add recurrence rule engine - (1da777a) - Jacob Coffee
(events) add RSS/Atom calendar feeds - (7298c66) - Jacob Coffee
(jobs) add filtering, preview endpoint and HTMX partials - (79a975a) - Jacob Coffee
(jobs) add draft→review workflow for job submissions - (e8c6309) - Jacob Coffee
(jobs) add featured jobs functionality - (a84ffb1) - Jacob Coffee
(jobs) add email notification tasks - (3f29f49) - Jacob Coffee
(logging) use Rich console renderer for dev mode - (dbbdf32) - Jacob Coffee
(mailing) add domain init with exports - (e163752) - Jacob Coffee
(mailing) add email template and log management domain - (50e4667) - Jacob Coffee
(main) register site-wide exception handlers - (95ffcea) - Jacob Coffee
(main) register sponsor admin controller - (062793e) - Jacob Coffee
(make) add Docker targets to Makefile - (3984556) - Jacob Coffee
(make) reorganize test targets for better DX - (7aec5a6) - Jacob Coffee
(make) add meilisearch to infra-up and dev target improvements - (c5a29e0) - Jacob Coffee
(make) add worktree aliases and maildev to infra-up - (ac1a1e9) - Jacob Coffee
(nav) update community links to internal routes - (88b2694) - Jacob Coffee
(nominations) add HTMX nomination endpoint - (8dcf277) - Jacob Coffee
(notifications) wire job and event email notifications - (f2357c8) - Jacob Coffee
(oauth) add Discord as OAuth provider - (e1634a9) - Jacob Coffee
(pagination) add First/Last buttons to data table macro - (7b318fa) - Jacob Coffee
(pagination) add First/Last buttons to public templates - (fc8db99) - Jacob Coffee
(pagination) add First/Last buttons to admin templates - (a9a32f1) - Jacob Coffee
(psf) implement /psf/diversity page (#7) - (c69d880) - Jacob Coffee
(psf) add membership, about, conduct, and get-involved pages - (8c7302f) - Jacob Coffee
(ratelimit) add Redis-backed API rate limiting with tiered limits - (ad03c39) - Jacob Coffee
(search) add site-wide search domain and templates - (0268366) - Jacob Coffee
(security) enable CSRF protection in Litestar app - (7329fac) - Jacob Coffee
(services) add search index triggers to domain services - (5be8a72) - Jacob Coffee
(sponsors) add sponsorship application endpoint - (b894419) - Jacob Coffee
(sponsors) add contract management and renewal workflow - (c10a6a5) - Jacob Coffee
(sqladmin) add SSO authentication with Litestar sessions - (7a4296a) - Jacob Coffee
(sqladmin) add DaisyUI custom templates - (cb159f6) - Jacob Coffee
(sqladmin) configure custom templates directory - (788b41f) - Jacob Coffee
(sqladmin) add 17 missing model admin views - (05d3626) - Jacob Coffee
(sqladmin) add categories and sections for all model admin views - (9dd2bfb) - Jacob Coffee
(static) add Python favicon and logo images - (4536087) - Jacob Coffee
(successstories) enhance detail page with related stories - (5de5720) - Jacob Coffee
(sync) add background tasks and scripts for importing external content - (80ed41f) - Jacob Coffee
(tailwind) safelist dynamic category colors for success stories - (0bccbbf) - Jacob Coffee
(tasks) implement SAQ background task queue with litestar-saq - (a7273ce) - Jacob Coffee
(tasks) add job sorting and scheduled status detection - (9d705fa) - Jacob Coffee
(tasks) add sorting params and test failure endpoint - (eba2b86) - Jacob Coffee
(tasks) add test_failing_task for debugging tracebacks - (d4c535a) - Jacob Coffee
(tasks) add event reminder and cleanup background tasks - (7f7504c) - Jacob Coffee
(tasks) add persistent job statistics tracking - (c07e533) - Jacob Coffee
(templates) add render templates for various sections - (ee6e56b) - Jacob Coffee
(templates) add toast notification JS for HTMX error handling - (f32b9b9) - Jacob Coffee
(templates) add Jinja filters for time, JSON, and traceback formatting - (f019c29) - Jacob Coffee
(templates) add multi-directory template support - (b96a2b9) - Jacob Coffee
(tests) complete Task 8.2b route/controller integration tests - (655c553) - Jacob Coffee
(timeline) enhance interactivity and add community events - (95802c6) - Jacob Coffee
(timeline) add flowing curved SVG river with animations - (2d7a954) - Jacob Coffee
(timeline) add 2026 Steering Council election - (e66c444) - Jacob Coffee
(ui) add admin dropdown to navbar for staff users - (6e38b2d) - Jacob Coffee
(ui) add Admin FAB for staff/superusers on non-admin pages - (6f86cd3) - Jacob Coffee
(ui) add sortable columns and scheduled tab to jobs table - (fe514da) - Jacob Coffee
(ui) improve job detail page with scheduled status and traceback display - (64c4367) - Jacob Coffee
(ui) add Test Failure button to task dashboard - (2bdd1e8) - Jacob Coffee
(ui) add toast notification system to base template - (14dc98e) - Jacob Coffee
(ui) add developer links (Docs, API, GitHub) to navbar - (cdd6304) - Jacob Coffee
(users) add API key model and migration - (d5ba433) - Jacob Coffee
(users) add API key service, repository, and schemas - (ddfea0c) - Jacob Coffee
(vite) add admin bundle entry points - (8cdd7af) - Jacob Coffee
(vite) integrate VitePlugin for frontend development - (b2c6a3a) - Jacob Coffee
(workflows) add workflow module with sponsor workflows - (58fa26f) - Jacob Coffee
add page controllers for all domains - (5829c19) - Jacob Coffee
add dynamic home page with content services - (1c7b8ce) - Jacob Coffee
complete database layer with migrations and seeding - (3c60197) - Jacob Coffee
update domain models with OAuth and additional fields - (aa71544) - Jacob Coffee
add auth system foundation with JWT middleware - (f0b5654) - Jacob Coffee
add error page templates - (c036aa8) - Jacob Coffee
add flash messages with session middleware - (7fac14b) - Jacob Coffee
add render controllers for jobs, nominations, sponsors - (48456f9) - Jacob Coffee
register workflow plugin in application - (4e3470a) - Jacob Coffee
add worker Dockerfile and Railway config - (6e6c908) - Jacob Coffee
Miscellaneous Chores¶
(admin) register new controllers and services in exports - (35b3717) - Jacob Coffee
(deps) configure dependabot with grouped updates - (0603218) - Jacob Coffee
(deps) Bump the actions group with 9 updates (#5) - (26b1032) - dependabot[bot]
(deps) Bump python from 3.13-slim to 3.14-slim in the docker-images group across 1 directory (#6) - (19403f8) - dependabot[bot]
(gitignore) ignore Vite build artifacts - (e63249c) - Jacob Coffee
update config and build dependencies - (6ba9dc6) - Jacob Coffee
cleanup import ordering per lint rules - (1470884) - Jacob Coffee
fix TC002/TC003 import organization issues - (8cc615e) - Jacob Coffee
update .gitignore for Claude Flow files - (e1a42da) - Jacob Coffee
add dev tooling and test documentation - (5279392) - Jacob Coffee
fix trailing newline and update vite manifest - (b68fe00) - Jacob Coffee
update uv.lock for advanced-alchemy[cli] extra - (14e1893) - Jacob Coffee
move internal docs to docs/internal - (ad80d16) - Jacob Coffee
register PSFPageController in app routes - (c16df92) - Jacob Coffee
integrate prek pre-commit hooks and apply auto-formatting - (852e4d0) - Jacob Coffee
remove –force from seed command - (01b34cd) - Jacob Coffee
Performance¶
Refactoring¶
(banners) move templates to domain folder - (7554e7f) - Jacob Coffee
(blogs) move templates to domain folder - (56ec0d9) - Jacob Coffee
(codesamples) move templates to domain folder - (e7ce920) - Jacob Coffee
(community) move templates to domain folder - (6fc4fb6) - Jacob Coffee
(config) improve startup banner and validation warnings - (1616983) - Jacob Coffee
(csrf) remove unused csrf_token_injector function - (7389c7e) - Jacob Coffee
(db) add lazy initialization for database sessions - (f24865d) - Jacob Coffee
(downloads) move templates to domain folder - (c9f526d) - Jacob Coffee
(events) move templates to domain folder - (3f0665e) - Jacob Coffee
(jobs) move templates to domain folder - (a91e91b) - Jacob Coffee
(minutes) move templates to domain folder - (d8c0b62) - Jacob Coffee
(nominations) move templates to domain folder - (c01e302) - Jacob Coffee
(sponsors) move templates to domain folder - (93f0e16) - Jacob Coffee
(successstories) move templates to domain folder - (9420b6e) - Jacob Coffee
(tests) remove unused imports from OAuth tests - (9ea531a) - Jacob Coffee
(tests) cleanup conftest imports in cache tests - (6a64b6c) - Jacob Coffee
(ui) update queue card and remove unused job_row partial - (a5705d8) - Jacob Coffee
(work_groups) move templates to domain folder - (f1a5488) - Jacob Coffee
Security¶
(github) add GitHub Actions workflows and labeler config - (54cbaf2) - Jacob Coffee
Style¶
(admin) improve Jinja2 syntax reference with badges - (695d751) - Jacob Coffee
(css) add htmx loading states and improve transitions - (f5c15bf) - Jacob Coffee
(scripts) reorder imports in import_downloads.py - (3d16c91) - Jacob Coffee
(tasks) minor formatting in sync.py - (1232d9d) - Jacob Coffee
(templates) normalize page header sizes sitewide - (cd04dbb) - Jacob Coffee
(timeline) match external link styling to PEP links - (d879d0c) - Jacob Coffee
apply ruff formatting and simplify test fixtures - (87cd228) - Jacob Coffee
apply ruff formatting fixes - (9b00795) - Jacob Coffee
format ruff lint config in pyproject.toml - (bd78be9) - Jacob Coffee
apply ruff formatting - (15591d8) - Jacob Coffee
Tests¶
(admin) add unit tests for admin guards and config - (2c21395) - Jacob Coffee
(admin) add SponsorAdminService unit tests - (ef22988) - Jacob Coffee
(auth) add JWT and CSRF test coverage - (f2311d9) - Jacob Coffee
(cache) add comprehensive tests for page caching - (4d0f952) - Jacob Coffee
(e2e) add Playwright E2E tests for auth forms - (17670ef) - Jacob Coffee
(integration) add auth flow integration tests - (dd175c0) - Jacob Coffee
(logging) add comprehensive tests for structlog configuration - (bbb15ba) - Jacob Coffee
(oauth) add comprehensive OAuth2 unit and integration tests - (58fdf73) - Jacob Coffee
(oauth) add tests for POST endpoint and account restrictions - (5bf1fa7) - Jacob Coffee
(tasks) add integration tests for task admin and update worker tests - (567ad0a) - Jacob Coffee
(unit) add comprehensive domain unit tests - (c098175) - Jacob Coffee
(users) add API key unit tests - (42335db) - Jacob Coffee
update test suite for auth and model changes - (c6281e0) - Jacob Coffee
add pytest-databases for PostgreSQL integration testing - (9cc3d3c) - Jacob Coffee
refactor auth tests to use API-based fixtures - (eb9bc0a) - Jacob Coffee
update integration tests for API improvements - (ab460dc) - Jacob Coffee
Build¶
Debug¶
(railway) single worker with debug logging - (5b29011) - Jacob Coffee
litestar-pydotorg Changelog