forked from GoogleContainerTools/skaffold
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG.md
5148 lines (4209 loc) · 323 KB
/
CHANGELOG.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# v1.35.0 Release - 11/16/2021
**Linux amd64**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.35.0/skaffold-linux-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**Linux arm64**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.35.0/skaffold-linux-arm64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**macOS amd64**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.35.0/skaffold-darwin-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**macOS arm64**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.35.0/skaffold-darwin-arm64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**Windows**
https://storage.googleapis.com/skaffold/releases/v1.35.0/skaffold-windows-amd64.exe
**Docker image**
`gcr.io/k8s-skaffold/skaffold:v1.35.0`
Note: This release comes with a new config version, `v2beta26`. To upgrade your skaffold.yaml, use `skaffold fix`. If you choose not to upgrade, skaffold will auto-upgrade as best as it can.
Highlights:
* [alpha] Skaffold now natively supports `ko` builder for golang projects. Please try it out and let us [know](https://skaffold.dev/docs/pipeline-stages/builders/ko/)
* Skaffold now performs status-check for stateful sets [#6828](https://github.com/GoogleContainerTools/skaffold/pull/6828)
New Features and Additions:
* feat: add lts image, cloud build triggers [#6844](https://github.com/GoogleContainerTools/skaffold/pull/6844)
* feat: introduce --output option for "fix" cmd [#6849](https://github.com/GoogleContainerTools/skaffold/pull/6849)
* feat: add pullParent support for docker builds [#6825](https://github.com/GoogleContainerTools/skaffold/pull/6825)
* feat: add k8s manifest support to skaffold lint and one sample rule [#6795](https://github.com/GoogleContainerTools/skaffold/pull/6795)
* feat: write skaffold logs from current run to file [#6803](https://github.com/GoogleContainerTools/skaffold/pull/6803)
* feat: add dockerfile support to skaffold lint and top 2 dockerfile rules [#6793](https://github.com/GoogleContainerTools/skaffold/pull/6793)
* feat: Enable ko builder (alpha) in schema [#6811](https://github.com/GoogleContainerTools/skaffold/pull/6811)
* feat(ko): Add ko builder to local artifact builder [#6785](https://github.com/GoogleContainerTools/skaffold/pull/6785)
* feat(ko): Enable the ko builder in the API [#6820](https://github.com/GoogleContainerTools/skaffold/pull/6820)
* feat: add support for Kaniko flag --cache-copy-layers [#6703](https://github.com/GoogleContainerTools/skaffold/pull/6703)
* feat: set kpt inventory configs for render and deploy [#6712](https://github.com/GoogleContainerTools/skaffold/pull/6712)
* feat: add dry run option to skaffold delete [#6655](https://github.com/GoogleContainerTools/skaffold/pull/6655)
* feat: status check for config-connector [#6766](https://github.com/GoogleContainerTools/skaffold/pull/6766)
* feat: enable render in `skaffold run` v2. [#6761](https://github.com/GoogleContainerTools/skaffold/pull/6761)
* feat: Add Labels to Metadata [#6782](https://github.com/GoogleContainerTools/skaffold/pull/6782)
Fixes:
* fix: interface conversion error for pod event [#6863](https://github.com/GoogleContainerTools/skaffold/pull/6863)
* fix: add diagnostic severity info to skaffold lint rules [#6862](https://github.com/GoogleContainerTools/skaffold/pull/6862)
* fix: Add skaffold internal error and return that instead of user cancelled [#6846](https://github.com/GoogleContainerTools/skaffold/pull/6846)
* fix: make kcc status-check less aggressive [#6841](https://github.com/GoogleContainerTools/skaffold/pull/6841)
* fix(log): Send Go std `log` to `logrus`, and output `ggcr` logs [#6815](https://github.com/GoogleContainerTools/skaffold/pull/6815)
* fix: fix nil pointer issue for skaff lint when encountering skaffold.yaml with no k8s manifests [#6832](https://github.com/GoogleContainerTools/skaffold/pull/6832)
* fix: fix multi-module issue for skaffold lint dockerfile support [#6831](https://github.com/GoogleContainerTools/skaffold/pull/6831)
* fix: `deploy --skip-render` not applying skaffold labels, causes status check to not work [#6838](https://github.com/GoogleContainerTools/skaffold/pull/6838)
* fix: update windows ci description to be correct [#6830](https://github.com/GoogleContainerTools/skaffold/pull/6830)
* fix: fix skaff lint field selector to work more broadly [#6834](https://github.com/GoogleContainerTools/skaffold/pull/6834)
* fix: Fix build pipeline to always build dependencies. [#6823](https://github.com/GoogleContainerTools/skaffold/pull/6823)
* fix(sync): more descriptive error for custom build inferred sync misconfiguration [#6778](https://github.com/GoogleContainerTools/skaffold/pull/6778)
* fix(ko): Fall back to build configs in `.ko.yaml` [#6821](https://github.com/GoogleContainerTools/skaffold/pull/6821)
* fix: propagate-profiles flag missing from `skaffold inspect` command [#6818](https://github.com/GoogleContainerTools/skaffold/pull/6818)
* fix: `skaffold inspect` commands should have non-zero exit-code on error [#6807](https://github.com/GoogleContainerTools/skaffold/pull/6807)
* fix(ko): Fix ko build config path matching [#6797](https://github.com/GoogleContainerTools/skaffold/pull/6797)
* fix(helm): handle templated namespaces consistently [#6767](https://github.com/GoogleContainerTools/skaffold/pull/6767)
* fix: Quotes in dockerfiles env vars break copy dependency checks [#6796](https://github.com/GoogleContainerTools/skaffold/pull/6796)
* fix(find-configs): log skaffold.yaml parsing errors at debug [#6748](https://github.com/GoogleContainerTools/skaffold/pull/6748)
Updates and Refactors:
* refactor: group/alphabetize skaffold options [#6853](https://github.com/GoogleContainerTools/skaffold/pull/6853)
* chore: upgrade k3d to latest bugfix-version [#6781](https://github.com/GoogleContainerTools/skaffold/pull/6781)
* chore: make test env check output what was found [#6744](https://github.com/GoogleContainerTools/skaffold/pull/6744)
* chore(deps): bump puma from 4.3.8 to 4.3.9 in /examples/ruby/backend [#6771](https://github.com/GoogleContainerTools/skaffold/pull/6771)
* chore: add script to improve QOL when doing release [#6774](https://github.com/GoogleContainerTools/skaffold/pull/6774)
* chore(deps): update to kompose 1.26 [#6865](https://github.com/GoogleContainerTools/skaffold/pull/6865)
* refactor: organize event v2 functions [#6802](https://github.com/GoogleContainerTools/skaffold/pull/6802)
Docs, Test, and Release Updates:
* docs: link to Cloud Code in github README [#6864](https://github.com/GoogleContainerTools/skaffold/pull/6864)
* docs(debug): Improve Go debugging documentation [#6852](https://github.com/GoogleContainerTools/skaffold/pull/6852)
* docs(ko): Improve ko docs for existing ko users [#6826](https://github.com/GoogleContainerTools/skaffold/pull/6826)
* docs: Move Docker deployer to beta [#6850](https://github.com/GoogleContainerTools/skaffold/pull/6850)
* doc: add scoop-extras installation details [#6847](https://github.com/GoogleContainerTools/skaffold/pull/6847)
* docs(ko): Shorter example values in config schema [#6837](https://github.com/GoogleContainerTools/skaffold/pull/6837)
* docs(ko): Update debug docs for ko images [#6833](https://github.com/GoogleContainerTools/skaffold/pull/6833)
* docs(ko): Templating in `flags` and `ldflags` [#6798](https://github.com/GoogleContainerTools/skaffold/pull/6798)
* docs(ko): Document the ko builder [#6792](https://github.com/GoogleContainerTools/skaffold/pull/6792)
* doc: add `minikube start` to the quickstart documentation [#6783](https://github.com/GoogleContainerTools/skaffold/pull/6783)
* docs: skaffold apply supports status check [#6779](https://github.com/GoogleContainerTools/skaffold/pull/6779)
ing static port usage for relevant deployed resources [#6776](https://github.com/GoogleContainerTools/skaffold/pull/6776)
* docs: add release stage plan to ko builder design doc [#6764](https://github.com/GoogleContainerTools/skaffold/pull/6764)
* docs: Clarify custom local dependencies example [#6827](https://github.com/GoogleContainerTools/skaffold/pull/6827)
* test(ko): Simple integration test for ko builder [#6788](https://github.com/GoogleContainerTools/skaffold/pull/6788)
* test: add integration test for config connector status check [#6839](https://github.com/GoogleContainerTools/skaffold/pull/6839)
* test: fix integration test for stateful-sets [#6829](https://github.com/GoogleContainerTools/skaffold/pull/6829)
* test: update modules testcases [#6813](https://github.com/GoogleContainerTools/skaffold/pull/6813)
* ci: add cancel-workflow-action functionality to all github workflows [#6755](https://github.com/GoogleContainerTools/skaffold/pull/6755)
Huge thanks goes out to all of our contributors for this release:
- Aaron Prindle
- Ahmet Alp Balkan
- Brian de Alwis
- Conor A. Callahan
- Erik Godding Boye
- Gaurav
- Halvard Skogsrud
- Jeremy Lewi
- Marlon Gamez
- Max Brauer
- Nick Kubala
- Pablo Caderno
- Rouan van der Ende
- Tejal Desai
- jrcast
# v1.34.0 Release - 10/26/2021
**Linux**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.34.0/skaffold-linux-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**macOS**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.34.0/skaffold-darwin-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**Windows**
https://storage.googleapis.com/skaffold/releases/v1.34.0/skaffold-windows-amd64.exe
**Docker image**
`gcr.io/k8s-skaffold/skaffold:v1.34.0`
Note: This release comes with a new config version, `v2beta25`. To upgrade your skaffold.yaml, use `skaffold fix`. If you choose not to upgrade, skaffold will auto-upgrade as best as it can.
Highlights:
* `skaffold deploy`, `skaffold render` and `skaffold test` now support the `--images` flag for providing a list of images to run against.
* The `--images` flag now supports `NAME=TAG` pairs.
New Features and Additions:
* feat: trap SIGUSR1 to dump current stacktrace [#6751](https://github.com/GoogleContainerTools/skaffold/pull/6751)
* feat: skaffold lint core logic, CLI command+flags, and MVP skaffold.yaml support [#6715](https://github.com/GoogleContainerTools/skaffold/pull/6715)
Fixes:
* fix: fix non-determinism in skaffoldyamls_test.go [#6757](https://github.com/GoogleContainerTools/skaffold/pull/6757)
* fix: use new stringslice lib [#6752](https://github.com/GoogleContainerTools/skaffold/pull/6752)
* fix: correctly rewrite debug container entrypoint and bind host port [#6682](https://github.com/GoogleContainerTools/skaffold/pull/6682)
* Fix new version generation [#6616](https://github.com/GoogleContainerTools/skaffold/pull/6616)
* fix: panic caused by multiple channel closes [#6714](https://github.com/GoogleContainerTools/skaffold/pull/6714)
* fix: sanity check kpt deployer versions [#6711](https://github.com/GoogleContainerTools/skaffold/pull/6711)
Updates and Refactors:
* refactor: move some of `pkg/skaffold/util` into into packages [#6731](https://github.com/GoogleContainerTools/skaffold/pull/6731)
Docs, Test, and Release Updates:
* doc: update CI-CD article to decouple `render` and `deploy` use from GitOps [#6750](https://github.com/GoogleContainerTools/skaffold/pull/6750)
* chore: update image dependencies [#6736](https://github.com/GoogleContainerTools/skaffold/pull/6736)
* chore: use ad-hoc signing on darwin to avoid network popups [#6738](https://github.com/GoogleContainerTools/skaffold/pull/6738)
* chore: add cluster type to the instrumentation meter [#6734](https://github.com/GoogleContainerTools/skaffold/pull/6734)
* chore: Update globstar syntax in examples dependencies [#6614](https://github.com/GoogleContainerTools/skaffold/pull/6614)
* docs: add Cloud Code install instructions [#6716](https://github.com/GoogleContainerTools/skaffold/pull/6716)
Huge thanks goes out to all of our contributors for this release:
- Aaron Prindle
- Brian de Alwis
- Conor A. Callahan
- Dave Dorbin
- Gaurav
- Halvard Skogsrud
- Marlon Gamez
- Mike Verbanic
- Nick Kubala
- Tejal Desai
- Yuwen Ma
# v1.33.0 Release - 10/07/2021
**Linux**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.33.0/skaffold-linux-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**macOS**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.33.0/skaffold-darwin-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**Windows**
https://storage.googleapis.com/skaffold/releases/v1.33.0/skaffold-windows-amd64.exe
**Docker image**
`gcr.io/k8s-skaffold/skaffold:v1.33.0`
Note: This release comes with a new config version, `v2beta24`. To upgrade your skaffold.yaml, use `skaffold fix`. If you choose not to upgrade, skaffold will auto-upgrade as best as it can.
Highlights:
* Skaffold healthcheck now monitors standalone pods.
New Features and Additions:
* feat: status-check for standalone pods [#6697](https://github.com/GoogleContainerTools/skaffold/pull/6697)
* feat: prototype control api devloop intent [#6636](https://github.com/GoogleContainerTools/skaffold/pull/6636)
* feat: use cloud build location service to create builds in workerpool across regions [#6666](https://github.com/GoogleContainerTools/skaffold/pull/6666)
* feat: Add distinct error codes for GCB failures [#6664](https://github.com/GoogleContainerTools/skaffold/pull/6664)
* feat: add preliminary support for Config Connector service KRM [#6645](https://github.com/GoogleContainerTools/skaffold/pull/6645)
* feat:(build/docker): support env as secret source [#6632](https://github.com/GoogleContainerTools/skaffold/pull/6632)
* Update to grpc-gateway v2 [#6567](https://github.com/GoogleContainerTools/skaffold/pull/6567)
Fixes:
* fix: Kubectl port fwd returns on context canceled [#6700](https://github.com/GoogleContainerTools/skaffold/pull/6700)
* fix: Sanitize image names when default repo unset [#6678](https://github.com/GoogleContainerTools/skaffold/pull/6678)
* fix: ensure run-id is added to resources in skaffold apply [#6674](https://github.com/GoogleContainerTools/skaffold/pull/6674)
* fix: correct ko package imports and logging function call [#6673](https://github.com/GoogleContainerTools/skaffold/pull/6673)
* fix: Use gcloud spec pool instead of deprecated WorkerPool [#6658](https://github.com/GoogleContainerTools/skaffold/pull/6658)
* fix: fix unit test for skaffold inspect tests list [#6656](https://github.com/GoogleContainerTools/skaffold/pull/6656)
* fix: Wait for context cancel in k8s pod watcher [#6643](https://github.com/GoogleContainerTools/skaffold/pull/6643)
* Create port map on container config if empty [#6621](https://github.com/GoogleContainerTools/skaffold/pull/6621)
* fix: remove "managed-by" fixing helm conflict (fixes #6421) [#6618](https://github.com/GoogleContainerTools/skaffold/pull/6618)
* Check for nil when retrieving docker support mounts [#6620](https://github.com/GoogleContainerTools/skaffold/pull/6620)
* fix: make `useBuildkit` field nullable across all config versions [#6612](https://github.com/GoogleContainerTools/skaffold/pull/6612)
Updates and Refactors:
* Support globstar in dependencies for file watching [#6605](https://github.com/GoogleContainerTools/skaffold/pull/6605)
* chore: log errors when retrieving build logs [#6663](https://github.com/GoogleContainerTools/skaffold/pull/6663)
* chore(deps): bump flask from 2.0.1 to 2.0.2 in /integration/examples [#6677](https://github.com/GoogleContainerTools/skaffold/pull/6677)
* chore(deps): bump flask from 2.0.1 to 2.0.2 in /examples [#6676](https://github.com/GoogleContainerTools/skaffold/pull/6676)
* introduce schema v2beta24 [#6628](https://github.com/GoogleContainerTools/skaffold/pull/6628)
* Update pack image to v0.21.1 [#6630](https://github.com/GoogleContainerTools/skaffold/pull/6630)
* Add image label support to ko builder [#6597](https://github.com/GoogleContainerTools/skaffold/pull/6597)
* Clean up deps [#6611](https://github.com/GoogleContainerTools/skaffold/pull/6611)
Docs, Test, and Release Updates:
* Add initial docs for Docker deployer [#6613](https://github.com/GoogleContainerTools/skaffold/pull/6613)
* doc: document Helm deployer's IMAGE_NAME<N>, IMAGE_TAG<N>, IMAGE_DIGEST<N> [#6649](https://github.com/GoogleContainerTools/skaffold/pull/6649)
* docs: update skaffold development guide to include information about commit messages [#6670](https://github.com/GoogleContainerTools/skaffold/pull/6670)
* Validate changed examples with "local" builder [#6133](https://github.com/GoogleContainerTools/skaffold/pull/6133)
* fix: properly generate enums for config schemas when running `make generate-schemas` [#6651](https://github.com/GoogleContainerTools/skaffold/pull/6651)
* refactor: Rename a couple of scripts for consistency [#6625](https://github.com/GoogleContainerTools/skaffold/pull/6625)
* chore: update skaffold Q4 planning board [#6631](https://github.com/GoogleContainerTools/skaffold/pull/6631)
* Remove `hack/release-notes` binary and update script to remove after running [#6610](https://github.com/GoogleContainerTools/skaffold/pull/6610)
* Drop codecov threshold to 30% [#6608](https://github.com/GoogleContainerTools/skaffold/pull/6608)
* build: 30 min timeout for integration tests [#6684](https://github.com/GoogleContainerTools/skaffold/pull/6684)
Huge thanks goes out to all of our contributors for this release:
- Aaron Prindle
- Ahmet Alp Balkan
- Brian de Alwis
- Gaurav
- Glenn Pratt
- Halvard Skogsrud
- Marlon Gamez
- Nick Kubala
- Seth Nickell
- Tejal Desai
# v1.32.0 Release - 09/15/2021
**Linux**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.32.0/skaffold-linux-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**macOS**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.32.0/skaffold-darwin-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**Windows**
https://storage.googleapis.com/skaffold/releases/v1.32.0/skaffold-windows-amd64.exe
**Docker image**
`gcr.io/k8s-skaffold/skaffold:v1.32.0`
Note: This release comes with a new config version, `v2beta23`. To upgrade your skaffold.yaml, use `skaffold fix`. If you choose not to upgrade, skaffold will auto-upgrade as best as it can.
Highlights:
* **Skaffold now supports a brand new deploy type - `docker`, enabling iterative application development without Kubernetes by creating containers directly in the local Docker daemon!**
- _This is an experimental **alpha** feature - we expect to find issues as it is put through the paces. Please be patient as we work to refine the experience, and be sure to report any issues or improvement ideas!_
* The Skaffold HTTP/gRPC APIs are now disabled by default for `dev` and `run`, and the `--enable-rpc` flag is now deprecated. The APIs will now only be activated if the `--rpc-port` or `--rpc-http-port` flags are set, and will only bind to the provided ports (rather than defaulting to `50051` or `50052`). Please see the documentation for more details.
New Features and Additions:
* New config option deploy.transformableAllowList [#6452](https://github.com/GoogleContainerTools/skaffold/pull/6452)
Fixes:
* fix: add podforwaders correctly for multimodule projects [#6606](https://github.com/GoogleContainerTools/skaffold/pull/6606)
* fix: treat pod deletion as if its containers were terminated [#6587](https://github.com/GoogleContainerTools/skaffold/pull/6587)
* Updating load images to use only local images [#6582](https://github.com/GoogleContainerTools/skaffold/pull/6582)
* fix: iterative-status-check only for deployers defining hooks [#6574](https://github.com/GoogleContainerTools/skaffold/pull/6574)
Updates and Refactors:
* Extend `--artifact` API schema to allow for manifest generation [#6599](https://github.com/GoogleContainerTools/skaffold/pull/6599)
* api: Strict port number handling and --enable-rpc deprecation [#6459](https://github.com/GoogleContainerTools/skaffold/pull/6459)
* add testType field to skaffold inspect tests output [#6561](https://github.com/GoogleContainerTools/skaffold/pull/6561)
* Persist EventV2 logs when `--event-log-file` exists [#6581](https://github.com/GoogleContainerTools/skaffold/pull/6581)
* Ko builder: Add Env, Flags, and Ldflags config [#6546](https://github.com/GoogleContainerTools/skaffold/pull/6546)
* Detect ko images for debugging, by image author [#6569](https://github.com/GoogleContainerTools/skaffold/pull/6569)
* Detect ko images for debugging, by envvar [#6563](https://github.com/GoogleContainerTools/skaffold/pull/6563)
* Make inputDigest hash calculation independent of workspace path [#6522](https://github.com/GoogleContainerTools/skaffold/pull/6522)
Docs, Test, and Release Updates:
* Make TestHelmDeploy hermetic [#6590](https://github.com/GoogleContainerTools/skaffold/pull/6590)
* Fix wrong link on the custom-tests example, fixes #6591 [#6592](https://github.com/GoogleContainerTools/skaffold/pull/6592)
* Updates skaffold.yaml example in helm section [#6585](https://github.com/GoogleContainerTools/skaffold/pull/6585)
* docs: mention hooks don't run on cached artifacts [#6577](https://github.com/GoogleContainerTools/skaffold/pull/6577)
* Run CodeQL analysis nightly and cache the go modules cache [#6548](https://github.com/GoogleContainerTools/skaffold/pull/6548)
* Fix issue 6513 - CI/CD page readability [#6555](https://github.com/GoogleContainerTools/skaffold/pull/6555)
* docs: use dropdown menu for selecting version [#6559](https://github.com/GoogleContainerTools/skaffold/pull/6559)
Huge thanks goes out to all of our contributors for this release:
- Aaron Prindle
- Ahmet Alp Balkan
- Brian de Alwis
- Gaurav
- Gerson Sosa
- Halvard Skogsrud
- Ke Zhu
- Marlon Gamez
- Mattias Öhrn
- Mike Verbanic
- Nick Kubala
- Tejal Desai
- Yuki Ito
# v1.31.0 Release - 09/01/2021
**Linux**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.31.0/skaffold-linux-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**macOS**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.31.0/skaffold-darwin-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**Windows**
https://storage.googleapis.com/skaffold/releases/v1.31.0/skaffold-windows-amd64.exe
**Docker image**
`gcr.io/k8s-skaffold/skaffold:v1.31.0`
Note: This release comes with a new config version, `v2beta22`. To upgrade your skaffold.yaml, use `skaffold fix`. If you choose not to upgrade, skaffold will auto-upgrade as best as it can.
Highlights:
* hooks: implement for `helm` and `kustomize` deployers [#6454](https://github.com/GoogleContainerTools/skaffold/pull/6454)
* Add `--load-images` flag to deploy [#6428](https://github.com/GoogleContainerTools/skaffold/pull/6428)
* Add skip_test env for custom build script [#6455](https://github.com/GoogleContainerTools/skaffold/pull/6455)
* Add core ko builder implementation [#6054](https://github.com/GoogleContainerTools/skaffold/pull/6054)
Fixes:
* Use `ResourceStatusCheckEvent[Updated/Completed]` where appropriate [#6550](https://github.com/GoogleContainerTools/skaffold/pull/6550)
* Fix buildpacks builder output to go through Event API [#6530](https://github.com/GoogleContainerTools/skaffold/pull/6530)
* fix: helm resource labeller checking wrong kubectl context [#6547](https://github.com/GoogleContainerTools/skaffold/pull/6547)
* fix: custom.GetDependencies should execute Command in workspace [#6321](https://github.com/GoogleContainerTools/skaffold/pull/6321)
* Add newlines to `SkaffoldLogEvent`s that come from `logrus` [#6506](https://github.com/GoogleContainerTools/skaffold/pull/6506)
* Fix skaffold inspect tests flags and help message [#6493](https://github.com/GoogleContainerTools/skaffold/pull/6493)
* fix: do not sync remote configs for specific commands [#6453](https://github.com/GoogleContainerTools/skaffold/pull/6453)
* Fix integration/'s randomPort() to return an unallocated port [#6474](https://github.com/GoogleContainerTools/skaffold/pull/6474)
* fix: TestDebug/buildpacks by pinning go version [#6463](https://github.com/GoogleContainerTools/skaffold/pull/6463)
Updates and Refactors:
* Send success for pods for a deployment when its rolled out successfully [#6534](https://github.com/GoogleContainerTools/skaffold/pull/6534)
* Add option to wait for connection to `/v2/events` on gRPC/HTTP server [#6545](https://github.com/GoogleContainerTools/skaffold/pull/6545)
* Plumb `context.Context` down into functions in pkg/skaffold/sync [#6535](https://github.com/GoogleContainerTools/skaffold/pull/6535)
* Add `Dir` config field to ko builder [#6496](https://github.com/GoogleContainerTools/skaffold/pull/6496)
* Skip tests if no tests defined in pipelines [#6527](https://github.com/GoogleContainerTools/skaffold/pull/6527)
* Use default values rather than return error in logrus hook [#6523](https://github.com/GoogleContainerTools/skaffold/pull/6523)
* Send error logs through the event API with the correct task/subtask [#6516](https://github.com/GoogleContainerTools/skaffold/pull/6516)
* Abstract k8s container representation from debug transformers [#6335](https://github.com/GoogleContainerTools/skaffold/pull/6335)
* Wrap tester in `SkaffoldRunner` to improve `SkaffoldLogEvent` labelling [#6469](https://github.com/GoogleContainerTools/skaffold/pull/6469)
* Plumb `context.Context` down into functions that use `util/cmd` functions [#6468](https://github.com/GoogleContainerTools/skaffold/pull/6468)
* log: use context.TODO for not yet plumbed ctx [#6462](https://github.com/GoogleContainerTools/skaffold/pull/6462)
* Implement Target support for ko builder [#6447](https://github.com/GoogleContainerTools/skaffold/pull/6447)
* Various small UX improvements [#6426](https://github.com/GoogleContainerTools/skaffold/pull/6426)
* Refine ko builder behavior for main packages [#6437](https://github.com/GoogleContainerTools/skaffold/pull/6437)
Docs, Test, and Release Updates:
* docs: Add skaffold.yaml to navbar [#6553](https://github.com/GoogleContainerTools/skaffold/pull/6553)
* docs: fix duplicate subpage listing [#6540](https://github.com/GoogleContainerTools/skaffold/pull/6540)
* [docs fixit] update skaffold fix text to have full description of command [#6536](https://github.com/GoogleContainerTools/skaffold/pull/6536)
* docs: update `test` phase references [#6539](https://github.com/GoogleContainerTools/skaffold/pull/6539)
* docs: update `dev` documentation for `test` phase; [#6538](https://github.com/GoogleContainerTools/skaffold/pull/6538)
* docs: rename section "Working with Skaffold" to "Guides" [#6537](https://github.com/GoogleContainerTools/skaffold/pull/6537)
* Add `skaffold apply` to CLI docs header [#6509](https://github.com/GoogleContainerTools/skaffold/pull/6509)
* docs: Add "Open in Cloud Shell" link to examples [#6514](https://github.com/GoogleContainerTools/skaffold/pull/6514)
* Document multi-stage dockerfile limitations of filesync [#6526](https://github.com/GoogleContainerTools/skaffold/pull/6526)
* docs: explain minikube detection [#6512](https://github.com/GoogleContainerTools/skaffold/pull/6512)
* docs: better wording explaining "skaffold init" [#6502](https://github.com/GoogleContainerTools/skaffold/pull/6502)
* docs: dev.md improvements [#6503](https://github.com/GoogleContainerTools/skaffold/pull/6503)
* Updated Cloud Code links to link to debug page [#6505](https://github.com/GoogleContainerTools/skaffold/pull/6505)
* document `make quicktest` [#6458](https://github.com/GoogleContainerTools/skaffold/pull/6458)
* Change wording describing how profiles work [#6445](https://github.com/GoogleContainerTools/skaffold/pull/6445)
* remove note on vendor/ usage from DEVELOPMENT.md [#6422](https://github.com/GoogleContainerTools/skaffold/pull/6422)
Huge thanks goes out to all of our contributors for this release:
- Aaron Prindle
- Ahmet Alp Balkan
- Brian de Alwis
- Chanseok Oh
- David Zumbrunnen
- Gaurav
- Glenn Pratt
- Halvard Skogsrud
- Henry Bell
- Ke Zhu
- Kourtney
- Marlon Gamez
- Mike Verbanic
- Nick Kubala
- Pradeep Kumar
- Tejal Desai
- Yanshu
- kelsk
# v1.30.0 Release - 08/11/2021
**Linux**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.30.0/skaffold-linux-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**macOS**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.30.0/skaffold-darwin-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**Windows**
https://storage.googleapis.com/skaffold/releases/v1.30.0/skaffold-windows-amd64.exe
**Docker image**
`gcr.io/k8s-skaffold/skaffold:v1.30.0`
Note: This release comes with a new config version, `v2beta21`. 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 deploy hooks for Skaffold lifecycle hooks. Read more [here](https://skaffold.dev/docs/pipeline-stages/lifecycle-hooks/#before-deploy-and-after-deploy-only-for-kubectl-deployer-1) [#6376](https://github.com/GoogleContainerTools/skaffold/pull/6376)
* Add support for Kaniko flag --image-fs-extract-retry [#6380](https://github.com/GoogleContainerTools/skaffold/pull/6380)
* Support passing additional CLI flags to docker build [#6343](https://github.com/GoogleContainerTools/skaffold/pull/6343)
Fixes:
* remove single `kubeContext` validation [#6394](https://github.com/GoogleContainerTools/skaffold/pull/6394)
* Set exit code 127 for Skaffold CLI validation errors [#6401](https://github.com/GoogleContainerTools/skaffold/pull/6401)
* Fix status check showing unhealthy pods from previous dev iteration [#6370](https://github.com/GoogleContainerTools/skaffold/pull/6370)
* Ignore leading 'v' when parsing helm versions [#6362](https://github.com/GoogleContainerTools/skaffold/pull/6362)
* fix: make `client.Client` kubernetesContext aware [#6368](https://github.com/GoogleContainerTools/skaffold/pull/6368)
* ResourceForwarder should wait for its forwards [#6332](https://github.com/GoogleContainerTools/skaffold/pull/6332)
* hooks: prepend pod/container name to container hooks log lines [#6337](https://github.com/GoogleContainerTools/skaffold/pull/6337)
* Fix issue with displaying survey prompts when we shouldn't [#6354](https://github.com/GoogleContainerTools/skaffold/pull/6354)
* fix: remote manifest image substitution [#6342](https://github.com/GoogleContainerTools/skaffold/pull/6342)
* fix build --push=false for missing kubeconfig [#6366](https://github.com/GoogleContainerTools/skaffold/pull/6366)
* Ensure Cleanup is called if Deploy creates resources but fails [#6345](https://github.com/GoogleContainerTools/skaffold/pull/6345)
Updates and Refactors:
* Add functionality to support patterns in `--user` flag [#6402](https://github.com/GoogleContainerTools/skaffold/pull/6402)
* Improvements to upcoming Event Api v2 [#6399](https://github.com/GoogleContainerTools/skaffold/pull/6399), [#6407](https://github.com/GoogleContainerTools/skaffold/pull/6407), [#6395](https://github.com/GoogleContainerTools/skaffold/pull/6395)
* Change parsing templated image warning to debug info [#6398](https://github.com/GoogleContainerTools/skaffold/pull/6398)
Docs, Test, and Release Updates:
* hooks: update deploy docs [#6386](https://github.com/GoogleContainerTools/skaffold/pull/6386)
* [design proposal] Add config option 'deploy.config.transformableAllowList' [#6236](https://github.com/GoogleContainerTools/skaffold/pull/6236)
* GitLab (with capital 'L') [#6384](https://github.com/GoogleContainerTools/skaffold/pull/6384)
* Validate generated schemas in generator script [#6385](https://github.com/GoogleContainerTools/skaffold/pull/6385)
* fix: schema gen for `ContainerHook` [#6372](https://github.com/GoogleContainerTools/skaffold/pull/6372)
* Add trace-level port-allocation logs [#6293](https://github.com/GoogleContainerTools/skaffold/pull/6293)
* Bump cloud.google.com/go/storage from 1.10.0 to 1.16.0 [#6324](https://github.com/GoogleContainerTools/skaffold/pull/6324)
* Mark GCP Buildpacks builder as trusted in the examples [#6284](https://github.com/GoogleContainerTools/skaffold/pull/6284)
Huge thanks goes out to all of our contributors for this release:
- Ahmet Alp Balkan
- Brian de Alwis
- David Zumbrunnen
- Gaurav
- Ke Zhu
- Marlon Gamez
- Mike Verbanic
- Nick Kubala
- Pradeep Kumar
- Tejal Desai
- Yanshu
- dependabot[bot]
# v1.29.0 Release - 07/30/2021
Note: This release comes with a new config version, `v2beta20`. To upgrade your skaffold.yaml, use `skaffold fix`. If you choose not to upgrade, skaffold will auto-upgrade as best as it can.
Highlights:
* Introducing Skaffold lifecycle hooks [#6330](https://github.com/GoogleContainerTools/skaffold/pull/6330)
* Rename Skaffold's `master` branch to `main` [#6263](https://github.com/GoogleContainerTools/skaffold/pull/6263)
* Add state to event handler to track `logrus` output events [#6272](https://github.com/GoogleContainerTools/skaffold/pull/6272)
* fix: kubeContext override via flag [#6331](https://github.com/GoogleContainerTools/skaffold/pull/6331)
* Added developer journey tutorial [#6201](https://github.com/GoogleContainerTools/skaffold/pull/6201)
Fixes:
* Fix tail false but still log issue [#6299](https://github.com/GoogleContainerTools/skaffold/pull/6299)
* skip manifest validation for default `kubectl deployer` [#6294](https://github.com/GoogleContainerTools/skaffold/pull/6294)
* Fix switched container/pod names in app log event [#6215](https://github.com/GoogleContainerTools/skaffold/pull/6215)
* fix remote branch lookup [#6269](https://github.com/GoogleContainerTools/skaffold/pull/6269)
* [cherry-pick] Fix Workdir error when --filename flag is used. [#6247](https://github.com/GoogleContainerTools/skaffold/pull/6247)
* Make skaffold reproducible [#6238](https://github.com/GoogleContainerTools/skaffold/pull/6238)
Updates and Refactors:
* Give `logrus.Hook` implementation information about task and subtask [#6313](https://github.com/GoogleContainerTools/skaffold/pull/6313)
* Add `logrus.Logger` return type on `WithEventContext()` [#6309](https://github.com/GoogleContainerTools/skaffold/pull/6309)
* Add `logrus` hook for sending `SkaffoldLogEvent`s [#6250](https://github.com/GoogleContainerTools/skaffold/pull/6250)
* Prefix port forward links with `http://` [#6295](https://github.com/GoogleContainerTools/skaffold/pull/6295)
* Set output event context in cache check, tag generation, status check, port forward [#6234](https://github.com/GoogleContainerTools/skaffold/pull/6234)
Docs, Test, and Release Updates:
* Update deps and restore k3d tests [#6280](https://github.com/GoogleContainerTools/skaffold/pull/6280)
* Remove log tail test for nodejs example [#6275](https://github.com/GoogleContainerTools/skaffold/pull/6275)
* `git fetch` origin/main before `make checks` [#6274](https://github.com/GoogleContainerTools/skaffold/pull/6274)
Huge thanks goes out to all of our contributors for this release:
- Aaron Prindle
- Benjamin P. Jung
- Brian de Alwis
- Chris Willis
- dependabot[bot]
- elnoro
- Gaurav
- jelle van der Waa
- Marlon Gamez
- Nick Kubala
- Tejal Desai
- Yanshu
- Yuwen Ma
# v1.28.0 Release - 07/14/2021
Note: This release comes with a new config version, `v2beta19`. To upgrade your skaffold.yaml, use `skaffold fix`. If you choose not to upgrade, skaffold will auto-upgrade as best as it can.
Highlights:
* Skaffold healthchecks can now be run per deployer using the `--iterative-status-check=true` flag (fixes [5774](https://github.com/GoogleContainerTools/skaffold/issues/5774)). See docs [here](https://skaffold.dev/docs/workflows/ci-cd/#waiting-for-skaffold-deployments-using-healthcheck).
* If you use `helm` with `skaffold` you might see a new survey asking for feedback on an upcoming redesign of that integration.
New Features:
* Allow iterative status checks [#6115](https://github.com/GoogleContainerTools/skaffold/pull/6115)
* Add survey config and framework to show feature surveys to skaffold users. [#6185](https://github.com/GoogleContainerTools/skaffold/pull/6185)
Fixes:
* Make completion work again [#6138](https://github.com/GoogleContainerTools/skaffold/pull/6138)
* Propagate kaniko environment to GCB [#6181](https://github.com/GoogleContainerTools/skaffold/pull/6181)
* Fix couldn't start notify trigger in multi-config projects [#6114](https://github.com/GoogleContainerTools/skaffold/pull/6114)
* Fetch namespaces at time of sync [#6135](https://github.com/GoogleContainerTools/skaffold/pull/6135)
* Replace missing template values with empty string [#6136](https://github.com/GoogleContainerTools/skaffold/pull/6136)
* Fix survey active logic [#6194](https://github.com/GoogleContainerTools/skaffold/pull/6194)
* Don't update survey prompt if survey prompt is not shown to stdout [#6192](https://github.com/GoogleContainerTools/skaffold/pull/6192)
* change ptypes call to timestamppb to fix linters [#6164](https://github.com/GoogleContainerTools/skaffold/pull/6164)
Updates and Refactors:
* Update Skaffold dependencies [#6155](https://github.com/GoogleContainerTools/skaffold/pull/6155)
* Simplify `--timestamps` output [#6146](https://github.com/GoogleContainerTools/skaffold/pull/6146)
* Update Jib build plugin versions after 3.1.2 release [#6168](https://github.com/GoogleContainerTools/skaffold/pull/6168)
* Update feature maturities [#6202](https://github.com/GoogleContainerTools/skaffold/pull/6202)
* Add logic to show user survey in DisplaySurveyPrompt flow. [#6196](https://github.com/GoogleContainerTools/skaffold/pull/6196)
* refactor: Read globalConfig instead of kubecontext config for survey config [#6191](https://github.com/GoogleContainerTools/skaffold/pull/6191)
* Add information about workspace and dockerfile to artifact metadata [#6111](https://github.com/GoogleContainerTools/skaffold/pull/6111)
* Added template expansion for helm chart version (#5709) [#6157](https://github.com/GoogleContainerTools/skaffold/pull/6157)
* add set command for survey ids [#6197](https://github.com/GoogleContainerTools/skaffold/pull/6197)
* Bump schema version to v2beta19 [#6116](https://github.com/GoogleContainerTools/skaffold/pull/6116)
Docs, Test, and Release Updates:
* Create SECURITY.md [#6140](https://github.com/GoogleContainerTools/skaffold/pull/6140)
* Update Jib docs with some advanced usage examples [#6169](https://github.com/GoogleContainerTools/skaffold/pull/6169)
* Disable k3d integration tests [#6171](https://github.com/GoogleContainerTools/skaffold/pull/6171)
* Check release workflow [#6188](https://github.com/GoogleContainerTools/skaffold/pull/6188)
* design proposal to show user survey other than Hats [#6186](https://github.com/GoogleContainerTools/skaffold/pull/6186)
* Doc tweaks [#6176](https://github.com/GoogleContainerTools/skaffold/pull/6176)
* working cloud profiler export for skaffold [#6066](https://github.com/GoogleContainerTools/skaffold/pull/6066)
* Set specific permissions for workflows [#6139](https://github.com/GoogleContainerTools/skaffold/pull/6139)
Huge thanks goes out to all of our contributors for this release:
- Aaron Prindle
- Brian de Alwis
- Chanseok Oh
- Gaurav
- Hidenori Sugiyama
- Marlon Gamez
- Nick Kubala
- Pablo Caderno
- Tejal Desai
- Yuwen Ma
# v1.27.0 Release - 06/29/2021
Note: This release comes with a new config version, `v2beta18`. To upgrade your skaffold.yaml, use `skaffold fix`. If you choose not to upgrade, skaffold will auto-upgrade as best as it can.
Highlights:
* Skaffold CLI respects `--kube-context` & `--kubeconfig` command line flags and uses it instead of active kubernetes context.
* Status-Check now runs per deployer sequentially. For `skaffold.yaml` with multiple deployers, the next deploy will start after previous deployed resources stabilize. Docs coming soon!
New Features:
* Configure nodes for running cluster builds (e.g. kaniko) by using the node selector config option `cluster.nodeSelector`. [#6083](https://github.com/GoogleContainerTools/skaffold/pull/6083)
* Better defaults for GCB project when using Artifact Registry images [#6093](https://github.com/GoogleContainerTools/skaffold/pull/6093)
* Skaffold init now supports Jib and Buildpacks artifacts by default [#6063](https://github.com/GoogleContainerTools/skaffold/pull/6063)
* Structured tests configuration supports custom parameters [#6055](https://github.com/GoogleContainerTools/skaffold/pull/6055)
Fixes:
* log metrics upload failure and write to file instead. [#6108](https://github.com/GoogleContainerTools/skaffold/pull/6108)
* Skaffold Render now validates manifests [#6043](https://github.com/GoogleContainerTools/skaffold/pull/6043)
* Port-forwarding improvements for multi-config projects [#6090](https://github.com/GoogleContainerTools/skaffold/pull/6090)
* Fix helm deploy error when configuring helm arg list and skaffold overrides[#6080](https://github.com/GoogleContainerTools/skaffold/pull/6080)
* Use non alpine image and protoc 3.17.3 in proto generation [#6073](https://github.com/GoogleContainerTools/skaffold/pull/6073)
* Fix setting `kubeContext` in skaffold [#6024](https://github.com/GoogleContainerTools/skaffold/pull/6024)
* Use StdEncoding for git hash directory name [#6071](https://github.com/GoogleContainerTools/skaffold/pull/6071)
* fix status-check to return success only on exact success criteria match [#6010](https://github.com/GoogleContainerTools/skaffold/pull/6010)
* fix: gcb api throttling retry backoff not implemented correctly [#6023](https://github.com/GoogleContainerTools/skaffold/pull/6023)
* Ensure events are serialized [#6064](https://github.com/GoogleContainerTools/skaffold/pull/6064)
Updates and Refactors:
* add source file and module to config parsing error description [#6087](https://github.com/GoogleContainerTools/skaffold/pull/6087)
* Refactor to move podSelector, Syncer, StatusCheck, Debugger, Port-forwarder under Deployer [#6076](https://github.com/GoogleContainerTools/skaffold/pull/6076),
[#6053](https://github.com/GoogleContainerTools/skaffold/pull/6053), [#6026](https://github.com/GoogleContainerTools/skaffold/pull/6026),
[#6021](https://github.com/GoogleContainerTools/skaffold/pull/6021),
[#6044](https://github.com/GoogleContainerTools/skaffold/pull/6044)
* fix v3alpha version [#6084](https://github.com/GoogleContainerTools/skaffold/pull/6084),
* [v2] Update v2 with new UX [#6086](https://github.com/GoogleContainerTools/skaffold/pull/6086)
* Update to github.com/gogo/protobuf v1.3.2 (GO-2021-0053) [#6022](https://github.com/GoogleContainerTools/skaffold/pull/6022)
Docs, Test, and Release Updates:
* Document Helm image reference strategies [#6017](https://github.com/GoogleContainerTools/skaffold/pull/6017)
* Optimize k8s-skaffold/skaffold image [#6106](https://github.com/GoogleContainerTools/skaffold/pull/6106)
* Fix typo in executed file name [#6105](https://github.com/GoogleContainerTools/skaffold/pull/6105)
* Escape parentheses in shJoin [#6101](https://github.com/GoogleContainerTools/skaffold/pull/6101)
* Fix instructions to add actionable error codes. [#6094](https://github.com/GoogleContainerTools/skaffold/pull/6094)
* Updates to ko builder design proposal to add implementation approach [#6046](https://github.com/GoogleContainerTools/skaffold/pull/6046)
* fix invalid config version links in DEVELOPMENT.md [#6058](https://github.com/GoogleContainerTools/skaffold/pull/6058)
Huge thanks goes out to all of our contributors for this release:
- Aaron Prindle
- Brian de Alwis
- Chanseok Oh
- Daniel Petró
- Gaurav
- Halvard Skogsrud
- Jack
- Kaan Karakaya
- Marlon Gamez
- Mridula
- Nick Kubala
- Tejal Desai
- Yuwen Ma
# v1.26.0 Release - 06/08/2021
Highlights:
New Features:
* Emit status check subtask events for V2 API [#5961](https://github.com/GoogleContainerTools/skaffold/pull/5961)
* Buildpacks builder supports mounting read/write volumes (experimental) [#5972](https://github.com/GoogleContainerTools/skaffold/pull/5972)
Fixes:
* Fix and cleanup Kpt fn integration [#5886](https://github.com/GoogleContainerTools/skaffold/pull/5886)
* Avoid adding image digest twice to tag on render [#5958](https://github.com/GoogleContainerTools/skaffold/pull/5958)
* have BuildSubtaskEvent use InProgress status [#5963](https://github.com/GoogleContainerTools/skaffold/pull/5963)
* Ignore first user cancelled and get actual error as final error [#5941](https://github.com/GoogleContainerTools/skaffold/pull/5941)
* Fix up missed remote -> remotePath changes [#5920](https://github.com/GoogleContainerTools/skaffold/pull/5920)
* Add missing flags to `skaffold test` [#5912](https://github.com/GoogleContainerTools/skaffold/pull/5912)
Updates and Refactors:
* make sure SkaffoldLogEvent types go through correct endpoint [#5964](https://github.com/GoogleContainerTools/skaffold/pull/5964)
* update hack/generate-kind-config.sh to handle multiple mirrors [#5977](https://github.com/GoogleContainerTools/skaffold/pull/5977)
* [v3] Add validator in render v2. [#5942](https://github.com/GoogleContainerTools/skaffold/pull/5942)
* [v3] Add the Kptfile struct to render. [#5940](https://github.com/GoogleContainerTools/skaffold/pull/5940)
* setup /v2/skaffoldLogs endpoint [#5951](https://github.com/GoogleContainerTools/skaffold/pull/5951)
* Refactor to use new SkaffoldWriter type [#5894](https://github.com/GoogleContainerTools/skaffold/pull/5894)
* Show more detailed error when unknown Project [#5939](https://github.com/GoogleContainerTools/skaffold/pull/5939)
* Add event logger type and function to set event context for writer [#5937](https://github.com/GoogleContainerTools/skaffold/pull/5937)
* Remove unsupported `docker.secret.dst` field [#5927](https://github.com/GoogleContainerTools/skaffold/pull/5927)
* Add step field for `BuildSubtaskEvent` to represent the different parts of a build for an artifact [#5915](https://github.com/GoogleContainerTools/skaffold/pull/5915)
* Pass kubeconfig to `kpt live` [#5906](https://github.com/GoogleContainerTools/skaffold/pull/5906)
* Use Helm chart version in render [#5922](https://github.com/GoogleContainerTools/skaffold/pull/5922)
* Add pointer for .NET debugging for Rider [#5924](https://github.com/GoogleContainerTools/skaffold/pull/5924)
* skaffold trace wrapping of critical functions & skaffold trace exporters via SKAFFOLD_TRACE env var [#5854](https://github.com/GoogleContainerTools/skaffold/pull/5854)
* Ensure tag stripping logic can optionally accept digests [#5919](https://github.com/GoogleContainerTools/skaffold/pull/5919)
* Update metadata event emission to happen every devloop and update build metadata [#5918](https://github.com/GoogleContainerTools/skaffold/pull/5918)
* Add additional detail text field for task protos [#5929](https://github.com/GoogleContainerTools/skaffold/pull/5929)
* Add distinct error codes for docker no space error and better suggestion [#5938](https://github.com/GoogleContainerTools/skaffold/pull/5938)
* Add support for Port forwarding with resourceName with Templated Fields [#5934](https://github.com/GoogleContainerTools/skaffold/pull/5934)
* Pause debug pod watchers before next iteration deploy [#5932](https://github.com/GoogleContainerTools/skaffold/pull/5932)
Docs, Test, and Release Updates:
* Add integration tests for `skaffold inspect build-env` commands [#5973](https://github.com/GoogleContainerTools/skaffold/pull/5973)
* Add/fix remoteChart tests [#5921](https://github.com/GoogleContainerTools/skaffold/pull/5921)
* Container Structure Test page should use `skaffold test` [#5911](https://github.com/GoogleContainerTools/skaffold/pull/5911)
* Improve documentation of docker buildArgs (#5871) [#5901](https://github.com/GoogleContainerTools/skaffold/pull/5901)
* Document `inputDigest` tagger, and move `sha256` tagger to end [#5948](https://github.com/GoogleContainerTools/skaffold/pull/5948)
Huge thanks goes out to all of our contributors for this release:
- Aaron Prindle
- Appu
- Brian de Alwis
- Gaurav
- Marlon Gamez
- Mattias Öhrn
- Nick Kubala
- Piotr Wielgolaski
- Rob Thorne
- Tejal Desai
- Yuwen Ma
# v1.25.0 Release - 05/25/2021
Highlights:
* Debug support for pydevd, new --protocols debug flag [#5759](https://github.com/GoogleContainerTools/skaffold/pull/5759)
New Features:
* Allow caching from previously built artifacts on GCB [#5903](https://github.com/GoogleContainerTools/skaffold/pull/5903)
Fixes:
* fix: setting default deployer definition [#5861](https://github.com/GoogleContainerTools/skaffold/pull/5861)
* Schemas should emit type=object for object [#5876](https://github.com/GoogleContainerTools/skaffold/pull/5876)
* Failing to delete source archive should not fail GCB builds [#5891](https://github.com/GoogleContainerTools/skaffold/pull/5891)
* Fix `skaffold diagnose` to work when skaffold.yaml is outside of source root dir [#5900](https://github.com/GoogleContainerTools/skaffold/pull/5900)
Updates and Refactors:
* [V3] add renderer basic struct. [#5793](https://github.com/GoogleContainerTools/skaffold/pull/5793)
* [v3] Add render generator [#5865](https://github.com/GoogleContainerTools/skaffold/pull/5865)
* Move application logs to their own endpoint for API V2 [#5868](https://github.com/GoogleContainerTools/skaffold/pull/5868)
* Update go-containerregistry to 0.5.1 [#5881](https://github.com/GoogleContainerTools/skaffold/pull/5881)
* Update pack to 0.18.1 [#5882](https://github.com/GoogleContainerTools/skaffold/pull/5882)
* Add .NET .csproj detection to init for buildpacks [#5883](https://github.com/GoogleContainerTools/skaffold/pull/5883)
* Refactor metrics prompt functions and change `color` package name [#5890](https://github.com/GoogleContainerTools/skaffold/pull/5890)
Docs, Test, and Release Updates:
* Fix yaml reference rendering for object-type examples [#5872](https://github.com/GoogleContainerTools/skaffold/pull/5872)
* Update _index.md [#5902](https://github.com/GoogleContainerTools/skaffold/pull/5902)
* Rework `debug` docs and add small section on troubleshooting [#5905](https://github.com/GoogleContainerTools/skaffold/pull/5905)
Huge thanks goes out to all of our contributors for this release:
- Asdrubal
- Brian de Alwis
- Gaurav
- Marlon Gamez
- Matthew Michihara
- Tejal Desai
- Yuwen Ma
# v1.24.1 Release - 05/17/2021
**Linux**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.24.1/skaffold-linux-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**macOS**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.24.1/skaffold-darwin-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**Windows**
https://storage.googleapis.com/skaffold/releases/v1.24.1/skaffold-windows-amd64.exe
**Docker image**
`gcr.io/k8s-skaffold/skaffold:v1.24.1`
Note: This is a patch release for fixing a regression introduced in v1.24.0 (see [#5840](https://github.com/GoogleContainerTools/skaffold/issues/5840)).
Fixes:
* Fix 5840 [#5858](https://github.com/GoogleContainerTools/skaffold/pull/5858)
* fix skaffold test to use minikube docker-env docker context [#5815](https://github.com/GoogleContainerTools/skaffold/pull/5815)
Updates and Refactors:
* propagate profiles across imported configs by default; disable using `propagate-profiles` flag [#5846](https://github.com/GoogleContainerTools/skaffold/pull/5846)
* add explicit error code `UNKNOWN_API_VERSION` [#5848](https://github.com/GoogleContainerTools/skaffold/pull/5848)
* Expose --event-log-file to render, apply, and test [#5828](https://github.com/GoogleContainerTools/skaffold/pull/5828)
* Bump flask from 1.1.2 to 2.0.0 in /integration/examples [#5822](https://github.com/GoogleContainerTools/skaffold/pull/5822)
* Bump flask from 1.1.2 to 2.0.0 in /examples [#5821](https://github.com/GoogleContainerTools/skaffold/pull/5821)
* Add kpt v1.0.0-alpha.2 to Skaffold image [#5825](https://github.com/GoogleContainerTools/skaffold/pull/5825)
* Avoid aliasing in image configuration [#5804](https://github.com/GoogleContainerTools/skaffold/pull/5804)
* Add support for Port forwarding with namespaces with Templated Fields [#5808](https://github.com/GoogleContainerTools/skaffold/pull/5808)
Huge thanks goes out to all of our contributors for this release:
- Aaron Prindle
- Brian de Alwis
- Gaurav
- Itai Schwartz
- Marlon Gamez
- Nick Kubala
- Yuwen Ma
# v1.24.0 Release - 05/11/2021
**Linux**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.24.0/skaffold-linux-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**macOS**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.24.0/skaffold-darwin-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**Windows**
https://storage.googleapis.com/skaffold/releases/v1.24.0/skaffold-windows-amd64.exe
**Docker image**
`gcr.io/k8s-skaffold/skaffold:v1.24.0`
Note: This release comes with a new config version, `v2beta16`. To upgrade your skaffold.yaml, use `skaffold fix`. If you choose not to upgrade, skaffold will auto-upgrade as best as it can.
Highlights:
New Features:
* Support templated release names in helm render [#5751](https://github.com/GoogleContainerTools/skaffold/pull/5751)
* Add StatusCheck field to skaffold.yaml (#4904) [#5706](https://github.com/GoogleContainerTools/skaffold/pull/5706)
* Add `skaffold inspect` command [#5765](https://github.com/GoogleContainerTools/skaffold/pull/5765)
* bring back error coloring [#5718](https://github.com/GoogleContainerTools/skaffold/pull/5718)
* add `skaffold inspect profiles` command [#5778](https://github.com/GoogleContainerTools/skaffold/pull/5778)
* Emit TaskEvent protos for Test phase [#5786](https://github.com/GoogleContainerTools/skaffold/pull/5786)
* add `skaffold inspect build-env` command [#5792](https://github.com/GoogleContainerTools/skaffold/pull/5792)
* Default digest source to 'remote' in render [#5578](https://github.com/GoogleContainerTools/skaffold/pull/5578)
* Don't add skaffold labels by default in render, and deprecate the --add-skaffold-labels flag [#5653](https://github.com/GoogleContainerTools/skaffold/pull/5653)
* Emit deploy subtask events for API V2 [#5783](https://github.com/GoogleContainerTools/skaffold/pull/5783)
* Allow specifying whether to make file paths absolute when parsing configs. [#5805](https://github.com/GoogleContainerTools/skaffold/pull/5805)
* add emission of TaskEvents for Test phase [#5814](https://github.com/GoogleContainerTools/skaffold/pull/5814)
* Add emission of TestSubtaskEvents [#5816](https://github.com/GoogleContainerTools/skaffold/pull/5816)
Fixes:
* Protect errors.allErrors with mutex [#5753](https://github.com/GoogleContainerTools/skaffold/pull/5753)
* Fix tarring of build context for artifacts with source dependencies [#5750](https://github.com/GoogleContainerTools/skaffold/pull/5750)
* skaffold diagnose to not initialize runconfig for yaml only flag [#5762](https://github.com/GoogleContainerTools/skaffold/pull/5762)
* Ensure working JVM before enabling Jib actions to avoid hangs [#5725](https://github.com/GoogleContainerTools/skaffold/pull/5725)
* Fix setting helm `--setFiles` for Windows [#5648](https://github.com/GoogleContainerTools/skaffold/pull/5648)
* Resolve all filepaths to absolute in 'skaffold diagnose' [#5791](https://github.com/GoogleContainerTools/skaffold/pull/5791)
* Default to empty secret path for Kaniko to use Workload Identity credentials [#5730](https://github.com/GoogleContainerTools/skaffold/pull/5730)
* Use default deployer in 'skaffold apply' [#5776](https://github.com/GoogleContainerTools/skaffold/pull/5776)
Updates and Refactors:
* [V3] (Part 1) Refactor schema "latest" to "latest/v1" [#5728](https://github.com/GoogleContainerTools/skaffold/pull/5728)
* Bump several build dependencies [#5747](https://github.com/GoogleContainerTools/skaffold/pull/5747)
* Consolidate tag stripping logic from Kubernetes logger [#5740](https://github.com/GoogleContainerTools/skaffold/pull/5740)
* [V3] (Part 2) Add new schema to latest/v2 [#5729](https://github.com/GoogleContainerTools/skaffold/pull/5729)
* [Refactor] Move kubernetes log code to pkg/skaffold/kubernetes/logger [#5761](https://github.com/GoogleContainerTools/skaffold/pull/5761)
* update otel libs from v0.13.0 -> v0.20.0 [#5757](https://github.com/GoogleContainerTools/skaffold/pull/5757)
* move profile verification higher up the stack [#5779](https://github.com/GoogleContainerTools/skaffold/pull/5779)
* [V3] (part 1) Change runner/v3 to runner/v2. Update v3 flag to v2 [#5780](https://github.com/GoogleContainerTools/skaffold/pull/5780)
* [v3] (part 2) Move the v1 runner components to `pkg/skaffold/runner/v1`. [#5781](https://github.com/GoogleContainerTools/skaffold/pull/5781)
* [Code style] Fix snake case import package "latest_v1" to "latestV1" [#5799](https://github.com/GoogleContainerTools/skaffold/pull/5799)
* Embed Logger inside Deployer [#5809](https://github.com/GoogleContainerTools/skaffold/pull/5809)
Docs, Test, and Release Updates:
* Update `hack/new_version.sh` script and generate v2beta16 [#5748](https://github.com/GoogleContainerTools/skaffold/pull/5748)
* Use GCR registry mirror in Travis for Linux-based platforms [#5735](https://github.com/GoogleContainerTools/skaffold/pull/5735)
* Update api.md [#5764](https://github.com/GoogleContainerTools/skaffold/pull/5764)
* fix SecurityContext typo [#5769](https://github.com/GoogleContainerTools/skaffold/pull/5769)
* disable housekeeping messages for render [#5770](https://github.com/GoogleContainerTools/skaffold/pull/5770)
* Update _index.md [#5752](https://github.com/GoogleContainerTools/skaffold/pull/5752)
* Update examples/typescript w/ recommended ENV=production info [#5777](https://github.com/GoogleContainerTools/skaffold/pull/5777)
* [v3] Schema Version upgrading for v1 and v2. [#5796](https://github.com/GoogleContainerTools/skaffold/pull/5796)
Designs:
* Add ko builder design proposal draft [#5611](https://github.com/GoogleContainerTools/skaffold/pull/5611)
Huge thanks goes out to all of our contributors for this release:
- Aaron Prindle
- Brian de Alwis
- Gaurav
- Halvard Skogsrud
- Joe Bowbeer
- Maggie Neterval
- Marlon Gamez
- Nick Kubala
- Tejal Desai
- Vladimir Ivanov
- Yuwen Ma
- aleksandrOranskiy
# v1.23.0 Release - 04/27/2021
**Linux**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.23.0/skaffold-linux-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**macOS**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.23.0/skaffold-darwin-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**Windows**
https://storage.googleapis.com/skaffold/releases/v1.23.0/skaffold-windows-amd64.exe
**Docker image**
`gcr.io/k8s-skaffold/skaffold:v1.23.0`
Note: This release comes with a new config version, `v2beta15`. To upgrade your skaffold.yaml, use `skaffold fix`. If you choose not to upgrade, skaffold will auto-upgrade as best as it can.
Highlights:
* Add build-concurrency flag [#5699](https://github.com/GoogleContainerTools/skaffold/pull/5699)
* add skaffold build --push flag [#5708](https://github.com/GoogleContainerTools/skaffold/pull/5708)
* Added fix for RPC port detection [#5715](https://github.com/GoogleContainerTools/skaffold/pull/5715)
New Features:
* Add BuildSubtask emission for v2 API [#5710](https://github.com/GoogleContainerTools/skaffold/pull/5710)
* Emit TaskEvents Protos for PortForwarding [#5689](https://github.com/GoogleContainerTools/skaffold/pull/5689)
* add host support for docker build [#5698](https://github.com/GoogleContainerTools/skaffold/pull/5698)
* Add taskevents Test, StatusCheck, and fix duplicates for Deploy [#5675](https://github.com/GoogleContainerTools/skaffold/pull/5675)
Fixes:
* Fix go module names to be unique [#5724](https://github.com/GoogleContainerTools/skaffold/pull/5724)
* Fix Helm deployment check to only retrieve deployed YAML [#5723](https://github.com/GoogleContainerTools/skaffold/pull/5723)
Updates and Refactors:
* Add `--user` flag to all minikube command invocations [#5732](https://github.com/GoogleContainerTools/skaffold/pull/5732)
* Add user flag with allowed user list to upload metrics [#5731](https://github.com/GoogleContainerTools/skaffold/pull/5731)
* Do not swallow parsing errors [#5722](https://github.com/GoogleContainerTools/skaffold/pull/5722)
* [V3] New V3 SkaffoldRunner [#5692](https://github.com/GoogleContainerTools/skaffold/pull/5692)
* Make status-check flag nillable [#5712](https://github.com/GoogleContainerTools/skaffold/pull/5712)
* Do not display `helm` warnings for multi-config projects [#5468](https://github.com/GoogleContainerTools/skaffold/pull/5468)
* [V3] Add flag as v3 entrypoint. [#5694](https://github.com/GoogleContainerTools/skaffold/pull/5694)
* Implement pflag slice value interface for image types [#5575](https://github.com/GoogleContainerTools/skaffold/pull/5575)
* upgrade schema to v2beta15 [#5700](https://github.com/GoogleContainerTools/skaffold/pull/5700)
Docs, Test, and Release Updates:
* Add Cluster Internal Service Error code along with runcontext [#5491](https://github.com/GoogleContainerTools/skaffold/pull/5491)
* Improve multi-config documentation [#5714](https://github.com/GoogleContainerTools/skaffold/pull/5714)
* fix file sync comment in examples/hot-reload/skaffold.yaml [#5693](https://github.com/GoogleContainerTools/skaffold/pull/5693)
* Fix typo [#5688](https://github.com/GoogleContainerTools/skaffold/pull/5688)
Huge thanks goes out to all of our contributors for this release:
- Aaron Prindle
- Boris Lau
- Brian de Alwis
- Gaurav
- Maggie Neterval
- Marlon Gamez
- Matthew Michihara
- Sladyn
- Tejal Desai
- Yuwen Ma
- kelsk
- wuxingzhong
# v1.22.0 Release - 04/14/2021
**Linux**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.22.0/skaffold-linux-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**macOS**
`curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.22.0/skaffold-darwin-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin`
**Windows**
https://storage.googleapis.com/skaffold/releases/v1.22.0/skaffold-windows-amd64.exe
**Docker image**
`gcr.io/k8s-skaffold/skaffold:v1.22.0`
Note: This release comes with a new config version, `v2beta14`. To upgrade your skaffold.yaml, use `skaffold fix`. If you choose not to upgrade, skaffold will auto-upgrade as best as it can.
Highlights:
* More granular control of `port-forward` options. Checkout the updated [documentation](https://skaffold.dev/docs/pipeline-stages/port-forwarding/) for details.
* `InputDigest` image tagging strategy from the [Improve taggers proposal](https://github.com/GoogleContainerTools/skaffold/blob/main/docs/design_proposals/digest-tagger.md) has landed.
New Features:
* Revise port-forward behaviour [#5554](https://github.com/GoogleContainerTools/skaffold/pull/5554)
* Add InputDigest support to CustomTemplateTagger [#5661](https://github.com/GoogleContainerTools/skaffold/pull/5661)
* Support --cache-artifacts flag for render [#5652](https://github.com/GoogleContainerTools/skaffold/pull/5652)
* Adding testing phase to Skaffold run [#5594](https://github.com/GoogleContainerTools/skaffold/pull/5594)
* Added helm remote repo example [#5640](https://github.com/GoogleContainerTools/skaffold/pull/5640)
Fixes:
* fix: test dependencies triggering retest for all artifacts [#5679](https://github.com/GoogleContainerTools/skaffold/pull/5679)
* Forwarding resources should not allocate system ports [#5670](https://github.com/GoogleContainerTools/skaffold/pull/5670)
* Make test dependencies retrieval per artifact. [#5678](https://github.com/GoogleContainerTools/skaffold/pull/5678)
* Fix `default-repo` by supporting nil as default value for flags [#5654](https://github.com/GoogleContainerTools/skaffold/pull/5654)
* [kpt deployer] Fix non-kustomize manifests not rendered issue [#5627](https://github.com/GoogleContainerTools/skaffold/pull/5627)
* fix concurrency issue in multi-config [#5646](https://github.com/GoogleContainerTools/skaffold/pull/5646)
* Fix 5301: Build dependencies for sync inherited from `required` artifacts; cache build dependencies between devloops [#5614](https://github.com/GoogleContainerTools/skaffold/pull/5614)
* Fix config line number in DEVELOPMENT.md [#5619](https://github.com/GoogleContainerTools/skaffold/pull/5619)
* fix travis ci md badge link [#5607](https://github.com/GoogleContainerTools/skaffold/pull/5607)
* helm `render` needs to handle `repo` parameter [#5676](https://github.com/GoogleContainerTools/skaffold/pull/5676)
* Add service config to leeroy-web deployment.yaml [#5630](https://github.com/GoogleContainerTools/skaffold/pull/5630)
Updates and Refactors:
* Remove deprecated {{.IMAGES}} and {{.DIGEST_}} env vars [#5605](https://github.com/GoogleContainerTools/skaffold/pull/5605)
* Adding workspace `context` parameter to `test` definitions. [#5677](https://github.com/GoogleContainerTools/skaffold/pull/5677)
* Deprecate --render-only and --render-output flags [#5644](https://github.com/GoogleContainerTools/skaffold/pull/5644)
* Emit TaskEvent messages for DevLoop, Build, and Deploy phases [#5637](https://github.com/GoogleContainerTools/skaffold/pull/5637)
* Update Jib to 3.0 and set base images [#5651](https://github.com/GoogleContainerTools/skaffold/pull/5651)
* Add Event v2 package [#5558](https://github.com/GoogleContainerTools/skaffold/pull/5558)
* Adding events for Test phase [#5573](https://github.com/GoogleContainerTools/skaffold/pull/5573)
* Add instruction to install using Scoop [#5566](https://github.com/GoogleContainerTools/skaffold/pull/5566)
* Try reducing ttl to 30 seconds [#5663](https://github.com/GoogleContainerTools/skaffold/pull/5663)
* Adapting validation for docker container network mode to include ENV_VARS [#5589](https://github.com/GoogleContainerTools/skaffold/pull/5589)
* Set `redeploy` intent only when there are rebuilt artifacts [#5553](https://github.com/GoogleContainerTools/skaffold/pull/5553)
* Add event API v2 server handler [#5622](https://github.com/GoogleContainerTools/skaffold/pull/5622)
* Reset API intents on every dev cycle to avoid queueing [#5636](https://github.com/GoogleContainerTools/skaffold/pull/5636)
* Bring survey prompt back to 10 days and every 90 days. [#5631](https://github.com/GoogleContainerTools/skaffold/pull/5631)
Docs, Test, and Release Updates:
* Document portforwarding behavior for system ports [#5680](https://github.com/GoogleContainerTools/skaffold/pull/5680)
* Updating custom test documentation [#5606](https://github.com/GoogleContainerTools/skaffold/pull/5606)
* Fix typo in docs site [#5585](https://github.com/GoogleContainerTools/skaffold/pull/5585)
Huge thanks goes out to all of our contributors for this release:
- Brian de Alwis
- Chanseok Oh
- Gaurav
- Ian Danforth
- Maggie Neterval
- Mario Fernández
- Marlon Gamez
- Mike Kamornikov
- Nick Kubala
- Parris Lucas
- Piotr Szybicki
- Priya Modali
- Tejal Desai
- Yury
- Yuwen Ma
- dhodun
# v1.21.0 Release - 03/18/2021
**Linux**