Files
wc-bootstrap/CHANGELOG.md
magdev cb2d064441
All checks were successful
Create Release Package / PHP Lint (push) Successful in 59s
Create Release Package / Build Release (push) Successful in 1m11s
Prepare v0.1.1 bugfix release
Update CHANGELOG.md with v0.1.1 entry (dark mode selects, notice
styling, product card overflow). Bump version in style.css. Document
CSS specificity learnings in CLAUDE.md. Update README release example.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 19:32:34 +01:00

5.8 KiB

Changelog

All notable changes to this project will be documented in this file.

[0.1.1] - 2026-02-28

Fixed

  • Dark mode: native <select> elements showing white background due to WooCommerce's --wc-form-color-background falling back to #fff
  • Dark mode: SelectWoo/Select2 dropdowns (country/state pickers) rendering with hardcoded #fff backgrounds, text colors, and borders
  • Dark mode: checkout form focus ring color for inputs, textareas, and selects
  • WooCommerce notice borders not matching Bootstrap alert styles due to insufficient CSS specificity (bumped to .woocommerce .woocommerce-* at 0,2,0)
  • WooCommerce notice border-top: 3px solid and background-color: #f6f5f8 overriding Bootstrap alert colors
  • Double icons on WooCommerce notices (WooCommerce icon font ::before conflicting with Bootstrap Icons)
  • Product card images overlapping top rounded corners on catalog page (added overflow-hidden to card)

[0.1.0] - 2026-02-28

Added

  • Docker development environment: multistage Dockerfile (WooCommerce download, wp-bootstrap npm build, Composer deps, WordPress runtime), Compose stack with MariaDB, auto-setup entrypoint
  • Private registry image name and restart policies for Docker stack
  • My Account polish: endpoint icon map, offcanvas-lg responsive navigation with sticky sidebar, card-based dashboard with avatar welcome greeting and quick-action grid, card-wrapped forms with icon headers, view-order summary card with status badge
  • Product archive: Bootstrap 5 card grid with responsive columns, sale badges, star ratings, offcanvas sidebar for mobile filters, shop-sidebar widget area
  • Single product layout: two-column responsive grid (image gallery + product summary), bridge for wc_get_template_part() interception, disabled WooCommerce block compatibility layer
  • Global $product injection into Twig context for loop sub-templates
  • CSS overrides: WooCommerce float/width layout reset, sale badge repositioning, shop_table border reset, gallery opacity fallback, My Account max-width reset

Fixed

  • Rename base.html.twigwc-base.html.twig to prevent shadowing the parent theme's page shell via Twig FilesystemLoader path priority
  • CSS dependency handle from unregistered woocommerce to woocommerce-general for wc-bootstrap-overrides stylesheet
  • WooCommerce float-based two-column layout (width: 48% + float) fighting Bootstrap grid on single product pages
  • Nested content wrapper doubling parent theme's .container
  • Sale badge escaping image column and blocking breadcrumb clicks
  • |nl2br|esc_html filter order in order details (was escaping <br> tags)
  • HTML entity double-encoding (&hellip;) in up-sells, cross-sells, and related product headings
  • Wrong function() is defined guards in cart totals, review order, checkout login, and terms templates
  • Duplicate deprecated hook fires in dashboard template
  • Missing |raw on brand description HTML filter chain
  • Missing role="alert" on variation add-to-cart for accessibility
  • Missing |esc_attr on notification type class attribute
  • Missing is defined guard on hidden variable in global form-login
  • Pagination URLs using ?page= instead of get_pagenum_link() for archives
  • Double-escaped &ndash; in result count
  • Underscore.js triple-brace syntax conflict in variation template (wrapped in {% verbatim %})

[0.0.1] - 2026-02-28

Added

  • Initial theme scaffold (style.css, functions.php, Composer autoload)
  • Comprehensive template conversion plan (PLAN.md)
  • Phase 1: Global templates (wrapper, breadcrumb, sidebar, quantity-input, form-login) and notices (success, error, info)
  • Phase 2: Product archive and shop loop templates (archive-product, content-product, loop components, pagination, orderby, sale-flash)
  • Phase 3: Single product page templates (image gallery, title, price, meta, stock, tabs, add-to-cart forms for simple/variable/grouped/external)
  • Phase 4: Cart templates (cart table, empty cart, cart totals, shipping calculator, mini-cart, cross-sells)
  • Phase 5: Checkout templates (form-checkout, billing/shipping forms, coupon, order review, payment methods, terms, thank-you)
  • Phase 6: My Account templates (dashboard, navigation, orders, view-order, addresses, edit-address, edit-account, downloads, payment methods, login/register, password reset)
  • Phase 7: Order details templates (order-details, order-details-item, order-details-customer, form-tracking, order-again)
  • Phase 9: Supplementary templates (brands, OAuth auth, back-in-stock form)
  • Reusable Twig components (card, pagination, price, rating, address-card, status-badge, quantity-input, form-field)
  • WooCommerce-to-Twig rendering bridge (TemplateOverride + WooCommerceExtension)
  • ~50 WooCommerce/WordPress Twig functions and 7 Twig filters
  • Stack-based output buffering for nested template interception
  • Bootstrap 5 override stylesheet (wc-bootstrap.css)
  • Quantity +/- button JavaScript handler
  • Sticky header scroll shadow behavior
  • Parent theme rendering delegation via woocommerce_render_page filter
  • Theme wrapping signal via woocommerce_is_theme_wrapped filter
  • CI/CD release workflow (Gitea Actions)
  • Translation support (.pot template ready)
  • Docker development environment (multistage Dockerfile, Compose, auto-setup entrypoint)

Fixed

  • Rename base.html.twigwc-base.html.twig to prevent shadowing the parent theme's page shell via Twig FilesystemLoader path priority
  • Correct CSS dependency handle from woocommerce to woocommerce-general for wc-bootstrap-overrides stylesheet

Skipped

  • Phase 8 (Email templates): WooCommerce emails use wc_get_template_html() which bypasses the Twig rendering pipeline. Default email templates are sufficient; customization can be handled via dedicated email plugins.