ОUЯUKΛ / Changelog
DE EN

2.8.0 · 2026-07-26

Changed

  • Real client IP detection: X-Forwarded-For (or X-Real-IP) is now evaluated. The history source_ip now shows the actual client IP instead of the reverse proxy IP, and rate limiting on public endpoints now applies per real client rather than globally per proxy.
  • Prerequisite: the upstream reverse proxy must correctly set X-Forwarded-For. Without the proxy header, behaviour is unchanged (fallback to the direct connection IP).

2.5.0 · 2026-07-23

Added

  • POST /v2/me/rotate-key — rotate your own API key (self-service, authenticated with the current key). The new key is returned once; the old one is immediately invalidated.
  • POST /v2/tenants/{id}/rotate-key — admin emergency function (master key) to regenerate a tenant's API key if they have lost it.
  • GET /v2/history now supports pagination via ?offset=N (e.g. ?limit=50&offset=50 for the second page).
  • Changelog entries can be marked as [intern]; the internal field in the /v2/changelog response lets clients (e.g. the app) hide purely internal versions.

2.3.1 · 2026-04-26

Changed

  • POST /v2/keyify now requires an X-API-KEY header (consistent with all other endpoints).
  • Swagger documentation for /v2/keyify updated: @Security ApiKeyAuth, 401 response added.

2.2.0 · 2026-04-26

Added

  • UID endpoints /v2/uid/numeric and /v2/uid/alpha now require an X-API-KEY header.
  • Generated UIDs are stored masked in history (only the last 5 characters visible, e.g. ***********g7h8i).
  • UIDs count towards the monthly ID quota and are rejected when the trial or limit is exceeded.
  • POST /v2/schemas: the response now includes preview — a preview of the first ID without consuming the counter.
  • GET /v2/schemas: each schema now includes preview, last_generated (the most recently generated ID), and last_generated_at (its timestamp).

2.1.0 · 2026-04-25

Added

  • Mapping tables: central lookup tables for attribute-based ID generation.
  • New placeholder {MAP:tablename} in schema patterns — value is resolved from the table at runtime.
  • POST /v2/mappings/{table} — create or update an entry (white → 101).
  • GET /v2/mappings — list all your mapping tables.
  • GET /v2/mappings/{table} — retrieve all entries for a table.
  • DELETE /v2/mappings/{table}/{entry} — delete a single entry.
  • DELETE /v2/mappings/{table} — delete an entire table.
  • Package-dependent limits for table count and entries per table.
  • GET /v2/me now also shows mapping limits and current table count.

2.0.0 · 2026-04-25

Added

  • Package system: four tiers with defined limits (schemas and IDs per month).
    • Discovery — 2 schemas, 250 IDs/month (14-day trial period)
    • Orbit — 5 schemas, 2,000 IDs/month
    • Galaxy — 10 schemas, 5,000 IDs/month
    • Universe — 20 schemas, 10,000 IDs/month
  • Monthly ID usage is tracked automatically; when a limit is reached, a clear response with an upgrade hint is returned.
  • GET /v2/me now returns package limits and current usage.
  • PATCH /v2/tenants/{id} — change a tenant's package, status, or bonus quota (master key only).

Changed

  • New Discovery tenants automatically receive a 14-day trial period.
  • Existing tenants were migrated to Galaxy.

1.5.0 · 2026-04-24

Added

  • DELETE /v2/tenants/{id} — full deletion of a tenant including all schemas, IDs, and history data (Ouruka backend only, requires master key).
  • Rate limiting for stateless endpoints: /v2/uid/numeric, /v2/uid/alpha, /v2/keyify, /v2/changelog — max. 60 requests per minute per IP address.

1.4.0 · 2026-04-24

Added

  • New schema type hash for deterministic content fingerprinting.
  • Same input → always the same hash value (SHA-256, configurable length: 16, 32, 40, or 64 characters).
  • Typical use case: supplier or record deduplication without a dedicated hash service.
  • Hash IDs are stored in history like all other IDs — duplicates are immediately visible.

1.3.0 · 2026-04-23

Added

  • {COUNTER:N:interval} — counter with automatic reset per period. Intervals: daily, monthly, quarterly, yearly. Example: {COUNTER:4:yearly} → restarts at 0001 every year.
  • DELETE /v2/schemas/{name} now returns a summary: how many history entries and counters were deleted.

Changed

  • History stability improved: internal database structure optimised.
  • History cleanup: more robust background cleanup logic.

1.2.2 · 2026-04-20

Added

  • GET /v2/changelog — service version history available as JSON.

Changed

  • POST /v2/schemas: a schema can no longer be modified after creation. To change it: delete the schema and recreate it.
  • Security improvements in the authentication area.

Fixed

  • DELETE /v2/schemas/{name} now cleans up completely (history entries are also deleted).

1.2.1 · 2026-03-19

Added

  • uid: allowed lengths extended to 256 and 512 characters.
  • Swagger: tag order defined (system → tenants → schemas → generate → uid → keyify → history).
  • Swagger: descriptions of all endpoints revised — placeholder explanations, examples, and use cases added.
  • Swagger: host and scheme are now set dynamically at runtime via SWAGGER_HOST (production: https://ouruka.com).

Changed

  • Swagger examples consistently aligned with the order scenario (ORD-202503-RED-XL-00001).

1.2.0 · 2026-03-12

Added

  • Versioning via build-time ldflags (-X main.version=1.2.0).
  • Automatic cleanup worker (interval: 12h) for expired data.
  • GET /health now returns "version".

Changed

  • Internal architecture: Server struct with context-aware background worker.

1.1.0 · 2026-02-25

Added

  • POST /v2/uid/numeric — cryptographically random numeric ID (lengths: 16, 32, 64, 128).
  • POST /v2/uid/alpha — cryptographically random alphanumeric ID (lengths: 16, 32, 64, 128).
  • POST /v2/keyify — convert a UTF-8 string to a system-safe ASCII key (umlaut transliteration).

1.0.0 · 2026-02-25

Added

  • GET /health — system status with PostgreSQL and Redis check.
  • POST /v2/tenants — create a tenant (internal endpoint, master key protected).
  • GET /v2/me — retrieve your own tenant data.
  • POST /v2/schemas — create or update an ID schema.
  • GET /v2/schemas — list all schemas for the tenant.
  • DELETE /v2/schemas/{name} — delete a schema and reset its counter.
  • POST /v2/generate/{name} — generate an ID from a schema (with VAR1–VAR4 support).
  • GET /v2/history — history of generated IDs (limit: 1–200).
  • Multi-tenancy via X-API-KEY header.
  • Redis counter with AOF persistence.
  • PostgreSQL for tenant and schema management as well as history.