| Age | Commit message (Expand) | Author |
| 2026-02-28 | feat(admin): allow admin users to view and submit code before game starts | nsfisis |
| 2026-02-21 | refactor: rename stuttering exported types in game and tournament packages | nsfisis |
| 2026-02-21 | refactor(admin): separate business logic into game and tournament services | nsfisis |
| 2026-02-21 | refactor(api): separate business logic into game, tournament, session packages | nsfisis |
| 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(auth): add structured logging for login success and failure | nsfisis |
| 2026-02-18 | feat: refactor tournament to generic DB-backed N-person bracket | 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): 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 | 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 | refactor: rename module/package name | 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-06 | fix(*): support compile_error as worker result | nsfisis |
| 2025-09-06 | feat(backend): add admin page for problems | nsfisis |
| 2025-09-05 | feat(backend): support swift language | nsfisis |
| 2025-08-17 | feat: update "PHPerKaigi" to "iOSDC Japan" | nsfisis |
| 2025-03-29 | feat: show code in ranking page | nsfisis |
| 2025-03-21 | feat(frontend): do not transit to finished page | nsfisis |
| 2025-03-21 | fix(frontend): fix submission status flickering | nsfisis |
| 2025-03-21 | feat(frontend): show game result in 1v1 watch | nsfisis |
| 2025-03-20 | feat: show submission date on ranking | nsfisis |
| 2025-03-15 | feat(backend): allow admin to watch themselves 1v1 page | nsfisis |
| 2025-03-11 | refactor(backend): simplify conversion from *T to Nullable[T] | nsfisis |
| 2025-03-11 | feat: show user label | nsfisis |
| 2025-03-08 | fix | nsfisis |
| 2025-03-08 | fix | nsfisis |
| 2025-03-08 | websocket to polling | nsfisis |
| 2025-03-04 | rm registration token | nsfisis |
| 2025-03-04 | update go package names | nsfisis |
| 2024-08-12 | feat: show left time in play page | nsfisis |
| 2024-08-12 | feat: add `submitresult` message | nsfisis |
| 2024-08-12 | refactor: rename verification_steps for consistant naming | nsfisis |
| 2024-08-12 | feat: do not show preliminary score | nsfisis |
| 2024-08-11 | feat: simplify starting procedure | nsfisis |
| 2024-08-11 | feat(backend): remove `prepare` message's payload | nsfisis |
| 2024-08-11 | feat(backend): always include `problem` property in `Game` object in APIs | nsfisis |
| 2024-08-11 | feat(backend): make `games.problem_id` non-null | nsfisis |
| 2024-08-11 | feat(frontend): improve error handling of login form | nsfisis |
| 2024-08-10 | feat: extends watcher message types | nsfisis |