github.com/goreleaser/goreleaser@v1.25.1/www/docs/deprecations.md (about) 1 # Deprecation notices 2 3 This page is used to list deprecation notices across GoReleaser. 4 5 Deprecated options are only removed on major versions of GoReleaser. 6 7 Nevertheless, it's a good thing to keep your configuration up-to-date to prevent 8 any issues. 9 10 You can check your use of deprecated configurations by running: 11 12 ```sh 13 goreleaser check 14 ``` 15 16 ## Active deprecation notices 17 18 <!-- 19 20 Template for new deprecations: 21 22 ### property 23 24 > since yyyy-mm-dd (v1.xx) 25 26 Description. 27 28 === "Before" 29 30 ```yaml 31 foo: bar 32 ``` 33 34 === "After" 35 36 ```yaml 37 foo: bar 38 ``` 39 40 --> 41 42 ### archives.strip_parent_binary_folder 43 44 > since 2024-03-29 (v1.25) 45 46 Property was renamed to be consistent across all configurations. 47 48 === "Before" 49 50 ```yaml 51 archives: 52 - 53 strip_parent_binary_folder: true 54 ``` 55 56 === "After" 57 58 ```yaml 59 archives: 60 - 61 strip_binary_directory: true 62 ``` 63 64 ### blobs.folder 65 66 > since 2024-03-29 (v1.25) 67 68 Property was renamed to be consistent across all configurations. 69 70 === "Before" 71 72 ```yaml 73 blobs: 74 - 75 folder: foo 76 ``` 77 78 === "After" 79 80 ```yaml 81 blobs: 82 - 83 directory: foo 84 ``` 85 86 ### brews.folder 87 88 > since 2024-03-29 (v1.25) 89 90 Property was renamed to be consistent across all configurations. 91 92 === "Before" 93 94 ```yaml 95 brews: 96 - 97 folder: foo 98 ``` 99 100 === "After" 101 102 ```yaml 103 brews: 104 - 105 directory: foo 106 ``` 107 108 ### scoops.folder 109 110 > since 2024-03-29 (v1.25) 111 112 Property was renamed to be consistent across all configurations. 113 114 === "Before" 115 116 ```yaml 117 scoops: 118 - 119 folder: foo 120 ``` 121 122 === "After" 123 124 ```yaml 125 scoops: 126 - 127 directory: foo 128 ``` 129 130 ### furies.skip 131 132 > since 2024-03-03 (v1.25) 133 134 Changed to `disable` to conform with all other pipes. 135 136 === "Before" 137 138 ```yaml 139 furies: 140 - skip: true 141 ``` 142 143 === "After" 144 145 ```yaml 146 furies: 147 - disable: true 148 ``` 149 150 ### changelog.skip 151 152 > since 2024-01-14 (v1.24) 153 154 Changed to `disable` to conform with all other pipes. 155 156 === "Before" 157 158 ```yaml 159 changelog: 160 skip: true 161 ``` 162 163 === "After" 164 165 ```yaml 166 changelog: 167 disable: true 168 ``` 169 170 ### blobs.kmskey 171 172 > since 2024-01-07 (v1.24) 173 174 Changed to `kms_key` to conform with all other options. 175 176 === "Before" 177 178 ```yaml 179 blobs: 180 - kmskey: foo 181 ``` 182 183 === "After" 184 185 ```yaml 186 blobs: 187 - kms_key: foo 188 ``` 189 190 ### blobs.disableSSL 191 192 > since 2024-01-07 (v1.24) 193 194 Changed to `disable_ssl` to conform with all other options. 195 196 === "Before" 197 198 ```yaml 199 blobs: 200 - disableSSL: true 201 ``` 202 203 === "After" 204 205 ```yaml 206 blobs: 207 - disable_ssl: true 208 ``` 209 210 ### `--skip` 211 212 > since 2023-09-14 (v1.21) 213 214 The following `goreleaser release` flags were deprecated: 215 216 - `--skip-announce` 217 - `--skip-before` 218 - `--skip-docker` 219 - `--skip-ko` 220 - `--skip-publish` 221 - `--skip-sbom` 222 - `--skip-sign` 223 - `--skip-validate` 224 225 By the same token, the following `goreleaser build` flags were deprecated: 226 227 - `--skip-before` 228 - `--skip-post-hooks` 229 - `--skip-validate` 230 231 All these flags are now under a single `--skip` flag, that accepts multiple 232 values. 233 234 === "Before" 235 236 ```sh 237 goreleaser build --skip-before --skip-validate 238 goreleaser release --skip-validate --skip-publish 239 ``` 240 241 === "After" 242 243 ```sh 244 goreleaser build --skip=before,validate 245 goreleaser release --skip=validate,publish 246 247 # or 248 249 goreleaser build --skip=before --skip=validate 250 goreleaser release --skip=validate --skip=publish 251 ``` 252 253 You can check `goreleaser build --help` and `goreleaser release --help` to see 254 the valid options, and shell autocompletion should work properly as well. 255 256 ### scoops.bucket 257 258 > since 2023-06-13 (v1.19.0) 259 260 Replace `bucket` with `repository`. 261 262 === "Before" 263 264 ```yaml 265 scoops: 266 - 267 bucket: 268 - name: foo 269 owner: bar 270 ``` 271 272 === "After" 273 274 ```yaml 275 scoops: 276 - 277 repository: 278 - name: foo 279 owner: bar 280 ``` 281 282 ### krews.index 283 284 > since 2023-06-13 (v1.19.0) 285 286 Replace `index` with `repository`. 287 288 === "Before" 289 290 ```yaml 291 krews: 292 - 293 index: 294 - name: foo 295 owner: bar 296 ``` 297 298 === "After" 299 300 ```yaml 301 krews: 302 - 303 repository: 304 - name: foo 305 owner: bar 306 ``` 307 308 ### brews.tap 309 310 > since 2023-06-13 (v1.19.0) 311 312 Replace `tap` with `repository`. 313 314 === "Before" 315 316 ```yaml 317 brews: 318 - 319 tap: 320 - name: foo 321 owner: bar 322 ``` 323 324 === "After" 325 326 ```yaml 327 brews: 328 - 329 repository: 330 - name: foo 331 owner: bar 332 ``` 333 334 ### archives.rlcp 335 336 > since 2023-06-06 (v1.19.0) 337 338 This option is now default and can't be changed. You can remove it from your 339 configuration files. 340 341 See [this](#archivesrlcp_1) for more info. 342 343 ### source.rlcp 344 345 > since 2023-06-06 (v1.19.0) 346 347 This option is now default and can't be changed. You can remove it from your 348 configuration files. 349 350 See [this](#sourcerlcp_1) for more info. 351 352 ### brews.plist 353 354 > since 2023-06-06 (v1.19.0) 355 356 `plist` is deprecated by Homebrew, and now on GoReleaser too. Use `service` 357 instead. 358 359 === "Before" 360 361 ```yaml 362 brews: 363 - 364 plist: | 365 <?xml version="1.0" encoding="UTF-8"?> 366 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 367 <plist version="1.0"> 368 <dict> 369 # etc ... 370 ``` 371 372 === "After" 373 374 ```yaml 375 brews: 376 - 377 service: | 378 run [opt_bin/"mybin"] 379 keep_alive true 380 # etc ... 381 ``` 382 383 ### --debug 384 385 > since 2023-05-16 (v1.19.0) 386 387 `--debug` has been deprecated in favor of `--verbose`. 388 389 === "Before" 390 391 ```bash 392 goreleaser release --debug 393 ``` 394 395 === "After" 396 397 ```bash 398 goreleaser release --verbose 399 ``` 400 401 ### scoop 402 403 > since 2023-04-30 (v1.18.0) 404 405 GoReleaser now allows many `scoop` configurations, so it should be pluralized 406 [accordingly](/customization/scoop). 407 408 === "Before" 409 410 ```yaml 411 scoop: 412 # ... 413 ``` 414 415 === "After" 416 417 ```yaml 418 scoops: 419 - # ... 420 ``` 421 422 ### build 423 424 > since 2023-02-09 (v1.16.0) 425 426 This option was still being supported, even though undocumented, for a couple 427 of years now. It's finally time to sunset it. 428 429 Simply use the pluralized form, `builds`, according to the 430 [documentation](/customization/builds). 431 432 === "Before" 433 434 ```yaml 435 build: 436 # ... 437 ``` 438 439 === "After" 440 441 ```yaml 442 builds: 443 - # ... 444 ``` 445 446 ### --rm-dist 447 448 > since 2023-01-17 (v1.15.0) 449 450 `--rm-dist` has been deprecated in favor of `--clean`. 451 452 === "Before" 453 454 ```bash 455 goreleaser release --rm-dist 456 ``` 457 458 === "After" 459 460 ```bash 461 goreleaser release --clean 462 ``` 463 464 ### nfpms.maintainer 465 466 > since 2022-05-07 (v1.9.0) 467 468 nFPM will soon make mandatory setting the maintainer field. 469 470 === "Before" 471 472 ```yaml 473 nfpms: 474 - maintainer: '' 475 ``` 476 477 === "After" 478 479 ```yaml 480 nfpms: 481 - maintainer: 'Name <email>' 482 ``` 483 484 ## Expired deprecation notices 485 486 The following options were deprecated in the past and were already removed. 487 488 ### archives.rlcp 489 490 > since 2022-12-23 (v1.14.0), removed 2023-06-06 (v1.19.0) 491 492 This is not so much a deprecation property (yet), as it is a default behavior 493 change. 494 495 The usage of relative longest common path (`rlcp`) on the destination side of 496 archive files will be enabled by default by June 2023. Then, this option will be 497 deprecated, and you will have another 6 months (until December 2023) to remove 498 it. 499 500 For now, if you want to keep the old behavior, no action is required, but it 501 would be nice to have your opinion [here][rlcp-discuss]. 502 503 [rlcp-discuss]: https://github.com/goreleaser/goreleaser/discussions/3659 504 505 If you want to make sure your releases will keep working properly, you can 506 enable this option and test it out with 507 `goreleaser release --snapshot --clean`. 508 509 === "After" 510 511 ```yaml 512 archives: 513 - 514 rlcp: true 515 ``` 516 517 ### source.rlcp 518 519 > since 2022-12-23 (v1.14.0), removed 2023-06-06 (v1.19.0) 520 521 Same as [`archives.rlcp`](#archivesrlcp). 522 523 === "After" 524 525 ```yaml 526 source: 527 rlcp: true 528 ``` 529 530 ### nfpms.maintainer 531 532 > since 2022-05-07 (v1.9.0) 533 534 nFPM will soon make mandatory setting the maintainer field. 535 536 === "Before" 537 538 ```yaml 539 nfpms: 540 - maintainer: '' 541 ``` 542 543 === "After" 544 545 ```yaml 546 nfpms: 547 - maintainer: 'Name <email>' 548 ``` 549 550 ### archives.replacements 551 552 > since 2022-11-24 (v1.14.0), removed 2023-06-06 (v1.19.0) 553 554 The `replacements` will be removed soon from the archives section, as it was 555 never handled correctly when multiple archives were being used, and it also 556 causes confusion in other places. 557 558 You can still get the same features by abusing the `name_template` property. 559 560 === "Before" 561 562 ```yaml 563 archives: 564 - id: foo 565 name_template: '{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}' 566 replacements: 567 darwin: Darwin 568 linux: Linux 569 windows: Windows 570 386: i386 571 amd64: x86_64 572 ``` 573 574 === "After" 575 576 ```yaml 577 archives: 578 - id: foo 579 name_template: >- 580 {{- .ProjectName }}_ 581 {{- title .Os }}_ 582 {{- if eq .Arch "amd64" }}x86_64 583 {{- else if eq .Arch "386" }}i386 584 {{- else }}{{ .Arch }}{{ end }} 585 {{- if .Arm }}v{{ .Arm }}{{ end -}} 586 ``` 587 588 Those two configurations will yield the same results. 589 590 Notice that if you are using the `archives.name_template`, notice it also has a 591 `{{.Version}}` in it. Adjust the new `name_template` accordingly. 592 593 ### nfpms.replacements 594 595 > since 2022-11-24 (v1.14.0), removed 2023-06-06 (v1.19.0) 596 597 The `replacements` will be removed soon from the nFPMs section. 598 599 You can still get the same features by abusing the `file_name_template` property. 600 601 === "Before" 602 603 ```yaml 604 nfpms: 605 - id: foo 606 file_name_template: '{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}' 607 replacements: 608 darwin: Darwin 609 linux: Linux 610 windows: Windows 611 386: i386 612 amd64: x86_64 613 ``` 614 615 === "After" 616 617 ```yaml 618 nfpms: 619 - id: foo 620 file_name_template: >- 621 {{- .ProjectName }}_ 622 {{- title .Os }}_ 623 {{- if eq .Arch "amd64" }}x86_64 624 {{- else if eq .Arch "386" }}i386 625 {{- else }}{{ .Arch }}{{ end }} 626 {{- if .Arm }}v{{ .Arm }}{{ end -}} 627 ``` 628 629 Those two configurations will yield the same results. 630 631 Generally speaking, is probably best to use `{{ .ConventionalFileName }}` 632 instead of custom templates. 633 634 ### snapcrafts.replacements 635 636 > since 2022-11-24 (v1.14.0), removed 2023-06-06 (v1.19.0) 637 638 The `replacements` will be removed soon from the Snapcrafts section. 639 640 You can still get the same features by abusing the `name_template` property. 641 642 === "Before" 643 644 ```yaml 645 snapcrafts: 646 - id: foo 647 name_template: '{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}' 648 replacements: 649 darwin: Darwin 650 linux: Linux 651 windows: Windows 652 386: i386 653 amd64: x86_64 654 ``` 655 656 === "After" 657 658 ```yaml 659 snapcrafts: 660 - id: foo 661 name_template: >- 662 {{ .ProjectName }}_ 663 {{- title .Os }}_ 664 {{- if eq .Arch "amd64" }}x86_64 665 {{- else if eq .Arch "386" }}i386 666 {{- else }}{{ .Arch }}{{ end }} 667 ``` 668 669 Those two configurations will yield the same results. 670 671 Generally speaking, is probably best to use `{{ .ConventionalFileName }}` 672 instead of custom templates. 673 674 ### variables 675 676 > since 2022-01-20 (v1.4.0), removed 2023-05-01 (v1.18.0) 677 678 On [GoReleaser PRO](/pro/) custom variables should now be prefixed with `.Var`. 679 680 === "Before" 681 682 ```yaml 683 variables: 684 foo: bar 685 some_template: 'lala-{{ .foo }}' 686 ``` 687 688 === "After" 689 690 ```yaml 691 variables: 692 foo: bar 693 some_template: 'lala-{{ .Var.foo }}' 694 ``` 695 696 ### dockers.use: buildpacks 697 698 > since 2022-03-16 (v1.7.0), removed 2022-09-28 (v1.12.0) 699 700 This was removed due to some issues: 701 702 - The binary gets rebuild again during the buildpacks build; 703 - There is no ARM support. 704 705 ### rigs 706 707 > since 2022-03-21 (v1.8.0), removed 2022-08-16 (v1.11.0) 708 709 GoFish was deprecated by their authors, therefore, we're removing its 710 support from GoReleaser too. 711 712 ### nfpms.empty_folders 713 714 > since 2021-11-14 (v1.0.0), removed 2022-06-14 (v1.10.0) 715 716 nFPM empty folders is now deprecated in favor of a `dir` content type: 717 718 === "Before" 719 720 ```yaml 721 nfpms: 722 - empty_folders: 723 - /foo/bar 724 ``` 725 726 === "After" 727 728 ```yaml 729 nfpms: 730 - contents: 731 - dst: /foo/bar 732 type: dir 733 ``` 734 735 ### builds for windows/arm64 736 737 > since 2021-08-16 (v0.175.0), removed 2022-06-12 (v1.10.0) 738 739 Since Go 1.17, `windows/arm64` is a valid target. 740 741 Prior to v0.175.0, GoReleaser would just ignore this target. 742 Since in Go 1.17 it is now a valid target, GoReleaser will build it if the Go version being used is 1.17 or later. 743 744 If you want to make sure it is ignored in the future, you need to add this to your build config: 745 746 ```yaml 747 ignore: 748 - goos: windows 749 goarch: arm64 750 ``` 751 752 If you try to use new versions of GoReleaser with Go 1.16 or older, it will warn 753 about it until this deprecation warning expires, after that your build will 754 likely fail. 755 756 ### godownloader 757 758 > since 2021-10-13 (all), removed 2022-05-18 759 760 GoDownloader, the installation script generator, wasn't updated for a long time 761 and is now officially deprecated. 762 The website and all install scripts will be taken out in 6 months. 763 You can still use any of the other install methods. 764 765 This also includes `install.goreleaser.com`. 766 767 Most common tools installed via that website were probably 768 [GoReleaser](/install/) itself and 769 [golangci-lint](https://golangci-lint.run/welcome/install/). 770 771 Please follow to the check their documentation for alternative install methods. 772 773 ### dockers.use_buildx 774 775 > since 2021-06-26 (v0.172.0), removed 2022-03-16 (v1.7.0) 776 777 `use_buildx` is deprecated in favor of the more generalist `use`, since now it also allow other options in the future: 778 779 Change this: 780 781 === "Before" 782 783 ```yaml 784 dockers: 785 - 786 use_buildx: true 787 ``` 788 789 === "After" 790 791 ```yaml 792 dockers: 793 - 794 use: buildx 795 ``` 796 797 ### builds for darwin/arm64 798 799 > since 2021-02-17 (v0.157.0), removed 2022-03-16 (v1.7.0) 800 801 Since Go 1.16, `darwin/arm64` is macOS on Apple Silicon instead of `iOS`. 802 803 Prior to v0.156.0, GoReleaser would just ignore this target. 804 Since in Go 1.16 and later it is a valid target, GoReleaser will now build it if the Go version being used is 1.16 or later. 805 806 If you want to make sure it is ignored in the future, you need to add this to your build config: 807 808 ```yaml 809 ignore: 810 - goos: darwin 811 goarch: arm64 812 ``` 813 814 If you try to use new versions of GoReleaser with Go 1.15 or older, it will warn about it until this deprecation warning expires, after that your build will likely fail. 815 816 ### Skipping SemVer Validations 817 818 > since 2021-02-28 (v0.158.0), removed 2021-09-22 (v0.180.0) 819 820 GoReleaser skips SemVer validations when run with `--skip-validation` or `--snapshot`. 821 This causes other problems later, such as [invalid Linux packages](https://github.com/goreleaser/goreleaser/issues/2081). 822 Because of that, once this deprecation expires, GoReleaser will hard fail on non-semver versions, as stated on our [limitations page](https://goreleaser.com/limitations/semver/). 823 824 ### docker.builds 825 826 > since 2021-01-07 (v0.154.0), removed 2021-08-13 (v0.175.0) 827 828 `builds` is deprecated in favor of `ids`, since now it also allows to copy nfpm packages: 829 830 Change this: 831 832 === "Before" 833 834 ```yaml 835 dockers: 836 - 837 builds: ['a', 'b'] 838 ``` 839 840 === "After" 841 842 ```yaml 843 dockers: 844 - 845 ids: ['a', 'b'] 846 ``` 847 848 ### docker.binaries 849 850 > since 2021-01-07 (v0.154.0), removed 2021-08-13 (v0.175.0) 851 852 `binaries` is deprecated and now does nothing. 853 If you want to filter something out, use the `ids` property. 854 855 Change this: 856 857 === "Before" 858 859 ```yaml 860 dockers: 861 - 862 binaries: ['foo'] 863 ``` 864 865 === "After" 866 867 ```yaml 868 dockers: 869 - 870 ids: ['foo'] 871 ``` 872 873 ### nfpms.files 874 875 > since 2020-12-21 (v0.149.0), removed 2021-07-26 (v0.172.0) 876 877 `files` is deprecated in favor of `contents` (check [this page](https://goreleaser.com/customization/nfpm/) for more details): 878 879 Change this: 880 881 === "Before" 882 883 ```yaml 884 nfpms: 885 - 886 files: 887 foo: bar 888 ``` 889 890 === "After" 891 892 ```yaml 893 nfpms: 894 - 895 contents: 896 - src: foo 897 dst: bar 898 ``` 899 900 ### nfpms.config_files 901 902 > since 2020-12-21 (v0.149.0), removed 2021-07-26 (v0.172.0) 903 904 `config_files` is deprecated in favor of `contents` (check [this page](https://goreleaser.com/customization/nfpm/) for more details): 905 906 Change this: 907 908 === "Before" 909 910 ```yaml 911 nfpms: 912 - 913 config_files: 914 foo: bar 915 ``` 916 917 === "After" 918 919 ```yaml 920 nfpms: 921 - 922 contents: 923 - src: foo 924 dst: bar 925 type: config 926 ``` 927 928 ### nfpms.symlinks 929 930 > since 2020-12-21 (v0.149.0), removed 2021-07-26 (v0.172.0) 931 932 `symlinks` is deprecated in favor of `contents` (check [this page](https://goreleaser.com/customization/nfpm/) for more details): 933 934 Change this: 935 936 === "Before" 937 938 ```yaml 939 nfpms: 940 - 941 symlinks: 942 foo: bar 943 ``` 944 945 === "After" 946 947 ```yaml 948 nfpms: 949 - 950 contents: 951 - src: foo 952 dst: bar 953 type: symlink 954 ``` 955 956 ### nfpms.rpm.ghost_files 957 958 > since 2020-12-21 (v0.149.0), removed 2021-07-26 (v0.172.0) 959 960 `rpm.ghost_files` is deprecated in favor of `contents` (check [this page](https://goreleaser.com/customization/nfpm/) for more details): 961 962 Change this: 963 964 === "Before" 965 966 ```yaml 967 nfpms: 968 - 969 rpm: 970 ghost_files: 971 - foo 972 ``` 973 974 === "After" 975 976 ```yaml 977 nfpms: 978 - 979 contents: 980 - dst: bar 981 type: ghost 982 packager: rpm # optional 983 ``` 984 985 ### nfpms.rpm.config_noreplace_files 986 987 > since 2020-12-21 (v0.149.0), removed 2021-07-26 (v0.172.0) 988 989 `rpm.config_noreplace_files` is deprecated in favor of `contents` (check [this page](https://goreleaser.com/customization/nfpm/) for more details): 990 991 Change this: 992 993 === "Before" 994 995 ```yaml 996 nfpms: 997 - 998 rpm: 999 config_noreplace_files: 1000 foo: bar 1001 ``` 1002 1003 === "After" 1004 1005 ```yaml 1006 nfpms: 1007 - 1008 contents: 1009 - src: foo 1010 dst: bar 1011 type: config|noreplace 1012 packager: rpm # optional 1013 ``` 1014 1015 ### nfpms.deb.version_metadata 1016 1017 > since 2020-12-21 (v0.149.0), removed 2021-07-26 (v0.172.0) 1018 1019 `deb.version_metadata` is deprecated in favor of `version_metadata` (check [this page](https://goreleaser.com/customization/nfpm/) for more details): 1020 1021 Change this: 1022 1023 === "Before" 1024 1025 ```yaml 1026 nfpms: 1027 - 1028 deb: 1029 version_metadata: beta1 1030 ``` 1031 1032 === "After" 1033 1034 ```yaml 1035 nfpms: 1036 - 1037 version_metadata: beta1 1038 ``` 1039 1040 ### brews.github 1041 1042 > since 2020-07-06 (v0.139.0), removed 2021-01-04 (v0.152.0) 1043 1044 GitHub section was deprecated in favour of `tap` which 1045 reflects Homebrew's naming convention. GitHub will be picked 1046 automatically when GitHub token is passed. 1047 1048 Change this: 1049 1050 === "Before" 1051 1052 ```yaml 1053 brews: 1054 - 1055 github: 1056 owner: goreleaser 1057 name: homebrew-tap 1058 ``` 1059 1060 === "After" 1061 1062 ```yaml 1063 brews: 1064 - 1065 tap: 1066 owner: goreleaser 1067 name: homebrew-tap 1068 ``` 1069 1070 ### brews.gitlab 1071 1072 > since 2020-07-06 (v0.139.0), removed 2021-01-04 (v0.152.0) 1073 1074 GitLab section was deprecated in favour of `tap` which 1075 reflects Homebrew's naming convention. GitLab will be picked 1076 automatically when GitLab token is passed. 1077 1078 Change this: 1079 1080 === "Before" 1081 1082 ```yaml 1083 brews: 1084 - 1085 gitlab: 1086 owner: goreleaser 1087 name: homebrew-tap 1088 ``` 1089 1090 === "After" 1091 1092 ```yaml 1093 brews: 1094 - 1095 tap: 1096 owner: goreleaser 1097 name: homebrew-tap 1098 ``` 1099 1100 ### puts 1101 1102 > since 2019-11-15, removed 2020-04-14 (v0.132.0) 1103 1104 The HTTP upload support was extended to also accept `POST` as a method, 1105 so the name `puts` kind of lost its meaning. 1106 1107 === "Before" 1108 1109 ```yaml 1110 puts: 1111 - ... 1112 ``` 1113 1114 === "After" 1115 1116 ```yaml 1117 uploads: 1118 - ... 1119 ``` 1120 1121 Also note that secrets environment variable name prefixes have changed from 1122 `PUT_` to `UPLOAD_`. 1123 1124 ### nfpms.name_template 1125 1126 > since 2019-11-15, removed 2020-04-14 (v0.132.0) 1127 1128 The `name_template` field was deprecated in favor of a more clear one, 1129 `file_name_template`. 1130 1131 === "Before" 1132 1133 ```yaml 1134 nfpms: 1135 - name_template: foo 1136 ``` 1137 1138 === "After" 1139 1140 ```yaml 1141 nfpms: 1142 - file_name_template: foo 1143 ``` 1144 1145 ### blob 1146 1147 > since 2019-08-02, removed 2020-03-22 (v0.130.0) 1148 1149 Blob was deprecated in favor of its plural form. 1150 It was already accepting multiple inputs, but its pluralized now so its more 1151 clear. 1152 1153 === "Before" 1154 1155 ```yaml 1156 blob: 1157 # etc 1158 ``` 1159 1160 === "After" 1161 1162 ```yaml 1163 blobs: 1164 # etc 1165 ``` 1166 1167 ### sign 1168 1169 > since 2019-07-20, removed 2020-03-22 (v0.130.0) 1170 1171 Sign was deprecated in favor of its plural form. 1172 1173 === "Before" 1174 1175 ```yaml 1176 sign: 1177 # etc 1178 ``` 1179 1180 === "After" 1181 1182 ```yaml 1183 signs: 1184 - 1185 # etc 1186 ``` 1187 1188 ### brew 1189 1190 > since 2019-06-09, removed 2020-01-26 (v0.125.0) 1191 1192 Brew was deprecated in favor of its plural form. 1193 1194 Change this: 1195 1196 === "Before" 1197 1198 ```yaml 1199 brew: 1200 # etc 1201 ``` 1202 1203 === "After" 1204 1205 ```yaml 1206 brews: 1207 - 1208 # etc 1209 ``` 1210 1211 ### s3 1212 1213 > since 2019-06-09, removed 2020-01-07 (v0.125.0) 1214 1215 S3 was deprecated in favor of the new `blob`, which supports S3, Azure Blob and 1216 GCS. 1217 1218 === "Before" 1219 1220 ```yaml 1221 s3: 1222 - 1223 # etc 1224 ``` 1225 1226 === "After" 1227 1228 ```yaml 1229 blobs: 1230 - 1231 provider: s3 1232 # etc 1233 ``` 1234 1235 ACLs should be set on the bucket, the `acl` option does not exist anymore. 1236 1237 ### archive 1238 1239 > since 2019-04-16, removed 2019-12-27 (v0.124.0) 1240 1241 We now allow multiple archives, so the `archive` statement will be removed. 1242 1243 === "Before" 1244 1245 ```yaml 1246 archive: 1247 format: zip 1248 ``` 1249 1250 === "After" 1251 1252 ```yaml 1253 archives: 1254 - id: foo 1255 format: zip 1256 ``` 1257 1258 ### snapcraft 1259 1260 > since 2019-05-27, removed 2019-12-27 (v0.124.0) 1261 1262 We now allow multiple Snapcraft configs, so the `snapcraft` statement will be removed. 1263 1264 === "Before" 1265 1266 ```yaml 1267 snapcraft: 1268 publish: true 1269 # ... 1270 ``` 1271 1272 === "After" 1273 1274 ```yaml 1275 snapcrafts: 1276 - 1277 publish: true 1278 # ... 1279 ``` 1280 1281 ### nfpm 1282 1283 > since 2019-05-07, removed 2019-12-27 (v0.124.0) 1284 1285 We now allow multiple NFPM config, so the `nfpm` statement will be removed. 1286 1287 === "Before" 1288 1289 ```yaml 1290 nfpm: 1291 formats: 1292 - deb 1293 ``` 1294 1295 === "After" 1296 1297 ```yaml 1298 nfpms: 1299 - 1300 formats: 1301 - deb 1302 ``` 1303 1304 ### docker.binary 1305 1306 > since 2018-10-01, removed 2019-08-02 (v0.114.0) 1307 1308 You can now create a Docker image with multiple binaries. 1309 1310 === "Before" 1311 1312 ```yaml 1313 dockers: 1314 - image: foo/bar 1315 binary: foo 1316 ``` 1317 1318 === "After" 1319 1320 ```yaml 1321 dockers: 1322 - image: foo/bar 1323 binaries: 1324 - foo 1325 ``` 1326 1327 ### docker.image 1328 1329 > since 2018-10-20, removed 2019-08-02 (v0.114.0) 1330 1331 This property was deprecated in favor of more flexible `image_templates`. 1332 The idea is to be able to define several images and tags using templates instead of just one image with tag templates. 1333 This flexibility allows images to be pushed to multiple registries. 1334 1335 === "Before" 1336 1337 ```yaml 1338 dockers: 1339 - image: foo/bar 1340 tag_templates: 1341 - '{{ .Tag }}' 1342 ``` 1343 1344 === "After" 1345 1346 ```yaml 1347 dockers: 1348 - image_templates: 1349 - 'foo/bar:{{ .Tag }}' 1350 ``` 1351 1352 ### docker.tag_templates 1353 1354 > since 2018-10-20, removed 2019-08-02 (v0.114.0) 1355 1356 This property was deprecated in favor of more flexible `image_templates`. 1357 The idea is to be able to define several images and tags using templates instead of just one image with tag templates. 1358 1359 === "Before" 1360 1361 ```yaml 1362 dockers: 1363 - image: foo/bar 1364 tag_templates: 1365 - '{{ .Tag }}' 1366 ``` 1367 1368 === "After" 1369 1370 ```yaml 1371 dockers: 1372 - image_templates: 1373 - 'foo/bar:{{ .Tag }}' 1374 ``` 1375 1376 ### git.short_hash 1377 1378 > since 2018-10-03, removed 2019-01-19 (v0.98.0) 1379 1380 This property was being used to tell GoReleaser to use short git hashes 1381 instead of the full ones. This has been removed in favor of specific 1382 template variables (`.FullCommit` and `.ShortCommit`). 1383 1384 === "Before" 1385 1386 ```yaml 1387 git: 1388 short_hash: true 1389 1390 fake: 1391 foo_template: 'blah {{ .Commit }}' 1392 ``` 1393 1394 === "After" 1395 1396 ```yaml 1397 fake: 1398 foo_template: 'blah {{ .ShortCommit }}' 1399 ``` 1400 1401 ### fpm 1402 1403 > since 2018-02-17, removed 2017-08-15 (v0.83.0) 1404 1405 FPM is deprecated in favor of nfpm, which is a simpler alternative written 1406 in Go. The objective is to remove the ruby dependency thus simplify the 1407 CI/CD pipelines. 1408 1409 Just replace the `fpm` keyword by `nfpm` in your `.goreleaser.yaml` file. 1410 1411 === "Before" 1412 1413 ```yaml 1414 fpm: 1415 # ... 1416 ``` 1417 1418 === "After" 1419 1420 ```yaml 1421 nfpm: 1422 # ... 1423 ``` 1424 1425 ### docker.tag_template 1426 1427 > since 2018-01-19, removed 2017-08-15 (v0.83.0) 1428 1429 This property was deprecated in favor of the pluralized `tag_templates`. 1430 The idea is to be able to define several tags instead of just one. 1431 1432 === "Before" 1433 1434 ```yaml 1435 dockers: 1436 - image: foo/bar 1437 tag_template: '{{ .Tag }}' 1438 ``` 1439 1440 === "After" 1441 1442 ```yaml 1443 dockers: 1444 - image: foo/bar 1445 tag_templates: 1446 - '{{ .Tag }}' 1447 ``` 1448 1449 ### docker.latest 1450 1451 > since 2018-01-19, removed 2017-08-15 (v0.83.0) 1452 1453 The `latest` field in Docker config is deprecated in favor of the newer 1454 `tag_templates` field. 1455 1456 === "Before" 1457 1458 ```yaml 1459 dockers: 1460 - image: foo/bar 1461 latest: true 1462 ``` 1463 1464 === "After" 1465 1466 ```yaml 1467 dockers: 1468 - image: foo/bar 1469 tag_templates: 1470 - '{{ .Tag }}' 1471 - latest 1472 ```