What unkeyed/unkey shipped
Written by FoxPlug from the repository's own releases; not affiliated with Unkey. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/unkeyed/unkey; Unkey did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of October 5, 2026
What shipped
- The deployments API accepts branch and time filters, returns the fields the deployments table shows, and orders by createdAt so later pages load faster. Pull request #7788
- The dashboard reads usage from the API through the SDK instead of tRPC, with better skeletons, caching and tidier props. Pull request #7702
- Permissions.updateRole was added so the role edit dialog can move off tRPC, taking the ID or name plus optional name and description. Pull request #7805
- Permissions.updatePermission was added, filling in a missing permission CRUD operation for the edit dialog. Pull request #7802
- The dashboard now updates permissions through the SDK, using permissions.updatePermission and showing the API's 409 detail when a slug is taken. Pull request #7803
- The dashboard reads deployments through the SDK instead of tRPC, with the deployments collection as the only place that fetches them. Pull request #7790
- Dashboard requests are no longer logged when they come from the dashboard with the X-Unkey-Client header and a JWT principal. Pull request #7770
- Krane now requires hostname spread for deployments with more than one replica so pods do not all land on a single node. Pull request #7748
- Krane caps replicas per node at a third of the maximum instead of one node per replica, with a minimum of three domains. Pull request #7772
- The dashboard time range picker keeps focus while typing and no longer drops the start time when it is later than the end. Pull request #7753
Why it matters
This week moved several dashboard pages off internal tRPC calls and onto the public API through the SDK, including usage and deployments, while adding the permission and role update endpoints those pages needed. The deployments API also gained filters and more fields, and several fixes reduce noise and flakiness in local development and tests. For anyone using the project, more of what the dashboard does now goes through the same API that is available to them.
Changelog entry
- Feat(api): deployment list filters, new response fields and createdAt order Pull request #7788
- Refactor(dashboard): move usage to SDK Pull request #7702
- Feat(api): add permissions.updateRole Pull request #7805
- Feat(api): add permissions.updatePermission Pull request #7802
- Refactor(dashboard): update permissions through the SDK Pull request #7803
- Refactor(dashboard): read deployments through the SDK Pull request #7790
- Fix(api): dont log dashboard requests Pull request #7770
- Krane: enforce hostname spread for scalable deployments Pull request #7748
- Krane: cap replicas per node instead of one node per replica Pull request #7772
- Fix(dashboard): time range picker inputs Pull request #7753
- Api: resolve environment regions by name Pull request #7787
- Fix: update Next.js to 16.3.6 Pull request #7755
This week: deployments API gained branch and time filters plus more response fields. Dashboard usage, deployments, limits and permissions now read and write through the SDK. Krane spreads replicas across nodes. Dashboard requests are no longer logged when they come from the dashb
This week we moved several dashboard surfaces onto the public API through the SDK. Usage reads workspace.getUsage, limits read workspace.getLimits, deployments read listDeployments, and permission edits use permissions.updatePermission and permissions.updateRole. The deployments API also accepts branch and time filters, returns more of the fields the table shows, and orders by createdAt so later pages load faster. On the infrastructure side, krane now caps replicas per node and requires hostname spread for multi-replica deployments. We also stopped logging dashboard requests that come through the dashboard client, and fixed focus handling in the dashboard time range picker.
Week of September 28, 2026
What shipped
- Added /v2/rootKeys.createKey API endpoint for creating root keys with URN permission validation. Pull request #7552
- Dashboard now lets you see who is signed into your portal and revoke individual end user sessions. Pull request #7660
- Policy conditions now support Remote IP matching with ranges or CIDR notation for firewall rules. Pull request #7640
- Dashboard now routes read queries to PlanetScale read replicas across regions for better performance. Pull request #7697
- Usage billing page now lets you switch between current and previous billing periods. Pull request #7685
- Added /~/ deep links to dashboard pages that automatically redirect to your current workspace. Pull request #7695
- Worker steps now display as running immediately instead of waiting until completion. Pull request #7679
- Documentation explains how to choose least-privilege URN permissions for root keys. Pull request #7686
Why it matters
Root key management got significantly more capable with the new v2 API, URN permission builder, and remote IP policy conditions. Portal session revocation and dashboard performance improvements make managing production systems easier. The shift toward region-aware reads and immediate feedback on long-running operations reflects operational maturity.
Changelog entry
- API: /v2/rootKeys.createKey endpoint with URN permission validation Pull request #7552
- Dashboard: Revoke individual end user portal sessions Pull request #7660
- Dashboard: Remote IP match conditions in policy builder (in/not in ranges) Pull request #7640
- API: gateway.setPolicies and gateway.updatePolicy accept remoteIp matches Pull request #7639
- Frontline: remoteIp match expression for gateway policies Pull request #7638
- Dashboard: Route reads to PlanetScale read-only replica Pull request #7697
- Dashboard: Switch usage billing periods with period query param Pull request #7685
- Dashboard: /~/ deep links redirect to current workspace Pull request #7695
- Worker: Display steps as running immediately Pull request #7679
- Dashboard: Delay workspace loading spinner 300ms to reduce flicker Pull request #7698
- Dashboard: Truncate long API key and root key secrets with ellipsis Pull request #7670
- Docs: Root key URN permission reference and configuration guide Pull request #7686
Shipped: root key v2 API with URN validation, portal session revocation from dashboard, Remote IP policy conditions, regional read replicas, and better UX for long-running operations.
This week's updates focus on production readiness and operational control. The new /v2/rootKeys.createKey API validates permissions server-side while the dashboard builder creates keys with URN-based policies. You can now revoke individual portal sessions without affecting the whole portal. Remote IP conditions let policies match client IP ranges, and the dashboard uses PlanetScale read replicas across regions for faster loads. Long-running worker steps now show progress immediately instead of a blank screen.
Week of September 21, 2026
What shipped
- Upgraded Go to version 1.27.1 with strict claim decoding, updated golangci-lint to 2.13.2, and replaced deprecated patterns like ptr.P with native Go expressions. Pull request #7320
- Released API version 1.1.46 with URN permission support for project, app, and deployment handlers. Release
- Redesigned app cards in the dashboard and added list view with search functionality for projects with larger numbers of apps. Pull request #7597
- Added URN permissions to apps.listApps endpoint with read access patterns for specific and wildcard app scopes. Pull request #7562
- Added URN permissions to projects.listProjects endpoint with a new pagination.FetchAuthorized utility to load only authorized rows. Pull request #7556
- Refactored dashboard to create and delete keyspaces through the SDK instead of tRPC routes. Pull request #7531
- Added krane recovery from API outages and cross-replica coordination to prevent panics and race conditions from concurrent instances. Pull request #7450
- Migrated dashboard ratelimit overrides to read through the SDK, removing the tRPC ratelimit.override.list route. Pull request #7575
- Fixed override restoration when setting an override for a previously deleted identifier. Pull request #7598
- Replaced arbitrary font sizes with a formalized type scale in the dashboard UI. Pull request #7608
Why it matters
This week focused on completing URN permission authorization across API endpoints and accelerating the dashboard's SDK migration away from tRPC. The Go upgrade brings the codebase current with standard library improvements. Together these changes improve permission granularity, reduce infrastructure complexity, and enhance the dashboard user experience.
Changelog entry
- Upgrade: go to 1.27.1 with strict claim decoding; update golangci-lint to 2.13.2; replace ptr.P with new expressions Pull request #7320
- Release: api 1.1.46 with URN permissions on project, app, and deployment handlers Release
- Feat(dashboard): redesign app cards and add list view with search Pull request #7597
- Feat(api): authorize apps.listApps with URN permissions for app read access Pull request #7562
- Feat(api): authorize projects.listProjects with URN permissions; add pagination.FetchAuthorized utility Pull request #7556
- Refactor(dashboard): create and delete keyspaces through SDK instead of tRPC Pull request #7531
- Feat(krane): recover from API outages and coordinate replicas to prevent concurrent instance race conditions Pull request #7450
- Refactor(dashboard): read ratelimit overrides through SDK, remove tRPC ratelimit.override.list Pull request #7575
- Fix(api): restore deleted overrides when set again Pull request #7598
- Refactor(ui): replace arbitrary font sizes with formalized type scale Pull request #7608
Shipped: Go 1.27.1 upgrade, API 1.1.46 with expanded URN permissions, dashboard SDK migration for keyspaces & overrides, app card redesign with search, and krane outage recovery.
This week we upgraded to Go 1.27.1, released API 1.1.46 with URN permission coverage across more endpoints, and continued migrating the dashboard from tRPC to SDK calls. We redesigned app cards with search functionality, added outage recovery for krane, and improved tooltip consistency across the UI. URN permissions now cover projects, apps, deployments, and more.
Week of September 14, 2026
What shipped
- Frontline 1.0.26-rc.1 released with gateway policy fixes for workspace keyspaces and duplicate-key error resolution. Release
- Project cards now display each app's deployment status and in-flight or failed builds on the overview page. Pull request #7417
- Dashboard now warns before deleting API keys or root keys that were used in the last 7 days. Pull request #7463
- Portal re-implements the analytics:scope permission end-to-end, making it requestable again through the API and integrate dialog. Pull request #7410
- Key tables now display stored prefixes and last-four character suffixes for both root and API keys. Pull request #7429
- Dashboard sidebar compute meter now serves cached data while fresh data loads, reducing page settle time from 2.64s to 1.62s. Pull request #7441
- Removed all custom WorkOS login code in favor of hosted WorkOS and their widgets across the board. Pull request #7316
- Portal operator URNs added to the URN catalog so portal routes work correctly when root keys move to URN format. Pull request #7377
- Fixed relative timestamp updates on project cards that were not refreshing until page interaction. Pull request #7474
Why it matters
This week brings better visibility into deployments and key usage on the dashboard, stronger safeguards against accidental key deletion, and foundational work to support portal permissions through the new analytics scope. Performance improvements to the dashboard and fixes to gateway policies make the platform more reliable.
Changelog entry
- Frontline 1.0.26-rc.1: Fixed gateway policies to work with workspace keyspaces and resolved duplicate-key errors on clusters Release
- Project cards now display each app's deployment status and build progress Pull request #7417
- Added warning when deleting API keys or root keys used in the last 7 days Pull request #7463
- Portal analytics:scope permission now fully implemented end-to-end Pull request #7410
- Key tables display stored prefixes and last-four character suffixes Pull request #7429
- Gateway request log drawer now loads details from correct table Pull request #7434
- Dashboard compute meter now serves cached data while fetching fresh updates Pull request #7441
- Portal operator URNs added to support URN-based root keys Pull request #7377
- Migrated authentication to hosted WorkOS solution Pull request #7316
- Fixed relative timestamps on project cards to update without page interaction Pull request #7474
Frontline 1.0.26-rc.1 shipped. Better deployment visibility, safer key deletion, analytics scope back in the portal, and gateway policy fixes.
This week's updates focus on platform stability and usability. Frontline 1.0.26-rc.1 brings gateway policy fixes, project cards now show deployment status directly, and we added safeguards that warn before deleting recently-used keys. The portal re-implements analytics scope end-to-end, and we optimized dashboard performance by serving cached compute meter data. Removed all custom WorkOS code in favor of their hosted solution.