Skip to content

Latest commit

 

History

History
2902 lines (2402 loc) · 183 KB

CHANGELOG.md

File metadata and controls

2902 lines (2402 loc) · 183 KB

v1.8.0 Release - 04/17/2020

Note: This release comes with a new config version v2beta2. To upgrade your skaffold.yaml, use skaffold fix. If you choose not to upgrade, skaffold will auto-upgrade as best as it can.

Fixes:

  • Whitelist recursively transformable kinds. #3833
  • Update error message to use are since manifests is plural #3930
  • Correctly set namespace when checking for an existing helm release via skaffold deploy #3914
  • Disable Python detector's use of PYTHON_VERSION #3919

Updates & Refactors:

  • Upgrade Jib to 2.2.0 #3971
  • Bump kubernetes to 1.14 and all other k8 deps to 0.17.0 #3938
  • Update pack image to v0.10.0 #3956
  • Introduce v2beta2 #3942
  • Refactoring on filepath.Walk #3885
  • Simplify Debug Transformer interface and allow Apply to fail on images #3931
  • Add error codes to event api to send error codes to Skaffold Event API #3954

Docs updates:

  • Update docs to point to new 2020 roadmap #3924
  • Add Kustomize example with an image built by skaffold #3901
  • Update VS Code Go launch snippet #3950
  • Improve Debug's Go docs #3949

Thanks goes out to all of our contributors for this release:

  • Balint Pato
  • Brian de Alwis
  • Chanseok Oh
  • David Gageot
  • Max Goltzsche
  • Michael Parker
  • Nick Kubala
  • Pedro de Brito
  • Tejal Desai

v1.7.0 Release - 04/02/2020

