| Age | Commit message (Expand) | Author |
| 2026-02-20 | feat: allow viewing/spectating games without login | Claude |
| 2026-02-20 | feat: add user submission history page | nsfisis |
| 2026-02-20 | style(backend): modernize Go syntax with range-over-int and type inference | nsfisis |
| 2026-02-20 | feat(admin): integrate asynqmon web UI for task queue monitoring | nsfisis |
| 2026-02-20 | feat(auth): add structured logging for login success and failure | nsfisis |
| 2026-02-20 | feat(admin): add bulk rejudge for game submissions | nsfisis |
| 2026-02-20 | feat(admin): add rejudge functionality for submissions | nsfisis |
| 2026-02-18 | feat: refactor tournament to generic DB-backed N-person bracket | nsfisis |
| 2026-02-17 | feat: rename iOSDC Japan 2025 references to PHPerKaigi 2026 | nsfisis |
| 2026-02-16 | test(backend): add unit tests for auth_middleware, fortee, processor, account... | nsfisis |
| 2026-02-16 | test(backend): add unit tests for admin handlers and taskqueue | nsfisis |
| 2026-02-16 | style(backend): fix lint errors in test files | nsfisis |
| 2026-02-16 | test(backend): add unit tests for auth, config, ratelimit, game, and api | nsfisis |
| 2026-02-15 | refactor(backend): introduce DI interfaces for testability | nsfisis |
| 2026-02-15 | fix(backend): replace panic() with proper error handling in runtime code | nsfisis |
| 2026-02-15 | fix(backend): resolve TODO items for transactions, validation, and error hand... | nsfisis |
| 2026-02-15 | refactor(log): migrate from log to log/slog for structured logging | nsfisis |
| 2026-02-15 | refactor(auth): replace JWT authentication with server-side sessions | nsfisis |
| 2026-02-14 | ci: add GitHub Actions CI workflow with just | nsfisis |
| 2026-02-14 | feat(openapi): generate OpenAPI specs from TypeSpec sources | nsfisis |
| 2026-02-14 | feat(backend): update dependencies | nsfisis |
| 2026-02-13 | feat(auth): store JWT in HTTP-only cookie instead of JS-accessible cookie | nsfisis |
| 2026-02-13 | feat(auth): add login rate limiting per IP | nsfisis |
| 2026-02-13 | refactor: rename module/package name | nsfisis |
| 2026-02-13 | chore: replace Makefile with justfile | nsfisis |
| 2025-09-19 | feat(backend): allow admin to access private games | nsfisis |
| 2025-09-17 | feat(backend,frontend): implement tournament page | nsfisis |
| 2025-09-17 | feat(backend): add admin pages for submissions | nsfisis |
| 2025-09-16 | feat(backend): prevent game from starting without testcases | nsfisis |
| 2025-09-08 | fix(backend): set unique code hash for each test case run | nsfisis |
| 2025-09-06 | feat(backend): increase timeout from 5 s to 30 s | nsfisis |
| 2025-09-06 | fix(backend): qualifying ranking table | nsfisis |
| 2025-09-06 | fix(backend): normalize line endings before comparing test results | nsfisis |
| 2025-09-06 | fix(*): support compile_error as worker result | nsfisis |
| 2025-09-06 | fix(backend): duplicate slashes in some URLs | nsfisis |
| 2025-09-06 | feat(backend): update qualifying ranking page | nsfisis |
| 2025-09-06 | feat(backend): restore /admin/fix | nsfisis |
| 2025-09-06 | feat(backend): add admin pages for testcases | nsfisis |
| 2025-09-06 | feat(backend): add admin page for game creation | nsfisis |
| 2025-09-06 | feat(backend): add admin page for problems | nsfisis |
| 2025-09-06 | feat(backend): make problems.language non-null | nsfisis |
| 2025-09-05 | feat(worker-swift): compile and run in one request | nsfisis |
| 2025-09-05 | feat(backend): support swift language | nsfisis |
| 2025-09-05 | feat(worker): move directory worker/ to worker/php/ | nsfisis |
| 2025-08-17 | fix(backend): order of table definition | nsfisis |
| 2025-08-17 | feat: update "PHPerKaigi" to "iOSDC Japan" | nsfisis |
| 2025-08-14 | feat(backend,frontend): Replace hard-coded base path with environment variable | nsfisis |
| 2025-04-02 | fix(backend): fix paths | nsfisis |
| 2025-04-02 | feat(backend): add admin tool to fix submission status | nsfisis |
| 2025-04-02 | fix(backend): fix incorrect aggregation of testcase results | nsfisis |