From 25ded57c5d4479b3506410af07b084c5071c0f68 Mon Sep 17 00:00:00 2001 From: Samuel K Date: Tue, 19 May 2026 08:41:33 -0500 Subject: [PATCH] fix(ci): remove release commit to avoid unsigned commit from semantic-release Per semantic-release FAQ, making commits during release adds significant complexity including branch protection bypass. Use GitHub Releases for changelog instead of committing CHANGELOG.md. --- .github/workflows/semantic-release.yml | 6 - .releaserc.json | 8 - CHANGELOG.md | 814 ------------------------- package.json | 4 - 4 files changed, 832 deletions(-) delete mode 100644 CHANGELOG.md diff --git a/.github/workflows/semantic-release.yml b/.github/workflows/semantic-release.yml index 106f8afed..cf4ce9584 100644 --- a/.github/workflows/semantic-release.yml +++ b/.github/workflows/semantic-release.yml @@ -30,12 +30,6 @@ jobs: with: fetch-depth: 0 token: ${{ steps.app-token.outputs.token }} - persist-credentials: true - - - name: Configure git identity - run: | - git config user.name "devsy-app[bot]" - git config user.email "277138668+devsy-app[bot]@users.noreply.github.com" - uses: actions/setup-node@v6 with: diff --git a/.releaserc.json b/.releaserc.json index f6f46e89b..a29af5bbe 100644 --- a/.releaserc.json +++ b/.releaserc.json @@ -7,17 +7,9 @@ "plugins": [ "@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator", - "@semantic-release/changelog", [ "@semantic-release/github", { "successComment": false, "failTitle": false } - ], - [ - "@semantic-release/git", - { - "assets": ["CHANGELOG.md", "package.json"], - "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" - } ] ] } diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index f84b391da..000000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,814 +0,0 @@ -# [1.4.0-rc.1](https://github.com/devsy-org/devsy/compare/v1.3.0...v1.4.0-rc.1) (2026-05-19) - - -### Bug Fixes - -* **ci:** add package-lock.json for semantic-release workflow ([bcd9208](https://github.com/devsy-org/devsy/commit/bcd9208c47754c3f250fdd6a3036c23abb856c07)) -* **ci:** add signed commit config and create-release-pr workflow ([c89325a](https://github.com/devsy-org/devsy/commit/c89325a95211dc24cdc4ac41088f2d717f709787)) -* **ci:** advance prerelease manifest past stable release ([#372](https://github.com/devsy-org/devsy/issues/372)) ([33a9d44](https://github.com/devsy-org/devsy/commit/33a9d44245f46eb28232c29d6a13cd81fd69b7ef)) -* **ci:** pass app token via token input for softprops/action-gh-release ([#361](https://github.com/devsy-org/devsy/issues/361)) ([77a9373](https://github.com/devsy-org/devsy/commit/77a937307921fcb143b722741d52b6fbb44f6407)), closes [softprops/action-#release](https://github.com/softprops/action-/issues/release) -* **ci:** re-add changelog and git plugins with signed commit support ([#375](https://github.com/devsy-org/devsy/issues/375)) ([ad6e3f9](https://github.com/devsy-org/devsy/commit/ad6e3f9ae4377ebd35a7e7654906ba305cab93a1)) -* **ci:** remove @semantic-release/git plugin that can't push to protected branch ([c3bf35c](https://github.com/devsy-org/devsy/commit/c3bf35ca94f866c484a29136894b8fde51f34bce)) -* **ci:** remove @semantic-release/git plugin that cannot push to signature-protected branch ([e971f37](https://github.com/devsy-org/devsy/commit/e971f37cc2eb19e84c07b24dfc575898adf059d9)) -* **ci:** resolve semantic-release tag conflict and add changelog+git plugins ([d80ae42](https://github.com/devsy-org/devsy/commit/d80ae4296d6e1d8bd971e1f455fd699b6f4d8c02)) -* update workspace_result.json paths on workspace rename ([#369](https://github.com/devsy-org/devsy/issues/369)) ([f06f4ba](https://github.com/devsy-org/devsy/commit/f06f4baff598184301d734a3c38cff398ddeacb2)) - - -### Features - -* auto-overwrite stale agent binary and workspace clean command ([#364](https://github.com/devsy-org/devsy/issues/364)) ([76841a4](https://github.com/devsy-org/devsy/commit/76841a48e134e2da3001e5f671d2523f97659599)) -* **ci:** enable autoMergeRequest in release-please action ([#363](https://github.com/devsy-org/devsy/issues/363)) ([2f889bb](https://github.com/devsy-org/devsy/commit/2f889bb7a81ce129ca1704a2b495fbe342740c48)) -* **ci:** migrate from release-please to semantic-release ([#374](https://github.com/devsy-org/devsy/issues/374)) ([9fcceef](https://github.com/devsy-org/devsy/commit/9fcceeff13b85d49b69c8c87125729258c905bc9)) -* **ci:** replace single release-please config with dual prerelease/stable setup ([#368](https://github.com/devsy-org/devsy/issues/368)) ([d985356](https://github.com/devsy-org/devsy/commit/d9853564264b32fb0634785154907e94de6cd3c9)) - -# Changelog - -## [1.4.0-rc.1](https://github.com/devsy-org/devsy/compare/v1.4.0-rc.0...v1.4.0-rc.1) (2026-05-19) - - -### Features - -* add support for IBM Bob IDE ([#657](https://github.com/devsy-org/devsy/issues/657)) ([5c5255d](https://github.com/devsy-org/devsy/commit/5c5255d94e9f47e2492e9dbfc12a0d48e435dda0)) -* add workspace rename command with auto-stop and e2e tests ([#308](https://github.com/devsy-org/devsy/issues/308)) ([ff2afac](https://github.com/devsy-org/devsy/commit/ff2afac1170f863629a95850db304cb32caeb6e9)) -* add zap-based pkg/log and CLI verbosity flags ([#13](https://github.com/devsy-org/devsy/issues/13)) ([5f05055](https://github.com/devsy-org/devsy/commit/5f05055ce3ed917c8fcc0d1cc1635c535a3e2310)) -* **agent:** implement AgentDelivery interface ([#265](https://github.com/devsy-org/devsy/issues/265)) ([9d5a5b8](https://github.com/devsy-org/devsy/commit/9d5a5b8acf4969ab10a9f0b44c203b43f8ebbd15)) -* auto-overwrite stale agent binary and workspace clean command ([#364](https://github.com/devsy-org/devsy/issues/364)) ([76841a4](https://github.com/devsy-org/devsy/commit/76841a48e134e2da3001e5f671d2523f97659599)) -* **build:** add CLI --cache-from flags with priority over devcontainer.json ([#167](https://github.com/devsy-org/devsy/issues/167)) ([ecd9945](https://github.com/devsy-org/devsy/commit/ecd99451c78dc6c8e319907ef2d369ef9cab9c58)) -* **ci:** add path-based filtering to skip e2e on non-Go changes ([#332](https://github.com/devsy-org/devsy/issues/332)) ([af92dfc](https://github.com/devsy-org/devsy/commit/af92dfc8eaf2376bf5365adf09bafafffb770f40)) -* **ci:** enable autoMergeRequest in release-please action ([#363](https://github.com/devsy-org/devsy/issues/363)) ([2f889bb](https://github.com/devsy-org/devsy/commit/2f889bb7a81ce129ca1704a2b495fbe342740c48)) -* **ci:** replace single release-please config with dual prerelease/stable setup ([#368](https://github.com/devsy-org/devsy/issues/368)) ([d985356](https://github.com/devsy-org/devsy/commit/d9853564264b32fb0634785154907e94de6cd3c9)) -* **cli:** add --default-user-env-probe flag to override config ([#175](https://github.com/devsy-org/devsy/issues/175)) ([77d40f5](https://github.com/devsy-org/devsy/commit/77d40f57216b030319b90fb02543aca03f5b8dc9)) -* **cli:** add --docker-path flag to read-configuration command ([#245](https://github.com/devsy-org/devsy/issues/245)) ([7e53991](https://github.com/devsy-org/devsy/commit/7e53991a55dc802cb79566f79a57cc0324f7ca64)) -* **cli:** add --id-label flag for custom container identification ([#183](https://github.com/devsy-org/devsy/issues/183)) ([7e61e8c](https://github.com/devsy-org/devsy/commit/7e61e8cfdebeace29b90016dcad8eb7d4d6cb6cc)) -* **cli:** add --id-label flag to read-configuration command ([#244](https://github.com/devsy-org/devsy/issues/244)) ([271f84e](https://github.com/devsy-org/devsy/commit/271f84e3c860dc44a033ad31559935cea3044a7e)) -* **cli:** add --result-format flag for JSON envelope control (DEVSY-022) ([#243](https://github.com/devsy-org/devsy/issues/243)) ([955dd58](https://github.com/devsy-org/devsy/commit/955dd58d6384b7d000169ac44071f9dfd4ffe220)) -* **cli:** add --secrets-file flag for lifecycle command env injection ([#179](https://github.com/devsy-org/devsy/issues/179)) ([8a996c3](https://github.com/devsy-org/devsy/commit/8a996c307aacd44d7cc6ed5b5a169c9fe3904d62)) -* **cli:** add exec command for container command execution ([#157](https://github.com/devsy-org/devsy/issues/157)) ([029684c](https://github.com/devsy-org/devsy/commit/029684ca8ad15c36b18cfb166171a847cc44cccb)) -* **cli:** add features publish command ([#263](https://github.com/devsy-org/devsy/issues/263)) ([3bc64ed](https://github.com/devsy-org/devsy/commit/3bc64ed62cd4fedd977f7a9b01089fb5e7e1d752)) -* **cli:** add features test command for isolated feature testing ([#258](https://github.com/devsy-org/devsy/issues/258)) ([a54d9ff](https://github.com/devsy-org/devsy/commit/a54d9ff1bd1faab87863072aa84def8665dcf0c9)) -* **cli:** add flag aliases for devcontainer CLI compatibility ([#174](https://github.com/devsy-org/devsy/issues/174)) ([3c1fed4](https://github.com/devsy-org/devsy/commit/3c1fed43de7355eb160cdfad42592815c9f0110d)) -* **cli:** add read-configuration command ([#152](https://github.com/devsy-org/devsy/issues/152)) ([bb029d0](https://github.com/devsy-org/devsy/commit/bb029d0289bdb4a0fc212051ca2021afd11a830e)) -* **cli:** add repeatable --mount flag to up command ([#295](https://github.com/devsy-org/devsy/issues/295)) ([7db7af3](https://github.com/devsy-org/devsy/commit/7db7af390422693874c540ebc10ae4235aa5c300)) -* **cli:** add spec-required flags to run-user-commands (DEVSY-027) ([#246](https://github.com/devsy-org/devsy/issues/246)) ([c9bca5d](https://github.com/devsy-org/devsy/commit/c9bca5d701bff20582ea5eacfe8f47df5ef5a268)) -* **cli:** add upgrade command for feature versions ([#290](https://github.com/devsy-org/devsy/issues/290)) ([4e1f879](https://github.com/devsy-org/devsy/commit/4e1f879fbd537f0b516166a7eada4d3e230231b2)) -* **cli:** implement features package command ([#260](https://github.com/devsy-org/devsy/issues/260)) ([d074633](https://github.com/devsy-org/devsy/commit/d074633ef4ccfff1a2cca8ee49b7dc671f551bc3)) -* **cli:** rewrite set-up command to full devcontainer spec compliance ([#251](https://github.com/devsy-org/devsy/issues/251)) ([9563e32](https://github.com/devsy-org/devsy/commit/9563e3256aaa51b5f47dce1cef84cdc66918553b)) -* **cmd:** add --container-id flag to read-configuration ([#205](https://github.com/devsy-org/devsy/issues/205)) ([198dee1](https://github.com/devsy-org/devsy/commit/198dee1f6b07892dd3f9225ab6a1d459e5d69477)) -* **cmd:** add --remove-volumes flag to down command ([#207](https://github.com/devsy-org/devsy/issues/207)) ([ba9fbb9](https://github.com/devsy-org/devsy/commit/ba9fbb92534b8f4e56bf54d297bbbfa48d035288)) -* **cmd:** add --update-remote-user-uid-default flag to up command ([#208](https://github.com/devsy-org/devsy/issues/208)) ([14e6944](https://github.com/devsy-org/devsy/commit/14e6944dc1215d83a641f17887bd971e53ccb3b9)) -* **cmd:** add --workspace-mount-consistency flag to up command ([#198](https://github.com/devsy-org/devsy/issues/198)) ([e2992f8](https://github.com/devsy-org/devsy/commit/e2992f8a2b7a031ea4156acbd3cc2a65ec1998de)) -* **cmd:** add `--additional-features` flag for feature injection ([#626](https://github.com/devsy-org/devsy/issues/626)) ([265b290](https://github.com/devsy-org/devsy/commit/265b290b3653b7021cfd8649ab2d61952d4c376d)) -* **cmd:** add `outdated` command to check for newer feature versions ([#191](https://github.com/devsy-org/devsy/issues/191)) ([43fba26](https://github.com/devsy-org/devsy/commit/43fba2676a3fc071edc3d417e4b16e58775bc637)) -* **cmd:** add `set-up` command for BYOC container configuration ([#196](https://github.com/devsy-org/devsy/issues/196)) ([3eb488e](https://github.com/devsy-org/devsy/commit/3eb488e36b736b66e306a166e646815567ac913b)) -* **cmd:** add features info/resolve-deps/generate-docs commands ([#219](https://github.com/devsy-org/devsy/issues/219)) ([be8aeac](https://github.com/devsy-org/devsy/commit/be8aeac00425cf3a260785084bb8f0403e8f3836)) -* **cmd:** add hidden flag aliases for devcontainer CLI compat ([#200](https://github.com/devsy-org/devsy/issues/200)) ([7af1be2](https://github.com/devsy-org/devsy/commit/7af1be222ccd5aad462ce4064abfc98463275509)) -* **cmd:** add JSON result envelope on stdout for up/build/exec ([#199](https://github.com/devsy-org/devsy/issues/199)) ([75cec78](https://github.com/devsy-org/devsy/commit/75cec78cc88962fa8db193c25261ff42aaffa0c1)) -* **cmd:** add minor CLI flags ([#217](https://github.com/devsy-org/devsy/issues/217)) ([7d056fb](https://github.com/devsy-org/devsy/commit/7d056fbb7cf986d62029b7fc91027c4d96d4d115)) -* **cmd:** add remaining minor flags ([#215](https://github.com/devsy-org/devsy/issues/215)) ([ec85a11](https://github.com/devsy-org/devsy/commit/ec85a119fd35f5e5f273157ecadf043be937cc20)) -* **cmd:** add run-user-commands lifecycle command ([#203](https://github.com/devsy-org/devsy/issues/203)) ([d2ca833](https://github.com/devsy-org/devsy/commit/d2ca8330b622b4f9c501027d86e7c2fdeefb639b)) -* **cmd:** add templates apply/publish/metadata/generate-docs commands ([#220](https://github.com/devsy-org/devsy/issues/220)) ([84d21c6](https://github.com/devsy-org/devsy/commit/84d21c6993ce6748024d13669456d246549c3439)) -* **cmd:** rename `upgrade` command to `self-update` ([#192](https://github.com/devsy-org/devsy/issues/192)) ([bb0c72f](https://github.com/devsy-org/devsy/commit/bb0c72f1689942f457582429a4ae48f2e74dedd7)) -* **cmd:** retrieve virtual machine instance description ([#602](https://github.com/devsy-org/devsy/issues/602)) ([1451fa1](https://github.com/devsy-org/devsy/commit/1451fa12b1b350bc1c3d1e19355d5b21ddfad9ba)) -* **compose:** add podman compose detection path ([#274](https://github.com/devsy-org/devsy/issues/274)) ([774ab5d](https://github.com/devsy-org/devsy/commit/774ab5d5941805fee431bb651d3cd46f75cdc48d)) -* **compose:** validate hostRequirements in Docker Compose path ([#247](https://github.com/devsy-org/devsy/issues/247)) ([7cd689f](https://github.com/devsy-org/devsy/commit/7cd689f30fc08f350b3a2d3284c08913912822a8)) -* **compose:** validate runServices against compose file services ([#211](https://github.com/devsy-org/devsy/issues/211)) ([db7f18a](https://github.com/devsy-org/devsy/commit/db7f18a0795ced9f631ade8e6e5714b673bde365)) -* **config:** add hostRequirements pre-flight validation ([#173](https://github.com/devsy-org/devsy/issues/173)) ([82cf6b0](https://github.com/devsy-org/devsy/commit/82cf6b0ba88d3849379f54e39c77b9da4ed3dc36)) -* **config:** add local-path extends support for devcontainer.json ([#184](https://github.com/devsy-org/devsy/issues/184)) ([b51dbf6](https://github.com/devsy-org/devsy/commit/b51dbf60143ad3b11a704fac332fbc8295cc69ec)) -* **config:** add oci:// prefix, multi-cloud auth, and digest caching to OCI extends ([#253](https://github.com/devsy-org/devsy/issues/253)) ([80f6170](https://github.com/devsy-org/devsy/commit/80f61702d9aea4375a98e46ce961223a3cd2545c)) -* **config:** add PathManager for XDG-compliant path computation ([#74](https://github.com/devsy-org/devsy/issues/74)) ([e477cf8](https://github.com/devsy-org/devsy/commit/e477cf83291451cc815ae0b9106158927f4976af)) -* **config:** add securityOpt passthrough to container create ([#169](https://github.com/devsy-org/devsy/issues/169)) ([3ef60f9](https://github.com/devsy-org/devsy/commit/3ef60f92456505e834fbfc6e7a7d5d5418fa4eb9)) -* **config:** derive devcontainerId from workspace folder per spec ([#195](https://github.com/devsy-org/devsy/issues/195)) ([d1895c5](https://github.com/devsy-org/devsy/commit/d1895c5368ae09ca9dabd093d04f2acbcedc2f84)) -* **config:** enforce phase-aware variable substitution scoping ([#249](https://github.com/devsy-org/devsy/issues/249)) ([8f74302](https://github.com/devsy-org/devsy/commit/8f743022838e20555a263710505aec2ecb668249)) -* **config:** implement spec-compliant devcontainerId derivation ([#252](https://github.com/devsy-org/devsy/issues/252)) ([d2ee4ab](https://github.com/devsy-org/devsy/commit/d2ee4ab6ca2b9b7bd668434f29b2ccbf8f4282a4)) -* **config:** parse and resolve devcontainer secrets property ([#83](https://github.com/devsy-org/devsy/issues/83)) ([64a6d4f](https://github.com/devsy-org/devsy/commit/64a6d4f52775a76ba480efb95e401fd2814ece23)) -* **config:** resolve variable substitution in extends paths ([#256](https://github.com/devsy-org/devsy/issues/256)) ([e73498e](https://github.com/devsy-org/devsy/commit/e73498e77a2d4c638e042b7a12d94c7abcdc3895)) -* **config:** support array form for extends property ([#188](https://github.com/devsy-org/devsy/issues/188)) ([da42f37](https://github.com/devsy-org/devsy/commit/da42f37fedad1ddf9ede0f20835290480c869272)) -* **config:** support custom workspaceMount from devcontainer.json ([#170](https://github.com/devsy-org/devsy/issues/170)) ([a7794f0](https://github.com/devsy-org/devsy/commit/a7794f01eff445528eddfc9f5695521f7b8d0ccf)) -* **config:** support forwardPorts range syntax expansion ([#168](https://github.com/devsy-org/devsy/issues/168)) ([1c618f1](https://github.com/devsy-org/devsy/commit/1c618f1b9b40a985783723b9b3659e05f5d471d6)) -* **config:** support OCI remote extends for devcontainer.json ([#190](https://github.com/devsy-org/devsy/issues/190)) ([8e1e7dd](https://github.com/devsy-org/devsy/commit/8e1e7ddc0d396d6d1f70578ff5ec20d5e4e581e3)) -* **delivery:** add KubernetesDelivery strategy for K8s agent binary injection ([#267](https://github.com/devsy-org/devsy/issues/267)) ([918ed99](https://github.com/devsy-org/devsy/commit/918ed99ea1331bfa1f0c9a8886d2ea91ead931a6)) -* **desktop:** add Electron desktop app ([#298](https://github.com/devsy-org/devsy/issues/298)) ([b01eae3](https://github.com/devsy-org/devsy/commit/b01eae3a2cd79a00e3aab21b19b5892a79caf303)) -* **desktop:** add workspace rename UI with inline editing ([#311](https://github.com/devsy-org/devsy/issues/311)) ([0038071](https://github.com/devsy-org/devsy/commit/0038071020b48fae8ba2774e1a5f6baa01db5af2)) -* **devcontainer/setup:** open IDE before postAttachCommand runs ([#728](https://github.com/devsy-org/devsy/issues/728)) ([0ba9c1a](https://github.com/devsy-org/devsy/commit/0ba9c1aa1c47cc1fd80edaa75b2b410648ce76cd)) -* **devcontainer:** add stopCompose shutdownAction for compose containers ([#186](https://github.com/devsy-org/devsy/issues/186)) ([9ab288f](https://github.com/devsy-org/devsy/commit/9ab288f9ebf0d57241e0a5717e73a2f8374dd367)) -* **driver:** guard BuildKit strategy against Podman runtime ([#270](https://github.com/devsy-org/devsy/issues/270)) ([01ef390](https://github.com/devsy-org/devsy/commit/01ef3909f1bf13a6a1496da63a5fe4bf6ab0da7c)) -* enable renaming providers ([#358](https://github.com/devsy-org/devsy/issues/358)) ([1c2b543](https://github.com/devsy-org/devsy/commit/1c2b54389f55bc429a94b8397cfc637a797fe738)) -* enforce hostRequirements validation with GPU support ([#292](https://github.com/devsy-org/devsy/issues/292)) ([9f49d77](https://github.com/devsy-org/devsy/commit/9f49d77515c99d3b29a022aca5bd43e749146151)) -* **envelope:** surface hostRequirements warnings in CLI result JSON ([#204](https://github.com/devsy-org/devsy/issues/204)) ([c62b068](https://github.com/devsy-org/devsy/commit/c62b068c30147784793194538f1eef4dde52af3d)) -* **exec:** add devcontainer spec compliance (workdir, user, remoteEnv, userEnvProbe) ([#162](https://github.com/devsy-org/devsy/issues/162)) ([94b3b9e](https://github.com/devsy-org/devsy/commit/94b3b9e0681c36ede40d568906e05e3c19114b68)) -* expose compose project name as env var in containers ([#711](https://github.com/devsy-org/devsy/issues/711)) ([36c10c9](https://github.com/devsy-org/devsy/commit/36c10c9b8438d052339c24734f48554bd1c975ab)), closes [#456](https://github.com/devsy-org/devsy/issues/456) -* **feature:** add interactive prompting for secret options ([#291](https://github.com/devsy-org/devsy/issues/291)) ([6035a26](https://github.com/devsy-org/devsy/commit/6035a26517d3346ea11d466ba892e102c9f4654c)) -* **feature:** add OCI pull retry with URL sanitization ([#176](https://github.com/devsy-org/devsy/issues/176)) ([bce287e](https://github.com/devsy-org/devsy/commit/bce287ea912b5da71b0113fb2607ca8b820c9e6e)) -* **feature:** consume collection.json from OCI feature registries ([#214](https://github.com/devsy-org/devsy/issues/214)) ([80e7b08](https://github.com/devsy-org/devsy/commit/80e7b08331020bbf3e15a394df9d53d39f230e25)) -* **feature:** implement secret option handling ([#213](https://github.com/devsy-org/devsy/issues/213)) ([77431d7](https://github.com/devsy-org/devsy/commit/77431d7d7be644dd42ca5e48235c745ea5729cd1)) -* **feature:** parse OCI annotations from feature manifests ([#218](https://github.com/devsy-org/devsy/issues/218)) ([4208400](https://github.com/devsy-org/devsy/commit/42084009b4ff6ac825a215020378c735493afcfe)) -* **feature:** resolve legacy IDs during dependency resolution ([#206](https://github.com/devsy-org/devsy/issues/206)) ([f9dc6e3](https://github.com/devsy-org/devsy/commit/f9dc6e3d9899bc71ca247db575a75a93fbebb403)) -* **features:** add info manifest and info tags subcommands ([#289](https://github.com/devsy-org/devsy/issues/289)) ([2d4b112](https://github.com/devsy-org/devsy/commit/2d4b112b5fd90f84e9e5ad43e31494ad90352a0c)) -* **feature:** validate option type and enum constraints at install time ([#187](https://github.com/devsy-org/devsy/issues/187)) ([836062d](https://github.com/devsy-org/devsy/commit/836062dc024000acb15fe9ff98a145631c424664)) -* **feature:** version-aware feature equality ([#210](https://github.com/devsy-org/devsy/issues/210)) ([9f01c25](https://github.com/devsy-org/devsy/commit/9f01c25a0b89423cdd1e92a7c52eea02920d9797)) -* **git:** support includeIf conditional config via workspace directory context ([#296](https://github.com/devsy-org/devsy/issues/296)) ([6ef0418](https://github.com/devsy-org/devsy/commit/6ef0418fe100087a38d04ccf8cf9d7c948dfd6f1)) -* **graph:** implement round-based topological sort ([#201](https://github.com/devsy-org/devsy/issues/201)) ([7ddcfca](https://github.com/devsy-org/devsy/commit/7ddcfcac2a1e486292d2dc35ed95aebe749e93eb)) -* **ide/vscode:** improve VS Code server discovery ([#673](https://github.com/devsy-org/devsy/issues/673)) ([9f49d94](https://github.com/devsy-org/devsy/commit/9f49d9417f7af4d0d5f7aed0da03528ba56ca071)), closes [#639](https://github.com/devsy-org/devsy/issues/639) -* **metadata:** include containerEnv in label and warn on size limit ([#178](https://github.com/devsy-org/devsy/issues/178)) ([a148fb3](https://github.com/devsy-org/devsy/commit/a148fb3a1a90e46c85afee92f0dc9590da08de68)) -* **netstat:** wire portsAttributes into port forwarding watcher ([#202](https://github.com/devsy-org/devsy/issues/202)) ([2e93da4](https://github.com/devsy-org/devsy/commit/2e93da4487d472661d645906de23e3686888d8fd)) -* **obs:** add injection pipeline timing logs ([#147](https://github.com/devsy-org/devsy/issues/147)) ([6773838](https://github.com/devsy-org/devsy/commit/677383868ecc474d7cc0e6809a4cd70980ed8a22)) -* **port:** accept hostnames in SSH port forwarding ([#294](https://github.com/devsy-org/devsy/issues/294)) ([6832043](https://github.com/devsy-org/devsy/commit/6832043454f23ca70c0b9c05e1d22cf5fa2e0144)) -* **ports:** wire portsAttributes into forwarding decisions ([#248](https://github.com/devsy-org/devsy/issues/248)) ([90dee39](https://github.com/devsy-org/devsy/commit/90dee393b062cbe4e1e70592a0b6a6cd1f586f33)) -* **provider:** add built-in Podman provider ([#277](https://github.com/devsy-org/devsy/issues/277)) ([afbfd81](https://github.com/devsy-org/devsy/commit/afbfd81e13e1612fc647ea681cce02f834958aeb)) -* rebrand devpod/loft to devsy ([#1](https://github.com/devsy-org/devsy/issues/1)) ([f809604](https://github.com/devsy-org/devsy/commit/f8096040b681b00f2c6f2d42f76cec7eb970fc95)) -* replace PrintTable with lipgloss table renderer ([#716](https://github.com/devsy-org/devsy/issues/716)) ([6d6af55](https://github.com/devsy-org/devsy/commit/6d6af5546264b17a65d73e0ce6998c6a9eaaf2e6)) -* rewrite module deps from loft-sh to skevetter forks ([#726](https://github.com/devsy-org/devsy/issues/726)) ([28b39c2](https://github.com/devsy-org/devsy/commit/28b39c2df6318c51a5bf77131e94a46d0defdfee)) -* **runtime:** add ContainerRuntime abstraction interface ([#281](https://github.com/devsy-org/devsy/issues/281)) ([d74b492](https://github.com/devsy-org/devsy/commit/d74b492d20e72d23cd5bead58c042a55be9e15b5)) -* **telemetry:** replace Loft analytics with PostHog and add Netlify update hosting ([#303](https://github.com/devsy-org/devsy/issues/303)) ([07824bd](https://github.com/devsy-org/devsy/commit/07824bdf875abefc5d51c1a1d1fe68c34bbde08f)) -* **tunnel:** add PipeBridge and ConnError primitives ([#137](https://github.com/devsy-org/devsy/issues/137)) ([395b50c](https://github.com/devsy-org/devsy/commit/395b50c77fb18aeaa58fa7d95234844874df600d)) -* **tunnel:** apply otherPortsAttributes defaults to unlisted ports ([#171](https://github.com/devsy-org/devsy/issues/171)) ([7828ec3](https://github.com/devsy-org/devsy/commit/7828ec3f263262c0ea2d2b2ffb3a69e735b9299e)) -* **tunnel:** extract PipeBridge and ConnError primitives, fix direct.go race ([#91](https://github.com/devsy-org/devsy/issues/91)) ([d639e53](https://github.com/devsy-org/devsy/commit/d639e537743f03a38fdf63f3f5849fd5bede1cfb)) -* **tunnel:** wire portsAttributes per-port settings into forwarding ([#172](https://github.com/devsy-org/devsy/issues/172)) ([11158bb](https://github.com/devsy-org/devsy/commit/11158bb67fb47232100f688af4386e4aa6c40afd)) -* **up:** add --gpu-availability flag to override GPU detection ([#185](https://github.com/devsy-org/devsy/issues/185)) ([92b3cd7](https://github.com/devsy-org/devsy/commit/92b3cd7b5dec9da0a46a00cb067c4bc8ce1b7d27)) -* **up:** add --prebuild flag for devcontainer prebuild lifecycle ([#80](https://github.com/devsy-org/devsy/issues/80)) ([e6974ff](https://github.com/devsy-org/devsy/commit/e6974ff773f7ea5d78977ba8314c5cbb4814086e)) - - -### Bug Fixes - -* **agent/git_ssh_signature:** remove agent-forwarding and start-services flags ([#662](https://github.com/devsy-org/devsy/issues/662)) ([2738ef0](https://github.com/devsy-org/devsy/commit/2738ef005e5eb802fc2fdaf21456a02fa659e0d7)) -* **agent/git_ssh_signature:** ssh signature forwarding fails when signing ([#648](https://github.com/devsy-org/devsy/issues/648)) ([c52702b](https://github.com/devsy-org/devsy/commit/c52702b53d8f9de5caa874dab0ea2b8124c1fea5)) -* **build:** pass environment variables to flatpak-spawn wrapper ([#640](https://github.com/devsy-org/devsy/issues/640)) ([f370b5d](https://github.com/devsy-org/devsy/commit/f370b5d926a071735f78696b8c891eee2e5e25ce)) -* **build:** pass metadata labels to docker buildx build command ([#82](https://github.com/devsy-org/devsy/issues/82)) ([8d6d7c8](https://github.com/devsy-org/devsy/commit/8d6d7c8e5f140e0ac533e89d536c9fef1f493c8c)) -* **build:** wire devcontainer.json cacheFrom into docker build args ([#163](https://github.com/devsy-org/devsy/issues/163)) ([61b144a](https://github.com/devsy-org/devsy/commit/61b144a729bc7dcbcc311592cc50d7e00f449750)) -* capitalization of type bug in report ([#667](https://github.com/devsy-org/devsy/issues/667)) ([cfdbee4](https://github.com/devsy-org/devsy/commit/cfdbee411e05de8802bd5217b00712b6ed230c9b)) -* **ci:** add --no-build flag to netlify deploy in release workflow ([#323](https://github.com/devsy-org/devsy/issues/323)) ([3c186eb](https://github.com/devsy-org/devsy/commit/3c186ebf66a693989bdef14f9ab708bb59439eda)) -* **ci:** add fetch-tags to promote-release checkout step ([#340](https://github.com/devsy-org/devsy/issues/340)) ([8d457be](https://github.com/devsy-org/devsy/commit/8d457be20695e89568c644c522cb20448f229d32)) -* **ci:** add permissions to publish-prerelease job ([#324](https://github.com/devsy-org/devsy/issues/324)) ([2f3cdbd](https://github.com/devsy-org/devsy/commit/2f3cdbda66e68459cb26770ebcf62bff6648448c)) -* **ci:** add prerelease versioning to release-please config ([#305](https://github.com/devsy-org/devsy/issues/305)) ([f65bb85](https://github.com/devsy-org/devsy/commit/f65bb8540c9a03c4bcafa95bdb247e00cdac6d81)) -* **ci:** advance prerelease manifest past stable release ([#372](https://github.com/devsy-org/devsy/issues/372)) ([33a9d44](https://github.com/devsy-org/devsy/commit/33a9d44245f46eb28232c29d6a13cd81fd69b7ef)) -* **ci:** correct RC tag regex to match dot-separated format ([#328](https://github.com/devsy-org/devsy/issues/328)) ([6bdacbe](https://github.com/devsy-org/devsy/commit/6bdacbeaec13ae1c620ad3e817c38bc89f4be1c9)) -* **ci:** deploy electron update metadata to dl.devsy.sh via Netlify ([#334](https://github.com/devsy-org/devsy/issues/334)) ([094c375](https://github.com/devsy-org/devsy/commit/094c3759fad5ad121fac2a969793aae14bb2a986)) -* **ci:** disable rust-cache bin caching to fix macOS cargo resolution ([#288](https://github.com/devsy-org/devsy/issues/288)) ([bf7762d](https://github.com/devsy-org/devsy/commit/bf7762de0c3655f7bb084b440dffcb424d6cacae)) -* **ci:** exclude CLI deploys from Netlify restore search ([#337](https://github.com/devsy-org/devsy/issues/337)) ([db5ecf3](https://github.com/devsy-org/devsy/commit/db5ecf392f7d91dda6d39711c1d22e47356e678c)) -* **ci:** explicitly request contents:write permission for app token ([#355](https://github.com/devsy-org/devsy/issues/355)) ([ed11e14](https://github.com/devsy-org/devsy/commit/ed11e145b81d11a1df595180a938492330a81a95)) -* **ci:** fix Netlify deploy and Flatpak upload in release workflow ([#321](https://github.com/devsy-org/devsy/issues/321)) ([642dc1c](https://github.com/devsy-org/devsy/commit/642dc1c63aba7e6ba7e61412e19cf3cc57b3a9b2)) -* **ci:** fix RC header rewrite and use gh CLI for stable release creation ([#347](https://github.com/devsy-org/devsy/issues/347)) ([9b80897](https://github.com/devsy-org/devsy/commit/9b80897dbfba3d4aafc3b751befb2e1e64d5e5de)) -* **ci:** flatten downloaded CLI artifacts before desktop build ([#312](https://github.com/devsy-org/devsy/issues/312)) ([8a3b397](https://github.com/devsy-org/devsy/commit/8a3b397d6055c2f886740ffe5908a5e87b0a8a40)) -* **ci:** install kind directly on Windows to avoid docker-desktop dep ([#261](https://github.com/devsy-org/devsy/issues/261)) ([e06bcf5](https://github.com/devsy-org/devsy/commit/e06bcf56e861d8853498afd0836a0fb0c7be0f3b)) -* **ci:** pass app token via GITHUB_TOKEN env for softprops release step ([#357](https://github.com/devsy-org/devsy/issues/357)) ([69b8cb3](https://github.com/devsy-org/devsy/commit/69b8cb302776cf6bacf54e4dc0a7f6412a3cdd5f)) -* **ci:** pass app token via token input for softprops/action-gh-release ([#361](https://github.com/devsy-org/devsy/issues/361)) ([77a9373](https://github.com/devsy-org/devsy/commit/77a937307921fcb143b722741d52b6fbb44f6407)) -* **ci:** pin Windows desktop builds to windows-2022 for node-gyp compat ([#319](https://github.com/devsy-org/devsy/issues/319)) ([fb38c95](https://github.com/devsy-org/devsy/commit/fb38c9505b48d9bb746340e45ae3ba22577b3b19)) -* **ci:** publish stable release as latest instead of draft in promote workflow ([#344](https://github.com/devsy-org/devsy/issues/344)) ([4455eea](https://github.com/devsy-org/devsy/commit/4455eeae321a568421e26d6946260142d8504e63)) -* **ci:** remove Netlify prod deploy that overwrites devsy.sh ([#330](https://github.com/devsy-org/devsy/issues/330)) ([791c0e7](https://github.com/devsy-org/devsy/commit/791c0e7f55b04d835a177f3d1f7c3c9dfe9323dd)) -* **ci:** remove permission-contents scope restriction from app token step ([#359](https://github.com/devsy-org/devsy/issues/359)) ([28b8a1b](https://github.com/devsy-org/devsy/commit/28b8a1be2831509ead2dd25f552ef05e3f698d62)) -* **ci:** resolve 3 desktop build failures in release workflow ([#314](https://github.com/devsy-org/devsy/issues/314)) ([4c5cea8](https://github.com/devsy-org/devsy/commit/4c5cea8fff9ebde992821710583dd54122855ce3)) -* **ci:** restore softprops release step and wire rc_notes output id ([#351](https://github.com/devsy-org/devsy/issues/351)) ([a31522b](https://github.com/devsy-org/devsy/commit/a31522bd5c947f85f5177a0f709097cae8d37d9c)) -* **ci:** revert CI skip condition on release-please PRs ([#320](https://github.com/devsy-org/devsy/issues/320)) ([a7110d7](https://github.com/devsy-org/devsy/commit/a7110d727f04e95e589450f432ed0a007a6cd5a2)) -* **ci:** rewrite RC version header to stable in promote workflow ([#345](https://github.com/devsy-org/devsy/issues/345)) ([fdfed92](https://github.com/devsy-org/devsy/commit/fdfed92b27d251d43a97d00b2c17f934ff86e8dc)) -* **ci:** skip network-dependent OCI tests in goreleaser pre-hook ([#309](https://github.com/devsy-org/devsy/issues/309)) ([87d893e](https://github.com/devsy-org/devsy/commit/87d893eec5765d67966a0c826a2fa8220bfb99f3)) -* **ci:** upload desktop artifacts via softprops/action-gh-release ([#326](https://github.com/devsy-org/devsy/issues/326)) ([6a67c26](https://github.com/devsy-org/devsy/commit/6a67c2629dca504bc2dcf9ee88b3c4b53b445aa3)) -* **ci:** use GITHUB_TOKEN for release.yml dispatch in promote workflow ([#342](https://github.com/devsy-org/devsy/issues/342)) ([5b9492f](https://github.com/devsy-org/devsy/commit/5b9492f9ca888194710589b9802f8a4d6ed6e64e)) -* **ci:** use github.token for stable release creation in promote workflow ([#349](https://github.com/devsy-org/devsy/issues/349)) ([abde042](https://github.com/devsy-org/devsy/commit/abde04251bc5bcebf8c6e06dfe778a57d764e97c)) -* **ci:** use goreleaser-action in act workflow to avoid Go version mismatch ([#122](https://github.com/devsy-org/devsy/issues/122)) ([c1ffa70](https://github.com/devsy-org/devsy/commit/c1ffa70b4b9ce851f9e0ca76915c8b8447e6ad79)) -* **ci:** use make_latest legacy to avoid admin permission requirement ([#353](https://github.com/devsy-org/devsy/issues/353)) ([540e67a](https://github.com/devsy-org/devsy/commit/540e67ac6581f7386de511e877a6b9bdc73a4525)) -* **cli:** make down command stop and delete containers per spec ([#153](https://github.com/devsy-org/devsy/issues/153)) ([1b24641](https://github.com/devsy-org/devsy/commit/1b24641886d2b91679b1aae358eb10323c7cc30d)) -* **cmd/ssh:** default ssh workdir to merged workspaceFolder ([#517](https://github.com/devsy-org/devsy/issues/517)) ([288c56d](https://github.com/devsy-org/devsy/commit/288c56d879dbf6fb0fc0fbd6d0cd79e503c3cffd)) -* **cmd:** GPG agent forwarding fails with SSH signing keys ([#732](https://github.com/devsy-org/devsy/issues/732)) ([fdd4906](https://github.com/devsy-org/devsy/commit/fdd4906d53191efbbbe226b853efea7c8d3abc81)) -* **compose:** podman with docker-compose stderr handling ([#618](https://github.com/devsy-org/devsy/issues/618)) ([aa90f6d](https://github.com/devsy-org/devsy/commit/aa90f6d82bd62c722e3e62df2c6d667ef7fccd26)) -* **config:** correct lifecycle hook merge ordering ([#236](https://github.com/devsy-org/devsy/issues/236)) ([a640dba](https://github.com/devsy-org/devsy/commit/a640dba777ec2098b0803f3f6166d6235be7c8b0)) -* **config:** correct portsAttributes JSON struct tag typo ([#81](https://github.com/devsy-org/devsy/issues/81)) ([93e0da3](https://github.com/devsy-org/devsy/commit/93e0da3f53ed403694c188479eda518f46c81ba9)) -* **config:** handle remoteEnv null values to unset variables ([#93](https://github.com/devsy-org/devsy/issues/93)) ([893db05](https://github.com/devsy-org/devsy/commit/893db0581dc9e36bbc91bf3bcb6412b092aa9811)) -* **config:** make shutdownAction defaults explicit in config resolution ([#259](https://github.com/devsy-org/devsy/issues/259)) ([01b5b82](https://github.com/devsy-org/devsy/commit/01b5b824969a6f37257a008323fe4114f017be85)) -* **config:** order feature hooks before image hooks per spec ([#197](https://github.com/devsy-org/devsy/issues/197)) ([d396b6b](https://github.com/devsy-org/devsy/commit/d396b6b30abfc7c6a7cc4cbbacc99ed4ec6ff7c4)) -* **config:** preserve colons in variable substitution default values ([#9](https://github.com/devsy-org/devsy/issues/9)) ([#94](https://github.com/devsy-org/devsy/issues/94)) ([97f2d96](https://github.com/devsy-org/devsy/commit/97f2d96aa4ac606a5c61029b822e0f717368a370)) -* **config:** remove unsupported ${env:VAR} variable substitution ([#194](https://github.com/devsy-org/devsy/issues/194)) ([b79d806](https://github.com/devsy-org/devsy/commit/b79d806f6ebdb469ef0971e908e0e2b30d0e7ab6)) -* **config:** resolve undefined variables to empty string ([#96](https://github.com/devsy-org/devsy/issues/96)) ([3701855](https://github.com/devsy-org/devsy/commit/37018553b144fd706ae4a943de793769f2b78d14)) -* **config:** support hostRequirements.gpu object format ([#117](https://github.com/devsy-org/devsy/issues/117)) ([377bac9](https://github.com/devsy-org/devsy/commit/377bac981152f26b3d441df44fe55d2f55c097da)) -* **config:** suppress workspace mount when workspaceMount is empty string ([#283](https://github.com/devsy-org/devsy/issues/283)) ([#287](https://github.com/devsy-org/devsy/issues/287)) ([2992939](https://github.com/devsy-org/devsy/commit/2992939fbfe4b75545cf84cb458ce2386a770024)) -* **config:** union hostRequirements across merge sources ([#121](https://github.com/devsy-org/devsy/issues/121)) ([b66c2a1](https://github.com/devsy-org/devsy/commit/b66c2a1029816bf748ac71fe26b19fea8baa75bd)) -* **conn:** plug goroutine leaks and WaitGroup race in ssh/agent packages ([#126](https://github.com/devsy-org/devsy/issues/126)) ([93c54e3](https://github.com/devsy-org/devsy/commit/93c54e31f72da1939f9797c7c26dc64302e28708)) -* **conn:** plug goroutine leaks and WaitGroup race in ssh/agent packages ([#90](https://github.com/devsy-org/devsy/issues/90)) ([b05020d](https://github.com/devsy-org/devsy/commit/b05020d6592e70d1d0223019fab027422e877876)) -* **credentials:** surface error responses from credential server endpoint ([#694](https://github.com/devsy-org/devsy/issues/694)) ([f2b481f](https://github.com/devsy-org/devsy/commit/f2b481fa73c1562aa58677e031b7197b32c8b23e)), closes [#645](https://github.com/devsy-org/devsy/issues/645) -* **daemon:** enforce shutdownAction property at runtime ([#88](https://github.com/devsy-org/devsy/issues/88)) ([ea9f774](https://github.com/devsy-org/devsy/commit/ea9f774c66d6f46d1335abe345e26772fd48fdac)) -* **daemon:** trust merge layer for ShutdownAction instead of re-defaulting ([#286](https://github.com/devsy-org/devsy/issues/286)) ([32e062a](https://github.com/devsy-org/devsy/commit/32e062a778aa4dbed5072566d3d7a1fb018ed82d)) -* **delivery:** clean up agent delivery volumes on workspace deletion ([#266](https://github.com/devsy-org/devsy/issues/266)) ([c75008c](https://github.com/devsy-org/devsy/commit/c75008cce548e32c4667504e3a4f7a70925ca6c9)) -* **delivery:** ensure target dir exists before docker cp ([#269](https://github.com/devsy-org/devsy/issues/269)) ([b39c2b4](https://github.com/devsy-org/devsy/commit/b39c2b4800cf81ca1d251e4a5110f37fb7487325)) -* **delivery:** support rootless Podman in volume direct copy ([#275](https://github.com/devsy-org/devsy/issues/275)) ([f489ccb](https://github.com/devsy-org/devsy/commit/f489ccb469174421a7d90ceebfda28822a600919)) -* **deps:** remove programming-language-detection dependency ([#695](https://github.com/devsy-org/devsy/issues/695)) ([bdc7124](https://github.com/devsy-org/devsy/commit/bdc7124b1d61de445581adc06d00d75433185a7e)) -* **deps:** update dependency @loft-enterprise/client to v4 ([#506](https://github.com/devsy-org/devsy/issues/506)) ([987ffad](https://github.com/devsy-org/devsy/commit/987ffad621734b3f6c4208d659241eff461c017e)) -* **deps:** update dependency @loft-enterprise/client to v4 ([#600](https://github.com/devsy-org/devsy/issues/600)) ([475efca](https://github.com/devsy-org/devsy/commit/475efca753945e6021e597147c20156ce44cee4c)) -* **deps:** update dependency react-hook-form to v7.71.2 ([#562](https://github.com/devsy-org/devsy/issues/562)) ([6a6158a](https://github.com/devsy-org/devsy/commit/6a6158a375877c3f3652cbe9a5fed085a2b15a64)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to 0794660 ([#651](https://github.com/devsy-org/devsy/issues/651)) ([bcb9091](https://github.com/devsy-org/devsy/commit/bcb9091790e78c09ae2c8d2667a54d7f4b966481)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to 3888fb8 ([#621](https://github.com/devsy-org/devsy/issues/621)) ([870e6e3](https://github.com/devsy-org/devsy/commit/870e6e31e338fcff01a35d7663de78a11cfc8cd5)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to 400c263 ([#620](https://github.com/devsy-org/devsy/issues/620)) ([ebbc373](https://github.com/devsy-org/devsy/commit/ebbc373ca484810a884809b32f35979cff68fb1e)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to 47eedc9 ([#619](https://github.com/devsy-org/devsy/issues/619)) ([a27dae5](https://github.com/devsy-org/devsy/commit/a27dae5cc55599c919b4e91911515891055de2a3)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to 5b80281 ([#715](https://github.com/devsy-org/devsy/issues/715)) ([7873b67](https://github.com/devsy-org/devsy/commit/7873b67e7f5448fc0d72ca9dd51e224f4cd29310)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to 7a66278 ([#737](https://github.com/devsy-org/devsy/issues/737)) ([e78e2b7](https://github.com/devsy-org/devsy/commit/e78e2b740820aea175c11815ea0385dc4b0464b7)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to 85f2bf5 ([#538](https://github.com/devsy-org/devsy/issues/538)) ([91a3cf5](https://github.com/devsy-org/devsy/commit/91a3cf57784de0e9e45a38ae0e4bfa609b9755d3)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to 9e0ccb0 ([#541](https://github.com/devsy-org/devsy/issues/541)) ([b685929](https://github.com/devsy-org/devsy/commit/b685929d1a63f6de1243af1dcda6389a7a494188)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to bf0f710 ([#641](https://github.com/devsy-org/devsy/issues/641)) ([219fe9d](https://github.com/devsy-org/devsy/commit/219fe9d9f0ea724d2e47dd219455f76400d18395)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to e90447d ([#668](https://github.com/devsy-org/devsy/issues/668)) ([0d60f4b](https://github.com/devsy-org/devsy/commit/0d60f4b1384999d1d73a25fb73390d128a79d4ff)) -* **deps:** update k8s.io/utils digest to 28399d8 ([#631](https://github.com/devsy-org/devsy/issues/631)) ([f4fd4e9](https://github.com/devsy-org/devsy/commit/f4fd4e91a07bea418a25fb2b3e080dca35420700)) -* **deps:** update kubernetes monorepo to v0.35.3 ([#632](https://github.com/devsy-org/devsy/issues/632)) ([d40d249](https://github.com/devsy-org/devsy/commit/d40d249587c4ba4469422a64011b9dcf1409b58d)) -* **deps:** update kubernetes packages to v0.35.2 ([#539](https://github.com/devsy-org/devsy/issues/539)) ([212b625](https://github.com/devsy-org/devsy/commit/212b6254140b4b3cd20195d49d657ab285cc83b1)) -* **deps:** update module charm.land/lipgloss/v2 to v2.0.2 ([#727](https://github.com/devsy-org/devsy/issues/727)) ([2613a0f](https://github.com/devsy-org/devsy/commit/2613a0f3220e0895ab22238edb71b49e9859b5b0)) -* **deps:** update module charm.land/lipgloss/v2 to v2.0.3 ([#735](https://github.com/devsy-org/devsy/issues/735)) ([f28dcb1](https://github.com/devsy-org/devsy/commit/f28dcb1b33701e02e45f403de11f32abedd8f0db)) -* **deps:** update module github.com/awslabs/amazon-ecr-credential-helper/ecr-login to v0.12.0 ([#540](https://github.com/devsy-org/devsy/issues/540)) ([5f473e2](https://github.com/devsy-org/devsy/commit/5f473e2b7aa4f63cd0c07a735069d5113876c84f)) -* **deps:** update module github.com/azure/azure-sdk-for-go/sdk/azcore to v1.21.0 ([#718](https://github.com/devsy-org/devsy/issues/718)) ([7e38d0a](https://github.com/devsy-org/devsy/commit/7e38d0aaf68949525c8317cf14504bc47d0d1087)) -* **deps:** update module github.com/charmbracelet/huh to v2 ([#723](https://github.com/devsy-org/devsy/issues/723)) ([3b87242](https://github.com/devsy-org/devsy/commit/3b872424436d2c628663973eb2e1c251a292fc0d)) -* **deps:** update module github.com/compose-spec/compose-go/v2 to v2.10.2 ([#672](https://github.com/devsy-org/devsy/issues/672)) ([9c397fe](https://github.com/devsy-org/devsy/commit/9c397fe38b69683a547f4000c4487a922d6d7d7b)) -* **deps:** update module github.com/docker/cli to v29.3.0+incompatible ([#580](https://github.com/devsy-org/devsy/issues/580)) ([991462d](https://github.com/devsy-org/devsy/commit/991462d7a7bfcb0a2d4b7158c77a4a9698e35d0d)) -* **deps:** update module github.com/google/go-containerregistry to v0.21.2 ([#543](https://github.com/devsy-org/devsy/issues/543)) ([12c6b63](https://github.com/devsy-org/devsy/commit/12c6b63f7c886e3608e06ed74f2a0ad56a6f8a9a)) -* **deps:** update module github.com/google/go-containerregistry to v0.21.3 ([#622](https://github.com/devsy-org/devsy/issues/622)) ([fc4b602](https://github.com/devsy-org/devsy/commit/fc4b602287e578ee467c2c4bc89881c020ec69e3)) -* **deps:** update module github.com/google/go-containerregistry to v0.21.5 ([#717](https://github.com/devsy-org/devsy/issues/717)) ([ed04623](https://github.com/devsy-org/devsy/commit/ed046239f2b12a2cc7c7409c7c933e93c7225bdb)) -* **deps:** update module github.com/loft-sh/agentapi/v4 to v4.7.0 ([#547](https://github.com/devsy-org/devsy/issues/547)) ([6fe7c4c](https://github.com/devsy-org/devsy/commit/6fe7c4c68c492718e25dcb733e2ee6e1eb97044f)) -* **deps:** update module github.com/loft-sh/agentapi/v4 to v4.7.1 ([#561](https://github.com/devsy-org/devsy/issues/561)) ([7413389](https://github.com/devsy-org/devsy/commit/7413389c9bed9cbb567225c4db055d9102914989)) -* **deps:** update module github.com/loft-sh/agentapi/v4 to v4.8.1 ([#669](https://github.com/devsy-org/devsy/issues/669)) ([4a7835c](https://github.com/devsy-org/devsy/commit/4a7835c64bcf8396ad98f34fa80d17d051c4d934)) -* **deps:** update module github.com/moby/buildkit to v0.28.0 ([#553](https://github.com/devsy-org/devsy/issues/553)) ([9a95f7f](https://github.com/devsy-org/devsy/commit/9a95f7fd6058b10009cca96a5f5155bdb66a72ec)) -* **deps:** update module github.com/moby/buildkit to v0.28.1 ([#642](https://github.com/devsy-org/devsy/issues/642)) ([139d061](https://github.com/devsy-org/devsy/commit/139d0614c57bcbce7302bb8ec2a4a303142462e0)) -* **deps:** update module github.com/moby/buildkit to v0.29.0 ([#689](https://github.com/devsy-org/devsy/issues/689)) ([c26fb2d](https://github.com/devsy-org/devsy/commit/c26fb2dc233173008f44610d4dd32c614b6aa2a7)) -* **deps:** update module github.com/skevetter/ssh to v0.1.0 ([#596](https://github.com/devsy-org/devsy/issues/596)) ([9873496](https://github.com/devsy-org/devsy/commit/9873496256bcfe7edc84ae758332c48473604ac3)) -* **deps:** update module github.com/tidwall/jsonc to v0.3.3 ([#634](https://github.com/devsy-org/devsy/issues/634)) ([09ef2e7](https://github.com/devsy-org/devsy/commit/09ef2e7df6ccbf945f9ce0c75f95fc127378f2e8)) -* **deps:** update module golang.org/x/sys to v0.42.0 ([#594](https://github.com/devsy-org/devsy/issues/594)) ([7dcbae7](https://github.com/devsy-org/devsy/commit/7dcbae7131ddf4396f679e9641672108cf546396)) -* **deps:** update module google.golang.org/grpc to v1.79.2 ([#579](https://github.com/devsy-org/devsy/issues/579)) ([b9d05dc](https://github.com/devsy-org/devsy/commit/b9d05dcedac61a0336e56297e2b8e9a7d4d634f3)) -* **deps:** update module google.golang.org/grpc to v1.79.3 ([#635](https://github.com/devsy-org/devsy/issues/635)) ([951527a](https://github.com/devsy-org/devsy/commit/951527a4685c6fbb65e1df7f8885f5c540a02aa1)) -* **deps:** update module google.golang.org/grpc to v1.80.0 ([#691](https://github.com/devsy-org/devsy/issues/691)) ([96a4ae9](https://github.com/devsy-org/devsy/commit/96a4ae9964172102b3982fd0db4d78045974dce0)) -* **deps:** update module k8s.io/klog/v2 to v2.140.0 ([#581](https://github.com/devsy-org/devsy/issues/581)) ([e2c1d6c](https://github.com/devsy-org/devsy/commit/e2c1d6c32ed23ea8f54f0e9cf0e757fdf79e4cfa)) -* **deps:** update module sigs.k8s.io/controller-runtime to v0.23.2 ([#567](https://github.com/devsy-org/devsy/issues/567)) ([ef70a92](https://github.com/devsy-org/devsy/commit/ef70a92dfd9976b6a4d3f25cebc91c9f0c79258e)) -* **deps:** update module sigs.k8s.io/controller-runtime to v0.23.3 ([#568](https://github.com/devsy-org/devsy/issues/568)) ([3aeed65](https://github.com/devsy-org/devsy/commit/3aeed655ce7514fb8058cc101c4a9be10e59a883)) -* **deps:** update module tailscale.com to v1.96.0 ([#582](https://github.com/devsy-org/devsy/issues/582)) ([ba577ae](https://github.com/devsy-org/devsy/commit/ba577aed2f8440d32349fb8d841e1bbbe2240f85)) -* **deps:** update module tailscale.com to v1.96.5 ([#652](https://github.com/devsy-org/devsy/issues/652)) ([8ec0e80](https://github.com/devsy-org/devsy/commit/8ec0e804262f585ccbb418a81425d4508d660183)) -* **desktop:** tray icon for flatpaks ([#659](https://github.com/devsy-org/devsy/issues/659)) ([20d4ddb](https://github.com/devsy-org/devsy/commit/20d4ddbd4b7bfeb30191b4437d176f8599c9ea16)) -* **devcontainer/single:** postStartCommand skipped after container restart ([#660](https://github.com/devsy-org/devsy/issues/660)) ([0d0206c](https://github.com/devsy-org/devsy/commit/0d0206c1a2d16397c4ad9c6d74f519562c9a39b9)) -* **devcontainer/sshtunnel:** eof handling in SSH execution and context cancellation ([#585](https://github.com/devsy-org/devsy/issues/585)) ([5938cea](https://github.com/devsy-org/devsy/commit/5938cea85aa45d43aa2e406bbabebad9c6a5004b)) -* **devcontainer:** compose mutation of shared local image tag ([#655](https://github.com/devsy-org/devsy/issues/655)) ([ba33e78](https://github.com/devsy-org/devsy/commit/ba33e78eef9f6f895bd99159154567b85c5e0767)) -* **devcontainer:** include feature containerEnv in metadata label and warn on parse failure ([#231](https://github.com/devsy-org/devsy/issues/231)) ([ad731d4](https://github.com/devsy-org/devsy/commit/ad731d4a36e115564b39e8565dd0f0c282434b27)) -* **devcontainer:** merge init environment variables to env ([#526](https://github.com/devsy-org/devsy/issues/526)) ([9230696](https://github.com/devsy-org/devsy/commit/9230696254525635a32b3ef60ec8a956007bd86d)) -* **docker:** detect GPU support via CDI for Podman runtimes ([#273](https://github.com/devsy-org/devsy/issues/273)) ([61d741d](https://github.com/devsy-org/devsy/commit/61d741df0e4117c6b2e644140f54198e431de3c4)) -* **docker:** restart and wait for container readiness before exec ([#688](https://github.com/devsy-org/devsy/issues/688)) ([b3b2fe6](https://github.com/devsy-org/devsy/commit/b3b2fe69e5c4b102396e1982a95582be3e8ae04a)) -* **docs:** rename devpod media files to devsy to fix broken images ([#4](https://github.com/devsy-org/devsy/issues/4)) ([a403e65](https://github.com/devsy-org/devsy/commit/a403e65a2e7b4cde53aa4eed2fc7dcecdbcdd225)) -* **docs:** rename missed devpod doc files and fix broken anchor links ([#3](https://github.com/devsy-org/devsy/issues/3)) ([2a6026e](https://github.com/devsy-org/devsy/commit/2a6026e9464227fcdaa0e555546cbb5ada3fcde3)) -* **e2e:** add comment noting devcontainer.json requirement for test repo ([#143](https://github.com/devsy-org/devsy/issues/143)) ([0f23b76](https://github.com/devsy-org/devsy/commit/0f23b761b807243d7dd3c3ebedee371a1d1d905e)) -* **e2e:** add retry logic for transient workspace lookup in port-forward test ([#123](https://github.com/devsy-org/devsy/issues/123)) ([d30b09e](https://github.com/devsy-org/devsy/commit/d30b09ec947dd081f6d22b52551118a032d2cf4c)) -* **e2e:** add SSH retry logic for flaky Windows WSL tests ([#115](https://github.com/devsy-org/devsy/issues/115)) ([d7c2ee4](https://github.com/devsy-org/devsy/commit/d7c2ee40d7705d4c6a8eff3517b82109e1f156a9)) -* **e2e:** add SSH retry logic for flaky Windows WSL tests ([#99](https://github.com/devsy-org/devsy/issues/99)) ([c5389c5](https://github.com/devsy-org/devsy/commit/c5389c5f7040d46ee7693d049d4933a6a467905e)) -* **e2e:** correct runServices error assertion ([#224](https://github.com/devsy-org/devsy/issues/224)) ([4465aa9](https://github.com/devsy-org/devsy/commit/4465aa99abda57bb63e20b5ca50384a290ab57f6)) -* **e2e:** increase machineprovider2 inactivity timeout from 5s to 30s ([#140](https://github.com/devsy-org/devsy/issues/140)) ([1a02cde](https://github.com/devsy-org/devsy/commit/1a02cde879f566e1d54c1d5a1167b08eef51dacb)) -* **e2e:** increase timeout for container-pull-heavy E2E tests ([#222](https://github.com/devsy-org/devsy/issues/222)) ([c9e438d](https://github.com/devsy-org/devsy/commit/c9e438d1a60b5e49211953add39a572176b2750b)) -* **e2e:** increase TimeoutShort from 2min to 3min ([#212](https://github.com/devsy-org/devsy/issues/212)) ([212e381](https://github.com/devsy-org/devsy/commit/212e3818d2d616d3819da132acbaa72a7e6ab33f)) -* **e2e:** migrate all test images to ghcr.io/devsy-org registry ([#146](https://github.com/devsy-org/devsy/issues/146)) ([9fce990](https://github.com/devsy-org/devsy/commit/9fce990dd44e7d2dc47fdb58ecffdaa1e75dcafd)) -* **e2e:** replace external devcontainer image with own registry test container ([#223](https://github.com/devsy-org/devsy/issues/223)) ([b4b1afa](https://github.com/devsy-org/devsy/commit/b4b1afac8e1441aa12ed6e705b2318cf2befe8a3)) -* **e2e:** replace MCR image reference with GHCR test image ([#125](https://github.com/devsy-org/devsy/issues/125)) ([ea4f1ed](https://github.com/devsy-org/devsy/commit/ea4f1edcf69ad6708939fa11231c23318a6ac219)) -* **e2e:** replace mcr.microsoft.com references with ghcr.io/devsy-org test images ([#241](https://github.com/devsy-org/devsy/issues/241)) ([143b86e](https://github.com/devsy-org/devsy/commit/143b86eba082786b4ee5bfd714716a9411e76927)) -* **exec:** use workspace UID for container lookup ([#160](https://github.com/devsy-org/devsy/issues/160)) ([b2af297](https://github.com/devsy-org/devsy/commit/b2af29745fc19322379d0a8b29794da2091a7ce8)) -* extend timeout when getting Docker credentials from host ([#575](https://github.com/devsy-org/devsy/issues/575)) ([50c203f](https://github.com/devsy-org/devsy/commit/50c203f9f827c552d29f02aa6c605b176316928e)) -* **extract:** add path traversal guard for tar extraction ([#92](https://github.com/devsy-org/devsy/issues/92)) ([ac70e7b](https://github.com/devsy-org/devsy/commit/ac70e7bd030ca62d3d8df62f2dda456c1ad74004)) -* **feature:** add SHA-256 integrity verification for direct tar downloads ([#89](https://github.com/devsy-org/devsy/issues/89)) ([ae95ec8](https://github.com/devsy-org/devsy/commit/ae95ec8e029504ef4b6fefcdce92c0600df4af9d)) -* **feature:** prevent false positive circular dependency detection for installsAfter ([#240](https://github.com/devsy-org/devsy/issues/240)) ([03e5cb1](https://github.com/devsy-org/devsy/commit/03e5cb149298c84c70d021a365f45e3d37b9bc0c)) -* **feature:** resolve lint failures in OCI annotations code ([#221](https://github.com/devsy-org/devsy/issues/221)) ([c368e1e](https://github.com/devsy-org/devsy/commit/c368e1eefa16d3351760ef3884f5b8b125786083)) -* **features:** enforce dependsOn constraints in overrideFeatureInstallOrder ([#151](https://github.com/devsy-org/devsy/issues/151)) ([7da82b8](https://github.com/devsy-org/devsy/commit/7da82b838ad75e6b1b44e5a566303ac1203041a0)) -* **graph:** use round-based topological sort in sortNodeIDsWithPriority ([#235](https://github.com/devsy-org/devsy/issues/235)) ([b3d0008](https://github.com/devsy-org/devsy/commit/b3d00083e78b58995c6758ed57dce5589ee7b3a2)) -* **ide/vscode:** extension installation in VS Code flavors ([#636](https://github.com/devsy-org/devsy/issues/636)) ([dca065b](https://github.com/devsy-org/devsy/commit/dca065b814048ead5c3788f6b0bd12dea2ec14b3)) -* **image:** sanitize HTML error pages in container registry responses ([#127](https://github.com/devsy-org/devsy/issues/127)) ([021184c](https://github.com/devsy-org/devsy/commit/021184cc8d08cac5366f5747be6afd8ec0d8b859)) -* **images:** resize cursor icon ([#650](https://github.com/devsy-org/devsy/issues/650)) ([5e92a90](https://github.com/devsy-org/devsy/commit/5e92a901a8b62b04099be657d76251892d0008e7)) -* **inject:** chmod binary before mv to prevent entrypoint race on Alpine ([#264](https://github.com/devsy-org/devsy/issues/264)) ([594f71c](https://github.com/devsy-org/devsy/commit/594f71ca4d571e6442958099b27bad61ceeb7f02)) -* **inject:** resolve goroutine race in pipe() bidirectional copy ([#139](https://github.com/devsy-org/devsy/issues/139)) ([51a9405](https://github.com/devsy-org/devsy/commit/51a9405d7a4a542ba567a7b0989e7d853b501dd1)) -* **lifecycle:** accept initializeCommand as a valid waitFor value ([#114](https://github.com/devsy-org/devsy/issues/114)) ([908300a](https://github.com/devsy-org/devsy/commit/908300a68ff15d9e14b278fee9d8db88bc33cb37)) -* **lifecycle:** accept initializeCommand as a valid waitFor value ([#98](https://github.com/devsy-org/devsy/issues/98)) ([4953b11](https://github.com/devsy-org/devsy/commit/4953b1132b163cb28094a9288b5628112ad62c53)) -* **lifecycle:** enforce waitFor property in lifecycle hook execution ([#87](https://github.com/devsy-org/devsy/issues/87)) ([f366335](https://github.com/devsy-org/devsy/commit/f366335818c36b684b1df1695bedb9715c6e39f2)) -* **lifecycle:** install dotfiles between postCreate and postStart ([#97](https://github.com/devsy-org/devsy/issues/97)) ([7b67e90](https://github.com/devsy-org/devsy/commit/7b67e9099f0eeaabae108062fe13f017e63efed7)) -* **lifecycle:** install dotfiles between postCreate and postStart ([#97](https://github.com/devsy-org/devsy/issues/97)) ([#112](https://github.com/devsy-org/devsy/issues/112)) ([fe8884b](https://github.com/devsy-org/devsy/commit/fe8884b16d0f37c70a37898c5924a7dd06ce0533)) -* **lifecycle:** resolve dotfiles race condition in deferred hooks ([#113](https://github.com/devsy-org/devsy/issues/113)) ([f72417d](https://github.com/devsy-org/devsy/commit/f72417dc957a9c9b75196b7ff7f397afe9bd714b)) -* **lifecycle:** run initializeCommand named sub-commands in parallel ([#100](https://github.com/devsy-org/devsy/issues/100)) ([a5e7e27](https://github.com/devsy-org/devsy/commit/a5e7e27b5c0927ab9cfb02fb5c2e8d2cd21e0976)) -* **lifecycle:** run initializeCommand named sub-commands in parallel ([#116](https://github.com/devsy-org/devsy/issues/116)) ([93f8171](https://github.com/devsy-org/devsy/commit/93f81715a181f3da24d8a1bd234d3cde63b8a7fa)) -* **lifecycle:** run named sub-commands in parallel within lifecycle hooks ([#95](https://github.com/devsy-org/devsy/issues/95)) ([bc4be89](https://github.com/devsy-org/devsy/commit/bc4be89178cff178066fd7ef34fa60fb3bbd9c41)) -* **lifecycle:** run postAttachCommand on every attach per spec ([#177](https://github.com/devsy-org/devsy/issues/177)) ([83d024c](https://github.com/devsy-org/devsy/commit/83d024cb6656463297225106dd64fb9c9187eac1)) -* **lifecycle:** surface deferred hook errors instead of swallowing them ([#189](https://github.com/devsy-org/devsy/issues/189)) ([b7fbfc9](https://github.com/devsy-org/devsy/commit/b7fbfc9a06e45adf34ada3d2df3b90538d58f09f)) -* **lifecycle:** warn when waitFor references phase with no commands ([#120](https://github.com/devsy-org/devsy/issues/120)) ([60f5b1a](https://github.com/devsy-org/devsy/commit/60f5b1a8dcc78b9a35171741ff97ad8822531ab9)) -* **lint:** remove nolint:gosec directives from templates and e2e tests ([#225](https://github.com/devsy-org/devsy/issues/225)) ([58d2ba8](https://github.com/devsy-org/devsy/commit/58d2ba8012099102a00720b1686a61c675c1a9b2)) -* **log:** bridge klog to zap backend via LogrSink ([#299](https://github.com/devsy-org/devsy/issues/299)) ([9b0073b](https://github.com/devsy-org/devsy/commit/9b0073b4a6bc6aca165e192ab4e162b7fce12fd7)) -* **log:** make global logger thread-safe with atomic.Pointer ([#155](https://github.com/devsy-org/devsy/issues/155)) ([7fdb0f4](https://github.com/devsy-org/devsy/commit/7fdb0f4480591584542f2f28a6279f361dd9f81f)) -* **netstat:** handle missing /proc/net/tcp6 on IPv6-disabled hosts ([#706](https://github.com/devsy-org/devsy/issues/706)) ([cb27dd4](https://github.com/devsy-org/devsy/commit/cb27dd469607f3252bac2b47a16e3cf6f413c641)) -* prevent stdout corruption in kubernetes e2e tests ([#24](https://github.com/devsy-org/devsy/issues/24)) ([ed3e252](https://github.com/devsy-org/devsy/commit/ed3e252aac936a1f8c5620d664858df0b6608c0a)) -* propagate GitSSHSigningKey in daemon path and thread context through backhaul ([#722](https://github.com/devsy-org/devsy/issues/722)) ([d543be9](https://github.com/devsy-org/devsy/commit/d543be92b35f2304a2d8efd4ca425a437b8f17c3)) -* rename flatpak files from DevPod/loft to Devsy ([#9](https://github.com/devsy-org/devsy/issues/9)) ([a884e7f](https://github.com/devsy-org/devsy/commit/a884e7f9bcc9ea10b59ff06fd8678124ddcbd834)) -* rename logo images and fix broken badge URL in README ([#10](https://github.com/devsy-org/devsy/issues/10)) ([58a85f8](https://github.com/devsy-org/devsy/commit/58a85f8a0ccdcf13301428e3ddca24903060325b)) -* resolve Git SSH signature forwarding failures ([#704](https://github.com/devsy-org/devsy/issues/704)) ([3cc1d02](https://github.com/devsy-org/devsy/commit/3cc1d02a1e4634d354f155ab5c3e8163257fd0b6)) -* resolve SSH signature key path for container-to-host forwarding ([#714](https://github.com/devsy-org/devsy/issues/714)) ([696b944](https://github.com/devsy-org/devsy/commit/696b94402909d9ecab305801dcb45069e05c0a75)) -* resolve unused rust warnings and spelling issues ([#700](https://github.com/devsy-org/devsy/issues/700)) ([45249fc](https://github.com/devsy-org/devsy/commit/45249fc8b3da3e57af0f36d8697818cf8ce84dbf)) -* **run:** respect user-specified consistency in workspaceMount ([#182](https://github.com/devsy-org/devsy/issues/182)) ([d7bb5ed](https://github.com/devsy-org/devsy/commit/d7bb5edd8a30dea117fcccd317713a5117ba4483)) -* sanitize AppImage environment before opening URLs ([#710](https://github.com/devsy-org/devsy/issues/710)) ([702c227](https://github.com/devsy-org/devsy/commit/702c227848d219735db7cf9ae136ca17488e6880)) -* **shell:** update module mvdan.cc/sh/v3 to v3.13.1 ([#692](https://github.com/devsy-org/devsy/issues/692)) ([8f8e5cd](https://github.com/devsy-org/devsy/commit/8f8e5cd7653850cb4169e749f3358eb6f22f687b)) -* **ssh/agent:** expand tilde in SSH_AUTH_SOCK path ([#674](https://github.com/devsy-org/devsy/issues/674)) ([4fb2d7b](https://github.com/devsy-org/devsy/commit/4fb2d7b962a6ab5f3a9d7505df034cd53dcd3fc4)), closes [#671](https://github.com/devsy-org/devsy/issues/671) -* **ssh/server:** disable PTY emulation to prevent terminal rendering issues in TUI programs ([#595](https://github.com/devsy-org/devsy/issues/595)) ([a26eb64](https://github.com/devsy-org/devsy/commit/a26eb646002223dc7ee040d5e58b5bae8d644ebe)) -* **ssh/server:** pseudo-tty signal handling ([#601](https://github.com/devsy-org/devsy/issues/601)) ([273ed5b](https://github.com/devsy-org/devsy/commit/273ed5b64e0e5db629ea0cdae563d323963ec3bb)) -* **ssh/server:** start PTY with the client terminal dimensions ([#583](https://github.com/devsy-org/devsy/issues/583)) ([f833edb](https://github.com/devsy-org/devsy/commit/f833edb85ada0a66e94c20b4398270fb6af8fba1)) -* **ssh:** skip file path signing keys in GPG agent forwarding ([#734](https://github.com/devsy-org/devsy/issues/734)) ([8f408e4](https://github.com/devsy-org/devsy/commit/8f408e42dbc492f0a0b64db24842ddf63132d0af)) -* **ssh:** use platform raw terminal handling for PTY sessions ([#698](https://github.com/devsy-org/devsy/issues/698)) ([ad7254f](https://github.com/devsy-org/devsy/commit/ad7254fd08eb2321956123cb811743294fbb69a4)) -* **test:** isolate GPG signing key unit tests from host git config ([#233](https://github.com/devsy-org/devsy/issues/233)) ([c6034f3](https://github.com/devsy-org/devsy/commit/c6034f32180a5dac8bc3b1d3a1126f96dcc593cc)) -* **tunnel:** do not error when user exits ssh connection ([#586](https://github.com/devsy-org/devsy/issues/586)) ([371e52e](https://github.com/devsy-org/devsy/commit/371e52e2bdbfc97eb1dc2fffb2d04085b7bbeab0)) -* **tunnel:** extract JSON log lines instead of double-wrapping them ([#141](https://github.com/devsy-org/devsy/issues/141)) ([43ceb3f](https://github.com/devsy-org/devsy/commit/43ceb3ffe3b84ffa15b01948bcc8411b51096767)) -* **tunnel:** PipeBridge shutdown and goroutine leak fixes ([#158](https://github.com/devsy-org/devsy/issues/158)) ([b91e15a](https://github.com/devsy-org/devsy/commit/b91e15aedc81fee0da18e94a0ce5cf1060512c51)) -* **tunnel:** resolve SSH handshake EOF race in container tunnel ([#86](https://github.com/devsy-org/devsy/issues/86)) ([81d5811](https://github.com/devsy-org/devsy/commit/81d5811eaa77c6b6ae09f6f57e681362ccf71cc4)) -* **ui:** add error handling to provider options form ([#625](https://github.com/devsy-org/devsy/issues/625)) ([167febf](https://github.com/devsy-org/devsy/commit/167febff3474c5d9de3bf20b6bddf1011aca8248)) -* **ui:** migrate to Tauri opener plugin for file downloads from app ([#627](https://github.com/devsy-org/devsy/issues/627)) ([ab54f8a](https://github.com/devsy-org/devsy/commit/ab54f8afb4f6d97e170ce2d10cb74e47a097293b)) -* **ui:** provider modal view issues when adding new providers ([#646](https://github.com/devsy-org/devsy/issues/646)) ([c005899](https://github.com/devsy-org/devsy/commit/c00589940a5063f34f25e6de1e17c8cb42a343e3)) -* **upgrade:** check if already up-to-date ([#559](https://github.com/devsy-org/devsy/issues/559)) ([ae7d61e](https://github.com/devsy-org/devsy/commit/ae7d61e7a83ada613e0b90176f33b8b6d7fb0b84)) -* **upgrade:** install correct binary release for operating system during selfupdate ([#535](https://github.com/devsy-org/devsy/issues/535)) ([62e38b8](https://github.com/devsy-org/devsy/commit/62e38b81cef998fcdecb0a8848cc53a8113064ac)) -* **upgrade:** trim 'v' prefix from current version check in Upgrade function ([#574](https://github.com/devsy-org/devsy/issues/574)) ([f18b6e2](https://github.com/devsy-org/devsy/commit/f18b6e27c72f84d5a54b4090f5254c241c047e23)) -* **ux:** add operation context to error messages at command boundary ([#133](https://github.com/devsy-org/devsy/issues/133)) ([8c6740f](https://github.com/devsy-org/devsy/commit/8c6740f42ed6a7c48aa7b512af9c52ee2155d8bb)) -* **ux:** include lifecycle phase name in hook error messages ([#132](https://github.com/devsy-org/devsy/issues/132)) ([bcdb2e0](https://github.com/devsy-org/devsy/commit/bcdb2e00947f3c1d7a7182ce046e3f37e879b7e8)) -* **ux:** prevent remote agent fatal log from killing local CLI ([#130](https://github.com/devsy-org/devsy/issues/130)) ([37a153e](https://github.com/devsy-org/devsy/commit/37a153e6ade10637b81be302c2a63995d33ed775)) -* **ux:** print error message on SSH/exec exit failures ([#128](https://github.com/devsy-org/devsy/issues/128)) ([61c84c9](https://github.com/devsy-org/devsy/commit/61c84c9e98da12e28bfe5aaa778e4992bc1797e2)) -* **ux:** propagate swallowed errors in workspace resolution ([#131](https://github.com/devsy-org/devsy/issues/131)) ([41d7d38](https://github.com/devsy-org/devsy/commit/41d7d385e08275861536374ba9c07744b215f655)) -* **ux:** remove duplicate error logging in feature downloads ([#135](https://github.com/devsy-org/devsy/issues/135)) ([bf5a96f](https://github.com/devsy-org/devsy/commit/bf5a96f446accb072ba8be31203a6eacfb74f40b)) -* **ux:** replace %w with %v in log format strings ([#129](https://github.com/devsy-org/devsy/issues/129)) ([7697411](https://github.com/devsy-org/devsy/commit/7697411984d68c60bb4c28ca6dc141bef60a3ced)) -* **ux:** use %w for proper error chain wrapping ([#134](https://github.com/devsy-org/devsy/issues/134)) ([1360313](https://github.com/devsy-org/devsy/commit/1360313f4136917c1dacd11941fb8a0237d0d9b9)) -* **workspace:** force-remove workspace folder with restrictive permissions ([#297](https://github.com/devsy-org/devsy/issues/297)) ([f8f41f6](https://github.com/devsy-org/devsy/commit/f8f41f6baf2e82e819b3acdf0390eb7d17ed0c99)) -* **workspace:** propagate findWorkspace errors and fix list append bug ([#124](https://github.com/devsy-org/devsy/issues/124)) ([81ab5f1](https://github.com/devsy-org/devsy/commit/81ab5f1d0170b4425723c0828d62859208a681a2)) - - -### Reverts - -* undo commits after 37018553b (PRs [#90](https://github.com/devsy-org/devsy/issues/90), [#91](https://github.com/devsy-org/devsy/issues/91), [#97](https://github.com/devsy-org/devsy/issues/97)-101) ([#111](https://github.com/devsy-org/devsy/issues/111)) ([ec11fbd](https://github.com/devsy-org/devsy/commit/ec11fbdf04137657eda22e8fc25bed39b0131ec2)) - -## [1.3.0-rc.21](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.20...v1.3.0-rc.21) (2026-05-19) - - -### Features - -* **ci:** replace single release-please config with dual prerelease/stable setup ([#368](https://github.com/devsy-org/devsy/issues/368)) ([d985356](https://github.com/devsy-org/devsy/commit/d9853564264b32fb0634785154907e94de6cd3c9)) - -## [1.3.0-rc.20](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.19...v1.3.0-rc.20) (2026-05-18) - - -### Features - -* auto-overwrite stale agent binary and workspace clean command ([#364](https://github.com/devsy-org/devsy/issues/364)) ([76841a4](https://github.com/devsy-org/devsy/commit/76841a48e134e2da3001e5f671d2523f97659599)) - -## [1.3.0-rc.19](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.18...v1.3.0-rc.19) (2026-05-18) - - -### Features - -* **ci:** enable autoMergeRequest in release-please action ([#363](https://github.com/devsy-org/devsy/issues/363)) ([2f889bb](https://github.com/devsy-org/devsy/commit/2f889bb7a81ce129ca1704a2b495fbe342740c48)) - - -### Bug Fixes - -* **ci:** pass app token via token input for softprops/action-gh-release ([#361](https://github.com/devsy-org/devsy/issues/361)) ([77a9373](https://github.com/devsy-org/devsy/commit/77a937307921fcb143b722741d52b6fbb44f6407)) - -## [1.3.0-rc.18](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.17...v1.3.0-rc.18) (2026-05-18) - - -### Bug Fixes - -* **ci:** remove permission-contents scope restriction from app token step ([#359](https://github.com/devsy-org/devsy/issues/359)) ([28b8a1b](https://github.com/devsy-org/devsy/commit/28b8a1be2831509ead2dd25f552ef05e3f698d62)) - -## [1.3.0-rc.17](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.16...v1.3.0-rc.17) (2026-05-18) - - -### Bug Fixes - -* **ci:** pass app token via GITHUB_TOKEN env for softprops release step ([#357](https://github.com/devsy-org/devsy/issues/357)) ([69b8cb3](https://github.com/devsy-org/devsy/commit/69b8cb302776cf6bacf54e4dc0a7f6412a3cdd5f)) - -## [1.3.0-rc.16](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.15...v1.3.0-rc.16) (2026-05-18) - - -### Bug Fixes - -* **ci:** explicitly request contents:write permission for app token ([#355](https://github.com/devsy-org/devsy/issues/355)) ([ed11e14](https://github.com/devsy-org/devsy/commit/ed11e145b81d11a1df595180a938492330a81a95)) - -## [1.3.0-rc.15](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.14...v1.3.0-rc.15) (2026-05-18) - - -### Bug Fixes - -* **ci:** use make_latest legacy to avoid admin permission requirement ([#353](https://github.com/devsy-org/devsy/issues/353)) ([540e67a](https://github.com/devsy-org/devsy/commit/540e67ac6581f7386de511e877a6b9bdc73a4525)) - -## [1.3.0-rc.14](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.13...v1.3.0-rc.14) (2026-05-18) - - -### Bug Fixes - -* **ci:** restore softprops release step and wire rc_notes output id ([#351](https://github.com/devsy-org/devsy/issues/351)) ([a31522b](https://github.com/devsy-org/devsy/commit/a31522bd5c947f85f5177a0f709097cae8d37d9c)) - -## [1.3.0-rc.13](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.12...v1.3.0-rc.13) (2026-05-18) - - -### Bug Fixes - -* **ci:** use github.token for stable release creation in promote workflow ([#349](https://github.com/devsy-org/devsy/issues/349)) ([abde042](https://github.com/devsy-org/devsy/commit/abde04251bc5bcebf8c6e06dfe778a57d764e97c)) - -## [1.3.0-rc.12](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.11...v1.3.0-rc.12) (2026-05-18) - - -### Bug Fixes - -* **ci:** fix RC header rewrite and use gh CLI for stable release creation ([#347](https://github.com/devsy-org/devsy/issues/347)) ([9b80897](https://github.com/devsy-org/devsy/commit/9b80897dbfba3d4aafc3b751befb2e1e64d5e5de)) - -## [1.3.0-rc.11](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.10...v1.3.0-rc.11) (2026-05-18) - - -### Bug Fixes - -* **ci:** rewrite RC version header to stable in promote workflow ([#345](https://github.com/devsy-org/devsy/issues/345)) ([fdfed92](https://github.com/devsy-org/devsy/commit/fdfed92b27d251d43a97d00b2c17f934ff86e8dc)) - -## [1.3.0-rc.10](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.9...v1.3.0-rc.10) (2026-05-18) - - -### Bug Fixes - -* **ci:** publish stable release as latest instead of draft in promote workflow ([#344](https://github.com/devsy-org/devsy/issues/344)) ([4455eea](https://github.com/devsy-org/devsy/commit/4455eeae321a568421e26d6946260142d8504e63)) -* **ci:** use GITHUB_TOKEN for release.yml dispatch in promote workflow ([#342](https://github.com/devsy-org/devsy/issues/342)) ([5b9492f](https://github.com/devsy-org/devsy/commit/5b9492f9ca888194710589b9802f8a4d6ed6e64e)) - -## [1.3.0-rc.9](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.8...v1.3.0-rc.9) (2026-05-18) - - -### Bug Fixes - -* **ci:** add fetch-tags to promote-release checkout step ([#340](https://github.com/devsy-org/devsy/issues/340)) ([8d457be](https://github.com/devsy-org/devsy/commit/8d457be20695e89568c644c522cb20448f229d32)) - -## [1.3.0-rc.8](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.7...v1.3.0-rc.8) (2026-05-18) - - -### Bug Fixes - -* **ci:** exclude CLI deploys from Netlify restore search ([#337](https://github.com/devsy-org/devsy/issues/337)) ([db5ecf3](https://github.com/devsy-org/devsy/commit/db5ecf392f7d91dda6d39711c1d22e47356e678c)) - -## [1.3.0-rc.7](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.6...v1.3.0-rc.7) (2026-05-18) - - -### Bug Fixes - -* **ci:** deploy electron update metadata to dl.devsy.sh via Netlify ([#334](https://github.com/devsy-org/devsy/issues/334)) ([094c375](https://github.com/devsy-org/devsy/commit/094c3759fad5ad121fac2a969793aae14bb2a986)) - -## [1.3.0-rc.6](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.5...v1.3.0-rc.6) (2026-05-18) - - -### Features - -* **ci:** add path-based filtering to skip e2e on non-Go changes ([#332](https://github.com/devsy-org/devsy/issues/332)) ([af92dfc](https://github.com/devsy-org/devsy/commit/af92dfc8eaf2376bf5365adf09bafafffb770f40)) - -## [1.3.0-rc.5](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.4...v1.3.0-rc.5) (2026-05-18) - - -### Bug Fixes - -* **ci:** correct RC tag regex to match dot-separated format ([#328](https://github.com/devsy-org/devsy/issues/328)) ([6bdacbe](https://github.com/devsy-org/devsy/commit/6bdacbeaec13ae1c620ad3e817c38bc89f4be1c9)) -* **ci:** remove Netlify prod deploy that overwrites devsy.sh ([#330](https://github.com/devsy-org/devsy/issues/330)) ([791c0e7](https://github.com/devsy-org/devsy/commit/791c0e7f55b04d835a177f3d1f7c3c9dfe9323dd)) - -## [1.3.0-rc.4](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.3...v1.3.0-rc.4) (2026-05-18) - - -### Bug Fixes - -* **ci:** upload desktop artifacts via softprops/action-gh-release ([#326](https://github.com/devsy-org/devsy/issues/326)) ([6a67c26](https://github.com/devsy-org/devsy/commit/6a67c2629dca504bc2dcf9ee88b3c4b53b445aa3)) - -## [1.3.0-rc.3](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.2...v1.3.0-rc.3) (2026-05-18) - - -### Bug Fixes - -* **ci:** add permissions to publish-prerelease job ([#324](https://github.com/devsy-org/devsy/issues/324)) ([2f3cdbd](https://github.com/devsy-org/devsy/commit/2f3cdbda66e68459cb26770ebcf62bff6648448c)) - -## [1.3.0-rc.2](https://github.com/devsy-org/devsy/compare/v1.3.0-rc.1...v1.3.0-rc.2) (2026-05-18) - - -### Bug Fixes - -* **ci:** add --no-build flag to netlify deploy in release workflow ([#323](https://github.com/devsy-org/devsy/issues/323)) ([3c186eb](https://github.com/devsy-org/devsy/commit/3c186ebf66a693989bdef14f9ab708bb59439eda)) -* **ci:** fix Netlify deploy and Flatpak upload in release workflow ([#321](https://github.com/devsy-org/devsy/issues/321)) ([642dc1c](https://github.com/devsy-org/devsy/commit/642dc1c63aba7e6ba7e61412e19cf3cc57b3a9b2)) - -## [1.3.0-rc.1](https://github.com/devsy-org/devsy/compare/v1.3.0-rc...v1.3.0-rc.1) (2026-05-18) - - -### Bug Fixes - -* **ci:** pin Windows desktop builds to windows-2022 for node-gyp compat ([#319](https://github.com/devsy-org/devsy/issues/319)) ([fb38c95](https://github.com/devsy-org/devsy/commit/fb38c9505b48d9bb746340e45ae3ba22577b3b19)) -* **ci:** resolve 3 desktop build failures in release workflow ([#314](https://github.com/devsy-org/devsy/issues/314)) ([4c5cea8](https://github.com/devsy-org/devsy/commit/4c5cea8fff9ebde992821710583dd54122855ce3)) -* **ci:** revert CI skip condition on release-please PRs ([#320](https://github.com/devsy-org/devsy/issues/320)) ([a7110d7](https://github.com/devsy-org/devsy/commit/a7110d727f04e95e589450f432ed0a007a6cd5a2)) - -## [1.3.0-rc](https://github.com/devsy-org/devsy/compare/v1.2.1-rc...v1.3.0-rc) (2026-05-17) - - -### Features - -* add workspace rename command with auto-stop and e2e tests ([#308](https://github.com/devsy-org/devsy/issues/308)) ([ff2afac](https://github.com/devsy-org/devsy/commit/ff2afac1170f863629a95850db304cb32caeb6e9)) -* **desktop:** add workspace rename UI with inline editing ([#311](https://github.com/devsy-org/devsy/issues/311)) ([0038071](https://github.com/devsy-org/devsy/commit/0038071020b48fae8ba2774e1a5f6baa01db5af2)) - - -### Bug Fixes - -* **ci:** flatten downloaded CLI artifacts before desktop build ([#312](https://github.com/devsy-org/devsy/issues/312)) ([8a3b397](https://github.com/devsy-org/devsy/commit/8a3b397d6055c2f886740ffe5908a5e87b0a8a40)) -* **ci:** skip network-dependent OCI tests in goreleaser pre-hook ([#309](https://github.com/devsy-org/devsy/issues/309)) ([87d893e](https://github.com/devsy-org/devsy/commit/87d893eec5765d67966a0c826a2fa8220bfb99f3)) - -## [1.2.1-rc](https://github.com/devsy-org/devsy/compare/v1.2.0...v1.2.1-rc) (2026-05-17) - - -### Bug Fixes - -* **ci:** add prerelease versioning to release-please config ([#305](https://github.com/devsy-org/devsy/issues/305)) ([f65bb85](https://github.com/devsy-org/devsy/commit/f65bb8540c9a03c4bcafa95bdb247e00cdac6d81)) - -## [1.2.0](https://github.com/devsy-org/devsy/compare/v1.1.0...v1.2.0) (2026-05-17) - - -### Features - -* **telemetry:** replace Loft analytics with PostHog and add Netlify update hosting ([#303](https://github.com/devsy-org/devsy/issues/303)) ([07824bd](https://github.com/devsy-org/devsy/commit/07824bdf875abefc5d51c1a1d1fe68c34bbde08f)) - -## [1.1.0](https://github.com/devsy-org/devsy/compare/v1.0.0...v1.1.0) (2026-05-16) - - -### Features - -* add community provider for podman ([#453](https://github.com/devsy-org/devsy/issues/453)) ([a0efad6](https://github.com/devsy-org/devsy/commit/a0efad62c7c68b6f1385fcc803a84b9a4c6586d9)) -* add support for IBM Bob IDE ([#657](https://github.com/devsy-org/devsy/issues/657)) ([5c5255d](https://github.com/devsy-org/devsy/commit/5c5255d94e9f47e2492e9dbfc12a0d48e435dda0)) -* add zap-based pkg/log and CLI verbosity flags ([#13](https://github.com/devsy-org/devsy/issues/13)) ([5f05055](https://github.com/devsy-org/devsy/commit/5f05055ce3ed917c8fcc0d1cc1635c535a3e2310)) -* **agent:** implement AgentDelivery interface ([#265](https://github.com/devsy-org/devsy/issues/265)) ([9d5a5b8](https://github.com/devsy-org/devsy/commit/9d5a5b8acf4969ab10a9f0b44c203b43f8ebbd15)) -* **build:** add CLI --cache-from flags with priority over devcontainer.json ([#167](https://github.com/devsy-org/devsy/issues/167)) ([ecd9945](https://github.com/devsy-org/devsy/commit/ecd99451c78dc6c8e319907ef2d369ef9cab9c58)) -* **cli:** add --default-user-env-probe flag to override config ([#175](https://github.com/devsy-org/devsy/issues/175)) ([77d40f5](https://github.com/devsy-org/devsy/commit/77d40f57216b030319b90fb02543aca03f5b8dc9)) -* **cli:** add --docker-path flag to read-configuration command ([#245](https://github.com/devsy-org/devsy/issues/245)) ([7e53991](https://github.com/devsy-org/devsy/commit/7e53991a55dc802cb79566f79a57cc0324f7ca64)) -* **cli:** add --id-label flag for custom container identification ([#183](https://github.com/devsy-org/devsy/issues/183)) ([7e61e8c](https://github.com/devsy-org/devsy/commit/7e61e8cfdebeace29b90016dcad8eb7d4d6cb6cc)) -* **cli:** add --id-label flag to read-configuration command ([#244](https://github.com/devsy-org/devsy/issues/244)) ([271f84e](https://github.com/devsy-org/devsy/commit/271f84e3c860dc44a033ad31559935cea3044a7e)) -* **cli:** add --result-format flag for JSON envelope control (DEVSY-022) ([#243](https://github.com/devsy-org/devsy/issues/243)) ([955dd58](https://github.com/devsy-org/devsy/commit/955dd58d6384b7d000169ac44071f9dfd4ffe220)) -* **cli:** add --secrets-file flag for lifecycle command env injection ([#179](https://github.com/devsy-org/devsy/issues/179)) ([8a996c3](https://github.com/devsy-org/devsy/commit/8a996c307aacd44d7cc6ed5b5a169c9fe3904d62)) -* **cli:** add exec command for container command execution ([#157](https://github.com/devsy-org/devsy/issues/157)) ([029684c](https://github.com/devsy-org/devsy/commit/029684ca8ad15c36b18cfb166171a847cc44cccb)) -* **cli:** add features publish command ([#263](https://github.com/devsy-org/devsy/issues/263)) ([3bc64ed](https://github.com/devsy-org/devsy/commit/3bc64ed62cd4fedd977f7a9b01089fb5e7e1d752)) -* **cli:** add features test command for isolated feature testing ([#258](https://github.com/devsy-org/devsy/issues/258)) ([a54d9ff](https://github.com/devsy-org/devsy/commit/a54d9ff1bd1faab87863072aa84def8665dcf0c9)) -* **cli:** add flag aliases for devcontainer CLI compatibility ([#174](https://github.com/devsy-org/devsy/issues/174)) ([3c1fed4](https://github.com/devsy-org/devsy/commit/3c1fed43de7355eb160cdfad42592815c9f0110d)) -* **cli:** add read-configuration command ([#152](https://github.com/devsy-org/devsy/issues/152)) ([bb029d0](https://github.com/devsy-org/devsy/commit/bb029d0289bdb4a0fc212051ca2021afd11a830e)) -* **cli:** add repeatable --mount flag to up command ([#295](https://github.com/devsy-org/devsy/issues/295)) ([7db7af3](https://github.com/devsy-org/devsy/commit/7db7af390422693874c540ebc10ae4235aa5c300)) -* **cli:** add spec-required flags to run-user-commands (DEVSY-027) ([#246](https://github.com/devsy-org/devsy/issues/246)) ([c9bca5d](https://github.com/devsy-org/devsy/commit/c9bca5d701bff20582ea5eacfe8f47df5ef5a268)) -* **cli:** add upgrade command for feature versions ([#290](https://github.com/devsy-org/devsy/issues/290)) ([4e1f879](https://github.com/devsy-org/devsy/commit/4e1f879fbd537f0b516166a7eada4d3e230231b2)) -* **cli:** implement features package command ([#260](https://github.com/devsy-org/devsy/issues/260)) ([d074633](https://github.com/devsy-org/devsy/commit/d074633ef4ccfff1a2cca8ee49b7dc671f551bc3)) -* **cli:** rewrite set-up command to full devcontainer spec compliance ([#251](https://github.com/devsy-org/devsy/issues/251)) ([9563e32](https://github.com/devsy-org/devsy/commit/9563e3256aaa51b5f47dce1cef84cdc66918553b)) -* **cmd:** add --container-id flag to read-configuration ([#205](https://github.com/devsy-org/devsy/issues/205)) ([198dee1](https://github.com/devsy-org/devsy/commit/198dee1f6b07892dd3f9225ab6a1d459e5d69477)) -* **cmd:** add --remove-volumes flag to down command ([#207](https://github.com/devsy-org/devsy/issues/207)) ([ba9fbb9](https://github.com/devsy-org/devsy/commit/ba9fbb92534b8f4e56bf54d297bbbfa48d035288)) -* **cmd:** add --update-remote-user-uid-default flag to up command ([#208](https://github.com/devsy-org/devsy/issues/208)) ([14e6944](https://github.com/devsy-org/devsy/commit/14e6944dc1215d83a641f17887bd971e53ccb3b9)) -* **cmd:** add --workspace-mount-consistency flag to up command ([#198](https://github.com/devsy-org/devsy/issues/198)) ([e2992f8](https://github.com/devsy-org/devsy/commit/e2992f8a2b7a031ea4156acbd3cc2a65ec1998de)) -* **cmd:** add `--additional-features` flag for feature injection ([#626](https://github.com/devsy-org/devsy/issues/626)) ([265b290](https://github.com/devsy-org/devsy/commit/265b290b3653b7021cfd8649ab2d61952d4c376d)) -* **cmd:** add `outdated` command to check for newer feature versions ([#191](https://github.com/devsy-org/devsy/issues/191)) ([43fba26](https://github.com/devsy-org/devsy/commit/43fba2676a3fc071edc3d417e4b16e58775bc637)) -* **cmd:** add `set-up` command for BYOC container configuration ([#196](https://github.com/devsy-org/devsy/issues/196)) ([3eb488e](https://github.com/devsy-org/devsy/commit/3eb488e36b736b66e306a166e646815567ac913b)) -* **cmd:** add features info/resolve-deps/generate-docs commands ([#219](https://github.com/devsy-org/devsy/issues/219)) ([be8aeac](https://github.com/devsy-org/devsy/commit/be8aeac00425cf3a260785084bb8f0403e8f3836)) -* **cmd:** add generic TERM compatibility modes ([#490](https://github.com/devsy-org/devsy/issues/490)) ([42e54c2](https://github.com/devsy-org/devsy/commit/42e54c234a8b88ed0b0b5095ab5f0efbef1fda5e)) -* **cmd:** add hidden flag aliases for devcontainer CLI compat ([#200](https://github.com/devsy-org/devsy/issues/200)) ([7af1be2](https://github.com/devsy-org/devsy/commit/7af1be222ccd5aad462ce4064abfc98463275509)) -* **cmd:** add JSON result envelope on stdout for up/build/exec ([#199](https://github.com/devsy-org/devsy/issues/199)) ([75cec78](https://github.com/devsy-org/devsy/commit/75cec78cc88962fa8db193c25261ff42aaffa0c1)) -* **cmd:** add minor CLI flags ([#217](https://github.com/devsy-org/devsy/issues/217)) ([7d056fb](https://github.com/devsy-org/devsy/commit/7d056fbb7cf986d62029b7fc91027c4d96d4d115)) -* **cmd:** add newline separator to version output ([#425](https://github.com/devsy-org/devsy/issues/425)) ([d24f93c](https://github.com/devsy-org/devsy/commit/d24f93cfbdef1298071521d9ba40ef2cba3b1548)) -* **cmd:** add remaining minor flags ([#215](https://github.com/devsy-org/devsy/issues/215)) ([ec85a11](https://github.com/devsy-org/devsy/commit/ec85a119fd35f5e5f273157ecadf043be937cc20)) -* **cmd:** add run-user-commands lifecycle command ([#203](https://github.com/devsy-org/devsy/issues/203)) ([d2ca833](https://github.com/devsy-org/devsy/commit/d2ca8330b622b4f9c501027d86e7c2fdeefb639b)) -* **cmd:** add templates apply/publish/metadata/generate-docs commands ([#220](https://github.com/devsy-org/devsy/issues/220)) ([84d21c6](https://github.com/devsy-org/devsy/commit/84d21c6993ce6748024d13669456d246549c3439)) -* **cmd:** rename `upgrade` command to `self-update` ([#192](https://github.com/devsy-org/devsy/issues/192)) ([bb0c72f](https://github.com/devsy-org/devsy/commit/bb0c72f1689942f457582429a4ae48f2e74dedd7)) -* **cmd:** retrieve virtual machine instance description ([#602](https://github.com/devsy-org/devsy/issues/602)) ([1451fa1](https://github.com/devsy-org/devsy/commit/1451fa12b1b350bc1c3d1e19355d5b21ddfad9ba)) -* **compose:** add podman compose detection path ([#274](https://github.com/devsy-org/devsy/issues/274)) ([774ab5d](https://github.com/devsy-org/devsy/commit/774ab5d5941805fee431bb651d3cd46f75cdc48d)) -* **compose:** validate hostRequirements in Docker Compose path ([#247](https://github.com/devsy-org/devsy/issues/247)) ([7cd689f](https://github.com/devsy-org/devsy/commit/7cd689f30fc08f350b3a2d3284c08913912822a8)) -* **compose:** validate runServices against compose file services ([#211](https://github.com/devsy-org/devsy/issues/211)) ([db7f18a](https://github.com/devsy-org/devsy/commit/db7f18a0795ced9f631ade8e6e5714b673bde365)) -* **config:** add hostRequirements pre-flight validation ([#173](https://github.com/devsy-org/devsy/issues/173)) ([82cf6b0](https://github.com/devsy-org/devsy/commit/82cf6b0ba88d3849379f54e39c77b9da4ed3dc36)) -* **config:** add local-path extends support for devcontainer.json ([#184](https://github.com/devsy-org/devsy/issues/184)) ([b51dbf6](https://github.com/devsy-org/devsy/commit/b51dbf60143ad3b11a704fac332fbc8295cc69ec)) -* **config:** add oci:// prefix, multi-cloud auth, and digest caching to OCI extends ([#253](https://github.com/devsy-org/devsy/issues/253)) ([80f6170](https://github.com/devsy-org/devsy/commit/80f61702d9aea4375a98e46ce961223a3cd2545c)) -* **config:** add PathManager for XDG-compliant path computation ([#74](https://github.com/devsy-org/devsy/issues/74)) ([e477cf8](https://github.com/devsy-org/devsy/commit/e477cf83291451cc815ae0b9106158927f4976af)) -* **config:** add securityOpt passthrough to container create ([#169](https://github.com/devsy-org/devsy/issues/169)) ([3ef60f9](https://github.com/devsy-org/devsy/commit/3ef60f92456505e834fbfc6e7a7d5d5418fa4eb9)) -* **config:** derive devcontainerId from workspace folder per spec ([#195](https://github.com/devsy-org/devsy/issues/195)) ([d1895c5](https://github.com/devsy-org/devsy/commit/d1895c5368ae09ca9dabd093d04f2acbcedc2f84)) -* **config:** enforce phase-aware variable substitution scoping ([#249](https://github.com/devsy-org/devsy/issues/249)) ([8f74302](https://github.com/devsy-org/devsy/commit/8f743022838e20555a263710505aec2ecb668249)) -* **config:** implement spec-compliant devcontainerId derivation ([#252](https://github.com/devsy-org/devsy/issues/252)) ([d2ee4ab](https://github.com/devsy-org/devsy/commit/d2ee4ab6ca2b9b7bd668434f29b2ccbf8f4282a4)) -* **config:** parse and resolve devcontainer secrets property ([#83](https://github.com/devsy-org/devsy/issues/83)) ([64a6d4f](https://github.com/devsy-org/devsy/commit/64a6d4f52775a76ba480efb95e401fd2814ece23)) -* **config:** resolve variable substitution in extends paths ([#256](https://github.com/devsy-org/devsy/issues/256)) ([e73498e](https://github.com/devsy-org/devsy/commit/e73498e77a2d4c638e042b7a12d94c7abcdc3895)) -* **config:** support array form for extends property ([#188](https://github.com/devsy-org/devsy/issues/188)) ([da42f37](https://github.com/devsy-org/devsy/commit/da42f37fedad1ddf9ede0f20835290480c869272)) -* **config:** support custom workspaceMount from devcontainer.json ([#170](https://github.com/devsy-org/devsy/issues/170)) ([a7794f0](https://github.com/devsy-org/devsy/commit/a7794f01eff445528eddfc9f5695521f7b8d0ccf)) -* **config:** support forwardPorts range syntax expansion ([#168](https://github.com/devsy-org/devsy/issues/168)) ([1c618f1](https://github.com/devsy-org/devsy/commit/1c618f1b9b40a985783723b9b3659e05f5d471d6)) -* **config:** support OCI remote extends for devcontainer.json ([#190](https://github.com/devsy-org/devsy/issues/190)) ([8e1e7dd](https://github.com/devsy-org/devsy/commit/8e1e7ddc0d396d6d1f70578ff5ec20d5e4e581e3)) -* **delivery:** add KubernetesDelivery strategy for K8s agent binary injection ([#267](https://github.com/devsy-org/devsy/issues/267)) ([918ed99](https://github.com/devsy-org/devsy/commit/918ed99ea1331bfa1f0c9a8886d2ea91ead931a6)) -* **desktop:** add Electron desktop app ([#298](https://github.com/devsy-org/devsy/issues/298)) ([b01eae3](https://github.com/devsy-org/devsy/commit/b01eae3a2cd79a00e3aab21b19b5892a79caf303)) -* **devcontainer/setup:** open IDE before postAttachCommand runs ([#728](https://github.com/devsy-org/devsy/issues/728)) ([0ba9c1a](https://github.com/devsy-org/devsy/commit/0ba9c1aa1c47cc1fd80edaa75b2b410648ce76cd)) -* **devcontainer:** add stopCompose shutdownAction for compose containers ([#186](https://github.com/devsy-org/devsy/issues/186)) ([9ab288f](https://github.com/devsy-org/devsy/commit/9ab288f9ebf0d57241e0a5717e73a2f8374dd367)) -* **dockercredentials:** add Docker credential helper for agent ([#428](https://github.com/devsy-org/devsy/issues/428)) ([90dbaad](https://github.com/devsy-org/devsy/commit/90dbaad38d717f493c9fff82287f1e4089e5f423)) -* **driver/docker:** execute docker run in the workspace directory ([#498](https://github.com/devsy-org/devsy/issues/498)) ([19dbf79](https://github.com/devsy-org/devsy/commit/19dbf79a71ec2229e1bdaf1c6ac29c7d374ca7b7)) -* **driver:** guard BuildKit strategy against Podman runtime ([#270](https://github.com/devsy-org/devsy/issues/270)) ([01ef390](https://github.com/devsy-org/devsy/commit/01ef3909f1bf13a6a1496da63a5fe4bf6ab0da7c)) -* enable renaming providers ([#358](https://github.com/devsy-org/devsy/issues/358)) ([1c2b543](https://github.com/devsy-org/devsy/commit/1c2b54389f55bc429a94b8397cfc637a797fe738)) -* enforce hostRequirements validation with GPU support ([#292](https://github.com/devsy-org/devsy/issues/292)) ([9f49d77](https://github.com/devsy-org/devsy/commit/9f49d77515c99d3b29a022aca5bd43e749146151)) -* **envelope:** surface hostRequirements warnings in CLI result JSON ([#204](https://github.com/devsy-org/devsy/issues/204)) ([c62b068](https://github.com/devsy-org/devsy/commit/c62b068c30147784793194538f1eef4dde52af3d)) -* **exec:** add devcontainer spec compliance (workdir, user, remoteEnv, userEnvProbe) ([#162](https://github.com/devsy-org/devsy/issues/162)) ([94b3b9e](https://github.com/devsy-org/devsy/commit/94b3b9e0681c36ede40d568906e05e3c19114b68)) -* expand user home directory references in workspace source ([#499](https://github.com/devsy-org/devsy/issues/499)) ([15c75cc](https://github.com/devsy-org/devsy/commit/15c75cc93adfa030d64304e19dbc5c4488083c86)) -* expose compose project name as env var in containers ([#711](https://github.com/devsy-org/devsy/issues/711)) ([36c10c9](https://github.com/devsy-org/devsy/commit/36c10c9b8438d052339c24734f48554bd1c975ab)), closes [#456](https://github.com/devsy-org/devsy/issues/456) -* **feature:** add interactive prompting for secret options ([#291](https://github.com/devsy-org/devsy/issues/291)) ([6035a26](https://github.com/devsy-org/devsy/commit/6035a26517d3346ea11d466ba892e102c9f4654c)) -* **feature:** add OCI pull retry with URL sanitization ([#176](https://github.com/devsy-org/devsy/issues/176)) ([bce287e](https://github.com/devsy-org/devsy/commit/bce287ea912b5da71b0113fb2607ca8b820c9e6e)) -* **feature:** consume collection.json from OCI feature registries ([#214](https://github.com/devsy-org/devsy/issues/214)) ([80e7b08](https://github.com/devsy-org/devsy/commit/80e7b08331020bbf3e15a394df9d53d39f230e25)) -* **feature:** implement secret option handling ([#213](https://github.com/devsy-org/devsy/issues/213)) ([77431d7](https://github.com/devsy-org/devsy/commit/77431d7d7be644dd42ca5e48235c745ea5729cd1)) -* **feature:** parse OCI annotations from feature manifests ([#218](https://github.com/devsy-org/devsy/issues/218)) ([4208400](https://github.com/devsy-org/devsy/commit/42084009b4ff6ac825a215020378c735493afcfe)) -* **feature:** resolve legacy IDs during dependency resolution ([#206](https://github.com/devsy-org/devsy/issues/206)) ([f9dc6e3](https://github.com/devsy-org/devsy/commit/f9dc6e3d9899bc71ca247db575a75a93fbebb403)) -* **features:** add info manifest and info tags subcommands ([#289](https://github.com/devsy-org/devsy/issues/289)) ([2d4b112](https://github.com/devsy-org/devsy/commit/2d4b112b5fd90f84e9e5ad43e31494ad90352a0c)) -* **feature:** validate option type and enum constraints at install time ([#187](https://github.com/devsy-org/devsy/issues/187)) ([836062d](https://github.com/devsy-org/devsy/commit/836062dc024000acb15fe9ff98a145631c424664)) -* **feature:** version-aware feature equality ([#210](https://github.com/devsy-org/devsy/issues/210)) ([9f01c25](https://github.com/devsy-org/devsy/commit/9f01c25a0b89423cdd1e92a7c52eea02920d9797)) -* **git:** support includeIf conditional config via workspace directory context ([#296](https://github.com/devsy-org/devsy/issues/296)) ([6ef0418](https://github.com/devsy-org/devsy/commit/6ef0418fe100087a38d04ccf8cf9d7c948dfd6f1)) -* **graph:** implement round-based topological sort ([#201](https://github.com/devsy-org/devsy/issues/201)) ([7ddcfca](https://github.com/devsy-org/devsy/commit/7ddcfcac2a1e486292d2dc35ed95aebe749e93eb)) -* **ide/vscode:** improve VS Code server discovery ([#673](https://github.com/devsy-org/devsy/issues/673)) ([9f49d94](https://github.com/devsy-org/devsy/commit/9f49d9417f7af4d0d5f7aed0da03528ba56ca071)), closes [#639](https://github.com/devsy-org/devsy/issues/639) -* **metadata:** include containerEnv in label and warn on size limit ([#178](https://github.com/devsy-org/devsy/issues/178)) ([a148fb3](https://github.com/devsy-org/devsy/commit/a148fb3a1a90e46c85afee92f0dc9590da08de68)) -* **netstat:** wire portsAttributes into port forwarding watcher ([#202](https://github.com/devsy-org/devsy/issues/202)) ([2e93da4](https://github.com/devsy-org/devsy/commit/2e93da4487d472661d645906de23e3686888d8fd)) -* **obs:** add injection pipeline timing logs ([#147](https://github.com/devsy-org/devsy/issues/147)) ([6773838](https://github.com/devsy-org/devsy/commit/677383868ecc474d7cc0e6809a4cd70980ed8a22)) -* **port:** accept hostnames in SSH port forwarding ([#294](https://github.com/devsy-org/devsy/issues/294)) ([6832043](https://github.com/devsy-org/devsy/commit/6832043454f23ca70c0b9c05e1d22cf5fa2e0144)) -* **ports:** wire portsAttributes into forwarding decisions ([#248](https://github.com/devsy-org/devsy/issues/248)) ([90dee39](https://github.com/devsy-org/devsy/commit/90dee393b062cbe4e1e70592a0b6a6cd1f586f33)) -* **provider:** add built-in Podman provider ([#277](https://github.com/devsy-org/devsy/issues/277)) ([afbfd81](https://github.com/devsy-org/devsy/commit/afbfd81e13e1612fc647ea681cce02f834958aeb)) -* rebrand devpod/loft to devsy ([#1](https://github.com/devsy-org/devsy/issues/1)) ([f809604](https://github.com/devsy-org/devsy/commit/f8096040b681b00f2c6f2d42f76cec7eb970fc95)) -* replace PrintTable with lipgloss table renderer ([#716](https://github.com/devsy-org/devsy/issues/716)) ([6d6af55](https://github.com/devsy-org/devsy/commit/6d6af5546264b17a65d73e0ce6998c6a9eaaf2e6)) -* rewrite module deps from loft-sh to skevetter forks ([#726](https://github.com/devsy-org/devsy/issues/726)) ([28b39c2](https://github.com/devsy-org/devsy/commit/28b39c2df6318c51a5bf77131e94a46d0defdfee)) -* **runtime:** add ContainerRuntime abstraction interface ([#281](https://github.com/devsy-org/devsy/issues/281)) ([d74b492](https://github.com/devsy-org/devsy/commit/d74b492d20e72d23cd5bead58c042a55be9e15b5)) -* **tunnel:** add PipeBridge and ConnError primitives ([#137](https://github.com/devsy-org/devsy/issues/137)) ([395b50c](https://github.com/devsy-org/devsy/commit/395b50c77fb18aeaa58fa7d95234844874df600d)) -* **tunnel:** apply otherPortsAttributes defaults to unlisted ports ([#171](https://github.com/devsy-org/devsy/issues/171)) ([7828ec3](https://github.com/devsy-org/devsy/commit/7828ec3f263262c0ea2d2b2ffb3a69e735b9299e)) -* **tunnel:** extract PipeBridge and ConnError primitives, fix direct.go race ([#91](https://github.com/devsy-org/devsy/issues/91)) ([d639e53](https://github.com/devsy-org/devsy/commit/d639e537743f03a38fdf63f3f5849fd5bede1cfb)) -* **tunnel:** wire portsAttributes per-port settings into forwarding ([#172](https://github.com/devsy-org/devsy/issues/172)) ([11158bb](https://github.com/devsy-org/devsy/commit/11158bb67fb47232100f688af4386e4aa6c40afd)) -* **ui:** remove try devpod pro button and setting ([#463](https://github.com/devsy-org/devsy/issues/463)) ([62895c9](https://github.com/devsy-org/devsy/commit/62895c927f1609963ab327390bb6d27bdcd1ea92)) -* **up:** add --gpu-availability flag to override GPU detection ([#185](https://github.com/devsy-org/devsy/issues/185)) ([92b3cd7](https://github.com/devsy-org/devsy/commit/92b3cd7b5dec9da0a46a00cb067c4bc8ce1b7d27)) -* **up:** add --prebuild flag for devcontainer prebuild lifecycle ([#80](https://github.com/devsy-org/devsy/issues/80)) ([e6974ff](https://github.com/devsy-org/devsy/commit/e6974ff773f7ea5d78977ba8314c5cbb4814086e)) - - -### Bug Fixes - -* **agent/git_ssh_signature:** remove agent-forwarding and start-services flags ([#662](https://github.com/devsy-org/devsy/issues/662)) ([2738ef0](https://github.com/devsy-org/devsy/commit/2738ef005e5eb802fc2fdaf21456a02fa659e0d7)) -* **agent/git_ssh_signature:** ssh signature forwarding fails when signing ([#648](https://github.com/devsy-org/devsy/issues/648)) ([c52702b](https://github.com/devsy-org/devsy/commit/c52702b53d8f9de5caa874dab0ea2b8124c1fea5)) -* **build:** pass environment variables to flatpak-spawn wrapper ([#640](https://github.com/devsy-org/devsy/issues/640)) ([f370b5d](https://github.com/devsy-org/devsy/commit/f370b5d926a071735f78696b8c891eee2e5e25ce)) -* **build:** pass metadata labels to docker buildx build command ([#82](https://github.com/devsy-org/devsy/issues/82)) ([8d6d7c8](https://github.com/devsy-org/devsy/commit/8d6d7c8e5f140e0ac533e89d536c9fef1f493c8c)) -* **build:** wire devcontainer.json cacheFrom into docker build args ([#163](https://github.com/devsy-org/devsy/issues/163)) ([61b144a](https://github.com/devsy-org/devsy/commit/61b144a729bc7dcbcc311592cc50d7e00f449750)) -* capitalization of type bug in report ([#667](https://github.com/devsy-org/devsy/issues/667)) ([cfdbee4](https://github.com/devsy-org/devsy/commit/cfdbee411e05de8802bd5217b00712b6ed230c9b)) -* **ci:** disable rust-cache bin caching to fix macOS cargo resolution ([#288](https://github.com/devsy-org/devsy/issues/288)) ([bf7762d](https://github.com/devsy-org/devsy/commit/bf7762de0c3655f7bb084b440dffcb424d6cacae)) -* **ci:** install kind directly on Windows to avoid docker-desktop dep ([#261](https://github.com/devsy-org/devsy/issues/261)) ([e06bcf5](https://github.com/devsy-org/devsy/commit/e06bcf56e861d8853498afd0836a0fb0c7be0f3b)) -* **ci:** use goreleaser-action in act workflow to avoid Go version mismatch ([#122](https://github.com/devsy-org/devsy/issues/122)) ([c1ffa70](https://github.com/devsy-org/devsy/commit/c1ffa70b4b9ce851f9e0ca76915c8b8447e6ad79)) -* **cli:** make down command stop and delete containers per spec ([#153](https://github.com/devsy-org/devsy/issues/153)) ([1b24641](https://github.com/devsy-org/devsy/commit/1b24641886d2b91679b1aae358eb10323c7cc30d)) -* **cmd/machine:** linting errors ([#505](https://github.com/devsy-org/devsy/issues/505)) ([33e565f](https://github.com/devsy-org/devsy/commit/33e565f7701080c55d0d6ccf83934777dad1cfdc)) -* **cmd/ssh:** default ssh workdir to merged workspaceFolder ([#517](https://github.com/devsy-org/devsy/issues/517)) ([288c56d](https://github.com/devsy-org/devsy/commit/288c56d879dbf6fb0fc0fbd6d0cd79e503c3cffd)) -* **cmd:** GPG agent forwarding fails with SSH signing keys ([#732](https://github.com/devsy-org/devsy/issues/732)) ([fdd4906](https://github.com/devsy-org/devsy/commit/fdd4906d53191efbbbe226b853efea7c8d3abc81)) -* **compose:** podman with docker-compose stderr handling ([#618](https://github.com/devsy-org/devsy/issues/618)) ([aa90f6d](https://github.com/devsy-org/devsy/commit/aa90f6d82bd62c722e3e62df2c6d667ef7fccd26)) -* **compose:** surface helper error messages ([#462](https://github.com/devsy-org/devsy/issues/462)) ([b12f407](https://github.com/devsy-org/devsy/commit/b12f407aafa41e13f8a13b0b204a568612d71f42)) -* **config:** correct lifecycle hook merge ordering ([#236](https://github.com/devsy-org/devsy/issues/236)) ([a640dba](https://github.com/devsy-org/devsy/commit/a640dba777ec2098b0803f3f6166d6235be7c8b0)) -* **config:** correct portsAttributes JSON struct tag typo ([#81](https://github.com/devsy-org/devsy/issues/81)) ([93e0da3](https://github.com/devsy-org/devsy/commit/93e0da3f53ed403694c188479eda518f46c81ba9)) -* **config:** handle remoteEnv null values to unset variables ([#93](https://github.com/devsy-org/devsy/issues/93)) ([893db05](https://github.com/devsy-org/devsy/commit/893db0581dc9e36bbc91bf3bcb6412b092aa9811)) -* **config:** make shutdownAction defaults explicit in config resolution ([#259](https://github.com/devsy-org/devsy/issues/259)) ([01b5b82](https://github.com/devsy-org/devsy/commit/01b5b824969a6f37257a008323fe4114f017be85)) -* **config:** order feature hooks before image hooks per spec ([#197](https://github.com/devsy-org/devsy/issues/197)) ([d396b6b](https://github.com/devsy-org/devsy/commit/d396b6b30abfc7c6a7cc4cbbacc99ed4ec6ff7c4)) -* **config:** preserve colons in variable substitution default values ([#9](https://github.com/devsy-org/devsy/issues/9)) ([#94](https://github.com/devsy-org/devsy/issues/94)) ([97f2d96](https://github.com/devsy-org/devsy/commit/97f2d96aa4ac606a5c61029b822e0f717368a370)) -* **config:** remove unsupported ${env:VAR} variable substitution ([#194](https://github.com/devsy-org/devsy/issues/194)) ([b79d806](https://github.com/devsy-org/devsy/commit/b79d806f6ebdb469ef0971e908e0e2b30d0e7ab6)) -* **config:** resolve undefined variables to empty string ([#96](https://github.com/devsy-org/devsy/issues/96)) ([3701855](https://github.com/devsy-org/devsy/commit/37018553b144fd706ae4a943de793769f2b78d14)) -* **config:** support hostRequirements.gpu object format ([#117](https://github.com/devsy-org/devsy/issues/117)) ([377bac9](https://github.com/devsy-org/devsy/commit/377bac981152f26b3d441df44fe55d2f55c097da)) -* **config:** suppress workspace mount when workspaceMount is empty string ([#283](https://github.com/devsy-org/devsy/issues/283)) ([#287](https://github.com/devsy-org/devsy/issues/287)) ([2992939](https://github.com/devsy-org/devsy/commit/2992939fbfe4b75545cf84cb458ce2386a770024)) -* **config:** union hostRequirements across merge sources ([#121](https://github.com/devsy-org/devsy/issues/121)) ([b66c2a1](https://github.com/devsy-org/devsy/commit/b66c2a1029816bf748ac71fe26b19fea8baa75bd)) -* **conn:** plug goroutine leaks and WaitGroup race in ssh/agent packages ([#126](https://github.com/devsy-org/devsy/issues/126)) ([93c54e3](https://github.com/devsy-org/devsy/commit/93c54e31f72da1939f9797c7c26dc64302e28708)) -* **conn:** plug goroutine leaks and WaitGroup race in ssh/agent packages ([#90](https://github.com/devsy-org/devsy/issues/90)) ([b05020d](https://github.com/devsy-org/devsy/commit/b05020d6592e70d1d0223019fab027422e877876)) -* **credentials:** surface error responses from credential server endpoint ([#694](https://github.com/devsy-org/devsy/issues/694)) ([f2b481f](https://github.com/devsy-org/devsy/commit/f2b481fa73c1562aa58677e031b7197b32c8b23e)), closes [#645](https://github.com/devsy-org/devsy/issues/645) -* **daemon:** enforce shutdownAction property at runtime ([#88](https://github.com/devsy-org/devsy/issues/88)) ([ea9f774](https://github.com/devsy-org/devsy/commit/ea9f774c66d6f46d1335abe345e26772fd48fdac)) -* **daemon:** trust merge layer for ShutdownAction instead of re-defaulting ([#286](https://github.com/devsy-org/devsy/issues/286)) ([32e062a](https://github.com/devsy-org/devsy/commit/32e062a778aa4dbed5072566d3d7a1fb018ed82d)) -* **delivery:** clean up agent delivery volumes on workspace deletion ([#266](https://github.com/devsy-org/devsy/issues/266)) ([c75008c](https://github.com/devsy-org/devsy/commit/c75008cce548e32c4667504e3a4f7a70925ca6c9)) -* **delivery:** ensure target dir exists before docker cp ([#269](https://github.com/devsy-org/devsy/issues/269)) ([b39c2b4](https://github.com/devsy-org/devsy/commit/b39c2b4800cf81ca1d251e4a5110f37fb7487325)) -* **delivery:** support rootless Podman in volume direct copy ([#275](https://github.com/devsy-org/devsy/issues/275)) ([f489ccb](https://github.com/devsy-org/devsy/commit/f489ccb469174421a7d90ceebfda28822a600919)) -* **deps:** remove programming-language-detection dependency ([#695](https://github.com/devsy-org/devsy/issues/695)) ([bdc7124](https://github.com/devsy-org/devsy/commit/bdc7124b1d61de445581adc06d00d75433185a7e)) -* **deps:** update dependency @loft-enterprise/client to v4 ([#506](https://github.com/devsy-org/devsy/issues/506)) ([987ffad](https://github.com/devsy-org/devsy/commit/987ffad621734b3f6c4208d659241eff461c017e)) -* **deps:** update dependency @loft-enterprise/client to v4 ([#600](https://github.com/devsy-org/devsy/issues/600)) ([475efca](https://github.com/devsy-org/devsy/commit/475efca753945e6021e597147c20156ce44cee4c)) -* **deps:** update dependency @tauri-apps/plugin-shell to v2.3.5 ([#438](https://github.com/devsy-org/devsy/issues/438)) ([d7226e6](https://github.com/devsy-org/devsy/commit/d7226e680c47a99350b1f9e644514c8cdb734aa9)) -* **deps:** update dependency @tauri-apps/plugin-updater to v2.10.0 ([#441](https://github.com/devsy-org/devsy/issues/441)) ([19087c1](https://github.com/devsy-org/devsy/commit/19087c187b559c2ca7705573dc664c30c52a24fa)) -* **deps:** update dependency react-hook-form to v7.71.2 ([#562](https://github.com/devsy-org/devsy/issues/562)) ([6a6158a](https://github.com/devsy-org/devsy/commit/6a6158a375877c3f3652cbe9a5fed085a2b15a64)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to 0794660 ([#651](https://github.com/devsy-org/devsy/issues/651)) ([bcb9091](https://github.com/devsy-org/devsy/commit/bcb9091790e78c09ae2c8d2667a54d7f4b966481)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to 3888fb8 ([#621](https://github.com/devsy-org/devsy/issues/621)) ([870e6e3](https://github.com/devsy-org/devsy/commit/870e6e31e338fcff01a35d7663de78a11cfc8cd5)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to 400c263 ([#620](https://github.com/devsy-org/devsy/issues/620)) ([ebbc373](https://github.com/devsy-org/devsy/commit/ebbc373ca484810a884809b32f35979cff68fb1e)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to 47eedc9 ([#619](https://github.com/devsy-org/devsy/issues/619)) ([a27dae5](https://github.com/devsy-org/devsy/commit/a27dae5cc55599c919b4e91911515891055de2a3)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to 5b80281 ([#715](https://github.com/devsy-org/devsy/issues/715)) ([7873b67](https://github.com/devsy-org/devsy/commit/7873b67e7f5448fc0d72ca9dd51e224f4cd29310)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to 7a66278 ([#737](https://github.com/devsy-org/devsy/issues/737)) ([e78e2b7](https://github.com/devsy-org/devsy/commit/e78e2b740820aea175c11815ea0385dc4b0464b7)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to 85f2bf5 ([#538](https://github.com/devsy-org/devsy/issues/538)) ([91a3cf5](https://github.com/devsy-org/devsy/commit/91a3cf57784de0e9e45a38ae0e4bfa609b9755d3)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to 93aa273 ([#439](https://github.com/devsy-org/devsy/issues/439)) ([2866ef7](https://github.com/devsy-org/devsy/commit/2866ef7d75acf53bb508e093cc076c36227644c7)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to 9e0ccb0 ([#541](https://github.com/devsy-org/devsy/issues/541)) ([b685929](https://github.com/devsy-org/devsy/commit/b685929d1a63f6de1243af1dcda6389a7a494188)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to b6eadd8 ([#474](https://github.com/devsy-org/devsy/issues/474)) ([4745c03](https://github.com/devsy-org/devsy/commit/4745c03610eca98c4551f604185f400633145afc)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to bf0f710 ([#641](https://github.com/devsy-org/devsy/issues/641)) ([219fe9d](https://github.com/devsy-org/devsy/commit/219fe9d9f0ea724d2e47dd219455f76400d18395)) -* **deps:** update github.com/google/go-containerregistry/pkg/authn/kubernetes digest to e90447d ([#668](https://github.com/devsy-org/devsy/issues/668)) ([0d60f4b](https://github.com/devsy-org/devsy/commit/0d60f4b1384999d1d73a25fb73390d128a79d4ff)) -* **deps:** update k8s.io/utils digest to 28399d8 ([#631](https://github.com/devsy-org/devsy/issues/631)) ([f4fd4e9](https://github.com/devsy-org/devsy/commit/f4fd4e91a07bea418a25fb2b3e080dca35420700)) -* **deps:** update k8s.io/utils digest to b8788ab ([#467](https://github.com/devsy-org/devsy/issues/467)) ([eac3511](https://github.com/devsy-org/devsy/commit/eac351116e1827a3e1c391ded32e988c12dcb595)) -* **deps:** update kubernetes monorepo to v0.35.3 ([#632](https://github.com/devsy-org/devsy/issues/632)) ([d40d249](https://github.com/devsy-org/devsy/commit/d40d249587c4ba4469422a64011b9dcf1409b58d)) -* **deps:** update kubernetes packages to v0.35.1 ([#468](https://github.com/devsy-org/devsy/issues/468)) ([38b3cfd](https://github.com/devsy-org/devsy/commit/38b3cfd01a4ea2d6b5c77fe39b4eb9707564d1a5)) -* **deps:** update kubernetes packages to v0.35.2 ([#539](https://github.com/devsy-org/devsy/issues/539)) ([212b625](https://github.com/devsy-org/devsy/commit/212b6254140b4b3cd20195d49d657ab285cc83b1)) -* **deps:** update module charm.land/lipgloss/v2 to v2.0.2 ([#727](https://github.com/devsy-org/devsy/issues/727)) ([2613a0f](https://github.com/devsy-org/devsy/commit/2613a0f3220e0895ab22238edb71b49e9859b5b0)) -* **deps:** update module charm.land/lipgloss/v2 to v2.0.3 ([#735](https://github.com/devsy-org/devsy/issues/735)) ([f28dcb1](https://github.com/devsy-org/devsy/commit/f28dcb1b33701e02e45f403de11f32abedd8f0db)) -* **deps:** update module github.com/awslabs/amazon-ecr-credential-helper/ecr-login to v0.12.0 ([#540](https://github.com/devsy-org/devsy/issues/540)) ([5f473e2](https://github.com/devsy-org/devsy/commit/5f473e2b7aa4f63cd0c07a735069d5113876c84f)) -* **deps:** update module github.com/azure/azure-sdk-for-go/sdk/azcore to v1.21.0 ([#718](https://github.com/devsy-org/devsy/issues/718)) ([7e38d0a](https://github.com/devsy-org/devsy/commit/7e38d0aaf68949525c8317cf14504bc47d0d1087)) -* **deps:** update module github.com/charmbracelet/huh to v2 ([#723](https://github.com/devsy-org/devsy/issues/723)) ([3b87242](https://github.com/devsy-org/devsy/commit/3b872424436d2c628663973eb2e1c251a292fc0d)) -* **deps:** update module github.com/compose-spec/compose-go/v2 to v2.10.2 ([#672](https://github.com/devsy-org/devsy/issues/672)) ([9c397fe](https://github.com/devsy-org/devsy/commit/9c397fe38b69683a547f4000c4487a922d6d7d7b)) -* **deps:** update module github.com/docker/cli to v29.3.0+incompatible ([#580](https://github.com/devsy-org/devsy/issues/580)) ([991462d](https://github.com/devsy-org/devsy/commit/991462d7a7bfcb0a2d4b7158c77a4a9698e35d0d)) -* **deps:** update module github.com/google/go-containerregistry to v0.21.2 ([#543](https://github.com/devsy-org/devsy/issues/543)) ([12c6b63](https://github.com/devsy-org/devsy/commit/12c6b63f7c886e3608e06ed74f2a0ad56a6f8a9a)) -* **deps:** update module github.com/google/go-containerregistry to v0.21.3 ([#622](https://github.com/devsy-org/devsy/issues/622)) ([fc4b602](https://github.com/devsy-org/devsy/commit/fc4b602287e578ee467c2c4bc89881c020ec69e3)) -* **deps:** update module github.com/google/go-containerregistry to v0.21.5 ([#717](https://github.com/devsy-org/devsy/issues/717)) ([ed04623](https://github.com/devsy-org/devsy/commit/ed046239f2b12a2cc7c7409c7c933e93c7225bdb)) -* **deps:** update module github.com/loft-sh/agentapi/v4 to v4.7.0 ([#547](https://github.com/devsy-org/devsy/issues/547)) ([6fe7c4c](https://github.com/devsy-org/devsy/commit/6fe7c4c68c492718e25dcb733e2ee6e1eb97044f)) -* **deps:** update module github.com/loft-sh/agentapi/v4 to v4.7.1 ([#561](https://github.com/devsy-org/devsy/issues/561)) ([7413389](https://github.com/devsy-org/devsy/commit/7413389c9bed9cbb567225c4db055d9102914989)) -* **deps:** update module github.com/loft-sh/agentapi/v4 to v4.8.1 ([#669](https://github.com/devsy-org/devsy/issues/669)) ([4a7835c](https://github.com/devsy-org/devsy/commit/4a7835c64bcf8396ad98f34fa80d17d051c4d934)) -* **deps:** update module github.com/moby/buildkit to v0.28.0 ([#553](https://github.com/devsy-org/devsy/issues/553)) ([9a95f7f](https://github.com/devsy-org/devsy/commit/9a95f7fd6058b10009cca96a5f5155bdb66a72ec)) -* **deps:** update module github.com/moby/buildkit to v0.28.1 ([#642](https://github.com/devsy-org/devsy/issues/642)) ([139d061](https://github.com/devsy-org/devsy/commit/139d0614c57bcbce7302bb8ec2a4a303142462e0)) -* **deps:** update module github.com/moby/buildkit to v0.29.0 ([#689](https://github.com/devsy-org/devsy/issues/689)) ([c26fb2d](https://github.com/devsy-org/devsy/commit/c26fb2dc233173008f44610d4dd32c614b6aa2a7)) -* **deps:** update module github.com/skevetter/ssh to v0.1.0 ([#596](https://github.com/devsy-org/devsy/issues/596)) ([9873496](https://github.com/devsy-org/devsy/commit/9873496256bcfe7edc84ae758332c48473604ac3)) -* **deps:** update module github.com/tidwall/jsonc to v0.3.3 ([#634](https://github.com/devsy-org/devsy/issues/634)) ([09ef2e7](https://github.com/devsy-org/devsy/commit/09ef2e7df6ccbf945f9ce0c75f95fc127378f2e8)) -* **deps:** update module golang.org/x/crypto to v0.48.0 ([#470](https://github.com/devsy-org/devsy/issues/470)) ([a496fa2](https://github.com/devsy-org/devsy/commit/a496fa29cce9c20e13b5b1863fcf4343b8b78aca)) -* **deps:** update module golang.org/x/mod to v0.33.0 ([#472](https://github.com/devsy-org/devsy/issues/472)) ([62d77b8](https://github.com/devsy-org/devsy/commit/62d77b8bdd002de5871bcb597fc296f8418e33c9)) -* **deps:** update module golang.org/x/sys to v0.42.0 ([#594](https://github.com/devsy-org/devsy/issues/594)) ([7dcbae7](https://github.com/devsy-org/devsy/commit/7dcbae7131ddf4396f679e9641672108cf546396)) -* **deps:** update module google.golang.org/grpc to v1.79.0 ([#481](https://github.com/devsy-org/devsy/issues/481)) ([928cd45](https://github.com/devsy-org/devsy/commit/928cd4542f330ef0be44dcc19560cfee78d1a261)) -* **deps:** update module google.golang.org/grpc to v1.79.1 ([#486](https://github.com/devsy-org/devsy/issues/486)) ([35199d2](https://github.com/devsy-org/devsy/commit/35199d2f279427394748cece0d8c9557b67887ab)) -* **deps:** update module google.golang.org/grpc to v1.79.2 ([#579](https://github.com/devsy-org/devsy/issues/579)) ([b9d05dc](https://github.com/devsy-org/devsy/commit/b9d05dcedac61a0336e56297e2b8e9a7d4d634f3)) -* **deps:** update module google.golang.org/grpc to v1.79.3 ([#635](https://github.com/devsy-org/devsy/issues/635)) ([951527a](https://github.com/devsy-org/devsy/commit/951527a4685c6fbb65e1df7f8885f5c540a02aa1)) -* **deps:** update module google.golang.org/grpc to v1.80.0 ([#691](https://github.com/devsy-org/devsy/issues/691)) ([96a4ae9](https://github.com/devsy-org/devsy/commit/96a4ae9964172102b3982fd0db4d78045974dce0)) -* **deps:** update module k8s.io/klog/v2 to v2.140.0 ([#581](https://github.com/devsy-org/devsy/issues/581)) ([e2c1d6c](https://github.com/devsy-org/devsy/commit/e2c1d6c32ed23ea8f54f0e9cf0e757fdf79e4cfa)) -* **deps:** update module sigs.k8s.io/controller-runtime to v0.23.2 ([#567](https://github.com/devsy-org/devsy/issues/567)) ([ef70a92](https://github.com/devsy-org/devsy/commit/ef70a92dfd9976b6a4d3f25cebc91c9f0c79258e)) -* **deps:** update module sigs.k8s.io/controller-runtime to v0.23.3 ([#568](https://github.com/devsy-org/devsy/issues/568)) ([3aeed65](https://github.com/devsy-org/devsy/commit/3aeed655ce7514fb8058cc101c4a9be10e59a883)) -* **deps:** update module tailscale.com to v1.94.2 ([#502](https://github.com/devsy-org/devsy/issues/502)) ([273dc28](https://github.com/devsy-org/devsy/commit/273dc28cc1ee77a2a41b7a0c57dfefbef159a77f)) -* **deps:** update module tailscale.com to v1.96.0 ([#582](https://github.com/devsy-org/devsy/issues/582)) ([ba577ae](https://github.com/devsy-org/devsy/commit/ba577aed2f8440d32349fb8d841e1bbbe2240f85)) -* **deps:** update module tailscale.com to v1.96.5 ([#652](https://github.com/devsy-org/devsy/issues/652)) ([8ec0e80](https://github.com/devsy-org/devsy/commit/8ec0e804262f585ccbb418a81425d4508d660183)) -* **deps:** update tanstack-query monorepo to v4.43.0 ([#484](https://github.com/devsy-org/devsy/issues/484)) ([2fd88b1](https://github.com/devsy-org/devsy/commit/2fd88b1380e5ef0fbe03b6b1fc131acc380195f8)) -* **desktop:** strip newlines from environment variable ([#492](https://github.com/devsy-org/devsy/issues/492)) ([22ef145](https://github.com/devsy-org/devsy/commit/22ef145a9219b18f892374e5df217c2523dac5be)) -* **desktop:** tray icon for flatpaks ([#659](https://github.com/devsy-org/devsy/issues/659)) ([20d4ddb](https://github.com/devsy-org/devsy/commit/20d4ddbd4b7bfeb30191b4437d176f8599c9ea16)) -* **devcontainer/config:** parsing container environment variables during userenvprobe ([#497](https://github.com/devsy-org/devsy/issues/497)) ([4d79fa2](https://github.com/devsy-org/devsy/commit/4d79fa26092917f46ea453761a306c9712eed15e)) -* **devcontainer/feature:** resolve _REMOTE_USER from merged metadata during feature install ([#496](https://github.com/devsy-org/devsy/issues/496)) ([2a5ff5c](https://github.com/devsy-org/devsy/commit/2a5ff5c4825e25aa8d6104d91ab6b3c197e6a707)) -* **devcontainer/setup:** shell quoting for lifecycle commands ([#494](https://github.com/devsy-org/devsy/issues/494)) ([1ff0c8b](https://github.com/devsy-org/devsy/commit/1ff0c8b7c854586c74fde5b2b6254153c76f9936)) -* **devcontainer/single:** postStartCommand skipped after container restart ([#660](https://github.com/devsy-org/devsy/issues/660)) ([0d0206c](https://github.com/devsy-org/devsy/commit/0d0206c1a2d16397c4ad9c6d74f519562c9a39b9)) -* **devcontainer/sshtunnel:** eof handling in SSH execution and context cancellation ([#585](https://github.com/devsy-org/devsy/issues/585)) ([5938cea](https://github.com/devsy-org/devsy/commit/5938cea85aa45d43aa2e406bbabebad9c6a5004b)) -* **devcontainer:** compose builds when context differs from devcontainer path ([#493](https://github.com/devsy-org/devsy/issues/493)) ([2a590dc](https://github.com/devsy-org/devsy/commit/2a590dc0c0c0a49a6e444791e07e96d3d0b447d2)) -* **devcontainer:** compose mutation of shared local image tag ([#655](https://github.com/devsy-org/devsy/issues/655)) ([ba33e78](https://github.com/devsy-org/devsy/commit/ba33e78eef9f6f895bd99159154567b85c5e0767)) -* **devcontainer:** include feature containerEnv in metadata label and warn on parse failure ([#231](https://github.com/devsy-org/devsy/issues/231)) ([ad731d4](https://github.com/devsy-org/devsy/commit/ad731d4a36e115564b39e8565dd0f0c282434b27)) -* **devcontainer:** merge init environment variables to env ([#526](https://github.com/devsy-org/devsy/issues/526)) ([9230696](https://github.com/devsy-org/devsy/commit/9230696254525635a32b3ef60ec8a956007bd86d)) -* **devcontainer:** strip digest from compose feature build image refs ([#459](https://github.com/devsy-org/devsy/issues/459)) ([d916613](https://github.com/devsy-org/devsy/commit/d916613795d72a480bdef499e26ce37a4588b76a)) -* **docker:** detect GPU support via CDI for Podman runtimes ([#273](https://github.com/devsy-org/devsy/issues/273)) ([61d741d](https://github.com/devsy-org/devsy/commit/61d741df0e4117c6b2e644140f54198e431de3c4)) -* **docker:** restart and wait for container readiness before exec ([#688](https://github.com/devsy-org/devsy/issues/688)) ([b3b2fe6](https://github.com/devsy-org/devsy/commit/b3b2fe69e5c4b102396e1982a95582be3e8ae04a)) -* **docs:** rename devpod media files to devsy to fix broken images ([#4](https://github.com/devsy-org/devsy/issues/4)) ([a403e65](https://github.com/devsy-org/devsy/commit/a403e65a2e7b4cde53aa4eed2fc7dcecdbcdd225)) -* **docs:** rename missed devpod doc files and fix broken anchor links ([#3](https://github.com/devsy-org/devsy/issues/3)) ([2a6026e](https://github.com/devsy-org/devsy/commit/2a6026e9464227fcdaa0e555546cbb5ada3fcde3)) -* **driver/docker:** restore docker buildx build with fallback to buildkit ([#471](https://github.com/devsy-org/devsy/issues/471)) ([c24aa5d](https://github.com/devsy-org/devsy/commit/c24aa5d119a439c225a809588fbea9d567c5d7b1)) -* **driver/kubernetes:** unable to pull credentials for registry ([#430](https://github.com/devsy-org/devsy/issues/430)) ([32a3c93](https://github.com/devsy-org/devsy/commit/32a3c93d03e247dbf2e7a022c7e5c2873e18f0a3)) -* **e2e:** add comment noting devcontainer.json requirement for test repo ([#143](https://github.com/devsy-org/devsy/issues/143)) ([0f23b76](https://github.com/devsy-org/devsy/commit/0f23b761b807243d7dd3c3ebedee371a1d1d905e)) -* **e2e:** add retry logic for transient workspace lookup in port-forward test ([#123](https://github.com/devsy-org/devsy/issues/123)) ([d30b09e](https://github.com/devsy-org/devsy/commit/d30b09ec947dd081f6d22b52551118a032d2cf4c)) -* **e2e:** add SSH retry logic for flaky Windows WSL tests ([#115](https://github.com/devsy-org/devsy/issues/115)) ([d7c2ee4](https://github.com/devsy-org/devsy/commit/d7c2ee40d7705d4c6a8eff3517b82109e1f156a9)) -* **e2e:** add SSH retry logic for flaky Windows WSL tests ([#99](https://github.com/devsy-org/devsy/issues/99)) ([c5389c5](https://github.com/devsy-org/devsy/commit/c5389c5f7040d46ee7693d049d4933a6a467905e)) -* **e2e:** correct runServices error assertion ([#224](https://github.com/devsy-org/devsy/issues/224)) ([4465aa9](https://github.com/devsy-org/devsy/commit/4465aa99abda57bb63e20b5ca50384a290ab57f6)) -* **e2e:** increase machineprovider2 inactivity timeout from 5s to 30s ([#140](https://github.com/devsy-org/devsy/issues/140)) ([1a02cde](https://github.com/devsy-org/devsy/commit/1a02cde879f566e1d54c1d5a1167b08eef51dacb)) -* **e2e:** increase timeout for container-pull-heavy E2E tests ([#222](https://github.com/devsy-org/devsy/issues/222)) ([c9e438d](https://github.com/devsy-org/devsy/commit/c9e438d1a60b5e49211953add39a572176b2750b)) -* **e2e:** increase TimeoutShort from 2min to 3min ([#212](https://github.com/devsy-org/devsy/issues/212)) ([212e381](https://github.com/devsy-org/devsy/commit/212e3818d2d616d3819da132acbaa72a7e6ab33f)) -* **e2e:** migrate all test images to ghcr.io/devsy-org registry ([#146](https://github.com/devsy-org/devsy/issues/146)) ([9fce990](https://github.com/devsy-org/devsy/commit/9fce990dd44e7d2dc47fdb58ecffdaa1e75dcafd)) -* **e2e:** replace external devcontainer image with own registry test container ([#223](https://github.com/devsy-org/devsy/issues/223)) ([b4b1afa](https://github.com/devsy-org/devsy/commit/b4b1afac8e1441aa12ed6e705b2318cf2befe8a3)) -* **e2e:** replace MCR image reference with GHCR test image ([#125](https://github.com/devsy-org/devsy/issues/125)) ([ea4f1ed](https://github.com/devsy-org/devsy/commit/ea4f1edcf69ad6708939fa11231c23318a6ac219)) -* **e2e:** replace mcr.microsoft.com references with ghcr.io/devsy-org test images ([#241](https://github.com/devsy-org/devsy/issues/241)) ([143b86e](https://github.com/devsy-org/devsy/commit/143b86eba082786b4ee5bfd714716a9411e76927)) -* **exec:** use workspace UID for container lookup ([#160](https://github.com/devsy-org/devsy/issues/160)) ([b2af297](https://github.com/devsy-org/devsy/commit/b2af29745fc19322379d0a8b29794da2091a7ce8)) -* extend timeout when getting Docker credentials from host ([#575](https://github.com/devsy-org/devsy/issues/575)) ([50c203f](https://github.com/devsy-org/devsy/commit/50c203f9f827c552d29f02aa6c605b176316928e)) -* **extract:** add path traversal guard for tar extraction ([#92](https://github.com/devsy-org/devsy/issues/92)) ([ac70e7b](https://github.com/devsy-org/devsy/commit/ac70e7bd030ca62d3d8df62f2dda456c1ad74004)) -* **feature:** add SHA-256 integrity verification for direct tar downloads ([#89](https://github.com/devsy-org/devsy/issues/89)) ([ae95ec8](https://github.com/devsy-org/devsy/commit/ae95ec8e029504ef4b6fefcdce92c0600df4af9d)) -* **feature:** prevent false positive circular dependency detection for installsAfter ([#240](https://github.com/devsy-org/devsy/issues/240)) ([03e5cb1](https://github.com/devsy-org/devsy/commit/03e5cb149298c84c70d021a365f45e3d37b9bc0c)) -* **feature:** resolve lint failures in OCI annotations code ([#221](https://github.com/devsy-org/devsy/issues/221)) ([c368e1e](https://github.com/devsy-org/devsy/commit/c368e1eefa16d3351760ef3884f5b8b125786083)) -* **features:** enforce dependsOn constraints in overrideFeatureInstallOrder ([#151](https://github.com/devsy-org/devsy/issues/151)) ([7da82b8](https://github.com/devsy-org/devsy/commit/7da82b838ad75e6b1b44e5a566303ac1203041a0)) -* **flatpak:** grant xdg-run permissions to podman ([#450](https://github.com/devsy-org/devsy/issues/450)) ([40b723d](https://github.com/devsy-org/devsy/commit/40b723dcdc8d7ae07e2d108537c9cfb1d29396c0)) -* **graph:** use round-based topological sort in sortNodeIDsWithPriority ([#235](https://github.com/devsy-org/devsy/issues/235)) ([b3d0008](https://github.com/devsy-org/devsy/commit/b3d00083e78b58995c6758ed57dce5589ee7b3a2)) -* **ide/vscode:** extension installation in VS Code flavors ([#636](https://github.com/devsy-org/devsy/issues/636)) ([dca065b](https://github.com/devsy-org/devsy/commit/dca065b814048ead5c3788f6b0bd12dea2ec14b3)) -* **image:** sanitize HTML error pages in container registry responses ([#127](https://github.com/devsy-org/devsy/issues/127)) ([021184c](https://github.com/devsy-org/devsy/commit/021184cc8d08cac5366f5747be6afd8ec0d8b859)) -* **images:** resize cursor icon ([#650](https://github.com/devsy-org/devsy/issues/650)) ([5e92a90](https://github.com/devsy-org/devsy/commit/5e92a901a8b62b04099be657d76251892d0008e7)) -* **inject:** chmod binary before mv to prevent entrypoint race on Alpine ([#264](https://github.com/devsy-org/devsy/issues/264)) ([594f71c](https://github.com/devsy-org/devsy/commit/594f71ca4d571e6442958099b27bad61ceeb7f02)) -* **inject:** resolve goroutine race in pipe() bidirectional copy ([#139](https://github.com/devsy-org/devsy/issues/139)) ([51a9405](https://github.com/devsy-org/devsy/commit/51a9405d7a4a542ba567a7b0989e7d853b501dd1)) -* **lifecycle:** accept initializeCommand as a valid waitFor value ([#114](https://github.com/devsy-org/devsy/issues/114)) ([908300a](https://github.com/devsy-org/devsy/commit/908300a68ff15d9e14b278fee9d8db88bc33cb37)) -* **lifecycle:** accept initializeCommand as a valid waitFor value ([#98](https://github.com/devsy-org/devsy/issues/98)) ([4953b11](https://github.com/devsy-org/devsy/commit/4953b1132b163cb28094a9288b5628112ad62c53)) -* **lifecycle:** enforce waitFor property in lifecycle hook execution ([#87](https://github.com/devsy-org/devsy/issues/87)) ([f366335](https://github.com/devsy-org/devsy/commit/f366335818c36b684b1df1695bedb9715c6e39f2)) -* **lifecycle:** install dotfiles between postCreate and postStart ([#97](https://github.com/devsy-org/devsy/issues/97)) ([7b67e90](https://github.com/devsy-org/devsy/commit/7b67e9099f0eeaabae108062fe13f017e63efed7)) -* **lifecycle:** install dotfiles between postCreate and postStart ([#97](https://github.com/devsy-org/devsy/issues/97)) ([#112](https://github.com/devsy-org/devsy/issues/112)) ([fe8884b](https://github.com/devsy-org/devsy/commit/fe8884b16d0f37c70a37898c5924a7dd06ce0533)) -* **lifecycle:** resolve dotfiles race condition in deferred hooks ([#113](https://github.com/devsy-org/devsy/issues/113)) ([f72417d](https://github.com/devsy-org/devsy/commit/f72417dc957a9c9b75196b7ff7f397afe9bd714b)) -* **lifecycle:** run initializeCommand named sub-commands in parallel ([#100](https://github.com/devsy-org/devsy/issues/100)) ([a5e7e27](https://github.com/devsy-org/devsy/commit/a5e7e27b5c0927ab9cfb02fb5c2e8d2cd21e0976)) -* **lifecycle:** run initializeCommand named sub-commands in parallel ([#116](https://github.com/devsy-org/devsy/issues/116)) ([93f8171](https://github.com/devsy-org/devsy/commit/93f81715a181f3da24d8a1bd234d3cde63b8a7fa)) -* **lifecycle:** run named sub-commands in parallel within lifecycle hooks ([#95](https://github.com/devsy-org/devsy/issues/95)) ([bc4be89](https://github.com/devsy-org/devsy/commit/bc4be89178cff178066fd7ef34fa60fb3bbd9c41)) -* **lifecycle:** run postAttachCommand on every attach per spec ([#177](https://github.com/devsy-org/devsy/issues/177)) ([83d024c](https://github.com/devsy-org/devsy/commit/83d024cb6656463297225106dd64fb9c9187eac1)) -* **lifecycle:** surface deferred hook errors instead of swallowing them ([#189](https://github.com/devsy-org/devsy/issues/189)) ([b7fbfc9](https://github.com/devsy-org/devsy/commit/b7fbfc9a06e45adf34ada3d2df3b90538d58f09f)) -* **lifecycle:** warn when waitFor references phase with no commands ([#120](https://github.com/devsy-org/devsy/issues/120)) ([60f5b1a](https://github.com/devsy-org/devsy/commit/60f5b1a8dcc78b9a35171741ff97ad8822531ab9)) -* **lint:** remove nolint:gosec directives from templates and e2e tests ([#225](https://github.com/devsy-org/devsy/issues/225)) ([58d2ba8](https://github.com/devsy-org/devsy/commit/58d2ba8012099102a00720b1686a61c675c1a9b2)) -* **log:** bridge klog to zap backend via LogrSink ([#299](https://github.com/devsy-org/devsy/issues/299)) ([9b0073b](https://github.com/devsy-org/devsy/commit/9b0073b4a6bc6aca165e192ab4e162b7fce12fd7)) -* **log:** make global logger thread-safe with atomic.Pointer ([#155](https://github.com/devsy-org/devsy/issues/155)) ([7fdb0f4](https://github.com/devsy-org/devsy/commit/7fdb0f4480591584542f2f28a6279f361dd9f81f)) -* **netstat:** handle missing /proc/net/tcp6 on IPv6-disabled hosts ([#706](https://github.com/devsy-org/devsy/issues/706)) ([cb27dd4](https://github.com/devsy-org/devsy/commit/cb27dd469607f3252bac2b47a16e3cf6f413c641)) -* prevent stdout corruption in kubernetes e2e tests ([#24](https://github.com/devsy-org/devsy/issues/24)) ([ed3e252](https://github.com/devsy-org/devsy/commit/ed3e252aac936a1f8c5620d664858df0b6608c0a)) -* propagate GitSSHSigningKey in daemon path and thread context through backhaul ([#722](https://github.com/devsy-org/devsy/issues/722)) ([d543be9](https://github.com/devsy-org/devsy/commit/d543be92b35f2304a2d8efd4ca425a437b8f17c3)) -* rename flatpak files from DevPod/loft to Devsy ([#9](https://github.com/devsy-org/devsy/issues/9)) ([a884e7f](https://github.com/devsy-org/devsy/commit/a884e7f9bcc9ea10b59ff06fd8678124ddcbd834)) -* rename logo images and fix broken badge URL in README ([#10](https://github.com/devsy-org/devsy/issues/10)) ([58a85f8](https://github.com/devsy-org/devsy/commit/58a85f8a0ccdcf13301428e3ddca24903060325b)) -* resolve Git SSH signature forwarding failures ([#704](https://github.com/devsy-org/devsy/issues/704)) ([3cc1d02](https://github.com/devsy-org/devsy/commit/3cc1d02a1e4634d354f155ab5c3e8163257fd0b6)) -* resolve SSH signature key path for container-to-host forwarding ([#714](https://github.com/devsy-org/devsy/issues/714)) ([696b944](https://github.com/devsy-org/devsy/commit/696b94402909d9ecab305801dcb45069e05c0a75)) -* resolve unused rust warnings and spelling issues ([#700](https://github.com/devsy-org/devsy/issues/700)) ([45249fc](https://github.com/devsy-org/devsy/commit/45249fc8b3da3e57af0f36d8697818cf8ce84dbf)) -* **run:** respect user-specified consistency in workspaceMount ([#182](https://github.com/devsy-org/devsy/issues/182)) ([d7bb5ed](https://github.com/devsy-org/devsy/commit/d7bb5edd8a30dea117fcccd317713a5117ba4483)) -* sanitize AppImage environment before opening URLs ([#710](https://github.com/devsy-org/devsy/issues/710)) ([702c227](https://github.com/devsy-org/devsy/commit/702c227848d219735db7cf9ae136ca17488e6880)) -* **shell:** update module mvdan.cc/sh/v3 to v3.13.1 ([#692](https://github.com/devsy-org/devsy/issues/692)) ([8f8e5cd](https://github.com/devsy-org/devsy/commit/8f8e5cd7653850cb4169e749f3358eb6f22f687b)) -* **ssh/agent:** expand tilde in SSH_AUTH_SOCK path ([#674](https://github.com/devsy-org/devsy/issues/674)) ([4fb2d7b](https://github.com/devsy-org/devsy/commit/4fb2d7b962a6ab5f3a9d7505df034cd53dcd3fc4)), closes [#671](https://github.com/devsy-org/devsy/issues/671) -* **ssh/server:** disable PTY emulation to prevent terminal rendering issues in TUI programs ([#595](https://github.com/devsy-org/devsy/issues/595)) ([a26eb64](https://github.com/devsy-org/devsy/commit/a26eb646002223dc7ee040d5e58b5bae8d644ebe)) -* **ssh/server:** pseudo-tty signal handling ([#601](https://github.com/devsy-org/devsy/issues/601)) ([273ed5b](https://github.com/devsy-org/devsy/commit/273ed5b64e0e5db629ea0cdae563d323963ec3bb)) -* **ssh/server:** start PTY with the client terminal dimensions ([#583](https://github.com/devsy-org/devsy/issues/583)) ([f833edb](https://github.com/devsy-org/devsy/commit/f833edb85ada0a66e94c20b4398270fb6af8fba1)) -* **ssh:** skip file path signing keys in GPG agent forwarding ([#734](https://github.com/devsy-org/devsy/issues/734)) ([8f408e4](https://github.com/devsy-org/devsy/commit/8f408e42dbc492f0a0b64db24842ddf63132d0af)) -* **ssh:** use platform raw terminal handling for PTY sessions ([#698](https://github.com/devsy-org/devsy/issues/698)) ([ad7254f](https://github.com/devsy-org/devsy/commit/ad7254fd08eb2321956123cb811743294fbb69a4)) -* **test:** isolate GPG signing key unit tests from host git config ([#233](https://github.com/devsy-org/devsy/issues/233)) ([c6034f3](https://github.com/devsy-org/devsy/commit/c6034f32180a5dac8bc3b1d3a1126f96dcc593cc)) -* **tunnel:** do not error when user exits ssh connection ([#586](https://github.com/devsy-org/devsy/issues/586)) ([371e52e](https://github.com/devsy-org/devsy/commit/371e52e2bdbfc97eb1dc2fffb2d04085b7bbeab0)) -* **tunnel:** extract JSON log lines instead of double-wrapping them ([#141](https://github.com/devsy-org/devsy/issues/141)) ([43ceb3f](https://github.com/devsy-org/devsy/commit/43ceb3ffe3b84ffa15b01948bcc8411b51096767)) -* **tunnel:** PipeBridge shutdown and goroutine leak fixes ([#158](https://github.com/devsy-org/devsy/issues/158)) ([b91e15a](https://github.com/devsy-org/devsy/commit/b91e15aedc81fee0da18e94a0ce5cf1060512c51)) -* **tunnel:** resolve SSH handshake EOF race in container tunnel ([#86](https://github.com/devsy-org/devsy/issues/86)) ([81d5811](https://github.com/devsy-org/devsy/commit/81d5811eaa77c6b6ae09f6f57e681362ccf71cc4)) -* **ui:** add error handling to provider options form ([#625](https://github.com/devsy-org/devsy/issues/625)) ([167febf](https://github.com/devsy-org/devsy/commit/167febff3474c5d9de3bf20b6bddf1011aca8248)) -* **ui:** migrate to Tauri opener plugin for file downloads from app ([#627](https://github.com/devsy-org/devsy/issues/627)) ([ab54f8a](https://github.com/devsy-org/devsy/commit/ab54f8afb4f6d97e170ce2d10cb74e47a097293b)) -* **ui:** provider modal view issues when adding new providers ([#646](https://github.com/devsy-org/devsy/issues/646)) ([c005899](https://github.com/devsy-org/devsy/commit/c00589940a5063f34f25e6de1e17c8cb42a343e3)) -* **upgrade:** check if already up-to-date ([#559](https://github.com/devsy-org/devsy/issues/559)) ([ae7d61e](https://github.com/devsy-org/devsy/commit/ae7d61e7a83ada613e0b90176f33b8b6d7fb0b84)) -* **upgrade:** install correct binary release for operating system during selfupdate ([#535](https://github.com/devsy-org/devsy/issues/535)) ([62e38b8](https://github.com/devsy-org/devsy/commit/62e38b81cef998fcdecb0a8848cc53a8113064ac)) -* **upgrade:** trim 'v' prefix from current version check in Upgrade function ([#574](https://github.com/devsy-org/devsy/issues/574)) ([f18b6e2](https://github.com/devsy-org/devsy/commit/f18b6e27c72f84d5a54b4090f5254c241c047e23)) -* use docker-credentials endpoint for helper auth flow ([#478](https://github.com/devsy-org/devsy/issues/478)) ([6f54ce2](https://github.com/devsy-org/devsy/commit/6f54ce226faa1e7489bae17de4a84661e1fa94b5)) -* **ux:** add operation context to error messages at command boundary ([#133](https://github.com/devsy-org/devsy/issues/133)) ([8c6740f](https://github.com/devsy-org/devsy/commit/8c6740f42ed6a7c48aa7b512af9c52ee2155d8bb)) -* **ux:** include lifecycle phase name in hook error messages ([#132](https://github.com/devsy-org/devsy/issues/132)) ([bcdb2e0](https://github.com/devsy-org/devsy/commit/bcdb2e00947f3c1d7a7182ce046e3f37e879b7e8)) -* **ux:** prevent remote agent fatal log from killing local CLI ([#130](https://github.com/devsy-org/devsy/issues/130)) ([37a153e](https://github.com/devsy-org/devsy/commit/37a153e6ade10637b81be302c2a63995d33ed775)) -* **ux:** print error message on SSH/exec exit failures ([#128](https://github.com/devsy-org/devsy/issues/128)) ([61c84c9](https://github.com/devsy-org/devsy/commit/61c84c9e98da12e28bfe5aaa778e4992bc1797e2)) -* **ux:** propagate swallowed errors in workspace resolution ([#131](https://github.com/devsy-org/devsy/issues/131)) ([41d7d38](https://github.com/devsy-org/devsy/commit/41d7d385e08275861536374ba9c07744b215f655)) -* **ux:** remove duplicate error logging in feature downloads ([#135](https://github.com/devsy-org/devsy/issues/135)) ([bf5a96f](https://github.com/devsy-org/devsy/commit/bf5a96f446accb072ba8be31203a6eacfb74f40b)) -* **ux:** replace %w with %v in log format strings ([#129](https://github.com/devsy-org/devsy/issues/129)) ([7697411](https://github.com/devsy-org/devsy/commit/7697411984d68c60bb4c28ca6dc141bef60a3ced)) -* **ux:** use %w for proper error chain wrapping ([#134](https://github.com/devsy-org/devsy/issues/134)) ([1360313](https://github.com/devsy-org/devsy/commit/1360313f4136917c1dacd11941fb8a0237d0d9b9)) -* **workspace:** force-remove workspace folder with restrictive permissions ([#297](https://github.com/devsy-org/devsy/issues/297)) ([f8f41f6](https://github.com/devsy-org/devsy/commit/f8f41f6baf2e82e819b3acdf0390eb7d17ed0c99)) -* **workspace:** propagate findWorkspace errors and fix list append bug ([#124](https://github.com/devsy-org/devsy/issues/124)) ([81ab5f1](https://github.com/devsy-org/devsy/commit/81ab5f1d0170b4425723c0828d62859208a681a2)) - - -### Reverts - -* undo commits after 37018553b (PRs [#90](https://github.com/devsy-org/devsy/issues/90), [#91](https://github.com/devsy-org/devsy/issues/91), [#97](https://github.com/devsy-org/devsy/issues/97)-101) ([#111](https://github.com/devsy-org/devsy/issues/111)) ([ec11fbd](https://github.com/devsy-org/devsy/commit/ec11fbdf04137657eda22e8fc25bed39b0131ec2)) diff --git a/package.json b/package.json index 59155e4b7..62cb76ca8 100644 --- a/package.json +++ b/package.json @@ -4,9 +4,5 @@ "devDependencies": { "@biomejs/biome": "2.4.12", "semantic-release": "^24.2.3" - }, - "dependencies": { - "@semantic-release/changelog": "^6.0.3", - "@semantic-release/git": "^10.0.1" } }