Highlights:

  • kustomize dependencies include environment files (#3720) #3721
  • Support globs in custom/buildpacks builder deps #3878

Note:

  • we had to revert the ARM support as it broke our release process, we will soon submit a fixed version

Fixes:

  • Fix GCB build failure for multi-module Jib projects #3852
  • Fix possible nil dereference #3869
  • Fix console output for internal Jib tasks/goals #3880
  • Fix go test helper #3859

Updates & Refactors:

  • Better status check #3892
  • disable jib gradle in skaffold init by default #3906
  • Use new name for the linter’s cache #3894
  • Use less memory for linting #3888
  • Simplify Kaniko error message #3870
  • Wait for the logs to be printed #3877
  • Master Keychain #3865
  • Replace errors.Wrap with %w #3860
  • Show compilation errors #3866
  • Cobra context #3842
  • Format go test output with Go rather than bash and jq #3853

Design proposals:

  • Update debug-events design proposal status #3874

Docs updates:

  • Rework debug docs #3875
  • Fix of documentation issue #3266 microservices example is broken #3867
  • [docs] [release] fix firebase-tools version #3857
  • [examples] upgrade nodejs example dependencies #3858
  • Fix doc link to local cluster info #3856
  • upgrade hugo + small fixes #3854

Huge thanks goes out to all of our contributors for this release:

  • Balint Pato
  • Brian de Alwis
  • David Gageot
  • Dmitry Stoyanov
  • Nick Kubala
  • Nick Novitski
  • Tad Cordle
  • tejal29

v1.6.0 Release - 03/19/2020

Note: This release comes with a new config version v2beta1. To upgrade your skaffold.yaml, use skaffold fix. If you choose not to upgrade, skaffold will auto-upgrade as best as it can.

Highlights:

  • Support Dockerfile.dockerignore #3837
  • Add new Auto sync option #3382
  • Cross compile for linux-arm #3819

Fixes:

  • Fix issues in skaffold init #3840
  • Fix skaffold debug panic with nodejs #3827
  • Fix this integration test on minikube #3807
  • Fix make quicktest #3820
  • Fix TestWaitForPodSucceeded flake #3818
  • Fix ko sample #3805

Updates & Refactors:

  • Add dependabot config file #3832
  • Upgrade kompose to 1.21.0 #3806
  • Go 1.14 #3775
  • add flag --survey to set to set/unset disable survey prompt #3732
  • Bump schema to v2beta1 #3809
  • [Diagnostics] Add validator interface. Add resource interface and PodValidator #3742

Docs Updates:

  • Simplify code that finds the artifact's type #3825
  • Use new t.Cleanup() to simplify tests #3815
  • cleanup common flags + better -f description #3786
  • unhide status check and on by default #3792
  • Normalize capitalization for types while port forwarding #3803
  • Also clean up statik files #3804

Huge thanks goes out to all of our contributors for this release:

  • Agrin
  • Appu Goundan
  • Balint Pato
  • Brian de Alwis
  • Daniel Abdelsamed
  • David Gageot
  • Nick Kubala
  • Tejal Desai

v1.5.0 Release - 03/05/2020

Highlights:

  • Add helm3 support to the helm deployer #3738
  • Binaries for linux-arm #2068 #3783

New Features:

  • Autogenerate k8s manifests in skaffold init #3703
  • Support go Templates in Custom Builder commands #3754
  • Wire up debug events #3645
  • Support inferred sync on Custom artifacts with a Dockerfile #3752

Fixes:

  • Fix analyze update check #3722
  • report actual copy error when syncing files to containers #3715
  • skip large files during skaffold init #3717

Updates & Refactors:

  • Upgrade Jib to 2.1.0 #3728
  • Bump pack to 0.9.0 #3776
  • Use heroku/color for our colors #3757
  • skaffold init and buildpacks: skip dependencies #3758
  • Faster make v2 #3724
  • Allow Sync for non-root containers-hotreload example #3680
  • Add profile option to RunBuilder in test helper #3761
  • helm chart packaging: improve errors, logic & testability #3743
  • Refactor helm deployer to prepare for helm3 support #3729

Docs Updates:

  • Link config management doc #3723

Huge thanks goes out to all of our contributors for this release:

  • Appu
  • Balint Pato
  • Brian de Alwis
  • Daniel Abdelsamed
  • Chanseok Oh
  • David Gageot
  • Idan Bidani
  • Nick Kubala
  • shlo
  • Tejal Desai
  • Thomas Strömberg

v1.4.0 Release - 02/20/2020

Note: This release comes with a new config version v2alpha4. To upgrade your skaffold.yaml, use skaffold fix. If you choose not to upgrade, skaffold will auto-upgrade as best as it can.

Highlights:

Fixes:

  • Allow 'make test' to work for users who do not have jq installed #3696
  • retry pruning when skaffold could not prune local images due running containers #3643
  • Fix npe when resetting status check state #3658
  • fix nilpointer with skaffold init --skip-build #3657
  • Support kustomize "extended" patches. #2909 #3663

Updates & Refactors:

  • Faster Makefile #3706
  • Simpler code dealing with durations #3709
  • Update Jib to 2.0.0 #3707
  • Reduce default status check deadline to 2 mins #3687
  • move unused pod validator code to pkg/diag #3704
  • hidden --minikube-profile flag #3691
  • [refactor] make DoInit() a proper controller #3682
  • a hidden flag for simpler access to new init format #3660
  • Disable all colors in Buildpacks’s output when not in a terminal #3651
  • Build skaffold-builder image from a pre-pushed base #3631
  • Update pack image to v0.8.1 #3629
  • customizable jib feature minimum requirements #3628

Docs Updates:

Huge thanks goes out to all of our contributors for this release:

  • Appu Goundan
  • Balint Pato
  • Brian de Alwis
  • David Gageot
  • David Hovey
  • Max Resnick
  • Nick Kubala
  • Tejal Desai
  • Thomas Strömberg

v1.3.1 Release - 01/31/2020

This is a minor release to fix skaffold image gcr.io/k8s-skaffold/skaffold:v1.3.0 issue #3622

No changes since v1.3.0

v1.3.0 Release - 01/30/2020

Note: This release comes with a new config version v2alpha3. To upgrade your skaffold.yaml, use skaffold fix. If you choose not to upgrade, skaffold will auto-upgrade as best it can.

Highlights:

  • Enable multiple kustomizations in the kustomize deployer #3585
  • Add --kubernetes-manifest flag to skaffold init to
    • turn off auto detection for manifests and
    • initialize deploy stanza with given flag value.
  • An empty sync config sync: {} will sync all files in the artifact workspace and infer destination #3496
  • Configure on cluster builds to use random postfix when creating following secrets
    • Docker config secret name via randomDockerConfigSecret and
    • Pull secret name via randomPullSecret

New Features:

  • Add --label flag to skaffold render#3558
  • Support —-buildpack flags on GCB #3606
  • Support specific buildpacks for buildpack artifact #3584
  • Add new config disableValidation to kubectl deploy config to disable validation #3512
  • Implements setting environment variable in kaniko pod #3227 #3287
  • Auto sync with Buildpacks #3555

Fixes:

  • Encode artifact image-name and container WORKDIR in container debug info #3564
  • Better detection if user is running from terminals. #3611
  • Try use the Google hosted mirror of Maven Central #3608
  • Better output for Docker commands #3607
  • Fix nil pointer dereference when no account is set on gcloud. #3597
  • Better error reporting for unrecognized builder error #3595
  • Init command fixes
    • no error in skaffold init if pre-existing skaffold.yaml is different from target file #3575
    • skip-build flag shouldn't detect builders #3528
  • Automatically handle —no-pull option on pack. #3576

Updates & Refactors:

  • Use the same Docker client across Skaffold #3602
  • Better k8s manifest parsing for skaffold init #3531
  • Update dependencies
  • Add verbosity flag to go tests on travis #3548
  • Add unit test for findRunImage #3560
  • Simpler artifact hasher #3591
  • Build skaffold-builder image from a pre-pushed base #3433
  • A bunch of refactor to init code
    • [init refactor] cleanup on analyzers and moving things into a single package #3538
    • [init refactor] introducing init analyzers #3533
    • simplify init walk logic and many more.

Docs Updates:

  • Initial auto sync support design doc #2901
  • Design proposal for new Debug Events #3122
  • migrate Deployment in examples from extensions/v1beta1 to apps/v1 #3572
  • Fix invalid package comments #3589
  • Fixes the command for switching to getting-started dir after cloning #3574
  • Add Ruby/Rack application example with hot reload #3515

Huge thanks goes out to all of our contributors for this release:

  • Andrei Balici
  • Appu
  • Appu Goundan
  • arminbuerkle
  • Balint Pato
  • balopat
  • Brian de Alwis
  • Cornelius Weig
  • David Gageot
  • Dmitrii Ermakov
  • Jon Johnson
  • jonjohnsonjr
  • Miklós Kiss
  • Naoki Oketani
  • Nick Kubala
  • Nick Novitski
  • Prashant
  • Prashant Arya
  • Salahutdinov Dmitry
  • saschahofmann
  • Syed Awais Ali
  • Tejal Desai
  • Zac Bergquist

v1.2.0 Release - 01/16/2019

Note: This release comes with a new config version v2alpha2. To upgrade your skaffold.yaml, use skaffold fix. If you choose not to upgrade, skaffold will auto-upgrade as best it can. Also: Happy New Year to all our users and contributors!

Highlights:

  • The deployer section in skaffold.yaml now accepts multiple deployers in a single pipeline.
  • ValuesFiles can be rendered with environment and build variables
  • CRD support: skaffold now doesn't throw an error on CRDs #1737 is fixed!
  • skaffold render now supports the kustomize deployer
  • parallel local builds are now supported - just set build.local.concurrency to 0 (no-limit) or >2

New Features:

  • Enable multiple deployers in skaffold.yaml #3392
    • The deployer section in skaffold.yaml now accepts multiple deployers in a single pipeline.
    • When applying profiles, deployers in the base profile no longer get wiped when merging in the deployer from the profile.
  • Add forwarding deployer muxer to enable multiple deployers #3391
  • Related to #2849: Allows ValuesFiles to be templatable #3111
    • ValuesFiles can be rendered with environment and build variables
  • Implement render for kustomize #3110
  • Support parallel local builds (defaults to sequential) #3471
  • Add --target parameter with kaniko on Google Cloud Build #3462

Fixes:

  • fix licenses path #3517
  • Dockerfile detector will only check files containing "Dockerfile" in the name #3499
  • Exclude CRD schema from transformation, fix #1737. #3456
  • Kaniko: Cancel log streaming when pod fails to complete #3481
  • Use unique key for jib caches #3483
  • Remove false warnings when deploying multiple releases #3470
  • Fix sync infer when COPY destination contains an env variable #3439
  • Fix skaffold credits #3436
  • Track changes of transitive BUILD files #3460

Updates & Refactors

  • Spelling #3458
  • Vendor pack CLI code to build with Buildpacks #3445
  • Remove gcr.io/k8s-skaffold repository from examples
    • #3368
    • Remove a few more references to gcr.io/k8s-skaffold #3513
  • Allow 2020 copyright year #3511
  • This test can run on Travis, with kind #3510
  • Move default images next to where they are used #3509
  • Kind 0.7.0 #3507
  • Use origin/master as baseline for schema version check #3501
  • Use pack CLI to build on GCB #3503
  • Simplify kaniko after we removed the GCS build context #3455
  • Switch to go-licenses for credits collection #3493
  • Add missing package-lock.json files #3494
  • Build Go projects with Buildpacks #3504
  • SyncMap is a matter of artifact type, not builder #3450
  • Remove Kaniko build context. #3480
  • [buildpacks] Refactor code to simplify #3395 #3441
  • Rename jib args functions #3478
  • Add gradle/maven sync parts + restructure tests #3474
  • helm deployer: Remove duplication #3469
  • Update Bazel sample #3435
  • Use the kind that’s inside skaffold-builder #3430
  • Move man generation to hack folder #3464
  • Schema v2alpha2 #3453
  • Cache Gradle downloads and Go build cache #3425

Docs Updates:

  • [doc] Improve documentation for concurrency settings. #3491
  • [doc] Supported builders matrix #3492
  • [doc] There’s no gcsBucket config anymore #3514
  • Clarify GCP service account and secret creation #3488
  • Demonstrate inferred sync #3495
  • Use ko instead of buildpacks for the custom builder #3432
  • Buildpacks node sample #3440

Huge thanks goes out to all of our contributors for this release:

  • ansky
  • Appu Goundan
  • Arjan Topolovec
  • Armin Buerkle
  • Balint Pato
  • Brian de Alwis
  • Cedric Kring
  • Chuck Dries
  • Cornelius Weig
  • Cyril Diagne
  • David Gageot
  • David Sabatie
  • Farhad Vildanov
  • Hwanjin Jeong
  • Idan Bidani
  • Josh Soref
  • Marc
  • Martin Hoefling
  • Max Goltzsche
  • Michael Beaumont
  • Naoki Oketani
  • Nick Kubala
  • Nicklas Wallgren
  • Nick Taylor
  • Peter Jausovec
  • Philippe Martin
  • Pradip Caulagi
  • Tad Cordle
  • Tejal Desai
  • Warren Strange

v1.1.0 Release - 12/20/2019

Note: This release comes with a new config version v2alpha1. To upgrade your skaffold.yaml, use skaffold fix. If you choose not to upgrade, skaffold will auto-upgrade as best it can.

Highlights:

  • The --port-forward flag has been added to skaffold run and skaffold deploy
  • skaffold init can now recognize nodeJS projects, and default to building them with Buildpacks
  • Skaffold has been upgraded to build with Go 1.13
  • Skaffold's kind version has been bumped to v0.6.1
  • Skaffold will now default to using gcloud authentication when available

New Features:

  • Add —port-forward to skaffold deploy #3418
  • Add --port-forward to skaffold run #3263
  • Skaffold init recognizes nodeJS projects built with Buildpacks #3394
  • Add env vars to kaniko specs #3389
  • Default to gcloud auth #3282
  • Apply resource labels in the deployer #3390
  • Add commands to list/print json schemas #3355

Fixes:

  • fix wait logic in TestWaitForPodSucceeded #3414
  • Support FROM “scratch” #3379
  • Fix two issues with profiles #3278
  • debug should replace existing ports or environment values #3195

Updates & Refactors:

  • No buffering of test output #3420
  • Simplify skaffold init code #3406
  • Setup kind and build the docker image in // #3413
  • Upgrade to Go 1.13 #3412
  • Convert git tag into proper docker tag #3407
  • Better check for valid Kubernetes manifests #3404
  • add a resourceCounter to track pods #3016
  • Use --set-string for helm image values #3313
  • Bump kind to v0.6.1 #3357
  • Improve code that chooses random port for tests #3304
  • add container spec args to to go debug #3276
  • Cache expensive Go compilation and linting #3341
  • Change SyncMap supported types check style #3328
  • Improve error output when kompose fails #3299
  • Bump default Kaniko image #3306
  • Error instead of opening interactive prompt with --force init #3252

Docs Updates:

  • document IDE setup #3397
  • Convert Asciidoc to simpler markdown #3365
  • [doc] Add missing configuration to the git tagger #3283
  • document skaffold debug & credits #3285

Huge thanks goes out to all of our contributors for this release:

  • Appu Goundan
  • Balint Pato
  • Brian de Alwis
  • Chuck Dries
  • Cornelius Weig
  • Cyril Diagne
  • David Gageot
  • David Sabatie
  • Idan Bidani
  • Martin Hoefling
  • Michael Beaumont
  • Naoki Oketani
  • Nick Kubala
  • Nick Taylor
  • Nicklas Wallgren
  • Peter Jausovec
  • Philippe Martin
  • Pradip Caulagi
  • Tad Cordle
  • Tejal Desai
  • ansky
  • balopat

v1.0.1 Release - 11/18/2019

This is a minor release to fix auto-project selection for GCB and Kaniko #3245.

v1.0.0 Release - 11/07/2019

🎉🎉🎉🎉🎉🎉 After two years, we are extremely excited to announce first generally available release v1.0.0 of Skaffold! See Skaffold Deprecation Policy for details on what GA means. See Feature Maturity to find out more on feature maturity. 🎉🎉🎉🎉🎉🎉

Note: This release also comes with a new config version v1. To upgrade your skaffold.yaml, use skaffold fix. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message.

Highlights:

  • Revamped the http://skaffold.dev splash page, added client testimonials, and added a ton of missing documentation, clearer maturity state and what functionality applies for what skaffold command
  • Added experimental support for Cloud Native BuildPacks
  • Third party open source licenses are now surfaced in skaffold credits command

New Features:

  • Adding support for Cloud Native Buildpacks #3000
  • skaffold credits to surface thirdparty licenses #3138

Fixes:

  • Fix redundant Jib image flags generated by init #3191
  • Simplify default repo handling and fix #3088 #3089
  • Fix EnvVarMap indices when caching is enabled #3114
  • Use native zsh completion script generator #3137
  • Allow configuring jib plugin type #2964
  • Fix writing rendered manifests to files #3152
  • Fixed issue with tagging of insecure registries. #3127

Updates & refactorings:

  • v1beta18 -> v1 #3174
  • Prepare kubectl and helm deployers for --kubeconfig flag #3108
  • init --analyze should return unique image names #3141
  • Don’t need race detection/code coverage #3140
  • Prepare cli-go to accept --kubeconfig setting #3107
  • Delegate release notes to external tool #3055
  • [buildpacks] Run cleanup on ctrl-c #3184
  • Remove trailing \n from download url #3201
  • Use native zsh completion script generator #3137

Docs updates:

  • permissive docs/themes dir creation #3154
  • Skaffold API docs #3068
  • Fix splash #3147
  • Skaffold image credits #3146
  • [docs] a few docs changes #3181
  • Simplify custom builder example #3183
  • Improve the k8s yaml used in buildpacks sample #3182
  • [example] update apiVersion of Deployment #3161
  • [docs] Right steps for secret creation in generate-pipeline flow. #3180
  • [docs] [output] meaningful message for healthcheck context exceeded. #3177
  • [docs] minimal jib gcb docs #3179
  • [docs] skaffold run docs in Continuous Delivery pipeline #3173
  • [docs] update buildpacks tutorial to custom builder #3166
  • [docs] change config version to v1 #3175
  • [docs, API] control api + swagger ui for http api #3158
  • [docs] maturity model defined by JSON #3162
  • [docs] add init docs #3149
  • [docs] Add logging docs #3170
  • [docs] Working With Skaffold #3169
  • [docs] Add docs for dev and ci/cd workflows #3153
  • [docs] docs changes for feature matrix #3164
  • [docs] remove diagnose from feature matrix. #3167
  • [docs] fix alerts #3159
  • [docs] Rework skaffold.dev splash page #3145
  • [docs] document activation of multiple profiles #3112
  • [docs] Fixes a broken link to the Profiles page #3144
  • [docs] fix install links #3135
  • [docs] Fix broken link to installation guide #3134
  • Add example to skaffold deploy #3202
  • [Doc] Buildpacks #3199
  • [docs] add docs for buildpacks #3198
  • [example] update apiVersion of Deployment #3161
  • [docs] move builders in to individual pages #3193
  • [docs] Cleanup docs #3176
  • [docs] quick feedback page update #3196
  • [website] unify fonts #3197
  • [docs] Add healthcheck #3178
  • [doc] debug does not work with buildpack builder and maybe custom builder images too #3204

Huge thanks goes out to all of our contributors for this release:

  • Balint Pato
  • Brian de Alwis
  • Cornelius Weig
  • David Gageot
  • Martin Hoefling
  • Naoki Oketani
  • Nick Kubala
  • Nicklas Wallgren
  • Peter Jausovec
  • Pradip Caulagi
  • Tad Cordle
  • Tejal Desai
  • ansky

v0.41.0 Release - 09/26/2019

Note: This release also comes with a new config version v1beta17. To upgrade your skaffold.yaml, use skaffold fix. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message. See Skaffold Deprecation Policy for details on what beta means.

Note: the custom artifact builder now uses $IMAGE instead of $IMAGES, please update your scripts! $IMAGES is now deprecated (undocumented, still works, but may go away eventually)

New Features:

  • Adding ephemeralstorage and ResourceStorage for kaniko pods #3013
  • Integrate file sync events into dev command #3009
  • add event api integration for deploy health check #3072
  • New version v1beta17 #3041

Fixes:

  • Improve skaffold init file traversal #3062
  • Fix —force=false #3086
  • Interrupt skaffold init with ctrl-c #3070
  • display survey prompt which points to survey url #3011
  • Fix remove patch in Profiles #3045
  • Fix skaffold deploy --tail #3049

Updates & Refactorings:

  • Log durations instead of always printing them #3102
  • Add heuristics to speed up Jib check in skaffold init #3120
  • [Custom] [Deprecation] Use $IMAGE instead of $IMAGES #3084
  • Remove logs before building and testing #3105
  • Align kubectl/kustomize cleanup output with deploy output #3103
  • skaffold build shouldn’t print the tags used in deployments #3091
  • Update a few dependencies #3087
  • Upgrade Jib to 1.7.0 #3093
  • [Custom] Clearer message when image was not built #3085
  • Warn when default or provided port not available for API Server #3065
  • [Cache] Ignore file not found #3066
  • [kaniko] Stop printing the logs on ctrl-c #3069
  • a windows build file #3063
  • Activate more linters #3057
  • Don’t print bazel slow warnings more than once. #3059
  • [Bazel] Target must end with .tar #3058
  • remove Container Was Terminated message #3054
  • Update docker and go-containerregistry #3053
  • Update dependencies and rollback to older k8s #3052
  • Use a switch instead of if #3042
  • Warn about unused configs #3046

Docs:

  • Close the bracket in documentation #3101
  • Clarify debug docs for deprecated Workload APIs #3092
  • move pr template instructions to comments #3080
  • Rename custom/buildpacks sample config #3076
  • Docs updates #3079
  • Major docs restructure #3071
  • generate docs for proto #3067
  • Make all docs have TOC on the right hand side. #3064
  • Add HaTS and Opt-In Feedback links #2919
  • getting started -> quickstart #3030

Design proposals:

  • kube-context design proposal: add note about the implementation status #2991

Huge thanks goes out to all of our contributors for this release:

  • Amet Umerov
  • Andreas Sommer
  • Balint Pato
  • Brian de Alwis
  • Cornelius Weig
  • David Gageot
  • Hugo Duncan
  • Jens Ulrich Hjuler Fosgerau
  • Michael Beaumont
  • Nick Kubala
  • Philippe Martin
  • Prashant
  • Priya Wadhwa
  • Tad Cordle
  • Tejal Desai

v0.40.0 Release - 09/26/2019

This release adds a new command, skaffold render, which will output templated kubernetes manifests rather than sending them through kubectl to deploy to your cluster. This can be used to commit final manifests to a git repo for use in GitOps workflows.

This command has been implemented for the kubectl deployer only; implementations for kustomize and helm will follow in the next release.

Note: This release also comes with a new config version v1beta16. To upgrade your skaffold.yaml, use skaffold fix. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message. See Skaffold Deprecation Policy for details on what beta means.

New Features:

  • Add option to override kubecontext from skaffold.yaml #2510
  • Support YAML anchors in skaffold.yaml (key must start with a dot) #2836
  • Add file sync to Event and State APIs #2978
  • Implement 'skaffold render' for kubectl deployer #2943
  • Add skip tls verify option to kaniko builder #2976
  • Add PullSecretMountPath to ClusterDetails #2975

Bugfixes:

  • Fix bugs in insecure registries for kaniko #2974
  • Fix check flake by not using Github API #3033
  • Pass the context #3014
  • Push once #2855
  • Tiny typo fix for build output in skaffold deploy #2988
  • Don't assume string keys in helm charts #2982
  • Properly tag images with digest when using helm #2956
  • Reset State on Build #2944
  • reset deploy state #2945
  • Fix Flake TestPollResourceStatus/resource_stabilizes by removing sleep from test. #2934

Updates & Refactors:

  • handle StatusCheck Events implementation logic #2929
  • Custom artifact depends by default on the whole workspace #3028
  • Strip the debugging information #3027
  • Improve error messages for deploy.kubeContext error cases #2993
  • Bump golangci-lint to v1.20.0 #3018
  • Refactor setDefaults code #2995
  • Every type of artifact should be handled. #2996
  • Simpler code for GCB dependencies #2997
  • Extract code that handles graceful termination #3005
  • Download pack like the other packages #2998
  • go mod tidy #3003
  • [custom] Test error case #3004
  • v1beta16 #2955
  • report StatusCheck Events #2929
  • Add Pod Status when pod is pending by going through pending container #2932
  • rename imageList to podSelector #2989
  • Specifying artifact location i.e locally or remote #2958
  • remove duplicate status check #2966

Docs:

  • Add page about kube-context handling in docs concepts section #2992
  • Fix sample’s version #3015
  • Fix versions used in examples #2999
  • Docs Splash Page Update #3031
  • [docs] re-add exceptions in deprecation policy #3029
  • add links to docs which are present #3026
  • moving deprecation policy to skaffold.dev #3017
  • add survey link and reword community office hours #3019
  • Bump Hugo to 0.58.3 #3001
  • List all builders in doc #3002
  • Add small pr guidelines #2977
  • link validation in docs #2984

Huge thanks goes out to all of our contributors for this release:

  • Andreas Sommer
  • Balint Pato
  • Cornelius Weig
  • David Gageot
  • Hugo Duncan
  • Jens Ulrich Hjuler Fosgerau
  • Michael Beaumont
  • Nick Kubala
  • Prashant
  • Priya Wadhwa
  • Tejal Desai

v0.39.0 Release - 09/26/2019

Note: This release comes with a new config version v1beta15. To upgrade your skaffold.yaml, use skaffold fix. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message. See Skaffold Deprecation Policy for details on what beta means. The env vars DIGEST, DIGEST_HEX and DIGEST_ALGO now fail if found in envTemplate fields.

Highlights:

  • We now include build args in the artifact cache hash generation #2926
  • Skaffold now passes the --set-files argument to the helm CLI: you can define helm.release.setFiles in the skaffold.yaml
  • Skaffold now passes the --build-args arguments to kustomize: you can define deploy.kustomize.buildArgs in the skaffold.yaml

New Features:

  • Optional pull secret for Kaniko #2910
  • Add Jib-Gradle support for Kotlin buildscripts #2914
  • Add graceful termination for custom builders #2886
  • Add docs and tutorial for buildpacks #2879
  • kustomize build args #2871
  • Add setFiles to HelmDeploy.HelmRelease skaffold config which will be add --set-files argument to helm CLI #2895

Bug Fixes:

  • fix flake TestGetSetFileValues #2936
  • Fix helm deployer with imageStrategy helm and fix test runner #2887
  • Include build args in cache hash generation #2926
  • Fix test flake TestPollResourceStatus #2907
  • Fix build script for doc generation. #2884

Updates & Refactors:

  • Create new v1beta15 config #2881
  • adding release comment management to all config.go #2917
  • Change final status check error message to be more concise. #2930
  • Add unimplemented 'skaffold render' command #2942
  • Bump golangci-lint to v0.19.0 #2927
  • Add pod resource with no status check implemented. #2928
  • added support for interface type in schema check #2924
  • add protos for status check #2916
  • Refactor Deployment common functions in to a Base struct in prep to pod #2905
  • Add missing T.Helper() in testutil.Check* as required #2913
  • Removing testing version dependent skaffold config test in examples #2890
  • rename hack/versions/cmd/new/new.go to hack/versions/cmd/new/version.go #2882
  • [Refactor] Move pollDeploymentStatus to resource.Deployment.CheckStatus #2896
  • init: Add default config name #2668
  • Upgrade jib to 1.6.1 #2891
  • Print deployment status after every 0.5 seconds. #2866
  • Fail PR if it has a structural schema change in a released version #2864

Docs:

  • add better docs for recreate pods #2937
  • added release comments manually #2931
  • add github pull request template #2894

Huge thanks goes out to all of our contributors for this release:

  • Aisuko
  • Andreas Sommer
  • Balint Pato
  • Brian de Alwis
  • Cedric Kring
  • Chanseok Oh
  • Cornelius Weig
  • David Gageot
  • Dominic Werner
  • Jack Davis
  • Marlon Gamez
  • Medya Gh
  • Michael Beaumont
  • Nick Kubala
  • Prashant Arya
  • Priya Wadhwa
  • Tad Cordle
  • Tejal Desai
  • Willy Aguirre

v0.38.0 Release - 09/12/2019

Note: This release comes with a new config version v1beta14. To upgrade your skaffold.yaml, use skaffold fix. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message. See Skaffold Deprecation Policy for details on what beta means.
The env vars DIGEST, DIGEST_HEX and DIGEST_ALGO won't work anymore in envTemplates.

New Features:

  • Add Go container debugging support #2306
  • Note: jibMaven and jibGradle are now just simply jib - your old config should be upgraded automatically. #2808
  • Add Kaniko builder to GCB #2708

Bug Fixes:

  • Upgrade golangci-lint to v1.18.0 #2853
  • Always add image flag to jib builders in skaffold init #2854
  • add deploy stabilize timer #2845
  • Only activate env: "KEY=" for empty environment variable value, clearly document pattern behavior #2839
  • Small random fixes to tests and code #2801
  • skaffold init can be interrupted when kompose is running #2803
  • Fix portforward flake #2824
  • Improve skaffold init behavior when tags are used in manifests #2773
  • Skip secret creation/check #2783

Updates & Refactors:

  • Print deployment status check summary when a status check is completed. #2811
  • add tests for Status.String method. #2861
  • Update dependencies #2857
  • Prepare to Add functionality to Replacer interface to restrict setting labels on certain kinds. #2060
  • Add Resource.Status object and remove sync.Map #2851
  • Add Deployment resource struct. #2847
  • refactor pollDeploymentRolloutStatus #2846
  • Improve runner #2828
  • Ignore codecov.io upload errors #2841
  • fix flake in in-cluster build #2799
  • skaffold trace -> kaniko debug #2823
  • Single way of mocking Kubernetes client/dynamic client #2796
  • Remove caching flags true from integration test #2831
  • add example for skaffold generate-pipeline #2822
  • Improve versioning #2798
  • Simplify TestBuildInCluster #2829
  • Simplify doDev() #2815
  • Remove misleading log #2802
  • Merge back release/v0.37.1 #2800
  • increasing unit test timeout to 90s #2805
  • remove unused values helm example #2819
  • Add --config-files flag for generate-pipeline command #2766
  • Update dependencies #2818

Docs:

  • [doc-style]/Sorting out the tools list follow the workflow picture. #2838
  • Design proposal for integrationtest command #2671
  • Split the concepts section into several sub-pages #2810

Huge thanks goes out to all of our contributors for this release:

  • Aisuko
  • Andreas Sommer
  • Balint Pato
  • balopat
  • Brian de Alwis
  • Cedric Kring
  • Chanseok Oh
  • Cornelius Weig
  • daddz
  • David Gageot
  • Jack Davis
  • Marlon Gamez
  • Medya Gh
  • Nick Kubala
  • Prashant Arya
  • Tad Cordle
  • Tejal Desai

v0.37.1 Release - 09/04/2019

This is a minor release for a privacy policy update:

  • add privacy notice and command to set update check false #2774

v0.37.0 Release - 08/29/2019

No new features in this release!

Bug Fixes:

  • Use active gcloud credentials for executing cloudbuild when available #2731
  • Restore original images only if there are no remote manifests #2746
  • List manifests in the order given by the user #2729
  • Fix 'skaffold diagnose' for custom builder without dependencies #2724
  • Don't panic when dockerConfig isn't provided #2735
  • Don't set KanikoArtifact if CustomArtifact is set #2716
  • [Caching] Artifact’s config is an input to digest calculation #2728
  • Don’t fetch images that are aliases for scratch #2720
  • Implement exponential backoff for retrieving cloud build status #2667
  • Fix call to newPortForwardEntry constructor in kubectl_forwarder_test #2703
  • Add information about top level owner to port forward key #2675
  • Turn RPC State forwardedPorts into map keyed by the local port #2659
  • Show the duration of the deploy phase #2739
  • Configure jib.allowInsecureRegistries as required #2674

Updates & Refactors:

  • Pass extra env to the Docker CLI #2737
  • Improve manifest splitting. #2727
  • Bazel query should specify --output #2712
  • Print the output of failed integration tests #2725
  • We must handle every profile field type #2726
  • Fix CI scripts #2736
  • Directs "Download" button to Quickstart #2695
  • Small improvements to code coverage #2719
  • Don’t store log lines as mutable slices of bytes #2721
  • more debugging for kubectl portforward #2707
  • Remove time sensitive tests #2655
  • Log a warning and rebuild if needed when caching fails #2685
  • Improve logging warning when encountering profile field of unhandled type #2691
  • refactor: Add upgrade utility to handle all pipelines in a SkaffoldConfig #2582
  • Add struct for generate_pipeline to keep track of related data #2686
  • Add unit tests to kubectl forwarder #2661
  • separate checks + unit tests #2676
  • Add UPSTREAM_CLIENT_TYPE user agent environment variable to kaniko pod #2723

Docs:

  • Document Docker buildArgs as templated field #2696
  • Update cache-artifacts option usage language to reflect new default #2711
  • docs: clarify that tagged images in manifests are not replaced #2598
  • fix development guide link #2710
  • Update community section of README #2682

Huge thanks goes out to all of our contributors for this release:

  • Aaron Paz
  • Andreas Sommer
  • Appu
  • Balint Pato
  • bpopovschi
  • Brian de Alwis
  • Cedric Kring
  • Chanseok Oh
  • Charles-Henri GUERIN
  • Cornelius Weig
  • David Gageot
  • Dmitri Moore
  • Filip Krakowski
  • Jason McClellan
  • JieJhih Jhang
  • Marlon Gamez
  • Matt Brown
  • Medya Ghazizadeh
  • Michael Beaumont
  • Nick Kubala
  • Prashant Arya
  • Priya Wadhwa
  • Russell Wolf
  • Sébastien Le Gall
  • Sergei Morozov
  • Tad Cordle
  • Tanner Bruce
  • Taylor Barrella
  • Tejal Desai
  • Tom Dickman

v0.36.0 Release - 08/15/2019

New Features:

  • Add CLI option --kube-context to override the kubecontext in Skaffold #2447
  • Set artifact caching on by default #2621
  • Add flag status-check-deadline instead of default 10 minutes #2591
  • skaffold generate-pipeline command (experimental) #2567

Bug Fixes:

  • Pass minikube docker configuration to container-structure-test #2597
  • Use pointers for connection listeners so they can be closed properly #2652
  • Don't look up services in all namespaces. #2651
  • Add CLI flag --config for configuring the global config location #2555
  • Fix kaniko permissions with generate-pipeline command #2622
  • Fix remoteManifests #2258
  • docker auth: use GetAllCredentials() to use credHelpers #2573
  • Add missing digest when setting helm image tag #2624
  • Make sure we mute/unmute logs at the correct times #2602

Updates & Refactors:

  • Merge global and context-specific array settings in Skaffold config #2590
  • Add unit test for LoadOrStore #2649
  • Add constructor for creating portForwardEntry #2648
  • Link task resources in generate-pipeline output #2638
  • Select resources by UUID label #2609
  • Collect namespaces of deployed resources. #2640
  • Add port forwarding integration test #2623
  • Fix issue with remote Kustomizations in dev mode. (#2581) #2611
  • Watch all artifact workspaces, including those outside of the working directory #2614
  • Make skaffold-generate pipeline command hidden #2616
  • refactor code used by pkg/skaffold/runner/generate_pipeline.go #2617
  • Update skaffold init --artifact to use JSON structs instead of paths #2364
  • fix travis build + docs whitespaces to trigger build #2610
  • Update .travis.yml #2600
  • build master only on travis CI #2607

Docs:

  • Design proposal for configurable kubecontext #2384
  • Removed broken link, since the page doesn't exists anymore #2644

Huge thanks goes out to all of our contributors for this release:

  • Balint Pato
  • bpopovschi
  • Chanseok Oh
  • Cornelius Weig
  • Filip Krakowski
  • Jason McClellan
  • Marlon Gamez
  • Matt Brown
  • Nick Kubala
  • Priya Wadhwa
  • Tad Cordle
  • Tanner Bruce
  • Tejal Desai

v0.35.0 Release - 08/02/2019

Note for Jib users: The Jib binding has changed and projects are now required to use Jib v1.4.0 or later. Maven multi-module projects no longer require binding jib:build or jib:dockerBuild to the package phase and should be removed.

New Features:

  • Add Jib detection to skaffold init #2276
  • Add ability to pass an explicit registry value to Helm charts #2188

Bug Fixes:

  • Make sure we mute/unmute logs at the correct times #2592
  • Fix handling of whitelisted directories in dockerignore #2589
  • Cleaner kubectl port-forward retry logic #2593
  • Negotiate docker API version when creating minikube docker client #2577
  • Retry port forwarding when we see forwarding-related errors from kubectl #2566

Updates & Refactors:

  • Refactor: Use new kubectl.CLI util to shell out to kubectl #2509
  • Remove duplication around Go modules settings #2580
  • Faster tests #2570
  • [linters] Use vendored dependencies. Don’t download them. #2579
  • Improve Jib support on gcb #2548
  • Bring back applying labels to services deployed with helm #2568
  • Fix linter deadline #2572
  • Go Modules #2541
  • Make all embedded fields on runner private #2565
  • Simplify FakeAPIClient #2563
  • Minor changes to kubectl and kustomize deployers #2537
  • Simplify Sync code #2564
  • Starting a refactoring around RunContext and Docker local/remote Api #2497

Huge thanks goes out to all of our contributors for this release:

  • Balint Pato
  • Cornelius Weig
  • David Gageot
  • Michael Beaumont
  • Nick Kubala
  • Priya Wadhwa
  • Tad Cordle
  • Tejal Desai

v0.34.1 Release - 07/25/2019

This minor release addresses #2523, a breaking issue that prevented ports for resources from being re-forwarded on redeploy.

New Features:

  • Let the user specify a path and a secret name #2539
  • Add configuration option for sync inference [3/3] #2088
  • Expose control API for builds, syncs, and deploys #2450

Bug Fixes:

  • Monitor kubectl logs when port forwarding and retry on error #2543
  • Make sure logs are not intermixed #2538

Updates & Refactors:

  • Add a jibGradle sample #2549
  • Make Jib test projects more lightweight #2544
  • Add a quicktest Makefile target #2540
  • Improve Maven/Jib multimodule builds between Minikube and remote clusters #2122
  • Use test helpers #2520
  • Better message when a container is terminated #2514
  • Simpler code #2532
  • Remove unused code #2513
  • Fix linter issues #2527
  • Longer deadline for linters #2518
  • Code format #2519
  • Remove duplicate go version #2517
  • Move test.sh to hack folder #2515
  • Travis CI: integration stage -> job #2504

Huge thanks goes out to all of our contributors for this release:

  • Appu
  • Balint Pato
  • Brian de Alwis
  • Cedric Kring
  • Charles-Henri GUERIN
  • Cornelius Weig
  • David Gageot
  • Jason McClellan
  • JieJhih Jhang
  • Marlon Gamez
  • Medya Ghazizadeh
  • Nick Kubala
  • Prashant Arya
  • Priya Wadhwa
  • Sébastien Le Gall
  • Tad Cordle
  • Taylor Barrella
  • Tejal Desai
  • Tom Dickman

v0.34.0 Release - 07/19/2019

Note: This release comes with a new config version v1beta13. To upgrade your skaffold.yaml, use skaffold fix. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message. See Skaffold Deprecation Policy for details on what beta means.

New Features:

  • File output flag for writing built images to a specified file #2476
  • Default to notify trigger #2482
  • Support --reproducible for Kaniko build #2453
  • Add options command to show global flags #2454
  • Add deployment health check implementation #2359
  • Add a metadata.name field to skaffold.yaml #2437
  • Update skaffold init --analyze to handle more builder types #2327
  • Support alternative Kustomization config filenames (#2422) #2439
  • Add resync/rebuild directly in monitor callback #2438
  • The user is now able to disable RPC in dev mode #2427
  • Feat(sync): skip sync on non-running pods #2403
  • Allow for remote kustomize bases #2269
  • ✨ Add support for regexp in profile activation kubeContext #2065

Bug Fixes:

  • Fix port forwarding in dev loop #2477
  • Propagate special error on configuration change #2501
  • Fix proto generation and testing #2446
  • Add back /v1/event_log endpoint for events #2436
  • Pruning should happen after Cleanup #2441
  • Fix script that creates a new version to make it work on osx #2429
  • Fix proto generation test #2419
  • Fix Monitor test #2413

Updates & Refactors:

  • Set statuscheck to false. #2499
  • Simpler faster find configs #2494
  • Add a few more examples to commands with -—help #2489
  • Little increase to Code coverage #2490
  • Revisited artifact caching #2470
  • Upgrade go container registry to remove spurious logs #2487
  • Add skaffold config examples #2483
  • Update ISSUE_TEMPLATE.md #2486
  • Upgrade to Jib 1.4.0 #2480
  • Improve the logs when there's no skaffold.yaml #2467
  • Better mock for docker.ImageID #2461
  • Upgrade go-containerregistry #2455
  • [caching] Simpler code and fixing nits #2456
  • Simplify caching #2452
  • Test Sync mode with both triggers #2449
  • Set out on the root command #2445
  • Kaniko proxy #2283
  • Freeze v1beta12 and prepare v1beta13 #2430
  • Correctly migrate sync config in profiles #2415
  • Improve skaffold help output #2324
  • Watch namespaces for each Helm release #2423
  • Add support for kustomization resources (#2416) #2420
  • Test regexp usage in profiles activation #2417
  • Update dev guide with regards to integration tests #2418
  • Improve skaffold help #2434
  • Remove unused property #2428
  • Wait for parallel builds to be cancelled on error #2424
  • Better integration tests #2406
  • Faster proto generation #2402
  • Build with Go 1.12 #2396
  • Move docker code where it belongs #2393
  • Transfer control of dev loop from file watcher to dev listener #2354
  • Simplify test debug #2399
  • Fix minor warnings on doc site #2389

Huge thanks goes out to all of our contributors for this release:

  • Balint Pato
  • Charles-Henri GUERIN
  • Cornelius Weig
  • David Gageot
  • Jason McClellan
  • Marlon Gamez
  • Medya Ghazizadeh
  • Nick Kubala
  • Prashant Arya
  • Priya Wadhwa
  • Sébastien Le Gall
  • Tad Cordle
  • Taylor Barrella
  • Tejal Desai

v0.33.0 Release - 07/02/2019

Note: This release comes with a new config version v1beta12. To upgrade your skaffold.yaml, use skaffold fix. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message. See Skaffold Deprecation Policy for details on what beta means.

New Features:

  • Add support for user defined port forwarding #2336
  • Redesign port forwarding #2215
  • Support buildArgs with useDockerCLI=false and Kaniko #2299
  • Optimized loading of Docker images into kind nodes #2286

Bug Fixes:

  • Fix schema doc #2388
  • Bazel: support sub directories #2312
  • Custom Builder: Fix bug when no deps specified #2391
  • Fix missing logs when kaniko exists immediately #2352
  • Fix support for URL manifests #2348
  • Start API server only once #2382
  • Support Cluster config with a path #2342
  • Schemas: Make sure preferredOrder is in sync with field order in Go structs #2361
  • Fix handling of multi stage builds #2340
  • Kaniko: fix host path support #2333
  • upgrade go bazel rules to in examples to fix bazel breaking release 0.18.6 #2311

Updates & Refactors:

  • Refactor skaffold init for more flexible builder detection #2274
  • Configure linter to check for unclosed http body #2392
  • Jib Builder: add more tests #2390
  • match some more jib files in owners #2386
  • Use goroutine for sync #2378
  • Increase test coverage on Jib Builder #2383
  • Reduce the amount of logs #2375
  • Add a test to Kaniko builder #2371
  • Upgrade kind to 0.4.0 #2369
  • Improve the logs #2323
  • Better error message for references that can’t be parsed #2367
  • Update toolchain and make sure versions are pinned #2362
  • Add status check flag #2338
  • Update Jib to 1.3.0 #2363
  • Validate port-forwards by attempting to bind to port #2345
  • Add portforward diagram to docs #2353
  • Restart the dev loop when the skaffold config changes #2347
  • Kustomize: pick up patchesStrategicMerge changes #2349
  • Update examples #2343
  • Move default labeller to deploy since it used in deployer. #2335
  • Don’t always start the rpc server #2328
  • Add missing v1beta11 version #2332
  • freeze v1beta11 #2329
  • stop receiving the signals #2257
  • Improve and test the notify trigger #2297
  • Add scripts to test and generate files from proto #2316
  • Improve tests #2309
  • Refactor the SkaffoldRunner #2307
  • Add an integration test for Kaniko with a Target #2308
  • Update Kaniko #2313
  • Upgrade k8s libraries to 1.12.9 #2310
  • Jib builder should not reuse commands #2302

Huge thanks goes out to all of our contributors for this release:

  • Appu
  • Balint Pato
  • Brian de Alwis
  • Cedric Kring
  • David Gageot
  • JieJhih Jhang
  • Nick Kubala
  • Priya Wadhwa
  • Tad Cordle
  • Tejal Desai
  • Tom Dickman

v0.32.0 Release - 06/20/2019

New Features:

  • Add resourceType and resourceName to PortForward event #2272
  • Add custom artifact type to cluster builder #2048
  • Add Python debugging support #2205
  • Add K8sManagedBy function to labeller #2270
  • Add resources to Kaniko init container #2260
  • Implements skaffold find-configs -d <dir> command #2244
  • Expand values file paths prefixed with ~ #2233
  • Implement destination inference for sync of dockerfile artifacts [2/3] #2084

Bug Fixes:

  • Handle eu.gcr.io like gcr.io when replacing default image #2300
  • Fix config reload in skaffold dev #2279
  • Docker is case sensitive about networks #2288
  • cluster builder fails to detect insecure registries #2266
  • fix static linking of linux binary #2252
  • fix racy test #2251

Updates & Refactors:

  • Remove the config out of date warning #2298
  • Fix codecov2 #2293
  • Handle simple glob patterns when upgrading the sync patterns #2287
  • more debug codeowner-ship #2292
  • comment setup for codecov #2291
  • adding tests for cluster builder #2275
  • Update debug owners #2285
  • add test for one method in diagnose. #2238
  • Bumping kustomize version fixes #2137 #2265
  • Upgrade golangci-lint to v1.17.1 #2248
  • ability to make integration only on a chosen set of integration tests #2250
  • another testcase for local builder #2253
  • Simpler Makefile #2259
  • Add debug codeowners #2247
  • Improve code coverage #2242
  • Mark debug as alpha #2246
  • Use kind to run integration tests on TravisCI #2196
  • tests for local.NewBuilder #2240
  • Add unit tests for WaitForPodSucceeded #2239
  • remove webhook from coverage report #2236
  • Dep ensure #2230

Huge thanks goes out to all of our contributors for this release:

  • Balint Pato
  • balopat
  • Brian de Alwis
  • Cedric Kring
  • Cornelius Weig
  • David Gageot
  • Nick Kubala
  • priyawadhwa
  • Priya Wadhwa
  • steevee
  • stephane lacoin
  • Stephane Lacoin (aka nxmatic)
  • Tejal Desai
  • Valentin Fedoskin
  • yfei1

v0.31.0 Release - 06/06/2019

New Features:

  • Add CI on windows #2214
  • Add API build trigger alpha #2201
  • Cross compile Skaffold, with CGO=1, using xgo #2006
  • Print logs from init containers #2182

Bug Fixes:

  • Fix master branch #2221
  • Fix error in flag refactoring for skaffold run --tail #2172

Updates & refactoring:

  • Increase test coverage #2225
  • Use test wrapper in more tests #2222
  • Improve documentation for kaniko #2186
  • Use the testutils test helper #2218
  • Remove AppVeyor #2219
  • Check man page with a unit test instead of a script #2180
  • Test helper to make tests less verbose #2193
  • Refactor cmd builder #2179
  • Faster Travis CI #2210
  • Simplify schema upgrades: remove duplication #2212
  • Moar tests #2195
  • Add a test help to verify that a test panicked #2194
  • [Refactor] Move gRPC and HTTP server logic out of event package #2199
  • Update _index.md #2192
  • Multiple small improvements to unit tests #2189
  • Test tester #2181
  • Remove dead code #2183
  • Remove trailing dot. #2178
  • Remove $ from example commands #2177
  • Add sync test and refactor InParallel #2118

Huge thanks goes out to all of our contributors for this release:

  • Alexandre Ardhuin
  • Balint Pato
  • Brian de Alwis
  • Byungjin Park
  • Chanseok Oh
  • Charles-Henri GUÉRIN
  • Cornelius Weig
  • David Gageot
  • Dmitri Moore
  • Etan Shaul
  • Gareth Evans
  • g-harel
  • guille
  • Ilyes Hammadi
  • Iván Aponte
  • Marcos Ottonello
  • Martin Hoefling
  • Michael FIG
  • Nick Kubala
  • Persevere Von
  • peter
  • Pierre-Yves Aillet
  • Prashant Arya
  • Priya Wadhwa
  • Rahul Sinha
  • robertrbruno
  • Rory Shively
  • Tad Cordle
  • Taylor Barrella
  • Tejal Desai
  • Tigran Tch
  • TJ Koblentz
  • u5surf
  • venkatk-25
  • Xiaoxi He

v0.30.0 Release - 05/23/2019

Note: This release comes with a new config version v1beta11. To upgrade your skaffold.yaml, use skaffold fix. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message. See Skaffold Deprecation Policy for details on what beta means.

New Features:

  • Add support for npm run-script-based launches for skaffold debug #2141
  • Support deploying remote helm charts #2058
  • Option to mount HostPath in each Kaniko Pod to be used as cache volume #1690
  • Additional git tagger variants (TreeSha, AbbrevTreeSha) #1905
  • Enable skaffold debug for kustomize #2043
  • ✨ Add option --no-prune-children #2113
  • Turn port forwarding off by default #2115

Bug Fixes:

  • Remove build dependency for helm deploy #2121
  • Check for env variables for root cmd persistent flags #2143
  • skaffold debug: log unsupported objects or versions #2138
  • Don't panic for nil pod watch object #2112
  • Fix bugs in custom builder #2130

Updates & refactoring:

  • Freeze v1beta10 config #2109
  • Add Annotations to command and flags per phase annotation. #2022
  • Add smoke test for skaffold diagnose #2157
  • More tests #2128
  • Refactor the runner #2155
  • Remove some old plugin related code from event handler #2156
  • Test helper to override value for tests #2147
  • Simpler Travis configuration #2146
  • Remove duplication around cobra code. #2145
  • Bring helm integration test back #2140
  • Use testutil.NewTempDir() instead #2149
  • Simpler code #2148
  • Use more recent Golang images #2132
  • Always use the same technique to cleanup global variables in tests. #2135
  • Update jib #2133

Docs updates:

  • Fix and improve sync samples #2131
  • docs: correct header name for jump. #2079
  • added the notice about skaffold deploy #2107
  • add explanation to cloud build section docs #2104

Design proposals:

  • [Design Proposal] Event API v2 #1949
  • [Design Proposal] Setting proxy for Kaniko Pod #2064

Huge thanks goes out to all of our contributors for this release:

  • Balint Pato
  • Brian de Alwis
  • Charles-Henri GUÉRIN
  • Cornelius Weig
  • David Gageot
  • Iván Aponte
  • Martin Hoefling
  • Nick Kubala
  • Persevere Von
  • Prashant Arya
  • Priya Wadhwa
  • Taylor Barrella
  • Tejal Desai

v0.29.0 Release - 05/09/2019

Note: This release comes with a new config version v1beta10. To upgrade your skaffold.yaml, use skaffold fix. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message. See Skaffold Deprecation Policy for details on what beta means.

Note: skaffold deploy now requires images to be built first, skaffold deploy will not build images itself.

Users can use skaffold deploy in this flow for example:

  1. skaffold build -q > built.json
  2. skaffold deploy -a built.json

Or if users want a single command that builds and deploys, they can still run skaffold run.

New Features:

  • Add command to custom artifact dependencies #2095
  • Improve syntax for artifact.sync config [1/3] #1847
  • Add dockerfile to custom dependencies #2049
  • Automatically watch helm subcharts when skipBuildDependencies is enabled #1371
  • Allow environment variables to be used in docker build argument #1912
  • Add option to configure the networking stack in docker build #2036
  • Allow --no-cache to be passed to docker #2054
  • Deploy to consume build output #2001
  • Add k8 style managed by label to skaffold deployed pods #2055
  • Support kubectl deploy absolute manifest files #2011

Bug Fixes:

  • Add custom artifact for custom local builds #1999
  • Add version as unknown if version.Get().Version is empty #2097
  • Fix image release process: master -> edge, tag -> latest #2099
  • 🐛 fix kubectl apply error handling #2076
  • Remove podname from port forward key #2047
  • Correctly parse env-var for multi-valued flags #2032

Updates & refactoring:

  • Prefix Skaffold labels with 'skaffold-' #2062
  • Remove copy paste deploy_test.go #2085
  • Freeze v1beta9 config #2035
  • Add unit test for port forwarding key #2059
  • Refactor kaniko builder to cluster builder #2037
  • Attaching os standard error and out stream to the copy command #1960

Docs updates:

  • Mention kind in docs for local development #2090
  • Clarify which containers are port forwarded #2078
  • Improve nodejs example to show subdirectories sync #2024
  • Minor fix on Markdown to follow markdown rules #2052
  • Note filesync limitation for files not owned by container user #2041

Design proposals:

  • Design proposal for sync improvements #1844

Huge thanks goes out to all of our contributors for this release:

  • Balint Pato
  • Brian de Alwis
  • Byungjin Park
  • Charles-Henri GUÉRIN
  • Cornelius Weig
  • David Gageot
  • Dmitri Moore
  • Ilyes Hammadi
  • Nick Kubala
  • peter
  • Pierre-Yves Aillet
  • Prashant Arya
  • Priya Wadhwa
  • Rahul Sinha
  • robertrbruno
  • Tejal Desai
  • Tigran Tch
  • Xiaoxi He

v0.28.0 Release - 04/25/2019

Note: This release comes with a new config version v1beta9. To upgrade your skaffold.yaml, use skaffold fix. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message. See Skaffold Deprecation Policy for details on what beta means.

New Features:

  • Git tagger variants (Tags, CommitSha, AbbrevCommitSha) #1902
  • Add --force command line option to run and deploy sub-commands #1568
  • Full validation for required and oneOf config fields #1939
  • Add hidden flag --force-colors to always print color codes #2033

Bug Fixes:

  • Rename SkaffoldPipeline to SkaffoldConfig #2015
  • Fix typo #2013
  • Include runtime dependencies for taggers in gcr.io/k8s-skaffold/skaffold #1987
  • fix show some option in skaffold delete #1995 #1997
  • Fix panic when upgrading configurations with patches #1971
  • Fix error message when the skaffold.yaml is not found #1947
  • Fix syncing for Jib #1926

Updates & refactoring:

  • Reduce overhead of Jib builder #1744
  • Remove plugin code from config #2016
  • Update a few dependencies #2020
  • Remove some dead code #2017
  • Don’t fetch the same config twice #2014
  • Remove unused instructions from Makefile #2012
  • Remove bazel plugin & revert back to original #1989
  • Remove docker plugin and revert to original code structure #1990
  • Don't run GCB example on structure tests #1984
  • Use RunOrFailOutput instead of RunOrFail to see the error logs in test #1976
  • Freeze v1beta8 skaffold config #1965
  • Remove the experimental UI #1953
  • Always configure which command runs #1956

Docs updates:

  • Add more github shields #2026
  • Improve Skaffold-Jib docs for Maven multi-module projects #1993
  • Add contributing docs for making a config change #1982
  • Add start on filesync doc #1994
  • Add some documentation for container structure tests #1959
  • Add documentation for insecure registries #1973
  • Add documentation for local development setups #1970

Huge thanks goes out to all of our contributors for this release:

  • Alexandre Ardhuin
  • Balint Pato
  • Brian de Alwis
  • Cornelius Weig
  • David Gageot
  • Nick Kubala
  • Priya Wadhwa
  • Tad Cordle
  • Tejal Desai
  • u5surf

v0.27.0 Release - 04/12/2019

Note: This release comes with a new config version v1beta8. To upgrade your skaffold.yaml, use skaffold fix. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message. See Skaffold Deprecation Policy for details on what beta means.

New Features:

  • Add support for pushing/pulling to insecure registries #1870
  • Minor doc updates #1923
  • Specify the resource requirements for the kaniko pod in Skaffold Config #1683
  • Validate pipeline config #1881
  • Configure Jib builds to use plain progress updates #1895
  • Remove intermediate images and containers from local builds by default #1400

Bug Fixes:

  • remove runcontext creation from gcb builder path #1944
  • Remove duplicate cache code #1922
  • fixing non-oneof inline struct handling in schemas #1904
  • Undo fmt.Fprint -> color.White.Fprint #1903
  • ctx->runCtx #1940
  • Fix flakes with rpc integration test #1860

Updates & refactoring:

  • remove inline structs from schema #1913
  • Introduce RunContext object for passing necessary context to runner constructor methods #1885
  • extracting Pipeline from SkaffoldConfig #1899
  • Freeze v1alpha7 skaffold config version #1914
  • Adding a design proposal template and README. #1838
  • Upgrade golangci-lint to v1.16.0 #1898
  • Remove container-friendly flags for Java 8 #1894
  • Improve helm examples #1891

v0.26.0 Release - 3/27/2019

New features:

  • Add debugging support for Skaffold: skaffold debug #1702
  • Add portName to the PortEvent payload of the event api #1855
  • Add HTTP reverse proxy for gRPC server to expose REST API for event server #1825
  • Preserve sync subtree for '***'. #1813
  • Error if no Dockerfiles are found for skaffold init --analyze #1810

Fixes:

  • Fix unnecessary warning in caching #1873
  • Add folders to tarballs #1878
  • Fix go routine leak #1874
  • Fix skaffold build templating output and add tests #1841
  • Don't expose ports to the outside and fix a race condition #1850
  • removing goroutine leak #1871
  • Verify patches and fail with a proper error message #1864
  • Support 1.11+ as a kubectl version #1843

Updates & refactorings:

  • Add integration testing and example for skipBuildDependencies option #1368
  • Improve Doc’s Dockerfile #1875
  • Add tests for skaffold init walk flow. #1809
  • Refactor Wait Utils Into Watchers #1811
  • Enhance hack/check-samples script #1858
  • removing unnecessary exit from plugin processes #1848
  • Improve test coverage #1840
  • Fix warning with find on TravisCI #1846
  • Basic unit test to go through all the cobra related code #1835
  • Compute tags in parallel #1820
  • Increase integration tests timeout to 15minutes #1834
  • Faster git tagger #1817
  • Add unit tests for kustomize #1828
  • Improve test coverage #1827
  • Remove duplication in eventing #1829
  • Simplify upgrade code #1830
  • Check that samples are both in ./examples and ./integration/examples #1832
  • Add total time for skaffold build #1818
  • Check cached artifacts in parallel #1821
  • Debug integration tests #1816
  • Faster doc preview #1773

Docs updates:

  • Improve manual installation instruction for windows #1883
  • more docs for profiles #1882
  • Add missing env variables in CLI reference doc #1863
  • Add React example app featuring hot module reload #1826
  • fix Markdown rendering deprecation-policy.md #1845
  • Fix Safari issue on skaffold.dev yaml reference #1831

Huge thanks goes out to all of our contributors for this release:

  • Balint Pato
  • Brian de Alwis
  • Cornelius Weig
  • David Gageot
  • Etan Shaul
  • g-harel
  • Michael FIG
  • Nick Kubala
  • peter
  • Priya Wadhwa
  • Tejal Desai

v0.25.0 Release - 3/15/2019

Note: This release comes with a new config version v1beta7. To upgrade your skaffold.yaml, use skaffold fix. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message. See Skaffold Deprecation Policy for details on what beta means.

Deprecation notice: With this release we mark for deprecation the flags (KanikoArtifact.AdditionalFlags) field in kaniko; instead Kaniko's additional flags will now be represented as unique fields under kaniko per artifact (KanikoArtifact type). This flag will be removed earliest 06/15/2019.

New features:

  • Config upgrade: handle helm overrides #1646
  • Enable custom InitContainer image in LocalDir build of kaniko #1727
  • Add --analyze flag to skaffold init #1725

Fixes:

  • Initialize Artifact.Workspace to "." by default in plugin case too #1804
  • Fix race conditions and run tests with a race detector #1801
  • Support ctrl-c during tagging and cache checking #1796
  • Fix race in event logs #1786
  • Fix schema #1785
  • helm secrets integration #1617
  • Regenerating schemas for v1beta6 and v1beta7 #1757
  • Fix typo in option name for 'enable-rpc' #1718
  • Test that images that can’t be built are not pushed #1729

Updates & refactorings:

  • v1beta7 #1751
  • Refactor KanikoBuild into KanikoArtifact and Cluster #1797
  • Add logic for finding next available port for gRPC if provided one is in use #1752
  • Check for artifacts in cache in parallel #1799
  • combined output for integration tests skaffold runner #1800
  • Remove debug code #1802
  • Make integration tests shorter and more stable #1790
  • Initialize LocalCluster in docker local builder plugin #1791
  • Faster integration tests #1789
  • Fake k8s context for test #1788
  • Move bazel code into plugins directory #1707
  • Add Initializer Interface to skaffold to support other deployers in skaffold init #1756
  • Refactor caching #1779
  • Try newer versions of Go #1775
  • Add back tracking of forwarded ports to avoid race condition #1780
  • Refactor local builder docker code into plugins directory #1717
  • Improve make test #1776
  • Upgrade the linter #1777
  • Simplify port choosing logic #1747
  • Remove duplication integration tests #1760
  • Upgrade Jib to 1.0.2 #1772
  • added some extra logging for test failures for easier feedback #1763
  • Improve caching #1755
  • Fix bug in jib in GCB #1754
  • Only get images list once for caching #1758
  • Simplify integration tests #1750
  • Nicer output #1745
  • Upgrade Kaniko to 0.9.0 #1736
  • Improve artifact caching #1741
  • Only go through images once for artifact caching #1743
  • Try to use the local docker to get the image config #1735
  • Update go-containerregistry #1730
  • Improve skaffold init performance by not walking hidden dirs. #1724

Docs updates:

  • added subcommands to the cli reference #1793
  • Add instructions to DEVELOPMENT.md for installing tools #1764
  • adding more logs for webhook #1782
  • Don’t break pages that reference annotated-skaffold.yaml #1770
  • Fix regression in sync #1722
  • Bail out on docker build error #1723
  • Updated Install section #1716

Huge thanks goes out to all of our contributors for this release:

  • Balint Pato
  • Chanseok Oh
  • Cornelius Weig
  • David Gageot
  • Michael FIG
  • Nick Kubala
  • Priya Wadhwa
  • Rory Shively
  • Tejal Desai
  • balopat
  • guille
  • priyawadhwa
  • venkatk-25

v0.24.0 Release - 3/1/2019

Note: This release comes with a new config version v1beta6. To upgrade your skaffold.yaml, use skaffold fix. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message. See Skaffold Deprecation Policy for details on what beta means.

New Features:

  • Add gRPC based event API #1574
  • Add artifact cache to track artifacts for faster restart #1632
  • Helm flags for Global, Install and Upgrade helm commands #1673
  • v1beta6 #1674
  • Diagnose skaffold.yaml #1686
  • Added local execution environment to docker builder plugin #1656
  • Added bazel in local execution environment #1662

Fixes:

  • Fix bug in sync #1709
  • Fix schemas #1701
  • Fix default-repo handling for images with non-alphabetic characters #1697
  • Fix gke connection for Integration tests #1699
  • Handle pointers in profile overlay #1693

Updates & refactorings:

  • Build before #1694
  • completion: add wrapper code to transform bash to zsh completion #1685
  • Add a test for changing tests with a profile #1687
  • Add example of a Jib-Maven multi-module project #1676
  • Restructure integration tests #1678
  • added logging to skaffold dev integration tests #1684
  • added default-repo to getting started #1672
  • Make the hot-reload example more exemplary #1680

Docs updates:

  • Generate skaffold references #1675
  • Update HUGO #1679
  • first cut at jib doc #1661
  • Generate annotated-skaffold.yaml #1659
  • Improve documentation #1713
  • Improve docs #1682

Huge thanks goes out to all of our contributors for this release:

  • Balint Pato
  • Brian de Alwis
  • Cornelius Weig
  • David Gageot
  • Jonas Eckerström
  • Nick Kubala
  • Priya Wadhwa
  • Tjerk Wolterink

v0.23.0 Release - 2/14/2019

Note: This release comes with a new config version v1beta5. To upgrade your skaffold.yaml, use skaffold fix. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message. See Skaffold Deprecation Policy for details on what beta means.

Deprecation notice: With this release we mark for deprecation the following env variables in the envTemplate tagger:

  • DIGEST
  • DIGEST_ALGO
  • DIGEST_HEX Currently these variables resolve to _DEPRECATED_<envvar>_, and the new tagging mechanism adds a digest to the image name thus it shouldn't break existing configurations. This backward compatibility behavior will be removed earliest 05/14/2019.

New features:

  • Builder plugin for docker in GCB #1577
  • Add custom build arguments in jib artifacts #1609
  • Generate json schema #1644
  • Add --color option #1618
  • v1beta5 #1610
  • Experimental UI mode for skaffold dev #1533
  • Upgrade to Kaniko v0.8.0 #1603
  • New tagging mechanism #1482
  • Add --build-image option to build command #1591
  • Allow user to specify custom kaniko image #1588
  • Better profiles #1541

Fixes:

  • Don't push all tags when sha256 builds just one #1634
  • Handle env commands with multiple variable definitions (#1625) #1626
  • Rollback Docker dependencies filtering based on target #1620
  • Fix sub directory support with Kaniko and GCB #1613
  • Fix regression from port forwarding #1616
  • Check for new skaffold version when skaffold.yaml parsing fails #1587
  • Propagate --skip-tests to builders #1598
  • fix docs build #1607
  • Ignore cache-from pull errors #1604
  • [kubectl] apply labels by patching yaml #1489

Updates & refactorings:

  • Optimize sync #1641
  • kubectl deployer: warn when pattern matches no file #1647
  • Add integration tests for taggers #1635
  • Adding a few tests for skaffold build #1628
  • adding scripts for preparing new config version #1584
  • Remove Tagger from Builder interface #1601
  • copyright 2019 #1606
  • Remove unused constants #1602
  • Remove stopped containers in make targets #1590
  • Add missing tests for build/sequence.go #1575
  • Extract yaml used in documentation into files #1593

Docs updates:

  • Improve comments and schema #1652
  • Add required tags #1642
  • Add more comments to the Config structs #1630
  • Add short docs about automatic port-forwarding #1637
  • Improve documentation #1599
  • Fix DEVELOPMENT.md fragment #1576
  • Improve the Skaffold.dev documentation #1579

Huge thanks goes out to all of our contributors for this release:

  • Balint Pato
  • Brian de Alwis
  • Cornelius Weig
  • David Gageot
  • Michael Beaumont
  • Michael FIG
  • Nick Kubala
  • Priya Wadhwa
  • Shuhei Kitagawa

v0.22.0 Release - 1/31/2019

Note: This release comes with a new config version v1beta4. To upgrade your skaffold.yaml, use skaffold fix. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message. See Skaffold Deprecation Policy for details on what beta means.

New features:

  • Introduce configuration option to configure image pushing per kube-context #1355
  • Better support for docker build with a target #1497
  • Reintroduce the fsNotify trigger #1562
  • Add zsh completion #1531
  • #296 Support remote helm chart repositories #1254

Fixes:

  • Fix bug in port forwarding #1529
  • Fix doc for Kustomize deploy: path option #1527
  • Fix broken links in Getting Started #1523
  • Use configured namespace for pod watcher. #1473
  • Pass DOCKER* env variables for jib to connect to minikube #1505

Updates & Refactorings:

  • Upgrade to jib 1.0.0 #1512
  • Don’t use local Docker to push Bazel images #1493
  • Use kubectl to read the manifests #1451
  • Simplify integration tests #1539
  • Fix master branch #1569
  • Add missing tests for watch/triggers #1557
  • Improve triggers #1561
  • Add tests for labels package #1534

Docs updates:

  • Fix skaffold.dev indexing on Google #1547
  • 2019 roadmap #1530
  • Should be v1beta3 #1515
  • Renaming the CoC for GitHub #1518
  • Add Priya as a Codeowner #1544
  • Add Priya as a maintainer #1542
  • Note JVM flags specific to Java 8 in examples/jib #1563

Huge thanks goes out to all of our contributors for this release:

  • Balint Pato
  • Brian de Alwis
  • Cornelius Weig
  • David Gageot
  • Koen De Keyser
  • Labesse Kévin
  • Michael FIG
  • Nick Kubala
  • Priya Wadhwa
  • Shuhei Kitagawa
  • czhc

v0.21.1 Release - 1/22/2019

New Features:

  • Add a log when bazel deps take a long time #1498
  • Pre-pull cache-from images #1495
  • Pass bazel args to bazel info bazel-bin #1487
  • Support secretGenerators with kustomize #1488

Fixes:

  • Fix coloured output when building in // #1501
  • Fix onbuild analysis #1491
  • Fix Broken link to references/config in documentation #1486

Updates & refactorings:

  • Add error for non Docker artifacts built with Kaniko #1494
  • Update bazel example #1492
  • Revert "Merge pull request #1439 from ltouati/fsnotify" #1508
  • Don’t log if nothing is copied or deleted #1504
  • Add more integration tests #1502
  • Remove file committed by error #1500

Docs updates:

  • Update doc around local development #1446
  • [doc] Fix default value for manifests #1485

Huge thanks goes out to all of our contributors for this release:

  • David Gageot
  • Nick Kubala
  • Priya Wadhwa
  • Shane Lee

v0.21.0 Release - 1/17/2019

Note: This release comes with a new config version v1beta3. To upgrade your skaffold.yaml, use skaffold fix. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message. See Skaffold Deprecation Policy for details on what beta means.

New Features:

  • Add support for urls in deploy.kubectl.manifests #1408
  • Add some tests for Sync #1406
  • Get digest on push and imageID on build #1428
  • Implement a notification based watcher #1439
  • Add k8s version check to kustomize deployer #1449
  • Support new K8s context name in Docker Desktop #1448
  • Upload sources for any kind of artifact #1477
  • feat(docker creds) can mount docker config into kaniko pod #1466
  • Support Jib on Google Cloud Build #1478

Fixes:

  • fix search URL for skaffold.dev + github edit link #1417
  • Print error messages when containers can’t be started #1415
  • Script should be executable #1423
  • Fix port-forwarding not being triggered. #1433
  • Fix localDir context for Kaniko on Windows #1438
  • Remove spurious warning #1442
  • Test what was actually deployed #1462
  • Fix jib tagging #1475

Updates & refactorings:

  • Move trigger related code to the watcher #1422
  • Simplify fake docker api #1424
  • Small improvements gcb #1425
  • Small improvements to kaniko builder #1426
  • Update golangci lint #1430
  • Refactor docker api #1429
  • Use latest release of Jib #1440
  • Refactor FakeCmd #1456
  • Use cmd.Run() indirection #1457
  • Clear error message for unsupported artifact on GCB #1453
  • Improve port-forwarding #1452
  • Minor changes to kaniko builder #1461
  • Show duplication in jib code #1454
  • Remove some duplication in Jib builder #1465
  • Use Maven wrapper for Jib example easier start. #1471
  • Simplify docker.AddTag() #1464
  • Embed labelling into Deployers #1463
  • Refactor port forwarding #1474

Docs updates:

Huge thank you for this release towards our contributors:

  • Balint Pato
  • Bruno Miguel Custodio
  • Cedric Kring
  • David Gageot
  • Gareth Evans
  • George Oakling
  • Ivan Portyankin
  • Lionel Touati
  • Matt Rickard
  • Matti Paksula
  • Nick Kubala
  • Priya Wadhwa

v0.20.0 Release - 12/21/2018

Note: This release comes with a new config version v1beta2. To upgrade your skaffold.yaml, use skaffold fix. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message. See Skaffold Deprecation Policy for details on what beta means.

New Features:

  • Add additional flags to kaniko builder #1387

Fixes:

  • Omit empty strings in jib sections of the config #1399
  • Don’t panic if image field is not of type string #1386
  • Fix Windows to Linux file sync by always converting path separators to *nix style #1351
  • Support labeling with hardcoded namespace #1359
  • Image name are case sensitive #1342
  • Print logs for containers that are not ready #1344
  • Cleanup only if something was actually deployed #1343
  • Don’t assume bazel-bin is symlinked in workspace #1340

Updates & refactorings:

  • Cleanup tagger tests #1375
  • Local builders return a digest #1374
  • Remove kqueue tag #1402
  • Improve runner unit tests #1398
  • Create directory before kubectl cp #1390
  • Add missing fake k8s context #1384
  • Improve schema upgrade tests #1383
  • Update kaniko image to latest version #1381
  • Introduce config version v1beta2 #1376
  • Tag image by digest #1367
  • Pass tag options by value #1372
  • Extract push/no-push logic into builder #1366
  • keeping integration test only examples under integration tests #1362
  • Display usage tips to the user #1361
  • Handle errors in release walking #1356

Docs updates:

  • new skaffold site #1338

Utilities:

  • If webhook deployment fails, upload logs #1348

Huge thank you for this release towards our contributors:

  • Balint Pato
  • David Gageot
  • Gareth Evans
  • Matt Rickard
  • Nick Kubala
  • Priya Wadhwa
  • Travis Cline
  • Valery Vitko

v0.19.0 Release - 11/29/2018

Note: This release comes with a new config version v1beta1. To upgrade your skaffold.yaml, use skaffold fix. If you don't upgrade, skaffold will auto-upgrade in memory as best it can, and print a warning message. See Skaffold Deprecation Policy for details on what beta means.

New features:

  • Run tests in skaffold build, add skip-tests flag to skip tests #1326
  • Allow ** glob pattern in sync parameters #1266
  • Add caching to kaniko builder #1287
  • Support slashes in file sync glob patterns on windows #1280
  • Add --compose-file option to skaffold init #1282
  • Automatically fix old configs by default #1259
  • adding skaffold version to the docker push user agent #1260

Fixes:

  • Fix node security issue #1323
  • Allow passing arguments to bazel build #1289
  • Get tmp Directory from os env in kaniko local context storing #1285

Updates & refactorings:

  • Apply default values upgraded configurations #1332
  • Remove duplication between run and deploy #1331
  • Remove pointer to runtime.Object interface #1329
  • Shorter logs #1335
  • Update deps #1333
  • dep ensure && dep prune #1297
  • Should support v1alpha5 #1314
  • Improve kubernetes.Logger #1309
  • introduce v1beta1 config #1305
  • Simpler Runner #1304
  • Don’t run tests if nothing was built #1302
  • Simplify the Runner's tests #1303
  • removing the artifacts from appveyor #1300
  • The multi-deployer feature is not working. Remove it #1291

Breaking changes:

  • Remove ACR builder #1308
  • Remove quiet command line flag #1292

Docs updates:

  • Clarify what manifest paths are relative to when specifying in skaffold yaml #1336
  • adding deprecation policy and document component stability #1324
  • Add missing fields to annotated-skaffold.yaml #1310
  • brew install skaffold #1290
  • Lists indented in the installation section (minor fix) #1298
  • Make usage messages look like the others. #1267

Utilities:

  • [docs-webhook] remove docs-modifications label from issue instead of deleting the label #1306
  • [docs-webhook] hugo extended version + nodejs #1295
  • [docs-webhook] Release latest version of docs controller image #1293
  • [docs-webhook] upgrading hugo + unpinning webhook image #1288
  • [lint] Golangci lint upgrade #1281
  • [compilation] Support system's LDFLAGS, make compilation reproducible #1270

Huge thank you for this release towards our contributors:

  • Balint Pato
  • Cedric Vidal
  • David Gageot
  • Igor Zibarev
  • Ihor Dvoretskyi
  • Jamie Lennox
  • Maxim Baz
  • Nick Kubala
  • Pascal Ehlert
  • Priya Wadhwa
  • Venkatesh

v0.18.0 Release - 11/08/2018

Bug Fixes:

  • Don't lose test configuration when running skaffold fix #1251
  • Fix jib errors on ctrl-c #1248
  • Fix sync #1253
  • Update examples and release notes to use v1alpha5 #1244
  • Set Kind on skaffold init #1237
  • Do not print the manifest on to stdout when doing a deploy by kustomize #1234
  • Fixed panic if skaffold.yaml is empty (#1216) #1221
  • Suppress fatal error reporting when ^C skaffold with jib #1228
  • portforward for resources with hardcoded namespace #1223

Updates:

  • Output config version in skaffold version #1252
  • Port forward multiple ports #1250
  • Improve errors #1255
  • Move structure tests out of getting-started example #1220
  • changes related to our docs review flow:
    • Add github pkg to webhook #1230
    • Allow webhook to create a deployment #1227
    • Add hugo and git to webhook image #1226
    • Add support for creating a service from webhook #1213

Huge thank you for this release towards our contributors:

  • Balint Pato
  • Brian de Alwis
  • David Gageot
  • Matt Rickard
  • Nick Kubala
  • Priya Wadhwa
  • RaviTezu
  • varunkashyap

v0.17.0 Release - 10/26/2018

Note: This release comes with a config change, use skaffold fix to upgrade your config to v1alpha5. We 'skipped' v1alpha4 due to an accidental merge: see #1235

New Features:

  • Add support for setting default-repo in global config #1057
  • Add support for building Maven multimodule projects #1152
  • Azure Container Registry runner #1107

Bug fixes:

  • Improve Kaniko builder #1168
  • Use os.SameFile() to check for mvnw working-dir echo bug #1167
  • Fix kaniko default behavior #1139

Updates:

  • Change SkaffoldOption Labeller to not include a comma in the label value #1169
  • Remove annoying log #1163
  • Prepare next version of the config file #1146
  • Improve error handling for completion command #1206
  • Jib sample #1147
  • Node.js example with dependency handling and hot-reload #1148

Huge thank you for this release towards our contributors:

  • Balint Pato
  • Brian de Alwis
  • Cedric Kring
  • David Gageot
  • Geert-Johan Riemer
  • Martino Fornasa
  • Matt Rickard
  • Nick Kubala
  • Priya Wadhwa
  • foo0x29a
  • varunkashyap

v0.16.0 Release - 10/11/2018

New Features:

  • Add a skaffold diagnose command #1109
  • Add localdir buildcontext to kaniko builder #983
  • Add --label flag to specify custom labels for deployments #1098
  • Add support for building projects using jib #1073

Bug Fixes:

  • Fix jib artifacts in skaffold diagnose #1141
  • Fix master #1133
  • Delete and redeploy object upon error 'field is immutable' #940
  • Fix skaffold fix #1123
  • Lists files recursively in jib.getDependencies and other fixes. #1097
  • Merge error? #1095
  • Fix missing parenthesis #1089

Updates:

  • Move sync code to pkg/skaffold/sync/kubectl #1138
  • Add a test to check version upgrades #1103
  • Add a way to unset global config values #1086
  • Handles Jib build directly to registry when push=true. #1132
  • Simplify Jib code #1130
  • Trim the dockerfile a bit: #1128
  • Pass context when listing dependencies #1108
  • Remove fully qualified jib path for maven goals #1129
  • Merge master into jib_skaffold feature branch. #1117
  • Merge Jib feature-branch #1063
  • Improves jib.getDependencies. #1125
  • skipPush -> push #1114
  • Support for dot files in dockerignore #1122
  • remove project level skaffold.yaml #1119
  • Merge master into jib_skaffold feature branch #1116
  • Unify Jib command wrapper usage #1105
  • Update labels when deploying to namespace other than default #1115
  • Improve sync #1102
  • Rename SkaffoldConfig to SkaffoldPipeline #1087
  • Kaniko improvements #1101
  • File Sync for skaffold dev #1039
  • Implement a manual trigger for watch mode #1085
  • Skaffold init asks user to write skaffold.yaml #1091
  • Couple of improvements to the test phase #1080
  • Merges branch 'master' into jib_skaffold. #1088
  • Implements jib.GetDependenciesMaven/GetDependenciesGradle. #1058
  • Add test runner #1013
  • Simplify schema versioning #1067
  • Changelog changes for v0.15.1 #1075
  • Minor logging improvements #1142

v0.15.1 Release - 10/02/2018

This is a minor release to address an inconsistency in the skaffold fix upgrade:

  • Transform values files in profiles to v1alpha3 #1070

v0.15.0 Release - 9/27/2018

New Features:

  • Added kustomize to deploy types #1027
  • Basic support for watching Kustomize dependencies #1015
  • Basic support for using kubectl and helm together #586
  • Add support for multiple helm values files #985
  • Add v1alpha3 Config #982

Bug Fixes:

  • annotated.yaml: fix gcb timeout format #1040
  • Catch a 409 when creating a bucket and continue. #1044
  • Fix typo #1045
  • Fix issues with build args replacement #1028
  • prevent watcher failure if helm valuesFilePath not set #930
  • Correctly parse build tags that contain port numbers #1001
  • FIX kubectl should only redeploy updated manifests #1014
  • Fix race conditions in TestWatch #987

Updates:

  • Simpler merged PR collection for release notes #1054
  • Improve kustomize deployer #1036
  • kustomizePath is a folder that defaults to . #1030
  • Discard output in tests #1021
  • Add a test for kubectl should only redeploy updated manifests #1022
  • Examples versioning #1019
  • add nkubala to MAINTAINERS #993
  • Debounce rapid file changes #1005
  • Print kubectl client version #991
  • Auto configure authentication helper for gcr.io #989
  • Tweak the Dockerfile. #1007
  • Skip kaniko-related test when running locally #990
  • Extract code from GCB #986

v0.14.0 Release - 9/13/2018

New Features:

  • Allow skaffold dev —watch image #925
  • Port forward pods automatically during skaffold dev #945
  • Add skaffold 'init' #919

Bug Fixes:

  • Get namespace for updating objects from build artifact #951
  • Remove service labeling temporarily #965
  • Don't prefix pod names when port forwarding #976

Updates:

  • Don’t compute onbuild triggers for images that are stage names #938
  • Don't unmute logs if an error happened #928
  • Exclude helm dependency chart packages from watched files #932
  • Pass --recreate-pods to helm by default in dev mode #946
  • Default to kubectl deploy #956
  • Simplify helm tests #957
  • Pull 'cache-from' images on Google Cloud Build #958
  • update check respected quiet flag #964
  • Fix typo in portforwarder #975

v0.13.0 Release - 8/16/2018

New Features:

  • Add --tail flag to stream logs with skaffold run #914
  • Add DEVELOPMENT.md #901

Bug Fixes:

  • fixes skaffold version in the released docker image #933

Updates:

  • as a base for future features - global skaffold config #896
  • Remove duplication in kustomize deployer #900
  • update readme with documentation links #908
  • Fix a typo in "annotated-skaffold.yaml" #907
  • Decouple visiting manifests and replacing images #909
  • Add a simple test for Watcher #898
  • Add test for signal handling #917
  • Add the --target flag as a parameter to the docker builder. #894
  • Misc improvements #911
  • Add --tail flag to stream logs with skaffold run #914
  • Extract code to tail logs #924
  • Improve logs #918
  • Add yamltags #388
  • adding wrapper script for release note generation #935
  • detete -> delete #941

v0.12.0 Release - 8/16/2018

New Features:

  • Update check #866
  • Simpler and faster git tagger #846
  • Support setting namespace for every deployer #852
  • Improve Cloud Build builder #874
  • Improve file change tracking #888

Bug Fixes:

  • Run Kaniko builds in parallel #876
  • Do not run kubectl if nothing has changed #877
  • fix version in released docker image #878
  • Fix integration tests #881

Updates:

  • Run Kaniko builds in parallel #876
  • Watch mode 4th edition #833
  • add bazel to skaffold docker image, add integration test for bazel #879
  • Add missing filename to error message #880
  • Fix minor lint errors surfaced by the 'misspell' and 'unparam' lint modules #883
  • Update golangci-lint to v1.9.3 and enable misspell+unparam modules #884
  • add codecov to travis and repo #885
  • Add test helper to handle actions on tmp dirs #893
  • Use reflection to overlay profile onto config #872

v0.11.0 Release - 8/02/2018

New Features:

  • Pass buildArgs to Kaniko #822
  • Add pop of color to terminal output with a color formatter #857

Bug Fixes:

  • Substitute build args from config into parsed Dockerfile before processing deps #828
  • Fix color.Fprintln bug #861
  • Issue #836: Use releaseName to get release info. #855
  • Switch to gcr for the kaniko builder example. #845

Updates:

  • boilerplate.sh: fail if python script not found; run from any dir #827
  • Revert to default grace period #815
  • Skip the deployment if no manifests are defined #832
  • Slightly faster git tagger #839
  • Don’t tag the same images twice #842
  • Faster code to get image digest #838
  • Simpler code to print Kaniko logs #831
  • Simpler sha256 tagger code #847
  • Move builders to sub packages #830
  • Shell out docker build #840
  • Don’t redeploy twice the same manifest in a dev loop #843
  • Remove skaffold docker commands #853
  • Find docker deps 10x faster #837
  • Simplify docker related code. #854
  • add support for helm image convention vs fqn setting #826
  • Update dep to v0.5.0 #862

v0.10.0 Release - 7/13/2018

New Features:

  • kustomize: use custom path in deploy deps #766
  • helm: add deploy dependency paths #765
  • Use digest when the git repo has no commit #794
  • GCB now builds artifacts in // #805
  • Default kubectl manifests to k8s/*.yaml #810
  • Support disk size and machine type for GCB #808
  • Support additional flags for kubectl commands #807
  • Try to guess GCB projectID from the image name #809

Bug Fixes:

  • kustomize: cleanup custom kustomize path #781
  • corrected region typo #792
  • Fixed a small typo in docs #797
  • Small code changes #796

Updates:

  • docs: alphabetize readme peoples #764
  • makefile: redirection for checksums #768
  • brew: remove version from formula #763
  • Add the logo #774
  • ci: also push latest skaffold image on commit #773
  • tests: pin golangci-lint version to v1.8.1 #780
  • Remove dead code #784
  • Improve GCR docs #795
  • Extract code to build a single artifact locally #798
  • Use dynamic client for labels #782
  • Update Kaniko to v0.2.0 #803
  • Upgrade k8s dependency to 1.11.0 #804
  • Fix missing logs #786
  • calculate version from git #814
  • logs: use namespace flag when streaming pods #819

v0.9.0 Release - 6/28/2018

New Features:

  • Print the image name that's being built #732
  • Publish windows binaries on AppVeyor #738
  • Add labeling for profiles #736
  • Improve Git tagger #714
  • Support docker build --cache-from #737
  • Add custom kustomization path #749
  • Use tags only in case of perfect match #755

Bug Fixes:

  • fixed a bug in dirtyTag which may leave extra whitespaces in changedPath #721
  • Remove duplication in code handling labels #723
  • Fix: Links for D4M Edge and D4W Edge were swapped #735
  • Fix bug where dirty submodules broke hash generation #711
  • Remove warning for an image that’s built and used by fqn #713
  • Don’t always fail if some COPY patterns don't match any file #744
  • Fix dev loop #758
  • Fix kaniko defaults #756
  • Don’t complain when object is not found during cleanup #759

Updates:

  • Deployers should only rely on their specific config #739
  • Builders should only rely on their specific config #740
  • e2e test for helm deployments. #743
  • New code to watch file changes #620
  • docs: add info about published artifacts #751

v0.8.0 Release - 06/21/2018

New Features

  • cloudbuild: publish skaffold images on commit and tag #655
  • Asciidocs and refdocs tooling #648
  • Add support for skaffold.yml as a default config file fixes #225 #665
  • adds helper script for release notes #662
  • docs: add weekly meeting snippet #675
  • Add labels to all k8s objects deployed by skaffold #644
  • Implement packaging for helm deployment #682
  • mv tagPolicy:env example #697
  • windows: add appveyor #702
  • add WSL support #694
  • Add labels from options #716
  • Add tests for helm deployment with `packaged' option #696
  • Fix issue #404 - Allow to use bazel subtarget #689
  • fix: allow environment variables to be used in helm values #707
  • Improve Kaniko code and ns handling #722
  • Support wildcards in Dockerfiles #712

Bug Fixes

  • make: fix release path #650
  • Fixing the licence #652
  • typo fix #660
  • Ignore missing authConfigs during docker build #664
  • lint fixes #669
  • Fix hack/dep.sh on travisCI #680
  • Use git binary or fallback to go-git #639
  • Fix git detection #683
  • remove extraneous space #688
  • Create and apply patch when adding labels to API objects #687
  • Fix issue with 100% CPU usage in logs.go. #704

Updates

  • Remove fsnotify #646
  • Update go-containerregistry #651
  • cloudbuild: increase timeout to 20m #658
  • Update docker libraries #676
  • Update apimachinery and client-go to kubernetes-1.11.0-beta2 #684
  • Update release_notes.sh #710
  • Remove unused imports #724

v0.7.0 Release - 06/07/2018

New Features

  • cmd: add skaffold deploy #624
  • Remove no-manifest code. #640
  • Add an mtime file watcher. #549
  • Add functionality to toggle the --wait flag on helm install/upgrade #633
  • Add kustomize deployer #641
  • Add datetime tagger tagpolicy #621
  • Helm: add option to generate override values.yaml based on data passed into skaffold.yaml #632
  • add --output and --quiet to skaffold build #606
  • Add the ability to express the release name as a template #602
  • Simpler code that logs containers #612

Bug Fixes

  • Fix image parsing in skaffold deploy #638
  • Fix flaky test #594
  • fix: allow an environment variable to default the deploy namespace #497
  • Add BUILD and WORKSPACE files to dependencies #636
  • Misc fixes to dev mode #589

Updates

  • Quick Start GKE Doc - reference change for k8s-pod deployment #615
  • kaniko: pin image version to v0.1.0 #592
  • Refactor the envTemplate code to make it reusable #601
  • Simplify runner test #609
  • Move kubernetes client creation to kubernetes package #608
  • Remove unused field. #616
  • Remove annoying testdata folder #614
  • Dockerfile should always be sent to daemon #605
  • Simplify code that resolves dependencies #610
  • Switch boilerplate to The Skaffold Authors. #626
  • Improve runner code #645
  • Simplify helm_test #607
  • Replace gometalinter with GolangCI-Lint #619
  • Update go-git to v4.4.0 #634
  • Remove afero #613

https://github.com/GoogleContainerTools/skaffold/compare/v0.6.1...v0.7.0

v0.6.1 Release - 5/24/2018

New Features

  • Stricter YAML parsing #570
  • Show helm's output and errors #576
  • Support ~ in secret path for Kaniko #455
  • skaffold dev now stops on non-build errors #540

Bug Fixes

  • GCB Build fixed #579
  • Show errors of kubectl and helm commands #560
  • Can now run skaffold build without a kubernetes cluster #540

Updates

  • Updated google/go-containerregistry #571
  • Added a user agent to GCB calls #582
  • Simplified runner code #540
  • Silenced usage text on errors #449
  • Skipped fully qualified names when replacing image names #566
  • Improved docker dependencies code #466

https://github.com/GoogleContainerTools/skaffold/compare/v0.6.0...v0.6.1

v0.6.0 Release - 5/16/2018

New Features

  • Improve the docker load output in Bazel build #475
  • envTemplate now supports DIGEST_ALGO and DIGEST_HEX variables #495
  • Perform cleanup on SIGPIPE signal #515
  • Learnt a skaffold build command #476, #553
  • Git tagger should use tags over commits #552

Bug Fixes

  • Fixed the microservices example #451
  • Don't fail if ~/.docker/config.json doesn't exist #454
  • Fix the Git Tagger name #473
  • Git Tagger now handles deleted files without failing #471
  • Add files to the context tarball with Unix separators #489
  • Fix and improve annotated-skaffold.yaml #467, #520, #536, #542
  • Handle private docker registries with explicit port numbers #525
  • Ignore empty manifests #538
  • Default values are set after a profile is applied #533
  • Remove warning when building images #548
  • Some logs where not printed #513

Updates

https://github.com/GoogleContainerTools/skaffold/compare/v0.5.0...v0.6.0

v0.5.0 Release - 4/23/2018

New Features

  • Added kaniko builder
  • Added support for "remote-manifests" in kubectl deployer
  • skaffold dev now performs a cleanup of deployed resources on exit
  • skaffold dev redeploys when deploy dependencies are changed (only kubectl deployer currently)

Bug Fixes

  • GCB builder now uses tags correctly
  • Supports multi-stage dockerfiles with onbuild commands
  • Better error messages
  • Fixed tagger working directory

Updates

  • Switched from containers/image to google/go-containerregistry
  • Integration tests now run in separate namespaces

v0.4.0 Release - 4/12/2018

New Features

  • Added skaffold fix command to migrate configs from v1alpha1 to v1alpha2
  • Added skaffold completion command to output bash completion for skaffold subcommands
  • Warns when an image is built but not used
  • Artifacts can now be built with bazel
  • Environment variable template tagger
  • Support multiple document YAML files
  • Helm deployer now accepts extra set values

Bug Fixes

  • Logs use relative time instead of host time, which fixes issues with clock sync on local clusters
  • Removed duplicate error
  • Docker build args passed to Google Container Builder
  • Fixed unreliable file detection when using IntelliJ or other IDEs
  • Better handling of default values
  • Fixed issue with some logs being displayed twice
  • Fixed .dockerignore support

Updates

  • Updated go-git package
  • Refactored watch package

v0.3.0 Release - 3/29/2018

New Features

  • Logs are now colored by image deployment, different container instances will get different colors in skaffold dev
  • Better and less error prone logging
  • All logs are shown for a pod with deployed containers
  • Helm deployer now supports chart versions
  • Helm deployer now supports custom values file path
  • Logs are now muted during the build and deploy cycle
  • Integration tests added
  • Conditional rebuilding of changed artifacts
  • Builds only triggered after a quiet period
  • Duration of build and deploy is now logged

Bug Fixes

  • .dockerignore now works if context is parent directory
  • removed duplicate logs
  • private registry authentication issues are fixed
  • no logs are missed

Breaking config changes

  • tagPolicy is now a struct instead of a string, to convert to the new config format
tagPolicy: gitCommit

becomes

tagPolicy:
    gitCommit: {}
  • kubectl deployer no longer needs templated keys in manifests. Simply just make sure the artifacts in your skaffold.yaml correspond to the images in your kubernetes manifests and they will be automatically updated.

v0.2.0 Release - 3/9/2018

New Features

  • Added "skip-push" optimization for Docker for Desktop Kubernetes Clusters
  • Examples should now be ran from their own directory
  • Fixed kubernetes context for build and deploy
  • Added options for GCR auth
  • Set default log level to warn
  • Change git commit to use short ID instead
  • Helm deployer now accepts namespace and values file
  • Local builder now accepts docker build-args
  • Added --tag flag for skaffold run
  • Cache image configs by name
  • Kubectl Generate a basic manifest if none provided

Bug fixes

  • Dockerfile parsing for remote ADD file works correctly now
  • Closed image config file descriptor

v0.1.0 Release - 3/2/2018

  • Added skaffold run command
  • Added skaffold dev command
  • Added skaffold version command
  • Added skaffold docker deps command to parse dockerfile dependencies
  • Added skaffold docker context command to generate minimal docker context tar
  • Added Builders: Local Docker, Google Cloud Builder
  • Added Deployers: Kubectl, Helm
  • Filesystem watcher (kqueue)
  • Log streaming of deploy resources
  • Minikube optimizations
  • Dockerfile introspection
  • Added initial skaffold docker image with dependencies
  • Globbing filepath config fields
  • Added skaffold config
  • Added initial integration test