The 2.1.0 version of the Hummingbird theme is now available! 🎉
A quality-driven follow-up to the major 2.0.0 overhaul, bringing checkout improvements, accessibility, SEO & structured data enhancements, and a large batch of fixes and
improvements. Hummingbird remains the default theme in PrestaShop 9.1+ (Classic stays available).
The README now includes a compatibility table to make it easy to find the right Hummingbird version for your PrestaShop install.
Note
📚 In parallel, the Theme section of the developer documentation has been completely reworked, with a dedicated chapter for Hummingbird (concepts, customization,
guidelines and reference): https://devdocs.prestashop-project.org/9/themes/
✨ Highlights
🛒 Checkout
- Improved checkout steps: step navigation refactored into a reusable component, with steps generated dynamically from a
$checkout_stepsarray (no more hardcoding)
♿ Accessibility (EAA)
- Improved heading hierarchy and table semantics on the order detail page
- Accessible product thumbnails list and real heading for payment information
- Better mobile menu, social follow, and rich-text link accessibility
requiredon date fields, missing form labels added, duplicate IDs & redundant ARIA removed
🔍 SEO & structured data
- Server-side JSON-LD now used when available, with safer encoding/escaping
- Enhanced product-list JSON-LD for richer SEO output
🧩 Customization & features
- Product actions wrapped in a dedicated
product_actionsblock for easier add-to-cart overriding in child themes - More breadcrumb blocks for easier theme customization
- Password policy improvements
- HTML support in product flags
🛠 Developer experience
- New AI development context (
CONTEXT.md) - Continued jQuery removal
filter-handler&productcommentsnow use nativeURLAPIs - Cleaner SCSS architecture (removed
@extend)
🐛 Notable fixes
- Fixed tax-less price display and obsolete
product_without_taxesblock - Fixed manufacturer/brand link 404s and color swatch behavior
- Fixed checkout step buttons on virtual carts
- Fixed WebPack
preloadFontsresolution in watch mode
📋 Full Changelog: v2.0.0...v2.1.0
📚 Theme documentation: https://devdocs.prestashop-project.org/9/themes/
What's Changed
- ContactForm: Hide subject dropdown when only one contact is available by @Codencode in #932
- Accessibility: add some
aria-hidden,labels... by @yannicka in #936 - Fix duplicate breadcrumb block declaration in partial by @Codencode in #940
- fix: allow default message to be displayed if psData is not set in usePasswordPolicy by @aeyoll in #941
- Backport PR 947 from develop to 2.x by @tblivet in #950
- Fix checkout step navigation and CTAs for virtual-only carts by @tblivet in #949
- Refactor product actions into a block by @Maofree in #956
- Add LICENSE.md and header stamps check by @ga-devfront in #958
- Add autoindex and missing index.php files by @ga-devfront in #959
- backport: Cherry-pick AI context and CI updates from #961 and #964 by @ga-devfront in #972
- Remove JQuery from productcomments.ts by @ga-devfront in #967
- Remove JQuery from filter-handler.ts by @ga-devfront in #968
- Dynamically generate checkout navigation steps by @ga-devfront in #970
- Fix checkout step hook navigation by @ga-devfront in #975
- AI context enhancement by @tblivet in #983
- fix ps_customersignin.tpl Sign in url by @mcaldex in #977
- Enhanced product-list-jsonld by @tblivet in #981
- Add PrestaShop compatibility table on the readme by @tblivet in #987
- Fix order detail hook display by @tblivet in #986
- Allow HTML in product flags by @Hlavtox in #992
- Fix issue: The WebPack preloadFonts configuration incorrectly resolves font URLs in npm run watch mode. by @metineren in #997
- Fix layer issue created by the use of SCSS extend by @tblivet in #998
- Fix display order detail hook by @tblivet in #1000
- bump: to version 2.1.0 by @ga-devfront in #1001
- Fix GitHub actions by @ga-devfront in #1002
- Fix release GitHub Action by @ga-devfront in #1003
- Fix/release action by @ga-devfront in #1004
- Update storybook workflow trigger branch from dev to develop by @ga-devfront in #1009
- Fix color swatch issue by @tblivet in #1014
- Fix json ld encode by @tblivet in #1018
- Improve rich text link accessibility in Hummingbird theme by @Codencode in #1028
- Add required attribute to date field in Hummingbird form template by @Codencode in #1027
- Improve social follow link accessibility by @Codencode in #1040
- Improve order confirmation payment information heading semantics by @Codencode in #1039
- Improve order detail page heading hierarchy and table accessibility by @Codencode in #1038
- Remove duplicate IDs from customer account module links in Hummingbird by @Codencode in #1033
- Use server side structured data if available by @Hlavtox in #1037
- Fix mobile menu aria label by @Codencode in #1024
- Manufacturer 404 links issue by @tblivet in #1042
- Remove product_without_taxes block as it is never displayed by @tblivet in #1041
- Improve password policy handling by @tblivet in #1044
- Fix page scrolling to top when navigating the search with the keyboard by @tblivet in #1045
- Fix inline stylesheet rendering with nofilter by @Maofree in #1047
- Improve product thumbnails list markup accessibility by @Codencode in #1046
- Fix searchbar not searching on paste by @tblivet in #1049
- Add subcategories hook by @Hlavtox in #1053
- Fix duplicate product manufacturer block name in product page by @Codencode in #1052
- Fix product variants legend markup in Hummingbird by @Codencode in #1054
- Fix register searchbar outside-click listener once instead of on every search by @tblivet in #1056
- Add a hook to display content under cart summary by @Hlavtox in #1055
- Prepare release 2.1 by @tblivet in #1051
- Fix unbalanced markup in the customer order templates by @boo-code in #1061
- Fix back param issue by @tblivet in #1064
- Add alt text to product customization images by @boo-code in #1057
- Debounce the scroll-padding resize handler to avoid forced reflow by @boo-code in #1058
- Label the birthday date fields as an accessible group by @boo-code in #1059
- Replace outer nav element with div in pagination template by @Codencode in #1065
- Render the form field attr attributes in the form fields partial by @boo-code in #1063
- Update brand and supplier image display by @tblivet in #1075
- Improve style image format by @tblivet in #1077
- Fix blurry product cover image below the lg breakpoint by @boo-code in #1073
- Mark the redundant payment-option logo as decorative by @boo-code in #1060
- Include the visible label in the product card details link accessible name by @boo-code in #1071
- Guide visitors from the search no-results page instead of dead-ending by @boo-code in #1069
- Render radio attribute groups as buttons on the product page by @boo-code in #1067
- Support an optional id prefix in the form fields partial by @boo-code in #1062
- Release update by @tblivet in #1079