Repository navigation
v0.4.0
What's Changed
- release: a self-contained compose file for running openplan without a checkout by @vishu42 in #304
- feat(web): the templates page, with registration, sync and revisions by @vishu42 in #305
- feat(site): a one-page website for openplan by @vishu42 in #307
- feat(site): count page views with Cloudflare Web Analytics by @vishu42 in #308
- fix(web): narrow the sign-in card by a fifth by @vishu42 in #309
- docs: move specs and plans out of the repo by @vishu42 in #311
- feat(web): search templates in Add template instead of listing them all by @vishu42 in #310
- fix(runner): build subprocess environment from an allowlist by @vishu42 in #332
- fix(executor): clear the dumpable flag at startup by @vishu42 in #333
- feat: add the openplan logo, favicon and README header by @vishu42 in #340
- docs: open the README with the banner and tidy its layout by @vishu42 in #341
- feat(executor): run each session as a pool user of its own by @vishu42 in #334
- fix(config): refuse the published encryption keys in production by @vishu42 in #345
- fix(authentication): require a session outside /v1 too by @vishu42 in #343
- fix(api): cap JSON request bodies at 1 MiB by @vishu42 in #342
- test(authorization): run the model's permission matrix under go test by @vishu42 in #346
- docs(architecture): say the run sandbox ships in 1.0 (#245) by @vishu42 in #351
- fix(compose): stop publishing the api's port in the release stack by @vishu42 in #349
- fix(api): answer every JSON error in one envelope by @vishu42 in #348
- fix(postgres): run migrations one replica at a time, and run the Postgres tests in CI by @vishu42 in #347
- fix(deps): build with Go 1.26.9 and scan for vulnerabilities in CI by @vishu42 in #350
- fix(web): say why a stack's page is empty when its stack never loads (#101) by @darksied-svg in #357
- fix(web): keep the /stacks header in every state and say what to do when it's empty by @darksied-svg in #358
- fix(web): keep Environment and Access on one row beside a long stack name by @darksied-svg in #359
- fix(web): say when a template's runs fail to load, instead of "No runs yet" by @darksied-svg in #360
- fix(web): say when a template's credentials fail to load by @darksied-svg in #361
- fix(web): cut a long ref in the template list and set statuses on their row's baseline by @darksied-svg in #362
- test(api): accept the mux's redirect status, which Go 1.26 made 307 by @vishu42 in #364
- feat(executor): run every activity's body in a gVisor sandbox (#245) by @vishu42 in #352
- refactor: rename NewOpaqueToken to NewRandomToken by @vishu42 in #306
- fix(sandbox): close six gaps in the sandbox runtime (#245) by @vishu42 in #365
- fix(site): show the logo in the header and footer, and line the header up with the page by @darksied-svg in #366
- fix(site): give link previews the brand kit's social card by @darksied-svg in #367
- fix(site): show setup commands that run as pasted by @darksied-svg in #368
- fix(site): keep the features heading under the headline on phones by @darksied-svg in #369
- fix(site): use the app's type steps and top bar by @darksied-svg in #371
- feat(site): bring the page to life with the product's own motion by @darksied-svg in #373
- fix(site): stop numbering the features; name them in the rail by @darksied-svg in #374
- fix(site): keep only the blue bar beside the features by @darksied-svg in #377
- fix(site): make Register templates answer the pointer by @darksied-svg in #378
- feat(site): play feature loops once, lead with Run it locally, show the product by @darksied-svg in #379
- fix(web): poll a template's runs list slowly once no run in it is moving by @vishu42 in #380
- fix(runs): number each run log in the workflow, derive its key on the control plane, and show the command that ran by @vishu42 in #372
- refactor(api): drop isPlatformAdmin from /v1/me by @vishu42 in #382
- refactor(api): use snake_case for every JSON field by @vishu42 in #383
- fix(api): contract bugs from the API surface review by @vishu42 in #381
- feat(api): generate a Postman collection from docs/openapi.yaml by @vishu42 in #385
- docs(openapi): drop the authorization-unavailable 503 and the stale Me note by @vishu42 in #394
- feat(api): serve every error as an RFC 9457 problem document by @vishu42 in #397
- feat(stacks): show a stack's slug only when chosen, and set the template count apart by @vishu42 in #396
- fix(api): deny writes on an unseen object with 404 by @vishu42 in #399
- feat(api): answer 202 for async work and register at /template-registrations by @vishu42 in #400
- feat(stacks): put Environment and Access in the preview header, beside Open stack by @vishu42 in #401
- feat(api): PUT for grants and config, /approve, and /logs/{name} by @vishu42 in #402
- refactor(api): send runs, registrations, revisions and logs as response types by @vishu42 in #403
- feat(api): one list envelope with cursor paging by @vishu42 in #406
- fix(authz): make stack roles a ladder by @vishu42 in #414
- fix(api): let stack operators and above search users by @vishu42 in #415
- feat: live run logs through Valkey (#164) by @vishu42 in #412
- test(site): drop the site and README content guards by @vishu42 in #418
- fix(web): call the template's Credentials tab Environment by @vishu42 in #419
- Replay the last release's workflow histories in CI, and write down the upgrade contract by @vishu42 in #417
- feat(api): record each resource change of a saved plan and serve it per run (#420) by @darksied-svg in #425
- feat(web): Changes and Logs views on a run, each resource the plan touches (#421) by @darksied-svg in #429
- feat(web): move stack Access onto openplan UI (#423) by @darksied-svg in #426
- Platform grants: grant and revoke admin, editor and viewer on the platform by @vishu42 in #428
- feat(web): platform grant calls and the can_manage_platform_access capability (#424) by @darksied-svg in #431
- feat(web): Access acts at once: no confirm, no Undo, no redirect (#424) by @darksied-svg in #432
- feat(web): /access, where platform admins grant admin, editor and viewer (#424) by @darksied-svg in #433
- fix(compose): give the release stack's executor what gVisor needs (#245) by @vishu42 in #435
New Contributors
- @darksied-svg made their first contribution in #357
Full Changelog: v0.2.0...v0.4.0