DevSpace Changelog

What's new in DevSpace 6.3.12

Mar 1, 2024
  • What's Changed:
  • Treat pipeline flag defaults consistently when used as command flags or pipeline flags by @lizardruss in #2798
  • Do git pull for cached dependencies by @Andrioden in #2766
  • Update kaniko build image by @lizardruss in #2811
  • Remove reference to outdated command by @lizardruss in #2812

New in DevSpace 6.3.11 (Feb 17, 2024)

  • What's Changed:
  • Allow config expressions in devspace-schema.json by @lizardruss in #2787
  • Documentation: move is_dependency to correct function group by @jackwilsdon in #2761
  • Update warning message to recommend the DEVSPACE_CONFIG environment variable instead of --config by @lizardruss in #2804
  • Check / wake up kube context if defined when running commands by @lizardruss in #2805

New in DevSpace 6.3.10 (Jan 25, 2024)

  • Fix: use string hash for volumeName
  • Restart helper: give container process some time to shutdown

New in DevSpace 6.3.9 (Jan 18, 2024)

  • What's Changed:
  • Added video tutorial series playlist to introduction to DevSpace by @mpetason in #2781
  • Fix issues when using multiple containers in one pod by @maartendeprez in #2784

New in DevSpace 6.3.8 (Jan 2, 2024)

  • Fix typo by @xcming in #2775
  • Use string hash instead of whole name by @FabianKramm in #2777

New in DevSpace 6.3.7 (Dec 12, 2023)

  • Fix: disable upx for linux/arm64 by @xvzf in #2771
  • @xvzf made their first contribution in #2771

New in DevSpace 6.3.6 (Dec 6, 2023)

  • What's Changed:
  • Devspace defaults to uploading credentials to cluster by @lizardruss in #2753
  • fix: nil pointer in ensure namespace by @FabianKramm in #2762
  • tests: add regression tests for nil pointer on invalid kubeconfig by @89luca89 in #2763

New in DevSpace 6.3.5 (Nov 16, 2023)

  • What's Changed:
  • feat: add orbstack to local K8s by @FabianKramm in #2757

New in DevSpace 6.3.4 (Nov 4, 2023)

  • What's Changed:
  • Correctly use local git repo dependencies cache by @Andrioden in #2709
  • --dependency flag is respected by dependency resolving by @Andrioden in #2708
  • Prevent panic when checking server version without a kube contex… by @lizardruss in #2715
  • Add hooks config reference and document default container timeout by @lizardruss in #2714
  • Remote cache key should consider helm release name by @mschoenlaub in #2716
  • Allow SSH to be enabled and disabled via variable by @lizardruss in #2712
  • run_watch glob pattern handling by @89luca89 in #2728
  • When stopping upstream/downstream, also close grpc connections by @iwilltry42 in #2739
  • Update incorrect createPullSecrets reference by @lizardruss in #2750

New in DevSpace 6.3.3 (Aug 31, 2023)

  • Fix silent hook panic by @FabianKramm in #2630
  • Bump component chart by @FabianKramm in #2632
  • Consider helm release name when showing helm deployment status by @mschoenlaub in #2631
  • Added Validation Regex and Message to the user provided registry username by @alexandradragodan in #2620
  • Added proper regex and validation message for container registry chec… by @alexandradragodan in #2633
  • Avoid reformatting yaml when there are no patches to apply by @lizardruss in #2636
  • Add devcontainer json for devspace by @89luca89 in #2639 & #2640
  • Replace enry library, reduce binary size by @89luca89 in #2643
  • Scoop installation by @pauleHeisster in #2645
  • Update docusaurus and re-enable contextual search by @lizardruss in #2658
  • Add option to disable colors for users with conflicting backgrou… by @lizardruss in #2653
  • Devspace command fails when cluster is not required by @lizardruss in #2649
  • Improve docs by @lianmakesthings in #2662
  • Clarify where functions can be used by @lianmakesthings in #2668
  • Add localRegistry to imported sections by @lizardruss in #2666
  • Add explanation to necessary command for devimages by @lianmakesthings in #2664
  • Create /usr/local/bin for proxycommands if it doesn't exist in t… by @lizardruss in #2680
  • Fix and issue where run_watch --excludes with ./ not excluded by @lizardruss in #2684
  • Clarify only supported build engines for localRegistry by @lianmakesthings in #2688
  • Replace github.com/ghodss/yaml with sigs.k8s.io/yaml by @Juneezee in #2663
  • Remove the use of the --short flag in kubectl version by @lizardruss in #2696
  • Update component chart version by @lizardruss in #2707

New in DevSpace 6.3.2 (Mar 28, 2023)

  • Update CONTRIBUTING.md
  • Add variables to support migrating DevSpace Cloud users
  • Upgrade component-chart to 0.8.6
  • Do ensureNamespace only if the namespace doesn't really exist.
  • Minor fix to disableFallback documentation
  • Use v5 restart helper when upgrading v1beta11 schemas
  • Use 'helm dependency update' command because --dependency-update does not update versions
  • Ensure namespaces during dependencies resolution

New in DevSpace 6.3.1 (Mar 10, 2023)

  • What's Changed:
  • Add implicit patch during dev to unset readOnlyRootFilesystem when sync is enabled by @89luca89 in #2574
  • Make restart script compatible with non-GNU userlands by @89luca89 in #2580
  • Support local builds with docker/podman for local registry by @89luca89 in #2584
  • Exclude node_modules during devspace init by default by @lizardruss in #2592
  • Make disableDependencyUpdate optional in devspace-schema.json by @lusu007 in #2591
  • Revert changes to tag replacement and add tests to prevent future regressions by @lizardruss in #2597
  • Other Changes:
  • Add job to detect PRs that need docs update by @89luca89 in #2578
  • Security fix for go-restful and golang-jwt by @shubhamrajvanshi in #2575
  • Update loft-sh/utils to latest version by @89luca89 in #2589
  • Chore(deps): bump github.com/moby/buildkit from 0.11.0 to 0.11.4 by @dependabot in #2593
  • Chore(deps): bump @braintree/sanitize-url from 6.0.0 to 6.0.2 in /docs by @dependabot in #2585
  • Chore(deps): bump minimist and mkdirp in /ui by @dependabot in #2576
  • Chore(deps): bump golang.org/x/net from 0.6.0 to 0.7.0 by @dependabot in #2577

New in DevSpace 6.3.0 (Feb 23, 2023)

  • Add file upload progress by @89luca89 in #2515
  • Make command flags available everywhere for get_flags by @lizardruss in #2528
  • Documentation: update patch path examples to match v2beta1 schema by @lizardruss in #2526
  • Check for correct devcontainer reverse ports by @alexissellier in #2536
  • Add localRegistry.buildKitImage by @FabianKramm in #2539
  • Fix tag replaced incorrectly when using dev.*.imageSelector with pre… by @lizardruss in #2540
  • Improve detection of minikube clusters by @lizardruss in #2542
  • Return error when a field is both in DevPod and DevContainer by @89luca89 in #2537
  • Refactor helm dependency update to use --dependency-update by @lizardruss in #2545
  • Add missing block in inlineManifest docs. #2544 by @89luca89 in #2552
  • Improve documentation for expressions with inlineManifests by @89luca89 in #2553
  • Add a parameter to disable helm dependency update by @alexissellier in #2543
  • Update node install scripts for npm 9 by @lizardruss in #2555
  • Continue even if a dev config has no Ports when running list ports by @alexissellier in #2558
  • Silence warning for cyclic dependency root by @lizardruss in #2556
  • Fix a typo in terminal documentation by @ninjaprox in #2562
  • Add patches to kubectl deployments by @89luca89 in #2561
  • Add a json output for list port command by @alexissellier in #2559

New in DevSpace 6.2.5 (Jan 28, 2023)

  • What's Changed:
  • Cyclic dependency detection by @FabianKramm in #2492
  • Fix local Registry incorrectly used with insecure registry by @lizardruss in #2494
  • Section commands such as devspace run [command] do not work when the k8s cluster is unavailable by @lizardruss in #2495
  • Always use buildkit for local registry by @FabianKramm in #2499
  • docs: Add note on terminal container replacement by @ninjaprox in #2502
  • Feature: Add support for InlineManifest blocks in Kubectl deployments by @89luca89 in #2500 and #2503
  • docs: Add back runtime variables page from 5.x. Fix ENG-878 by @89luca89 in #2510
  • Add pull secret configuration for images when upgrading from v5 schemas by @lizardruss in #2512

New in DevSpace 6.2.4 (Jan 10, 2023)

  • refactor: improve local registry detection by @FabianKramm in #2486
  • chore(deps): bump json5 from 2.2.1 to 2.2.3 in /docs by @dependabot in #2484
  • fix: add ssh config quotes & deployment recreate strategy by @FabianKramm in #2487
  • Error 'Chart.yaml file is missing' reported for helm dependency update when custom chart name is used within dependency by @lizardruss in #2490
  • fix: devspace downgrade by @FabianKramm in #2491

New in DevSpace 6.2.3 (Jan 4, 2023)

  • What's Changed:
  • docs: add note about forcing variables to string by @lizardruss in #2469
  • fix: remove juju/ratelimit due to license concerns by @lizardruss in #2471
  • resolves ENG-765 docs typo by @alexandradragodan in #2472
  • refactor: create pull secret by @FabianKramm in #2473
  • fix: sanitize versions passed from github actions by @lizardruss in #2474
  • feat: custom kaniko pod names by @neogopher in #2477
  • docs: correct grammatical error by @neogopher in #2476
  • refactor: disable local registry in some cases by @FabianKramm in #2479

New in DevSpace 6.2.3 Beta 1 (Dec 29, 2022)

  • What's Changed:
  • Documentation updated to add note about forcing variables to string by @lizardruss in #2469
  • Replaced rate limit dependency to avoid licensing issues. by @lizardruss in #2471
  • Corrected dev containers documentation typo by @alexandradragodan in #2472
  • Fixed an issue where DevSpace would not create a needed pull secret by @FabianKramm in #2473
  • Fixed an issue where DevSpace release process would use versions with the wrong format for npm publish and downloading of assets. by @lizardruss in #2474

New in DevSpace 6.2.3 Beta 0 (Dec 20, 2022)

  • What's Changed:
  • docs: add note about forcing variables to string by @lizardruss in #2469
  • fix: remove juju/ratelimit due to license concerns by @lizardruss in #2471

New in DevSpace 6.2.2 Pre-releasae (Dec 13, 2022)

  • Fix a small typo by @gregmsanderson in #2453
  • chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2 in /ui by @dependabot in #2452
  • Perhaps add a note that the sample values break a deploy by @gregmsanderson in #2455
  • chore(deps): bump qs from 6.5.2 to 6.5.3 in /ui by @dependabot in #2460
  • chore(deps): bump express from 4.17.1 to 4.17.3 in /ui by @dependabot in #2459
  • chore(deps): bump express from 4.17.1 to 4.17.3 in /examples/kind by @dependabot in #2457
  • fix: variable resolving & image pull secret creation by @FabianKramm in #2466

New in DevSpace 6.2.1 (Nov 30, 2022)

  • Fixed an issue where DevSpace was always rebuilding images for local registry even if it should not. by @timo-klarshift in #2444
  • Fixed an issue where DevSpace is replacing container names and other values with image tags @lizardruss in #2445

New in DevSpace 6.2.0 (Nov 29, 2022)

  • Local Registry:
  • DevSpace now makes it even easier to start developing on Kubernetes. In many cases, it can be difficult to get started when you don't have an established way of pushing images between your local environment and a remote cluster. Setting up a registry when you're only evaluating Kubernetes and DevSpace is sometimes too much to ask.
  • DevSpace will detect whether you are using a local or remote cluster. When using a remote cluster DevSpace will check if you have push permissions to the image's registry. When you do not have push permissions, DevSpace will deploy an image registry to your cluster with a NodePort service, start port forwarding between your localhost and the registry pod, and update your image URLs to use the new localhost registry URL. The remote cluster will now resolve images from the deployed registry.
  • For cases when you are using a local Kubernetes cluster, or have push permissions to a remote registry, DevSpace will behave exactly as before. No additional configuration is needed in devspace.yaml, but if you wish to enabled persistence for the local registry, or use a custom registry image, configuration options are available.
  • What's Changed:
  • Add DEVSPACE_PROFILES variable and is_in command by @alexissellier in #2297
  • Specify a kubeClient when loading the devspace configuration by @alexissellier in #2306
  • Add dark-green color for completed state pods in UI by @mahendrabagul in #2335
  • Improve arch detection of pod when installing devspacehelper by @pratikjagrut in #2336 and @FabianKramm in #2381
  • Fallback to ssh if https doesn't work when cloning dependencies by @pratikjagrut in #2330 & #2355
  • Allow importing require statements and show all failures by @dtomasi in #2354
  • Add disabled flag for dependencies to avoid resolving all dependencies by @lizardruss in #2361
  • Add proper schema validation for vars by @mahendrabagul in #2343
  • Fix an issue when authenticating with Azure Container Registry (ACR) by @lizardruss in #2376
  • Local registry by @lizardruss in #2326
  • Support "~" (home) at the start of sync path by @matskiv in #2384
  • Add SIGINT syscall signal before SIGKILL by @mahendrabagul in #2388
  • Fixed improper parsing of volume name by @ryancharris in #2405
  • Use 'wss' protocol when DevSpace ui is loaded via 'https' by @lizardruss in #2410
  • Fixed building in Kaniko from Windows by @lizardruss in #2423
  • Improve output for pull secret creation by @FabianKramm in #2428
  • Pass DevSpace vars to plugin environment by @mahendrabagul in #2400
  • Add global flag for running dependencies sequentially by @pratikjagrut in #2424
  • Fix commands with predefined variables by @FabianKramm in #2429
  • Fix local registry failing with multiple dependencies by @lizardruss in #2425
  • Scale down replica sets to allow transfer of persistPaths persistent volume claims between pods by @lizardruss in #2431
  • Fix imported variables are not used in other variables by @pratikjagrut in #2432
  • Generate keys using ecdsa instead of rsa by @pratikjagrut in #2437
  • Other Changes:
  • Add is_in function docs by @alexissellier in #2307
  • Fix a tiny typo by @lianmakesthings in #2311
  • Hide deprecated printLogs & remoteExec configs in docs by @carlmontanari in #2312
  • Remove use profile command docs by @alexissellier in #2320
  • Replace chmod/mv with install command in docs by @tradel in #2327
  • Remove incorrect docs about environment variables with PowerShell by @lizardruss in #2340
  • Correct function return value docs by @pratikjagrut in #2347
  • Fix semantic error in docs example by @Kromtar in #2363
  • Add Hooks page in docs by @mahendrabagul in #2364
  • Fix typo in initialize project docs by @mahendrabagul in #2369
  • Fix typo in Select Dev Container By Pod Labels page by @shepda in #2350
  • Fix alwaysResolve flag's default value in docs by @mahendrabagul in #2378
  • Fix issue template labels by @matskiv in #2372
  • Add devspacehelper build details in contributing guide by @mahendrabagul in #2383
  • Add profiles for dependency to documentation by @alexissellier in #2396
  • Corrected documentation page title mistake by @matskiv in #2394
  • Remove incorrect statement about BuildKit deployment name in documentation by @lizardruss in #2413
  • Update dependencies by @FabianKramm in #2421
  • Update sync help msg and documentation by @pratikjagrut in #2438

New in DevSpace 6.2.0 Beta 0 (Nov 24, 2022)

  • What's Changed:
  • Add DEVSPACE_PROFILES variable and is_in command by @alexissellier in #2297
  • Specify a kubeClient when loading the devspace configuration by @alexissellier in #2306
  • Add dark-green color for completed state pods in UI by @mahendrabagul in #2335
  • Improve arch detection of pod when installing devspacehelper by @pratikjagrut in #2336 and @FabianKramm in #2381
  • Fallback to ssh if https doesn't work when cloning dependencies by @pratikjagrut in #2330 & #2355
  • Allow importing require statements and show all failures by @dtomasi in #2354
  • Add disabled flag for dependencies to avoid resolving all dependencies by @lizardruss in #2361
  • Add proper schema validation for vars by @mahendrabagul in #2343
  • Fix an issue when authenticating with Azure Container Registry (ACR) by @lizardruss in #2376
  • Local registry by @lizardruss in #2326
  • Support "~" (home) at the start of sync path by @matskiv in #2384
  • Add SIGINT syscall signal before SIGKILL by @mahendrabagul in #2388
  • Fixed improper parsing of volume name by @ryancharris in #2405
  • Use 'wss' protocol when DevSpace ui is loaded via 'https' by @lizardruss in #2410
  • Fixed building in Kaniko from Windows by @lizardruss in #2423
  • Improve output for pull secret creation by @FabianKramm in #2428
  • Pass DevSpace vars to plugin environment by @mahendrabagul in #2400
  • Add global flag for running dependencies sequentially by @pratikjagrut in #2424
  • Fix commands with predefined variables by @FabianKramm in #2429
  • Fix local registry failing with multiple dependencies by @lizardruss in #2425
  • Scale down replica sets to allow transfer of persistPaths persistent volume claims between pods by @lizardruss in #2431
  • Fix imported variables are not used in other variables by @pratikjagrut in #2432
  • Other Changes:
  • Add is_in function docs by @alexissellier in #2307
  • Fix a tiny typo by @lianmakesthings in #2311
  • Hide deprecated printLogs & remoteExec configs in docs by @carlmontanari in #2312
  • Remove use profile command docs by @alexissellier in #2320
  • Replace chmod/mv with install command in docs by @tradel in #2327
  • Remove incorrect docs about environment variables with PowerShell by @lizardruss in #2340
  • Correct function return value docs by @pratikjagrut in #2347
  • Fix semantic error in docs example by @Kromtar in #2363
  • Add Hooks page in docs by @mahendrabagul in #2364
  • Fix typo in initialize project docs by @mahendrabagul in #2369
  • Fix typo in Select Dev Container By Pod Labels page by @shepda in #2350
  • Fix alwaysResolve flag's default value in docs by @mahendrabagul in #2378
  • Fix issue template labels by @matskiv in #2372
  • Add devspacehelper build details in contributing guide by @mahendrabagul in #2383
  • Add profiles for dependency to documentation by @alexissellier in #2396
  • Corrected documentation page title mistake by @matskiv in #2394
  • Remove incorrect statement about BuildKit deployment name in documentation by @lizardruss in #2413
  • Update dependencies by @FabianKramm in #2421

New in DevSpace 6.1.2 Alpha 0 (Sep 23, 2022)

  • Fix: update npm install script to use redirect URL by @lizardruss in #2303
  • Add DEVSPACE_PROFILES variable and is_in command by @alexissellier in #2297
  • Specify a kubeClient when loading the devspace configuration by @alexissellier in #2306
  • Use loft-util package to avoid code duplication by @mahendrabagul in #2308
  • Docs: add is_in function documentation by @alexissellier in #2307
  • Fixes a tiny typo by @lianmakesthings in #2311
  • Docs: hide deprecated printLogs & remoteExec configs in docs by @carlmontanari in #2312
  • Build(deps): bump jose from 2.0.5 to 2.0.6 in /ui by @dependabot in #2318
  • Consider default value even if it was set to empty in non-terminal devspace execution by @mahendrabagul in #2317
  • Docs: remove use profile command by @alexissellier in #2320
  • Docs: replace chmod/mv with install command by @tradel in #2327
  • Feat: fallback to ssh if https doesn't work and vice versa by @pratikjagrut in #2330
  • Fix: use registry token for pull secrets by @lizardruss in #2332

New in DevSpace 6.1.1 (Sep 13, 2022)

  • fix: fatal error during devspace init by @lizardruss in #2300
  • fix: update asset download urls by @lizardruss in #2301
  • refactor: improve dev pod selection by @FabianKramm in #2299

New in DevSpace 6.1.1 Beta 0 (Sep 12, 2022)

  • Fix: fatal error during devspace init
  • Fix: update asset download urls
  • Refactor: improve dev pod selection

New in DevSpace 6.1.0 (Sep 9, 2022)

  • Changes:
  • New option dev.sync.onUpload.exec.once to only execute a command a single time in a container's lifecycle
  • Fixed an issue where xargs was sometimes not working correctly for non pipeline functions
  • Fixed an issue where port-forwarding in devspace could be blocking
  • Fixed an issue where DevSpace skipped creating a pull secret when logged in with Azure container registry. (thanks @lizardruss)
  • Silent params value being true used to discard the logs, setting it to false will now show the logs on the terminal when --debug is enabled. (thanks @mahendrabagul)
  • DevSpace is now aware of sleeping Kubernetes environments and improves the messaging and handling for it
  • Bumped component chart to 0.8.5
  • Allow $$() to escape $() for config expressions
  • Fixed an issue where DevSpace would incorrectly omit r in pipeline commands
  • New --tty flag for devspace enter to disable tty
  • New dev.terminal.disableTTY option to disable tty
  • New wait_pod function for pipelines that waits for pods / containers to become ready
  • Variables can now be used in the whole imports section
  • DevSpace will not ask a question anymore if stdin is not recognized as a terminal
  • Other Changes:
  • fix: bump up golangci-lint version by @pratikjagrut in #2264
  • Specify a new section that cannot be patched by @alexissellier in #2260
  • Change ConfigPartial ref for open feature by @alexissellier in #2261
  • Added config in launch.json to debug devspace cli by @mahendrabagul in #2274
  • Fix typo by @FabianKramm in #2276
  • Add missing documentation by @alexissellier in #2282
  • correct python spelling by @arieldbt in #2287

New in DevSpace 6.1.0 Beta 0 (Sep 9, 2022)

  • Changes:
  • New option dev.sync.onUpload.exec.once to only execute a command a single time in a container's lifecycle
  • Fixed an issue where xargs was sometimes not working correctly for non pipeline functions
  • Fixed an issue where port-forwarding in devspace could be blocking
  • Fixed an issue where DevSpace skipped creating a pull secret when logged in with Azure container registry. (thanks @lizardruss)
  • Silent params value being true used to discard the logs, setting it to false will now show the logs on the terminal when --debug is enabled. (thanks @mahendrabagul)
  • DevSpace is now aware of sleeping Kubernetes environments and improves the messaging and handling for it
  • Bumped component chart to 0.8.5
  • Allow $$() to escape $() for config expressions
  • Fixed an issue where DevSpace would incorrectly omit r in pipeline commands
  • New --tty flag for devspace enter to disable tty
  • New dev.terminal.disableTTY option to disable tty
  • New wait_pod function for pipelines that waits for pods / containers to become ready
  • Variables can now be used in the whole imports section
  • DevSpace will not ask a question anymore if stdin is not recognized as a terminal
  • Other Changes:
  • Fix: bump up golangci-lint version by @pratikjagrut in #2264
  • Specify a new section that cannot be patched by @alexissellier in #2260
  • Change ConfigPartial ref for open feature by @alexissellier in #2261
  • Added config in launch.json to debug devspace cli by @mahendrabagul in #2274
  • Fix typo by @FabianKramm in #2276
  • Add missing documentation by @alexissellier in #2282
  • Correct python spelling by @arieldbt in #2287

New in DevSpace 6.0.1 (Aug 26, 2022)

  • Fixed an issue where DevSpace had problems syncing single files by @FabianKramm in #2257
  • Fixed an issue where DevSpace would always re-deploy charts imported using git by @lizardruss in #2244
  • Fixed an issue where DevSpace wouldn't resolve environment variable vars correctly by @FabianKramm in #2249
  • Fixed an issue where DevSpace incorrectly compared semantic versions. by @CiiDyR in #2250
  • Fixed an issue where DevSpace commands were not usable in the DevSpace UI by @FabianKramm in #2251
  • Fixed an issue where DevSpace would panic if there would be an empty pipeline, var, command, pullSecret or dev config by @FabianKramm in #2252
  • Improved the output if a yaml parsing error occurs @FabianKramm in #2253
  • Print error if reserved function name is used in config @FabianKramm in #2253
  • Mention that path field can be a URL as well by @alexissellier in #2235
  • Fixed an issue where DevSpace was not correctly authenticating to an OCI registry if chart.username and chart.password were provided by @FabianKramm in #2240
  • Fixed an issue where DevSpace would spawn many subprocesses if devspace was used as part of a DevSpace variable by @FabianKramm in #2240

New in DevSpace 6.0.1 Beta 1 (Aug 26, 2022)

  • Fixed an issue where DevSpace would always re-deploy charts imported using git by @lizardruss in #2244
  • Fixed an issue where DevSpace wouldn't resolve environment variable vars correctly by @FabianKramm in #2249
  • Fixed an issue where DevSpace incorrectly compared semantic versions. by @CiiDyR in #2250
  • Fixed an issue where DevSpace commands were not usable in the DevSpace UI by @FabianKramm in #2251
  • Fixed an issue where DevSpace would panic if there would be an empty pipeline, var, command, pullSecret or dev config by @FabianKramm in #2252
  • Improved the output if a yaml parsing error occurs @FabianKramm in #2253
  • Print error if reserved function name is used in config @FabianKramm in #2253
  • Mention that path field can be a URL as well by @alexissellier in #2235
  • Fixed an issue where DevSpace was not correctly authenticating to an OCI registry if chart.username and chart.password were provided by @FabianKramm in #2240
  • Fixed an issue where DevSpace would spawn many subprocesses if devspace was used as part of a DevSpace variable by @FabianKramm in #2240

New in DevSpace 6.0.1 Beta 0 (Aug 25, 2022)

  • Mention that path field can be a URL as well.
  • Fixed an issue where DevSpace was not correctly authenticating to an OCI registry if chart.username and chart.password were provided.
  • Fixed an issue where DevSpace would spawn many subprocesses if devspace was used as part of a DevSpace variable.

New in DevSpace 6.0.0 (Aug 23, 2022)

  • DevSpace version 6 introduces some breaking changes to work efficiently with the new Pipelines feature. Almost all older devspace.yaml should still work as config is migrated automatically, however we removed some deprecated and older functionality that we felt is now either obsolete or unused.
  • Removed Flags:
  • deployments was removed, use pipeline logic instead
  • skip-pipeline in devspace dev was removed, use pipeline logic instead
  • verbose-dependencies and --skip-dependencies was removed and dependencies will be pulled every run
  • interactive was removed from devspace dev, use pipeline logic instead
  • parent-profile was removed, use multiple --profile flags instead
  • restore-vars, --vars-secret and --save-vars was removed. Use vars.MY_VAR.remote: true instead
  • verbose-sync was removed, use --debug instead
  • exit-after-deploy, --terminal-reconnect, --portforwarding and --sync was removed
  • wait, --timeout was removed, use pipeline logic instead
  • container-path and --local-path were removed from devspace sync, please use --path instead
  • Removed dev.autoReload:
  • This functionality was removed from DevSpace and will be replaced in future by automatically reloading pipelines
  • DevSpace will no longer ask for undefined variables:
  • If you are using a variable like this, DevSpace will not ask anymore for its value:
  • deployments:
  • name: ...
  • helm:
  • values:
  • key: ${VARIABLE}
  • rather change it to
  • vars:
  • name: VARIABLE
  • deployments:
  • name: ...
  • helm:
  • values:
  • key: ${VARIABLE}
  • Dependency names must be unique:
  • DevSpace determines which dependency was deployed now solely based on the name, so multiple dependencies or nested dependencies with the same name will be resolved as the same dependency and deployed only once.
  • Other Breaking Changes:
  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore

New in DevSpace 6.0.0 Beta 9 (Aug 10, 2022)

  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore

New in DevSpace 6.0.0 Beta 7 (Jul 21, 2022)

  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore

