What's Changed
Important
This release include the following important changes:
- Support for structured output in the UI.
- Federated authentication support, so you can use Github tokens or any other token issuer to authenticate with Terrakube dynamically.
- Improve how to share states between workspace.
- Experimental support for shared webhooks.
Features
- Support multiple secrets, ConfigMap envFrom, and pod template annotations for ephemeral executor pods by @putz612 in #3149
- feat(ui): implement formatted structured plan output and improve terraform importer by @alfespa17 in #3133
- feat: configure HikariCP for improved datasource connection pooling by @alfespa17 in #3028
- feat: Atlantis-style PR workflow for webhook events by @klinux in #2987
- feat: update buildpack to
jammy-java-tiny:0.0.104in registry POM by @alfespa17 in #3040 - feat: update buildpack to
jammy-java-tiny:0.0.104in api POM by @alfespa17 in #3041 - feat: support global KEEP_JOB_HISTORY with workspace override by @leobin001 in #3042
- feat: introduce federated authentication support for enhanced multi-issuer handling by @alfespa17 in #3045
- feat: skip Spring Boot image building in workflows and set
pullPolicytoIF_NOT_PRESENTin POM files by @alfespa17 in #3070 - feat: add unit tests for AWS/Azure/GCP storage services across all implementations by @alfespa17 in #3072
- feat: add startup tests for MSSQL and PostgreSQL using Testcontainers by @alfespa17 in #3069
- feat: add unit tests for WorkspaceService and update TfCloudController response types by @alfespa17 in #3090
- feat: Adding code owner by @alfespa17 in #3092
- feat: Improved devcontainer support (linux/windows) by @alfespa17 in #3095
- feat: add support for global and shared remote state configuration in workspaces by @alfespa17 in #3097
- feat: Introduced access denial handling with detailed error messages. by @alfespa17 in #3098
- feat: add claim conditions to federated credentials by @p2pdkivenko in #3114
- feat(executor): add support for custom ephemeral configuration labels by @alfespa17 in #3139
- feat(executor): integrate TerrakubeClient in SetupWorkspaceImpl and PlanStructuredOutputService by @alfespa17 in #3161
- refactor(encryption): reuse SecureRandom instance for IV generation in EncryptionService by @alfespa17 in #3162
- feat(security): add JWT-based authentication and security configuration for executor by @alfespa17 in #3164
- feat(webhooks): shared repo-level VCS webhooks v3 by @alfespa17 in #3147
Fixes
- fix(ui): Disable splitting of build artifacts for antd to avoid runtime errors by @MatthewJohn in #3017
- fix: remove redundant Azure Storage Blob version by @alfespa17 in #3020
- fix: add instanceOwner-based permission checks in TeamTokenController by @alfespa17 in #3023
- fix(ui): Add regex validation for workspace webhook branch/file fields by @hirokimatsueda in #3026
- fix: standardize boolean property usage in RBAC changelog updates by @alfespa17 in #3027
- Fix VCS form validation to prevent PKCS#1 private key errors by @hirokimatsueda in #3029
- fix(ui): Add pull requests read permission to GitHub App setup instructions by @hirokimatsueda in #3063
- fix: set default false for
pr_workflow_enabledin webhook_event table by @alfespa17 in #3067 - fix: Allow unauthed requests to /terraform/index.json by @ivarmedi in #3068
- fix: sonar issues by @alfespa17 in #3073
- fix: sonar issues by @alfespa17 in #3074
- fix: handle InterruptedException in GitLabWebhookService by @alfespa17 in #3075
- fix: use temporary directories for workspace setup by @alfespa17 in #3076
- fix: ssh folder logic generation using a temp folder by @alfespa17 in #3087
- fix(ui): use GraphQL for organization list to fix slow load times by @rtrompier in #3088
- fix: update GitHub workflows to use specific action commit by @alfespa17 in #3089
- fix: handle default export for Ansi component in TerminalOutput by @alfespa17 in #3118
- fix(executor): handle InterruptedException in PlanStructuredOutputService by @alfespa17 in #3142
- fix(workflows): update permissions in manual_release.yml for improved security [skip ci] by @alfespa17 in #3143
- fix(workflows): bump action versions in manual_release.yml by @alfespa17 in #3145
Dependencies
View Dependency Changes
- deps: bump org.wiremock.integrations:wiremock-spring-boot from 4.1.0 to 4.2.0 by @dependabot[bot] in #3015
- deps: bump software.amazon.awssdk:bom from 2.41.34 to 2.42.4 by @dependabot[bot] in #3014
- deps: bump io.fabric8:kubernetes-client from 7.5.2 to 7.6.0 by @dependabot[bot] in #3013
- deps: bump org.yaml:snakeyaml from 2.5 to 2.6 by @dependabot[bot] in #3012
- deps: bump axios from 1.13.5 to 1.13.6 in /ui by @dependabot[bot] in #3011
- deps: bump cronstrue from 3.12.0 to 3.13.0 in /ui by @dependabot[bot] in #3010
- deps: bump minimatch from 10.2.2 to 10.2.4 in /ui by @dependabot[bot] in #3009
- deps: bump react-router-dom from 7.13.0 to 7.13.1 in /ui by @dependabot[bot] in #3008
- deps: bump globals from 17.3.0 to 17.4.0 in /ui by @dependabot[bot] in #3007
- deps: bump @types/node from 25.3.0 to 25.3.3 in /ui by @dependabot[bot] in #3006
- deps: bump rollup from 4.46.2 to 4.59.0 in /ui by @dependabot[bot] in #3004
- deps: bump software.amazon.awssdk:bom from 2.42.4 to 2.42.8 by @dependabot[bot] in #3037
- deps: bump io.fabric8:kubernetes-client from 7.6.0 to 7.6.1 by @dependabot[bot] in #3036
- deps: bump org.apache.maven:maven-artifact from 3.9.12 to 3.9.13 by @dependabot[bot] in #3035
- deps: bump rollup-plugin-visualizer from 7.0.0 to 7.0.1 in /ui by @dependabot[bot] in #3033
- deps: bump antd from 6.3.1 to 6.3.2 in /ui by @dependabot[bot] in #3032
- deps: bump react-icons from 5.5.0 to 5.6.0 in /ui by @dependabot[bot] in #3030
- deps: bump @types/node from 25.3.3 to 25.3.5 in /ui by @dependabot[bot] in #3031
- deps: bump com.google.cloud:libraries-bom from 26.76.0 to 26.77.0 by @dependabot[bot] in #3034
- deps: bump org.projectlombok:lombok from 1.18.42 to 1.18.44 by @dependabot[bot] in #3062
- deps: bump org.apache.maven:maven-artifact from 3.9.13 to 3.9.14 by @dependabot[bot] in #3061
- deps: bump software.amazon.awssdk:bom from 2.42.8 to 2.42.13 by @dependabot[bot] in #3060
- deps: bump jgit.version from 7.5.0.202512021534-r to 7.6.0.202603022253-r by @dependabot[bot] in #3057
- deps: bump com.microsoft.sqlserver:mssql-jdbc from 13.2.1.jre11 to 13.4.0.jre11 by @dependabot[bot] in #3053
- deps: bump react-oidc-context from 3.3.0 to 3.3.1 in /ui by @dependabot[bot] in #3056
- deps: bump redis.clients:jedis from 7.3.0 to 7.4.0 by @dependabot[bot] in #3051
- deps: bump antd from 6.3.2 to 6.3.3 in /ui by @dependabot[bot] in #3046
- deps: bump @typescript-eslint/parser from 8.56.1 to 8.57.0 in /ui by @dependabot[bot] in #3047
- deps: bump org.wiremock.integrations:wiremock-spring-boot from 4.2.0 to 4.2.1 by @dependabot[bot] in #3055
- deps: bump com.google.cloud:libraries-bom from 26.77.0 to 26.78.0 by @dependabot[bot] in #3059
- deps: bump @vitejs/plugin-react from 5.1.4 to 5.2.0 in /ui by @dependabot[bot] in #3052
- deps: bump @types/node from 25.3.5 to 25.5.0 in /ui by @dependabot[bot] in #3048
- deps: bump jest-environment-jsdom from 30.2.0 to 30.3.0 in /ui by @dependabot[bot] in #3050
- deps: bump typescript-eslint from 8.56.1 to 8.57.0 in /ui by @dependabot[bot] in #3049
- deps: bump oidc-client-ts from 3.4.1 to 3.5.0 in /ui by @dependabot[bot] in #3054
- deps: bump jest from 30.2.0 to 30.3.0 in /ui by @dependabot[bot] in #3058
- deps: bump software.amazon.awssdk:bom from 2.42.13 to 2.42.18 by @dependabot[bot] in #3084
- deps: bump core-js-pure from 3.48.0 to 3.49.0 in /ui by @dependabot[bot] in #3080
- deps: bump @babel/preset-env from 7.29.0 to 7.29.2 in /ui by @dependabot[bot] in #3079
- deps: bump @babel/standalone from 7.29.1 to 7.29.2 in /ui by @dependabot[bot] in #3078
- deps: bump flatted from 3.3.3 to 3.4.2 in /ui by @dependabot[bot] in #3071
- deps: bump cronstrue from 3.13.0 to 3.14.0 in /ui by @dependabot[bot] in #3077
- deps: bump vite from 7.3.1 to 8.0.2 in /ui by @dependabot[bot] in #3081
- deps: bump org.testcontainers:testcontainers-bom from 1.20.6 to 2.0.4 by @dependabot[bot] in #3082
- deps: bump handlebars from 4.7.8 to 4.7.9 in /ui by @dependabot[bot] in #3093
- deps: bump antd from 6.3.3 to 6.3.5 in /ui by @dependabot[bot] in #3112
- deps: bump software.amazon.awssdk:bom from 2.42.18 to 2.42.23 by @dependabot[bot] in #3108
- deps: bump com.google.cloud:libraries-bom from 26.78.0 to 26.79.0 by @dependabot[bot] in #3111
- deps: bump vite from 8.0.2 to 8.0.3 in /ui by @dependabot[bot] in #3110
- deps: bump react-router-dom from 7.13.1 to 7.13.2 in /ui by @dependabot[bot] in #3106
- deps: bump org.apache.groovy:groovy-all from 5.0.4 to 5.0.5 by @dependabot[bot] in #3109
- deps: bump web-vitals from 5.1.0 to 5.2.0 in /ui by @dependabot[bot] in #3105
- deps: bump typescript-eslint from 8.57.1 to 8.57.2 in /ui by @dependabot[bot] in #3104
- deps: bump axios from 1.13.6 to 1.14.0 in /ui by @dependabot[bot] in #3101
- deps: bump com.azure.spring:spring-cloud-azure-dependencies from 6.1.0 to 6.2.0 by @dependabot[bot] in #3113
- deps: bump @vitejs/plugin-react from 5.2.0 to 6.0.1 in /ui by @dependabot[bot] in #3102
- deps: bump unzipit from 1.4.3 to 2.0.0 in /ui by @dependabot[bot] in #3099
- deps: group dependencies in Dependabot configuration for better management by @alfespa17 in #3119
- deps: bump the ui-packages group in /ui with 3 updates by @dependabot[bot] in #3121
- deps: bump vite from 8.0.3 to 8.0.5 in /ui by @dependabot[bot] in #3123
- Update dependabot.yml to ignore specific dependencies [skip ci] by @alfespa17 in #3125
- deps: bump the mvn-packages group with 4 updates by @dependabot[bot] in #3126
- deps: bump the ui-packages group across 1 directory with 5 updates by @dependabot[bot] in #3132
- deps: bump typescript from 5.9.3 to 6.0.2 in /ui by @dependabot[bot] in #3128
- deps: bump html-react-parser from 5.2.17 to 6.0.0 in /ui by @dependabot[bot] in #3129
- deps: bump react-js-cron from 5.2.0 to 6.0.2 in /ui by @dependabot[bot] in #3130
- deps: bump axios from 1.14.0 to 1.15.0 in /ui by @dependabot[bot] in #3134
- deps: bump the mvn-packages group with 3 updates by @dependabot[bot] in #3135
- deps: bump the ui-packages group in /ui with 11 updates by @dependabot[bot] in #3136
- deps: bump software.amazon.awssdk:bom from 2.42.33 to 2.42.34 in the mvn-packages group by @dependabot[bot] in #3137
- deps: bump react-router-dom from 7.14.0 to 7.14.1 in /ui in the ui-packages group by @dependabot[bot] in #3138
- deps: bump org.bouncycastle:bcpkix-jdk18on from 1.83 to 1.84 in the mvn-packages group by @dependabot[bot] in #3141
- deps: bump follow-redirects from 1.15.11 to 1.16.0 in /ui by @dependabot[bot] in #3144
- deps: bump the ui-packages group in /ui with 9 updates by @dependabot[bot] in #3151
- deps: bump the mvn-packages group with 5 updates by @dependabot[bot] in #3150
- deps: bump dotenv-expand from 12.0.3 to 13.0.0 in /ui by @dependabot[bot] in #3152
- deps: bump uuid from 13.0.0 to 14.0.0 in /ui by @dependabot[bot] in #3153
- Support multiple secrets, ConfigMap envFrom, and pod template annotations for ephemeral executor pods by @putz612 in #3149
- deps: bump the ui-packages group in /ui with 9 updates by @dependabot[bot] in #3157
- Update Spring Boot version to 3.5.14 by @alfespa17 in #3156
- deps: bump the mvn-packages group with 7 updates by @dependabot[bot] in #3154
- deps(buildpacks): update buildpack versions by @alfespa17 in #3158
- deps: bump software.amazon.awssdk:bom from 2.42.41 to 2.43.0 in the mvn-packages group by @dependabot[bot] in #3160
New Contributors
- @MatthewJohn made their first contribution in #3017
- @hirokimatsueda made their first contribution in #3026
- @leobin001 made their first contribution in #3042
- @putz612 made their first contribution in #3149
Full Changelog: 2.30.0...2.31.0