0.16.0-alpha-4
Pre-release
Pre-release
·
626 commits
to main
since this release
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