Skip to content

0.16.0-alpha-4

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Jun 09:10
· 626 commits to main since this release
0.16.0-alpha-4

Changelog

🚀 Features

  • 8493bc6 feat(devtui): add setup wizard for projects without dev mode config
  • a1586cc feat(devtui): allow toggling the Shopware HTTP cache
  • c2dfeb0 feat(devtui): change general tab to overview (#1126)
  • 5f0cb77 feat(devtui): clarify admin account panel in dev wizards
  • caba2b1 feat(devtui): display Shopware version in general tab
  • ec83be2 feat(devtui): drop profiler step from setup wizard, label free/paid in config
  • c8ca445 feat(devtui): enhance task handling with spinner and update UI messages
  • 171919b feat(devtui): make APP_ENV configurable in config tab
  • 585bbfb feat(devtui): merge admin username and password into one step
  • 957d6eb feat(devtui): modal value picker and overlay restructure
  • 9f60e82 feat(devtui): rename Logs tab to Instance with grouped sources (#1128)
  • 4702e54 feat(docker): normalize project root environment variables in WithEnv method
  • baa8a76 feat(project): add CycloneDX SBOM generation to project CI
  • e1f6deb feat(project): add dev status command
  • 9de5fd3 feat(project): always generate SBOM in project CI
  • dc7e02f feat(project): interactive picker for --only-extensions flag
  • 4215460 feat(project): recommend Security plugin when advisories are found
  • 2c8a782 feat(sbom): emit CycloneDX 1.7 instead of 1.5
  • b5f3d9e feat(symfony): parse and merge config/packages with env resolution (#1142)
  • 044753d feat(tui): add OnBrandColor for improved text contrast on BrandColor
  • 26e5de9 feat(tui): add windowed, keyboard-navigable SelectList component
  • c9ac071 feat: Add compatibility check for development mode based on compatibility date
  • e82d397 feat: Adjust overlay rendering and footer positioning for improved UI layout
  • 8a312be feat: Enhance rendering functions for improved layout and padding in logs and sections
  • 8430be1 feat: add PHP version 8.5 to the configuration options
  • b686d6d feat: add architecture doc + fuzz tests; fix HTML comment edge case
  • ab90c34 feat: add cancel button for quit dialog
  • 5b22058 feat: add headless dev mode, start/stop subcommands, and project logs
  • 2650020 feat: add proper select also to storefront watch
  • e4f605a feat: add shopware PaaS application template and update command flags
  • f8d3fca feat: add storefront watcher selection and options handling
  • 5407aff feat: add structured Twig tag handlers (for/set/include/extends/...)
  • e386b7f feat: consider php constraint for migration
  • c9e3af4 feat: devui
  • 5700198 feat: enhance Docker configuration with PHP and Node version options
  • 29a21d1 feat: enhance PHP version handling in project creation
  • 2c7a5f7 feat: enhance devtui with improved layout and styling, remove obsolete tests
  • 52ab012 feat: enhance executor initialization and add compatibility date checks
  • 79072f8 feat: ensure deployment helper is there
  • 6392cf3 feat: hardcode Node.js to 24 and remove configurability
  • 1e23377 feat: implement WithEnv method for executors to manage environment variables
  • 8c686ff feat: implement admin and storefront watchers
  • 25560e9 feat: improve mascot
  • 9187ae9 feat: initialize phpVersion in ConfigModel with default index
  • fb245bc feat: let the cli manage compose file
  • 20525ea feat: make overlay buffer dynamic based on terminal height
  • 8d1715e feat: parse {# Twig comments #} as TwigCommentNode
  • fd22de2 feat: prompt for sales channel before starting storefront watcher
  • ecd212f feat: public RegisterStandaloneTag / RegisterBlockTag for custom tags
  • a834d59 feat: refactor package fetching methods for improved clarity and consistency
  • 18ce915 feat: remove redundant comments for improved code clarity
  • d7f336f feat: remove unnecessary whitespace in project_create.go
  • 1731368 feat: set default username and improve style rendering in devtui
  • 8eb8ab7 feat: simplify comments in executor and config files for clarity
  • 070320f feat: start abstracting executors
  • 773b82e feat: start to integrate executor
  • 504c694 feat: surface parse line numbers in verifier CheckResults
  • e1821dc feat: toggle password visibility in devtui install wizard
  • 858ae7d feat: update compose file header to include documentation link
  • 5900e14 feat: update swx alias to include default 'list' command when no arguments are provided
  • 2a28793 feat: use proper php version for creation
  • bb70bca feat: warn about known security advisories before project creation

🧰 Maintenance

  • 2cddf0d Add Config tab to devtui for environment configuration
  • 8d938ce Add swx alias support
  • 726c4d7 Auto-detect and resolve web service port in dev environment (#1132)
  • 57ace64 Change indicator color and remove "follow on/off" badge (#1141)
  • 4fbf5af Extract Markdown rendering to dedicated package (#1136)
  • f410701 Fix gofmt comment alignment in config tab tests
  • 86794f3 Fix label/value spacing in config tab using lipgloss Width
  • bbaa5a0 Fix lint errors: goconst, exhaustive, gci
  • fd18ba1 Fix lint: reduce cyclomatic complexity, convert if-else to switch
  • 889a9de Measure duration time from start till end of setup guide (#1135)
  • 16e78bd Merge branch 'feat/add-swx-alias' into next
  • ea8dd07 Merge branch 'main' into next
  • 59b35e8 Merge branch 'next' into feat/project-dev-status
  • b43e289 Merge origin/main into feat/add-swx-alias, resolve conflicts
  • b234501 Merge pull request #1000 from shopware/feat/add-storefront-watcher-selection
  • 559b514 Merge pull request #1004 from shopware/feat/project-create-use-proper-php-version
  • 3c59d16 Merge pull request #1006 from shopware/feat/project-create-security-advisory-check
  • 68bd1c0 Merge pull request #1008 from shopware/feat/security-plugin-hint
  • 7f93a8e Merge pull request #1012 from shopware/feat/devtui-setup-wizard
  • 6d35c9b Merge pull request #1013 from shopware/claude/fix-shopware-cli-1002-BAqh1
  • 9e45eae Merge pull request #1021 from shopware/fix/config-file-permissions
  • aaf0340 Merge pull request #1022 from shopware/fix/http-client-timeout
  • d749b0e Merge pull request #1024 from shopware/refactor/project-create-decompose
  • 2b297f4 Merge pull request #1026 from shopware/fix/deduplicate-php-profiler-lists
  • 967f0d5 Merge pull request #1027 from shopware/refactor/setup-guide-split
  • 84416dd Merge pull request #1028 from shopware/fix/security-advisory-wording
  • 928940f Merge pull request #1029 from shopware/fix/devtui-config-save-errors
  • 62a6d68 Merge pull request #1030 from shopware/test/devtui-coverage
  • 9091a94 Merge pull request #1039 from shopware/fix/devtui-watcher-plugins-json
  • 6e3b2a6 Merge pull request #1042 from shopware/fix/devtui-docker-start-error-visible
  • 2c92cb8 Merge pull request #1045 from shopware/claude/explicit-git-config-Ueo1O
  • deec2aa Merge pull request #1048 from shopware/claude/add-sbom-generator-ci-Pz3qq
  • 3fe3d0d Merge pull request #1049 from shopware/refactor/executor-configurable-local-executor
  • 303eb47 Merge pull request #1050 from shopware/feat/devtui-config-env-fields
  • 481009b Merge pull request #1051 from shopware/feat/devtui-shopware-version-display
  • 2371072 Merge pull request #1057 from shopware/feat/update-install-overlay-text
  • c33c740 Merge pull request #1062 from shopware/feat/project-dev-status
  • 3656508 Merge pull request #1068 from shopware/fix/devtui-cache-clear-feedback
  • 22ccbeb Merge pull request #1069 from shopware/fix/make-watcher-startup-more-transparent
  • 71dfbbb Merge pull request #1074 from shopware/feat/tui-select-list-component
  • 677b921 Merge pull request #1076 from shopware/refactor/use-go-spdx
  • d1610e2 Merge pull request #1081 from shopware/claude/clever-ramanujan-2yzhB
  • ff08b95 Merge pull request #1097 from bdgraue/fix/docker-host-user-mapping
  • f2618cc Merge pull request #1098 from nibra180/fix/1095-admin-password-min-length
  • 4480cdb Merge pull request #1106 from shopware/claude/magical-euler-wb2yo5
  • b9a426e Merge pull request #1108 from shopware/adr-folder-add
  • 187386f Merge pull request #1110 from shopware/claude/loving-clarke-1fzgw8
  • f596447 Merge pull request #1118 from shopware/fix/remove-profiler-from-setup-wizard
  • ea3c160 Merge pull request #1119 from shopware/feat/admin-user-panel-improvements
  • 220aeef Merge pull request #1120 from shopware/feat/devtui-setup-done-improvements
  • 1e997a0 Merge pull request #1121 from shopware/feat/devtui-php-tab-improvements
  • e43de68 Merge pull request #1122 from shopware/dependabot/go_modules/all-60aba6a77c
  • 2e28a1e Merge pull request #1123 from shopware/dependabot/composer/internal/verifier/php/all-70239ce7ca
  • 5d7cdda Merge pull request #1124 from shopware/dependabot/npm_and_yarn/internal/verifier/js/all-fa15ee3bad
  • d5119b6 Merge pull request #1125 from shopware/dependabot/github_actions/all-2217aebe03
  • c1e49dc Merge pull request #944 from shopware/feat/project-dev-headless-and-logs
  • aafc1fe Merge pull request #947 from shopware/claude/add-env-config-tab-RoAa8
  • 336c716 Merge pull request #984 from shopware/feat/devtui-password-visibility-toggle
  • 8ead264 Merge pull request #988 from shopware/feat/devtui-config-modal-picker
  • f2647fa Merge pull request #989 from shopware/feat/devtui-remove-node-version
  • 4e046d4 Merge remote-tracking branch 'origin/main' into feat/add-swx-alias
  • bfe3ed1 Merge remote-tracking branch 'origin/main' into feat/dev-mode
  • 9cc9b42 Merge remote-tracking branch 'origin/main' into feat/dev-mode
  • efc7106 Merge remote-tracking branch 'origin/main' into feat/dev-mode
  • 82344d1 Merge remote-tracking branch 'origin/main' into feat/dev-mode
  • 043ae8e Merge remote-tracking branch 'origin/main' into feat/dev-mode
  • 1c8eca1 Merge remote-tracking branch 'origin/main' into next
  • 4788d7b Merge remote-tracking branch 'origin/main' into next
  • 7b43f44 Merge remote-tracking branch 'origin/main' into next
  • 466a5b7 Merge remote-tracking branch 'origin/main' into next
  • 9a596fa Merge remote-tracking branch 'origin/main' into next
  • 38f3cd5 Merge remote-tracking branch 'origin/main' into next
  • ecacd7b Merge remote-tracking branch 'origin/main' into next
  • e47ccb0 Merge remote-tracking branch 'origin/main' into next
  • 071c590 Merge remote-tracking branch 'origin/main' into next
  • a9ede5d Merge remote-tracking branch 'origin/main' into next
  • aa2d2e1 Merge remote-tracking branch 'origin/main' into next
  • c4a697e Refactor TUI components for improved readability and maintainability
  • 46e3f2f Update 2026-17-06-cli-as-platform.md
  • 908a0cb Update setup intro text and fix button style (#1129)
  • 8d1dd71 Write profiler credentials to .shopware-project.local.yml
  • 8bcca54 chore: creates adr folder and adds first file
  • 4464760 chore: delete unused internal/twigparser package
  • 82466d6 chore: move architecture document to root
  • 1d72c1e chore: silence gocyclo on runCreateForm
  • 09c67a7 ci: Update codecov integration and add network allowlist (#1133)
  • ee8e2c8 feat(command-palette): implement command palette functionality and key bindings
  • a49f3f0 fix project create security advisory wording
  • 6b0e43a fix(ci): simplify command path for PHP execution in CI
  • f090bd9 fix(cmd): avoid os.Exit skipping deferred cleanup
  • dbd350b fix(deps): bump actions/checkout from 6.0.3 to 7.0.0 in the all group
  • b460f6b fix(deps): bump friendsofphp/php-cs-fixer from 3.95.10 to 3.95.11 in /internal/verifier/php in the all group (#1139)
  • fadd327 fix(deps): bump golang.org/x/image in the all group
  • de251f4 fix(deps): bump the all group in /internal/verifier/js with 4 updates (#1140)
  • c7f25ab fix(deps): bump the all group in /internal/verifier/php with 3 updates
  • 6378cdb fix(deps): bump the all group with 2 updates (#1138)
  • 4bf4b0c fix(deps): bump typescript-eslint
  • ef5d00e fix(devtui): address gopls warnings across the package
  • 1606d0a fix(devtui): cancel watcher prep when stopped early
  • 75fe0f7 fix(devtui): make credFocus switches exhaustive for linter
  • d2e4518 fix(devtui): open browser cross-platform via system.OpenURL
  • f8418fe fix(devtui): regenerate var/plugins.json before starting watchers
  • 10bc007 fix(devtui): show output when clearing cache
  • f25eeb5 fix(devtui): stop watcher reliably and keep exit errors
  • b19ce73 fix(devtui): surface config save errors to the user
  • 575413d fix(devtui): wire setup-wizard review Quit + apply profiler secrets
  • c61bcac fix(devtui): write config synchronously to avoid stale save results
  • 123774a fix(extension): skip icon resize when icon file is missing (#1134)
  • 02b8df1 fix(project): record dev status down as failure in telemetry
  • 8de23e9 fix(project): run docker as host user with project dir group
  • f125986 fix(project): set HOME=/tmp for mapped host users in the docker executor
  • aba8286 fix(project): validate admin password length in dev setup wizards
  • ad370db fix(project): validate directly provided project name up front
  • 76f70ff fix(symfony): address config/packages review feedback (#1142) (#1144)
  • 7e73ae4 fix(tui): update command palette selected item styling
  • 2aaab80 fix: TwigBlockNode skips blank-line separators for inline-mixed content
  • 0aea6fb fix: address all 4 review comments on PR #1013
  • 3fdcb3a fix: address all golangci-lint findings on the html package
  • 6044704 fix: cleanup comments
  • 5e87bb0 fix: code style issue
  • e743041 fix: deduplicate PHP version and profiler lists
  • 828f53a fix: drop trigger before create (#1143)
  • ebfc9f2 fix: idempotent formatting on CSV/XML and HTML-comment-in-

    patterns

  • 0240a02 fix: inline-mixed flow for TwigGenericBlockNode too
  • 6ae007b fix: keep custom-static and only/skip-extensions composable
  • 58f2b93 fix: lexer breaks HTML attr name on Twig delimiters
  • 917d2e5 fix: make watcher startup more transparent
  • 35209bf fix: optimise prettierignore (#1130)
  • ff42a45 fix: parse Twig-wrapped HTML element boundaries (closes all 14 parse failures)
  • 08846ac fix: parse nested twig {% if %} blocks inside another if branch
  • ce67013 fix: reject unexpected arguments on {% parent %}
  • 1b61242 fix: remove debug
  • 86fd8b9 fix: remove duplicate import of os/exec in project.go
  • 66095c9 fix: replace http.DefaultClient with package-level client with 30s timeout
  • f0b0f42 fix: staticcheck QF1012 — use Fprintf instead of WriteString(Sprintf)
  • 63d6834 fix: strip RawNode trailing whitespace before Twig structural children inside

  • 3ff2307 fix: surface docker compose up failures in devtui
  • dd9781f fix: tighten file permissions for config writes
  • af48b48 fix: trim RawNode whitespace + inline-comment indent in block bodies
  • 1b5dd48 make Git label in project create summary more explicit
  • 44451af perf(html): speed up twig/HTML parser (~40% faster on large files) (#1137)
  • 00ba517 refactor
  • f4797fb refactor(devtui): centralize docker compose invocations
  • b8b522d refactor(devtui): clean up setup guide done view and add tests
  • 564d636 refactor(devtui): consistent receiver convention in OverviewModel
  • 44d3692 refactor(devtui): drive env-backed config fields from a registry
  • a893424 refactor(devtui): extract rebuildTabs to dedupe tab construction
  • 980280a refactor(devtui): make ConfigModel.Update delegate to HandleKey
  • e7cdf45 refactor(devtui): rename setupGuide to migrationWizard
  • 9f62ba2 refactor(devtui): share credential step between wizards
  • adc495f refactor(devtui): share cursor navigation across wizard steps
  • 4f078f3 refactor(devtui): simplify PHP tab and add version recommendation
  • 4a0ac3c refactor(devtui): split model.go and reduce code duplication
  • 3b85102 refactor(devtui): split setup_guide into model/view/apply files
  • 70c4054 refactor(devtui): update install overlay text to 'initialized'
  • f51918d refactor(executor): add NewLocalWithConfig and replace string literals with type constants
  • 38fa352 refactor(executor): introduce Process wrapper for graceful lifecycle management
  • 700349d refactor(extension): update InstallNodeModulesOfConfigs to use AssetBuildConfig
  • 0264adb refactor(packagist): add SwapHTTPClient function for testable HTTP client
  • 5451162 refactor(project create): split RunE into phase-specific files
  • c399385 refactor(sbom): simplify SBOM generation by removing configuration options
  • 6fc83a7 refactor(tests): replace mockPackagistAPI with stubShopwareVersions for improved test isolation
  • b8a9375 refactor(tui): update PrintBanner function and remove RenderHeader
  • b361e8e refactor: TwigIfNode uses Branches []TwigIfBranch instead of parallel slices
  • dede48e refactor: extract Dump methods into format.go
  • 0a89002 refactor: remove legacy artifacts now that the new parser is the only parser
  • 68ab8f8 refactor: replace byte-indexed parser with token-driven parser
  • 313b93d refactor: replace internal/spdx with github.com/shyim/go-spdx
  • e1af949 style(devtui): satisfy golangci-lint
  • 2c99543 style: fix import ordering via golangci-lint
  • 11c059a test(devtui): add coverage for state machine, overlays, lifecycle, and project cmds
  • 54f0439 test(project): drop cobra metadata assertions from logs/dev tests
  • 1bec418 wip: add lexer, tokens, pos, errors for parser rewrite
  • c933bdf wip: add tag registry and parser struct scaffolding