Releases: PrestaShop/hummingbird
Release list
v2.1.0
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...
v2.1.0-beta.2
What's Changed
- 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
Full Changelog: v2.1.0-beta.1...v2.1.0-beta.2
v2.1.0-beta.1
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
New Contributors
- @aeyoll made their first contribution in #941
- @Maofree made their first contribution in #956
- @mcaldex made their first contribution in #977
- @metineren made their first contribution in #997
Full Changelog: v2.0.0...v2.1.0-beta.1
v2.0.0
Overview
The 2.0.0 version of the Hummingbird theme is now available! This significant step forward represents a major overhaul of the theme's core architecture. Hummingbird will become the new default theme in PrestaShop starting from version 9.1, while the Classic theme will remain available. Hummingbird is compatible with PrestaShop 9.1 and above.
After a monumental effort, totaling over 490 commits, over 580 file changes, over 30 000 additions, and over 50 000 deletions, this release brings major improvements to the performance, accessibility, compatibility, and ease of customization for your PrestaShop store.
✨ Major new features
- Faster site and better SEO optimization: Your site will be quicker and better optimized for search engines.
- Enhanced accessibility: The theme complies with over 93% of European standards (EAA), creating a more inclusive store.
- Modernized structure: This facilitates easier customization for developers.
- Smarter image loading: Lazy loading is implemented to improve navigation speed.
- Improved code readability: The use of the BEM convention makes the code easier to adapt for customization.
- Structured data added (JSON-LD): This provides better visibility on search engines.
- New hooks for PrestaShop modules: Offering greater flexibility for module integration.
- Better organized styles: There is a clear separation between Bootstrap styles and PrestaShop-specific styles.
- jQuery is no longer required for the theme (but remains available for modules that need it).
🛠 Improvements for developers
- New file organization: For cleaner code and easier navigation.
- New SCSS architecture: Modular and scalable for long-term maintenance.
- Use of
@layerin CSS: For better management of style priorities. - Dark Mode ready theme: Based on Bootstrap and ready to be implemented.
- New Docker-based development environment: To save development time.
- Major refactoring and template harmonization: For a more modular and consistent approach.
- Cleanup of
package.jsonand removal of unnecessary dependencies. - Major refactoring of several native modules:
ps_mainmenups_facetedsearchps_featuredproductsproductcommentsps_imagesslider- and more
- New, clearer, and more complete
README: Including an update to theCONTRIBUTING.mdfile to facilitate contributions. - Migration and update of storybook v6 → v8.
🐛 Fixes and optimizations
- Numerous bug fixes across templates and styles
- General optimizations.
With Hummingbird 2.0.0, you have a solid, modern, and future-ready theme for PrestaShop. It is an excellent foundation for creating high-performance, accessible, and customizable stores.
Here is the release link: https://github.com/PrestaShop/hummingbird/releases/tag/v2.0.0
New Contributors
- @Touxten made their first contribution in #727
- @MonsieurRb made their first contribution in #730
- @bibips made their first contribution in #722
- @novomusica made their first contribution in #666
- @mgielecinski made their first contribution in #823
- @Nakahiru made their first contribution in #804
- @nicohery made their first contribution in #871
Full Changelog: v1.0.1...v2.0.0
v2.0.0-beta.5
What's Changed
- Remove shipping cost in order details for multi-shipment scenarios by @M0rgan01 in #918
- Use ps_imageslider options with Bootstrap slider by @tblivet in #920
- Move displayProductPriceBlock hook position by @tblivet in #924
- Improve gift display on cart and cart summary by @tblivet in #925
- Refactor quantity inputs following recent CORE changes by @tblivet in #926
- Add stock informations on cart page by @tblivet in #919
Full Changelog: v2.0.0-beta.4...v2.0.0-beta.5
v2.0.0-beta.4
What's Changed
- Use proper, standardized values in quantity input by @Hlavtox in #902
- Added a compatibility layer for orders without shipments by @M0rgan01 in #906
- Add alert message on ps_emailalerts by @tblivet in #912
- Add data for UI tests on ps_facetedsearch by @tblivet in #913
- Update configuration and add explicit configuration in hooks by @tblivet in #907
- Fix for UI test blockwishlist by @tblivet in #911
- Fix structured data related to conditions by @Hlavtox in #914
- Converted UPC to gtin13 in product schema by @mgielecinski in #916
Full Changelog: v2.0.0-beta.3...v2.0.0-beta.4
v2.0.0-beta.3
What's Changed
- Feat update product display for ps_crossselling module by @tblivet in #872
- Fix jsonld error when no manufacturer / brand is set by @nicohery in #871
- Handle line breaks in comment content display by @tblivet in #876
- Feat subcategories improvements by @tblivet in #875
- Fix source-map on watch and dev mode by @tblivet in #878
- Fix smarty/html typos by @mgielecinski in #877
- Fix missing labels when a product has no images by @tblivet in #880
- Fix the supplier page and update the brand page by @tblivet in #883
- Add distinction class on discounts on checkout page by @tblivet in #889
- Fix bad contact link on 404 and 410 pages by @tblivet in #890
- Fix product discount table update and show_price condition by @tblivet in #891
- Add a conditional alert message for TOS validation by @tblivet in #892
- Feat harmonize toast and colors by @tblivet in #895
- Feat add missing hook displayAddressSelectorBottom by @tblivet in #897
- Feat add specific CSS class on product details by @tblivet in #898
- Feat webp support on category and subcategories by @tblivet in #899
- Keep existing hooks in the theme config by @jolelievre in #894
- Add sticky position to the right column on the cart and checkout page by @mgielecinski in #901
- Refactor emailalerts and psgdpr modules by @tblivet in #903
New Contributors
Full Changelog: v2.0.0-beta.2...v2.0.0-beta.3
v2.0.0-beta.2
What's Changed
- Prevent adding invalid values to quantity inputs by @tblivet in #835
- feat: add carrier name under each product on order history page by @Nakahiru in #804
- [FEAT] update issue and discussions templates by @ga-devfront in #825
- [FIX] Trigger updateProduct after product add to cart modal is closed by @tblivet in #841
- [IMPROVEMENT] Add debouncing to quantity selection on the product page by @tblivet in #844
- Fix incomplete condition on order detail and improve shipment flag by @tblivet in #849
- Fix body spacing by @tblivet in #853
- Fix customizable products quantity + returns by @tblivet in #855
- Fix display additional_delivery_times by @tblivet in #852
- Prevent duplicate product removal on fast double-click by @tblivet in #859
- [IMPROV] add project to issue then opened by @ga-devfront in #862
- Fix the minimum quantity alert message in the cart by @tblivet in #861
- Feat add unit price on summary by @tblivet in #866
- Feat update product display for ps_viewedproducts module by @tblivet in #867
New Contributors
Full Changelog: v2.0.0-beta.1...v2.0.0-beta.2
v2.0.0-beta.1
What's Changed
- Format availability for the new style by @Hlavtox in #658
- Fix issue #664 by @marsaldev in #665
- Bump version 1.0.1 by @jolelievre in #669
- use actions/cache v4 by @tswfi in #689
- Add displayCartExtraProductInfo hook by @jf-viguier in #699
- [Idea] Add the <textarea> element among the available types for the FromField class by @Codencode in #698
- New hook at TOP of customer my account section - displayCustomerAccountTop by @ShaiMagal in #701
- Add an attribute minlength if provided by @Progi1984 in #712
- Add contributors by @Touxten in #727
- add * for mandatory field by @MonsieurRb in #730
- refactor: remove <style> section and use bootstrap class instead by @bibips in #722
- V2 – The BIG merge of improvements → develop by @tblivet in #803
- Update product-jsonld.tpl - Unexpected type for brand. Expected types: Brand, Organization by @novomusica in #666
- 20251110 npm audit fix by @tswfi in #807
- Update rating based on the future release of the module. by @tblivet in #810
- Fix old QA feedbacks by @tblivet in #811
- Readme anchor fix by @tblivet in #826
- Fix README anchor icon bug by @tblivet in #827
- Docs host README images in the repository and update existing images by @tblivet in #829
- Feat add fetchpriority by @tblivet in #830
- Fix small a11y fixes by @tblivet in #831
- Adding a red asterisk to the required checkboxes by @mgielecinski in #823
- Small fixes related to the global Hummingbird theme QA review by @tblivet in #832
New Contributors
- @Codencode made their first contribution in #698
- @ShaiMagal made their first contribution in #701
- @Touxten made their first contribution in #727
- @MonsieurRb made their first contribution in #730
- @bibips made their first contribution in #722
- @novomusica made their first contribution in #666
- @mgielecinski made their first contribution in #823
Full Changelog: v1.0.0...v2.0.0-beta.1
v1.0.1
Changes
- #715: Release 1.0.1 by @jolelievre
- #712: Add an attribute minlength if provided by @Progi1984
- #701: New hook at TOP of customer my account section - displayCustomerAccountTop by @ShaiMagal
- #698: [Idea] Add the <textarea> element among the available types for the FromField class by @Codencode
- #699: Add displayCartExtraProductInfo hook by @jf-viguier
- #689: use actions/cache v4 by @tswfi
- #670: Release v1.0.1 by @jolelievre
- #669: Bump version 1.0.1 by @jolelievre
- #665: Fix issue #664 by @marsaldev
- #658: Format availability for the new style by @Hlavtox