2021-10-30 09:50:23 -03:00
# Deprecation notices
2018-02-17 12:16:06 -02:00
2020-05-12 09:21:27 -03:00
This page is used to list deprecation notices across GoReleaser.
2018-02-17 13:43:29 -02:00
2024-01-07 15:10:36 -03:00
Deprecated options are only removed on major versions of GoReleaser.
Nevertheless, it's a good thing to keep your configuration up-to-date to prevent
any issues.
2018-08-15 09:56:49 -03:00
2019-08-02 16:37:50 -03:00
You can check your use of deprecated configurations by running:
2020-08-14 18:13:02 -03:00
```sh
goreleaser check
2019-08-02 16:37:50 -03:00
```
2019-01-19 18:24:04 -02:00
## Active deprecation notices
2018-08-15 09:56:49 -03:00
2024-05-25 14:09:49 -03:00
None so far!
2021-06-26 22:19:46 +00:00
<!--
Template for new deprecations:
### property
2024-04-01 10:01:56 -03:00
> since yyyy-mm-dd (v1.xx)
2021-06-26 22:19:46 +00:00
Description.
=== "Before"
2024-01-14 15:55:55 -03:00
```yaml
2021-06-26 22:19:46 +00:00
foo: bar
```
=== "After"
2023-06-06 01:02:40 -03:00
2024-01-14 15:55:55 -03:00
```yaml
2021-06-26 22:19:46 +00:00
foo: bar
```
-->
2021-06-26 16:36:31 -03:00
2024-05-25 14:09:49 -03:00
## Removed in v2
2024-04-01 10:01:56 -03:00
### archives.strip_parent_binary_folder
2024-05-25 14:09:49 -03:00
> since 2024-03-29 (v1.25), removed 2024-05-26 (v2.0)
2024-04-01 10:01:56 -03:00
Property was renamed to be consistent across all configurations.
=== "Before"
```yaml
archives:
-
strip_parent_binary_folder: true
```
=== "After"
```yaml
archives:
-
strip_binary_directory: true
```
### blobs.folder
2024-05-25 14:09:49 -03:00
> since 2024-03-29 (v1.25), removed 2024-05-26 (v2.0)
2024-04-01 10:01:56 -03:00
Property was renamed to be consistent across all configurations.
=== "Before"
```yaml
blobs:
-
folder: foo
```
=== "After"
```yaml
blobs:
-
directory: foo
```
### brews.folder
2024-05-25 14:09:49 -03:00
> since 2024-03-29 (v1.25), removed 2024-05-26 (v2.0)
2024-04-01 10:01:56 -03:00
Property was renamed to be consistent across all configurations.
=== "Before"
```yaml
brews:
-
2024-04-04 09:51:35 +08:00
folder: foo
2024-04-01 10:01:56 -03:00
```
=== "After"
```yaml
brews:
-
directory: foo
```
### scoops.folder
2024-05-25 14:09:49 -03:00
> since 2024-03-29 (v1.25), removed 2024-05-26 (v2.0)
2024-04-01 10:01:56 -03:00
Property was renamed to be consistent across all configurations.
=== "Before"
```yaml
scoops:
-
2024-04-04 09:51:35 +08:00
folder: foo
2024-04-01 10:01:56 -03:00
```
=== "After"
```yaml
scoops:
-
directory: foo
```
2024-03-03 11:13:18 -03:00
### furies.skip
2024-05-25 14:09:49 -03:00
> since 2024-03-03 (v1.25), removed 2024-05-26 (v2.0)
2024-03-03 11:13:18 -03:00
Changed to `disable` to conform with all other pipes.
=== "Before"
```yaml
furies:
- skip: true
```
=== "After"
```yaml
furies:
- disable: true
```
2024-01-14 15:55:55 -03:00
### changelog.skip
2024-05-25 14:09:49 -03:00
> since 2024-01-14 (v1.24), removed 2024-05-26 (v2.0)
2024-01-14 15:55:55 -03:00
Changed to `disable` to conform with all other pipes.
=== "Before"
```yaml
changelog:
skip: true
```
=== "After"
```yaml
changelog:
disable: true
```
2024-01-07 15:09:13 -03:00
### blobs.kmskey
2024-05-25 14:09:49 -03:00
> since 2024-01-07 (v1.24), removed 2024-05-26 (v2.0)
2024-01-07 15:09:13 -03:00
Changed to `kms_key` to conform with all other options.
=== "Before"
2024-01-14 15:55:55 -03:00
```yaml
2024-01-07 15:09:13 -03:00
blobs:
- kmskey: foo
```
=== "After"
2024-01-14 15:55:55 -03:00
```yaml
2024-01-07 15:09:13 -03:00
blobs:
- kms_key: foo
```
2024-01-07 14:26:10 -03:00
### blobs.disableSSL
2024-05-25 14:09:49 -03:00
> since 2024-01-07 (v1.24), removed 2024-05-26 (v2.0)
2024-01-07 14:26:10 -03:00
Changed to `disable_ssl` to conform with all other options.
=== "Before"
2024-01-14 15:55:55 -03:00
```yaml
2024-01-07 14:26:10 -03:00
blobs:
- disableSSL: true
```
=== "After"
2024-01-14 15:55:55 -03:00
```yaml
2024-01-07 14:26:10 -03:00
blobs:
- disable_ssl: true
```
2023-09-16 17:01:20 -03:00
### `--skip`
2024-05-25 14:09:49 -03:00
> since 2023-09-14 (v1.21), removed 2024-05-26 (v2.0)
2023-09-16 17:01:20 -03:00
The following `goreleaser release` flags were deprecated:
- `--skip-announce`
- `--skip-before`
- `--skip-docker`
- `--skip-ko`
- `--skip-publish`
- `--skip-sbom`
- `--skip-sign`
- `--skip-validate`
By the same token, the following `goreleaser build` flags were deprecated:
- `--skip-before`
- `--skip-post-hooks`
- `--skip-validate`
All these flags are now under a single `--skip` flag, that accepts multiple
values.
=== "Before"
```sh
goreleaser build --skip-before --skip-validate
goreleaser release --skip-validate --skip-publish
```
=== "After"
```sh
goreleaser build --skip=before,validate
goreleaser release --skip=validate,publish
# or
goreleaser build --skip=before --skip=validate
goreleaser release --skip=validate --skip=publish
```
You can check `goreleaser build --help` and `goreleaser release --help` to see
the valid options, and shell autocompletion should work properly as well.
2023-06-14 00:13:21 -03:00
### scoops.bucket
2024-05-25 14:09:49 -03:00
> since 2023-06-13 (v1.19.0), removed 2024-05-26 (v2.0)
2023-06-14 00:13:21 -03:00
2023-07-25 18:58:28 +08:00
Replace `bucket` with `repository` .
2023-06-14 00:13:21 -03:00
=== "Before"
```yaml
scoops:
-
bucket:
- name: foo
owner: bar
```
=== "After"
```yaml
scoops:
-
repository:
- name: foo
owner: bar
```
### krews.index
2024-05-25 14:09:49 -03:00
> since 2023-06-13 (v1.19.0), removed 2024-05-26 (v2.0)
2023-06-14 00:13:21 -03:00
Replace `index` with `repository` .
=== "Before"
```yaml
krews:
-
index:
- name: foo
owner: bar
```
=== "After"
```yaml
krews:
-
repository:
- name: foo
owner: bar
```
### brews.tap
2024-05-25 14:09:49 -03:00
> since 2023-06-13 (v1.19.0), removed 2024-05-26 (v2.0)
2023-06-14 00:13:21 -03:00
Replace `tap` with `repository` .
=== "Before"
```yaml
brews:
-
tap:
- name: foo
owner: bar
```
=== "After"
```yaml
brews:
-
repository:
- name: foo
owner: bar
```
2023-06-06 13:54:43 -03:00
### archives.rlcp
2024-05-25 14:09:49 -03:00
> since 2023-06-06 (v1.19.0), removed 2024-05-26 (v2.0)
2023-06-06 13:54:43 -03:00
This option is now default and can't be changed. You can remove it from your
configuration files.
See [this ](#archivesrlcp_1 ) for more info.
### source.rlcp
2024-05-25 14:09:49 -03:00
> since 2023-06-06 (v1.19.0), removed 2024-05-26 (v2.0)
2023-06-06 13:54:43 -03:00
This option is now default and can't be changed. You can remove it from your
configuration files.
See [this ](#sourcerlcp_1 ) for more info.
2023-06-06 01:02:40 -03:00
### brews.plist
2024-05-25 14:09:49 -03:00
> since 2023-06-06 (v1.19.0), removed 2024-05-26 (v2.0)
2023-06-06 01:02:40 -03:00
`plist` is deprecated by Homebrew, and now on GoReleaser too. Use `service`
instead.
=== "Before"
```yaml
brews:
-
plist: |
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
< plist version = "1.0" >
< dict >
# etc ...
```
=== "After"
```yaml
brews:
-
service: |
run [opt_bin/"mybin"]
keep_alive true
# etc ...
```
feat: better archives relative paths (#3656)
with this patch, a config like:
```yaml
archives:
- format: tar.gz
# this name template makes the OS and Arch compatible with the results of uname.
name_template: >-
{{ .ProjectName }}_
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
{{- if .Arm }}v{{ .Arm }}{{ end }}
rlcp: true
files:
- src: "build/**/*"
dst: .
nfpms:
- package_name: foo
contents:
- src: "build/**/*"
dst: usr/share/foo
formats:
- apk
```
will eval this:
<img width="1384" alt="CleanShot 2022-12-21 at 22 21 00@2x"
src="https://user-images.githubusercontent.com/245435/209034244-7c31b5f7-cfcd-4825-bb2f-7dd463c5286a.png">
as much as I would like to make this the default, it would be a breaking
change, so we really can't do it.
If `dst` is empty, it'll have the same behavior as before (no rlcp), and
if `strip_parent` is set, it will also still have the same behavior.
Finally, if the format is binary, `rlcp` is ignored too (as it doesn't
make sense).
So, this only changes if:
- your format is not binary; and
- you have files with `src` and `dst` set
Then, goreleaser will warn you to set `rlcp: true`.
## todo
- [x] docs
- [x] more tests probably
- [x] any ideas for a better name for the new config option?
fixes #3655
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-12-27 17:42:55 -03:00
2023-05-27 00:18:39 -03:00
### --debug
2024-05-25 14:09:49 -03:00
> since 2023-05-16 (v1.19.0), removed 2024-05-26 (v2.0)
2023-05-27 00:18:39 -03:00
`--debug` has been deprecated in favor of `--verbose` .
=== "Before"
```bash
goreleaser release --debug
```
=== "After"
```bash
goreleaser release --verbose
```
2023-04-30 21:29:36 -03:00
### scoop
2024-05-25 14:09:49 -03:00
> since 2023-04-30 (v1.18.0), removed 2024-05-26 (v2.0)
2023-04-30 21:29:36 -03:00
GoReleaser now allows many `scoop` configurations, so it should be pluralized
[accordingly ](/customization/scoop ).
=== "Before"
2024-01-14 15:55:55 -03:00
```yaml
2023-04-30 21:29:36 -03:00
scoop:
# ...
```
=== "After"
2023-07-08 10:32:51 -04:00
2024-01-14 15:55:55 -03:00
```yaml
2023-04-30 21:29:36 -03:00
scoops:
- # ...
2023-07-08 10:32:51 -04:00
```
2023-04-30 21:29:36 -03:00
2023-02-09 08:56:37 -03:00
### build
2024-05-25 14:09:49 -03:00
> since 2023-02-09 (v1.16.0), removed 2024-05-26 (v2.0)
2023-02-09 08:56:37 -03:00
This option was still being supported, even though undocumented, for a couple
of years now. It's finally time to sunset it.
Simply use the pluralized form, `builds` , according to the
[documentation ](/customization/builds ).
=== "Before"
2024-01-14 15:55:55 -03:00
```yaml
2023-02-09 08:56:37 -03:00
build:
# ...
```
=== "After"
2023-06-06 01:02:40 -03:00
2024-01-14 15:55:55 -03:00
```yaml
2023-02-09 08:56:37 -03:00
builds:
- # ...
```
2023-01-20 23:47:08 -03:00
### --rm-dist
2024-05-25 14:09:49 -03:00
> since 2023-01-17 (v1.15.0), removed 2024-05-26 (v2.0)
2023-01-20 23:47:08 -03:00
2023-01-30 15:56:40 -08:00
`--rm-dist` has been deprecated in favor of `--clean` .
2023-01-20 23:47:08 -03:00
=== "Before"
```bash
2023-05-27 00:18:39 -03:00
goreleaser release --rm-dist
2023-01-20 23:47:08 -03:00
```
=== "After"
2023-01-30 15:56:40 -08:00
2023-01-20 23:47:08 -03:00
```bash
2023-05-27 00:18:39 -03:00
goreleaser release --clean
2023-01-20 23:47:08 -03:00
```
2023-06-06 13:54:43 -03:00
### nfpms.maintainer
2024-05-25 14:09:49 -03:00
> since 2022-05-07 (v1.9.0), removed 2024-05-26 (v2.0)
2023-06-06 13:54:43 -03:00
nFPM will soon make mandatory setting the maintainer field.
=== "Before"
```yaml
nfpms:
- maintainer: ''
```
=== "After"
```yaml
nfpms:
- maintainer: 'Name < email > '
```
The following options were deprecated in the past and were already removed.
2024-05-25 14:09:49 -03:00
## Removed in v1
feat: better archives relative paths (#3656)
with this patch, a config like:
```yaml
archives:
- format: tar.gz
# this name template makes the OS and Arch compatible with the results of uname.
name_template: >-
{{ .ProjectName }}_
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
{{- if .Arm }}v{{ .Arm }}{{ end }}
rlcp: true
files:
- src: "build/**/*"
dst: .
nfpms:
- package_name: foo
contents:
- src: "build/**/*"
dst: usr/share/foo
formats:
- apk
```
will eval this:
<img width="1384" alt="CleanShot 2022-12-21 at 22 21 00@2x"
src="https://user-images.githubusercontent.com/245435/209034244-7c31b5f7-cfcd-4825-bb2f-7dd463c5286a.png">
as much as I would like to make this the default, it would be a breaking
change, so we really can't do it.
If `dst` is empty, it'll have the same behavior as before (no rlcp), and
if `strip_parent` is set, it will also still have the same behavior.
Finally, if the format is binary, `rlcp` is ignored too (as it doesn't
make sense).
So, this only changes if:
- your format is not binary; and
- you have files with `src` and `dst` set
Then, goreleaser will warn you to set `rlcp: true`.
## todo
- [x] docs
- [x] more tests probably
- [x] any ideas for a better name for the new config option?
fixes #3655
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-12-27 17:42:55 -03:00
### archives.rlcp
2023-06-06 13:54:43 -03:00
> since 2022-12-23 (v1.14.0), removed 2023-06-06 (v1.19.0)
feat: better archives relative paths (#3656)
with this patch, a config like:
```yaml
archives:
- format: tar.gz
# this name template makes the OS and Arch compatible with the results of uname.
name_template: >-
{{ .ProjectName }}_
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
{{- if .Arm }}v{{ .Arm }}{{ end }}
rlcp: true
files:
- src: "build/**/*"
dst: .
nfpms:
- package_name: foo
contents:
- src: "build/**/*"
dst: usr/share/foo
formats:
- apk
```
will eval this:
<img width="1384" alt="CleanShot 2022-12-21 at 22 21 00@2x"
src="https://user-images.githubusercontent.com/245435/209034244-7c31b5f7-cfcd-4825-bb2f-7dd463c5286a.png">
as much as I would like to make this the default, it would be a breaking
change, so we really can't do it.
If `dst` is empty, it'll have the same behavior as before (no rlcp), and
if `strip_parent` is set, it will also still have the same behavior.
Finally, if the format is binary, `rlcp` is ignored too (as it doesn't
make sense).
So, this only changes if:
- your format is not binary; and
- you have files with `src` and `dst` set
Then, goreleaser will warn you to set `rlcp: true`.
## todo
- [x] docs
- [x] more tests probably
- [x] any ideas for a better name for the new config option?
fixes #3655
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-12-27 17:42:55 -03:00
This is not so much a deprecation property (yet), as it is a default behavior
change.
The usage of relative longest common path (`rlcp` ) on the destination side of
archive files will be enabled by default by June 2023. Then, this option will be
deprecated, and you will have another 6 months (until December 2023) to remove
it.
For now, if you want to keep the old behavior, no action is required, but it
would be nice to have your opinion [here][rlcp-discuss].
[rlcp-discuss]: https://github.com/goreleaser/goreleaser/discussions/3659
If you want to make sure your releases will keep working properly, you can
enable this option and test it out with
2023-01-30 23:06:46 -03:00
`goreleaser release --snapshot --clean` .
feat: better archives relative paths (#3656)
with this patch, a config like:
```yaml
archives:
- format: tar.gz
# this name template makes the OS and Arch compatible with the results of uname.
name_template: >-
{{ .ProjectName }}_
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
{{- if .Arm }}v{{ .Arm }}{{ end }}
rlcp: true
files:
- src: "build/**/*"
dst: .
nfpms:
- package_name: foo
contents:
- src: "build/**/*"
dst: usr/share/foo
formats:
- apk
```
will eval this:
<img width="1384" alt="CleanShot 2022-12-21 at 22 21 00@2x"
src="https://user-images.githubusercontent.com/245435/209034244-7c31b5f7-cfcd-4825-bb2f-7dd463c5286a.png">
as much as I would like to make this the default, it would be a breaking
change, so we really can't do it.
If `dst` is empty, it'll have the same behavior as before (no rlcp), and
if `strip_parent` is set, it will also still have the same behavior.
Finally, if the format is binary, `rlcp` is ignored too (as it doesn't
make sense).
So, this only changes if:
- your format is not binary; and
- you have files with `src` and `dst` set
Then, goreleaser will warn you to set `rlcp: true`.
## todo
- [x] docs
- [x] more tests probably
- [x] any ideas for a better name for the new config option?
fixes #3655
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-12-27 17:42:55 -03:00
=== "After"
2023-06-06 01:02:40 -03:00
2024-01-14 15:55:55 -03:00
```yaml
feat: better archives relative paths (#3656)
with this patch, a config like:
```yaml
archives:
- format: tar.gz
# this name template makes the OS and Arch compatible with the results of uname.
name_template: >-
{{ .ProjectName }}_
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
{{- if .Arm }}v{{ .Arm }}{{ end }}
rlcp: true
files:
- src: "build/**/*"
dst: .
nfpms:
- package_name: foo
contents:
- src: "build/**/*"
dst: usr/share/foo
formats:
- apk
```
will eval this:
<img width="1384" alt="CleanShot 2022-12-21 at 22 21 00@2x"
src="https://user-images.githubusercontent.com/245435/209034244-7c31b5f7-cfcd-4825-bb2f-7dd463c5286a.png">
as much as I would like to make this the default, it would be a breaking
change, so we really can't do it.
If `dst` is empty, it'll have the same behavior as before (no rlcp), and
if `strip_parent` is set, it will also still have the same behavior.
Finally, if the format is binary, `rlcp` is ignored too (as it doesn't
make sense).
So, this only changes if:
- your format is not binary; and
- you have files with `src` and `dst` set
Then, goreleaser will warn you to set `rlcp: true`.
## todo
- [x] docs
- [x] more tests probably
- [x] any ideas for a better name for the new config option?
fixes #3655
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-12-27 17:42:55 -03:00
archives:
-
rlcp: true
```
### source.rlcp
2023-06-06 13:54:43 -03:00
> since 2022-12-23 (v1.14.0), removed 2023-06-06 (v1.19.0)
feat: better archives relative paths (#3656)
with this patch, a config like:
```yaml
archives:
- format: tar.gz
# this name template makes the OS and Arch compatible with the results of uname.
name_template: >-
{{ .ProjectName }}_
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
{{- if .Arm }}v{{ .Arm }}{{ end }}
rlcp: true
files:
- src: "build/**/*"
dst: .
nfpms:
- package_name: foo
contents:
- src: "build/**/*"
dst: usr/share/foo
formats:
- apk
```
will eval this:
<img width="1384" alt="CleanShot 2022-12-21 at 22 21 00@2x"
src="https://user-images.githubusercontent.com/245435/209034244-7c31b5f7-cfcd-4825-bb2f-7dd463c5286a.png">
as much as I would like to make this the default, it would be a breaking
change, so we really can't do it.
If `dst` is empty, it'll have the same behavior as before (no rlcp), and
if `strip_parent` is set, it will also still have the same behavior.
Finally, if the format is binary, `rlcp` is ignored too (as it doesn't
make sense).
So, this only changes if:
- your format is not binary; and
- you have files with `src` and `dst` set
Then, goreleaser will warn you to set `rlcp: true`.
## todo
- [x] docs
- [x] more tests probably
- [x] any ideas for a better name for the new config option?
fixes #3655
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-12-27 17:42:55 -03:00
Same as [`archives.rlcp` ](#archivesrlcp ).
=== "After"
2023-06-06 01:02:40 -03:00
2024-01-14 15:55:55 -03:00
```yaml
feat: better archives relative paths (#3656)
with this patch, a config like:
```yaml
archives:
- format: tar.gz
# this name template makes the OS and Arch compatible with the results of uname.
name_template: >-
{{ .ProjectName }}_
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
{{- if .Arm }}v{{ .Arm }}{{ end }}
rlcp: true
files:
- src: "build/**/*"
dst: .
nfpms:
- package_name: foo
contents:
- src: "build/**/*"
dst: usr/share/foo
formats:
- apk
```
will eval this:
<img width="1384" alt="CleanShot 2022-12-21 at 22 21 00@2x"
src="https://user-images.githubusercontent.com/245435/209034244-7c31b5f7-cfcd-4825-bb2f-7dd463c5286a.png">
as much as I would like to make this the default, it would be a breaking
change, so we really can't do it.
If `dst` is empty, it'll have the same behavior as before (no rlcp), and
if `strip_parent` is set, it will also still have the same behavior.
Finally, if the format is binary, `rlcp` is ignored too (as it doesn't
make sense).
So, this only changes if:
- your format is not binary; and
- you have files with `src` and `dst` set
Then, goreleaser will warn you to set `rlcp: true`.
## todo
- [x] docs
- [x] more tests probably
- [x] any ideas for a better name for the new config option?
fixes #3655
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-12-27 17:42:55 -03:00
source:
rlcp: true
```
2023-06-06 11:46:02 -03:00
### nfpms.maintainer
> since 2022-05-07 (v1.9.0)
nFPM will soon make mandatory setting the maintainer field.
=== "Before"
```yaml
nfpms:
- maintainer: ''
```
=== "After"
```yaml
nfpms:
- maintainer: 'Name < email > '
```
2022-11-25 15:26:14 -03:00
### archives.replacements
2023-06-06 11:46:02 -03:00
> since 2022-11-24 (v1.14.0), removed 2023-06-06 (v1.19.0)
2022-11-25 15:26:14 -03:00
The `replacements` will be removed soon from the archives section, as it was
never handled correctly when multiple archives were being used, and it also
causes confusion in other places.
You can still get the same features by abusing the `name_template` property.
=== "Before"
2024-01-14 15:55:55 -03:00
```yaml
2022-11-25 15:26:14 -03:00
archives:
- id: foo
name_template: '{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
replacements:
darwin: Darwin
linux: Linux
windows: Windows
386: i386
amd64: x86_64
```
=== "After"
2023-06-06 01:02:40 -03:00
2024-01-14 15:55:55 -03:00
```yaml
2022-11-25 15:26:14 -03:00
archives:
- id: foo
name_template: >-
2023-08-03 12:32:46 +00:00
{{- .ProjectName }}_
2022-11-25 15:26:14 -03:00
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
2023-08-03 12:32:46 +00:00
{{- if .Arm }}v{{ .Arm }}{{ end -}}
2022-11-25 15:26:14 -03:00
```
Those two configurations will yield the same results.
2023-05-19 13:49:34 +00:00
Notice that if you are using the `archives.name_template` , notice it also has a
`{{.Version}}` in it. Adjust the new `name_template` accordingly.
2022-11-25 15:26:14 -03:00
### nfpms.replacements
2023-06-06 11:46:02 -03:00
> since 2022-11-24 (v1.14.0), removed 2023-06-06 (v1.19.0)
2022-11-25 15:26:14 -03:00
The `replacements` will be removed soon from the nFPMs section.
You can still get the same features by abusing the `file_name_template` property.
=== "Before"
2024-01-14 15:55:55 -03:00
```yaml
2022-11-25 15:26:14 -03:00
nfpms:
- id: foo
file_name_template: '{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
replacements:
darwin: Darwin
linux: Linux
windows: Windows
386: i386
amd64: x86_64
```
=== "After"
2023-06-06 01:02:40 -03:00
2024-01-14 15:55:55 -03:00
```yaml
2022-11-25 15:26:14 -03:00
nfpms:
- id: foo
file_name_template: >-
2023-08-03 12:32:46 +00:00
{{- .ProjectName }}_
2022-11-25 15:26:14 -03:00
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
2023-08-03 12:32:46 +00:00
{{- if .Arm }}v{{ .Arm }}{{ end -}}
2022-11-25 15:26:14 -03:00
```
Those two configurations will yield the same results.
Generally speaking, is probably best to use `{{ .ConventionalFileName }}`
instead of custom templates.
### snapcrafts.replacements
2023-06-06 11:46:02 -03:00
> since 2022-11-24 (v1.14.0), removed 2023-06-06 (v1.19.0)
2022-11-25 15:26:14 -03:00
The `replacements` will be removed soon from the Snapcrafts section.
You can still get the same features by abusing the `name_template` property.
=== "Before"
2024-01-14 15:55:55 -03:00
```yaml
2022-11-25 15:26:14 -03:00
snapcrafts:
- id: foo
name_template: '{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
replacements:
darwin: Darwin
linux: Linux
windows: Windows
386: i386
amd64: x86_64
```
=== "After"
2023-06-06 01:02:40 -03:00
2024-01-14 15:55:55 -03:00
```yaml
2022-11-25 15:26:14 -03:00
snapcrafts:
- id: foo
name_template: >-
{{ .ProjectName }}_
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
```
Those two configurations will yield the same results.
Generally speaking, is probably best to use `{{ .ConventionalFileName }}`
instead of custom templates.
2022-01-20 16:22:54 -03:00
### variables
2023-05-02 02:48:51 +00:00
> since 2022-01-20 (v1.4.0), removed 2023-05-01 (v1.18.0)
2022-01-20 16:22:54 -03:00
2022-01-27 00:22:18 -03:00
On [GoReleaser PRO ](/pro/ ) custom variables should now be prefixed with `.Var` .
2022-01-20 16:22:54 -03:00
=== "Before"
2024-01-14 15:55:55 -03:00
```yaml
2022-01-20 16:22:54 -03:00
variables:
foo: bar
some_template: 'lala-{{ .foo }}'
```
=== "After"
2024-01-14 15:55:55 -03:00
```yaml
2022-01-20 16:22:54 -03:00
variables:
foo: bar
some_template: 'lala-{{ .Var.foo }}'
```
2022-10-05 09:42:05 -03:00
### dockers.use: buildpacks
> since 2022-03-16 (v1.7.0), removed 2022-09-28 (v1.12.0)
This was removed due to some issues:
- The binary gets rebuild again during the buildpacks build;
- There is no ARM support.
2022-08-16 01:16:45 -03:00
### rigs
> since 2022-03-21 (v1.8.0), removed 2022-08-16 (v1.11.0)
GoFish was deprecated by their authors, therefore, we're removing its
support from GoReleaser too.
2022-05-08 21:13:56 -03:00
### nfpms.empty_folders
2021-11-14 11:22:27 -03:00
2022-06-14 11:15:17 -03:00
> since 2021-11-14 (v1.0.0), removed 2022-06-14 (v1.10.0)
2021-11-14 11:22:27 -03:00
nFPM empty folders is now deprecated in favor of a `dir` content type:
=== "Before"
2024-01-14 15:55:55 -03:00
```yaml
2021-11-14 11:22:27 -03:00
nfpms:
- empty_folders:
- /foo/bar
```
=== "After"
2023-06-06 01:02:40 -03:00
2024-01-14 15:55:55 -03:00
```yaml
2021-11-14 11:22:27 -03:00
nfpms:
- contents:
- dst: /foo/bar
type: dir
```
2021-08-16 23:00:56 -03:00
### builds for windows/arm64
2022-06-12 20:04:19 -03:00
> since 2021-08-16 (v0.175.0), removed 2022-06-12 (v1.10.0)
2021-08-16 23:00:56 -03:00
Since Go 1.17, `windows/arm64` is a valid target.
Prior to v0.175.0, GoReleaser would just ignore this target.
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.
If you want to make sure it is ignored in the future, you need to add this to your build config:
```yaml
ignore:
2023-06-06 01:02:40 -03:00
- goos: windows
goarch: arm64
2021-08-16 23:00:56 -03:00
```
2022-09-30 20:21:07 -03:00
If you try to use new versions of GoReleaser with Go 1.16 or older, it will warn
about it until this deprecation warning expires, after that your build will
likely fail.
2021-08-16 23:00:56 -03:00
2022-05-18 23:34:44 -03:00
### godownloader
> since 2021-10-13 (all), removed 2022-05-18
2022-09-30 20:21:07 -03:00
GoDownloader, the installation script generator, wasn't updated for a long time
and is now officially deprecated.
2022-05-18 23:34:44 -03:00
The website and all install scripts will be taken out in 6 months.
You can still use any of the other install methods.
2022-05-20 20:24:56 -03:00
This also includes `install.goreleaser.com` .
Most common tools installed via that website were probably
[GoReleaser ](/install/ ) itself and
2024-03-16 11:31:59 -03:00
[golangci-lint ](https://golangci-lint.run/welcome/install/ ).
2022-05-20 20:24:56 -03:00
Please follow to the check their documentation for alternative install methods.
2022-05-18 23:34:44 -03:00
2022-03-16 23:37:29 -03:00
### dockers.use_buildx
> since 2021-06-26 (v0.172.0), removed 2022-03-16 (v1.7.0)
2021-06-26 16:36:31 -03:00
`use_buildx` is deprecated in favor of the more generalist `use` , since now it also allow other options in the future:
Change this:
=== "Before"
2023-06-06 01:02:40 -03:00
2021-06-26 16:36:31 -03:00
```yaml
dockers:
-
use_buildx: true
```
=== "After"
2023-06-06 01:02:40 -03:00
2021-06-26 16:36:31 -03:00
```yaml
dockers:
-
use: buildx
```
2021-02-18 14:54:04 -03:00
### builds for darwin/arm64
2022-03-16 23:37:29 -03:00
> since 2021-02-17 (v0.157.0), removed 2022-03-16 (v1.7.0)
2021-02-18 14:54:04 -03:00
Since Go 1.16, `darwin/arm64` is macOS on Apple Silicon instead of `iOS` .
2021-08-16 23:00:56 -03:00
Prior to v0.156.0, GoReleaser would just ignore this target.
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.
2021-02-18 14:54:04 -03:00
If you want to make sure it is ignored in the future, you need to add this to your build config:
```yaml
ignore:
2023-06-06 01:02:40 -03:00
- goos: darwin
goarch: arm64
2021-02-18 14:54:04 -03:00
```
2021-08-16 23:00:56 -03:00
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.
2021-08-16 15:21:16 -03:00
2024-05-25 14:09:49 -03:00
## Removed in v0.\*
2021-09-23 00:39:28 -03:00
### Skipping SemVer Validations
> since 2021-02-28 (v0.158.0), removed 2021-09-22 (v0.180.0)
GoReleaser skips SemVer validations when run with `--skip-validation` or `--snapshot` .
This causes other problems later, such as [invalid Linux packages ](https://github.com/goreleaser/goreleaser/issues/2081 ).
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/ ).
2021-01-07 16:21:12 -03:00
### docker.builds
2021-08-16 15:21:16 -03:00
> since 2021-01-07 (v0.154.0), removed 2021-08-13 (v0.175.0)
2021-01-07 16:21:12 -03:00
`builds` is deprecated in favor of `ids` , since now it also allows to copy nfpm packages:
Change this:
=== "Before"
2023-06-06 01:02:40 -03:00
2021-01-07 16:21:12 -03:00
```yaml
dockers:
-
builds: ['a', 'b']
```
=== "After"
2023-06-06 01:02:40 -03:00
2021-01-07 16:21:12 -03:00
```yaml
dockers:
-
ids: ['a', 'b']
```
### docker.binaries
2021-08-16 15:21:16 -03:00
> since 2021-01-07 (v0.154.0), removed 2021-08-13 (v0.175.0)
2021-01-07 16:21:12 -03:00
`binaries` is deprecated and now does nothing.
If you want to filter something out, use the `ids` property.
Change this:
=== "Before"
2023-06-06 01:02:40 -03:00
2021-01-07 16:21:12 -03:00
```yaml
dockers:
-
binaries: ['foo']
```
=== "After"
2023-06-06 01:02:40 -03:00
2021-01-07 16:21:12 -03:00
```yaml
dockers:
-
ids: ['foo']
```
2020-12-23 23:07:48 -03:00
### nfpms.files
2021-08-16 15:21:16 -03:00
> since 2020-12-21 (v0.149.0), removed 2021-07-26 (v0.172.0)
2020-12-23 23:07:48 -03:00
`files` is deprecated in favor of `contents` (check [this page ](https://goreleaser.com/customization/nfpm/ ) for more details):
Change this:
=== "Before"
2023-06-06 01:02:40 -03:00
2020-12-23 23:07:48 -03:00
```yaml
nfpms:
-
files:
foo: bar
```
=== "After"
2023-06-06 01:02:40 -03:00
2020-12-23 23:07:48 -03:00
```yaml
nfpms:
-
contents:
- src: foo
dst: bar
```
### nfpms.config_files
2021-08-16 15:21:16 -03:00
> since 2020-12-21 (v0.149.0), removed 2021-07-26 (v0.172.0)
2020-12-23 23:07:48 -03:00
`config_files` is deprecated in favor of `contents` (check [this page ](https://goreleaser.com/customization/nfpm/ ) for more details):
Change this:
=== "Before"
2023-06-06 01:02:40 -03:00
2020-12-23 23:07:48 -03:00
```yaml
nfpms:
-
config_files:
foo: bar
```
=== "After"
2023-06-06 01:02:40 -03:00
2020-12-23 23:07:48 -03:00
```yaml
nfpms:
-
contents:
- src: foo
dst: bar
type: config
```
### nfpms.symlinks
2021-08-16 15:21:16 -03:00
> since 2020-12-21 (v0.149.0), removed 2021-07-26 (v0.172.0)
2020-12-23 23:07:48 -03:00
`symlinks` is deprecated in favor of `contents` (check [this page ](https://goreleaser.com/customization/nfpm/ ) for more details):
Change this:
=== "Before"
2023-06-06 01:02:40 -03:00
2020-12-23 23:07:48 -03:00
```yaml
nfpms:
-
symlinks:
foo: bar
```
=== "After"
2023-06-06 01:02:40 -03:00
2020-12-23 23:07:48 -03:00
```yaml
nfpms:
-
contents:
- src: foo
dst: bar
type: symlink
```
### nfpms.rpm.ghost_files
2021-08-16 15:21:16 -03:00
> since 2020-12-21 (v0.149.0), removed 2021-07-26 (v0.172.0)
2020-12-23 23:07:48 -03:00
`rpm.ghost_files` is deprecated in favor of `contents` (check [this page ](https://goreleaser.com/customization/nfpm/ ) for more details):
Change this:
=== "Before"
2023-06-06 01:02:40 -03:00
2020-12-23 23:07:48 -03:00
```yaml
nfpms:
-
rpm:
ghost_files:
- foo
```
=== "After"
2023-06-06 01:02:40 -03:00
2020-12-23 23:07:48 -03:00
```yaml
nfpms:
-
contents:
- dst: bar
type: ghost
packager: rpm # optional
```
### nfpms.rpm.config_noreplace_files
2021-08-16 15:21:16 -03:00
> since 2020-12-21 (v0.149.0), removed 2021-07-26 (v0.172.0)
2020-12-23 23:07:48 -03:00
`rpm.config_noreplace_files` is deprecated in favor of `contents` (check [this page ](https://goreleaser.com/customization/nfpm/ ) for more details):
Change this:
=== "Before"
2023-06-06 01:02:40 -03:00
2020-12-23 23:07:48 -03:00
```yaml
nfpms:
-
rpm:
config_noreplace_files:
foo: bar
```
=== "After"
2023-06-06 01:02:40 -03:00
2020-12-23 23:07:48 -03:00
```yaml
nfpms:
-
contents:
- src: foo
dst: bar
type: config|noreplace
packager: rpm # optional
```
2020-12-28 14:40:23 -03:00
### nfpms.deb.version_metadata
2021-08-16 15:21:16 -03:00
> since 2020-12-21 (v0.149.0), removed 2021-07-26 (v0.172.0)
2020-12-28 14:40:23 -03:00
`deb.version_metadata` is deprecated in favor of `version_metadata` (check [this page ](https://goreleaser.com/customization/nfpm/ ) for more details):
Change this:
=== "Before"
2023-06-06 01:02:40 -03:00
2021-01-07 16:21:12 -03:00
```yaml
nfpms:
-
deb:
version_metadata: beta1
```
2020-12-28 14:40:23 -03:00
=== "After"
2023-06-06 01:02:40 -03:00
2021-01-07 16:21:12 -03:00
```yaml
nfpms:
-
version_metadata: beta1
```
2021-01-04 14:24:25 -03:00
2020-07-06 14:48:17 +01:00
### brews.github
2021-01-04 14:24:25 -03:00
> since 2020-07-06 (v0.139.0), removed 2021-01-04 (v0.152.0)
2020-07-06 14:48:17 +01:00
GitHub section was deprecated in favour of `tap` which
reflects Homebrew's naming convention. GitHub will be picked
automatically when GitHub token is passed.
Change this:
=== "Before"
2023-06-06 01:02:40 -03:00
2020-07-06 14:48:17 +01:00
```yaml
brews:
-
github:
owner: goreleaser
name: homebrew-tap
```
=== "After"
2023-06-06 01:02:40 -03:00
2020-07-06 14:48:17 +01:00
```yaml
brews:
-
tap:
owner: goreleaser
name: homebrew-tap
```
### brews.gitlab
2021-01-04 14:24:25 -03:00
> since 2020-07-06 (v0.139.0), removed 2021-01-04 (v0.152.0)
2020-07-06 14:48:17 +01:00
GitLab section was deprecated in favour of `tap` which
reflects Homebrew's naming convention. GitLab will be picked
automatically when GitLab token is passed.
Change this:
=== "Before"
2023-06-06 01:02:40 -03:00
2020-07-06 14:48:17 +01:00
```yaml
brews:
-
gitlab:
owner: goreleaser
name: homebrew-tap
```
=== "After"
2023-06-06 01:02:40 -03:00
2020-07-06 14:48:17 +01:00
```yaml
brews:
-
tap:
owner: goreleaser
name: homebrew-tap
```
2020-05-10 16:57:11 -03:00
2019-11-18 10:34:17 -03:00
### puts
2020-04-19 19:54:07 -03:00
> since 2019-11-15, removed 2020-04-14 (v0.132.0)
2019-11-18 10:34:17 -03:00
The HTTP upload support was extended to also accept `POST` as a method,
so the name `puts` kind of lost its meaning.
2020-05-12 09:21:27 -03:00
=== "Before"
2019-11-18 10:34:17 -03:00
2024-01-14 15:55:55 -03:00
```yaml
2020-05-12 09:21:27 -03:00
puts:
- ...
```
2019-11-18 10:34:17 -03:00
2020-05-12 09:21:27 -03:00
=== "After"
2023-06-06 01:02:40 -03:00
2024-01-14 15:55:55 -03:00
```yaml
2020-05-12 09:21:27 -03:00
uploads:
- ...
```
2019-11-18 10:34:17 -03:00
Also note that secrets environment variable name prefixes have changed from
`PUT_` to `UPLOAD_` .
2019-11-15 16:00:48 -03:00
### nfpms.name_template
2020-04-19 19:54:07 -03:00
> since 2019-11-15, removed 2020-04-14 (v0.132.0)
2019-11-15 16:00:48 -03:00
The `name_template` field was deprecated in favor of a more clear one,
`file_name_template` .
2020-05-12 09:21:27 -03:00
=== "Before"
2023-06-06 01:02:40 -03:00
2024-01-14 15:55:55 -03:00
```yaml
2020-05-12 09:21:27 -03:00
nfpms:
- name_template: foo
```
2019-11-15 16:00:48 -03:00
2020-05-12 09:21:27 -03:00
=== "After"
2023-06-06 01:02:40 -03:00
2024-01-14 15:55:55 -03:00
```yaml
2020-05-12 09:21:27 -03:00
nfpms:
- file_name_template: foo
```
2019-11-15 16:00:48 -03:00
2019-08-02 16:17:38 -03:00
### blob
2020-04-19 19:54:07 -03:00
> since 2019-08-02, removed 2020-03-22 (v0.130.0)
2019-08-02 16:17:38 -03:00
Blob was deprecated in favor of its plural form.
It was already accepting multiple inputs, but its pluralized now so its more
clear.
2020-05-12 09:21:27 -03:00
=== "Before"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
blob:
# etc
```
2019-08-02 16:17:38 -03:00
2020-05-12 09:21:27 -03:00
=== "After"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
blobs:
# etc
```
2019-08-02 16:17:38 -03:00
2019-07-21 18:46:46 -03:00
### sign
2020-04-19 19:54:07 -03:00
> since 2019-07-20, removed 2020-03-22 (v0.130.0)
2019-07-21 18:46:46 -03:00
Sign was deprecated in favor of its plural form.
2020-05-12 09:21:27 -03:00
=== "Before"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
sign:
# etc
```
2019-07-21 18:46:46 -03:00
2020-05-12 09:21:27 -03:00
=== "After"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
signs:
-
# etc
```
2019-07-21 18:46:46 -03:00
2019-06-10 10:35:19 -03:00
### brew
2020-04-19 19:54:07 -03:00
> since 2019-06-09, removed 2020-01-26 (v0.125.0)
2019-06-10 10:35:19 -03:00
Brew was deprecated in favor of its plural form.
Change this:
2020-05-12 09:21:27 -03:00
=== "Before"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
brew:
# etc
```
2019-06-10 10:35:19 -03:00
2020-05-12 09:21:27 -03:00
=== "After"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
brews:
-
# etc
```
2019-06-10 10:35:19 -03:00
2019-06-09 16:51:24 -03:00
### s3
2020-04-19 19:54:07 -03:00
> since 2019-06-09, removed 2020-01-07 (v0.125.0)
2019-06-09 16:51:24 -03:00
S3 was deprecated in favor of the new `blob` , which supports S3, Azure Blob and
GCS.
2020-05-12 09:21:27 -03:00
=== "Before"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
s3:
-
# etc
```
=== "After"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
blobs:
-
provider: s3
# etc
```
2019-06-09 16:51:24 -03:00
2020-01-26 12:25:27 -03:00
ACLs should be set on the bucket, the `acl` option does not exist anymore.
2019-12-29 15:02:15 -03:00
2019-12-27 17:31:03 -03:00
### archive
2019-05-27 12:47:05 -03:00
2020-04-19 19:54:07 -03:00
> since 2019-04-16, removed 2019-12-27 (v0.124.0)
2019-05-27 12:47:05 -03:00
2019-12-27 17:31:03 -03:00
We now allow multiple archives, so the `archive` statement will be removed.
2019-05-27 12:47:05 -03:00
2020-05-12 09:21:27 -03:00
=== "Before"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
archive:
format: zip
```
2019-05-27 12:47:05 -03:00
2020-05-12 09:21:27 -03:00
=== "After"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
archives:
- id: foo
format: zip
```
2019-05-27 12:47:05 -03:00
2019-12-27 17:31:03 -03:00
### snapcraft
2020-04-19 19:54:07 -03:00
> since 2019-05-27, removed 2019-12-27 (v0.124.0)
2019-12-27 17:31:03 -03:00
We now allow multiple Snapcraft configs, so the `snapcraft` statement will be removed.
2019-05-07 06:59:53 -03:00
2020-05-12 09:21:27 -03:00
=== "Before"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
snapcraft:
publish: true
# ...
```
=== "After"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
snapcrafts:
-
publish: true
# ...
```
2019-05-07 06:59:53 -03:00
2019-12-27 14:51:40 -03:00
### nfpm
2020-04-19 19:54:07 -03:00
> since 2019-05-07, removed 2019-12-27 (v0.124.0)
2019-12-27 14:51:40 -03:00
We now allow multiple NFPM config, so the `nfpm` statement will be removed.
2019-04-16 10:19:15 -03:00
2020-05-12 09:21:27 -03:00
=== "Before"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
nfpm:
formats:
- deb
```
=== "After"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
nfpms:
-
formats:
- deb
```
2019-04-16 10:19:15 -03:00
2019-01-19 18:24:04 -02:00
### docker.binary
2019-01-11 16:27:39 -02:00
2020-04-19 19:54:07 -03:00
> since 2018-10-01, removed 2019-08-02 (v0.114.0)
2019-01-11 16:27:39 -02:00
You can now create a Docker image with multiple binaries.
2018-10-20 21:26:16 +08:00
2020-05-12 09:21:27 -03:00
=== "Before"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
dockers:
- image: foo/bar
binary: foo
```
=== "After"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
dockers:
- image: foo/bar
binaries:
- foo
```
2018-10-20 21:26:16 +08:00
2019-01-19 18:24:04 -02:00
### docker.image
2018-10-20 21:26:16 +08:00
2020-04-19 19:54:07 -03:00
> since 2018-10-20, removed 2019-08-02 (v0.114.0)
2018-10-20 21:26:16 +08:00
This property was deprecated in favor of more flexible `image_templates` .
The idea is to be able to define several images and tags using templates instead of just one image with tag templates.
2019-01-11 16:27:39 -02:00
This flexibility allows images to be pushed to multiple registries.
2018-10-20 21:26:16 +08:00
2020-05-12 09:21:27 -03:00
=== "Before"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
dockers:
- image: foo/bar
tag_templates:
- '{{ .Tag }}'
```
=== "After"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
dockers:
- image_templates:
- 'foo/bar:{{ .Tag }}'
```
2018-10-20 21:26:16 +08:00
2019-01-19 18:24:04 -02:00
### docker.tag_templates
2018-08-15 09:56:49 -03:00
2020-04-19 19:54:07 -03:00
> since 2018-10-20, removed 2019-08-02 (v0.114.0)
2018-02-17 13:43:29 -02:00
2019-01-11 16:27:39 -02:00
This property was deprecated in favor of more flexible `image_templates` .
The idea is to be able to define several images and tags using templates instead of just one image with tag templates.
2018-02-17 13:43:29 -02:00
2020-05-12 09:21:27 -03:00
=== "Before"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
dockers:
- image: foo/bar
tag_templates:
- '{{ .Tag }}'
```
=== "After"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
dockers:
- image_templates:
- 'foo/bar:{{ .Tag }}'
```
2018-02-17 13:43:29 -02:00
2019-01-19 18:24:04 -02:00
### git.short_hash
2018-10-03 17:51:27 -03:00
2020-04-19 19:54:07 -03:00
> since 2018-10-03, removed 2019-01-19 (v0.98.0)
2018-10-03 17:51:27 -03:00
This property was being used to tell GoReleaser to use short git hashes
instead of the full ones. This has been removed in favor of specific
template variables (`.FullCommit` and `.ShortCommit` ).
2020-05-12 09:21:27 -03:00
=== "Before"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
git:
short_hash: true
2018-10-03 17:51:27 -03:00
2020-05-12 09:21:27 -03:00
fake:
foo_template: 'blah {{ .Commit }}'
```
2018-10-03 17:51:27 -03:00
2020-05-12 09:21:27 -03:00
=== "After"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
fake:
foo_template: 'blah {{ .ShortCommit }}'
```
2018-10-03 17:51:27 -03:00
2019-01-19 18:24:04 -02:00
### fpm
2018-02-17 13:43:29 -02:00
2020-04-19 19:54:07 -03:00
> since 2018-02-17, removed 2017-08-15 (v0.83.0)
2018-02-17 13:43:29 -02:00
FPM is deprecated in favor of nfpm, which is a simpler alternative written
in Go. The objective is to remove the ruby dependency thus simplify the
CI/CD pipelines.
2021-12-23 01:52:01 +01:00
Just replace the `fpm` keyword by `nfpm` in your `.goreleaser.yaml` file.
2018-02-17 13:43:29 -02:00
2020-05-12 09:21:27 -03:00
=== "Before"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
fpm:
# ...
```
2018-02-17 13:43:29 -02:00
2020-05-12 09:21:27 -03:00
=== "After"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
nfpm:
# ...
```
2018-02-17 13:43:29 -02:00
2019-01-19 18:24:04 -02:00
### docker.tag_template
2018-02-17 13:43:29 -02:00
2020-04-19 19:54:07 -03:00
> since 2018-01-19, removed 2017-08-15 (v0.83.0)
2018-02-17 13:43:29 -02:00
2018-08-15 10:49:28 -03:00
This property was deprecated in favor of the pluralized `tag_templates` .
2018-02-17 13:43:29 -02:00
The idea is to be able to define several tags instead of just one.
2020-05-12 09:21:27 -03:00
=== "Before"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
dockers:
- image: foo/bar
tag_template: '{{ .Tag }}'
```
=== "After"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
dockers:
- image: foo/bar
tag_templates:
- '{{ .Tag }}'
```
2018-02-17 13:43:29 -02:00
2019-01-19 18:24:04 -02:00
### docker.latest
2018-02-17 13:43:29 -02:00
2020-04-19 19:54:07 -03:00
> since 2018-01-19, removed 2017-08-15 (v0.83.0)
2018-02-17 13:43:29 -02:00
The `latest` field in Docker config is deprecated in favor of the newer
`tag_templates` field.
2020-05-12 09:21:27 -03:00
=== "Before"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
dockers:
- image: foo/bar
latest: true
```
=== "After"
2023-06-06 01:02:40 -03:00
2020-05-12 09:21:27 -03:00
```yaml
dockers:
- image: foo/bar
tag_templates:
- '{{ .Tag }}'
- latest
```