Repository navigation
Releases: riipandi/saka
Releases · riipandi/saka
Release list
v20261009a
Changelog
- 6e9e9c6: Merge pull request #7 from riipandi/frontend-integration (@riipandi)
- dd213da: build(goreleaser): run the per-package vp pipeline and align release build tags (@riipandi)
- e6b6240: chore(cli): remove debug smoke probes and their tasks (@riipandi)
- 7a30d2b: chore(components): scaffold the workspace package (@riipandi)
- ef5b9f4: chore(observability): restore the compose-sre stack without the smoke probes and metrics tasks (@riipandi)
- 2a6f86e: chore: cleanup victoria stack (@riipandi)
- a957256: chore: exclude .delta directory from git (@riipandi)
- 422cc4d: chore: exclude .task directory from git (@riipandi)
- 2c8abdb: chore: fingerprintjs dependency, zed lsp settings, yaak environment sync (@riipandi)
- 842a8c4: chore: reconfigure vite+ (@riipandi)
- 4a48886: chore: reconfigure viteplus oxc configuration rules (@riipandi)
- 09000f3: chore: reorganize project tasks (@riipandi)
- 7dc7416: chore: simplified comments (@riipandi)
- 3aca3ec: ci: build frontend artifacts through the per-package vp pipeline (@riipandi)
- 6e01eee: ci: install Playwright Chromium for the browser-mode unit tests (@riipandi)
- 267c15c: ci: rename release workflow to release stable (@riipandi)
- e309924: ci: resolve the Playwright CLI from the e2e-tests package (@riipandi)
- f1a7d10: ci: unset NODE_ENV for the frontend unit tests (@riipandi)
- 57037ed: docs(plan): frontend foundation — cookies, configuration, connect-query (@riipandi)
- b986a16: docs(plan): normalize the oauth settings prefix (@riipandi)
- 249d5b7: docs(plan): oauth sso by configuration — the oauth section, config-backed builtin providers, the SPA flow (@riipandi)
- c834f85: docs(plan): oauth sso — one store for every provider, the enabled-provider listing, the SPA flow (@riipandi)
- d7fa913: feat(identity): the remember flag picks the session window (@riipandi)
- 180a1b6: feat(oauthsso): the enabled-provider listing and the oauth master switch (@riipandi)
- d82989c: feat(transport): the request log quiets the browser and compiler noise (@riipandi)
- 831e503: feat(webapp): auth-aware shared fetch, connect-query transport (@riipandi)
- c98e255: feat(webapp): backend-driven configuration layer (@riipandi)
- 68c7626: feat(webapp): cookies library adopted from react-cookie on cookie-es (@riipandi)
- 38c23ef: feat(webapp): instant reload restore — cached profile cookie with background verification (@riipandi)
- 57802ff: feat(webapp): the device fingerprint rides every request (@riipandi)
- 0239ade: feat(webapp): the oauth sign-in flow on the actual configuration (@riipandi)
- 4678445: feat(webapp): wire sign-in to the Connect auth contract with worker-held tokens (@riipandi)
- c7fa6db: feat(webapp): wire the vitest test setup with unit, browser, and storybook projects (@riipandi)
- c50057d: feat: add full React TanStack app from riipandi/vite-react-template (@riipandi)
- f86c3ce: feat: initial setup React with StyleX (@riipandi)
- 43b20b6: fix(bench): the load test paces its virtual users instead of flooding (@riipandi)
- 2166e31: fix(docker): build the image through the per-package vp pipeline (@riipandi)
- 305d0c8: fix(oauthsso): remove the superseded callback route file (@riipandi)
- 30d7227: fix(oauthsso): the SPA callback lands outside the reserved surface prefixes (@riipandi)
- d489e62: fix(transport): align v2 error masking with the surface (@riipandi)
- ca1775a: fix(webapp): assign tableHolder in data-grid stories missing table registration (@riipandi)
- dd23915: fix(webapp): bring the ported components up to the type-aware lint standard (@riipandi)
- c895f2e: fix(webapp): guard row pin/expand against missing table prop (fallback to row.table) (@riipandi)
- 57c7b7b: fix(webapp): harden auth wiring — cross-tab sync, inconclusive-vs-refused semantics, RPC retry (@riipandi)
- 38dfec3: fix(webapp): redirect_to and logout message not working (@riipandi)
- 3d08c3f: fix(webapp): subscribe expanded/pinning atoms so row state changes repaint (@riipandi)
- 01ccc77: fix(webapp): sync StyleX virtual path (@riipandi)
- f887a1d: fix(webapp): the dev shell serves the stylex runtime with a live hmr context (@riipandi)
- 8c7ad19: fix: exclude assets prefix URL from request log (@riipandi)
- 4a3570e: fix: lint issue (@riipandi)
- ff0e35c: fix: middleware tsd console pipe not forwarded (@riipandi)
- 92a96f0: perf(webapp): prefetch the login page's boot queries (@riipandi)
- 3e9a48c: refactor(comments): drop provenance references from code comments (@riipandi)
- d33bde7: refactor(components): move core styles and use-media-query into the package (@riipandi)
- 86509eb: refactor(frontend): compose vite pipeline from webapp package, prune dead app scaffolding (@riipandi)
- 472fd2c: refactor(frontend): independent package pipelines (@riipandi)
- cf721c1: refactor(frontend): workspace dependency for shared vite plugin, condensed webapp config docs (@riipandi)
- a828636: refactor(identity): the password sessions provider is credential (@riipandi)
- 493f54b: refactor(plugins): share one StyleX plugin for every frontend package (@riipandi)
- 2a5fef2: refactor(transport): migrate connect-go to v2 (@riipandi)
- 6f8d18d: refactor(uilibs): extract the component tree, own the storybook pipeline (@riipandi)
- 1250bd1: refactor(vite): move vitest config into vite.config.ts and drop the direct vitest dependency (@riipandi)
- a78f2f5: refactor(webapp): guard persistence on the cookies library, proto wire types (@riipandi)
- 55884e1: refactor(webapp): remove all no-unsafe-type-assertion suppressions via honest types (@riipandi)
- 1b916ca: refactor(webapp): store the token pair as per-item cookies instead of one JSON cookie (@riipandi)
- f9fded7: refactor(webapp): sweep the foundation residue (@riipandi)
- f3daf3b: test(cmd): update seeder counts for the access settings (@riipandi)
- 86fe4ea: test(e2e): the login screen follows the configured providers (@riipandi)
- fb6ff41: test(e2e): the session foundation flow (@riipandi)
v20261006a
v20260920a
REST + ConnectRPC ported from Pocket ID.
Changelog
- ef6113b: Merge pull request #5 from riipandi/refactor-connectrpc (@riipandi)
- 0e6d2d0: chore(yaak): complete the request collection against the endpoint reference (@riipandi)
- db88c5b: chore(yaak): generate a unique identity for the create-user request (@riipandi)
- 7da3d63: chore(yaak): generate fixture values with the faker plugin (@riipandi)
- 723c1d3: chore(yaak): keep credentials out of the tracked workspace (@riipandi)
- 310e7d2: chore(yaak): read the account identity from the environment (@riipandi)
- a0fea7c: chore(yaak): read the sign-in credentials from the environment (@riipandi)
- b512a72: chore(yaak): reorganize the workspace around the endpoint reference (@riipandi)
- a23ddcd: chore(yaak): retire stale requests and strip committed credentials (@riipandi)
- 539e7ae: chore: add ConnectRPC refactor remediation plan (@riipandi)
- e3f7524: chore: enable http2 nginx (@riipandi)
- 9362786: chore: exclude gen directory from git (@riipandi)
- 8e515d2: chore: exclude gen directory from git (@riipandi)
- c775140: chore: inherit auth Yaak requests (@riipandi)
- 4a095a6: chore: reformat yaak request body (@riipandi)
- ee4e790: chore: remove generated files (@riipandi)
- fdffde2: chore: update AGENTS.md (@riipandi)
- b551c7a: chore: update Yaak API requests parameter (@riipandi)
- 96dc265: chore: update Yaak folders (@riipandi)
- d6ea484: chore: update Yaak requests (@riipandi)
- cf6db7f: chore: update connectrpc refactor plan (@riipandi)
- f887f28: chore: update docker compose stack (@riipandi)
- 2a1a133: chore: update docker compose stack (@riipandi)
- 8663dc2: chore: update gitignore (@riipandi)
- fe5baca: ci: fix cleanup gh actions workflow (@riipandi)
- c13aea7: ci: fix container build gh actions workflow (@riipandi)
- 15b2f0c: ci: fix container build gh actions workflow (@riipandi)
- a255397: docs(remediation): correct the phase 06 record and close the phase files (@riipandi)
- dfaeac7: docs(remediation): record the phase 01 decisions and gate (@riipandi)
- 7cd8aae: docs(remediation): record the phase 02 results (@riipandi)
- 90b4423: docs(remediation): record the phase 03 results (@riipandi)
- 89c1d89: docs(remediation): record the phase 04 results (@riipandi)
- de956d7: docs(remediation): record the phase 05 and 06 outcomes (@riipandi)
- 501fc5b: docs(remediation): record the working local development credential (@riipandi)
- ce2148f: docs(rpc): close the connectrpc remediation (@riipandi)
- 7393b1e: docs(rpc): correct the HTTP method for connect procedures (@riipandi)
- 1371953: docs(rpc): correct the connectrpc plan record (@riipandi)
- 6635cb0: docs(rpc): document the remaining connect procedures (@riipandi)
- d0a64f0: docs(rpc): mark the connectrpc refactor plan complete (@riipandi)
- 283f7b9: feat(auth): accept password and remember on sign-in (@riipandi)
- d9baca8: feat(config): resolve every authentication lifetime from the environment (@riipandi)
- bd71558: feat(rpc): accept X-API-KEY on the admin application API (@riipandi)
- 730ac0f: feat(rpc): cut apis, appconfig, audit logs, and custom claims over to ConnectRPC (@riipandi)
- bc58675: feat(rpc): cut device approval and version metadata over to ConnectRPC (@riipandi)
- 3a81924: feat(rpc): cut oidc clients, consents, and scim providers over to ConnectRPC (@riipandi)
- 4fbb1df: feat(rpc): cut signup, MFA, one-time access, and email verification over to ConnectRPC (@riipandi)
- 4d96c5d: feat(rpc): cut users, groups, and account over to ConnectRPC (@riipandi)
- 14f0f8c: feat(rpc): cut webhooks over to ConnectRPC (@riipandi)
- 4e3a092: feat(rpc): expose version and api-key services over /rpc (@riipandi)
- c6650e9: feat(rpc): freeze protobuf contracts and code generation (@riipandi)
- 308f7f4: feat(rpc): issue internal bearer tokens and ship the auth worker (@riipandi)
- 25c5e60: feat(transport): mount ConnectRPC /rpc surface with smoke HealthService (@riipandi)
- a518f23: fix(api-client): drop the removed device-approval REST calls (@riipandi)
- a6deb0b: fix(build): generate the ConnectRPC code in every build path (@riipandi)
- 1477550: fix(build): repair the generated-file ignore rules and the codegen policy (@riipandi)
- 23b2bcb: fix(deploy): allow the rpc headers in the nginx cors layer (@riipandi)
- f125111: fix(rpc): align the served transports with the documented contract (@riipandi)
- 40e4ae6: fix(rpc): allow the rpc credential headers in cors (@riipandi)
- 7afb033: fix(rpc): answer an unknown user with not_found on the consent listing (@riipandi)
- 689b7cd: fix(rpc): answer rate limits with a connect error (@riipandi)
- f5eb5ee: fix(rpc): normalize the rate limit key so budgets apply (@riipandi)
- a0e633b: fix(rpc): restrict the machine credential to the documented surface (@riipandi)
- fbfc60b: fix(rpc): serve snake_case field names on every json transport (@riipandi)
- 19112f3: fix(rpc): serve the public bootstrap configuration anonymously (@riipandi)
- a26f270: fix(security): satisfy the gosec rules without suppression (@riipandi)
- 1ed9e32: fix(session): answer an unparseable session id with not_found (@riipandi)
- a378a95: fix(validate): report the real validation failure instead of malformed JSON (@riipandi)
- 9fb4e80: fix(yaak): generate the api key name so the request can repeat (@riipandi)
- 83ad2ce: fix(yaak): send the page window in the shape each procedure declares (@riipandi)
- 5f34cc4: refactor(auth): drop cookies and issue every credential in the body (@riipandi)
- 638f301: refactor(config): drop the dead session_duration setting (@riipandi)
- 1f6b99f: refactor(config): keep the smtp relay settings environment-only (@riipandi)
- 9405f80: refactor(identity): drop the empty package files (@riipandi)
- 4845392: refactor(oidc): build every redirect target from its parts (@riipandi)
- 6ca011c: refactor(rpc): align the response metadata and list shape with REST (@riipandi)
- 4210c75: refactor(rpc): drop the self-profile duplicates from AccountService (@riipandi)
- 6c2c049: refactor(rpc): drop the unused rpc middleware (@riipandi)
- 2106ad5: refactor(rpc): retire the remaining internal REST surface (@riipandi)
- daa8eb9: refactor(rpc): spell the api service procedures with the API initialism (@riipandi)
- 76ee220: refactor(rpc): state the recovery contract and use rpcerr for it (@riipandi)
- 6c68ee5: refactor(rpc): use ofetch in the auth worker and untrack the contract stamp (@riipandi)
- e6416a0: refactor: change proto file generated output (@riipandi)
- 5de068a: refactor: delete the no-op plumbing the cutover left behind (@riipandi)
- ff32a16: style: format the device login SDK module (@riipandi)
- 6a3698e: test(rpc): pin the connect service and retained-rest route inventories (@riipandi)
v20260918b
v20260918a
Changelog
- 39dc003: Merge pull request #4 from riipandi/overhaul-stack (@riipandi)
- 0ef13a9: build: adopt taskfile and improve dev tooling (@riipandi)
- 8fe98fb: build: revamp go plugin and fix version output (@riipandi)
- a5e06b6: cchore: reorganize Yaak request folders into nested subfolders (@riipandi)
- 43d6740: chore: add /rpc to Vite proxy list (@riipandi)
- 72625b0: chore: add AGENTS.md (@riipandi)
- a01d36d: chore: add ConnectRPC migration plan (@riipandi)
- b32e492: chore: add ConnectRPC toolchain (@riipandi)
- e90d0c9: chore: add api client sdk placholder (@riipandi)
- ab78997: chore: add database stub (@riipandi)
- 9aa5923: chore: add plan to create API client (@riipandi)
- 96746e2: chore: add plan to port Pocket ID (@riipandi)
- 6fd1ae5: chore: add plan to port Pocket ID gap (@riipandi)
- 6fa49c8: chore: add porting remediation plan (@riipandi)
- a4b8789: chore: add refined porting plan (@riipandi)
- 5d99497: chore: add task for test api client (@riipandi)
- 26d0b61: chore: archived old plans (@riipandi)
- cebc9eb: chore: change testcontainer docker images (@riipandi)
- bd30b3b: chore: change user-agent name on resty http client (@riipandi)
- acfdeb4: chore: clean excluded ldap artifacts (@riipandi)
- 66285d6: chore: cleanup and refine comments (@riipandi)
- 66b2c58: chore: cleanup and refine comments (@riipandi)
- 808e87b: chore: cleanup comments (@riipandi)
- 443e2ac: chore: cleanup comments (@riipandi)
- 934852f: chore: dev tooling and local TLS setup (@riipandi)
- 1b2ca0b: chore: exclude tmpl from oxfmt (@riipandi)
- b0697c7: chore: frontend tooling, yaak spec sync, and storage doc alignment (@riipandi)
- 456eb15: chore: glauth LDAP dev server with postgres backend (@riipandi)
- 1faef05: chore: gofmt formatting fixes (@riipandi)
- e9f51d0: chore: improved docker compose stack (@riipandi)
- ae412a9: chore: load env file for task run (@riipandi)
- d4f20ce: chore: oxlint type-aware rules and pocketid compose service (@riipandi)
- 4465fd9: chore: refined plan and add porting PRD (@riipandi)
- 2e74458: chore: refined plan and add porting PRD (@riipandi)
- 80171c9: chore: remove excluded application image requests (@riipandi)
- ad7b8b3: chore: remove excluded database residue and verify the fresh schema (@riipandi)
- beacc8c: chore: remove obsolete module scaffolding (@riipandi)
- 44ef1f2: chore: remove stray verification binary (@riipandi)
- 8fde2ac: chore: rename HealthzHandler to HealthCheckHandler (@riipandi)
- 289e4be: chore: rename request id prefix (@riipandi)
- c14182c: chore: reorganize Yaak API requests (@riipandi)
- 8cfb7bd: chore: reorganize Yaak API requests (@riipandi)
- 10e0c4b: chore: reorganize Yaak API requests (@riipandi)
- b21d1b0: chore: reorganize Yaak API requests (@riipandi)
- 8acb65b: chore: reorganize Yaak folders into nested subfolders (@riipandi)
- e5c28ee: chore: set default arg task test go (@riipandi)
- 7bd0003: chore: set explicit version for Pocket ID docker compose (@riipandi)
- d289b83: chore: update AGENTS.md (@riipandi)
- 18369f7: chore: update AGENTS.md (@riipandi)
- cacaa63: chore: update AGENTS.md (@riipandi)
- 9f35e01: chore: update AGENTS.md (@riipandi)
- 1709ed0: chore: update ConnectRPC refactor plan (@riipandi)
- d2a7e11: chore: update README.md (@riipandi)
- 5e191ae: chore: update Yaak API requests parameter (@riipandi)
- 8e3aaf2: chore: update Yaak requests (@riipandi)
- 0fd91d8: chore: update dependencies (@riipandi)
- 004b2fd: chore: update dependencies (@riipandi)
- f220919: chore: update docs (@riipandi)
- cfd5c5d: chore: update plan instruction to use Comlink WebWorkers" (@riipandi)
- 443d369: chore: update refactor plan auth section (@riipandi)
- 42e3d35: chore: use compact CLI output (@riipandi)
- 0dd651b: ci: cache homebrew cellar and skip auto-update on macOS runners (@riipandi)
- a13188c: ci: cache homebrew cellar and skip auto-update on macOS runners (@riipandi)
- 7bbb9c0: ci: fix gh actions release workflow (@riipandi)
- fac7eb7: ci: optimize actions caching for node_modules, homebrew, and testcontainers images (@riipandi)
- 02fc975: ci: optimize go cache (@riipandi)
- 4f25426: ci: remove CI test from tag trigger (@riipandi)
- cb99d53: ci: update actions/cache to v6 (@riipandi)
- 11988eb: db: consolidate application schemas to internal (@riipandi)
- 6440b1f: db: fold remediation migrations into initial schema (@riipandi)
- b52886c: db: remove obsolete client columns (@riipandi)
- e17a7e0: db: remove unused oidc refresh token table (@riipandi)
- 3fe648b: docs(llms): add architecture improvement plan (6 phases) (@riipandi)
- f540ba2: docs(llms): gotchas + upstream endpoint gap register (@riipandi)
- ac86597: docs(llms): mandate request validation with ozzo-validation (@riipandi)
- 5d19147: docs(llms): status column on the endpoint reference (@riipandi)
- 6f9fc00: docs(llms): upstream endpoint reference grouped by spec tag (@riipandi)
- 5a961ae: feat(antree): add postgres-backed task queue ported from backlite (@riipandi)
- e27dec3: feat(api): standard response envelope with typed TypeIDs (@riipandi)
- dcad7a8: feat(auth): session-cookie sign-in, guards, account self-service (@riipandi)
- c8a70e6: feat(core): wire postgres-backed stores with go-sqlbuilder and request-id middleware (@riipandi)
- 812e8e6: feat(db): migration session lock, backup perms, schema check (@riipandi)
- 77fcb74: feat(email): compile templates in vite email plugin (@riipandi)
- e554403: feat(email): plugin-style logs and fail on error (@riipandi)
- a4d1b40: feat(federation): JWKS lifecycle and well-known endpoints (@riipandi)
- 635ba4f: feat(federation): OIDC provider — authorize PKCE, token, userinfo (@riipandi)
- eeb424f: feat(identity): admin surface — groups, claims, audit API, user CRUD (@riipandi)
- 3dfea87: feat(queue): wire antree into the registry lifecycle (@riipandi)
- 63c8f4e: feat: add CIMD-lite metadata clients with refresh endpoint (phase 9D) (@riipandi)
- 25f0f12: feat: add OIDC device flow and pushed authorization requests (@riipandi)
- 132c6d4: feat: add Postgres TOTP MFA storage (@riipandi)
- 0ae66e9: feat: add React Email (@riipandi)
- e0d80b6: feat: add TOTP verification service (@riipandi)
- 6814645: feat: add advance health check (@riipandi)
- 27c8a97: feat: add application configuration CRUD (phase 9B) (@riipandi)
- 43f3ddb: feat: add async logger via loglayer (@riipandi)
- 23efb26: feat: add canonical encrypted value prefix (@riipandi)
- 22a7347: feat: add configurable application data directory (@riipandi)
- acd2371: feat: add cryptography module (@riipandi)
- 4616c35: feat: add final postgres schema clea...
v20260330c
Changelog
- a2c52e5: chore: update README.md (@riipandi)
- 8760fba: chore: update README.md (@riipandi)
- 292c637: chore: update README.md (@riipandi)
- 16aafb8: chore: update README.md (@riipandi)
- 9bcd43b: chore: update README.md (@riipandi)
- 68729ab: chore: update README.md (@riipandi)
- 229f1df: chore: update favicon (@riipandi)
- 654c738: chore: update manifest.json (@riipandi)
- dc7fbcc: fix: code formatting (@riipandi)
- 02f70da: refactor: rename project identifier (@riipandi)