Changelog
Changelog
Shipped work across Rakit Labs products, pulled from merged pull requests.
Updated 13 Oct 2026 · public repos · feat and fix only
October 2026
- Ujian Sekolahfix: copy .pnpmfile.cjs before image frozen installs#290
- Ujian Sekolahfeat(m7): P0 PDF trust UX + P1 Kelas hub (#233 #234)#238
- Ujian Sekolahfix(api): attach topic diagrams that match the kunci#289
- Ujian Sekolahfix(api): key AI caps and student lockouts per person#285
- Ujian Sekolahfeat(web): publish a UU PDP privacy page at /privacy#284
- Ujian Sekolahfix(auth): upgrade better-auth to 1.7.7#287
- Ujian Sekolahfix(shared): print each choice letter once#286
- Ujian Sekolahfeat(web): add og identity and canonical links#282
- Ujian Sekolahfeat(web): show 5 mapel on the landing#281
- Ujian Sekolahfix(api): default production AI to gpt-6-luna#280
- Ujian Sekolahfix(deploy): give a slow GHCR pull time to finish#279
- Ujian Sekolahfix(deploy): retry GHCR pulls without untagging serving images#278
- Ujian Sekolahfix(soal): allow only drawing markup in a stimulus svg#274
- Ujian Sekolahfix(deploy): retry gateway errors while the new container boots#273
- Ujian Sekolahfeat(profile): print the school address and logo#267
- Ujian Sekolahfeat(privacy): add the privacy policy and account deletion#269
- Ujian Sekolahfeat(sentry): record signup, generate, and print#268
- Ujian Sekolahfeat(soal): add a stimulus image on each question#263
- Ujian Sekolahfeat(curriculum): index each bab by content hash#266
- Ujian Sekolahfeat(pdf): cap uploads at 60 pages and cite the source page#265
- Ujian Sekolahfeat(sheet): print the Ujian Sekolah credit#264
- Ujian Sekolahfeat(web): say the landing covers kelas 1 to 6#253
- Ujian Sekolahfeat(web): show the sample sheet on a phone#252
- Ujian Sekolahfeat(web): name the product Ujian Sekolah#251
- Ujian Sekolahfeat(api): persist AI and bank rate limits#244
- Ujian Sekolahfix(review): guard a missing loader exam#241
September 2026
- Monitor Panganfix: show the newest PIHPS day, and name that date#19
- Monitor Panganfeat(daya-beli): isolated UMP purchasing-power tab#17
- Monitor Panganfix(map): whole date field opens picker#16
- Monitor Panganfix(chart): clean continuous trend line with crosshair tooltip#15
- Monitor Panganfeat(map): show missing prices in black and mark chart moves#13
- Monitor Panganfix(map): map date picker offers every snapshot date#11
- Monitor Panganfix: do not invent live PIHPS prices (BUG-2)#7
- go-pixofeat: deploy Go Pixo on Cloudflare Workers#35
August 2026
July 2026
- FanGuardfix: verify macOS 26 manual fan control#66
- FanGuardfix: make manual fan control safe and predictable#65
- Ujian Sekolahfix: scope kelas templates to class identity only#232
- Ujian Sekolahfeat: add kelas sheet templates#231
- Ujian Sekolahfeat: free-text Mata Pelajaran for PDF saya saja#228
- Ujian Sekolahfeat: add corpus chunk index script (M7 #209)#226
- Ujian Sekolahfeat: reclaim stale running generation jobs (M7 #212)#227
- Ujian Sekolahfeat(m7): generate page UX polish (#215)#222
- Ujian Sekolahfix: dashboard weekly activity UX and touch signals (follow-up #220)#221
June 2026
- Ujian Sekolahfeat(m7): Cloudflare R2 ObjectStorage for guru PDF uploads#219
- Ujian Sekolahfix: dashboard weekly activity shows 0 for recent work#220
- Ujian Sekolahfeat: add Coming Soon pages for Kelas, Template, and Analitik#202
- Ujian Sekolahfeat(web): availability-aware Generate subject select (RFC-E4)#217
- Ujian Sekolahfeat(m7): PDF upload hardening + browser verification (#213, #206)#218
- Ujian Sekolahfeat(m7): PDF v8 F1–F5 dev scaffold — source modes, library, RAG stub, async jobs#203
- FanGuardfix: harden fan control release build#62
- Ujian Sekolahfeat: dashboard curriculum copy grows with catalog coverage#200
- Ujian Sekolahfix(matematika): repair bare rac{…} fractions in teacher preview#199
- Ujian Sekolahfeat: unify SheetTable and fix public share page#197
- Ujian Sekolahfeat(bank): Bank Soal per lembar — remove legacy bank_questions (#70)#196
- Ujian Sekolahfix(export): enable prod PDF (node:22-bookworm + Chromium)#195
- Ujian Sekolahfeat: exam templates, real export, and student delivery + grading + analytics#194
- Ujian Sekolahfeat(generate): Bab-based materi picker from Buku Siswa corpus#190
- Ujian Sekolahfeat: expand generate readiness by curriculum catalog#187
- FanGuardfix: chown helper socket to staff and verify readiness via socket ping#61
- Ujian Sekolahfix: remediate Codex Security findings#184
- Ujian Sekolahfeat: add curriculum-ready generate menu#182
- Ujian Sekolahfeat: convert SIBI PDFs to curriculum markdown#181
- Ujian Sekolahfeat: curriculum manifest and grade-aware generate (K5–6)#180
- Ujian Sekolahfeat: add shared curriculum catalog schemas#179
- go-pixofeat(seo): polish visual discovery assets#28
- go-pixofix: preserve resize aspect ratio#34
- go-pixofix: stabilize image format conversion workflow#25
- go-pixofeat(seo): improve discoverability for Google and AI crawlers#21
- go-pixofix(web): stabilize bottom bar layout and PNG pixel buffers#16
- go-pixofix(ci): validate SSH_PRIVATE_KEY before deploy with clear errors (#11)#13
- go-pixofeat: download format picker, slider UX, compression hardening, and deploy fix#8
- go-pixofeat: wire compression controls and hybrid progress reporting#7
- go-pixofix: compression controls, output metadata, and recompress stability#6
- Ujian Sekolahfeat(curriculum): corpus v2 PDF handling RFC and full-text extraction#145
- Ujian Sekolahfix(deploy): reset VPS git clone before sync#141
- Ujian Sekolahfix(db): unblock production db:migrate and deploy pipeline#140
- Ujian Sekolahfix(effect): code review cleanup — domain logging, exhaustive match, public bank#138
May 2026
- Ujian Sekolahfix(web): replace duplicate Preview Tersimpan badges with bank summary#137
- Ujian Sekolahfeat: remaining GitHub issues #114–#134 (SSE streaming, Effect fixes, QA harness)#136
- Ujian Sekolahfeat(bank): deferred batches — public API, builder, tabs, hybrid save (#70)#128
- Ujian Sekolahfeat(bank): Bank Soal core API, auto-save, browse UI, and design-system alignment (#70)#127
- Ujian Sekolahfix: use Schema.TaggedStruct for question schemas (TS34 CI build)#124
- Ujian Sekolahfeat(api,db): recommended GitHub issues — type-check, OTEL, bank_questions, generateObject#123
- Ujian Sekolahfeat: Effect AI provider rewrite and README refresh#122
- Ujian Sekolahfeat: Effect-TS full adoption (API layers, web Either, OTEL)#121
- Ujian Sekolahfeat: set up Effect Language Service for compile-time diagnostics#101
- Ujian Sekolahfeat(api): richer multi-subject pembahasan prompts for printable siswa lembar#98
- Ujian Sekolahfeat(web): Matematika LaTeX preview, edit toolbar, and notation help#95
- Ujian Sekolahfeat(api): Matematika LaTeX pipeline on generate and regenerate#94
- Ujian Sekolahfeat(api): Matematika LaTeX prompts, validation, and JSON repair#93
- Ujian Sekolahfeat(shared): Matematika math parsing and LaTeX repair#92
- Ujian Sekolahfeat(api): add OpenAI provider (gpt-5.4-mini)#86
- Ujian Sekolahfeat(review): generation salvage and on-demand kurikulum validation#82
- Ujian Sekolahfeat: Penjaga Kurikulum sync validation on generate and review (#28)#79
- Ujian Sekolahfeat(phase1): IPAS, Bahasa Inggris, and Bank Soal placeholder#77
- Ujian Sekolahfeat(dev-auth): local one-click guru login for browser QA#78
- Ujian Sekolahfix: finish C/D issue verification#76
- Ujian Sekolahfeat: add matematika latex generation support#75
- Ujian Sekolahfeat: add public exam sharing and resilient AI generation#74
- Viralkanfix: pass database password during VPS deploy#39
- Viralkanfix: restore VPS deployment pipeline#38
- Ujian Sekolahfeat: add geometry figure infrastructure#73
April 2026
- Viralkanfeat: connect admin users page to real API with role management#37
- Ujian Sekolahfeat: Pembahasan Generator end-to-end (PRD §10.4)#27
- Ujian Sekolahfeat(web): history pagination + slow-track review fix + PRD update#26
- Ujian Sekolahfix: AI error handling, regenerate robustness, and edit dialog stale state#25
- Ujian Sekolahfix(review): preserve examId when switching fast/slow mode#23
- Ujian Sekolahfix: disable dashboard koreksi actions#24
- Ujian Sekolahfix: stabilize long exam generation#22
- Ujian SekolahFix slow review AI replacement flow#21
- Ujian Sekolahfix(web): route dashboard koreksi to correction#20
- Ujian Sekolahfeat: Phase 3 — multi question types (PG, PGK, Benar/Salah)#19
- Ujian Sekolahfeat: Phase 2 — variable totalSoal with jenis presets#18
- Ujian Sekolahfeat: Phase 1 — multi-topic exam generation#17
- Ujian Sekolahfeat: edit soal status transitions + per-card/batch AI regeneration#16
- Ujian Sekolahfeat: duplikat confirmation dialog + unified exam title naming#15
- Ujian SekolahFix preview print output regressions#13
- Ujian Sekolahfeat: fast-mode exam confirmation with auto-accept and DatePicker#14
- Ujian Sekolahfeat(ai): wire /generate to real AI exam creation with DB persistence#11
- Ujian Sekolahfeat(auth): remove dev bypass + add per-user rate limiting (with AI generation backend)#10
- Ujian Sekolahfeat: exam CRUD API, typed error handler, and history page wiring#9
- Ujian Sekolahfeat: pnpm monorepo foundation with full-stack skeleton#1
- Viralkanfeat: admin activity log with filters and pagination#36
- Viralkanfeat: add shareable map views and dashboard map (#15, #16)#35
- Viralkanfeat: add /peta density map with Leaflet circle markers (#30)#34
- Viralkanfix: add reports_this_month to user stats API and align frontend types (#8)#33
- Viralkanfeat: add realistic dev seed data for Bekasi road damage reports#32
- Viralkanfeat: implement high-priority security, infra, UX, and PWA improvements#31
- Viralkanfeat: add simple mobile navigation bar (#27)#29
- FanGuardfeat: SMC writer gating, F*Md-less fans, helper install & dev helper build#58
- FanGuardfix: resolve all P2-medium release issues (#18-#29)#57