## [2.2.0] - 2026-05-05
### Added
- Prices are consistently hidden in cart, off-canvas cart, header cart widget and confirm page when the user is not allowed to see prices
- "Proceed to checkout" button on the cart page is hidden and replaced with a login hint
- "Place order" button on the confirm page is hidden and replaced with a login hint
- Aside summary (subtotal, shipping, VAT, total) replaced with a login hint when the user is not allowed to see prices
- New snippets `bronn-hide-prices.cartHidden` and `bronn-hide-prices.cartCheckoutBlocked` (DE + EN)
### Changed
- Header cart widget now only shows the item count, no total amount
- Unit, total and tax price per line item are replaced with an em-dash ("—") in the cart
### Background
- Closes the Shopware Store reviewer feedback from 2026-05-04: Until now, guests could see prices in the cart once they added a product. Prices are now consistently hidden across the entire checkout flow as long as the user is not allowed to see prices.
# 2.1.0
## Fix: Category exceptions via product.categoryTree across all templates
### Category Exceptions- Category exceptions now use `product.categoryTree` instead of the current `navigationId`- Products in excluded categories display prices correctly regardless of which page they are accessed from- Affects: detail page (buy-widget), listing (price-unit, box-standard) and search (search-suggest)- Variable `bronnHidePricesCurrentCategoryId` removed from subscriber (no longer needed)
# 2.0.5
## Fix: Search – category exceptions and login hint removed
### Search Results (Suggest Dropdown)- Category exceptions now also apply in live search (via `product.categoryTree`)- Products from excluded categories display prices correctly- Login hint completely removed from suggest dropdown – either price or nothing- Cleaner appearance in search dropdown without distracting hint text
# 2.0.4
## Fix: Umlauts in plugin configuration
### Configuration- All German labels and help texts in config.xml now use correct umlauts (ä, ö, ü)- Previously used transliterations like "fuer", "Gaeste", "koennen" – now "für", "Gäste", "können"
# 2.0.3
## Snippet keys: naming convention aligned with plugin standard
### Snippets- Snippet keys changed from `bronn.hidePrices.*` (dot notation) to `bronn-hide-prices.*` (hyphen notation)- Consistent naming convention with all other BC plugins (e.g. `bc-offer-request.*`)- Template references updated to new keys- Programmatic snippet import creates keys correctly in the database
# 2.0.2
## Cleanup: Custom hint text removed from configuration
### Login Hint- Card "Login Hint" with textarea field removed from config.xml- Hint text is now managed exclusively via Shopware snippets (`bronn-hide-prices.loginHint`)- Shop owners change the text via Settings → Snippets in the admin- Custom hint logic removed from StorefrontSubscriber and login-hint.html.twig
# 2.0.1
## Snippets: naming convention and structure
### Snippet Convention- All snippets changed to `bronn.hidePrices.*` prefix (nested JSON structure)- Old snippet files (`bronn-hide-prices.*`) removed- New files: `bronn.hidePrices.de-DE.json` / `bronn.hidePrices.en-GB.json`- Template references updated to new keys- Snippets are automatically loaded on install and update via Shopware's SnippetFileLoader
# 2.0.0
## Feature Release: Customer groups, exceptions and custom hint
### Customer Group Control- New configuration section "Customer Groups" with entity multi-select- Prices can now also be hidden for logged-in customer groups- Guests and customer groups configurable separately (`hideForGuests` + `customerGroupsHide`)
### Category and Product Exceptions- New configuration section "Exceptions"- Individual categories can be excluded from price hiding (entity multi-select)- Individual products can be excluded from price hiding (entity multi-select)- Exceptions apply on detail pages, in listings and in search
### Configurable Login Hint- New configuration section "Login Hint"- Custom hint text (HTML supported) overrides the default snippet- Individually configurable per sales channel
### Architecture- New `StorefrontSubscriber` as central logic for visibility checks- `services.xml` created for service registration- Template overrides now use subscriber variables instead of direct `config()` calls- Clean block structure in all templates for better extensibility- Additional snippet `loginHintShort` for compact displays (DE + EN)
# 1.1.1
## Fix: Configuration displays German correctly
### Language Attributes- All ``, `` and `` entries in config.xml now have explicit `lang="de-DE"` attribute- Shopware does not recognise tags without `lang` attribute as German and falls back to English- Configuration page now displays correctly in the admin language
# 1.1.0
## Store Conformity and Theme Compatibility
### Configuration- Missing help texts for area toggles added to config.xml (DE + EN)- All configuration fields now have complete bilingual labels and help texts
### SCSS / Theme Compatibility- Hardcoded colour values replaced with Bootstrap variables ($text-muted, $link-color, $link-hover-color)- Unnecessary CSS rule for listing centering removed (inherited from theme default)- Plugin is now compatible with any Shopware theme
### Cleanup- Deprecated empty template files removed (buy-box.html.twig, quickview/minimal.html.twig)- .DS_Store removed
### Metadata- composer.json updated with description, manufacturerLink and supportLink (DE + EN)- shopware/storefront added as dependency- Version bumped to 1.1.0
# 1.0.0
## Initial Release
- Hide prices for non-logged-in customers (product listings, detail page, search results)- Hide add-to-cart button for guests- Configurable login hint with snippets (DE + EN)- Individually controllable areas via plugin configuration- Global on/off switch