What's Changed
- Feature/mobile app by @Ino-Bagaric in #3080
- Feature/mobile app by @Ino-Bagaric in #3083
- Feature/mobile app by @Ino-Bagaric in #3085
- Feature/mobile app by @Ino-Bagaric in #3087
- Team based access by @Soumyadas15 in #3084
- fix by @Soumyadas15 in #3090
- fix by @Soumyadas15 in #3091
- fix by @Soumyadas15 in #3092
- fix by @Soumyadas15 in #3093
- fix by @Soumyadas15 in #3094
- Feature/mobile app by @Ino-Bagaric in #3095
- Feat/new project structure by @kubet in #3096
- fix by @Soumyadas15 in #3097
- Feat/new project structure by @kubet in #3098
- fix by @Soumyadas15 in #3099
- fix by @Soumyadas15 in #3100
- fix by @Soumyadas15 in #3101
- Feat/new project structure by @kubet in #3102
- Feat/new project structure by @kubet in #3103
- Feat/new project structure by @kubet in #3104
- fix(routes): implement retries with backoff for notifying sandboxes o… by @kubet in #3106
- fix(v2): bulletproof v2-default — fix 3 schema/insert paths that stil… by @kubet in #3107
- fix(v2): unblock autonomous e2e — wake races, supervisor liveness, co… by @kubet in #3110
- Feat/new project structure by @kubet in #3111
- Feat/new project structure by @kubet in #3112
- Team based access by @Soumyadas15 in #3113
- Feat/new project structure by @kubet in #3115
- fix(v2): close the 4th structure_version DEFAULT 1 path by @kubet in #3116
- fix(v2): per-user opencode daemons need umask 0022 not 0027 by @kubet in #3117
- fix(v2): per-user daemons join docker + abc groups, drop project-grou… by @kubet in #3118
- Feat/new project structure by @kubet in #3120
- fix(v2): warm opencode trigger plugin at master startup so cron fires… by @kubet in #3121
- feat: revert to non linux based user separation by @kortix-agent in #3122
- feat(channels): project-scoped channels — pick a project, route to it… by @kubet in #3123
- fix(web/docs): bridge fumadocs-mdx / fumadocs-core Source.files mismatch by @kortix-agent in #3124
- Feat/new project structure by @kubet in #3125
- fix(channels): kill Slack double-replies — drop retries, dispatch async by @kubet in #3126
- fix(channels): only respond to @-mentions in Slack channel messages by @kubet in #3128
- Feature/mobile app by @Ino-Bagaric in #3159
- Feature/mobile app by @Ino-Bagaric in #3178
- Feature/mobile app by @Ino-Bagaric in #3179
- Feat/rework get things ready by @kubet in #3181
- Kortix repo native poc by @kortix-agent in #3182
- feat: project scoped channels setup with secrets manager by @kortix-agent in #3183
- feat(channels): lean [[channels]] config, one entry per platform by @kortix-agent in #3184
- Feat/permissions by @Ino-Bagaric in #3189
- Feat/permissions by @Ino-Bagaric in #3190
- feat(channels/cli): channels cli & cli bundler by @kortix-agent in #3188
- chore(governance): change-management controls for SOC 2 (CC8.1) by @markokraemer in #3191
- chore(security): CI security scanning (Dependabot, CodeQL, gitleaks) by @markokraemer in #3192
- chore(security): gitignore token-bearing npmrc + key files by @markokraemer in #3194
- ci(dependabot): target newer-kortix (CI-gated security PRs) by @markokraemer in #3195
- fix(deps): patch 23 transitive vulns via scoped overrides by @markokraemer in #3201
- fix(deps): finish vuln remediation — 15 more overrides, tauri, exceptions doc by @markokraemer in #3202
- Feat/permissions by @Ino-Bagaric in #3203
- feat(channels): slack v2 — multi-project routing, live streaming, native hitl, slash commands by @kortix-agent in #3205
- Localize hardcoded web UI text by @markokraemer in #3206
- feat(channels): cleanup channels and fix description by @kortix-agent in #3209
- Feat/permissions by @Ino-Bagaric in #3208
- Feat/permissions by @Ino-Bagaric in #3210
- feat(starter): ship project-brain memory system by @markokraemer in #3211
- feat(billing): Billing v2 — per-seat plans, sandbox compute metering, Kortix LLM gateway by @kortix-agent in #3216
- chore(billing): treat feature flag as the source of truth for billing gates by @kortix-agent in #3218
- Feat/improvements by @Ino-Bagaric in #3219
- fix(web): normalize container border-radius to design-system rounded-2xl by @markokraemer in #3221
- Feat/improvements by @Ino-Bagaric in #3222
- Executor Connect Proxy + seamless GitHub-backed projects + PR-bot dogfood by @markokraemer in #3223
- feat(migration): migrate legacy Kortix users to the new platform (machine → project, end-to-end) by @kortix-agent in #3228
- Cutover prep: merge main + migration prod-readiness by @markokraemer in #3230
- Promote newer-kortix to main (platform cutover) by @markokraemer in #3229
- fix: unblock dev deploys — manifest-schema in API image + icon-pack Vercel pin by @markokraemer in #3231
- fix(web): build dev.kortix.com on Node 22 (Vercel) by @markokraemer in #3232
- fix(web): brand-correct container radius in ErrorDetails (unblock dev.kortix.com) by @markokraemer in #3233
- test(api): remote black-box contract e2e suite by @markokraemer in #3234
- fix(db): restore account_members composite PK + live A→Z e2e suite by @markokraemer in #3235
- infra(terraform): codify dev API host (Lightsail), adopt live box by @markokraemer in #3236
- test(api): harden live A→Z e2e to real route shapes (66/66 green) by @markokraemer in #3237
- test(api): point e2e connectors check at executor route (75/75 green) by @markokraemer in #3238
- infra(terraform): adopt prod box + ECS Fargate autoscaling module by @markokraemer in #3239
- fix(migration): locate opencode store on newer JustAVPS images by @kortix-agent in #3240
- chore(api/config): remove dead/unused env keys by @markokraemer in #3242
- fix(api): bundle starter templates in API image (fixes dev Create-project 502) by @markokraemer in #3243
- refactor(api/github): GitHub backing is App-only — drop server PAT path by @markokraemer in #3244
- infra(api-host): nginx must use direct proxy_pass (not upstream{}) for blue/green swap by @markokraemer in #3246
- ci(deploy-dev): always build+deploy both frontend & backend on merge to main by @markokraemer in #3245
- ci(deploy-dev): actually always-build both api+frontend (finish #3245) by @markokraemer in #3247
- ci(deploy-dev): drop deploy-frontend-to-VPS (dev.kortix.com is Vercel) by @markokraemer in #3249
- infra(dev): define the full dev env as code (Lightsail + Cloudflare DNS + bootstrap) by @markokraemer in #3248
- infra: ECS Fargate autoscaling for dev + prod (shared modules) by @markokraemer in #3250
- refactor(web): single billing flag, remove NEXT_PUBLIC_ENV_MODE by @markokraemer in #3251
- ci(dev): deploy API to ECS via OIDC (retire SSH-to-box) + carry live ECS fixes by @markokraemer in #3253
- ci: clean-slate dev→prod pipeline (main=dev, production=prod, unified version) by @markokraemer in #3255
- ci: split desktop out of dev pipeline; decouple CLI publish by @markokraemer in #3262
- chore(deps): bump docker/build-push-action from 6 to 7 by @dependabot[bot] in #3256
- chore(deps): bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in #3257
- chore(deps): bump docker/setup-qemu-action from 3 to 4 by @dependabot[bot] in #3258
- chore(deps): bump aws-actions/configure-aws-credentials from 4 to 6 by @dependabot[bot] in #3259
- chore(deps): bump dorny/paths-filter from 3 to 4 by @dependabot[bot] in #3260
- fix(api): bundle snapshot-builder source so ECS image can list sandbox templates by @markokraemer in #3263
- prod: ECS Fargate stack + prod-branch promote/release/deploy flow by @markokraemer in #3265
- fix(billing): set prod per-seat Stripe price (placeholder → 500 on checkout) by @markokraemer in #3267
- fix(sandbox): web tool proxies work on Daytona via KORTIX_API_URL-derived router by @markokraemer in #3268
- Integrate product work into main: project-home refactor + apps nav by @markokraemer in #3269
New Contributors
- @Soumyadas15 made their first contribution in #3084
- @dependabot[bot] made their first contribution in #3256
Full Changelog: v0.8.44...v0.9.0
What's Changed
- Feature/mobile app by @Ino-Bagaric in #3080
- Feature/mobile app by @Ino-Bagaric in #3083
- Feature/mobile app by @Ino-Bagaric in #3085
- Feature/mobile app by @Ino-Bagaric in #3087
- Team based access by @Soumyadas15 in #3084
- fix by @Soumyadas15 in #3090
- fix by @Soumyadas15 in #3091
- fix by @Soumyadas15 in #3092
- fix by @Soumyadas15 in #3093
- fix by @Soumyadas15 in #3094
- Feature/mobile app by @Ino-Bagaric in #3095
- Feat/new project structure by @kubet in #3096
- fix by @Soumyadas15 in #3097
- Feat/new project structure by @kubet in #3098
- fix by @Soumyadas15 in #3099
- fix by @Soumyadas15 in #3100
- fix by @Soumyadas15 in #3101
- Feat/new project structure by @kubet in #3102
- Feat/new project structure by @kubet in #3103
- Feat/new project structure by @kubet in #3104
- fix(routes): implement retries with backoff for notifying sandboxes o… by @kubet in #3106
- fix(v2): bulletproof v2-default — fix 3 schema/insert paths that stil… by @kubet in #3107
- fix(v2): unblock autonomous e2e — wake races, supervisor liveness, co… by @kubet in #3110
- Feat/new project structure by @kubet in #3111
- Feat/new project structure by @kubet in #3112
- Team based access by @Soumyadas15 in #3113
- Feat/new project structure by @kubet in #3115
- fix(v2): close the 4th structure_version DEFAULT 1 path by @kubet in #3116
- fix(v2): per-user opencode daemons need umask 0022 not 0027 by @kubet in #3117
- fix(v2): per-user daemons join docker + abc groups, drop project-grou… by @kubet in #3118
- Feat/new project structure by @kubet in #3120
- fix(v2): warm opencode trigger plugin at master startup so cron fires… by @kubet in #3121
- feat: revert to non linux based user separation by @kortix-agent in #3122
- feat(channels): project-scoped channels — pick a project, route to it… by @kubet in #3123
- fix(web/docs): bridge fumadocs-mdx / fumadocs-core Source.files mismatch by @kortix-agent in #3124
- Feat/new project structure by @kubet in #3125
- fix(channels): kill Slack double-replies — drop retries, dispatch async by @kubet in #3126
- fix(channels): only respond to @-mentions in Slack channel messages by @kubet in #3128
- Feature/mobile app by @Ino-Bagaric in #3159
- Feature/mobile app by @Ino-Bagaric in #3178
- Feature/mobile app by @Ino-Bagaric in #3179
- Feat/rework get things ready by @kubet in #3181
- Kortix repo native poc by @kortix-agent in #3182
- feat: project scoped channels setup with secrets manager by @kortix-agent in #3183
- feat(channels): lean [[channels]] config, one entry per platform by @kortix-agent in #3184
- Feat/permissions by @Ino-Bagaric in #3189
- Feat/permissions by @Ino-Bagaric in #3190
- feat(channels/cli): channels cli & cli bundler by @kortix-agent in #3188
- chore(governance): change-management controls for SOC 2 (CC8.1) by @markokraemer in #3191
- chore(security): CI security scanning (Dependabot, CodeQL, gitleaks) by @markokraemer in #3192
- chore(security): gitignore token-bearing npmrc + key files by @markokraemer in #3194
- ci(dependabot): target newer-kortix (CI-gated security PRs) by @markokraemer in #3195
- fix(deps): patch 23 transitive vulns via scoped overrides by @markokraemer in #3201
- fix(deps): finish vuln remediation — 15 more overrides, tauri, exceptions doc by @markokraemer in #3202
- Feat/permissions by @Ino-Bagaric in #3203
- feat(channels): slack v2 — multi-project routing, live streaming, native hitl, slash commands by @kortix-agent in #3205
- Localize hardcoded web UI text by @markokraemer in #3206
- feat(channels): cleanup channels and fix description by @kortix-agent in #3209
- Feat/permissions by @Ino-Bagaric in #3208
- Feat/permissions by @Ino-Bagaric in #3210
- feat(starter): ship project-brain memory system by @markokraemer in #3211
- feat(billing): Billing v2 — per-seat plans, sandbox compute metering, Kortix LLM gateway by @kortix-agent in #3216
- chore(billing): treat feature flag as the source of truth for billing gates by @kortix-agent in #3218
- Feat/improvements by @Ino-Bagaric in #3219
- fix(web): normalize container border-radius to design-system rounded-2xl by @markokraemer in #3221
- Feat/improvements by @Ino-Bagaric in #3222
- Executor Connect Proxy + seamless GitHub-backed projects + PR-bot dogfood by @markokraemer in #3223
- feat(migration): migrate legacy Kortix users to the new platform (machine → project, end-to-end) by @kortix-agent in #3228
- Cutover prep: merge main + migration prod-readiness by @markokraemer in #3230
- Promote newer-kortix to main (platform cutover) by @markokraemer in #3229
- fix: unblock dev deploys — manifest-schema in API image + icon-pack Vercel pin by @markokraemer in #3231
- fix(web): build dev.kortix.com on Node 22 (Vercel) by @markokraemer in #3232
- fix(web): brand-correct container radius in ErrorDetails (unblock dev.kortix.com) by @markokraemer in #3233
- test(api): remote black-box contract e2e suite by @markokraemer in #3234
- fix(db): restore account_members composite PK + live A→Z e2e suite by @markokraemer in #3235
- infra(terraform): codify dev API host (Lightsail), adopt live box by @markokraemer in #3236
- test(api): harden live A→Z e2e to real route shapes (66/66 green) by @markokraemer in #3237
- test(api): point e2e connectors check at executor route (75/75 green) by @markokraemer in #3238
- infra(terraform): adopt prod box + ECS Fargate autoscaling module by @markokraemer in #3239
- fix(migration): locate opencode store on newer JustAVPS images by @kortix-agent in #3240
- chore(api/config): remove dead/unused env keys by @markokraemer in #3242
- fix(api): bundle starter templates in API image (fixes dev Create-project 502) by @markokraemer in #3243
- refactor(api/github): GitHub backing is App-only — drop server PAT path by @markokraemer in #3244
- infra(api-host): nginx must use direct proxy_pass (not upstream{}) for blue/green swap by @markokraemer in #3246
- ci(deploy-dev): always build+deploy both frontend & backend on merge to main by @markokraemer in #3245
- ci(deploy-dev): actually always-build both api+frontend (finish #3245) by @markokraemer in #3247
- ci(deploy-dev): drop deploy-frontend-to-VPS (dev.kortix.com is Vercel) by @markokraemer in #3249
- infra(dev): define the full dev env as code (Lightsail + Cloudflare DNS + bootstrap) by @markokraemer in #3248
- infra: ECS Fargate autoscaling for dev + prod (shared modules) by @markokraemer in #3250
- refactor(web): single billing flag, remove NEXT_PUBLIC_ENV_MODE by @markokraemer in #3251
- ci(dev): deploy API to ECS via OIDC (retire SSH-to-box) + carry live ECS fixes by @markokraemer in #3253
- ci: clean-slate dev→prod pipeline (main=dev, production=prod, unified version) by @markokraemer in #3255
- ci: split desktop out of dev pipeline; decouple CLI publish by @markokraemer in #3262
- chore(deps): bump docker/build-push-action from 6 to 7 by @dependabot[bot] in #3256
- chore(deps): bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in #3257
- chore(deps): bump docker/setup-qemu-action from 3 to 4 by @dependabot[bot] in #3258
- chore(deps): bump aws-actions/configure-aws-credentials from 4 to 6 by @dependabot[bot] in #3259
- chore(deps): bump dorny/paths-filter from 3 to 4 by @dependabot[bot] in #3260
- fix(api): bundle snapshot-builder source so ECS image can list sandbox templates by @markokraemer in #3263
- prod: ECS Fargate stack + prod-branch promote/release/deploy flow by @markokraemer in #3265
- fix(billing): set prod per-seat Stripe price (placeholder → 500 on checkout) by @markokraemer in #3267
- fix(sandbox): web tool proxies work on Daytona via KORTIX_API_URL-derived router by @markokraemer in #3268
- Integrate product work into main: project-home refactor + apps nav by @markokraemer in #3269
New Contributors
- @Soumyadas15 made their first contribution in #3084
- @dependabot[bot] made their first contribution in #3256
Full Changelog: v0.8.44...v0.9.0