New in DevSpace 6.0.0 Beta 6 (Jul 6, 2022)

  • With v6 a new config version v2beta1 was introduced, that restructures many parts of the DevSpace config, such as deployments, dev, commands and vars. Older config versions are still supported and will be converted automatically in memory by DevSpace to this new version. To see how the old config got converted, run devspace print, which can be a starting point on how to convert your older DevSpace config.
  • Pipelines:
  • DevSpace used a declarative approach to define its dev, build, deploy and purge pipeline, however we felt most of it was hardcoded and difficult to change. We introduced hooks to make these pipelines more adjustable, however in many cases this was difficult to understand as the pipeline was still implicit and through hooks scattered around the devspace.yaml.
  • With DevSpace v6 we introduce a pipelines concept that allows you to override DevSpace default behaviour and create more dynamic and powerful pipelines compared to what DevSpace offers you as a default. These pipelines are written similar to github actions and DevSpace provides custom commands that allow you to build images, deploy deployments as well as stop and start development. This also allows you to define concurrency a lot easier, so from now on you can easily build, deploy or start development in parallel as you desire.
  • Example: Simple Declarative Pipeline:
  • As configurations get more complex, you probably want to reuse config or define it in a separate place, here the declarative approach makes sense that you can reference in your pipeline
  • Imports:
  • You want DRY config and we heard you! With imports you can now merge different devspace.yaml's together and define your variables, deployments, commands and pipelines in a single repository or file and import them into other projects through git, urls or local paths. With the new pipelines you can then define what images to build, what deployments to deploy and what dev configurations to start and stop
  • SSH & Proxy Commands:
  • It is now possible to let DevSpace setup an SSH connection as well as proxy certain commands from the local host to the container:
  • With the configuration above you can run the following (proxyCommands also works with terminal or kubectl exec
  • Breaking Changes:
  • Removed Flags:
  • --deployments was removed, use pipeline logic instead
  • --skip-pipeline in devspace dev was removed, use pipeline logic instead
  • --verbose-dependencies and --skip-dependencies was removed and dependencies will be pulled every run
  • --interactive was removed from devspace dev, use pipeline logic instead
  • --parent-profile was removed, use multiple --profile flags instead
  • --restore-vars, --vars-secret and --save-vars was removed. Use vars.MY_VAR.remote: true instead
  • --verbose-sync was removed, use --debug instead
  • --exit-after-deploy, --terminal-reconnect, --portforwarding and --sync was removed
  • --wait, --timeout was removed, use pipeline logic instead
  • --container-path and --local-path were removed from devspace sync, please use --path instead
  • Removed dev.autoReload:
  • This functionality was removed from DevSpace and will be replaced in future by automatically reloading pipelines
  • DevSpace will no longer ask for undefined variables
  • Dependency names must be unique:
  • DevSpace determines which dependency was deployed now solely based on the name, so multiple dependencies or nested dependencies with the same name will be resolved as the same dependency and deployed only once.
  • Other Breaking Changes:
  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • Devspace dev is not taking any arguments anymore

New in DevSpace 6.0.0 Beta 5 (Jul 6, 2022)

  • Config Version v2beta1:
  • With v6 a new config version v2beta1 was introduced, that restructures many parts of the DevSpace config, such as deployments, dev, commands and vars. Older config versions are still supported and will be converted automatically in memory by DevSpace to this new version. To see how the old config got converted, run devspace print, which can be a starting point on how to convert your older DevSpace config.
  • Pipelines:
  • DevSpace used a declarative approach to define its dev, build, deploy and purge pipeline, however we felt most of it was hardcoded and difficult to change. We introduced hooks to make these pipelines more adjustable, however in many cases this was difficult to understand as the pipeline was still implicit and through hooks scattered around the devspace.yaml.
  • With DevSpace v6 we introduce a pipelines concept that allows you to override DevSpace default behaviour and create more dynamic and powerful pipelines compared to what DevSpace offers you as a default. These pipelines are written similar to github actions and DevSpace provides custom commands that allow you to build images, deploy deployments as well as stop and start development. This also allows you to define concurrency a lot easier, so from now on you can easily build, deploy or start development in parallel as you desire.
  • Imports:
  • You want DRY config and we heard you! With imports you can now merge different devspace.yaml's together and define your variables, deployments, commands and pipelines in a single repository or file and import them into other projects through git, urls or local paths. With the new pipelines you can then define what images to build, what deployments to deploy and what dev configurations to start and stop
  • SSH & Proxy Commands:
  • It is now possible to let DevSpace setup an SSH connection as well as proxy certain commands from the local host to the containe
  • With the configuration above you can run the following (proxyCommands also works with terminal or kubectl exec):
  • ssh my-dev.devspace-project.devspace
  • # Run the following commands inside the container that are proxied to the local computer
  • $/ git
  • $/ devspace
  • $/ kubectl
  • Breaking Changes:
  • DevSpace version 6 introduces some breaking changes to work efficiently with the new Pipelines feature. Almost all older devspace.yaml should still work as config is migrated automatically, however we removed some deprecated and older functionality that we felt is now either obsolete or unused.
  • Removed Flags:
  • --deployments was removed, use pipeline logic instead
  • --skip-pipeline in devspace dev was removed, use pipeline logic instead
  • --verbose-dependencies and --skip-dependencies was removed and dependencies will be pulled every run
  • --interactive was removed from devspace dev, use pipeline logic instead
  • --parent-profile was removed, use multiple --profile flags instead
  • --restore-vars, --vars-secret and --save-vars was removed. Use vars.MY_VAR.remote: true instead
  • --verbose-sync was removed, use --debug instead
  • --exit-after-deploy, --terminal-reconnect, --portforwarding and --sync was removed
  • --wait, --timeout was removed, use pipeline logic instead
  • --container-path and --local-path were removed from devspace sync, please use --path instead
  • Removed dev.autoReload:
  • This functionality was removed from DevSpace and will be replaced in future by automatically reloading pipelines
  • DevSpace will no longer ask for undefined variables:
  • If you are using a variable like this, DevSpace will not ask anymore for its value
  • Dependency names must be unique:
  • DevSpace determines which dependency was deployed now solely based on the name, so multiple dependencies or nested dependencies with the same name will be resolved as the same dependency and deployed only once.
  • Other Breaking Changes:
  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore

New in DevSpace 6.0.0 Beta 4 (Jun 29, 2022)

  • Config Version v2beta1:
  • With v6 a new config version v2beta1 was introduced, that restructures many parts of the DevSpace config, such as deployments, dev, commands and vars. Older config versions are still supported and will be converted automatically in memory by DevSpace to this new version. To see how the old config got converted, run devspace print, which can be a starting point on how to convert your older DevSpace config.
  • Pipelines:
  • DevSpace used a declarative approach to define its dev, build, deploy and purge pipeline, however we felt most of it was hardcoded and difficult to change. We introduced hooks to make these pipelines more adjustable, however in many cases this was difficult to understand as the pipeline was still implicit and through hooks scattered around the devspace.yaml.
  • With DevSpace v6 we introduce a pipelines concept that allows you to override DevSpace default behaviour and create more dynamic and powerful pipelines compared to what DevSpace offers you as a default. These pipelines are written similar to github actions and DevSpace provides custom commands that allow you to build images, deploy deployments as well as stop and start development. This also allows you to define concurrency a lot easier, so from now on you can easily build, deploy or start development in parallel as you desire.
  • SSH & Proxy Commands:
  • It is now possible to let DevSpace setup an SSH connection as well as proxy certain commands from the local host to the container
  • With the configuration above you can run the following (proxyCommands also works with terminal or kubectl exec)
  • Breaking Changes:
  • DevSpace version 6 introduces some breaking changes to work efficiently with the new Pipelines feature. Almost all older devspace.yaml should still work as config is migrated automatically, however we removed some deprecated and older functionality that we felt is now either obsolete or unused.
  • Removed Flags:
  • --deployments was removed, use pipeline logic instead
  • --skip-pipeline in devspace dev was removed, use pipeline logic instead
  • --verbose-dependencies and --skip-dependencies was removed and dependencies will be pulled every run
  • --interactive was removed from devspace dev, use pipeline logic instead
  • --parent-profile was removed, use multiple --profile flags instead
  • --restore-vars, --vars-secret and --save-vars was removed. Use vars.MY_VAR.remote: true instead
  • --verbose-sync was removed, use --debug instead
  • --exit-after-deploy, --terminal-reconnect, --portforwarding and --sync was removed
  • --wait, --timeout was removed, use pipeline logic instead
  • --container-path and --local-path were removed from devspace sync, please use --path instead
  • Removed dev.autoReload:
  • This functionality was removed from DevSpace and will be replaced in future by automatically reloading pipelines
  • DevSpace will no longer ask for undefined variables
  • Dependency names must be unique:
  • DevSpace determines which dependency was deployed now solely based on the name, so multiple dependencies or nested dependencies with the same name will be resolved as the same dependency and deployed only once.
  • Other Breaking Changes
  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore
  • Many other changes:
  • There are many other improvements and changes that went into this new DevSpace version. We'll release full exhaustive release notes soon.

New in DevSpace 6.0.0 Beta 1 (Jun 23, 2022)

  • DevSpace version 6 introduces some breaking changes to work efficiently with the new Pipelines feature. Almost all older devspace.yaml should still work as config is migrated automatically, however we removed some deprecated and older functionality that we felt is now either obsolete or unused.
  • Removed Flags:
  • deployments was removed, use pipeline logic instead
  • skip-pipeline in devspace dev was removed, use pipeline logic instead
  • verbose-dependencies and --skip-dependencies was removed and dependencies will be pulled every run
  • interactive was removed from devspace dev, use pipeline logic instead
  • parent-profile was removed, use multiple --profile flags instead
  • restore-vars, --vars-secret and --save-vars was removed. Use vars.MY_VAR.remote: true instead
  • verbose-sync was removed, use --debug instead
  • exit-after-deploy, --terminal-reconnect, --portforwarding and --sync was removed
  • wait, --timeout was removed, use pipeline logic instead
  • container-path and --local-path were removed from devspace sync, please use --path instead
  • Removed dev.autoReload
  • This functionality was removed from DevSpace and will be replaced in future by automatically reloading pipelines
  • DevSpace will no longer ask for undefined variables
  • If you are using a variable like this, DevSpace will not ask anymore for its value:
  • deployments:
  • name: ...
  • helm:
  • values:
  • key: ${VARIABLE}
  • rather change it to
  • vars:
  • name: VARIABLE
  • deployments:
  • name: ...
  • helm:
  • values:
  • key: ${VARIABLE}
  • Dependency names must be unique
  • DevSpace determines which dependency was deployed now solely based on the name, so multiple dependencies or nested dependencies with the same name will be resolved as the same dependency and deployed only once.
  • Other Breaking Changes:
  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore

New in DevSpace 6.0.0 Beta 0 (Jun 21, 2022)

  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore
  • Pipelines:
  • DevSpace used a declarative approach to define its dev, build, deploy and purge pipeline, however we felt most of it was hardcoded and difficult to change. We introduced hooks to make these pipelines more adjustable, however in many cases this was difficult to understand as the pipeline was still implicit and through hooks scattered around the devspace.yaml.
  • With DevSpace v6 we introduce a pipelines concept that allows you to override DevSpace default behaviour and create more dynamic and powerful pipelines compared to what DevSpace offers you as a default. These pipelines are written similar to github actions and DevSpace provides custom commands that allow you to build images, deploy deployments as well as stop and start development. This also allows you to define concurrency a lot easier, so from now on you can easily build, deploy or start development in parallel as you desire.
  • Imports:
  • You want DRY config and we heard you! With imports you can now merge different devspace.yaml's together and define your variables, deployments, commands and pipelines in a single repository or file and import them into other projects through git, urls or local paths.
  • SSH & Proxy Commands:
  • It is now possible to let DevSpace setup an SSH connection as well as proxy certain commands from the local host to the container.
  • Removed Flags:
  • --deployments was removed, use pipeline logic instead
  • --skip-pipeline in devspace dev was removed, use pipeline logic instead
  • --verbose-dependencies and --skip-dependencies was removed and dependencies will be pulled every run
  • --interactive was removed from devspace dev, use pipeline logic instead
  • --parent-profile was removed, use multiple --profile flags instead
  • --restore-vars, --vars-secret and --save-vars was removed. Use vars.MY_VAR.remote: true instead
  • --verbose-sync was removed, use --debug instead
  • --exit-after-deploy, --terminal-reconnect, --portforwarding and --sync was removed
  • --wait, --timeout was removed, use pipeline logic instead
  • --container-path and --local-path were removed from devspace sync, please use --path instead
  • DevSpace will no longer ask for undefined variables:
  • If you are using a variable like this, DevSpace will not ask anymore for its value.
  • Dependency names must be unique:
  • DevSpace determines which dependency was deployed now solely based on the name, so multiple dependencies or nested dependencies with the same name will be resolved as the same dependency and deployed only once.

New in DevSpace 6.0.0 Alpha 18 (May 14, 2022)

  • Breaking Changes:
  • DevSpace version 6 introduces some breaking changes to work efficiently with the new Pipelines feature. Almost all older devspace.yaml should still work as config is migrated automatically, however we removed some deprecated and older functionality that we felt is now either obsolete or unused.
  • Removed Flags:
  • deployments was removed, use pipeline logic instead
  • skip-pipeline in devspace dev was removed, use pipeline logic instead
  • verbose-dependencies and --skip-dependencies was removed and dependencies will be pulled every run
  • interactive was removed from devspace dev, use pipeline logic instead
  • parent-profile was removed, use multiple --profile flags instead
  • restore-vars, --vars-secret and --save-vars was removed. Use vars.MY_VAR.remote: true instead
  • verbose-sync was removed, use --debug instead
  • exit-after-deploy, --terminal-reconnect, --portforwarding and --sync was removed
  • wait, --timeout was removed, use pipeline logic instead
  • container-path and --local-path were removed from devspace sync, please use --path instead
  • Removed dev.autoReload:
  • This functionality was removed from DevSpace and will be replaced in future by automatically reloading pipelines
  • DevSpace will no longer ask for undefined variables:
  • If you are using a variable like this, DevSpace will not ask anymore for its value
  • Dependency names must be unique:
  • DevSpace determines which dependency was deployed now solely based on the name, so multiple dependencies or nested dependencies with the same name will be resolved as the same dependency and deployed only once.
  • Other Breaking Changes:
  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore

New in DevSpace 5.18.5 Beta 3 (May 13, 2022)

  • Fixed an issue where DevSpace wasn't working with kubectl v1.24 (#2069)

New in DevSpace 5.18.5 Beta 2 (May 13, 2022)

  • Fixed an issue where DevSpace wasn't working with kubectl v1.24 (#2069)

New in DevSpace 6.0.0 Alpha 17 (May 6, 2022)

  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • Devspace dev is not taking any arguments anymore

New in DevSpace 6.0.0 Alpha 16 (Apr 28, 2022)

  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • Devspace dev is not taking any arguments anymore

New in DevSpace 6.0.0 Alpha 15 (Apr 20, 2022)

  • Breaking Changes:
  • DevSpace version 6 introduces some breaking changes to work efficiently with the new Pipelines feature. Almost all older devspace.yaml should still work as config is migrated automatically, however we removed some deprecated and older functionality that we felt is now either obsolete or unused.
  • Removed Flags:
  • deployments was removed, use pipeline logic instead
  • skip-pipeline in devspace dev was removed, use pipeline logic instead
  • verbose-dependencies and --skip-dependencies was removed and dependencies will be pulled every run
  • interactive was removed from devspace dev, use pipeline logic instead
  • parent-profile was removed, use multiple --profile flags instead
  • restore-vars, --vars-secret and --save-vars was removed. Use vars.MY_VAR.remote: true instead
  • verbose-sync was removed, use --debug instead
  • exit-after-deploy, --terminal-reconnect, --portforwarding and --sync was removed
  • wait, --timeout was removed, use pipeline logic instead
  • container-path and --local-path were removed from devspace sync, please use --path instead
  • Removed dev.autoReload:
  • This functionality was removed from DevSpace and will be replaced in future by automatically reloading pipelines
  • DevSpace will no longer ask for undefined variables
  • If you are using a variable like this, DevSpace will not ask anymore for its value
  • Dependency names must be unique:
  • DevSpace determines which dependency was deployed now solely based on the name, so multiple dependencies or nested dependencies with the same name will be resolved as the same dependency and deployed only once.
  • Other Breaking Changes:
  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore

New in DevSpace 6.0.0 Alpha 14 (Apr 19, 2022)

  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore

New in DevSpace 6.0.0 Alpha 13 (Apr 16, 2022)

  • DevSpace version 6 introduces some breaking changes to work efficiently with the new Pipelines feature. Almost all older devspace.yaml should still work as config is migrated automatically, however we removed some deprecated and older functionality that we felt is now either obsolete or unused.
  • Removed Flags:
  • deployments was removed, use pipeline logic instead
  • skip-pipeline in devspace dev was removed, use pipeline logic instead
  • verbose-dependencies and --skip-dependencies was removed and dependencies will be pulled every run
  • interactive was removed from devspace dev, use pipeline logic instead
  • parent-profile was removed, use multiple --profile flags instead
  • restore-vars, --vars-secret and --save-vars was removed. Use vars.MY_VAR.remote: true instead
  • verbose-sync was removed, use --debug instead
  • exit-after-deploy, --terminal-reconnect, --portforwarding and --sync was removed
  • wait, --timeout was removed, use pipeline logic instead
  • container-path and --local-path were removed from devspace sync, please use --path instead
  • Removed dev.autoReload
  • This functionality was removed from DevSpace and will be replaced in future by automatically reloading pipelines
  • DevSpace will no longer ask for undefined variables:
  • If you are using a variable like this, DevSpace will not ask anymore for its value
  • Dependency names must be unique
  • DevSpace determines which dependency was deployed now solely based on the name, so multiple dependencies or nested dependencies with the same name will be resolved as the same dependency and deployed only once.
  • Other Breaking Changes:
  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore

New in DevSpace 6.0.0 Alpha 11 (Apr 12, 2022)

  • Config Version v2beta1:
  • With v6 a new config version v2beta1 was introduced, that restructures many parts of the DevSpace config, such as deployments, dev, commands and vars. Older config versions are still supported and will be converted automatically in memory by DevSpace to this new version. To see how the old config got converted, run devspace print, which can be a starting point on how to convert your older DevSpace config.
  • Pipelines:
  • DevSpace used a declarative approach to define its dev, build, deploy and purge pipeline, however we felt most of it was hardcoded and difficult to change. We introduced hooks to make these pipelines more adjustable, however in many cases this was difficult to understand as the pipeline was still implicit and through hooks scattered around the devspace.yaml.
  • With DevSpace v6 we introduce a pipelines concept that allows you to override DevSpace default behaviour and create more dynamic and powerful pipelines compared to what DevSpace offers you as a default. These pipelines are written similar to github actions and DevSpace provides custom commands that allow you to build images, deploy deployments as well as stop and start development. This also allows you to define concurrency a lot easier, so from now on you can easily build, deploy or start development in parallel as you desire.
  • Example: Simple Procedural Pipeline:
  • With pipelines you can decide if to use the declarative approach or define objects on the fly with the --set flag. A simple project that deploys an alpine container and then starts syncing to it can be purely written in the new pipeline form
  • Example: Simple Declarative Pipeline:
  • As configurations get more complex, you probably want to reuse config or define it in a separate place, here the declarative approach makes sense that you can reference in your pipeline
  • Imports:
  • You want DRY config and we heard you! With imports you can now merge different devspace.yaml's together and define your variables, deployments, commands and pipelines in a single repository or file and import them into other projects through git, urls or local paths. With the new pipelines you can then define what images to build, what deployments to deploy and what dev configurations to start and stop
  • It is now possible to let DevSpace setup an SSH connection as well as proxy certain commands from the local host to the container
  • With the configuration above you can run the following (proxyCommands also works with terminal or kubectl exec)
  • Breaking Changes:
  • DevSpace version 6 introduces some breaking changes to work efficiently with the new Pipelines feature. Almost all older devspace.yaml should still work as config is migrated automatically, however we removed some deprecated and older functionality that we felt is now either obsolete or unused.
  • Removed dev.autoReload:
  • This functionality was removed from DevSpace and will be replaced in future by automatically reloading pipelines
  • DevSpace will no longer ask for undefined variables:
  • Dependency names must be unique:
  • DevSpace determines which dependency was deployed now solely based on the name, so multiple dependencies or nested dependencies with the same name will be resolved as the same dependency and deployed only once.
  • Other Breaking Changes:
  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore

New in DevSpace 6.0.0 Alpha 10 (Apr 8, 2022)

  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore

New in DevSpace 6.0.0 Alpha 9 (Apr 6, 2022)

  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore

New in DevSpace 6.0.0 Alpha 8 (Apr 5, 2022)

  • Removed Flags:
  • --deployments was removed, use pipeline logic instead
  • --skip-pipeline in devspace dev was removed, use pipeline logic instead
  • --verbose-dependencies and --skip-dependencies was removed and dependencies will be pulled every run
  • --interactive was removed from devspace dev, use pipeline logic instead
  • --parent-profile was removed, use multiple --profile flags instead
  • --restore-vars, --vars-secret and --save-vars was removed. Use vars.MY_VAR.remote: true instead
  • --verbose-sync was removed, use --debug instead
  • --exit-after-deploy, --terminal-reconnect, --portforwarding and --sync was removed
  • --wait, --timeout was removed, use pipeline logic instead
  • --container-path and --local-path were removed from devspace sync, please use --path instead
  • Other Breaking Changes:
  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore

New in DevSpace 6.0.0 Alpha 7 (Apr 1, 2022)

  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore
  • There are many other improvements and changes that went into this new DevSpace version. We'll release full exhaustive release notes soon.

New in DevSpace 6.0.0 Alpha 6 (Mar 31, 2022)

  • With v6 a new config version v2beta1 was introduced, that restructures many parts of the DevSpace config, such as deployments, dev, commands and vars. Older config versions are still supported and will be converted automatically in memory by DevSpace to this new version. To see how the old config got converted, run devspace print, which can be a starting point on how to convert your older DevSpace config.
  • Pipelines:
  • DevSpace used a declarative approach to define its dev, build, deploy and purge pipeline, however we felt most of it was hardcoded and difficult to change. We introduced hooks to make these pipelines more adjustable, however in many cases this was difficult to understand as the pipeline was still implicit and through hooks scattered around the devspace.yaml.
  • With DevSpace v6 we introduce a pipelines concept that allows you to override DevSpace default behaviour and create more dynamic and powerful pipelines compared to what DevSpace offers you as a default. These pipelines are written similar to github actions and DevSpace provides custom commands that allow you to build images, deploy deployments as well as stop and start development. This also allows you to define concurrency a lot easier, so from now on you can easily build, deploy or start development in parallel as you desire.
  • Example: Simple Procedural Pipeline
  • With pipelines you can decide if to use the declarative approach or define objects on the fly with the --set flag. A simple project that deploys an alpine container and then starts syncing to it can be purely written in the new pipeline form
  • Imports:
  • You want DRY config and we heard you! With imports you can now merge different devspace.yaml's together and define your variables, deployments, commands and pipelines in a single repository or file and import them into other projects through git, urls or local paths. With the new pipelines you can then define what images to build, what deployments to deploy and what dev configurations to start and stop
  • SSH & Proxy Commands:
  • It is now possible to let DevSpace setup an SSH connection as well as proxy certain commands from the local host to the container
  • Breaking Changes:
  • Removed Flags:
  • --deployments was removed, use pipeline logic instead
  • --skip-pipeline in devspace dev was removed, use pipeline logic instead
  • --verbose-dependencies and --skip-dependencies was removed and dependencies will be pulled every run
  • --interactive was removed from devspace dev, use pipeline logic instead
  • --parent-profile was removed, use multiple --profile flags instead
  • --restore-vars, --vars-secret and --save-vars was removed. Use vars.MY_VAR.remote: true instead
  • --verbose-sync was removed, use --debug instead
  • --exit-after-deploy, --terminal-reconnect, --portforwarding and --sync was removed
  • --wait, --timeout was removed, use pipeline logic instead
  • --container-path and --local-path were removed from devspace sync, please use --path instead
  • Removed dev.autoReload:
  • This functionality was removed from DevSpace and will be replaced in future by automatically reloading pipelines
  • DevSpace will no longer ask for undefined variables
  • If you are using a variable like this, DevSpace will not ask anymore for its value
  • Dependency names must be unique:
  • DevSpace determines which dependency was deployed now solely based on the name, so multiple dependencies or nested dependencies with the same name will be resolved as the same dependency and deployed only once.
  • Other Breaking Changes:
  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore

New in DevSpace 6.0.0 Alpha 3 (Mar 29, 2022)

  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore

New in DevSpace 6.0.0 Alpha 2 (Mar 25, 2022)

  • Pipelines:
  • DevSpace used a declarative approach to define its dev, build, deploy and purge pipeline, however we felt most of it was hardcoded and difficult to change. We introduced hooks to make these pipelines more adjustable, however in many cases this was difficult to understand as the pipeline was still implicit and through hooks scattered around the devspace.yaml.
  • With DevSpace v6 we introduce a pipelines concept that allows you to override DevSpace default behaviour and create more dynamic and powerful pipelines compared to what DevSpace offers you as a default. These pipelines are written similar to github actions and DevSpace provides custom commands that allow you to build images, deploy deployments as well as stop and start development. This also allows you to define concurrency a lot easier, so from now on you can easily build, deploy or start development in parallel as you desire.
  • Imports:
  • You want DRY config and we heard you! With imports you can now merge different devspace.yaml's together and define your variables, deployments, commands and pipelines in a single repository or file and import them into other projects through git, urls or local paths. With the new pipelines you can then define what images to build, what deployments to deploy and what dev configurations to start and stop
  • SSH & Proxy Commands:
  • It is now possible to let DevSpace setup an SSH connection as well as proxy certain commands from the local host to the container
  • With the configuration above you can run the following (proxyCommands also works with terminal or kubectl exec)
  • Breaking Changes:
  • DevSpace version 6 introduces some breaking changes to work efficiently with the new Pipelines feature. Almost all older devspace.yaml should still work as config is migrated automatically, however we removed some deprecated and older functionality that we felt is now either obsolete or unused.
  • Removed Flags:
  • --deployments was removed, use pipeline logic instead
  • --skip-pipeline in devspace dev was removed, use pipeline logic instead
  • --verbose-dependencies and --skip-dependencies was removed and dependencies will be pulled every run
  • --interactive was removed from devspace dev, use pipeline logic instead
  • --parent-profile was removed, use multiple --profile flags instead
  • --restore-vars, --vars-secret and --save-vars was removed. Use vars.MY_VAR.remote: true instead
  • --verbose-sync was removed, use --debug instead
  • --exit-after-deploy, --terminal-reconnect, --portforwarding and --sync was removed
  • --wait, --timeout was removed, use pipeline logic instead
  • --container-path and --local-path were removed from devspace sync, please use --path instead
  • Removed dev.autoReload:
  • This functionality was removed from DevSpace and will be replaced in future by automatically reloading pipelines
  • DevSpace will no longer ask for undefined variables
  • Dependency names must be unique:
  • DevSpace determines which dependency was deployed now solely based on the name, so multiple dependencies or nested dependencies with the same name will be resolved as the same dependency and deployed only once.
  • Other Breaking Changes:
  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore
  • Many other changes:
  • There are many other improvements and changes that went into this new DevSpace version. We'll release full exhaustive release notes soon.

New in DevSpace 6.0.0 Alpha 0 (Mar 22, 2022)

  • Pipelines:
  • DevSpace used a declarative approach to define its dev, build, deploy and purge pipeline, however we felt most of it was hardcoded and difficult to change. We introduced hooks to make these pipelines more adjustable, however in many cases this was difficult to understand as the pipeline was still implicit and through hooks scattered around the devspace.yaml.
  • With DevSpace v6 we introduce a pipelines concept that allows you to override DevSpace default behaviour and create more dynamic and powerful pipelines compared to what DevSpace offers you as a default. These pipelines are written similar to github actions and DevSpace provides custom commands that allow you to build images, deploy deployments as well as stop and start development. This also allows you to define concurrency a lot easier, so from now on you can easily build, deploy or start development in parallel as you desire.
  • Example - Simple Procedural Pipeline:
  • With pipelines you can decide if to use the declarative approach or define objects on the fly with the --set flag. A simple project that deploys an alpine container and then starts syncing to it can be purely written in the new pipeline form:
  • Example - Simple Declarative Pipeline:
  • As configurations get more complex, you probably want to reuse config or define it in a separate place, here the declarative approach makes sense that you can reference in your pipeline:
  • Imports:
  • You want DRY config and we heard you! With imports you can now merge different devspace.yaml's together and define your variables, deployments, commands and pipelines in a single repository or file and import them into other projects through git, urls or local paths. With the new pipelines you can then define what images to build, what deployments to deploy and what dev configurations to start and stop:
  • SSH & Proxy Commands:
  • It is now possible to let DevSpace setup an SSH connection as well as proxy certain commands from the local host to the container
  • Breaking Changes:
  • DevSpace version 6 introduces some breaking changes to work efficiently with the new Pipelines feature. Almost all older devspace.yaml should still work as config is migrated automatically, however we removed some deprecated and older functionality that we felt is now either obsolete or unused.
  • Removed Flags:
  • --deployments was removed, use pipeline logic instead
  • --skip-pipeline in devspace dev was removed, use pipeline logic instead
  • --verbose-dependencies and --skip-dependencies was removed and dependencies will be pulled every run
  • --interactive was removed from devspace dev, use pipeline logic instead
  • --parent-profile was removed, use multiple --profile flags instead
  • --restore-vars, --vars-secret and --save-vars was removed. Use vars.MY_VAR.remote: true instead
  • --verbose-sync was removed, use --debug instead
  • --exit-after-deploy, --terminal-reconnect, --portforwarding and --sync was removed
  • --wait, --timeout was removed, use pipeline logic instead
  • --container-path and --local-path were removed from devspace sync, please use --path instead
  • Removed dev.autoReload:
  • This functionality was removed from DevSpace and will be replaced in future by automatically reloading pipelines
  • DevSpace will no longer ask for undefined variables
  • Dependency names must be unique:
  • DevSpace determines which dependency was deployed now solely based on the name, so multiple dependencies or nested dependencies with the same name will be resolved as the same dependency and deployed only once.
  • Other Breaking Changes:
  • Removed devspace use profile instead use profile activation instead
  • Removed dependencies[*].skipBuild
  • Removed dev.sync[*].onDownload
  • Removed deployments[*].helm.driver, deployments[*].helm.deleteArgs, deployments[*].kubectl.deleteArgs and deployments[*].helm.path
  • Removed deployments[*].helm.v2
  • Dependencies are now purged after deployments are deleted instead of before
  • Variables in commands will be resolved by default now
  • devspace dev is not taking any arguments anymore

New in DevSpace 5.18.4 Beta 1 (Feb 11, 2022)

  • Fixed an issue where persistPaths was not correctly working in EKS clusters
  • Improved DevSpace output if the pod DevSpace waits for has a problem
  • New option deployments[*].concurrent that allows you to select deployments that should be deployed concurrently (thanks @erikkrieg @kuuji )
  • On linux or darwin systems, DevSpace will now update out of date file permissions on initial sync
  • Standardized image question for helm, kubectl and kustomizations deployments in devspace init
  • Fixed an issue where DevSpace init can generate configuration that leads to replace pods timeout

New in DevSpace 5.18.4 Beta 0 (Feb 7, 2022)

  • New option deployments[*].concurrent that allows you to select deployments that should be deployed concurrently (thanks @erikkrieg @kuuji )
  • On linux or darwin systems, DevSpace will now update out of date file permissions on initial sync
  • Standardized image question for helm, kubectl and kustomizations deployments in devspace init
  • Fixed an issue where DevSpace init can generate configuration that leads to replace pods timeout

New in DevSpace 5.18.3 (Feb 1, 2022)

  • Fixed an issue where DevSpace would change the generated.yaml in plugin or unrelated commands
  • Fixed an issue where volume shared was missing in DevSpace config (#1868)
  • Fixed an issue where DevSpace would print a log message during devspace completion (#1864)
  • Fixed an issue where DevSpace would prompt for a plugin defined variable (#1857)
  • Fixed an issue where DevSpace would include evicted pods in commands (#1880)
  • DevSpace will now run the dev.terminal.command locally if no dev.imageSelector and dev.labelSelector are defined

New in DevSpace 5.18.3 Pre-release (Feb 1, 2022)

  • Fixed an issue where DevSpace would change the generated.yaml in plugin or unrelated commands
  • Fixed an issue where volume shared was missing in DevSpace config (#1868)
  • Fixed an issue where DevSpace would print a log message during devspace completion (#1864)
  • Fixed an issue where DevSpace would prompt for a plugin defined variable (#1857)
  • Fixed an issue where DevSpace would include evicted pods in commands (#1880)
  • DevSpace will now run the dev.terminal.command locally if no dev.imageSelector and dev.labelSelector are defined

New in DevSpace 5.18.3 Beta 1 (Jan 31, 2022)

  • Fixed an issue where DevSpace would change the generated.yaml in plugin or unrelated commands
  • Fixed an issue where volume shared was missing in DevSpace config (#1868)
  • Fixed an issue where DevSpace would print a log message during devspace completion (#1864)
  • Fixed an issue where DevSpace would prompt for a plugin defined variable (#1857)
  • Fixed an issue where DevSpace would include evicted pods in commands (#1880)
  • DevSpace will now run the dev.terminal.command locally if no dev.imageSelector and dev.labelSelector are defined

New in DevSpace 5.18.3 Beta 0 (Jan 24, 2022)

  • Fixed an issue where volume shared was missing in DevSpace config (#1868)
  • Fixed an issue where DevSpace would print a log message during devspace completion (#1864)
  • Fixed an issue where DevSpace would prompt for a plugin defined variable (#1857)
  • DevSpace will now run the dev.terminal.command locally if no dev.imageSelector and dev.labelSelector are defined

New in DevSpace 5.18.2 (Jan 12, 2022)

  • Changes:
  • Fixed an issue where runtime variables would not work correctly in after:build:* hooks
  • Fixed an issue where DevSpace would deploy the same dependency multiple times (#1845)
  • devspace print will now also print the dependency tree
  • Modify patch path conversion to account for possible integer types
  • Removed the devspace help command as it collides with devspace plugin commands (#1841)
  • Fixed an issue where DevSpace would not allow variables in profile paths anymore (#1835)

New in DevSpace 5.18.2 Beta 0 (Jan 7, 2022)

  • Fixed an issue where DevSpace would deploy the same dependency multiple times (#1845)
  • devspace print will now also print the dependency tree
  • Modify patch path conversion to account for possible integer types
  • Removed the devspace help command as it collides with devspace plugin commands (#1841)
  • Fixed an issue where DevSpace would not allow variables in profile paths anymore (#1835)

New in DevSpace 5.18.1 (Dec 16, 2021)

  • Beta and alpha versions are now allowed for require constraints (#1826)
  • Fixed an issue where DevSpace would panic on devspace sync (#1818)
  • Fixed an issue where DevSpace throws an error of unknown flag with helm v2
  • Fixed an issue where DevSpace was getting Invalid memory address or nil pointer dereference while resolving cyclic dependency (#1818)
  • Fixed an issue where DevSpace would validate config expressions in helm values incorrectly (#1816)
  • Fixed an issue where DevSpace does not run in Alpine when installed via npm (#1185 thanks @tickeegreg)
  • Fixed an issue where DevSpace would not correctly install with npm / yarn
  • Updated k8s dependencies of DevSpace to v1.23.0

New in DevSpace 5.18.1 Beta 0 (Dec 16, 2021)

  • Changes:
  • Fixed an issue where DevSpace was getting Invalid memory address or nil pointer dereference while resolving cyclic dependency (#1818)
  • Fixed an issue where DevSpace would validate config expressions in helm values incorrectly (#1816)
  • Fixed an issue where DevSpace does not run in Alpine when installed via npm (#1185 thanks @tickeegreg)
  • Fixed an issue where DevSpace would not correctly install with npm / yarn
  • Updated k8s dependencies of DevSpace to v1.23.0

New in DevSpace 5.18.0 (Dec 15, 2021)

  • New Features:
  • Allow profiles to be defined by expressions:
  • profiles: $(cat profiles.yaml)
  • Allow items of profiles array to be defined by expressions:
  • profiles:
  • $(cat profile1.yaml)
  • Allow profile content to be defined by expressions:
  • profiles:
  • name: production
  • merge:
  • deployments: $(cat production.yaml)
  • Simplified custom builder commands:
  • images:
  • default:
  • image: myuser/image
  • build:
  • custom:
  • skipImageArg: true
  • command: |-
  • Also works on windows as this is executed in a golang shell
  • docker build -t ${runtime.images.default.image}:${runtime.images.default.tag} . -f custom/Dockerfile
  • onChange:
  • main.go
  • New options deployments.*.disabled, dependencies.*.disabled, pullSecrets.*.pullSecrets & hooks.*.disabled to make usage of those config areas easier to use with config expressions:
  • hooks:
  • name: load-into-kind
  • disabled: $( [ ${devspace.context} != "kind" ] && echo "true" || echo "false" )
  • command: |-
  • kind load docker-image ${runtime.images.app.image}:${runtime.images.app.tag}
  • events: ["before:deploy"]
  • New hook events before:resolveDependencies, after:resolveDependencies, error:resolveDependencies, before:buildDependencies, after:buildDependencies, error:buildDependencies, before:deployDependencies, after:deployDependencies, error:deployDependencies, before:purgeDependencies, after:purgeDependencies, error:purgeDependencies that also work for nested dependencies
  • DevSpace now detects docker-compose.yaml when running devspace init and provides an option to generate an initial devspace.yaml from docker compose
  • DevSpace now simulates docker compose volume behaviour by uploading local files to an init container with the relevant volumes mounted. Once uploads are complete the init container exits and the application continues as expected.
  • DevSpace now adds devspace.yaml configured commands to cobra command configuration and shows them in devspace --help and devspace run --help
  • Deprecated the -s flag and instead DevSpace will now ask if the Kube context or the namespace has changed
  • New --dependency flag for devspace print to show a loaded dependency config
  • New option deployments.helm.chart.git to deploy a helm chart from a git repository instead of helm registry
  • New option dev.replacePods.persistPaths.initConainter.resources to configure resources for the pre-populating init container (#1775)
  • Changes:
  • Renamed predefined variables to camelCase and using a .. The old predefined variable names can still be used, but are deprecated
  • DevSpace will now always try to list all helm releases in a namespace to find the correct deployment status (#1772)
  • DevSpace will now print by default why it is rebuilding an image
  • DevSpace will now print all filesystem events it receives for syncing files if --debug is specified and show if a file wasn't synced
  • Display stdout / stderr if downloading devspacehelper fails
  • Updated Helm v3 version that is downloaded if helm is not found (thanks @ragnarpa)
  • DevSpace will now use the replacePods[*].containerName if multiple containers are found within a replaced pod and no replacePods[*].persistPaths[*].containerName is defined
  • Improved sync change detection for folders
  • Improved logging why DevSpace is restarting sync or port-forwarding
  • Improved logging if DevSpace is waiting for a pod to become running
  • Fixes:
  • Fixed an issue where DevSpace would fail using new kubectl version v1.23 (#1813)
  • Fixed an issue where DevSpace would allow substring matches from activating profiles. For example: an expression test would match test123
  • Fixed an issue where DevSpace would hang starting the sync if a recursive symlink was found
  • Fixed an issue where sync exec name was not named correctly (#1789)
  • Fixed an issue where DevSpace would fail on arm64 systems during sync with too many files open (#1444)
  • Fixed an issue where DevSpace was showing dependency ids instead of names
  • Fixed an issue where DevSpace would create a failing pod if the persistence path would not exist in the target container
  • Fixed a nil pointer if replacing a path with an empty value (#1774)
  • Fixed an issue where devspace build would fail if there wasn't a valid kube context (thanks @wollowizard) (#1769)
  • Fixed an issue where DevSpace would use the wrong path for syncing (#1743)

New in DevSpace 5.18.0 RC 0 (Dec 14, 2021)

  • Profile Activation via DevSpace vars:
  • DevSpace now supports automatic profile activation via DevSpace variables. This allows you to auto activate profiles based on selected namespace, kube context or even custom commands
  • Runtime Variables:
  • Added runtime variables that are prefixed with ${runtime.} and replace the helper syntax image() and tag(). Those variables are useful to access certain runtime information, such as hook output or image tags, but can only be used in certain config areas that will be evaluated later on (such as deployments.*.helm.values)
  • New Features:
  • Allow profiles to be defined by expressions
  • Allow items of profiles array to be defined by expressions
  • Allow profile content to be defined by expressions
  • Simplified custom builder commands
  • New options deployments.*.disabled, dependencies.*.disabled, pullSecrets.*.pullSecrets & hooks.*.disabled to make usage of those config areas easier to use with config expressions
  • New hook events before:resolveDependencies, after:resolveDependencies, error:resolveDependencies, before:buildDependencies, after:buildDependencies, error:buildDependencies, before:deployDependencies, after:deployDependencies, error:deployDependencies, before:purgeDependencies, after:purgeDependencies, error:purgeDependencies that also work for nested dependencies
  • DevSpace now detects docker-compose.yaml when running devspace init and provides an option to generate an initial devspace.yaml from docker compose
  • DevSpace now simulates docker compose volume behaviour by uploading local files to an init container with the relevant volumes mounted. Once uploads are complete the init container exits and the application continues as expected.
  • DevSpace now adds devspace.yaml configured commands to cobra command configuration and shows them in devspace --help and devspace run --help
  • Deprecated the -s flag and instead DevSpace will now ask if the Kube context or the namespace has changed
  • New --dependency flag for devspace print to show a loaded dependency config
  • New option deployments.helm.chart.git to deploy a helm chart from a git repository instead of helm registry
  • New option dev.replacePods.persistPaths.initConainter.resources to configure resources for the pre-populating init container (#1775)
  • Changes:
  • Renamed predefined variables to camelCase and using a .. The old predefined variable names can still be used, but are deprecated
  • DevSpace will now always try to list all helm releases in a namespace to find the correct deployment status (#1772)
  • DevSpace will now print by default why it is rebuilding an image
  • DevSpace will now print all filesystem events it receives for syncing files if --debug is specified and show if a file wasn't synced
  • Display stdout / stderr if downloading devspacehelper fails
  • Updated Helm v3 version that is downloaded if helm is not found (thanks @ragnarpa)
  • DevSpace will now use the replacePods[*].containerName if multiple containers are found within a replaced pod and no replacePods[*].persistPaths[*].containerName is defined
  • Improved sync change detection for folders
  • Improved logging why DevSpace is restarting sync or port-forwarding
  • Improved logging if DevSpace is waiting for a pod to become running
  • Fixes:
  • Fixed an issue where DevSpace would fail using new kubectl version v1.23 (#1813)
  • Fixed an issue where DevSpace would allow substring matches from activating profiles. For example: an expression test would match test123
  • Fixed an issue where DevSpace would hang starting the sync if a recursive symlink was found
  • Fixed an issue where sync exec name was not named correctly (#1789)
  • Fixed an issue where DevSpace would fail on arm64 systems during sync with too many files open (#1444)
  • Fixed an issue where DevSpace was showing dependency ids instead of names
  • Fixed an issue where DevSpace would create a failing pod if the persistence path would not exist in the target container
  • Fixed a nil pointer if replacing a path with an empty value (#1774)
  • Fixed an issue where devspace build would fail if there wasn't a valid kube context (thanks @wollowizard) (#1769)
  • Fixed an issue where DevSpace would use the wrong path for syncing (#1743)

New in DevSpace 5.18.0 Beta 4 (Dec 7, 2021)

  • DevSpace now detects docker-compose.yaml when running devspace init and provides an option to generate an initial devspace.yaml from docker compose
  • DevSpace now simulates docker compose volume behaviour by uploading local files to an init container with the relevant volumes mounted. Once uploads are complete the init container exits and the application continues as expected.
  • DevSpace now adds devspace.yaml configured commands to cobra command configuration and shows them in devspace --help and devspace run --help
  • Deprecated the -s flag and instead DevSpace will now ask if the Kube context or the namespace has changed
  • New --dependency flag for devspace print to show a loaded dependency config
  • New option deployments.helm.chart.git to deploy a helm chart from a git repository instead of helm registry
  • New option dev.replacePods.persistPaths.initConainter.resources to configure resources for the pre-populating init container
  • DevSpace will now always try to list all helm releases in a namespace to find the correct deployment status
  • DevSpace will now print by default why it is rebuilding an image
  • DevSpace will now print all filesystem events it receives for syncing files if --debug is specified and show if a file wasn't synced
  • Display stdout / stderr if downloading devspacehelper fails
  • Updated Helm v3 version that is downloaded if helm is not found (thanks @ragnarpa)
  • DevSpace will now print by default why it is rebuilding an image
  • DevSpace will now use the replacePods[*].containerName if multiple containers are found within a replaced pod and no replacePods[*].persistPaths[*].containerName is defined
  • Improved sync change detection for folders
  • Fixed an issue where DevSpace would allow substring matches from activating profiles. For example: an expression test would match test123
  • Fixed an issue where DevSpace would hang starting the sync if a recursive symlink was found
  • Fixed an issue where sync exec name was not named correctly
  • Fixed an issue where DevSpace would fail on arm64 systems during sync with too many files open
  • Fixed an issue where DevSpace was showing dependency ids instead of names
  • Fixed an issue where DevSpace would create a failing pod if the persistence path would not exist in the target container
  • Fixed a nil pointer if replacing a path with an empty value
  • Fixed an issue where devspace build would fail if there wasn't a valid kube context (thanks @wollowizard)
  • Fixed an issue where DevSpace would use the wrong path for syncing

New in DevSpace 5.18.0 Beta 3 (Dec 7, 2021)

  • Changes:
  • DevSpace now detects docker-compose.yaml when running devspace init and provides an option to generate an initial devspace.yaml from docker compose
  • DevSpace now simulates docker compose volume behaviour by uploading local files to an init container with the relevant volumes mounted. Once uploads are complete the init container exits and the application continues as expected.
  • DevSpace now adds devspace.yaml configured commands to cobra command configuration and shows them in devspace --help and devspace run --help
  • Deprecated the -s flag and instead DevSpace will now ask if the Kube context or the namespace has changed
  • New --dependency flag for devspace print to show a loaded dependency config
  • New option deployments.helm.chart.git to deploy a helm chart from a git repository instead of helm registry
  • New option dev.replacePods.persistPaths.initConainter.resources to configure resources for the pre-populating init container (#1775)
  • DevSpace will now always try to list all helm releases in a namespace to find the correct deployment status (#1772)
  • DevSpace will now print by default why it is rebuilding an image
  • DevSpace will now print all filesystem events it receives for syncing files if --debug is specified and show if a file wasn't synced
  • Display stdout / stderr if downloading devspacehelper fails
  • Updated Helm v3 version that is downloaded if helm is not found (thanks @ragnarpa)
  • DevSpace will now print by default why it is rebuilding an image
  • DevSpace will now use the replacePods[*].containerName if multiple containers are found within a replaced pod and no replacePods[*].persistPaths[*].containerName is defined
  • Fixed an issue where sync exec name was not named correctly (#1789)
  • Fixed an issue where DevSpace would fail on arm64 systems during sync with too many files open (#1444)
  • Fixed an issue where DevSpace was showing dependency ids instead of names
  • Fixed an issue where DevSpace would create a failing pod if the persistence path would not exist in the target container
  • Fixed a nil pointer if replacing a path with an empty value (#1774)
  • Fixed an issue where devspace build would fail if there wasn't a valid kube context (thanks @wollowizard) (#1769)
  • Fixed an issue where DevSpace would use the wrong path for syncing (#1743)

New in DevSpace 5.18.0 Beta 1 (Nov 30, 2021)

  • Changes:
  • DevSpace now detects docker-compose.yaml when running devspace init and provides an option to generate an initial devspace.yaml from docker compose
  • DevSpace now simulates docker compose volume behaviour by uploading local files to an init container with the relevant volumes mounted. Once uploads are complete the init container exits and the application continues as expected.
  • Deprecated the -s flag and instead DevSpace will now ask if the Kube context or the namespace has changed
  • New option dev.replacePods.persistPaths.initConainter.resources to configure resources for the pre-populating init container (#1775)
  • DevSpace will now print by default why it is rebuilding an image
  • Display stdout / stderr if downloading devspacehelper fails
  • Updated Helm v3 version that is downloaded if helm is not found (thanks @ragnarpa)
  • New option dev.replacePods.persistPaths.initConainter.resources to configure resources for the pre-populating init container (#1775)
  • DevSpace will now print by default why it is rebuilding an image
  • Fixed an issue where DevSpace would fail on arm64 systems during sync with too many files open (#1444)
  • Fixed an issue where DevSpace was showing dependency ids instead of names
  • Fixed a nil pointer if replacing a path with an empty value (#1774)
  • Fixed an issue where devspace build would fail if there wasn't a valid kube context (thanks @wollowizard) (#1769)
  • Fixed an issue where DevSpace would use the wrong path for syncing (#1743)

New in DevSpace 5.18.0 Beta 0 (Nov 29, 2021)

  • DevSpace now detects docker-compose.yaml when running devspace init and provides an option to generate an initial devspace.yaml from docker compose
  • DevSpace now simulates docker compose volume behaviour by uploading local files to an init container with the relevant volumes mounted. Once uploads are complete the init container exits and the application continues as expected.
  • Deprecated the -s flag and instead DevSpace will now ask if the Kube context or the namespace has changed
  • New option dev.replacePods.persistPaths.initConainter.resources to configure resources for the pre-populating init container (#1775)
  • DevSpace will now print by default why it is rebuilding an image
  • Display stdout / stderr if downloading devspacehelper fails
  • Updated Helm v3 version that is downloaded if helm is not found (thanks @ragnarpa)
  • Fixed an issue where devspace build would fail if there wasn't a valid kube context (thanks @wollowizard) (#1769)
  • Fixed an issue where DevSpace would use the wrong path for syncing (#1743)

New in DevSpace 5.17.0 (Nov 11, 2021)

  • New option dev.replacePods[*].name to define a name for the replace pods configuration
  • New option dev.replacePods[*].persistenceOptions that allows you to define PVC options for the dev.replacePods[*].persistPaths feature
  • New flag --name for devspace restart to select a sync config
  • New option hooks[*].name to name hooks
  • Added support for Dockerfile.dockerignore
  • DevSpace will now ping the underlying connection during reverse port forwarding to detect hanging connections
  • DevSpace helper will now close automatically if multiple pings are missed
  • Improved initial sync startup time
  • DevSpace will now download and install kubectl or helm if those commands are used in a hook and not found locally
  • dev.replacePods are now replaced in parallel
  • dev.ports are now started in parallel
  • Fixed an issue where DevSpace would not rebuild even though the image would not be present in the local docker daemon
  • Removed Applied additional flags from environment message
  • Improved error message if no kube context was found
  • Improved config validation
  • Improved logging behaviour for dev.replacePods and dev.ports
  • Updated default kaniko version to v1.6.0
  • Added a warning for problematic exclude paths
  • Fixed an issue where klog v2 messages would be visible to the user
  • Fixed an issue where deployments[*].helm.timeout was a number instead of a string
  • Using devspace within a command or hook will now target the current executed binary
  • DevSpace will now try initially to download the devspacehelper in the container instead of uploading it (#1729)
  • Fixed an issue where DevSpace wouldn't sync files initially with newer timestamp locally
  • Improved local image lookup to consider all tags

New in DevSpace 5.17.0 Beta 11 (Nov 11, 2021)

  • Conditional Sync Commands:
  • New option dev.sync[*].onUpload.exec that allows you to define commands that are executed on certain file changes. DevSpace makes sure that these commands are only executed after initial sync has finished and before the container might be restarted.
  • Persistent Paths:
  • New option dev.replacePods[*].persistPaths that allows you to persist certain paths with PVCs within the replaced pod for quicker syncing.
  • Changes:
  • New option dev.replacePods[*].name to define a name for the replace pods configuration
  • New option dev.replacePods[*].persistenceOptions that allows you to define PVC options for the dev.replacePods[*].persistPaths feature
  • New flag --name for devspace restart to select a sync config
  • New option hooks[*].name to name hooks
  • Added support for Dockerfile.dockerignore
  • DevSpace will now ping the underlying connection during reverse port forwarding to detect hanging connections
  • DevSpace helper will now close automatically if multiple pings are missed
  • Improved initial sync startup time
  • DevSpace will now download and install kubectl or helm if those commands are used in a hook and not found locally
  • dev.replacePods are now replaced in parallel
  • dev.ports are now started in parallel
  • Fixed an issue where DevSpace would not rebuild even though the image would not be present in the local docker daemon
  • Removed Applied additional flags from environment message
  • Improved error message if no kube context was found
  • Improved config validation
  • Improved logging behaviour for dev.replacePods and dev.ports
  • Updated default kaniko version to v1.6.0; Added a warning for problematic exclude paths
  • Fixed an issue where klog v2 messages would be visible to the user
  • Fixed an issue where deployments[*].helm.timeout was a number instead of a string
  • Using devspace within a command or hook will now target the current executed binary
  • DevSpace will now try initially to download the devspacehelper in the container instead of uploading it (#1729)
  • Fixed an issue where DevSpace wouldn't sync files initially with newer timestamp locally
  • Improved local image lookup to consider all tags

New in DevSpace 5.17.0 Beta 10 (Nov 4, 2021)

  • New option dev.replacePods[*].name to define a name for the replace pods configuration
  • New option dev.replacePods[*].persistenceOptions that allows you to define PVC options for the dev.replacePods[*].persistPaths feature
  • New flag --name for devspace restart to select a sync config
  • New option hooks[*].name to name hooks
  • Added support for Dockerfile.dockerignore
  • DevSpace will now ping the underlying connection during reverse port forwarding to detect hanging connections
  • DevSpace helper will now close automatically if multiple pings are missed
  • Improved initial sync startup time
  • DevSpace will now download and install kubectl or helm if those commands are used in a hook and not found locally
  • dev.replacePods are now replaced in parallel
  • dev.ports are now started in parallel
  • Fixed an issue where DevSpace would not rebuild even though the image would not be present in the local docker daemon
  • Removed Applied additional flags from environment message
  • Improved error message if no kube context was found
  • Improved config validation
  • Improved logging behaviour for dev.replacePods and dev.ports
  • Updated default kaniko version to v1.6.0
  • Added a warning for problematic exclude paths
  • Fixed an issue where klog v2 messages would be visible to the user
  • Fixed an issue where deployments[*].helm.timeout was a number instead of a string
  • Using devspace within a command or hook will now target the current executed binary
  • DevSpace will now try initially to download the devspacehelper in the container instead of uploading it (#1729)
  • Fixed an issue where DevSpace wouldn't sync files initially with newer timestamp locally
  • Improved local image lookup to consider all tags

New in DevSpace 5.17.0 Beta 8 (Nov 1, 2021)

  • Conditional Sync Commands:
  • New option dev.sync[*].onUpload.exec that allows you to define commands that are executed on certain file changes. DevSpace makes sure that these commands are only executed after initial sync has finished and before the container might be restarted.
  • Persistent Paths:
  • New option dev.replacePods[*].persistPaths that allows you to persist certain paths with PVCs within the replaced pod for quicker syncing.
  • Changes:
  • New option dev.replacePods[*].name to define a name for the replace pods configuration
  • New option dev.replacePods[*].persistenceOptions that allows you to define PVC options for the dev.replacePods[*].persistPaths feature
  • New flag --name for devspace restart to select a sync config
  • New option hooks[*].name to name hooks
  • DevSpace will now ping the underlying connection during reverse port forwarding to detect hanging connections
  • DevSpace helper will now close automatically if multiple pings are missed
  • Improved initial sync startup time
  • DevSpace will now download and install kubectl or helm if those commands are used in a hook and not found locally
  • dev.replacePods are now replaced in parallel
  • dev.ports are now started in parallel
  • Fixed an issue where DevSpace would not rebuild even though the image would not be present in the local docker daemon
  • Removed Applied additional flags from environment message
  • Improved error message if no kube context was found
  • Improved config validation
  • Improved logging behaviour for dev.replacePods and dev.ports
  • Updated default kaniko version to v1.6.0; Added a warning for problematic exclude paths
  • Fixed an issue where klog v2 messages would be visible to the user
  • Fixed an issue where deployments[*].helm.timeout was a number instead of a string
  • Using devspace within a command or hook will now target the current executed binary
  • DevSpace will now try initially to download the devspacehelper in the container instead of uploading it (#1729)
  • Fixed an issue where DevSpace wouldn't sync files initially with newer timestamp locally
  • Improved local image lookup to consider all tags

New in DevSpace 5.17.0 Beta 7 (Oct 27, 2021)

  • Conditional Sync Commands:
  • New option dev.sync[*].onUpload.exec that allows you to define commands that are executed on certain file changes. DevSpace makes sure that these commands are only executed after initial sync has finished and before the container might be restarted.
  • Persistent Paths:
  • New option dev.replacePods[*].persistPaths that allows you to persist certain paths with PVCs within the replaced pod for quicker syncing.
  • Changes:
  • New option dev.replacePods[*].name to define a name for the replace pods configuration
  • New option dev.replacePods[*].persistenceOptions that allows you to define PVC options for the dev.replacePods[*].persistPaths feature
  • New flag --name for devspace restart to select a sync config
  • New option hooks[*].name to name hooks
  • DevSpace will now ping the underlying connection during reverse port forwarding to detect hanging connections
  • DevSpace helper will now close automatically if multiple pings are missed
  • Improved initial sync startup time
  • DevSpace will now download and install kubectl or helm if those commands are used in a hook and not found locally
  • dev.replacePods are now replaced in parallel
  • dev.ports are now started in parallel
  • Fixed an issue where DevSpace would not rebuild even though the image would not be present in the local docker daemon
  • Removed Applied additional flags from environment message
  • Improved error message if no kube context was found
  • Improved config validation
  • Improved logging behaviour for dev.replacePods and dev.ports
  • Updated default kaniko version to v1.6.0
  • Fixed an issue where deployments[*].helm.timeout was a number instead of a string
  • Using devspace within a command or hook will now target the current executed binary
  • DevSpace will now try initially to download the devspacehelper in the container instead of uploading it (#1729)
  • Fixed an issue where DevSpace wouldn't sync files initially with newer timestamp locally

New in DevSpace 5.17.0 Beta 6 (Oct 22, 2021)

  • Conditional Sync Commands:
  • New option dev.sync[*].onUpload.exec that allows you to define commands that are executed on certain file changes. DevSpace makes sure that these commands are only executed after initial sync has finished and before the container might be restarted.
  • Persistent Paths:
  • New option dev.replacePods[*].persistPaths that allows you to persist certain paths with PVCs within the replaced pod for quicker syncing.
  • New option dev.replacePods[*].name to define a name for the replace pods configuration
  • New option dev.replacePods[*].persistenceOptions that allows you to define PVC options for the dev.replacePods[*].persistPaths feature
  • New flag --name for devspace restart to select a sync config
  • New option hooks[*].name to name hooks
  • DevSpace will now ping the underlying connection during reverse port forwarding to detect hanging connections
  • DevSpace helper will now close automatically if multiple pings are missed
  • DevSpace will now download and install kubectl or helm if those commands are used in a hook and not found locally
  • dev.replacePods are now replaced in parallel
  • dev.ports are now started in parallel
  • Fixed an issue where DevSpace would not rebuild even though the image would not be present in the local docker daemon
  • Removed Applied additional flags from environment message
  • Improved error message if no kube context was found
  • Improved config validation
  • Improved logging behaviour for dev.replacePods and dev.ports
  • Updated default kaniko version to v1.6.0
  • Fixed an issue where deployments[*].helm.timeout was a number instead of a string
  • Using devspace within a command or hook will now target the current executed binary
  • DevSpace will now try initially to download the devspacehelper in the container instead of uploading it (#1729)
  • Fixed an issue where DevSpace wouldn't sync files initially with newer timestamp locally

New in DevSpace 5.17.0 Beta 5 (Oct 20, 2021)

  • New option dev.replacePods[*].name to define a name for the replace pods configuration
  • New option dev.replacePods[*].persistenceOptions that allows you to define PVC options for the dev.replacePods[*].persistPaths feature
  • New flag --name for devspace restart to select a sync config
  • New option hooks[*].name to name hooks
  • DevSpace will now ping the underlying connection during reverse port forwarding to detect hanging connections
  • DevSpace helper will now close automatically if multiple pings are missed
  • DevSpace will now download and install kubectl or helm if those commands are used in a hook and not found locally
  • dev.replacePods are now replaced in parallel
  • dev.ports are now started in parallel
  • Fixed an issue where DevSpace would not rebuild even though the image would not be present in the local docker daemon
  • Removed Applied additional flags from environment in devspace run commands
  • Improved error message if no kube context was found
  • Improved config validation
  • Improved logging behaviour for dev.replacePods and dev.ports
  • Updated default kaniko version to v1.6.0
  • Fixed an issue where deployments[*].helm.timeout was a number instead of a string
  • Using devspace within a command or hook will now target the current executed binary
  • DevSpace will now try initially to download the devspacehelper in the container instead of uploading it
  • Conditional Sync Commands:
  • New option dev.sync[*].onUpload.exec that allows you to define commands that are executed on certain file changes. DevSpace makes sure that these commands are only executed after initial sync has finished and before the container might be restarted.
  • Persistent Paths:
  • New option dev.replacePods[*].persistPaths that allows you to persist certain paths with PVCs within the replaced pod for quicker syncing.

New in DevSpace 5.17.0 Beta 4 (Oct 12, 2021)

  • New option dev.replacePods[*].name to define a name for the replace pods configuration
  • New option dev.replacePods[*].persistenceOptions that allows you to define PVC options for the dev.replacePods[*].persistPaths feature
  • New flag --name for devspace restart to select a sync config
  • New option hooks[*].name to name hooks
  • DevSpace will now ping the underlying connection during reverse port forwarding to detect hanging connections
  • DevSpace helper will now close automatically if multiple pings are missed
  • DevSpace will now download and install kubectl or helm if those commands are used in a hook and not found locally
  • dev.replacePods are now replaced in parallel
  • dev.ports are now started in parallel
  • Fixed an issue where DevSpace would not rebuild even though the image would not be present in the local docker daemon
  • Removed Applied additional flags from environment in devspace run commands
  • Improved error message if no kube context was found
  • Improved config validation
  • Improved logging behaviour for dev.replacePods and dev.ports
  • Updated default kaniko version to v1.6.0
  • Conditional Sync Commands:
  • New option dev.sync[*].onUpload.exec that allows you to define commands that are executed on certain file changes. DevSpace makes sure that these commands are only executed after initial sync has finished and before the container might be restarted.
  • Persistent Paths:
  • New option dev.replacePods[*].persistPaths that allows you to persist certain paths with PVCs within the replaced pod for quicker syncing.

New in DevSpace 5.17.0 Beta 1 (Oct 6, 2021)

  • Conditional Sync Commands:
  • New option dev.sync[*].onUpload.exec that allows you to define commands that are executed on certain file changes. DevSpace makes sure that these commands are only executed after initial sync has finished and before the container might be restarted.
  • Changes:
  • New option dev.replacePods[*].name to define a name for the replace pods configuration
  • New option dev.replacePods[*].persistenceOptions that allows you to define PVC options for the dev.replacePods[*].persistPaths feature
  • New flag --name for devspace restart to select a sync config
  • DevSpace will now download and install kubectl or helm if those commands are used in a hook and not found locally
  • dev.replacePods are now replaced in parallel
  • dev.ports are now started in parallel
  • Removed Applied additional flags from environment in devspace run commands
  • Improved error message if no kube context was found
  • Improved config validation
  • Improved logging behaviour for dev.replacePods and dev.ports
  • Updated default kaniko version to v1.6.0

New in DevSpace 5.17.0 Beta 0 (Oct 6, 2021)

  • Conditional Sync Commands:
  • New option dev.sync[*].onUpload.exec that allows you to define commands that are executed on certain file changes. DevSpace makes sure that these commands are only executed after initial sync has finished and before the container might be restarted.
  • Persistent Paths:
  • New option dev.replacePods[*].persistPaths that allows you to persist certain paths with PVCs within the replaced pod for quicker syncing.
  • Changes:
  • New option dev.replacePods[*].name to define a name for the replace pods configuration
  • New option dev.replacePods[*].persistenceOptions that allows you to define PVC options for the dev.replacePods[*].persistPaths feature
  • New flag --name for devspace restart to select a sync config
  • DevSpace will now download and install kubectl or helm if those commands are used in a hook and not found locally
  • dev.replacePods are now replaced in parallel
  • dev.ports are now started in parallel
  • Fixed an issue where the port-forwarder would restart too often
  • Fixed an issue where the reverse port forwarder would sometimes not restart correctly
  • New option images.build.kaniko.tolerations to define tolerations for the kaniko pod
  • Added support for config expressions that include a cat command for windows users, e.g. $(cat deployment.yaml)
  • Fixed an issue where hooks[*].when.onError hooks in config version v1beta10 would get not converted correctly (#1681)
  • Fixed an issue where DevSpace would create kaniko pods from other DevSpace instances in the same namespace during cleanup (#1700)
  • Removed Applied additional flags from environment in devspace run commands
  • Improved error message if no kube context was found
  • Improved config validation
  • Improved logging behaviour for dev.replacePods and dev.ports
  • Updated default kaniko version to v1.6.0

New in DevSpace 5.16.1 Beta 1 (Oct 4, 2021)

  • Fixed an issue where the port-forwarder would restart too often
  • Fixed an issue where the reverse port forwarder would sometimes not restart correctly
  • New option images.build.kaniko.tolerations to define tolerations for the kaniko pod
  • Added support for config expressions that include a cat command for windows users, e.g. $(cat deployment.yaml)
  • Fixed an issue where hooks[*].when.onError hooks in config version v1beta10 would get not converted correctly (#1681)
  • Improved config validation

New in DevSpace 5.16.1 Beta 0 (Sep 29, 2021)

  • Fixed an issue where the port-forwarder would restart too often
  • Fixed an issue where the reverse port forwarder would sometimes not restart correctly
  • New option images.build.kaniko.tolerations to define tolerations for the kaniko pod
  • Added support for config expressions that include a cat command for windows users, e.g. $(cat deployment.yaml)
  • Fixed an issue where hooks[*].when.onError hooks in config version v1beta10 would get not converted correctly (#1681)

New in DevSpace 5.16.0 Beta 3 (Sep 23, 2021)

  • Config Expressions:
  • Config expressions are a powerful feature to load the devspace.yaml in a more dynamic way. A config expression works by specifying $( my bash expression ) instead of a field and the stdout of the bash expression is taken as value instead.
  • Load a deployment specification from file:
  • deployments:
  • $(cat deployment.yaml)
  • Change config based on devspace variables:
  • deployments:
  • Inline if-else
  • $( [ ${DEVSPACE_NAMESPACE} == "test" ] && cat deployment.yaml || echo "" )
  • Multiline if-else
  • if [ ${DEVSPACE_CONTEXT} == "minikube" ]; then
  • cat minikube.yaml
  • else
  • echo ""
  • Generate a complete section
  • dev: $(./my-script.sh ${DEVSPACE_NAMESPACE} ${DEVSPACE_CONTEXT} ${DEVSPACE_PROFILE})
  • Return JSON
  • images:
  • test:
  • image: my-image/image
  • build: '$( echo {"disabled": true} )'
  • New config version v1beta11:
  • Removed imageName as selector, please use imageSelector: image(name):tag(name) instead
  • Removed dev.logs.images, please use dev.logs.selectors instead
  • Renamed hooks.where.container to hooks.container
  • commands.appendArgs now defaults to false
  • dependencies[*].overrideVars now defaults to false
  • Renamed hooks.when to hooks.events, which is a string array now that supports the following events:
  • before:deploy, after:deploy, before:deploy:[name], after:deploy:[name], error:deploy:[name], skip:deploy:[name]: executed while DevSpace deploys deployments. [name] can be replaced with the config name of a deployment or * to match all.
  • before:render, after:render, before:render:[name], after:render:[name], error:render:[name]: executed while DevSpace renders deployments during devspace render. [name] can be replaced with the config name of a deployment or * to match all.
  • before:purge, after:purge, before:purge:[name], after:purge:[name], error:purge:[name]: executed while DevSpace purges deployments during devspace purge. [name] can be replaced with the config name of a deployment or * to match all.
  • before:build, after:build, before:build:[name], after:build:[name], error:build:[name], skip:build:[name]: executed while DevSpace builds images. [name] can be replaced with the config name of an image or * to match all.
  • start:sync:[name], stop:sync:[name], error:sync:[name], restart:sync:[name], before:initialSync:[name], after:initialSync:[name], error:initialSync:[name]: executed while DevSpace syncs files with dev.sync. [name] can be replaced with the config name of a sync configuration or * to match all.
  • start:portForwarding:[name], restart:portForwarding:[name], error:portForwarding:[name], stop:portForwarding:[name]: executed while DevSpace port forwards with dev.ports. [name] can be replaced with the config name of a port forwarding configuration or * to match all.
  • start:reversePortForwarding:[name], restart:reversePortForwarding:[name], error:reversePortForwarding:[name], stop:reversePortForwarding:[name]: executed while DevSpace reverse port forwards with dev.ports. [name] can be replaced with the config name of a port forwarding configuration or * to match all.
  • before:createPullSecrets, after:createPullSecrets, error:createPullSecrets: executed while DevSpace creates pullSecrets
  • devCommand:before:execute, devCommand:after:execute, devCommand:error, devCommand:interrupt, devCommand:before:sync, devCommand:after:sync, devCommand:before:portForwarding, devCommand:after:portForwarding, devCommand:before:replacePods, devCommand:after:replacePods, devCommand:before:runPipeline, devCommand:after:runPipeline, devCommand:before:deployDependencies, devCommand:after:deployDependencies, devCommand:before:build, devCommand:after:build, devCommand:before:deploy, devCommand:after:deploy, devCommand:before:openTerminal, devCommand:before:streamLogs: executed at certain lifecycle events during the devspace dev command
  • deployCommand:before:execute, deployCommand:after:execute, deployCommand:error, deployCommand:interrupt executed at different checkpoints when devspace deploy is executed
  • purgeCommand:before:execute, purgeCommand:after:execute, purgeCommand:error, purgeCommand:interrupt executed at different checkpoints when devspace purge is executed
  • buildCommand:before:execute, buildCommand:after:execute, buildCommand:error, buildCommand:interrupt executed at different checkpoints when devspace build is executed
  • Wildcard and filter paths for patches:
  • It is now possible to use filter paths and wildcards in profile & pod patches. For example:
  • images:
  • backend:
  • image: john/devbackend
  • backend-debugger:
  • image: john/debugger
  • deployments:
  • name: backend
  • helm:
  • componentChart: true
  • values:
  • containers:
  • image: john/devbackend
  • image: john/debugger
  • profiles:
  • name: staging
  • patches:
  • op: replace
  • path: ..[?(@.image=='john/devbackend')].image
  • value: john/stagingbackend
  • op: remove
  • path: deployments..[?(@.image=='john/debugger')]
  • For more informations take a look at the docs.
  • Other Changes:
  • You can now use image(default) and tag(default) in hook commands and args:
  • images:
  • test:
  • image: test/test
  • hooks:
  • command: |-
  • ./custom-script image(test):tag(test) # -> Transformed to ./custom-script test/test:#####
  • when:
  • after:
  • images: all
  • Added new option hooks[*].container.once that will execute remote container command hooks only once during the lifetime of a container
  • DevSpace will now use a replica set instead of single pod as pod replacement
  • DevSpace will now set the statefulsets pod name as hostname in the replaced pods
  • DevSpace will now also write sync logs to .devspace/logs/sync.log even if shown in terminal
  • DevSpace will now try to restart the terminal if an unexpected exit code occurred during devspace dev. Can be disabled via the flag --terminal-reconnect=false
  • New flag --reconnect for command devspace enter to restart the terminal if an unexpected exit code was encountered
  • New flag --image-selector for commands devspace enter, devspace logs & devspace attach
  • Fixed an issue where pathType was not automatically set for newer ingress versions
  • Fixed an issue where namespace and context were wrong in UI commands
  • Fixed an issue where replacing pods with the same image selector across different devspace.yaml would target the same pods (#1633)
  • Renamed plugin hook names to match config hook names
  • Improved port forwarding & reverse port forwarding logging
  • Fixed an issue where paths that include a symlink would not sync correctly

New in DevSpace 5.16.0 Beta 2 (Sep 20, 2021)

  • Config Expressions:
  • Config expressions are a powerful feature to load the devspace.yaml in a more dynamic way. A config expression works by specifying $( my bash expression ) instead of a field and the stdout of the bash expression is taken as value instead.
  • Load a deployment specification from file:
  • deployments:
  • $(cat deployment.yaml)
  • Change config based on devspace variables:
  • deployments:
  • Inline if-else
  • $( [ ${DEVSPACE_NAMESPACE} == "test" ] && cat deployment.yaml || echo "" )
  • Multiline if-else
  • if [ ${DEVSPACE_CONTEXT} == "minikube" ]; then
  • cat minikube.yaml
  • else
  • echo ""
  • Generate a complete section
  • dev: $(./my-script.sh ${DEVSPACE_NAMESPACE} ${DEVSPACE_CONTEXT} ${DEVSPACE_PROFILE})
  • Return JSON:
  • images:
  • test:
  • image: my-image/image
  • build: '$( echo {"disabled": true} )'
  • New config version v1beta11:
  • Removed imageName as selector, please use imageSelector: image(name):tag(name) instead
  • Removed dev.logs.images, please use dev.logs.selectors instead
  • Renamed hooks.where.container to hooks.container
  • commands.appendArgs now defaults to false
  • dependencies[*].overrideVars now defaults to false
  • Renamed hooks.when to hooks.events, which is a string array now that supports the following events:
  • before:deploy, after:deploy, before:deploy:[name], after:deploy:[name], error:deploy:[name], skip:deploy:[name]: executed while DevSpace deploys deployments. [name] can be replaced with the config name of a deployment or * to match all.
  • before:render, after:render, before:render:[name], after:render:[name], error:render:[name]: executed while DevSpace renders deployments during devspace render. [name] can be replaced with the config name of a deployment or * to match all.
  • before:purge, after:purge, before:purge:[name], after:purge:[name], error:purge:[name]: executed while DevSpace purges deployments during devspace purge. [name] can be replaced with the config name of a deployment or * to match all.
  • before:build, after:build, before:build:[name], after:build:[name], error:build:[name], skip:build:[name]: executed while DevSpace builds images. [name] can be replaced with the config name of an image or * to match all.
  • start:sync:[name], stop:sync:[name], error:sync:[name], restart:sync:[name], before:initialSync:[name], after:initialSync:[name], error:initialSync:[name]: executed while DevSpace syncs files with dev.sync. [name] can be replaced with the config name of a sync configuration or * to match all.
  • start:portForwarding:[name], restart:portForwarding:[name], error:portForwarding:[name], stop:portForwarding:[name]: executed while DevSpace port forwards with dev.ports. [name] can be replaced with the config name of a port forwarding configuration or * to match all.
  • start:reversePortForwarding:[name], restart:reversePortForwarding:[name], error:reversePortForwarding:[name], stop:reversePortForwarding:[name]: executed while DevSpace reverse port forwards with dev.ports. [name] can be replaced with the config name of a port forwarding configuration or * to match all.
  • before:createPullSecrets, after:createPullSecrets, error:createPullSecrets: executed while DevSpace creates pullSecrets
  • devCommand:before:execute, devCommand:after:execute, devCommand:error, devCommand:interrupt, devCommand:before:sync, devCommand:after:sync, devCommand:before:portForwarding, devCommand:after:portForwarding, devCommand:before:replacePods, devCommand:after:replacePods, devCommand:before:runPipeline, devCommand:after:runPipeline, devCommand:before:deployDependencies, devCommand:after:deployDependencies, devCommand:before:build, devCommand:after:build, devCommand:before:deploy, devCommand:after:deploy, devCommand:before:openTerminal, devCommand:before:streamLogs: executed at certain lifecycle events during the devspace dev command
  • deployCommand:before:execute, deployCommand:after:execute, deployCommand:error, deployCommand:interrupt executed at different checkpoints when devspace deploy is executed
  • purgeCommand:before:execute, purgeCommand:after:execute, purgeCommand:error, purgeCommand:interrupt executed at different checkpoints when devspace purge is executed
  • buildCommand:before:execute, buildCommand:after:execute, buildCommand:error, buildCommand:interrupt executed at different checkpoints when devspace build is executed
  • Wildcard and filter paths for patches:
  • It is now possible to use filter paths and wildcards in profile & pod patches. For example:
  • images:
  • backend:
  • image: john/devbackend
  • backend-debugger:
  • image: john/debugger
  • deployments:
  • name: backend
  • helm:
  • componentChart: true
  • values:
  • containers:
  • image: john/devbackend
  • image: john/debugger
  • profiles:
  • name: staging
  • patches:
  • op: replace
  • path: ..[?(@.image=='john/devbackend')].image
  • value: john/stagingbackend
  • op: remove
  • path: deployments..[?(@.image=='john/debugger')]
  • For more informations take a look at the docs.
  • Other Changes:
  • You can now use image(default) and tag(default) in hook commands and args:
  • images:
  • test:
  • image: test/test
  • hooks:
  • command: |-
  • ./custom-script image(test):tag(test) # -> Transformed to ./custom-script test/test:#####
  • when:
  • after:
  • images: all
  • DevSpace will now use a replica set instead of single pod as pod replacement
  • DevSpace will now try to restart the terminal if a non-zero exit code occurred during devspace dev. Can be disabled via the flag --terminal-restart=false
  • New flag --restart for command devspace enter to restart the terminal if a non-zero exit code was encountered
  • New flag --image-selector for commands devspace enter, devspace logs & devspace attach
  • Fixed an issue where pathType was not automatically set for newer ingress versions
  • Fixed an issue where namespace and context were wrong in UI commands
  • Fixed an issue where replacing pods with the same image selector across different devspace.yaml would target the same pods (#1633)
  • Renamed plugin hook names to match config hook names
  • Fixed an issue where paths that include a symlink would not sync correctly

New in DevSpace 5.16.0 Beta 1 (Sep 20, 2021)

  • New config version v1beta11:
  • Removed imageName as selector, please use imageSelector: image(name):tag(name) instead
  • Removed dev.logs.images, please use dev.logs.selectors instead
  • Renamed hooks.where.container to hooks.container
  • commands.appendArgs now defaults to false
  • dependencies[*].overrideVars now defaults to false
  • Renamed hooks.when to hooks.events, which is a string array now that supports the following events:
  • Wildcard and filter paths for patches:
  • It is now possible to use filter paths and wildcards in profile & pod patches.
  • Other Changes:
  • You can now use image(default) and tag(default) in hook commands and args:
  • DevSpace will now use a replica set instead of single pod as pod replacement
  • DevSpace will now try to restart the terminal if a non-zero exit code occurred during devspace dev. Can be disabled via the flag --terminal-restart=false
  • New flag --restart for command devspace enter to restart the terminal if a non-zero exit code was encountered
  • New flag --image-selector for commands devspace enter, devspace logs & devspace attach
  • Fixed an issue where pathType was not automatically set for newer ingress versions
  • Fixed an issue where namespace and context were wrong in UI commands
  • Fixed an issue where replacing pods with the same image selector across different devspace.yaml would target the same pods (#1633)
  • Renamed plugin hook names to match config hook names
  • Fixed an issue where paths that include a symlink would not sync correctly

New in DevSpace 5.16.0 Alpha 0 (Sep 10, 2021)

  • Config Expressions
  • Config expressions are a powerful feature to load the devspace.yaml in a more dynamic way. A config expression works by specifying $( my bash expression ) instead of a field and the stdout of the bash expression is taken as value for the option or complete section.
  • Other Changes:
  • You can now use image(default) and tag(default) in hook commands and args.
  • New flag --image-selector for commands devspace enter, devspace logs & devspace attach
  • Fixed an issue where pathType was not automatically set for newer ingress versions
  • Fixed an issue where namespace and context were wrong in UI commands
  • Fixed an issue where replacing pods with the same image selector across devspace.yaml would target the same pods (#1633)

New in DevSpace 5.15.0 (Sep 4, 2021)

  • New Features:
  • Flag --profile can now be used multiple times to apply several profiles, flag --profile-parent is now deprecated
  • New option profiles[*].activate to automatically activate profiles based on environment variables
  • Added a lot of new plugin hooks (see devspace docs for more information)
  • New global flag --disable-profile-activation to disable automatic activation of profiles
  • New option dependencies[*].disableProfileActivation for dependencies to disable automatic activation of profiles in dependencies
  • New dev.logs.selectors[*].imageSelector option to select images that should be logged by image name
  • New excludeFile, downloadExcludeFile, and uploadExclude options for loading exclude paths from files using .gitignore syntax (#1562)
  • DevSpace will now run remote hook commands in a remote shell if no args are specified. For example this is now possible:
  • hooks:
  • command: |
  • echo 123
  • echo 456
  • echo 789
  • where:
  • container:
  • imageSelector: my-image
  • when:
  • after:
  • deployments: all
  • New hooks[*].when.before.initialSync and hooks[*].when.after.initialSync that executes a hook after or before a certain sync configuration's initial sync has started
  • New option name for dev.sync and dev.ports. This can be used as a steady identifier when using profile patches or initial sync hooks. (#1577)
  • New option noCache for variables that disables caching of variable input
  • New option dependencies[*].dev.replacePods to enable replace pods from dependencies
  • New flag --skip-dependency for devspace build, devspace dev, devspace purge, devspace deploy & devspace render
  • New option commands[*].appendArgs to prevent DevSpace from automatically appending arguments to a command (#1598)
  • Fixes:
  • Fixed an issue where devspace sync would exit immediately after initial sync and hooks
  • Fixed an issue where updating the local init language repository could fail during devspace init
  • Fixed an issue where devspace sync --config ... would use the current directory as base path instead of the config directory
  • Fixed an issue where using relative paths for plugin installation would fail
  • Fixed an issue where the sync would skip to upload files initially that were newer on the remote side
  • Fixed a problem where DevSpace's helper would show devspace-restart-helper in log messages
  • Fixed an issue where the image selector would sometimes look wrong
  • Fixed an issue where the sync watcher would exclude paths if the initial stat of them has failed
  • Fixed an issue where DevSpace would get stuck uploading or downloading files that would change frequently (#1576)
  • Fixed an issue where http was hardcoded as target domain in DevSpace UI (#1574)
  • Fixed an issue where multiple devspace.yaml in the same folder would lead to unwanted shared caches
  • Fixed an issue where excluding files on linux operating systems would also exclude files for other sync paths (#1595)
  • Fixed an issue where log streaming would terminate unexpectedly (#1596)
  • Fixed an issue where using $@, $# or $0 etc. in commands would not work correctly (#1598)
  • Other:
  • Updated the ktunnel reverse port forwarding code
  • Improved waiting output of DevSpace running in a pipeline
  • Removed the color red from the log streaming color palette to avoid confusion with errors (#1583)
  • Sync will now compare crc32 hashes initially for files that might not be needed to get synced
  • Updated component chart to v0.8.1

New in DevSpace 5.15.0 Beta 4 (Sep 3, 2021)

  • New Features:
  • New option profiles[*].activate to automatically activate profiles based on environment variables
  • Added a lot of new plugin hooks (see devspace docs for more information)
  • New global flag --disable-profile-activation to disable automatic activation of profiles
  • New option dependencies[*].disableProfileActivation for dependencies to disable automatic activation of profiles in dependencies
  • New dev.logs.selectors[*].imageSelector option to select images that should be logged by image name
  • New excludeFile, downloadExcludeFile, and uploadExclude options for loading exclude paths from files using .gitignore syntax (#1562)
  • DevSpace will now run remote hook commands in a remote shell if no args are specified. For example this is now possible:
  • hooks:
  • command: |
  • echo 123
  • echo 456
  • echo 789
  • where:
  • container:
  • imageSelector: my-image
  • when:
  • after:
  • deployments: all
  • New hooks[*].when.before.initialSync and hooks[*].when.after.initialSync that executes a hook after or before a certain sync configuration's initial sync has started
  • New option name for dev.sync and dev.ports. This can be used as a steady identifier when using profile patches or initial sync hooks. (#1577)
  • New option noCache for variables that disables caching of variable input
  • New option dependencies[*].dev.replacePods to enable replace pods from dependencies
  • New flag --skip-dependency for devspace build, devspace dev, devspace purge, devspace deploy & devspace render
  • New option commands[*].appendArgs to prevent DevSpace from automatically appending arguments to a command (#1598)
  • Fixes:
  • Fixed an issue where devspace sync would exit immediately after initial sync and hooks
  • Fixed an issue where updating the local init language repository could fail during devspace init
  • Fixed an issue where devspace sync --config ... would use the current directory as base path instead of the config directory
  • Fixed an issue where using relative paths for plugin installation would fail
  • Fixed an issue where the sync would skip to upload files initially that were newer on the remote side
  • Fixed a problem where DevSpace's helper would show devspace-restart-helper in log messages
  • Fixed an issue where the image selector would sometimes look wrong
  • Fixed an issue where the sync watcher would exclude paths if the initial stat of them has failed
  • Fixed an issue where DevSpace would get stuck uploading or downloading files that would change frequently (#1576)
  • Fixed an issue where http was hardcoded as target domain in DevSpace UI (#1574)
  • Fixed an issue where multiple devspace.yaml in the same folder would lead to unwanted shared caches
  • Fixed an issue where excluding files on linux operating systems would also exclude files for other sync paths (#1595)
  • Fixed an issue where log streaming would terminate unexpectedly (#1596)
  • Fixed an issue where using $@, $# or $0 etc. in commands would not work correctly (#1598)
  • Other:
  • Updated the ktunnel reverse port forwarding code
  • Improved waiting output of DevSpace running in a pipeline
  • Removed the color red from the log streaming color palette to avoid confusion with errors (#1583)
  • Sync will now compare crc32 hashes initially for files that might not be needed to get synced
  • Updated component chart to v0.8.1

New in DevSpace 5.15.0 Beta 3 (Sep 1, 2021)

  • New Features:
  • New option profiles[*].activate to automatically activate profiles based on environment variables
  • New global flag --disable-profile-activation to disable automatic activation of profiles
  • New option dependencies[*].disableProfileActivation for dependencies to disable automatic activation of profiles in dependencies
  • New dev.logs.selectors[*].imageSelector option to select images that should be logged by image name
  • DevSpace will now run remote hook commands in a remote shell if no args are specified. For example this is now possible:
  • New hooks[*].when.before.initialSync and hooks[*].when.after.initialSync that executes a hook after or before a certain sync configuration's initial sync has started
  • New option name for dev.sync and dev.ports. This can be used as a steady identifier when using profile patches or initial sync hooks. (#1577)
  • New option noCache for variables that disables caching of variable input
  • New option dependencies[*].dev.replacePods to enable replace pods from dependencies
  • New flag --skip-dependency for devspace build, devspace dev, devspace purge, devspace deploy & devspace render
  • New option commands[*].appendArgs to prevent DevSpace from automatically appending arguments to a command (#1598)
  • Fixes:
  • Fixed an issue where devspace sync --config ... would use the current directory as base path instead of the config directory
  • Fixed an issue where using relative paths for plugin installation would fail
  • Fixed an issue where the sync would skip to upload files initially that were newer on the remote side
  • Fixed a problem where DevSpace's helper would show devspace-restart-helper in log messages
  • Fixed an issue where the image selector would sometimes look wrong
  • Fixed an issue where the sync watcher would exclude paths if the initial stat of them has failed
  • Fixed an issue where DevSpace would get stuck uploading or downloading files that would change frequently (#1576)
  • Fixed an issue where http was hardcoded as target domain in DevSpace UI (#1574)
  • Fixed an issue where multiple devspace.yaml in the same folder would lead to unwanted shared caches
  • Fixed an issue where excluding files on linux operating systems would also exclude files for other sync paths (#1595)
  • Fixed an issue where log streaming would terminate unexpectedly (#1596)
  • Fixed an issue where using $@, $# or $0 etc. in commands would not work correctly (#1598)
  • Other:
  • Improved waiting output of DevSpace running in a pipeline
  • Removed the color red from the log streaming color palette to avoid confusion with errors (#1583)
  • Sync will now compare crc32 hashes initially for files that might not be needed to get synced
  • Updated component chart to v0.8.1

New in DevSpace 5.15.0 Beta 2 (Aug 27, 2021)

  • New Features:
  • New dev.logs.selectors[*].imageSelector option to select images that should be logged by image name
  • DevSpace will now run remote hook commands in a remote shell if no args are specified. For example this is now possible:
  • hooks:
  • command: |
  • echo 123
  • echo 456
  • echo 789
  • where:
  • container:
  • imageSelector: my-image
  • when:
  • after:
  • deployments: all
  • New hooks[*].when.before.initialSync and hooks[*].when.after.initialSync that executes a hook after or before a certain sync configuration's initial sync has started
  • New option name for dev.sync and dev.ports. This can be used as a steady identifier when using profile patches or initial sync hooks. (#1577)
  • New option noCache for variables that disables caching of variable input
  • Fixes:
  • Fixed an issue where the sync would skip to upload files initially that were newer on the remote side
  • Fixed a problem where DevSpace's helper would show devspace-restart-helper in log messages
  • Fixed an issue where the image selector would sometimes look wrong
  • Fixed an issue where the sync watcher would exclude paths if the initial stat of them has failed
  • Fixed an issue where DevSpace would get stuck uploading or downloading files that would change frequently (#1576)
  • Fixed an issue where http was hardcoded as target domain in DevSpace UI (#1574)
  • Fixed an issue where multiple devspace.yaml in the same folder would lead to unwanted shared caches
  • Other:
  • Removed the color red from the log streaming color palette to avoid confusion with errors (#1583)
  • Sync will now compare crc32 hashes initially for files that might not be needed to get synced
  • Updated component chart to v0.8.1

New in DevSpace 5.15.0 Beta 1 (Aug 25, 2021)

  • New Features:
  • New dev.logs.selectors[*].imageSelector option to select images that should be logged by image name
  • DevSpace will now run remote hook commands in a remote shell if no args are specified. For example this is now possible:
  • hooks:
  • command: |
  • echo 123
  • echo 456
  • echo 789
  • where:
  • container:
  • imageSelector: my-image
  • when:
  • after:
  • deployments: all
  • New hooks[*].when.before.initialSync and hooks[*].when.after.initialSync that executes a hook after or before a certain sync configuration's initial sync has started
  • New option name for dev.sync and dev.ports. This can be used as a steady identifier when using profile patches or initial sync hooks. (#1577)
  • New option noCache for variables that disables caching of variable input
  • Fixes:
  • Fixed an issue where the sync would skip to upload files initially that were newer on the remote side
  • Fixed a problem where DevSpace's helper would show devspace-restart-helper in log messages
  • Fixed an issue where the image selector would sometimes look wrong
  • Fixed an issue where the sync watcher would exclude paths if the initial stat of them has failed
  • Fixed an issue where DevSpace would get stuck uploading or downloading files that would change frequently (#1576)
  • Fixed an issue where http was hardcoded as target domain in DevSpace UI (#1574)
  • Other:
  • Removed the color red from the log streaming color palette to avoid confusion with errors (#1583)
  • Updated component chart to v0.8.1

New in DevSpace 5.14.4 (Jul 20, 2021)

  • Changes:
  • Fixed an issue where using dev.replacePods with multiple label selectors would throw an error (#1499)
  • DevSpace will now also wait for selected containers by hooks[*].wait to become ready instead of just running (#1489)
  • Download correct arch for helm & kubectl if not present (#1494)
  • Fixed an issue where nested sync paths would sometimes not restart correctly
  • Fixed an issue where inotify watches were created for excluded folders (#1491)
  • DevSpace will now print sync helper log messages into the file log or on the console

New in DevSpace 5.14.4 Beta 3 (Jul 20, 2021)

  • Fixed an issue where using dev.replacePods with multiple label selectors would throw an error (#1499)
  • DevSpace will now also wait for selected containers by hooks[*].wait to become ready instead of just running (#1489)
  • Download correct arch for helm & kubectl if not present (#1494)
  • Fixed an issue where nested sync paths would sometimes not restart correctly
  • Skip inotify watches for excluded folders
  • Print DevSpace helper log messages in file log or console

New in DevSpace 5.14.4 Beta 2 (Jul 19, 2021)

  • Changes:
  • Fixed an issue where using dev.replacePods with multiple label selectors would throw an error (#1499)
  • DevSpace will now also wait for selected containers by hooks[*].wait to become ready instead of just running (#1489)
  • Download correct arch for helm & kubectl if not present (#1494)
  • Fixed an issue where nested sync paths would sometimes not restart correctly

New in DevSpace 5.14.4 Beta 1 (Jul 15, 2021)

  • Fixed an issue where using dev.replacePods with multiple label selectors would throw an error (#1499)
  • DevSpace will now also wait for selected containers by hooks[*].wait to become ready instead of just running (#1489)
  • Download correct arch for helm & kubectl if not present (#1494)

New in DevSpace 5.14.4 Beta 0 (Jul 12, 2021)

  • DevSpace will now also wait for selected containers by hooks[*].wait to become ready instead of just running (#1489)
  • Download correct arch for helm & kubectl if not present (#1494)

New in DevSpace 5.14.3 (Jul 7, 2021)

  • Changes:
  • Sync will now be started concurrently (up to 5 sync configurations at a time)
  • Sync log file messages will now indicate from which sync configuration the message originated
  • Sync will now override file permissions remotely on linux and darwin operating systems
  • Updated integrated moby term to newest version
  • Fixed an issue where a sync error could stop the whole devspace process
  • Fixed an issue where using multiple entries inside of dev.replacePods would fail config validation

New in DevSpace 5.14.3 Beta 1 (Jul 5, 2021)

  • Sync will now be started concurrently (up to 5 sync configurations at a time)
  • Sync log file messages will now indicate from which sync configuration the message originated
  • Sync will now override file permissions remotely on linux and darwin operating systems
  • Updated integrated moby term to newest version
  • Fixed an issue where a sync error could stop the whole devspace process

New in DevSpace 5.14.3 Beta 0 (Jun 29, 2021)

  • Changes:
  • Sync will now be started concurrently (up to 5 sync configurations at a time)
  • Sync log file messages will now indicate from which sync configuration the message originated
  • Sync will now override file permissions remotely on linux and darwin operating systems
  • Updated integrated moby term to newest version

New in DevSpace 5.14.2 (Jun 17, 2021)

  • Changes:
  • Added deployments[*].helm.values.service.ports[*].name to schema (#1472)
  • DevSpace doesn't traverse excluded paths locally anymore during initial sync
  • Fixed a potential issue where injecting devspacehelper could fail
  • Fixed an issue where a log message could be printed from sync in terminal mode
  • Fixed an issue where port-forwarding could exit devspace dev completely, if devspace was not able to reconnect correctly
  • Fixed an issue where sync could hang if an uploaded tar had padding bytes at the end
  • Improved sync traversing heuristic for negating exclude patterns

New in DevSpace 5.14.1 (Jun 16, 2021)

  • Changes:
  • Updated internal k8s version to v1.21.1
  • Fixed a race condition where the sync was not correctly restarting if an error occurred
  • Fixed an issue where --wait in devspace dev/deploy would sometimes return too soon
  • Fixed an issue where DevSpace could hang during injecting the devspacehelper binary
  • New dependencies[*].overwriteVars option to disable variable overwriting in dependencies (#1466)
  • DevSpace will now automatically reset the parent deployment, statefulset or replicaset during devspace dev if a replaced pod cannot be found, but the parent was scaled down already

New in DevSpace 5.14.1 Beta 2 (Jun 15, 2021)

  • Changes:
  • Updated internal k8s version to v1.21.1
  • Fixed a race condition where the sync was not correctly restarting if an error occurred
  • Fixed an issue where --wait in devspace dev/deploy would sometimes return too soon
  • Fixed an issue where DevSpace could hang during injecting the devspacehelper binary
  • New dependencies[*].overwriteVars option to disable variable overwriting in dependencies (#1466)
  • DevSpace will now automatically reset the parent deployment, statefulset or replicaset during devspace dev if a replaced pod cannot be found, but the parent was scaled down already

New in DevSpace 5.14.1 Beta 2 (Jun 15, 2021)

  • Updated internal k8s version to v1.21.1
  • Fixed a race condition where the sync was not correctly restarting if an error occurred
  • Fixed an issue where --wait in devspace dev/deploy would sometimes return too soon
  • Fixed an issue where DevSpace could hang during injecting the devspacehelper binary
  • New dependencies[*].overwriteVars option to disable variable overwriting in dependencies (#1466)
  • DevSpace will now automatically reset the parent deployment, statefulset or replicaset during devspace dev if a replaced pod cannot be found, but the parent was scaled down already

New in DevSpace 5.14.1 Beta 1 (Jun 11, 2021)

  • Changes:
  • Updated internal k8s version to v1.21.1
  • Fixed a race condition where the sync was not correctly restarting if an error occurred
  • Fixed an issue where --wait in devspace dev/deploy would sometimes return too soon
  • Fixed an issue where DevSpace could hang during injecting the devspacehelper binary

New in DevSpace 5.14.1 Beta 0 (Jun 10, 2021)

  • Changes:
  • Fixed a race condition where the sync was not correctly restarting if an error occurred
  • Fixed an issue where --wait in devspace dev/deploy would sometimes return too soon

New in DevSpace 5.14.0 (Jun 3, 2021)

  • Changes:
  • New require section that allows you to define certain requirements that must be met to use DevSpace for a project. This is useful for example if you want to ensure that all developers that use DevSpace in a project have a certain DevSpace version, specific plugins or commands installed (please take a look at the DevSpace documentation for more information). For example:
  • require:
  • Will require that at least DevSpace version 5.0.0 is installed but not higher than 6.0.0
  • devspace: '>= 5.0.0, < 6.0.0'
  • Will require that the loft plugin is installed in version 1.12.0
  • plugins:
  • name: loft
  • version: '1.12.0'
  • Will require that helm is installed with at least version 3.5.0
  • commands:
  • name: helm
  • versionArgs: ["version"]
  • versionRegEx: 'Version:"([^"]+)"'
  • version: '>= 3.5.0'
  • New option imageSelector for dev.sync, dev.ports, dev.terminal and dev.replacePods that allows you to select containers directly by their container image instead of specifying the config name as in imageName. This makes it easier for certain use cases as you can now omit the images section sometimes completely:
  • version: v1beta10
  • vars:
  • name: IMAGE
  • value: registry.com/production:latest
  • deployments:
  • name: my-chart
  • helm:
  • chart:
  • name: my-application
  • values:
  • image: ${IMAGE}
  • dev:
  • terminal:
  • imageSelector: ${IMAGE}
  • replacePods:
  • imageSelector: ${IMAGE}
  • replaceImage: registry.com/dev:latest
  • patches:
  • op: replace
  • path: spec.containers[0].workingDir
  • value: /app
  • op: replace
  • path: spec.containers[0].command
  • value: ["sleep"]
  • op: replace
  • path: spec.containers[0].args
  • value: ["9999999999"]
  • ports:
  • imageSelector: ${IMAGE}
  • forward:
  • port: 3000
  • sync:
  • imageSelector: ${IMAGE}
  • uploadExcludePaths:
  • node_modules
  • Removed the flag --show-logs in devspace render, devspace render will now show the log output by default. If you want to hide the log output please use devspace render --silent instead
  • devspace reset pods will now reset scaled down deployments, statefulsets & replicasets even though no resettable pod could be found
  • devspace init now uses imageSelector instead of imageName to generate a getting started configuration
  • DevSpace will now use the original tag (if there was one specified) during tag rewriting if the image was never built
  • DevSpace will now also delete the replaced pods created through dev.replacePods during devspace purge
  • Removed the wrong context / namespace warnings for devspace enter, devspace attach and devspace logs as these commands are usually used without a devspace.yaml and the warning can be confusing especially if used together with profiles
  • devspace update plugin will now allow you to install older plugin versions as well when --version is specified

New in DevSpace 5.14.0 Beta 2 (Jun 2, 2021)

  • Changes:
  • New require section that allows you to define certain requirements that must be met to use DevSpace for a project. This is useful for example if you want to ensure that all developers that use DevSpace in a project have a certain DevSpace version, specific plugins or commands installed (please take a look at the DevSpace documentation for more information)
  • New option imageSelector for dev.sync, dev.ports, dev.terminal and dev.replacePods that allows you to select containers directly by their container image instead of specifying the config name as in imageName. This makes it easier for certain use cases as you can now omit the images section sometimes completely
  • Removed the flag --show-logs in devspace render, devspace render will now show the log output by default. If you want to hide the log output please use devspace render --silent instead
  • Devspace reset pods will now reset scaled down deployments, statefulsets & replicasets even though no resettable pod could be found
  • Devspace init now uses imageSelector instead of imageName to generate a getting started configuration
  • DevSpace will now use the original tag (if there was one specified) during tag rewriting if the image was never built
  • DevSpace will now also delete the replaced pods created through dev.replacePods during devspace purge
  • Removed the wrong context / namespace warnings for devspace enter, devspace attach and devspace logs as these commands are usually used without a devspace.yaml and the warning can be confusing especially if used together with profiles
  • Devspace update plugin will now allow you to install older plugin versions as well when --version is specified

New in DevSpace 5.14.0 Beta 1 (Jun 2, 2021)

  • Merge pull request #1458 from LukasGentele/chore/init

New in DevSpace 5.14.0 Beta 0 (May 31, 2021)

  • Changes:
  • New require section that allows you to define certain requirements that must be met to use DevSpace for a project. This is useful for example if you want to ensure that all developers that use DevSpace in a project have a certain DevSpace version, specific plugins or commands installed (please take a look at the DevSpace documentation for more information).
  • Removed the flag --show-logs in devspace render, devspace render will now show the log output by default. If you want to hide the log output please use devspace render --silent instead
  • DevSpace will now use the original tag (if there was one specified) during tag rewriting if the image was never built
  • DevSpace will now also delete the replaced pods created through dev.replacePods during devspace purge
  • Removed the wrong context / namespace warnings for devspace enter, devspace attach and devspace logs as these commands are usually used without a devspace.yaml and the warning can be confusing especially if used together with profiles
  • Devspace update plugin will now allow you to install older plugin versions as well when --version is specified

New in DevSpace 5.13.1 Beta 0 (May 27, 2021)

  • Removed the flag --show-logs in devspace render, devspace render will now show the log output by default. If you want to hide the log output please use devspace render --silent instead
  • DevSpace will now use the original tag (if there was one specified) during tag rewriting if the image was never built
  • DevSpace will now also delete the replaced pods created through dev.replacePods during devspace purge
  • Removed the wrong context / namespace warnings for devspace enter, devspace attach and devspace logs as these commands are usually used without a devspace.yaml and can be confusing especially if used together with profiles
  • devspace update plugin will now allow you to install older plugin versions as well when --version is specified

New in DevSpace 5.13.0 (May 17, 2021)

  • DevSpace will now use inotify as file watching method by default instead of polling within the container for the latest config version v1beta10. Polling can still be used by setting dev.sync[*].polling to true or using an older config version. Inotify file watching greatly decreases CPU usage in containers if many files are watched and decreases change detection time (#1429)
  • DevSpace will now ping the underlying sync connection every 30 seconds to detect broken connections and restart the sync automatically (#1434)
  • DevSpace will now use memory pipes instead of files pipes during sync which should increase sync upload and download speed
  • DevSpace will now print log message timestamps if the environment variable DEVSPACE_LOG_TIMESTAMPS is set to true
  • Improved network error handling in port-forwarding, logs & sync
  • Removed extra question in devspace init for build stage and disable building by default for newly created devspace.yamls

New in DevSpace 5.13.0 Beta 1 (May 14, 2021)

  • DevSpace will now use inotify as file watching method by default instead of polling within the container for the latest config version v1beta10. Polling can still be used by setting dev.sync[*].polling to true or using an older config version. Inotify file watching greatly decreases CPU usage in containers if many files are watched and decreases change detection time (#1429)
  • DevSpace will now ping the underlying sync connection every 10 seconds to detect broken connections and restart the sync automatically (#1434)
  • DevSpace will now print log message timestamps if the environment variable DEVSPACE_LOG_TIMESTAMPS is set to true
  • Improved network error handling in port-forwarding, logs & sync
  • Removed extra question in devspace init for build stage and disable building by default for newly created devspace.yamls

New in DevSpace 5.13.0 Beta 0 (May 11, 2021)

  • Changes:
  • DevSpace will now use inotify as file watching method by default instead of polling within the container for the latest config version v1beta10. Polling can still be used by setting dev.sync[*].polling to true or using an older config version. Inotify file watching greatly decreases CPU usage in containers if many files are watched and decreases change detection time (#1429)
  • DevSpace will now ping the underlying sync connection every 10 seconds to detect broken connections and restart the sync automatically (#1434)
  • DevSpace will now print log message timestamps if the environment variable DEVSPACE_LOG_TIMESTAMPS is set to true
  • Improved network error handling in port-forwarding, logs & sync
  • Removed extra question in devspace init for build stage and disable building by default for newly created devspace.yamls

New in DevSpace 5.12.2 (May 6, 2021)

  • Changes:
  • Fixed an issue where devspace open would not work correctly with port-forwarding (#1432)
  • New option deployments[*].helm.displayOutput to show the helm upgrade command output (#1423)

New in DevSpace 5.12.2 Pre-release (May 5, 2021)

  • Fixed an issue where devspace open would not work correctly with port-forwarding
  • New option deployments[*].helm.displayOutput to show the helm upgrade command output

New in DevSpace 5.12.1 (Apr 24, 2021)

  • Changes:
  • Improved devspace init: add additional comments to the generated devspace.yaml
  • Removed an unnecessary question in devspace init

New in DevSpace 5.12.1 Beta 0 (Apr 22, 2021)

  • Changes:
  • Improved devspace init: add additional comments to the generated devspace.yaml
  • Removed an unnecessary question in devspace init

New in DevSpace 5.12.0 (Apr 21, 2021)

  • New Feature: Pod Replacing:
  • With dev.replacePods we introduced a new feature that gives you the option to exchange an already running or just deployed pod with a modified version. This is especially useful if you:
  • Need to configure or disable an option on a pod which is not configurable via your helm chart or manifests
  • Do not want to use DevSpace for your pipeline and instead only want to use DevSpace for development
  • Want to debug a setup with an already deployed app by exchanging a single pod temporarily with modifications
  • Dependency Changes:
  • With v5.12.0, we greatly improved dependencies and you are now able to reference dependency images and reuse dependency dev configuration. This makes it possible to create much more flexible pipelines and enables you to outsource parts of your devspace.yaml enterly.
  • For example, you can now reference dependency images in every imageName field via dependency1.image1. In deployment values, you can now use image(dependency1.image1):tag(dependency1.image1) to insert an image that was built within a dependency. You can even reference dependencies of dependencies via depdency1.dependency2.image1. You can also run a command of a dependency with devspace run dependency1.command now.
  • New Config Version v1beta10:
  • With the new config version v1beta10 we cleaned up some options that were now deprecated for a while (especially dev.interactive was changed). Older config versions will still continue to work as expected and there are no breaking changes as DevSpace will convert them automatically in memory, you can see how DevSpace translates your current config by running devspace print. We changed the following options with v1beta10:
  • Removed dev.interactive completely. We also removed all related documentation regarding interactive mode and encourage users to use dev.terminal instead, which opens a terminal without touching the Dockerfile and is much easier to understand. If you need to exchange the entrypoint of the container with DevSpace, we encourage you to use either images[*].entrypoint & images[*].cmd, set command & args in your deployment (if thats supported by your helm chart or manifests) or use the new feature dev.replacePods to modify the pod's spec.containers[*].command & spec.containers[*].args
  • New section dev.terminal which if set, will tell DevSpace to open a terminal by default instead of printing logs.
  • dev.sync[*].waitInitialSync is now true by default
  • Removed images[*].tagsAppendRandom & images[*].preferSyncOverRebuild
  • dependencies[*].name is now required (for older config versions, the array index will be used as dependency name)
  • New section dependencies[*].dev to specify which dev config should be reused from the dependency (currently only ports and sync are supported)
  • Removal of deprecated commands:
  • We removed the deprecated commands devspace add deployment, devspace add image, devspace add port, devspace add sync, devspace remove deployment, devspace remove image, devspace remove port, devspace remove sync, devspace status sync and devspace update config.
  • Other New Features:
  • You can now execute hooks or variables with source: command via the integrated golang shell. The advantage of this shell is that it works cross platform and you can use logical expressions such as echo 123 && echo 456. DevSpace will use the shell if no hooks[*].args or vars[*].args are provided and only a hooks[*].command or vars[*].command is configured.
  • New vars[*].value that is a shortcut for using vars[*].source: none and vars[*].default
  • New command devspace reset pods to reset changes made by dev.replacePods
  • New commands[*].args that if defined will execute the command directly instead of in a golang shell
  • The helpers image() and tag() that can be used within helm deployment values or kubectl manifests can now also be used to reference an image key in images.* or in a dependency. If naming of an image key name and the actual image collide, the image key has precedence.
  • New flag --all/-a for devspace purge to purge dependencies as well (the old flag --dependencies is now deprecated)
  • New predefined variable ${DEVSPACE_USER_HOME} that holds the user's home directory
  • OTHER CHANGES:
  • Completely refactored devspace init: more options to choose how you want to initialize your devspace.yaml. We also by default set dev.replacePods with dev.terminal now instead of configuring printing logs and reloading the container process.
  • profiles[*].patches and dev.replacePods[*].patches with op: replace patches do not fail if the target path does not exist anymore and behave like a op: add instead
  • profiles[*].patches and dev.replacePods[*].patches with op: remove patches do not fail if the target path does not exist anymore and do nothing instead
  • Fixed an issue where image build caching of dependencies was sometimes not working correctly
  • Fixed an issue where hooks[*].when.before.images was triggered even though the image was not built
  • Updated kaniko to v1.5.2
  • Updated internal kubernetes version to v1.20.4
  • Improvements to dependency execution and output

New in DevSpace 5.12.0 Alpha 0 (Apr 17, 2021)

  • New Feature: Pod Replacing:
  • With dev.replacePods we introduced a new feature that gives you the option to exchange an already running or just deployed pod with a modified version. This is especially useful if you:
  • Need to configure or disable an option on a pod which is not configurable via your helm chart or manifests
  • Do not want to use DevSpace for your pipeline and instead only want to use DevSpace for development
  • Want to debug a setup with an already deployed app by exchanging a single pod temporarily with modifications
  • For example:
  • version: v1beta10
  • deployments:
  • name: my-app
  • helm:
  • componentChart: true
  • values:
  • containers:
  • name: my-container
  • image: idonotexist:neverexisted # this will create a failing pod
  • dev:
  • DevSpace will try to find a pod with the given label selector. If found (even if its currently in a failed state)
  • DevSpace will copy the pod, scale down the owning ReplicaSet, Deployment or StatefulSet
  • and create the new modified pod in the cluster. (Reset via devspace reset pods)
  • replacePods:
  • labelSelector:
  • app.kubernetes.io/component: my-app
  • replaceImage: ubuntu:latest
  • patches:
  • op: add
  • path: spec.containers.name=my-container.command
  • value: ["sleep"]
  • op: add
  • path: spec.containers.name=my-container.args
  • value: ["9999999999"]
  • op: add
  • path: spec.containers.name=my-container.workingDir
  • value: "/workdir"
  • This will create a terminal to the replaced pod
  • terminal:
  • labelSelector:
  • app.kubernetes.io/component: my-app
  • This will sync to the replaced pod's working directory
  • sync:
  • labelSelector:
  • app.kubernetes.io/component: my-app
  • For more informations take a look at the devspace docs
  • Dependency Changes:
  • With v5.12.0, we greatly improved dependencies and you are now able to reference dependency images and reuse dependency dev configuration. This makes it possible to create much more flexible pipelines and enables you to outsource parts of your devspace.yaml enterly.
  • For example, you can now reference dependency images in every imageName field via dependency1.image1. In deployment values, you can now use imageName(dependency1.image1) to insert an image that was built within a dependency. You can even reference dependencies of dependencies via depdency1.dependency2.image1. You can also run a command of a dependency with devspace run dependency1.command now.
  • For example ./devspace.yaml:
  • version: v1beta10
  • dependencies:
  • name: dep1
  • source:
  • path: ./dep1
  • dev:
  • ports: true
  • deployments:
  • name: quickstart
  • helm:
  • componentChart: true
  • values:
  • containers:
  • image: imageName(dep1.image1)
  • dev:
  • Will open a terminal to the pod with the
  • image from dep1
  • terminal:
  • imageName: dep1.image1
  • Then the dependency ./dep1/devspace.yaml could look like this:
  • version: v1beta10
  • images:
  • image1:
  • image: myrepo/image
  • dev:
  • ports:
  • imageName: image1
  • forward:
  • port: 3000
  • This makes it a lot easier to divide your devspace.yaml into multiple parts or to build a much complexer pipeline with multiple build and deploy steps.
  • For more informations take a look at the devspace docs
  • New Config Version v1beta10:
  • With the new config version v1beta10 we cleaned up some options that were now deprecated for a while (especially dev.interactive was changed). Older config versions will still continue to work as expected and there are no breaking changes as DevSpace will convert them automatically in memory, you can see how DevSpace translates your current config by running devspace print. We changed the following options with v1beta10:
  • Removed dev.interactive completely. We also removed all related documentation regarding interactive mode and encourage users to use dev.terminal instead, which opens a terminal without touching the Dockerfile and is much easier to understand. If you need to exchange the entrypoint of the container with DevSpace, we encourage you to use either images[*].entrypoint & images[*].cmd, set command & args in your deployment (if thats supported by your helm chart or manifests) or use the new feature dev.replacePods to modify the pod's spec.containers[*].command & spec.containers[*].args
  • New section dev.terminal which if set, will tell DevSpace to open a terminal by default instead of printing logs.
  • dev.sync[*].waitInitialSync is now true by default
  • Removed images[*].tagsAppendRandom & images[*].preferSyncOverRebuild
  • dependencies[*].name is now required (for older config versions, the array index will be used as dependency name)
  • New section dependencies[*].dev to specify which dev config should be reused from the dependency (currently only ports and sync are supported)
  • Removal of deprecated commands:
  • We removed the deprecated commands devspace add deployment, devspace add image, devspace add port, devspace add sync, devspace remove deployment, devspace remove image, devspace remove port, devspace remove sync, devspace status sync and devspace update config.
  • Other New Features:
  • You can now execute hooks or variables with source: command via the integrated golang shell. The advantage of this shell is that it works cross platform and you can use logical expressions such as echo 123 && echo 456. DevSpace will use the shell if no hooks[*].args or vars[*].args are provided and only a hooks[*].command or vars[*].command is configured:
  • vars:
  • name: MY_VAR_FROM_SHELL
  • command: "echo value"
  • name: MY_VAR_DIRECT
  • command: "echo"
  • args: ["value"]
  • hooks:
  • command: "echo 123 && echo 456"
  • when:
  • before:
  • images: all
  • New vars[*].value that is a shortcut for using vars[*].source: none and vars[*].default
  • New command devspace reset pods to reset changes made by dev.replacePods
  • New commands[*].args that if defined will execute the command directly instead of in a golang shell
  • New helpers imageName(), imageNameImage() and imageNameTag() that can be used within helm deployment values or kubectl manifests to reference an image defined in images or in a dependency
  • New flag --all/-a for devspace purge to purge dependencies as well (the old flag --dependencies is now deprecated)
  • New predefined variable ${DEVSPACE_USER_HOME} that holds the user's home directory
  • Other Changes:
  • Fixed an issue where image build caching of dependencies was sometimes not working correctly
  • Fixed an issue where hooks[*].when.before.images was triggered even though the image was not built
  • Updated kaniko to v1.5.2
  • Updated internal kubernetes version to v1.20.4
  • Improvements to dependency execution and output

New in DevSpace 5.11.0 (Apr 9, 2021)

  • New Features:
  • Added buildkit & buildkit incluster support to devspace (#1383). This will use docker buildx to build images either with the local docker daemon (or minikube daemon if available) or build images directly in the kubernetes cluster with the buildkit kubernetes driver (see the devspace docs for more information).
  • It is now allowed to use variables in the command, args or commands field of other variables. For example these variable definitions are now valid:
  • New config option dev.sync.arch and dev.ports.arch to specify the target container architecture. Currently amd64 and arm64 are supported (#1389)
  • Fixes:
  • Fixed an issue on older windows versions where DevSpace could panic with Invalid standard handle identifier
  • Fixed an issue where an error during namespace create was ignored (#1382)
  • Fixed an issue where .dockerignore was used even though a devspace.dockerignore existed
  • Fixed an issue where DevSpace would not respect the docker proxy settings for building (#1378)
  • Fixed an issue where DevSpace could install broken plugins. DevSpace will now check before installing or updating if the plugin binary is executable and returns a zero exit code if executed without arguments. (#1379)
  • Fixed an issue where building images with minikube and docker.useCli or docker.useBuildKit would not target the minikube daemon correctly (#1386)
  • Fixed an issue where devspace use profile and devspace list profiles would try to fill in config variables
  • Other Changes:
  • DevSpace will now create non existing namespaces during devspace build for kaniko builds (#1384)
  • DevSpace will now add .devspace/ to the .dockerignore during devspace init (#1371)
  • DevSpace will now print executed helm commands during helm deployment
  • DevSpace will now use the deployment, statefulset or replicaset name instead of the pod name for the log streaming prefix if no app.kubernetes.io/component label is found

New in DevSpace 5.11.0 Beta 1 (Apr 8, 2021)

  • New Features
  • Added buildkit & buildkit incluster support to devspace (#1383). This will use docker buildx to build images either with the local docker daemon (or minikube daemon if available) or build images directly in the kubernetes cluster with the buildkit kubernetes driver. (see the devspace docs for more information).
  • It is now allowed to use variables in the command, args or commands field of other variables. For example these variable definitions are now valid.
  • Fixes:
  • Fixed an issue on older windows versions where DevSpace could panic with Invalid standard handle identifier
  • Fixed an issue where an error during namespace create was ignored (#1382)
  • Fixed an issue where .dockerignore was used even though a devspace.dockerignore existed
  • Fixed an issue where DevSpace would not respect the docker proxy settings for building (#1378)
  • Fixed an issue where DevSpace could install broken plugins. DevSpace will now check before installing or updating if the plugin binary is executable and returns a zero exit code if executed without arguments. (#1379)
  • Fixed an issue where building images with minikube and docker.useCli or docker.useBuildKit would not target the minikube daemon correctly (#1386)
  • Fixed an issue where devspace use profile and devspace list profiles would try to fill in config variables
  • Other Changes:
  • DevSpace will now create non existing namespaces during devspace build for kaniko builds (#1384)
  • DevSpace will now add .devspace/ to the .dockerignore during devspace init (#1371)

New in DevSpace 5.11.0 Beta 0 (Apr 7, 2021)

  • Added buildkit & buildkit incluster support to devspace (#1383). This will use docker buildx to build images either with the local docker daemon (or minikube daemon if available) or build images directly in the kubernetes cluster with the buildkit kubernetes driver.

New in DevSpace 5.10.0 (Mar 27, 2021)

  • Deprecation:
  • Deprecation of commands devspace add deployment, devspace add image, devspace add port, devspace add sync, devspace remove deployment, devspace remove image, devspace remove port, devspace remove sync, devspace status sync and devspace update config. We feel these commands are rarely used, mostly outdated in terms of config options and are an increasing maintenance burden. The commands are still available, however DevSpace will now print a warning if you use them. The commands will be removed in a future DevSpace version.
  • New Features:
  • DevSpace now allows you to specify variables within other variables default values, which makes it possible to compose variables of other variables. To use a variable in a default value, the variable that is used needs to be specified prior or needs to be a predefined variable. For example:
  • version: v1beta9
  • images:
  • default:
  • image: ${IMAGE}
  • vars:
  • name: IMAGE_REPOSITORY
  • default: myrepository
  • source: none
  • name: IMAGE_NAME
  • default: devspace
  • source: none
  • name: IMAGE
  • default: ${IMAGE_REPOSITORY}/${IMAGE_NAME}
  • source: none
  • name: NAMESPACE
  • default: ${DEVSPACE_NAMESPACE}
  • source: none
  • New option images.*.rebuildStrategy that can either take always or ignoreContextChanges to specify when DevSpace should rebuild an image (#1353)
  • New flag --max-concurrent-builds that limits the amount of concurrent image during devspace build, devspace dev, devspace render or devspace deploy (#1347)
  • New option images.*.build.kaniko.envFrom that allows you to specify environment variables from a config map or secret for the kaniko build pod (#1348)
  • Added support for devspace.dockerignore that will take precedence over a regular .dockerignore during image build (#1356)
  • New --output flag for devspace list vars that accepts the values keyvalue or json
  • New --overwrite flag for devspace set var that if set to false will not overwrite the variable when found in cache
  • Other Changes:
  • Flags such as --sequential-build, --max-concurrent-builds and --skip-push-local-kube will now also apply to dependency builds
  • Fixed an issue where devspace set var would fail with base64 encoded strings
  • Fixed an issue where a nil pointer could occur if using a hooks.when.after.purgeDeployments hook (#1361)
  • DevSpace will now not return a fatal error if devspace update plugin cannot update the plugin because it is the newest version (#1352)
  • devspace list vars will now print all resolved variables of the current applied config instead of only all cached variables

New in DevSpace 5.10.0 Beta 2 (Mar 26, 2021)

  • New Features:
  • DevSpace now allows you to specify variables within other variables default values, which makes it possible to compose variables of other variables. To use a variable in a default value, the variable that is used needs to be specified prior or needs to be a predefined variable. For example:
  • version: v1beta9
  • images:
  • default:
  • image: ${IMAGE}
  • vars:
  • name: IMAGE_REPOSITORY
  • default: myrepository
  • source: none
  • name: IMAGE_NAME
  • default: devspace
  • source: none
  • name: IMAGE
  • default: ${IMAGE_REPOSITORY}/${IMAGE_NAME}
  • source: none
  • name: NAMESPACE
  • default: ${DEVSPACE_NAMESPACE}
  • source: none
  • New option images.*.rebuildStrategy that can either take always or ignoreContextChanges to specify when DevSpace should rebuild an image (#1353)
  • New flag --max-concurrent-builds that limits the amount of concurrent image during devspace build, devspace dev, devspace render or devspace deploy (#1347)
  • New option images.*.build.kaniko.envFrom that allows you to specify environment variables from a config map or secret for the kaniko build pod (#1348)
  • Added support for devspace.dockerignore that will take precedence over a regular .dockerignore during image build (#1356)
  • New --output flag for devspace list vars that accepts the values keyvalue or json
  • New --overwrite flag for devspace set var that if set to false will not overwrite the variable when found in cache
  • Other Changes:
  • Flags such as --sequential-build, --max-concurrent-builds and --skip-push-local-kube will now also apply to dependency builds
  • Fixed an issue where devspace set var would fail with base64 encoded strings
  • Fixed an issue where a nil pointer could occur if using a hooks.when.after.purgeDeployments hook (#1361)
  • DevSpace will now not return a fatal error if devspace update plugin cannot update the plugin because it is the newest version (#1352)
  • devspace list vars will now print all resolved variables of the current applied config instead of only all cached variables

New in DevSpace 5.10.0 Beta 1 (Mar 26, 2021)

  • Deprecation:
  • Deprecation of commands devspace add deployment, devspace add image, devspace add port, devspace add sync, devspace remove deployment, devspace remove image, devspace remove port, devspace remove sync, devspace status sync and devspace update config. We feel these commands are rarely used, mostly outdated in terms of config options and are an increasing maintenance burden. The commands are still available, however DevSpace will now print a warning if you use them. The commands will be removed in a future DevSpace version.
  • New Features:
  • DevSpace now allows you to specify variables within other variables default values, which makes it possible to compose variables of other variables. To use a variable in a default value, the variable that is used needs to be specified prior or needs to be a predefined variable. For example:
  • version: v1beta9
  • images:
  • default:
  • image: ${IMAGE}
  • vars:
  • name: IMAGE_REPOSITORY
  • default: myrepository
  • source: none
  • name: IMAGE_NAME
  • default: devspace
  • source: none
  • name: IMAGE
  • default: ${IMAGE_REPOSITORY}/${IMAGE_NAME}
  • source: none
  • name: NAMESPACE
  • default: ${DEVSPACE_NAMESPACE}
  • source: none
  • New option images.*.rebuildStrategy that can either take always or ignoreContextChanges to specify when DevSpace should rebuild an image (#1353)
  • New flag --max-concurrent-builds that limits the amount of concurrent image during devspace build, devspace dev, devspace render or devspace deploy (#1347)
  • New option images.*.build.kaniko.envFrom that allows you to specify environment variables from a config map or secret for the kaniko build pod (#1348)
  • Added support for devspace.dockerignore that will take precedence over a regular .dockerignore during image build (#1356)
  • New --output flag for devspace list vars that accepts the values keyvalue or json
  • New --overwrite flag for devspace set var that if set to false will not overwrite the variable when found in cache
  • Other Changes:
  • Flags such as --sequential-build, --max-concurrent-builds and --skip-push-local-kube will now also apply to dependency builds
  • Fixed an issue where devspace set var would fail with base64 encoded strings
  • Fixed an issue where a nil pointer could occur if using a hooks.when.after.purgeDeployments hook (#1361)
  • DevSpace will now not return a fatal error if devspace update plugin cannot update the plugin because it is the newest version (#1352)
  • devspace list vars will now print all resolved variables of the current applied config instead of only all cached variables

New in DevSpace 5.9.0 Pre-release (Mar 15, 2021)

  • New Features:
  • Added a new hook type wait that will wait for containers or pods to be running before continuing with the pipeline. This can be useful if you want to ensure a certain pod is running before you continue with the pipeline, like a database. For more information please take a look at the docs. An example configuration could look like this:
  • ...
  • deployments:
  • name: my-database
  • helm:
  • componentChart: true
  • values:
  • ...
  • hooks:
  • This hook will ensure that everytime the deployment
  • my-database is deployed DevSpace will wait until
  • all pods and containers that match the labelSelector
  • app.kubernetes.iocomponent=my-database are running
  • wait:
  • DevSpace will wait for all containers that match the label selector below to become running.
  • If there are init containers, make sure to set terminatedWithCode as well.
  • running: true
  • This can be needed if there are for example init containers
  • that terminate instead of become running.
  • terminatedWithCode: 0
  • where:
  • container:
  • labelSelector:
  • app.kubernetes.iocomponent: my-database
  • You could also select just a specific container with
  • containerName: database-container
  • when:
  • after:
  • deployments: my-database
  • ...
  • Added a new hook type logs that can print logs of a selected container. This can be useful to print logs of jobs or print the logs of init containers that would not be printed otherwise during devspace dev. For more information, check out the docs.
  • Added a new flag --wait to devspace logs that waits for pods to become running before printing the logs
  • Added a new global flag --inactivity-timeout that will exit DevSpace automatically if the user is idle for the given amount of time (#1313)
  • Fixes:
  • Fixed an issue where devspace sync on linux would miss files on after recreating a folder multiple times locally (#1296)

New in DevSpace 5.9.0 Beta 1 (Mar 12, 2021)

  • New Features:
  • Added a new hook type wait that will wait for containers or pods to be running before continuing with the pipeline. This can be useful if you want to ensure a certain pod is running before you continue with the pipeline, like a database. For more information please take a look at the docs.
  • Added a new hook type logs that can print logs of a selected container. This can be useful to print logs of jobs or print the logs of init containers that would not be printed otherwise during devspace dev. For more information, check out the docs.
  • Added a new flag --wait to devspace logs that waits for pods to become running before printing the logs
  • Added a new global flag --inactivity-timeout that will exit DevSpace automatically if the user is idle for the given amount of time (#1313)
  • Fixes:
  • Fixed an issue where devspace sync on linux would miss files on after recreating a folder multiple times locally (#1296)

New in DevSpace 5.9.0 Beta 0 (Mar 12, 2021)

  • New Features:
  • Added a new hook type wait that will wait for containers or pods to be running before continuing with the pipeline. This can be useful if you want to ensure a certain pod is running before you continue with the pipeline, like a database. For more information please take a look at the docs. An example configuration could look like this:
  • Added a new hook type logs that can print logs of a selected container. This can be useful to print logs of jobs or print the logs of init containers that would not be printed otherwise during devspace dev. For more information, check out the docs.
  • Added a new flag --wait to devspace logs that waits for pods to become running before printing the logs
  • Added a new global flag --inactivity-timeout that will exit DevSpace automatically if the user is idle for the given amount of time (#1313)
  • Fixes:
  • Fixed an issue where devspace sync on linux would miss files on after recreating a folder multiple times locally (#1296)

New in DevSpace 5.8.4 (Mar 8, 2021)

  • Fixed an issue where devspace upgrade would lead to a nil pointer exception
  • Fixed an issue where the devspace helper couldn't be executed on docker desktop v3.2.0 (#1334)
  • Fixed an issue where negating exclude patterns were not working correctly for sync download (#1335)

New in DevSpace 5.8.3 Beta 0 (Mar 5, 2021)

  • Fixes an issue where the devspace helper couldn't be executed on docker desktop v3.2.0 (#1334)
  • Fixes an issue where negating exclude patterns were not working correctly for sync download (#1335)

New in DevSpace 5.8.2 Beta 0 (Mar 1, 2021)

  • Changes:
  • DevSpace will now restrict its logs in size and delete old logs automatically
  • DevSpace will now limit the table column width to a maximum of 64 characters to avoid odd looking output in commands such as devspace list deployments, devspace list profiles etc.
  • DevSpace will now print the config variable command's stderr and stdout on failure
  • New --version flag for devspace upgrade to select a specific devspace version (including alpha and beta versions)
  • New environment variable DEVSPACE_DISABLE_VARS_ENCRYPTION that will disable automatic config variable encryption if set to true

New in DevSpace 5.8.1 (Feb 24, 2021)

  • Changes:
  • Devspace will now encrypt the config variables saved in .devspace/generated.yaml with a private key
  • Fixed an issue where the type of config variables was not aligned with the default value of that variable
  • Devspace will now fail during kaniko building if it detects an issue during build pod startup
  • Devspace will now print a warning during port-forwarding, sync or terminal forwarding if the pod has issues to start
  • devspace init now allows you to use an image registry even though you are not authenticated to it
  • Fixed an issue where devspace would fail if --save-vars was specified and the target namespace was not found

New in DevSpace 5.8.1 Beta 0 (Feb 19, 2021)

  • Changes:
  • Devspace will now encrypt the entered variables in the .devspace/generated.yaml with a private key
  • Fixed an issue where the type of variables was not aligned with the default value of that variable
  • Devspace will now fail during kaniko building if it detects an issue during building pod startup
  • Devspace will now print a warning during port-forwarding, sync or terminal forwarding if the pod has issues to start
  • devspace init now allows you to use an image registry even though you are not authenticated to it
  • Fixed an issue where devspace would fail if --save-vars was specified and the target namespace was not found

New in DevSpace 5.8.0 (Feb 17, 2021)

  • Log ui errors to file instead of console (logs can be found under .devspace/logs/ui.log)
  • Fixed an issue where an UI error could lead to a nil pointer panic
  • Update golang version to v1.16

New in DevSpace 5.7.6 (Feb 12, 2021)

  • DevSpace will now show the docker and kaniko logs automatically for parallel builds
  • Added a new config option profiles.description to describe what a profile is doing (can be viewed via devspace list profiles) (#1312)
  • Reversed manifest deletion order in devspace purge
  • Removed unused --component flag for devspace add deployment (#1315)
  • Fixed an issue where devspace deploy with kubectl wouldn't deploy correctly (#1314)
  • Adds a new flag --skip-push-local-kube to devspace dev, devspace deploy, devspace build and devspace render to skip or allow image push skipping in local kubernetes environments

New in DevSpace 5.7.5 Pre-release (Feb 2, 2021)

  • devspace is now also available for darwin arm64 systems
  • New devspace dev --ui-port flag to specify the port of the ui it should start under
  • Fixes an issue where devspace open would not recognize LoadBalancer services
  • Fixes an issue where devspace would take a long time to upload the building context to the kaniko pod

New in DevSpace 5.7.5 Alpha 0 (Jan 27, 2021)

  • improvement: allow image:latest == image

New in DevSpace 5.7.4 (Jan 25, 2021)

  • We renamed the devspace repository from devspace-cloud/devspace to loft-sh/devspace. We felt this change was necessary, since there was some confusion regarding the relationship between devspace, devspace-cloud and loft:
  • devspace: devspace is the client-only developer tool for cloud-native development with kubernetes that is completely open-source and free.
  • devspace-cloud & loft: loft is the successor of devspace-cloud and is a solution for a building a developer platform based on kubernetes. Its main features includes virtual clusters and sleep mode for unused kubernetes resources. devspace-cloud itself is still available for old customers however development is discontinued and only hot fixes are still deployed. Loft itself can be used without or with devspace. In the latter case there is a loft plugin for devspace for a direct integration, but a separate loft cli exists as well. Loft is only is partly open source (cli & kiosk) and a commercial product, but not required if you just want to use devspace.
  • Changes:
  • Fixed a nil pointer that occured if devspace was used with minikube and kubernetes v1.20.2 (#1303)
  • Fixed an issue where the internal sync event buffer could overflow and was missing changes (#1296)

New in DevSpace 5.7.3 (Jan 22, 2021)

  • Improved the way devspace sync --config ... asks for a sync path by displaying the image or label selector (#1300)
  • It is now allowed again to define dev.sync.imageName and dev.sync.labelSelector simultaneously
  • Improved the way devspace searches for image names that were not previously deployed and have a tag that contains '#' (#1301)
  • Fixed an issue where a version without 'v' would result in issues during ui & helper download in brew installations

New in DevSpace 5.7.2 Pre-release (Jan 22, 2021)

  • Changes:
  • New options images.build.kaniko.command, images.build.kaniko.env, images.build.kaniko.initEnv and images.build.kaniko.skipPullSecretMount for kaniko builder
  • Improved validation for dev.sync, dev.ports and profiles config sections
  • Devspace now shows the pod name where port forwarding was started

New in DevSpace 5.7.2 Alpha 0 (Jan 16, 2021)

  • Merge pull request #1294 from FabianKramm/master
  • feat(kaniko): add new options command, skipPullSecret & env

New in DevSpace 5.7.1 (Jan 12, 2021)

  • New Features:
  • New flag --parent-profile to apply multiple profiles with flags:
  • Applies the profiles profile1, profile2, profile3 and profile4 in this order
  • devspace dev --parent-profile=profile1 --parent-profile=profile2 --parent-profile=profile3 --profile=profile4
  • You can also leave out the --profile flag and only the profiles
  • profile1, profile2 and profile3 are appied
  • devspace dev --parent-profile=profile1 --parent-profile=profile2 --parent-profile=profile3
  • New options upload and download for hooks to upload or download files from a container:
  • hooks:
  • Upload the complete local bin folder to the container path ./bin
  • upload:
  • localPath: bin
  • containerPath: bin
  • where:
  • container:
  • imageName: default
  • when:
  • after:
  • deployments: deployment-1
  • Download a single file from the container to the local path
  • download:
  • localPath: build/artifact.jar
  • containerPath: build/artifact-test.jar
  • where:
  • container:
  • imageName: java
  • when:
  • after:
  • deployments: deployment-2
  • New predefined variable ${DEVSPACE_VERSION}
  • New options hooks.when.before.purgeDeployments, hooks.when.after.purgeDeployments andhooks.when.onError.purgeDeployments to execute hooks on devspace purge
  • New option dev.interactive.terminal.workDir to specify a working directory to open the terminal in
  • New flag --workdir for devspace enter and devspace dev to specify a working directory to open the terminal in or execute a command in
  • Other:
  • Profiles can now be used to change the commands section. It is now possible to have commands that are only available or change with specific profiles. A profile can be used with devspace run by supplying the flag before the run: devspace --profile my-special-command-profile run profile-command
  • Removed several options in devspace init that would lead to an incomplete devspace.yaml
  • The flags --save-vars and --restore-vars are now global
  • Fixed an issue where replacing certain fields with profiles.replace would lead to a yaml error
  • Fixed an issue where deployment within a cluster kube-context was not possible
  • Fixed an issue where the namespace was wrong when executing devspace within a cluster
  • Fixed a potential race during initial sync upload
  • Fixed a potential endless loop during initial sync if upstream was disabled

New in DevSpace 5.7.1 Beta 0 (Jan 11, 2021)

  • New Features:
  • New predefined variable ${DEVSPACE_VERSION}
  • New options hooks.when.before.purgeDeployments, hooks.when.after.purgeDeployments andhooks.when.onError.purgeDeployments to execute hooks on devspace purge
  • New option dev.interactive.terminal.workDir to specify a working directory to open the terminal in
  • New flag --workdir for devspace enter and devspace dev to specify a working directory to open the terminal in or execute a command in
  • New flag --parent-profile to apply multiple profiles with flags:
  • # Applies the profiles profile1, profile2, profile3 and profile4 in this order
  • devspace dev --parent-profile=profile1 --parent-profile=profile2 --parent-profile=profile3 --profile=profile4
  • # You can also leave out the --profile flag and only the profiles
  • # profile1, profile2 and profile3 are appied
  • devspace dev --parent-profile=profile1 --parent-profile=profile2 --parent-profile=profile3
  • New options upload and download for hooks to upload or download files from a container:
  • hooks:
  • # Upload the complete local bin folder to the container path ./bin
  • - upload:
  • localPath: bin
  • containerPath: bin
  • where:
  • container:
  • imageName: default
  • when:
  • after:
  • deployments: deployment-1
  • # Download a single file from the container to the local path
  • - download:
  • localPath: build/artifact.jar
  • containerPath: build/artifact-test.jar
  • where:
  • container:
  • imageName: java
  • when:
  • after:
  • deployments: deployment-2
  • Other:
  • Profiles can now be used to change the commands section. It is now possible to have commands that are only available or change with specific profiles. A profile can be used with devspace run by supplying the flag before the run: devspace --profile my-special-command-profile run profile-command
  • Removed several options in devspace init that would lead to an incomplete devspace.yaml
  • The flags --save-vars and --restore-vars are now global
  • Fixed an issue where replacing certain fields with profiles.replace would lead to a yaml error
  • Fixed an issue where deployment within a cluster kube-context was not possible
  • Fixed an issue where the namespace was wrong when executing devspace within a cluster
  • Fixed a potential race during initial sync upload
  • Fixed a potential endless loop during initial sync if upstream was disabled

New in DevSpace 5.7.0 Beta 2 (Jan 9, 2021)

  • New Features:
  • New flag --parent-profile to apply multiple profiles with flags:
  • Applies the profiles profile1, profile2, profile3 and profile4 in this order
  • devspace dev --parent-profile=profile1 --parent-profile=profile2 --parent-profile=profile3 --profile=profile4
  • You can also leave out the --profile flag and only the profiles
  • profile1, profile2 and profile3 are appied
  • devspace dev --parent-profile=profile1 --parent-profile=profile2 --parent-profile=profile3
  • New options upload and download for hooks to upload or download files from a container:
  • hooks:
  • Upload the complete local bin folder to the container path ./bin
  • upload:
  • localPath: bin
  • containerPath: bin
  • where:
  • container:
  • imageName: default
  • when:
  • after:
  • deployments: deployment-1
  • Download a single file from the container to the local path
  • download:
  • localPath: build/artifact.jar
  • containerPath: build/artifact-test.jar
  • where:
  • container:
  • imageName: java
  • when:
  • after:
  • deployments: deployment-2
  • New predefined variable ${DEVSPACE_VERSION}
  • New options hooks.when.before.purgeDeployments, hooks.when.after.purgeDeployments andhooks.when.onError.purgeDeployments to execute hooks on devspace purge
  • New option dev.interactive.terminal.workDir to specify a working directory to open the terminal in
  • New flag --workdir for devspace enter and devspace dev to specify a working directory to open the terminal in or execute an command in
  • Other:
  • Profiles can now be used to change the commands section. It is now possible to have commands that are only available or change with specific profiles. A profile can be used with devspace run by supplying the flag before the run: devspace --profile my-special-command-profile run profile-command
  • Removed several options in devspace init that would lead to an incomplete devspace.yaml
  • The flags --save-vars and --restore-vars are now global
  • Fixed an issue where replacing certain fields with profiles.replace would lead to an yaml error
  • Fixed an issue where deployment within an cluster kube context was not possible
  • Fixed an issue where the namespace was wrong when executing devspace within a cluster
  • Fixed a potential race during initial sync upload

New in DevSpace 5.7.0 Beta 1 (Jan 7, 2021)

  • New Features:
  • New flag --parent-profile to apply multiple profiles with flags:
  • Applies the profiles profile1, profile2, profile3 and profile4 in this order
  • devspace dev --parent-profile=profile1 --parent-profile=profile2 --parent-profile=profile3 --profile=profile4
  • You can also leave out the --profile flag and only the profiles
  • profile1, profile2 and profile3 are appied
  • devspace dev --parent-profile=profile1 --parent-profile=profile2 --parent-profile=profile3
  • New options upload and download for hooks to upload or download files from a container:
  • hooks:
  • Upload the complete local bin folder to the container path ./bin
  • upload:
  • localPath: bin
  • containerPath: bin
  • where:
  • container:
  • imageName: default
  • when:
  • after:
  • deployments: deployment-1
  • Download a single file from the container to the local path
  • download:
  • localPath: build/artifact.jar
  • containerPath: build/artifact-test.jar
  • where:
  • container:
  • imageName: java
  • when:
  • after:
  • deployments: deployment-2
  • New predefined variable ${DEVSPACE_VERSION}
  • New options hooks.when.before.purgeDeployments, hooks.when.after.purgeDeployments andhooks.when.onError.purgeDeployments to execute hooks on devspace purge
  • New option dev.interactive.terminal.workDir to specify a working directory to open the terminal in
  • New flag --workdir for devspace enter and devspace dev to specify a working directory to open the terminal in or execute an command in
  • Other:
  • Removed several options in devspace init that would lead to an incomplete devspace.yaml
  • The flags --save-vars and --restore-vars are now global
  • The sync now only excludes .devspace/logs automatically instead of the complete .devspace folder
  • Fixed an issue where deployment within an cluster kube context was not possible
  • Fixed an issue where the namespace was wrong when executing devspace within a cluster
  • Fixed a potential race during initial sync upload

New in DevSpace 5.7.0 Beta 0 (Jan 5, 2021)

  • Changes:
  • New flag --parent-profile to apply multiple profiles with flags
  • New options upload and download for hooks to upload or download files from a container
  • New predefined variable ${DEVSPACE_VERSION}
  • New options hooks.when.before.purgeDeployments, hooks.when.after.purgeDeployments andhooks.when.onError.purgeDeployments to execute hooks on devspace purge
  • New option dev.interactive.terminal.workDir to specify a working directory to open the terminal in
  • New flag --workdir for devspace enter and devspace dev to specify a working directory to open the terminal in or execute an command in
  • Fixes an issue where the namespace was wrong when executing devspace within a cluster
  • Fixes a potential race during initial sync upload

New in DevSpace 5.6.5 (Jan 5, 2021)

  • Changes:
  • Updated go version to 1.15
  • Updated notify dependency
  • Build mac version without cgo
  • Updated component chart to 0.7.1

New in DevSpace 5.6.5 Pre-release (Jan 4, 2021)

  • Updated go version to 1.15
  • Updated notify dependency
  • Build mac version without cgo
  • Updated component chart to 0.7.1

New in DevSpace 5.6.4 (Dec 21, 2020)

  • Changes:
  • Fixed an issue where CTRL+C would terminate devspace terminal on older windows versions

New in DevSpace 5.6.3 (Dec 18, 2020)

  • Fixed an issue where port-forwarding wouldn't work anymore after auto-reload when imageName was specified.

New in DevSpace 5.6.2 (Dec 17, 2020)

  • Fixed an issue where devspace deploy would raise a panic if it cannot find the release right after deployment

New in DevSpace 5.6.1 (Dec 15, 2020)

  • Changes:
  • Fixed an issue where devspace build would not consider the --namespace flag
  • Fixed an issue where tags were not correctly passed to custom builders
  • DevSpace will now detect automatically during kaniko build if the build pod is failing and abort

New in DevSpace 5.6.1 Beta 0 (Dec 15, 2020)

  • Changes:
  • Fixed an issue where devspace build would not consider the --namespace flag
  • Fixed an issue where tags were not correctly passed to custom builders
  • DevSpace will now detect automatically during kaniko build if the build pod is failing and abort

New in DevSpace 5.6.0 (Dec 15, 2020)

  • Changes:
  • New option hooks.*.when.onError to execute hooks if an error has occured (#1239)
  • The following environment variables will now be passed to an executed hook:
  • DEVSPACE_HOOK_KUBE_CONTEXT: the name of the kube context that was used
  • DEVSPACE_HOOK_KUBE_NAMESPACE: the name of the kube namespace that was used
  • DEVSPACE_HOOK_OS_ARGS: json encoded os.Args that were used to call devspace
  • DEVSPACE_HOOK_ERROR: if an error has occured contains the error (only for onError hooks)
  • New option dependencies.*.vars to override variables in dependency configs:
  • # This will deploy the same dependency 2 times with different variable values
  • dependencies:
  • New config options images.*.build.kaniko.nodeSelector, images.*.build.kaniko.initImage and images.*.build.kaniko.serviceAccount that make the kaniko pod creation more customizable (#1240)
  • From now on, the sync helper binary, component chart and ui are compiled into the devspace binary and not downloaded anymore. This should reduce the time to deploy charts and makes it easier to use devspace in air-gapped environments
  • Fixes an issue in dependencies where loading a config with variables from a relative local path command could result in an error

New in DevSpace 5.6.0 Beta 1 (Dec 15, 2020)

  • New Features:
  • DevSpace will now replace '#' in image tags with random characters, which gives you more freedom to specify image tags with random components (#1188):
  • images:
  • app:
  • tags:
  • Each single hashtag will be replaced with a random character
  • my-###-latest
  • ${DEVSPACE_GIT_BRANCH}-#####
  • ${USER}-#####
  • '############'
  • DevSpace now allows you to specify tag(registry/repo/image) and image(registry/repo/image) in helm values to only insert a tag or the image name without any modification. This is useful for helm charts that split image and tag (#1188):
  • images:
  • default:
  • image: registry/repo/image
  • tags:
  • random-#####
  • deployments:
  • name: my-deployment
  • helm:
  • chart: ...
  • values:
  • Will be replaced by devspace to -> imageWithTag: registry/repo/image:random-xAhgW
  • imageWithTag: registry/repo/image
  • Will be replaced by devspace to -> image: registry/repo/image
  • image: image(registry/repo/image)
  • Will be replaced by devspace to -> tag: random-xAhgW
  • tag: tag(registry/repo/image)
  • New dev.logs.selectors option that allows you to specify additional label selectors to select pods you want to stream logs from:
  • images:
  • default:
  • image: registry/repo/image
  • dev:
  • logs:
  • images:
  • Selects all pods that use the image default (registry/repo/image)
  • default
  • selectors:
  • Selects all pods with the given label selector and streams the logs to the console
  • labelSelector:
  • abc: def
  • container: optional
  • namespace: optional
  • Hooks can now be executed in a container by specifying hooks.*.where.container:
  • ...
  • hooks:
  • command: "echo"
  • args: ["Hello from within the container!"]
  • where:
  • container:
  • imageName: default
  • Or select via labelSelector etc.
  • labelSelector: ...
  • when:
  • after:
  • deployments: my-deployment
  • ...
  • Hooks for images can now be specified for specific images instead of only "all":
  • images:
  • image-1:
  • image: registry/repo/image
  • image-2:
  • image: registry/repo/image
  • hooks:
  • command: "echo"
  • args: ["before", "all"]
  • when:
  • before:
  • images: all
  • command: "echo"
  • args: ["before", "image-1"]
  • when:
  • before:
  • images: image-1
  • command: "echo"
  • args: ["before", "image-2"]
  • when:
  • before:
  • images: image-2
  • New flags --container, --pod, --label-selector and --pick for command devspace restart
  • New config option hooks.*.background and hooks.*.silent to execute hooks without output or in the background.
  • Other Changes:
  • log streaming was greatly improved and should now automatically reconnect and recognize new upcoming pods that match the specified selectors. (#1149)
  • The sync output is now merged by default with the log output to make it clearer what DevSpace is doing in the background. You can disable this new behaviour and restore the old by specifying dev.logs.sync: false in the devspace.yaml
  • Improved the way DevSpace will select pods and containers for sync, port-forwarding and terminal
  • Updated the internal kubectl and helm versions that will be downloaded if there couldn't be any found in the PATH.
  • Fixed an issue where dev.autoReload.deployments would not correctly watch for changes to manifest folders and values files (#1255)
  • Fixed an issue where devspace init would create a failing devspace.yaml if the Dockerfile was missing ENTRYPOINT and CMD (#1252)
  • Fixed an issue where switching the profile would not redeploy, if it was deployed before with another profile
  • Fixed an issue on older windows systems where the terminal output was corrupted.
  • Fixed an issue where some .dockerignore statements were not correctly working with kaniko builder

New in DevSpace 5.6.0 Beta 0 (Dec 11, 2020)

  • DevSpace will now replace '#' in image tags with random characters, which gives you more freedom to specify image tags with random components
  • DevSpace now allows you to specify tag:registry/repo/image and image:registry/repo/image in helm values to only insert a tag or the image name without any modification. This is useful for helm charts that split image and tag
  • New dev.logs.selectors option that allows you to specify additional label selectors to select pods you want to stream
  • Log streaming was greatly improved and should now automatically reconnect and recognize new upcoming pods that match the specified selectors
  • Hooks for images can now be specified for specific images instead of only "all"
  • New flags --container, --pod, --label-selector and --pick for command devspace restart
  • Updated the internal kubectl and helm versions that will be downloaded if there couldn't be any found in the PATH.
  • Fixed an issue where dev.autoReload.deployments would not correctly watch for changes to manifest folders and values files (#1255)
  • Fixed an issue where devspace init would create a failing devspace.yaml if the Dockerfile was missing ENTRYPOINT and CMD (#1252)
  • Fixed an issue where switching the profile would not redeploy, if it was deployed before with another profile
  • Fixed an issue on older windows systems where the terminal output was corrupted.

New in DevSpace 5.5.0 (Dec 9, 2020)

  • New option hooks.*.when.onError to execute hooks if an error has occured (#1239):
  • This will print the error to the console that has occured during a deployment
  • hooks:
  • command: "sh"
  • os: linux,darwin
  • args:
  • 'echo "The following error has occured: $DEVSPACE_HOOK_ERROR"'
  • when:
  • onError:
  • deployments: all
  • The following environment variables will now be passed to an executed hook:
  • DEVSPACE_HOOK_KUBE_CONTEXT: the name of the kube context that was used
  • DEVSPACE_HOOK_KUBE_NAMESPACE: the name of the kube namespace that was used
  • DEVSPACE_HOOK_OS_ARGS: json encoded os.Args that were used to call devspace
  • DEVSPACE_HOOK_ERROR: if an error has occured contains the error (only for onError hooks)
  • New option dependencies.*.vars to override variables in dependency configs:
  • This will deploy the same dependency 2 times with different variable values
  • dependencies:
  • source:
  • path: my-dependency
  • vars:
  • name: TEST
  • value: value-1
  • source:
  • path: my-dependency
  • vars:
  • name: TEST
  • value: value-2
  • New config options images.*.build.kaniko.nodeSelector, images.*.build.kaniko.initImage and images.*.build.kaniko.serviceAccount that make the kaniko pod creation more customizable (#1240)
  • From now on, the sync helper binary, component chart and ui are compiled into the devspace binary and not downloaded anymore. This should reduce the time to deploy charts and makes it easier to use devspace in air-gapped environments
  • Fixes an issue in dependencies where loading a config with variables from a relative local path command could result in an error

New in DevSpace 5.4.1 (Nov 30, 2020)

  • Fixes:
  • Fixes an issue where devspace was wrongly tagged as a beta release

New in DevSpace 5.4.0 (Nov 28, 2020)

  • New Features:
  • Added source: command to variables. It is now possible to retrieve variable values from commands, e.g.:
  • images:
  • database:
  • image: "mysql:${MYSQL_VERSION}"
  • vars:
  • name: MYSQL_VERSION
  • source: command
  • command: echo
  • args: ["5.5"]
  • New DEVSPACE_GIT_BRANCH predefined variable that holds the current git branch
  • New option tagsAppendRandom that automatically adds a random suffix to each tag and avoids the rebuilding problem described in #1188
  • Fixes:
  • Fixes an issue where docker client creation for minikube could fail on windows and was not shown in DevSpace
  • Fixes an issue where local paths were wrong when using devspace dev --config other-folder/devspace.yaml (#1226)
  • Fixes a race condition in sync where the initial sync wouldn't wait for uploading a single file (#1223)
  • Fixes an issue where devspace restart wouldn't work without running devspace dev or devspace sync prior
  • Fixes an issue where pod restarts could lead to a timeout during devspace deploy/dev --wait
  • Improves the error message when injecting of the restart helper fails

New in DevSpace 5.4.0 Beta 0 (Nov 25, 2020)

  • New Features:
  • Added source: command to variables. It is now possible to retrieve variable values from commands
  • New DEVSPACE_GIT_BRANCH predefined variable that holds the current git branch
  • New option tagsAppendRandom that automatically adds a random suffix to each tag and avoids the rebuilding problem described in #1188
  • Fixes:
  • Fixes an issue where docker client creation for minikube could fail on windows and was not shown in DevSpace
  • Fixes an issue where local paths were wrong when using devspace dev --config other-folder/devspace.yaml (#1226)
  • Fixes a race condition in sync where the initial sync wouldn't wait for uploading a single file (#1223)
  • Fixes an issue where devspace restart wouldn't work without running devspace dev or devspace sync prior
  • Fixes an issue where pod restarts could lead to a timeout during devspace deploy/dev --wait
  • Improves the error message when injecting of the restart helper fails

New in DevSpace 5.3.0 Pre-release (Nov 20, 2020)

  • New Features:
  • New section pullSecrets that lets you define additional image pull secrets devspace should create in the target namespace (for more informations take a look at the docs):
  • images: ...
  • deployments: ...
  • pullSecrets:
  • Pull secret for the registry my-registry.com:5000
  • registry: my-registry.com:5000
  • username: my-user
  • password: my-password
  • Name of the pull secret
  • secret: my-pull-secret-name
  • Service accounts to add this pull secret to
  • serviceAccounts:
  • default
  • my-other-service-account
  • New options merge and strategicMerge in profiles which can now be used as an alternative to replace and patches (for more informations take a look at the docs):
  • images:
  • backend:
  • image: john/devbackend
  • backend-debugger:
  • image: john/debugger
  • deployments:
  • name: backend
  • helm:
  • componentChart: true
  • values:
  • containers:
  • image: john/devbackend
  • image: john/debugger
  • profiles:
  • name: production
  • merge:
  • images:
  • Change the backend image
  • backend:
  • image: john/prodbackend
  • Override deployments
  • deployments:
  • name: backend
  • helm:
  • componentChart: true
  • values:
  • containers:
  • image: john/prodbackend
  • New events for plugins & more context information from where a command was called (we also have now a complete plugin guide in the docs)
  • New flag --skip-deploy for devspace deploy to use it for building images or creating pull secrets only
  • New option hooks.[*].os to execute hooks only on certain operating systems
  • New events for dependencies and pull secrets for hooks
  • Other Changes:
  • devspace dev -i is now deprecated and will be removed with the next major devspace version. Please use profiles instead
  • Fixes an issue where hooks were not correctly parsed in plugins
  • Removed some unused dependencies

New in DevSpace 5.3.0 Beta 0 (Nov 18, 2020)

  • Fix patches.mdx

New in DevSpace 5.2.2 (Nov 10, 2020)

  • Changes
  • Updates kaniko default version to v1.3.0
  • Fixes an issue in kaniko build where the target was not set correctly
  • Fixes an issue in kaniko build on windows where the restart helper couldn't be injected
  • Fixes an issue in kaniko build on windows where files were not executable

New in DevSpace 5.2.2 Beta 0 (Nov 10, 2020)

  • Updates kaniko default version to v1.3.0
  • Fixes an issue in kaniko build where the target was not set correctly
  • Fixes an issue in kaniko build on windows where the restart helper couldn't be injected
  • Fixes an issue in kaniko build on windows where files were not executable

New in DevSpace 5.2.1 (Nov 7, 2020)

  • Changes:
  • Updated the component-chart to version v0.7.0 and added several new config options to initContainers (#1207)
  • If devspace cannot load a kubernetes config it falls back to the in cluster config if there is any (#1205)
  • devspace will now stream logs from all containers in a pod that have a matching image (#1211)
  • Fixed an issue where in certain circumstances a nil pointer panic could occur when devspace tries to ask a question

New in DevSpace 5.2.1 Pre-release (Nov 6, 2020)

  • Changes:
  • Updated the component-chart to version v0.7.0 and added several new config options to initContainers
  • If devspace cannot load a kubernetes config it falls back to the in cluster config if there is any
  • Devspace will now stream logs from all containers in a pod that have a matching image
  • Fixed an issue where in certain circumstances a nil pointer panic could occur when devspace tries to ask a question

New in DevSpace 5.2.0 (Oct 24, 2020)

  • New Features:
  • Adds deployments.*.helm.upgradeArgs, deployments.*.helm.templateArgs and deployments.*.helm.deleteArgs to helm options (#1192)
  • Adds a new environment variable DEVSPACE_SKIP_VERSION_CHECK to skip version check (#1198)
  • Adds a new config option profiles.*.parents that can define multiple parent profiles, e.g.: (#1199)
  • version: v1beta9
  • profiles:
  • name: multi-parents
  • New field that applies the profile deployments first and then the profile images
  • parents:
  • profile: deployments
  • profile: images
  • name: deployments
  • replace:
  • deployments:
  • name: my-deployment
  • helm:
  • componentChart: true
  • values:
  • containers:
  • name: test
  • name: images
  • replace:
  • images:
  • test:
  • image: mydockeruser/devspace
  • createPullSecret: true
  • Adds a new config option profiles.*.parents.*.source that can define profiles that lie in a different devspace.yaml: (#1200)
  • version: v1beta9
  • profiles:
  • name: dev
  • parents:
  • profile: images
  • source:
  • path: other-folder # devspace.yaml will be automatically appended to the path (same syntax as with dependencies)
  • or load from url
  • path: https://raw.githubusercontent.com/my-org/my-repo/master/devspace.yaml
  • or load from git
  • git: https://github.com/devspace-cloud/devspace.git
  • profile: deployments
  • source:
  • path: other-folder-2
  • Other:
  • Fixes an issue where add patches wouldn't work as expected
  • Upgrade kubernetes to v1.19.2
  • Removes helm v3 as a code dependency

New in DevSpace 5.1.2 (Oct 14, 2020)

  • Fixes an issue where devspace ui would return an 404 error

New in DevSpace 5.1.1 (Oct 13, 2020)

  • Fixes:
  • Fixes an issue where the terminal didn't have the correct size (#1190)
  • Fixed an issue where larger files couldn't be forwarded correctly in remote port forwarding
  • Other:
  • Updates the component chart to v0.6.0

New in DevSpace 5.1.0 (Oct 2, 2020)

  • New Features:
  • Added a new flag --print-sync to devspace dev that prints the sync output to the console and prevents any other output (#1111)
  • Added devspace save vars and devspace restore vars that save or restore devspace config variables from kubernetes secrets
  • Added a new config option dev.sync.initialCompareBy that allows you to specify that a file should only be synced if the file size has changed during initial sync (#1177)
  • Added a new command devspace restart that triggers a restart for all containers where dev.sync.onUpload.restartContainer was specified (#1161)
  • Added an option dev.sync.throttleChangeDetection to configure throttling of downstream change detection
  • Added --save-vars and --restore-vars as flags to devspace dev and devspace deploy
  • Changes:
  • devspace will now throttle remote change detection for each scanned 100 files by 5ms by default. This should drastically decrease CPU usage of the devspacehelper binary. For large folders the throttle amount can be configured by the new option dev.sync. throttleChangeDetection
  • Added new github docker registry option to devspace init
  • Upgrade devspace messages are now only displayed at certain commands instead of every command
  • Fixes:
  • Fixes an issue where upgrade message could be displayed where they shouldn't
  • Disable klog messages for the devspace command (#1179)

New in DevSpace 5.0.3 (Sep 8, 2020)

  • Changes:
  • Adds a new flag --port to devspace open where the exact port can be specified (#1166)
  • Adds a new flag --host to devspace ui where the hostname can be specified that devspace should listen on (#1163)
  • Adds a new predefined variable DEVSPACE_PROFILE that contains the current selected profile (#1160)
  • Add startupProbe for component-chart (#1157)
  • Fixes an issue where the wrong path was taken for DEVSPACE_GIT_COMMIT, when specified in a dependency (#1165)

New in DevSpace 5.0.2 (Aug 11, 2020)

  • Fixes an issue where the Dockerfile was not correctly parsed (#1153)
  • Added a search bar for the devspace ui to filter pods (#1133)

New in DevSpace 5.0.2 Dev (Aug 10, 2020)

  • Changes:
  • Fixes an issue where the Dockerfile was not correctly parsed (#1153)
  • Added a search bar for the devspace ui to filter pods (#1133)

New in DevSpace 5.0.1 (Aug 10, 2020)

  • Fixes an issue where the Dockerfile was not correctly parsed (#1153)
  • Added a search bar for the devspace ui to filter pods (#1133)

New in DevSpace 5.0.0 (Aug 6, 2020)

  • BREAKING CHANGES:
  • devspace-cloud related functionality was completely removed from devspace and moved into a separate devspace plugin devspace-cloud-plugin. To add devspace-cloud functionality again, execute: devspace add plugin https://github.com/devspace-cloud/devspace-cloud-plugin
  • After installing the plugin, devspace should work the same way as before.In addition to the devspace-cloud plugin, there is a new loft-devspace-plugin that will add loft cli functionality to devspace, similar to the devspace-cloud plugin. You can install the loft plugin via: devspace add plugin https://github.com/loft-sh/loft-devspace-plugin
  • NOTE: Please make sure that you do not install the loft and devspace-cloud plugin at the same time, since they add commands that overlap with each other e.g. devspace login that will cause problems.
  • Plugins:
  • Added plugins to devspace that extend the functionality of devspace by additional commands, variables and command extensions. A plugin in devspace is defined by a plugin.yaml that specifies the additional functionality and a platform dependent binary that executes that functionality.
  • Other Changes:
  • Added predefined variables DEVSPACE_NAMESPACE and DEVSPACE_CONTEXT (#1137)
  • Fixed an issue where kustomize was not used correctly (#1135)

New in DevSpace 5.0.0 Beta 0 (Jul 30, 2020)

  • Added predefined variables DEVSPACE_NAMESPACE and DEVSPACE_CONTEXT (#1137)
  • Fixed an issue where kustomize was not used correctly (#1135)
  • Plugins:
  • Added plugins to devspace that extend the functionality of devspace by additional commands, variables and command extensions. A plugin in devspace is defined by a plugin.yaml that specifies the additional functionality and a platform dependent binary that executes that functionality.
  • devspace can add plugins via git, local path or an URL:
  • Add plugin from git repo:
  • devspace add plugin https://github.com/devspace-cloud/devspace-cloud-plugin
  • Add plugin from url:
  • devspace add plugin https://raw.githubusercontent.com/devspace-cloud/devspace-cloud-plugin/master/plugin.yaml
  • Add plugin from local path:
  • devspace add plugin ./my-folder/plugin.yaml

New in DevSpace 4.14.0 (Jul 17, 2020)

  • Changes:
  • devspace now automatically creates deployment namespaces if they do not exist before deploying (#1127)
  • New config option images.*.build.kaniko.resources to support specifying the kaniko pod resources in the devspace.yaml (#1126)
  • Fixes:
  • Fixes a security vulnerability in the devspace ui server (CVE-2020-15391, thanks to Barak Tawily and Amit De-Paz for identifying and reporting this issue) (#1128)

New in DevSpace 4.14.0 Pre-release (Jul 16, 2020)

  • Changes:
  • devspace now automatically creates deployment namespaces if they do not exist before deploying (#1127)
  • New config option images.*.build.kaniko.resources to support specifying the kaniko pod resources in the devspace.yaml (#1126)
  • Fixes:
  • Fixes a security vulnerability in the devspace ui server (CVE-2020-15391, thanks to Barak Tawily and Amit De-Paz for pointing out) (#1128)

New in DevSpace 4.13.1 Pre-release (Jul 1, 2020)

  • Fixes an issue in the restart helper script, where the wrong sync binary path was checked for existence

New in DevSpace 4.13.0 (Jun 20, 2020)

  • New Features:
  • devspace is now able to reverse port-forward specific local ports to a remote pod. This means you can access certain ports on the local machine within the pod. This feature can be configured via the new config option dev.ports.reverseForward (#1030
  • New config option images.*.appendDockerfileInstructions that specifies additional instructions that will be appended to the dockerfile during the build process. This makes it possible to execute certain Dockerfile instructions only during development without changing the Dockerfile itself.
  • You can now pass flags to the devspace run command: devspace --run-flag run command --command-flag
  • New --dependency flag for devspace run that will execute a command from a specific dependency. devspace will also switch the current working directory to the dependency path. Only works for dependencies that have a dependencies.*.name configured.
  • New --dependency flag for devspace build that will build only images from a specific dependency. Only works for dependencies that have a dependencies.*.name configured. (#1113
  • New config option commands.description to describe devspace commands, that is shown via devspace list commands (#1115
  • Other Changes:
  • Fixes an issue where a container restart after a sync operation was not possible for non root users (#1086
  • Added auto completion scripts for various shells (#1114
  • devspace now automatically installs kubectl if it cannot be found in the PATH and is defined as a deployment method
  • Updated internal kubernetes & helm versions

New in DevSpace 4.13.0 Beta 1 (Jun 19, 2020)

  • Merge pull request #1119 from LukasGentele/docs-v4.13

New in DevSpace 4.12.5 (May 17, 2020)

  • Fixes issues when installing devspace via npm

New in DevSpace 4.12.3 (May 12, 2020)

  • Improved the npm installer
  • Fixed an issue where the terminal in the frontend UI wouldn't open for some pods
  • Fixed a potential nil pointer during kaniko build (#1097)

New in DevSpace 4.12.2 (Apr 23, 2020)

  • Improved environment flag parsing and commands like DEVSPACE_ENTER_FLAGS=--namespace=test devspace --pod test enter should work now correctly
  • Environment default flags can now be set for every command including subcommands (e.g. devspace create space -> DEVSPACE_CREATE_SPACE_FLAGS)
  • Fixes an issue where devspace was not correctly parsing command arguments (#977)
  • Fixes a nil pointer in the docker authentification if no docker config exists (#1076)
  • Fixes an issue where devspace was parsing kustomize version incorrectly for newer kustomize versions (#859)

New in DevSpace 4.12.1 (Apr 18, 2020)

  • If the .env file cannot be loaded, devspace will only print a warning instead of a fatal
  • The flags --switch-context, --namespace and --kube-context can now be used together. --kube-context and --namespace take precedence over --switch-context
  • Fixes an issue where the .env file could cause issues in combination with devspace-cloud spaces (#1068)

New in DevSpace 4.12.1 Pre-release (Apr 17, 2020)

  • If the .env file cannot be loaded, devspace will only print a warning instead of a fatal
  • The flags --switch-context, --namespace and --kube-context can now be used together. --kube-context and --namespace take precedence over --switch-context
  • Fixes an issue where the .env file could cause issues in combination with devspace-cloud spaces (#1068)

New in DevSpace 4.12.0 (Apr 16, 2020)

  • Changes:
  • Devspace is now able to load environment variables from an .env file (like docker-compose) in the project folder (#1068)
  • You can now set default flags for devspace via the environment variable DEVSPACE_FLAGS, futhermore it is possible to set default flags for certain commands only with the environment variables in the form of DEVSPACE_[COMMAND]_FLAGS, e.g. DEVSPACE_BUILD_FLAGS for devspace build, DEVSPACE_DEV_FLAGS for devspace dev etc. (#1068)
  • Adds an option to force variables as string values with $!{myvariable} (by default, variables will now have the same type as their default value if it is defined in devspace.yaml)
  • devspace use context/namespace/space and devspace create space now resets the context & namespace for the project as well
  • Improved sync error messages if compressing or decompressing fails
  • Fixes:
  • Fixes an issue where devspace enter has no output in non shell environments
  • Fixes an issue where the wrong sync error message was displayed (#892)
  • Fixes an issue where the default value of a variable was converted to an integer or boolean (#1069)
  • Fixes an issue where defining variables in the command section was not possible and resulted in an error silenced logger cannot ask questions

New in DevSpace 4.12.0 Beta 1 (Apr 15, 2020)

  • Changes:
  • Devspace is now able to load environment variables from an .env (like docker-compose) file in the project folder (#1068)
  • You can now set default flags for devspace via the environment variable DEVSPACE_FLAGS, futhermore it is possible to set default flags for certain commands only with the environment variables in the form of DEVSPACE_[COMMAND]_FLAGS, e.g. DEVSPACE_BUILD_FLAGS for devspace build, DEVSPACE_DEV_FLAGS for devspace dev etc. (#1068)
  • Adds an option to force variables as string values with $!{myvariable}
  • devspace use context/namespace/space and devspace create space now resets the context & namespace for the project as well
  • Improved sync error messages if compressing or decompressing fails
  • Fixes:
  • Fixes an issue where devspace enter has no output in non shell environments
  • Fixes an issue where the wrong sync error message was displayed (#892)
  • Fixes an issue where the default value of a variable was converted to an integer or boolean (#1069)
  • Fixes an issue where defining variables in the command section was not possible and resulted in an error silenced logger cannot ask questions

New in DevSpace 4.11.1 (Apr 8, 2020)

  • Fix issue where initial-sync did not respect exclude paths

New in DevSpace 4.11.0 Beta 2 (Apr 7, 2020)

  • New config version v1beta9 (old config versions will get converted in memory automatically as always):
  • new images.*.injectRestartHelperif this option is true DevSpace injects a small restart script into the container and wraps the entrypoint of that container with this script, so DevSpace is able to restart the main container process during the sync process. Only works if there is either an Entrypoint defined in the DevSpace config or in the dockerfile for this image, otherwise DevSpace will fail. See Container Restart above for more information.
  • new dev.sync.*.onUpload.restartContainerif this option is true DevSpace will try to restart the container main process after a change has been made. Only works if images.*.injectRestartHelper is enabled for the container that should be restarted or the devspace-restart-helper script is present in the container root folder. See Container Restart above for more information.
  • new dev.sync.*.onUpload.execRemote.onBatchexecutes the given command after a batch of changes has been processed. DevSpace will wait for the command to finish and then will continue execution. This is useful for commands that shouldn't be executed after every single change that may take a little bit longer like recompiling etc.
  • new images.*.preferSyncOverRebuildif enabled, DevSpace will not rebuild the image even though files have changed within the building context if a syncpath for this image is defined. Since this was the default behavior for all images before this change, older config versions will convert this to be enabled so that this is a non breaking change.
  • DevSpace now prefers docker over kaniko if both are set in the config

New in DevSpace 4.11.0 Beta 1 (Apr 6, 2020)

  • Automatic Container Restart:
  • In compiled programming languages such as golang it is cumbersome to build a container that is able to automatically reload on a file change. With v4.11.0 and config version v1beta9, DevSpace is able to do the heavy lifting for you and simplifies the process drastically in a non invasive way. You only have to set 2 config options in the devspace.yaml and it should work for most Dockerfiles and applications out of the box.
  • Other Changes:
  • New config version v1beta9 (old config versions will get converted in memory automatically as always):
  • new images.*.injectRestartHelper: if this option is true DevSpace injects a small restart script into the container and wraps the entrypoint of that container with this script, so DevSpace is able to restart the main container process during the sync process. Only works if there is either an Entrypoint defined in the DevSpace config or in the dockerfile for this image, otherwise DevSpace will fail. See Container Restart above for more information.
  • new dev.sync.*.onUpload.restartContainer: if this option is true DevSpace will try to restart the container main process after a change has been made. Only works if images.*.injectRestartHelper is enabled for the container that should be restarted or the devspace-restart-helper script is present in the container root folder. See Container Restart above for more information.
  • new dev.sync.*.onUpload.execRemote.onBatch: executes the given command after a batch of changes has been processed. DevSpace will wait for the command to finish and then will continue execution. This is useful for commands that shouldn't be executed after every single change that may take a little bit longer like recompiling etc.
  • new images.*.preferSyncOverRebuild: if enabled, DevSpace will not rebuild the image even though files have changed within the building context if a syncpath for this image is defined. Since this was the default behavior for all images before this change, older config versions will convert this to be enabled so that this is a non breaking change.
  • DevSpace now prefers docker over kaniko if both are set in the config

New in DevSpace 4.10.0 Pre-release (Apr 3, 2020)

  • Changes:
  • New --image flag for devspace enter, devspace logs & devspace attach that selects a pod by the provided devspace config image name
  • New option images.*.build.kaniko.image that makes it possible to specify a custom kaniko build image
  • New option images.*.build.kaniko.additionalMounts that allows to specify additional custom mounts for the kaniko pods
  • Fixes:
  • Fixed an issue that could lead to devspace uploading a corrupt sync helper binary into a container which resulted in the sync error command terminated with exit code 139

New in DevSpace 4.9.4 (Apr 2, 2020)

  • Fixes an issue where the option images.*.build.kaniko.cache had no effect

New in DevSpace 4.9.3 (Apr 1, 2020)

  • Fixes an issue where kubectl deployments with older versions of kubectl would only deploy a single yaml
  • devspace now caches kube clients to avoid the constructing many client instances from the same exec auth config warning
  • devspace now shows the docker image building output if all images are disabled except one

New in DevSpace 4.9.3 Beta 1 (Apr 1, 2020)

  • Changes:
  • Fixes an issue where kubectl deployments with older versions of kubectl would only deploy a single yaml
  • devspace now caches kubectl clients to avoid the constructing many client instances from the same exec auth config warning
  • devspace now shows the docker image building output if all images are disabled except one

New in DevSpace 4.9.1 (Mar 28, 2020)

  • Changes:
  • Devspace now requires(!) git cli to clone git dependencies (see above)
  • Devspace now by default clones dependencies with the --depth 1 option, you can disable this via the new dependencies.*.source.disableShallow option
  • New config option dependencies.*.source.cloneArgs to specify custom arguments for cloning a dependency (#1033)
  • Devspace sync now creates the local sync path if it does not exist (#1031)
  • Predefined components were removed
  • Fixes:
  • Fixes an issue where devspace deploy with kubectl 1.18 is not working anymore (#1034)
  • Fixes an issue where devspace was not waiting long enough for tiller to get ready

New in DevSpace 4.9.0 (Mar 27, 2020)

  • Changes:
  • devspace now requires(!) git cli to clone git dependencies (see above)
  • devspace now by default clones dependencies with the --depth 1 option, you can disable this via the new dependencies.*.source.disableShallow option
  • New config option dependencies.*.source.cloneArgs to specify custom arguments for cloning a dependency (#1033)
  • devspace sync now creates the local sync path if it does not exist (#1031)
  • Predefined components were removed
  • Fixes:
  • Fixes an issue where devspace deploy with kubectl 1.18 is not working anymore (#1034)
  • Fixes an issue where devspace was not waiting long enough for tiller to get ready

New in DevSpace 4.8.0 (Mar 23, 2020)

  • New config version v1beta8:
  • new option deployments.*.kubectl.deleteArgs that allows to specify custom arguments for the kubectl delete command during devspace purge
  • new option deployments.*.kubectl.createArgs that allows to specify custom arguments for the kubectl create command during deployment
  • new option deployments.*.kubectl.kustomizeArgs that allows to specify custom arguments for the kustomize build command during deployment
  • rename option images.*.build.kaniko.flags -> images.*.build.kaniko.args
  • rename option deployments.*.kubectl.flags -> deployments.*.kubectl.applyArgs
  • Use kustomize from path if available to render manifests instead of kubectl -k (#859)
  • Allows non built images to be used as image selector (#1000)
  • Fixes an issue where the devspace sync flags --upload-only and --download-only where ignored in combination with --config (#1004)
  • Updates internal helm to v3.1.2
  • Updates internal kubernetes to v1.17.3

New in DevSpace 4.8.0 Beta 1 (Mar 20, 2020)

  • New config version v1beta8:
  • new option deployments.*.kubectl.deleteArgs that allows to specify custom arguments for the kubectl delete command during devspace purge
  • new option deployments.*.kubectl.createArgs that allows to specify custom arguments for the kubectl create command during deployment
  • new option deployments.*.kubectl.kustomizeArgs that allows to specify custom arguments for the kustomize build command during deployment
  • rename option images.*.build.kaniko.flags -> images.*.build.kaniko.args
  • rename option images.*.build.custom.imageFlag -> images.*.build.custom.imageArg
  • rename option deployments.*.kubectl.flags -> deployments.*.kubectl.applyArgs
  • Use kustomize from path if available to render manifests instead of kubectl -k (#859
  • Allows non built images to be used as image selector (#1000
  • Fixes an issue where the devspace sync flags --upload-only and --download-only where ignored in combination with --config (#1004

New in DevSpace 4.7.0 (Mar 18, 2020)

  • Changes:
  • New option images.*.build.custom.appendArgs to append arguments to the build command
  • Fixes:
  • Fixes an issue where the arguments specified under images.*.build.custom.args were appended instead of prepended (#1019)
  • Fixes an issue where multiple custom builds would not be correctly executed
  • Fixes an issue where the option deployments.*.namespace was not applied for helm v3 deployments (#1015)

New in DevSpace 4.6.2 (Mar 13, 2020)

  • Fixes:
  • Makes helm deployments more resilient and independent of the local helm configuration (especially repositories.yaml).

New in DevSpace 4.6.1 (Mar 4, 2020)

  • Fixes:
  • Fixes an issue where renaming the image config name could result in devspace not correctly replacing the image tag during devspace deploy/render (#998)

New in DevSpace 4.6.0 (Mar 4, 2020)

  • New Features:
  • Profile Inheritance: introduced a new option profiles.*.parent that specifies a parent profile that is applied before the actual specified profile. This allows you to specify base profiles that contain common patches or replacements and reduce profile boilerplate (#862)
  • New config version v1beta7:
  • like always, DevSpace will automatically convert old config versions up to v1beta7 in memory
  • dev.sync.downloadOnInitialSync is removed in favor of dev.sync.initalSync which specifies one of the following initialSync strategies (#903):
  • mirrorLocal (default): will upload all missing files in the container and delete all files that are not present locally
  • mirrorRemote: will download all missing files locally and delete all files locally that are not present in the container
  • preferLocal: will not delete any files, but download and upload missing files and if a file exists on both sides prefer the local file if they differ
  • preferRemote: same as preferLocal but the remote file takes precedence
  • preferNewest: will not delete any files, but download and upload missing files and if a file exists on both sides prefer the newer one
  • keepAll: will not delete any files, but download and upload missing files and leave files that exist in both places untouched
  • images.tag is renamed to images.tags to allow multiple tags to be specified (#972)
  • New option for vars.source none, that can only be filled from the default value (#951)
  • devspace sync: new flag --initial-sync that takes an initialSync strategy as argument. The flag --download-on-initial-sync has been deprecated.
  • devspace build: the flag --tag can be now applied multiple times, which results in multiple tags built & pushed for the given images
  • devspace dev/deploy: new --wait and --timeout flag that will wait after deploying for all pods to become ready in the namespace (#954)
  • devspace analyze: new --patient flag that will ignore errors until the given timeout is reached or return when no problems were found (#954)
  • New deployments.*.helm.path option that specifies where the v2 cli can be found
  • Changes:
  • Deploying with helm v2 now will download the helm cli automatically (if no v2 binary is found in the path) and deploy through the cli instead of an integrated version in DevSpace (#971)
  • devspace build/dev/deploy: since this caused a lot of confusion, --force-dependencies is now defaulting to true
  • Updated helm version to v3.1.1
  • Updated kubernetes version to v1.17.2
  • Updated kaniko version to v0.17.1
  • Fixes:
  • Fixes a nil pointer in devspace use namespace that occured if the kube config couldn't be loaded correctly (#961)
  • Fixes an issue where devspace purge --dependency could hang (#964)
  • Improved the error message when a question couldn't be asked due to the logger being silenced (#975)

New in DevSpace 4.6.0 Pre-release (Mar 3, 2020)

  • NEW FEATURES:
  • Profile Inheritance: introduced a new option profiles.*.parent that specifies a parent profile that is applied before the actual specified profile. This allows you to specify base profiles that contain common patches or replacements and reduce profile boilerplate (#862)
  • New config version v1beta7:
  • like always, DevSpace will automatically convert old config versions up to v1beta7 in memory
  • dev.sync.downloadOnInitialSync is removed in favor of dev.sync.initalSync which specifies one of the following initialSync strategies (#903):
  • mirrorLocal (default): will upload all missing files in the container and delete all files that are not present locally
  • mirrorRemote: will download all missing files locally and delete all files locally that are not present in the container
  • preferLocal: will not delete any files, but download and upload missing files and if a file exists on both sides prefer the local file if they differ
  • preferRemote: same as preferLocal but the remote file takes precedence
  • preferNewest: will not delete any files, but download and upload missing files and if a file exists on both sides prefer the newer one
  • keepAll: will not delete any files, but download and upload missing files and leave files that exist in both places untouched
  • images.tag is renamed to images.tags to allow multiple tags to be specified (#972)
  • New option for vars.source none, that can only be filled from the default value (#951)
  • devspace sync: new flag --initial-sync that takes an initialSync strategy as argument. The flag --download-on-initial-sync has been deprecated.
  • devspace build: the flag --tag can be now applied multiple times, which results in multiple tags built & pushed for the given images
  • devspace dev/deploy: new --wait and --timeout flag that will wait after deploying for all pods to become ready in the namespace (#954)
  • devspace analyze: new --patient flag that will ignore errors until the given timeout is reached or return when no problems were found (#954)
  • New deployments.*.helm.path option that specifies where the v2 cli can be found
  • CHANGES:
  • Deploying with helm v2 now will download the helm cli automatically (if no v2 binary is found in the path) and deploy through the cli instead of an integrated version in DevSpace (#971)
  • devspace build/dev/deploy: since this caused a lot of confusion, --force-dependencies is now defaulting to true
  • Updated helm version to v3.1.1
  • Updated kubernetes version to v1.17.2
  • Updated kaniko version to v0.17.1
  • FIXES:
  • Fixes a nil pointer in devspace use namespace that occured if the kube config couldn't be loaded correctly (#961)
  • Fixes an issue where devspace purge --dependency could hang (#964)
  • Improved the error message when a question couldn't be asked due to the logger being silenced (#975)

New in DevSpace 4.5.4 (Feb 20, 2020)

  • Fixed an issue where multiple images where not correctly built (#949)
  • Fixed an issue where opening multiple urls was not correctly working (#952)

New in DevSpace 4.5.3 (Feb 18, 2020)

  • Fixed an issue where dependencies were deployed in reverse order (#946)
  • Fixed an issue where ${DEVSPACE_GIT_COMMIT} was not correctly loaded in a dependency configuration (#947)

New in DevSpace 4.5.2 (Feb 14, 2020)

  • Enhancements:
  • Add optional new config option dependencies.*.name to identify dependencies
  • Adds new flag --dependency to devspace render, devspace purge and devspace deploy to individually handle dependency deployment / deletion (#906)
  • devspace render is now able to render dependencies aswell
  • New config option images.*.build.docker.args to specify custom cli flags (as soon as args are defined, DevSpace will build images via the command line instead of using the internal docker library) (#884)
  • Allows config patches to patch parts of the config vars section (#904)
  • Added a new question to devspace init to allow skipping registry selection for local kubernetes clusters (#907)
  • Updated the component helm chart to v0.1.3 (#913, #912, #900)
  • Switches component chart helm repository from charts.devspace.cloud to charts.devspace.sh (#889)
  • Fixes:
  • Fixes an issue in devspace render, where 2 successive helm templates where not rendered correctly (#943)
  • Fixes an issue where the command devspace status sync was not working correctly (#921)
  • Fixed an issue where the localSubPath of the sync config is not correctly applied when devspace sync --config (#933)
  • Fixed a nil pointer in devspace render (#927)
  • Fixed a possible nil pointer in devspace login
  • Improved cannot sync root path error message (#915)

New in DevSpace 4.5.0 (Jan 30, 2020)

  • New features:
  • New devspace print command that prints the current loaded config (with all filled variables, applied configs etc.), profile and variables (#893)
  • Changes:
  • devspace sync will not sync to the root folder / anymore to prevent misconfiguration if the root folder is the current working directory. If you really need to sync the root folder you have to specify it now explicitly as the container path (e.g. devspace sync --container-path /).
  • Fixes:
  • Improve devspace ui 'Stack' view with actually loaded variables instead of just recently loaded variables
  • Fixed an issue with devspace add provider that prevented users from adding new providers
  • FIxed an issue in devspace render where helm templates were not shown correctly

New in DevSpace 4.4.0 (Jan 21, 2020)

  • New Features:
  • devspace sync is now able to only upload or download files via the --upload-only and --download-only flags (#871)
  • New sync options sync.*.onDownload & sync.*.onUpload to execute custom commands locally or in the container if a file / folder gets uploaded or downloaded (#849)
  • devspace sync is now able to load a sync configuration from a devspace.yaml via the --config flag (#863)
  • New global --config flag that allows you to specify the path of the devspace.yaml to use for the command
  • Fixes:
  • Fix an issue where devspace sync would not correctly reconnect (#885)
  • Fix an issue where remote manifests could not be deployed via kubectl (#864)
  • Fix an issue where variables in dependencies were not correctly resolved (#873)
  • Some internal code refactorings

New in DevSpace 4.3.4 (Dec 18, 2019)

  • Sync and portforwarding will now completely restart if an issue is encountered meanwhile (#835 & #833)
  • Fixed an issue where the .dockerignore was ignored to decide if an image should be rebuild (#838)
  • New config version v1beta6: renamed images[].build.custom.flags to images[].build.custom.args (#830). This is not a breaking change, older config versions will be converted in memory automatically.
  • Fixed an issue where sometimes devspace deploy was not rebuilding, even though the image build context has changed
  • Bump internal helm version to v3.0.1
  • Some internal refactoring & improvements

New in DevSpace 4.3.2 (Dec 13, 2019)

  • Improved sync algorithm: the sync should be now more stable and will automatically retry to upload or download changes if a failure occurs midway (#820)
  • Stable charts are now working out of the box with DevSpace and Helm v3 (#828)
  • Fixed an issue where dependencies were not redeployed when the kube context has changed (#825)
  • Fixed a potential nil pointer when using the labelSelector option in dev.terminal

New in DevSpace 4.3.2 Pre-release (Dec 3, 2019)

  • Changes:
  • Improved sync algorithm: the sync should be now more stable and will automatically retry to upload or download changes if a failure occurs midway (#820)
  • Stable charts are now working out of the box with DevSpace and Helm v3 (#828)
  • Fixed an issue where dependencies were not redeployed when the kube context has changed (#825)
  • Fixed a potential nil pointer when using the labelSelector option in dev.terminal

New in DevSpace 4.3.1 (Nov 28, 2019)

  • Fixed a nil pointer that could occur during space creation

New in DevSpace 4.3.0 (Nov 26, 2019)

  • New Features:
  • DevSpace now works with Helm v3. Helm v3 is now the default option for the new config version v1beta5. Older config versions such as v1beta4 (devspace < v4.3.0) will still use helm v2 by default and work as expected. DevSpace will as usual automatically upgrade the existing config to the newest version in memory. Helm v2 can still be used by setting the option deployments[*].helm.v2 to true. (#807)
  • New helm options: deployments[*].helm.recreate, deployments[*].helm.atomic, deployments[*].helm.driver (helm v3 only) & deployments[*].helm.cleanupOnFail. These options mimic the command line flags helm provides (see helm upgrade flags for more information)
  • Changes:
  • DevSpace now allows all kubectl auth plugins (#794)
  • Upgrade internal helm v2 version to 2.16.1
  • Some internal refactorings

New in DevSpace 4.2.1 (Nov 12, 2019)

  • Updated internal kubernetes version to 1.16.2
  • Updated internal helm version to 2.16.0
  • Updated deployed tiller version to 2.16.0 (#792)
  • Fix issue in npm installer where asking a question during uninstall could lead to problems in automated environments (#798)
  • Fix an issue with autoscaling in the helm component chart (#789)
  • UI: Add Github button

New in DevSpace 4.2.0 (Nov 8, 2019)

  • Localhost UI:
  • You are now able to start the UI (even without a devspace.yaml config) to inspect any namespace in any cluster. Just run devspace ui anywhere on your computer to open the UI.
  • During devspace dev or with devspace ui DevSpace will now start a local UI server, that you can access via your browser. This works with every cluster regardless of Devspace Cloud. The Web UI is able to stream logs, proxy terminals, forward ports, run devspace run commands and has some other useful features.
  • Other changes:
  • New --wait flag for devspace enter that will wait till the pods are ready
  • Fix issue where devspace tries to always create a clusterrolebinding for gke clusters (#762)
  • Fix issue where devspace couldn't be executed correctly in a pipeline (#763)
  • Fix issue where devspace was not waiting long enough for pods to become running (#760)
  • Fix issue where devspace could not be installed via yarn (#772)

New in DevSpace 4.2.0 Beta 1 (Oct 29, 2019)

  • Adds frontend UI

New in DevSpace 4.1.3 (Oct 22, 2019)

  • Changes:
  • devspace update config will now show a warning that profiles are not updated automatically
  • new images[*].build.docker.useBuildKit option to build with docker buildkit (#756)
  • bump helm version to v2.15.0 (will now also work correctly with kubernetes v1.16.0)
  • Fixes:
  • Fix an issue where old config versions were not loaded correctly
  • Fix a potential nil pointer in devspace list ports
  • Fix an issue where upgrading the config would print warnings that ignore the --silent flag

New in DevSpace 4.1.2 (Oct 22, 2019)

  • Fix an issue in devspace purge where devspace tried to delete the wrong deployment name

New in DevSpace 4.1.1 (Oct 22, 2019)

  • Fixes devspace enter -l label=value #751

New in DevSpace 4.1.0 Pre-release (Oct 18, 2019)

  • New Features:
  • New command devspace set var that allows the user to set a specific configuration variable
  • New command devspace reset dependencies that erases the dependency cache
  • New --terminal flag for devspace dev that only opens a terminal (and not overrides image entrypoints like -i does)
  • New --no-watch flag for devspace sync that does sync the files from local and remote and then stops
  • New --tag flag for devspace build
  • Changes:
  • New config version v1beta4, you can update your config with devspace update config
  • deployments.component is now helm.componentChart: true, component configuration is now configured under deployments.helm.values
  • The predefined variables ${DEVSPACE_SPACE_DOMAIN1...} are now deprecated
  • devspace open now also works for wildcard domains such as *.my-domain.com
  • Open policy agent gatekeeper & gatekeeper rules are now deployed on cluster connect
  • devspace dev now fatals instead of showing an error if the forwarded port is already in use by a previous devspace dev instance
  • Improve image name replacement logic during devspace dev & devspace deploy
  • Devspace now shows an additional warning if a graphql query fails on an outdated version
  • Fixes:
  • Fix issue during devspace init where the port forwarding was not correctly written
  • Fix issue during devspace init where the image name was not correctly written
  • Fix a potential nil pointer in devspace update config
  • devspace enter now shows an error immediately when trying to enter a pod with a label selector that does not exist

New in DevSpace 4.0.4 (Oct 11, 2019)

  • Add --download-on-initial-sync flag to devspace sync that is enabled by default (#732)
  • Images will now be rebuilt during devspace dev if there is no sync path with the image name (#733). In addition, you can configure a labelSelector and imageName together for sync paths, port forwarding etc.
  • If a local port is already taken during port forwarding a warning message is shown (#739)

New in DevSpace 4.0.3 (Oct 1, 2019)

  • Changes:
  • devspace init and add deployment --component=x will add helm deployments instead of component deployments now (makes it more understandable that a component is technically just a helm deployment)
  • support for initContainers in component chart
  • support for initContainers in devspace logs|attach|enter
  • --option-ui flag for devspace connect cluster
  • implementation for devspace list namespaces
  • implementation for devspace list contexts
  • Fixes:
  • sync will not delete folders which contains files or folders matching ignore paths
  • ignore paths ending with / will not only ignore the folder but also the contents of the folder
  • fix possible panic in devspace remove deployment and in analytics util package
  • fixes and improvements for command-line output and tests

New in DevSpace 4.0.2 (Sep 24, 2019)

  • Changes:
  • Allow use of config vars in custom commands
  • New config option vars[*].password for variables (hides response to question with *)
  • Don't download changes on initial sync (use new config option dev.sync[*].downloadOnInitialSync to explicitly enable downloading changes on initial sync)
  • Delete remote files which are not existing locally on initial sync (does not apply to ignored files/paths)
  • Error if flag -s used but no last context
  • Add flag --host to specify provider host (DevSpace Cloud on-premise)
  • Fixes:
  • Disable flag parsing for devspace run
  • Disable logging for devspace run
  • Allow connecting clusters with private IP address (DevSpace Cloud on-premise)
  • Minor improvements of log output

New in DevSpace 4.0.1 (Sep 19, 2019)

  • Changes:
  • New '--switch-context' flag to automatically switch and use the last kube context and namespace that was used to deploy the current DevSpace project
  • Rebuild images if previous deploy context was minikube / docker and is now different
  • Sort kube contexts alphabetically when displaying as options for devspace use context etc.
  • Don't reset last context on devspace use commands
  • During devspace connect cluster keep going even if admission controller and cert-manager deployment has failed
  • Fixes:
  • Remove log statement when applying patches
  • Fix issue with entrypoint override in multi stage builds where target was not correctly found
  • Fix issue with devspace open portforwarding where runtime errors where shown on the console
  • Fix command issue where --var was sometimes not correctly working

New in DevSpace 4.0.0 RC2 (Sep 13, 2019)

  • Removed devspace-configs.yaml:
  • Profiles instead of multiple configs: We reworked how multiple configs in devspace are handled because we felt that it was currently too complicated and inflexible. Instead of creating a separate file besides devspace.yaml, you can now define different 'profiles' directly in the devspace.yaml instead of having different configs (see profiles).
  • Config patches instead of overrides: We removed the config override mechanism. Instead of overriding the config in the old way, you are now able to either completely replace parts of the config (the top level keys like images,deployments etc.) or patch specific fields in the config by providing 1) a jsonpath or xpath to the config option, 2) an operation (replace, add, remove) and 3) a value. We believe this gives the user more power of how values can be overridden (especially for alterations of arrays). At the same time, patches seem easier to use and understand than the previous override system although they might require more lines of config.
  • Other breaking changes:
  • Removed the config option cluster.kubeContext and cluster.namespace since this caused some confusion which kube-context and namespace were used during deployment. Instead DevSpace will now always use the current kube-context (or the context passed via the --kube-context flag) and remember the most recently used kube-context and namespace. If the user starts the deployment process using devspace dev or devspace deploy, DevSpace will print a warning if the current kube-context is different than the previously used one and wait a couple of seconds to give the user the chance to abort the command and prevent that the user accidentally deploys to the wrong cluster or namespace.
  • Removed devspace install since this command is no longer needed
  • Renamed devspace use/list config(s) into devspace use/list profile(s)
  • Removed devspace add/list/remove selector
  • devspace dev will not rebuild images if there were changes in the image context path
  • The shortcut flag for --pick -p was removed. -p is not used as --profile shortcut flag
  • The config option dev.overrideImages.dockerfile and dev.overrideImages.context were removed. dev.overrideImages was renamed to dev.interactive. The config will be automatically converted via devspace update config
  • New Features:
  • New config version v1beta3 (run devspace update config to convert your current config automatically)
  • Shared commands: The idea of shared commands is that the more experienced developers on your team define a set of useful commands and store them in the devspace.yaml, commit and push this config to the code repository via git and then, let other team mates run them without having to remember all the details or having to read through endless pages of internal workflow documentation.
  • Profiles: you are now able to specify multiple profiles in devspace.yaml and switch between those profiles via the devspace use profile command or the --profile / -p flag. See multiple profiles for an example how to use profiles.
  • Config Patches: you are now able to specify config patches in profiles to override certain parts of the config (see multiple profiles for an example). This makes it easy to reuse most of the config and exchange only small parts.
  • devspace dev is now able to log multiple pods to the console. To enable this behavior by default strip the config option dev.interactive from your devspace.yaml.
  • Interactive mode: when using devspace dev -i you can choose an image which should be started in interactive mode. This means that the image entrypoint will be overriden by a sleep command and a terminal to that image will be openend. Interactive mode can be configured as default to mimic old behaviour with the config option dev.interactive.enabled and dev.interactive.images. dev.terminal was moved to dev.interactive.terminal.
  • New config option dev.sync[*].imageName and dev.sync[*].imageName as an alternative to labelSelector. With imageName DevSpace will automatically find the pods in which the image is used and start sync or port-forwarding. For a working example take a look at quickstart
  • New config option dev.open: you can DevSpace now automatically open the browser to a certain webpage like http://localhost:8080.
  • New command devspace use context to switch the current kube-context and devspace use namespace to switch the current configured default namespace in the kube-context
  • New command devspace attach that allows users to attach to a specific pod and container (behaves like kubectl attach but has a picker to select pods)
  • New flag --verbose-dependencies in devspace dev/deploy/purge/build to print the output of dependency deployment
  • New config option dev.logs: you can specify if DevSpace should display image logs on devspace dev and what images should be logged
  • New config option images[*].entrypoint & images[*].cmd which allows you to specify an entrypoint and cmd that will be used during deployment (also works with multi stage build)
  • New config option deployments[*].kubectl.replaceImageTags, deployments[*].helm.replaceImageTags & deployments[*].component.options.replaceImageTags to prevent automatic replacement of image tags for deployments
  • Changes & Fixes:
  • Renamed config option dependencies[*].config into dependencies[*].profile
  • Removed config option dev.selectors (will be converted automatically), use imageName where possible instead
  • Removed config options .selector and --selector flags, use imageName where possible instead
  • Fixed issue in dependency resolving where dependency variables were not correctly used
  • Show warning if current built tag is the same as last built tag
  • Overriding image entrypoints now also works with multi staged builds
  • DevSpace now prefers the git cli for git dependencies if the cli is installed locally

New in DevSpace 4.0.0 Beta 2 (Sep 10, 2019)

  • Removed devspace-configs.yaml:
  • Profiles instead of multiple configs: We reworked how multiple configs in devspace are handled because we felt that it was currently too complicated and inflexible. Instead of creating a separate file besides devspace.yaml, you can now define different 'profiles' directly in the devspace.yaml instead of having different configs (see profiles).
  • Config patches instead of overrides: We removed the config override mechanism. Instead of overriding the config in the old way, you are now able to either completely replace parts of the config (the top level keys like images,deployments etc.) or patch specific fields in the config by providing 1) a jsonpath or xpath to the config option, 2) an operation (replace, add, remove) and 3) a value. We believe this gives the user more power of how values can be overridden (especially for alterations of arrays). At the same time, patches seem easier to use and understand than the previous override system although they might require more lines of config.
  • Other breaking changes:
  • Removed the config option cluster.kubeContext and cluster.namespace since this caused some confusion which kube-context and namespace were used during deployment. Instead DevSpace will now always use the current kube-context (or the context passed via the --kube-context flag) and remember the most recently used kube-context and namespace. If the user starts the deployment process using devspace dev or devspace deploy, DevSpace will print a warning if the current kube-context is different than the previously used one and wait a couple of seconds to give the user the chance to abort the command and prevent that the user accidentally deploys to the wrong cluster or namespace.
  • Removed devspace install since this command is no longer needed
  • Renamed devspace use/list config(s) into devspace use/list profile(s)
  • Renamed config option dependencies[*].config into dependencies[*].profile
  • devspace dev will now only rebuild images if they were not built before or the flag --force-build / -b is set
  • The shortcut flag for --pick -p was removed. -p is not used as --profile shortcut flag
  • The config option dev.overrideImages.dockerfile and dev.overrideImages.context were removed. dev.overrideImages was renamed to dev.interactive. The config will be automatically converted via devspace update config
  • New Features:
  • New config version v1beta3
  • Profiles: you are now able to specify multiple profiles in devspace.yaml and switch between those profiles via the devspace use profile command or the --profile / -p flag. See multiple profiles for an example how to use profiles.
  • Config Patches: you are now able to specify config patches in profiles to override certain parts of the config (see multiple profiles for an example). This makes it easy to reuse most of the config and exchange only small parts.
  • devspace dev is now able to log multiple pods to the console. To enable this behavior by default strip the config option dev.interactive from your devspace.yaml.
  • Interactive mode: when using devspace dev -i you can choose an image which should be started in interactive mode. This means that the image entrypoint will be overriden by a sleep command and a terminal to that image will be openend. Interactive mode can be configured as default to mimic old behaviour with the config option dev.interactive.enabled and dev.interactive.images. dev.terminal was moved to dev.interactive.terminal.
  • New config option dev.sync[*].imageName and dev.sync[*].imageName as an alternative to labelSelector. With imageName DevSpace will automatically find the pods in which the image is used and start sync or port-forwarding. Take a look at quickstart for an example
  • New config option dev.open: you can DevSpace now automatically open the browser to a certain webpage like http://localhost:8080.
  • New command devspace use context to switch the current kube-context and devspace use namespace to switch the current configured default namespace in the kube-context
  • New flag --verbose-dependencies in devspace dev/deploy/purge/build to print the output of dependency deployment
  • Fixes:
  • Fixed issue in dependency resolving where dependency variables were not correctly used
  • Show warning if current built tag is the same as last built tag
  • Overriding image entrypoints now also works with multi staged builds

New in DevSpace 3.5.18 (Aug 23, 2019)

  • Added subPath option to define a sub git repository path (#649)
  • Use credential helper for git if possible (#648)
  • Fixed bug where a branch wasn't correctly checked out (#647)
  • Fixed bug where dependency config option would cause a panic
  • Fixed bug where running "devspace remove deployment --all" or "devspace remove image--all" would cause a panic (#645)
  • Fixed an issue where multiple definitions of the same repository but with a different branch, tag or revision would be treated as a single dependency

New in DevSpace 3.5.17 (Aug 22, 2019)

  • Improved devspace enter, devspace dev and devspace sync commands: kubernetes connections will now stay open and shouldn't be killed anymore after the idle timeout by the kube api server (#639 & #511)
  • Adds new predefined variables for DEVSPACE_SPACE_NAMESPACE and DEVSPACE_SPACE_DOMAIN1, DEVSPACE_SPACE_DOMAIN2 etc. (#641)
  • Adds a picker for devspace use commands if no arguments were specified (#640)
  • Fixes a bug in the sync where the exclude paths were not applied relatively on the server side (#630)
  • Fixes a bug in kaniko builder where the dockerfile was not correctly overriden (#644)
  • Fixes a bug in devspace connect cluster where the name flag was not correctly working (#600)

New in DevSpace 3.5.16 (Aug 16, 2019)

  • Changes:
  • Config variable names can now be loaded directly as environment variables (e.g. a config variable ${IMAGE} can be loaded from environment variable IMAGE or DEVSPACE_VAR_IMAGE)
  • Add new config variable option source with values "all", "env" or "input", which specify from which source the config variable should be loaded (default is "all") (#637)
  • Config variables can now be escaped by appending a '$' (e.g. $${Test} is escaped for ${Test})
  • You can now specify an ingress in components (#635)
  • Devspace add provider now also switches the default provider (#632)
  • Improve activity detection for sleep mode (#633)

New in DevSpace 3.5.15 (Aug 8, 2019)

  • Changes:
  • Fix an issue where the newest minikube version (1.3.0) wouldn't work with devspace anymore (#630)

New in DevSpace 3.5.14 (Aug 6, 2019)

  • New devspace build command, that will only build and push images specified in the config (#606)
  • devspace dev & devspace enter now return the correct command exit code (#614)
  • devspace list deployments will resume a sleeping space now (#621)
  • Add --skip-build flag for devspace deploy and devspace dev (#622)
  • New namespace config option for dependencies (#605)
  • Fix an issue with installing devspace with npm (#618)
  • Fix a potential nil pointer panic during devspace use space (#615)

New in DevSpace 3.5.12 (Jul 25, 2019)

  • You can now specify the branch, revision and tag for a git dependency (#591)
  • New devspace reset vars command that resets the specified vars for the current config (#592)
  • New devspace use provider command to easily set the default provider to an on-premise DevSpace Cloud version
  • On-premise DevSpace Cloud support
  • Fixed an issue with devspace add port where the port was not correctly added

New in DevSpace 3.5.11 Pre-release (Jul 24, 2019)

  • You can now specify the branch, revision and tag for a git dependency (#591
  • New 'devspace reset vars' command that resets the specified vars for the current config (#592
  • New 'devspace use provider' command to easily set the default provider to an on-premise DevSpace Cloud version
  • On-premise DevSpace Cloud support

New in DevSpace 3.5.10 (Jul 2, 2019)

  • Fixes an schema issue where component configmap and secret volumes were not correctly parsed
  • Fixed issue #586
  • Add external ips option to config
  • Fixed an issue with docker API negotiation in minikube

New in DevSpace 3.5.8 (Jun 8, 2019)

  • New devspace cleanup images command to conveniently cleanup built images from devspace from docker
  • Fixed issue where only maximum of one hook per stage was executed

New in DevSpace 3.5.7 (Jun 5, 2019)

  • Fix issue where a registry with port would lead to wrong image name replacement during deploy (#559)
  • devspace connect cluster now automatically configures a space domain

New in DevSpace 3.5.7 Pre-release (Jun 3, 2019)

  • Fix issue where a registry with port would lead to wrong image name replacement during deploy (#559)
  • devspace connect cluster now automatically configures a space domain

New in DevSpace 3.5.6 Pre-release (May 31, 2019)

  • Skip domain question on devspace cluster connect (We will implement a feature soon where a devspace.host domain will be automatically provisioned for the cluster)
  • Fixes an issue where it was not possible to enter a custom registry with port during devspace init (#557)
  • Fixes an issue where sync was not closing correctly on windows
  • Fixes an issue where wrongly configured docker environment variables lead to an error
  • Automatically append the .devspace/ folder to dockerignore during build
  • Fixes an issue where the selected language none during devspace init would result in a wrong Dockerfile

New in DevSpace 3.5.5 (May 30, 2019)

  • The sync mechanism was changed and behaves now differently. We inject a small binary into the container that replaces the shell script we used in previous versions, this has several advantages: it uses less bandwidth in exchanging changes, it is more stable, it only requires the tar command to be present in the container. (#542, #441)
  • You can now specify options for component deployments (#547)
  • Updates kubernetes dependencies to 1.14
  • Updates helm dependencies to 2.14.0
  • Fixes an issue where the KUBECONFIG environment variable was ignored

New in DevSpace 3.5.4 Beta 2 (May 28, 2019)

  • The sync mechanism was changed and behaves now differently. We inject a small binary into the container that replaces the shell script we used in previous versions, this has several advantages: it uses less bandwidth in exchanging changes, it is more stable, it only requires the tar command to be present in the container. (#542, #441)
  • You can now specify options for component deployments (#547)
  • Updates kubernetes dependencies to 1.14
  • Updates helm dependencies to 2.14.0
  • Fixes an issue where the KUBECONFIG environment variable was ignored

New in DevSpace 3.5.3 (May 18, 2019)

  • Fixed an issue where multiple connected clusters could lead to problems during cluster connect

New in DevSpace 3.5.2 (May 17, 2019)

  • Fixed an issue, where dev.selectors could lead to a nil pointer panic

New in DevSpace 3.5.1 (May 14, 2019)

  • New Features:
  • Dependencies: You are now able to specify other devspace projects as dependencies, which will be built and deployed before the current project is deployed. Take a look at the examples for more information.
  • Custom Builder: You are now able to build images with custom user-defined commands. See examples for an example. (#534)
  • Parallel Image Building: As soon as there are 2 or more images defined in the devspace.yaml, devspace will build the images in parallel. You can still tell devspace to build sequentially with the flag build-sequential (#533)
  • Hooks: You are now able to define custom commands that are executed at certain points during the devspace pipeline execution. Currently supported is before / after image building and deploying. In addition it is also possible to execute custom commands directly before or after a certain deployment. See examples for an example. (#535)
  • New predefined variables: You are now able to use these predefined variables in your devspace.yaml:
  • DEVSPACE_RANDOM: A random string, that will be different every time the devspace.yaml is loaded (useful as tag for an image)
  • DEVSPACE_TIMESTAMP: The current unix timestamp in seconds when the config was loaded by devspace
  • DEVSPACE_GIT_COMMIT: The current git head short hash (useful as tag for an image)
  • New flag --deployments for devspace deploy and devspace dev to only deploy a specific deployment
  • Changes:
  • If the docker daemon cannot be reached but builder is docker, devspace will fallback to building with kaniko instead. If you want devspace to fail instead, you can set the config option images.your_image.build.docker.disableFallback to true.
  • New config version v1beta2, you can update your current config with devspace update config
  • Devspace dev, devspace deploy and devspace purge have an --namespace flag that let's you redirect devspace to another kubectl namespace
  • Fixes & Improvements:
  • Fixed an issue where the image name was not correctly replaced, if the image has never been built.
  • Fixed an issue with internal caching mechanism which sometimes could lead to unnecessary redeploys
  • Fixed an issue when you switched spaces the cached hashes where not erased (#527)
  • Devspace init doesn't write kube context anymore
  • Devspace init now always asks how you would like to initialize your project

New in DevSpace 3.4.0 (Apr 30, 2019)

  • New functionality:
  • devspace list/remove/connect cluster: you are now able to connect your own cluster to devspace cloud (see more at connect clusters)
  • kustomize is now supported as deployment method (you need the newest version of kubectl installed and set kustomize to true in devspace.yaml)
  • devspace sync opens a bidirectional sync connection to a specific pod and container and prints the sync log to the console
  • new flag dev.sync.waitInitialSync: you can now tell devspace to wait for initial sync before starting a terminal into a pod (#343)
  • Changes:
  • devspace login now takes --key as parameter instead of --token
  • config version updated to v1beta1 (will be upgraded automatically)
  • portMappings -> forward
  • localPort -> port (if remotePort is empty value for port is used)
  • Fixes:
  • fixed an issue with deleting spaces where the kubecontext was not correctly deleted

New in DevSpace 3.3.1 (Apr 18, 2019)

  • Fixed an issue where the wrong question was asked on devspace init, when kubectl config was missing
  • Fixed a nil pointer panic, when docker was installed, but the docker daemon couldn't be reached
  • Fixed an issue on linux with setting TILLER_NAMESPACE env variable during devspace create space and devspace use space

New in DevSpace 3.3.0 (Apr 10, 2019)

  • Changes
  • .devspace/config.yaml was renamed to devspace.yaml (devspace will automatically rename the file)
  • .devspace/vars.yaml was renamed to devspace-vars.yaml (devspace will automatically rename the file)
  • .devspace/configs.yaml was renamed to devspace-configs.yaml (devspace will automatically rename the file)
  • Moved devspace add component to devspace add deployment --component
  • Moved devspace add package to devspace add deployment --chart
  • Moved devspace status deployments to devspace list deployments
  • New config version v1alpha4 (Will be converted automatically)
  • New Features
  • New deployment method component (Will deploy the devspace-component-chart and the component options are essentially the values of the chart. This makes it easier for us to convert the values in the future when updating the chart)
  • New options during devspace init: If no Dockerfile is found there are now 5 options how to initialize the project
  • Sync now works with relative paths & containerPath in sync config can be empty (Working directory of the container is used then)
  • Added predefined config variables DEVSPACE_USERNAME (the devspace cloud username) and DEVSPACE_SPACE (the currently used space name) that can be used in the config
  • Fixes & Improvements
  • Fixed an issue where config variables got lost after running devspace add [option]
  • Fixed an issue where config variables had to be reentered on every devspace command
  • Config variables now also work within a string (e.g. 'dscr.io/{my_user}/devspace')
  • Improved the kaniko builder (should be several times faster now)

New in DevSpace 3.3.0 Pre-release (Apr 5, 2019)

  • Changes:
  • .devspace/config.yaml was renamed to devspace.yaml (devspace will automatically rename the file)
  • .devspace/vars.yaml was renamed to devspace-vars.yaml (devspace will automatically rename the file)
  • .devspace/configs.yaml was renamed to devspace-configs.yaml (devspace will automatically rename the file)
  • Moved devspace add component to devspace add deployment --component
  • Moved devspace add package to devspace add deployment --chart
  • Moved devspace status deployments to devspace list deployments
  • New config version v1alpha4 (Will be converted automatically)
  • New Features:
  • New deployment method component (Will deploy the devspace-component-chart and the component options are essentially the values of the chart. This makes it easier for us to convert the values in the future when updating the chart)
  • New options during devspace init: If no Dockerfile is found there are now 5 options how to initialize the project
  • Sync now works with relative paths & containerPath in sync config can be empty (Working directory of the container is used then)
  • Added predefined config variables DEVSPACE_USERNAME (the devspace cloud username) and DEVSPACE_SPACE (the currently used space name) that can be used in the config
  • Fixes & Improvements:
  • Fixed an issue where config variables got lost after running devspace add [option]
  • Fixed an issue where config variables had to be reentered on every devspace command
  • Config variables now also work within a string (e.g. 'dscr.io/{my_user}/devspace')
  • Improved the kaniko builder (should be several times faster now)

New in DevSpace 3.2.1 (Apr 1, 2019)

  • Fixes:
  • devspace init now correctly detects Dockerfile EXPOSE statements
  • devspace analyze only considers container restarts important if they occured in the last 2 hours

New in DevSpace 3.0.0 (Feb 26, 2019)

  • BREAKING CHANGES:
  • Removed internalRegistry from config
  • Removed registries.auth from config
  • Removed overwrite.yaml in favor of configs.yaml (more details below)
  • Removed --config-overwrite flags for devspace commands
  • Renamed devspace add service / devspace remove service / devspace list services to selector
  • devspace up does not run devspace init anymore if devspace project was not configured already
  • Major changes:
  • New helm chart (for more informations see https://devspace.cloud/docs/charts/devspace-chart)
  • New devspace analyze command - analyzes a namespace for potential problems, like pods/containers not starting and warning events and prints a small report (for more informations see https://devspace.cloud/docs/cli/analyze)
  • Overriding docker image entrypoints in memory: (for more information see https://devspace.cloud/docs/development/entrypoint-overwrites)
  • Devspace is now able to override docker image entrypoints during docker build time. It will append an ENTRYPOINT and CMD command to the Dockerfile in memory and leverage existing cached layers. This makes it possible to have a reliable and easy to understand way of overwriting a container image entrypoint for development, independent of the deployment strategy
  • Helm deploying:
  • Devspace now replaces an image in the overwrite values and values.yaml for helm. New configs.yaml (more information on https://devspace.cloud/docs/configuration/multiple-configs):
  • You are now able to specify multiple configurations in the configs.yaml. If configs.yaml does not exist it will just use the old config.yaml.
  • Config variables (more information on https://devspace.cloud/docs/configuration/variables):
  • You are now able to specify variables within the config to make it more dynamic
  • Complete rework of the devspace cloud: (more information on https://devspace.cloud)
  • devspace.cloud provisions private hosted kubernetes namespaces for your application. You are also now able to use a private docker registry for your docker images at (dscr.io). In addition you are now also able to connect custom domains and monitor your namespaces within devspace.cloud.
  • Other changes:
  • Command Changes:
  • devspace analyze - analyzes the current namespace for problems
  • devspace logs - prints the logs and attaches to the specified terminal pod
  • devspace update config - converts the config into the newest version
  • devspace dev - renamed devspace up command (up still works but is now deprecated)
  • devspace purge - renamed devspace down command (down still works but is not deprecated)
  • devspace login - login to devspace.cloud
  • devspace create/use/remove space - create/use/delete a private namespace within devspace.cloud as target for deployment
  • devspace list configs/spaces/vars
  • Config Changes:
  • Introduced new config version v1alpha2 (old version is automatically converted, you can also update the config via devspace update config)
  • devspace is now dev
  • moved deployments out of devspace to highest level
  • registries are now prepended to the image in the official form (e.g. myreg.io/myusername/myreponame) instead of defining them separately at the registry level
  • tiller namespace was moved from top level to the helm configuration in deployments, so you are able to deploy to different tiller namespaces
  • it is now possible to specify multiple helm override value files in the config under deployments[].helm.overrides
  • Smaller changes:
  • devspace now detects an active devspace in the parent folders if in the starting working directory no devspace configuration is found
  • devspace tries to rollback the helm chart after a failed deployment
  • reworked the devspace output
  • devspace purge/down now deletes the deployments in reverse order

New in DevSpace 3.0.0 Beta 2 (Feb 25, 2019)

  • BREAKING CHANGES:
  • Removed internalRegistry from config
  • Removed registries.auth from config
  • Removed overwrite.yaml in favor of configs.yaml (more details below)
  • Removed --config-overwrite flags for devspace commands
  • Renamed devspace add service / devspace remove service / devspace list services to selector
  • devspace up does not run devspace init anymore if devspace project was not configured already
  • Other changes:
  • Command Changes:
  • devspace analyze - analyzes the current namespace for problems
  • devspace logs - prints the logs and attaches to the specified terminal pod
  • devspace update config - converts the config into the newest version
  • devspace dev - renamed devspace up command (up still works but is now deprecated)
  • devspace purge - renamed devspace down command (down still works but is not deprecated)
  • devspace login - login to devspace.cloud
  • devspace create/use/remove space - create/use/delete a private namespace within devspace.cloud as target for deployment
  • devspace list configs/spaces/vars
  • Config Changes:
  • New helm chart (for more informations see https://devspace.cloud/docs/charts/devspace-chart)
  • New devspace analyze command - analyzes a namespace for potential problems, like pods/containers not starting and warning events and prints a small report (for more informations see https://devspace.cloud/docs/cli/analyze)
  • Overriding docker image entrypoints in memory: (for more information see https://devspace.cloud/docs/development/entrypoint-overwrites)
  • Devspace is now able to override docker image entrypoints during docker build time. It will append an ENTRYPOINT and CMD command to the Dockerfile in memory and leverage existing cached layers. This makes it possible to have a reliable and easy to understand way of overwriting a container image entrypoint for development, independent of the deployment strategy
  • Helm deploying:
  • Devspace now replaces an image in the overwrite values and values.yaml for helm.
  • New configs.yaml (more information on https://devspace.cloud/docs/configuration/multiple-configs):
  • You are now able to specify multiple configurations in the configs.yaml. If configs.yaml does not exist it will just use the old config.yaml.
  • Config variables (more information on https://devspace.cloud/docs/configuration/variables):
  • You are now able to specify variables within the config to make it more dynamic.
  • Complete rework of the devspace cloud: (more information on https://devspace.cloud)
  • devspace.cloud provisions private hosted kubernetes namespaces for your application. You are also now able to use a private docker registry for your docker images at (dscr.io). In addition you are now also able to connect custom domains and monitor your namespaces within devspace.cloud.
  • Introduced new config version v1alpha2 (old version is automatically converted, you can also update the config via devspace update config)
  • devspace is now dev
  • moved deployments out of devspace to highest level
  • registries are now prepended to the image in the official form (e.g. myreg.io/myusername/myreponame) instead of defining them separately at the registry level
  • tiller namespace was moved from top level to the helm configuration in deployments, so you are able to deploy to different tiller namespaces
  • it is now possible to specify multiple helm override value files in the config under deployments[].helm.overrides
  • Smaller changes:
  • devspace now detects an active devspace in the parent folders if in the starting working directory no devspace configuration is found
  • devspace tries to rollback the helm chart after a failed deployment
  • reworked the devspace output
  • devspace purge/down now deletes the deployments in reverse order
  • Major changes:

New in DevSpace 2.5.1 (Dec 27, 2018)

  • Changes:
  • new devspace add service/image functionality (see #432)
  • better detection of changes in docker context path by using crc32 instead of mtime/size
  • new --service flag for devspace add port/sync commands
  • rephrased log messages if devspace.terminal.disabled is true
  • Fixes:
  • fixed nil pointer if .kube/config does not have a current kube context (#408)

New in DevSpace 2.5.0 (Dec 20, 2018)

  • New Features:
  • new devspace up -x (--skip-pipeline) flag that skips the build and deploy pipeline and directly starts the sync, port-forwarding and terminal
  • new devspace.ports[].portMappings[].bindAddress config option to bind to other interfaces than localhost (see #394 & thanks to @ALCarden)
  • sync follows now local symlinks, watches them and uploads changes to them (Changed remote files are moved correctly into the symlink folders locally) (see #429)
  • Changes:
  • renamed devspace.deployments[].helm.devOverwrite to devspace.deployments[].helm.override (devOverwrite still works, but is deprecated now)
  • sync performance greatly improved if many files are renamed locally (see #241)
  • improved image rebuild detection on devspace up, the image contextPath is now hashed and checked for changes instead of only the dockerfile timestamp (excluding the patterns in .dockerignore) (see #414)
  • docker, helm & kubernetes dependencies got updated to the latest versions (thanks @ALCarden)
  • Fixes:
  • fixed devspace add/remove deployment where the command wouldn't save the config correctly (thanks @ALCarden)
  • fixed issue where devspace would still try to authenticate to an image registry even though images[].skipPush was specified
  • fixed issue where devspace would not redeploy the helm chart if an override values file was outside of the chartPath

New in DevSpace 2.4.1 (Dec 11, 2018)

  • Changes:
  • New devspace.deployments[].helm.wait option to tell devspace to skip waiting until deployment is ready
  • New devspace down --deployment option to delete a single or multiple deployments
  • Fixes:
  • Resolve issue where devspace up would deploy tiller to the wrong namespace if no config.yaml exists

New in DevSpace 2.4.0 (Dec 6, 2018)

  • Changes:
  • The flag switchContext is now by default true for devspace enter, up & deploy (If you don't want devspace to switch your kubecontext to the devspace context you have to run devspace up --switch-context=false)
  • New features:
  • Auto reloading ability, where specific file changes cause the complete pipeline to reexecute (Dockerfile changes & manifest changes, see #387)
  • Auto reloading ability where custom paths can be specified that trigger an auto reload (#389)
  • if terminal is disabled (via devspace.terminal.disabled), devspace will try to attach to the devspace pod
  • Fixes:
  • Sync: solve a rare issue on windows that could lead to silently stop watching files (#374)
  • Up: resolve problem when docker is not correctly installed but not needed
  • Up: detect correctly if clusterrolebinding is present in cluster
  • Reset: fix issue that waited for tiller even though tiller has issues starting

New in DevSpace 2.3.0 (Nov 8, 2018)

  • New Features:
  • New config options for sync to limit used bandwidth (#369)
  • New config option to skip image push (Useful for minikube environments see #372)
  • Improvements:
  • Add/remove package was improved and is now easier to use

New in DevSpace 2.2.2 (Nov 6, 2018)

  • New Features:
  • images[].createPullSecret option to automatically create a pull secret from docker credentials store
  • devspace.services to specify labelselectors and namespaces in a central place #353
  • Fixes/Improvements:
  • adjust selector for service when using devspace add package
  • helm deployment (use force if needed)
  • terminal.go nil pointer

New in DevSpace 2.2.0 (Nov 1, 2018)

  • Adds automatic creation of image pull secrets

New in DevSpace 2.1.0 (Oct 31, 2018)

  • New command: devspace deploy
  • Improved console output for devspace up (when skipping deployments)
  • Generated.yaml is now on .gitignore by default
  • Allow defining image tags in config (instead of auto-generated tag)
  • Fix regex validation for Docker Hub image names (init)
  • Add image build engine "disabled" for disabling image building
  • Eliminate need to re-write config on every devspace up
  • Demo URL provisioning via ingress (for DevSpace Cloud)

New in DevSpace 2.0.3 Pre-release (Oct 26, 2018)

  • Fixes config overwriting #314
  • Uses overwrite config for namespaces and kubeContexts by default #315
  • Fixes spelling

New in DevSpace 2.0.2 (Oct 24, 2018)

  • New feature:
  • Added pullSecret option to kaniko builder to allow the use of custom secret for registry authentication

New in DevSpace 2.0.0 (Oct 19, 2018)

  • Breaking Changes:
  • Config was restructured, to allow the configuration of cloud providers & deployments (for more information see below)
  • Please reconfigure your devspace with devspace init -r
  • New Features:
  • DevSpace Cloud: Deploy your devspace to the devspace-cloud, if you don't have an own kubernetes cluster. The DevSpace Cloud provides you a free kubernetes namespace that you can use with the devspace cli. To use the DevSpace Cloud simply run devspace init -r on a new project or use one of our examples.
  • Optional Kubectl deployments: kubectl apply can be used on specified manifests on devspace up. This is an alternative deployment method to the default helm deployment. This method allows the use of devspace cli without any cluster component such as tiller. (see examples)
  • Up & Enter: New --namespace and --labelSelector flag which is used to select the correct pod for opening the terminal
  • Up: New --exit-after-deploy flag that allows you to only build & deploy the devspace
  • Up: New --switch-context flag that allows you to switch the kubectl context to the specified devspace context
  • Add & Remove: New deployment option to conveniently add & remove deployments from your devspace
  • Kaniko: caching is now supported, which should speed up kaniko builds

New in DevSpace 1.1.0 (Oct 4, 2018)

  • New Features:
  • devspace enter: opens a terminal or executes a command in the specified devspace container
  • devspace add/remove/list package: easily add helm charts as dependencies to your devspace
  • devspace up cmd: execute the specified command and parameters directly in the devspace
  • devspace up -c: specify the container to which the cli should connect to
  • add buildArgs, target and network option in config.yaml for better docker build handling
  • add containerName, command option in config.yaml to specify devspace up & enter behaviour