| v1.2.2 |
Hardening |
Timing-attack fix, credentials, changelog caching, schema immutable, schema deletion cleanup |
~30 min |
Yes (schema updates no longer possible) |
✅ Live |
| v1.3.0 |
History robust + counter intervals |
History PK on BIGSERIAL, cleanup with catch-all + row maximum, {COUNTER:6:monthly} |
~2 hours |
No |
✅ Live |
| v1.4.0 |
Hash IDs |
New schema type hash for deterministic fingerprinting (SHA-256, variable length) |
~1.5 hours |
No |
✅ Live |
| v1.5.0 |
Deletion + Rate Limiting |
DELETE /v2/tenants/{id} with cascade, rate limiting on public endpoints |
~1.5 hours |
No |
✅ Live |
| v2.0.0 |
Package System |
Package definition, usage tracking, limits, trial, /v2/me extended, add-on quotas |
~4.5 hours |
Yes (tenants get limits) |
✅ Live |
| v2.1.0 |
Mapping Tables |
{MAP:color}, CRUD endpoints, pattern parser |
~1 day |
No |
✅ Live |
| v2.2.0 |
UID Hardening + Preview |
UIDs require auth + limit counter + masked history; preview on schema creation; last_generated |
~2 hours |
Yes (UIDs require auth) |
✅ Live |
| v2.3.0 |
Refactoring |
Split ouruka.go (handlers.go, models.go, helpers.go, middleware.go, cleanup.go) |
~1–2 hours |
No |
✅ Live |
| v2.3.1 |
Keyify Auth |
POST /v2/keyify now requires X-API-KEY (consistent with all other endpoints) |
~15 min |
Yes |
✅ Live |
| v2.4.0 |
Version bump |
Label bump only, no functional changes vs. 2.3.1 |
— |
No |
✅ Live |
| v2.5.0 |
Key rotation + Pagination + Changelog flag |
/v2/me/rotate-key (self-service), /v2/tenants/{id}/rotate-key (admin), history ?offset=, changelog internal flag |
~2 hrs |
No |
✅ Live |
| v2.6.0 |
BigBang package (internal) |
Internal package without limits (-1 sentinel), only assignable via DB; POST/PATCH reject it with 403. For load tests. |
~1 hr |
No |
✅ Live |
| v2.7.0 |
Perf-test harness |
Fixed perf-test tenant per server (provisioning script), external ladder runner, perf_runs table, admin ingestion/read endpoints |
~1 day |
No |
✅ Done: perf_runs + admin endpoints (live), ladder runner (--ladder/--json/--report-url), provisioning script. Only CI integration open (requires remote) |
| v2.8.0 |
Client IP hardening |
Evaluate X-Forwarded-For/X-Real-IP: real source_ip in history + per-client rate limiting instead of globally per proxy |
~1 hr |
No |
✅ Live |
| v3.0.0 |
Native iOS App |
SwiftUI: dashboard, schemas, history, changelog, settings. Auth via API key + Keychain |
~3–4 days |
No |
✅ Submitted (App Store, 2026-04-27) |
| v3.1.0 |
App — Localisation |
English, French, Spanish (all three set) via Xcode String Catalog |
~2 days |
No |
Planned |
| v3.2.0 |
App — Feature expansion |
History pagination, create/delete schemas (pattern builder), key rotation, health screen |
~2–3 days |
No |
Planned |
| v3.3.0 |
App — Changelog improvements |
Internal/external marking, separate public vs. technical entries |
~0.5 days |
No |
Planned |
| v4.0.0 |
Automated tests |
HTTP integration test suite (apitest/) against a running instance, tenant lifecycle per test |
~1 day |
No |
🔨 24 tests (core, tenant, schema/generate, UID, keyify, mappings, hash, rotation, schema/monthly limit, rate limit, privacy); open: CI integration |
| v5.0.0 |
Web frontend |
Browser interface for non-technical users (likely Next.js) |
~1 week |
No |
Concept phase |