You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Homebrew cask: generated tap warning — switch hooks.post.install to install_steps once GoReleaser ships it #501
Every brew operation that reads localstack/tap/lstk currently prints a deprecation warning to end users:
Warning: Calling `postflight` is deprecated! Use `postflight_steps` instead.
Please report this issue to the localstack/homebrew-tap tap ...
Casks/lstk.rb:39
hooks:
post:
install: | if OS.mac? system_command "/usr/bin/xattr", args: ["-dr", "com.apple.quarantine", "#{staged_path}/lstk"] end
GoReleaser passes this body through verbatim into the now-deprecated cask postflight stanza.
Suggested fix
Homebrew deprecated the raw-Ruby preflight/postflight blocks in favor of structured *_steps stanzas (Homebrew/brew#23366). GoReleaser support for the structured DSL is already up as goreleaser/goreleaser#6873 (all checks green at the time of writing). Once that ships, the config can become:
hooks:
post:
install_steps: | on_macos do run "/usr/bin/xattr", args: ["-dr", "com.apple.quarantine", "{{ .StagedPath }}/lstk"] end
(Note: raw #{staged_path} interpolation is not available in the new DSL; GoReleaser #6873 adds {{ .StagedPath }} for exactly this.)
Interim state
The generated cask has been patched manually in the interim: localstack/homebrew-tap#8 \u2014 verified via brew style and a real install on macOS arm64. Note that the next lstk release regenerates the cask and would reintroduce the legacy stanza until this config lands.
Confirmed this is still reproducible with lstk 1.1.0 on Homebrew as of 2026-09-19.
Environment/output:
$ brew tap | grep localstack
localstack/tap
$ brew list --cask | grep -E 'localstack|lstk'
lstk
$ which lstk
/opt/homebrew/bin/lstk
$ lstk --version
lstk 1.1.0
Running Homebrew operations that load the cask still emits:
Warning: Calling `postflight` is deprecated! Use `postflight_steps` instead.
Please report this issue to the localstack/homebrew-tap tap (not Homebrew/* repositories), or even better, submit a PR to fix it:
/opt/homebrew/Library/Taps/localstack/homebrew-tap/Casks/lstk.rb:39
So the current published 1.1.0 cask is still affected.
Happy to retest the generated cask once the GoReleaser install_steps support lands and the source config is updated.
A couple quick notes this morning. Was looking into a few other things, just calling out a quick gotcha once goreleaser/goreleaser#6873 is available in a stable v2 release:
The durable change should stay in lstk/.goreleaser.yaml, not homebrew-tap/Casks/lstk.rb.
Expected source change would be something like this:
hooks:
post:
- install: |- if OS.mac?- system_command "/usr/bin/xattr", args: ["-dr", "com.apple.quarantine", "#{staged_path}/lstk"]+ install_steps: |+ on_macos do+ run "/usr/bin/xattr", args: ["-dr", "com.apple.quarantine", "{{ .StagedPath }}/lstk"]
end
The important distinction and gotcha: {{ .StagedPath }} is the GoReleaser template field added by #6873. It should generate Homebrew's {{staged_path}} token in the resulting cask. The two forms apply at different stages of generation.
Activity
gtsiolis commentedon Sep 10, 2026
Thanks for reporting, @Dedsecproject!
Cross-linking also localstack/homebrew-tap#7 for visibility.
highlordleonas commentedon Sep 19, 2026
Confirmed this is still reproducible with
lstk 1.1.0on Homebrew as of 2026-09-19.Environment/output:
Running Homebrew operations that load the cask still emits:
So the current published
1.1.0cask is still affected.Happy to retest the generated cask once the GoReleaser
install_stepssupport lands and the source config is updated.highlordleonas commentedon Sep 19, 2026
A couple quick notes this morning. Was looking into a few other things, just calling out a quick gotcha once
goreleaser/goreleaser#6873is available in a stable v2 release:The durable change should stay in
lstk/.goreleaser.yaml, nothomebrew-tap/Casks/lstk.rb.Expected source change would be something like this:
The important distinction and gotcha:
{{ .StagedPath }}is the GoReleaser template field added by #6873. It should generate Homebrew's{{staged_path}}token in the resulting cask. The two forms apply at different stages of generation.joe4dev commentedon Sep 22, 2026
Thank you for reporting @Dedsecproject and opening the quickfix PR localstack/homebrew-tap#8
/cc @highlordleonas @gtsiolis
Reproducer
I can confirm the issue is now fixed (no more deprecation warning) after merging localstack/homebrew-tap#8