From 0b119bfc3c7ced35d43755a0105edf0d7f5019a5 Mon Sep 17 00:00:00 2001 From: "localstack[bot]" Date: Thu, 11 Dec 2025 13:08:54 +0000 Subject: [PATCH 01/16] release version 4.12.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index affc0bd..cbd22c5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ pyinstaller -localstack==4.11.1 +localstack==4.12.0 cookiecutter From 7364eac111f55a5dc907fa2353de1ac435acf34e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Dec 2025 09:33:12 +0100 Subject: [PATCH 02/16] Bump the github-actions group with 3 updates (#47) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 6 +++--- .github/workflows/homebrew.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 92b09d6..55a9fd5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -161,13 +161,13 @@ jobs: rm -r localstack - name: Upload binary artifacts - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: ${{github.event.repository.name}}-${{steps.cli_version.outputs.cli_version}}-${{ matrix.os }}-${{ matrix.arch }}-onefile path: 'dist-bin/*' - name: Upload folder artifacts - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: ${{github.event.repository.name}}-${{steps.cli_version.outputs.cli_version}}-${{ matrix.os }}-${{ matrix.arch }} path: 'dist-dir/*' @@ -181,7 +181,7 @@ jobs: contents: write steps: - name: Download Builds - uses: actions/download-artifact@v6 + uses: actions/download-artifact@v7 with: path: builds diff --git a/.github/workflows/homebrew.yml b/.github/workflows/homebrew.yml index 02b89e2..c707c65 100644 --- a/.github/workflows/homebrew.yml +++ b/.github/workflows/homebrew.yml @@ -11,7 +11,7 @@ jobs: name: homebrew-releaser steps: - name: Add published release to Homebrew Tap - uses: Justintime50/homebrew-releaser@v2 + uses: Justintime50/homebrew-releaser@v3 with: # Explicitly set the version to avoid Justintime50/homebrew-releaser#39 (wrong auto-detection of "64" as version) version: ${{ github.event.release.tag_name }} From 940e0df8cdd0d44d6756f5f293898fddf71376bd Mon Sep 17 00:00:00 2001 From: Alex Rashed <2796604+alexrashed@users.noreply.github.com> Date: Wed, 28 Jan 2026 11:00:41 +0100 Subject: [PATCH 03/16] fix pyinstaller issues with rich>=14.3.1 (#48) --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 7a07905..119be6d 100644 --- a/Makefile +++ b/Makefile @@ -30,6 +30,7 @@ dist-bin/localstack build: $(VENV_ACTIVATE) main.py --hidden-import localstack.pro.core.plugins \ --hidden-import localstack.pro.core.cli.localstack \ --hidden-import localstack.pro.core.extensions.plugins \ + --collect-all=rich \ --copy-metadata localstack_ext \ --collect-data localstack.pro.core \ --additional-hooks-dir hooks From 783db21c115a71d4c0270cc9fa8de0b21493d2fc Mon Sep 17 00:00:00 2001 From: "localstack[bot]" Date: Thu, 29 Jan 2026 08:02:58 +0000 Subject: [PATCH 04/16] release version 4.13.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index cbd22c5..adc84a3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ pyinstaller -localstack==4.12.0 +localstack==4.13.0 cookiecutter From db74cc691d6ed4f356be5ef59354533545031360 Mon Sep 17 00:00:00 2001 From: "localstack[bot]" Date: Mon, 2 Feb 2026 11:38:03 +0000 Subject: [PATCH 05/16] release version 4.13.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index adc84a3..d3a39df 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ pyinstaller -localstack==4.13.0 +localstack==4.13.1 cookiecutter From a217d06b092473a84dcb997ad2ff4bfa64079bd3 Mon Sep 17 00:00:00 2001 From: Silvio Vasiljevic Date: Wed, 11 Feb 2026 15:31:25 +0100 Subject: [PATCH 06/16] Adapt for localstack-standalone-cli (#49) --- Makefile | 16 +++++++++------- hooks/hook-localstack.py | 4 ++++ hooks/hook-localstack_core.py | 4 ---- main.py | 2 +- requirements.txt | 2 +- 5 files changed, 15 insertions(+), 13 deletions(-) create mode 100644 hooks/hook-localstack.py delete mode 100644 hooks/hook-localstack_core.py diff --git a/Makefile b/Makefile index 119be6d..1d60756 100644 --- a/Makefile +++ b/Makefile @@ -26,13 +26,16 @@ dist-bin/localstack build: $(VENV_ACTIVATE) main.py $(PYINSTALLER_ARGS) -n localstack \ --hidden-import cookiecutter.main \ --hidden-import cookiecutter.extensions \ - --hidden-import localstack.dev.run.configurators \ - --hidden-import localstack.pro.core.plugins \ - --hidden-import localstack.pro.core.cli.localstack \ - --hidden-import localstack.pro.core.extensions.plugins \ + --hidden-import localstack_cli.cli.core_plugin \ + --hidden-import localstack_cli.pro.core.cli.localstack \ + --hidden-import localstack_cli.runtime \ + --hidden-import localstack_cli.runtime.hooks \ + --hidden-import localstack_cli.runtime.exceptions \ + --hidden-import localstack_cli.pro.core.plugins \ + --hidden-import localstack_cli.pro.core.bootstrap.extensions.bootstrap \ + --hidden-import localstack_cli.utils.analytics.metadata \ --collect-all=rich \ - --copy-metadata localstack_ext \ - --collect-data localstack.pro.core \ + --copy-metadata localstack \ --additional-hooks-dir hooks dist-dir/localstack: PYINSTALLER_ARGS=--distpath=dist-dir @@ -47,4 +50,3 @@ clean-venv: rm -rf $(VENV_DIR) .PHONY: all build clean clean-venv - diff --git a/hooks/hook-localstack.py b/hooks/hook-localstack.py new file mode 100644 index 0000000..aa25af3 --- /dev/null +++ b/hooks/hook-localstack.py @@ -0,0 +1,4 @@ +from PyInstaller.utils.hooks import copy_metadata + +# make sure to add the entrypoints data for localstack (for plux plugin discovery) +datas = copy_metadata('localstack') diff --git a/hooks/hook-localstack_core.py b/hooks/hook-localstack_core.py deleted file mode 100644 index 5387559..0000000 --- a/hooks/hook-localstack_core.py +++ /dev/null @@ -1,4 +0,0 @@ -from PyInstaller.utils.hooks import copy_metadata - -# make sure to add the entrypoints data for localstack-core -datas = copy_metadata('localstack_core') diff --git a/main.py b/main.py index a5de157..0632618 100644 --- a/main.py +++ b/main.py @@ -3,7 +3,7 @@ freeze_support() os.environ["SKIP_PATCH_MOTO_ACCOUNT_ID"] = "1" -from localstack.cli import main +from localstack_cli.cli import main if __name__ == '__main__': main.main() diff --git a/requirements.txt b/requirements.txt index d3a39df..01c29e0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ pyinstaller -localstack==4.13.1 +localstack==4.13.2.dev36 cookiecutter From f335a68298076c2dea4e10496655a0dc0087083a Mon Sep 17 00:00:00 2001 From: "localstack[bot]" Date: Thu, 26 Feb 2026 10:14:30 +0000 Subject: [PATCH 07/16] release version 4.14.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 01c29e0..be0d8ee 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ pyinstaller -localstack==4.13.2.dev36 +localstack==4.14.0 cookiecutter From 30b268ea8744c6c43db0a52fb9f117515e1bff43 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Mar 2026 08:16:39 +0100 Subject: [PATCH 08/16] Bump the github-actions group with 2 updates (#50) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 55a9fd5..9377842 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -161,13 +161,13 @@ jobs: rm -r localstack - name: Upload binary artifacts - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: ${{github.event.repository.name}}-${{steps.cli_version.outputs.cli_version}}-${{ matrix.os }}-${{ matrix.arch }}-onefile path: 'dist-bin/*' - name: Upload folder artifacts - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: ${{github.event.repository.name}}-${{steps.cli_version.outputs.cli_version}}-${{ matrix.os }}-${{ matrix.arch }} path: 'dist-dir/*' @@ -181,7 +181,7 @@ jobs: contents: write steps: - name: Download Builds - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: path: builds From aeb907b3c14ba216c2a08fc281034bf5eb9759f1 Mon Sep 17 00:00:00 2001 From: Alex Rashed <2796604+alexrashed@users.noreply.github.com> Date: Mon, 2 Mar 2026 09:50:22 +0100 Subject: [PATCH 09/16] remove community usage (#51) --- .github/workflows/build.yml | 35 ++--------------------------------- 1 file changed, 2 insertions(+), 33 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9377842..93c0675 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -71,20 +71,8 @@ jobs: brew install docker colima start - - name: Community Non-Docker Smoke tests + - name: Non-Docker Smoke tests shell: bash - run: | - ls dist-bin/ - cd dist-bin - # show the help - ./localstack --help - # show the config - ./localstack config show - - - name: Pro Non-Docker Smoke tests - shell: bash - # Skip these checks for forks (forks do not have access to the LocalStack Pro API key) - if: ${{ ! github.event.pull_request.head.repo.fork }} run: | # create an extension with default parameters (enter all new lines to use defaults) printf "\n\n\n\n\n\n\n\n\n" | LOCALSTACK_AUTH_TOKEN=${{ secrets.TEST_LOCALSTACK_AUTH_TOKEN }} DEBUG=1 ./dist-bin/localstack extensions dev new @@ -93,32 +81,13 @@ jobs: # remove it again rm -rf my-localstack-extension - - name: Community Docker Smoke tests (Linux, MacOS) + - name: Docker Smoke tests (Linux, MacOS) shell: bash # GitHub Windows and xlarge MacOS runner cannot run Docker containers: # - https://github.com/orgs/community/discussions/25491 # - https://docs.github.com/en/actions/using-github-hosted-runners/about-larger-runners/ # TODO re-enable for mac when mac11 docker gets more stable if: matrix.os != 'windows' && matrix.os != 'darwin' - run: | - # Pull images to avoid making smoke tests vulnerable to system behavior (docker pull speed) - docker pull localstack/localstack - cd dist-bin - # start community - ./localstack start -d - ./localstack wait -t 180 - ./localstack status services --format plain - ./localstack status services --format plain | grep "s3=available" - ./localstack stop - - - name: Pro Docker Smoke tests (Linux, MacOS) - shell: bash - # GitHub Windows and xlarge MacOS runner cannot run Docker containers: - # - https://github.com/orgs/community/discussions/25491 - # - https://docs.github.com/en/actions/using-github-hosted-runners/about-larger-runners/ - # Skip these checks for forks (forks do not have access to the LocalStack Pro API key) - # TODO re-enable for mac when mac11 docker gets more stable - if: matrix.os != 'windows' && matrix.os != 'darwin' && !github.event.pull_request.head.repo.fork run: | # Pull images to avoid making smoke tests vulnerable to system behavior (docker pull speed) docker pull localstack/localstack-pro From e3b394ca0d6b784b6d900411f1727667a33238d1 Mon Sep 17 00:00:00 2001 From: "localstack[bot]" Date: Mon, 23 Mar 2026 07:15:28 +0000 Subject: [PATCH 10/16] release version 2026.3.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index be0d8ee..34c9bb1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ pyinstaller -localstack==4.14.0 +localstack==2026.3.0 cookiecutter From 543d58a16c64169af18fbc1510c1ae061785c40b Mon Sep 17 00:00:00 2001 From: Silvio Vasiljevic Date: Mon, 23 Mar 2026 09:05:48 +0100 Subject: [PATCH 11/16] Pin cookiecutter to 2.6.0 and release 2026.3.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 34c9bb1..63ffe5e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ pyinstaller localstack==2026.3.0 -cookiecutter +cookiecutter==2.6.0 From 05a124b9e6c161d15648301a6f3b1f7edb73bb5e Mon Sep 17 00:00:00 2001 From: Alexander Rashed Date: Mon, 23 Mar 2026 09:39:37 +0100 Subject: [PATCH 12/16] fix cookiecutter import after transitive dependency issue --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 1d60756..362a001 100644 --- a/Makefile +++ b/Makefile @@ -35,6 +35,7 @@ dist-bin/localstack build: $(VENV_ACTIVATE) main.py --hidden-import localstack_cli.pro.core.bootstrap.extensions.bootstrap \ --hidden-import localstack_cli.utils.analytics.metadata \ --collect-all=rich \ + --collect-data=binaryornot \ --copy-metadata localstack \ --additional-hooks-dir hooks From b90c9901b5ea5906189dadd896ada46b79b27d4c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Mar 2026 13:00:49 +0100 Subject: [PATCH 13/16] Bump nick-fields/retry from 3 to 4 in the github-actions group (#52) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 93c0675..87b4ff9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -49,7 +49,7 @@ jobs: # right after the package is published on PyPi # (and might not be distributed in the CDN yet) - name: Create virtual environment - uses: nick-fields/retry@v3 + uses: nick-fields/retry@v4 with: timeout_minutes: 5 max_attempts: 5 From d473299fe2b57eb8cc22ac28fbcdb8d9e8df4202 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Apr 2026 06:56:04 +0200 Subject: [PATCH 14/16] Bump softprops/action-gh-release from 2 to 3 in the github-actions group (#53) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 87b4ff9..2d9b08b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -165,7 +165,7 @@ jobs: sha256sum *.{tar.gz,zip} > ${{github.event.repository.name}}-${{needs.build.outputs.cli_version}}-checksums.txt - name: Release - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@v3 with: files: 'builds/*' draft: true From 982a05b13ff0e0a95eab89b020b6d2ccc6622509 Mon Sep 17 00:00:00 2001 From: "localstack[bot]" Date: Wed, 29 Apr 2026 07:16:23 +0000 Subject: [PATCH 15/16] Release: v2026.4.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 63ffe5e..2fe5b7f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ pyinstaller -localstack==2026.3.0 +localstack==2026.4.0 cookiecutter==2.6.0 From 31c4092170fbaa089f4af71de233eaf7cdec3e8f Mon Sep 17 00:00:00 2001 From: "localstack[bot]" Date: Wed, 20 May 2026 09:39:42 +0000 Subject: [PATCH 16/16] Release: v2026.5.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 2fe5b7f..57bfada 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ pyinstaller -localstack==2026.4.0 +localstack==2026.5.0 cookiecutter==2.6.0