change log
All the HikaShop team puts a lot of energy in this project and works every day to improve the component and your user experience, by adding new features and fixing bugs.

We advise you to update HikaShop each month to enjoy the latest version.
(You can download the package in your member area or click on the automatic update button directly on your back-end.)

Here is the list of each release since we started the HikaShop adventure...

 

HikaShop 6.5.1

Release date : July, 11 2026

Bug fixes (51)

  • Hardened the sorting of the product and order listings.
  • Hardened the order actions available to customers from their account pages.
  • Hardened the processing of uploaded files.
  • When saving a product whose alias is already used by another product, the alias is now really modified automatically to avoid the conflict, with a warning telling you about the change, as originally intended: a typo prevented the mechanism from ever running. Existing products get their product id appended to the alias and new products get an incrementing number.
  • The checkout page no longer displays "Undefined property ... $address" PHP warnings when a visitor registers a new account during the checkout. The warnings only appeared when the error reporting of the site was set to a strict level and did not affect the address form, which kept working normally, but they are now gone.
  • Opening a custom field for editing no longer produces a "Cannot access offset of type string on string" error when the field's stored options are empty or malformed in the database (for instance a field created by a third party plugin). The field options are now always treated as an empty list in that case, so the field editor keeps working.
  • On the product page, the custom item fields of a product with variants are shown again when the variants have no price of their own and inherit the price of the main product. They were hidden in that case because the product was treated as free, even though it is actually sold at the inherited price. This only happened when the "Display the add to cart button for free products" option was turned off. Products whose variants carry their own prices were not affected.
  • When editing an order in the backend, adding a second tax rate to a product line now keeps that tax on the line and in the order total. Previously, if the name of one of the tax rates contained a comma (for example "Recargo Equivalencia 5,2%"), saving the order dropped that tax and only the other rate was applied, because the list of tax rates assigned to the product was stored as a comma separated text and the comma inside the rate name split it apart. Tax rates whose names do not contain a comma were not affected.
  • The product listing view switcher now switches the products to a single column when the visitor chooses the list view. Since the product and category listings moved to a CSS grid layout, clicking the list view button kept the products in their usual columns and only rearranged the content inside each product, so the list view looked almost identical to the grid view. Switching to the list view now places one product per row as intended, while the grid view is unchanged.
  • Updating HikaShop no longer stops with a "Cannot redeclare com_install()" fatal error on sites that also have an older third-party component built on the legacy Joomla 1.5 installer (for example the PayZen com_payzen component). HikaShop kept declaring the old com_install() install function on Joomla 4 and later, where Joomla no longer calls it, and a component that tested for that function the wrong way around then tried to redeclare it and halted the update. HikaShop now declares that legacy function only on the Joomla versions that actually use it (before Joomla 4), so the update goes through. Sites without such a component were not affected.
  • Recently viewed products are recorded again for products that have variants, so a products module or menu ordered by the "product_last_seen_date" field (the "last products viewed by everyone") and the per-visitor "Recently viewed" listing both fill up correctly. Since the product page was reworked in version 6.4.0, viewing a product that has variants saved the visit on the selected variant instead of on the main product, and listings only show main products, so those views never appeared and the recently viewed lists stayed empty or stale for such products. The visit is now always recorded on the main product. Products without variants were not affected.
  • A required custom field displayed as radio buttons or checkboxes on the product page now stops the product from being added to the cart until the customer actually makes a choice. Since the product page was reworked in version 6.4.0, when such a field was left empty its first option was sent automatically as the product was added to the cart, so the product went into the cart with that first value and the customer was never required to choose. The field now blocks the add to cart with the usual message asking to fill it in until an option is selected, so an order can no longer be placed with an unintended default value. Fields where the customer did make a selection, and fields displayed as dropdown menus, were not affected.
  • On product pages whose view has been customized (overridden) before version 6.4.0, the price, name and image now update again when a visitor selects a variant while the characteristics are displayed as radio buttons. Since 6.4.0 the product page is no longer wrapped in a single form, and the default product page view tags the characteristic fields so the script can still find the selected radio button. A product page view that was customized before that change does not have this tag, so on those pages the script could not read the selected characteristic and the displayed price stayed on the default variant (the correct variant was still added to the cart at the correct price). The script now reads the characteristics directly from the product page, so variant selection works whether or not the product page view has been customized. Variants displayed as dropdown menus were not affected.
  • The "number of items per page" dropdown shown below the product and category listings now has an accessible name, so accessibility and SEO audits such as Google PageSpeed Insights and Lighthouse no longer report it with the "Select element must have an accessible name" warning. The dropdown had no label, so screen readers and audit tools could not tell what it was for; it now carries an "Items per page" label that assistive technologies announce, with no visible change to the page.
  • A product that uses variants but has none of them published is no longer offered for sale as a free product. When every variant of a product was unpublished, the product lost its variants and was displayed like a simple product with no price, so it still appeared in the shop and could be added to the cart for nothing. Such a product is now shown as out of stock with no "Add to cart" button, and adding it to the cart is refused as well, so unpublishing all of a product's variants takes it off sale as expected. Products that still have at least one published variant are unaffected.
  • A mass action that runs a custom SQL query or PHP code from an order trigger no longer shows a "requires Super User privileges" error to your customers on the checkout confirmation page. The privilege check was also running while an order was being placed, where the current user is the shopper and not an administrator, so the action was skipped and the error was shown to the customer. The Run PHP code, Run SQL query and Send HTTP request actions are now restricted to Super Users where they are selected, saved and run, instead of when they execute. Order-triggered and scheduled mass actions run normally again, while these powerful actions stay limited to Super Users and are hidden from the action list for other administrators.
  • Adding a new product that has images now keeps you on the product edit form when a required custom field was left empty, instead of stopping the save with a fatal error page. When the save was refused because of a missing required field, the form was shown again with the uploaded images reduced to plain identifiers, and redisplaying it then failed. The images are now restored as proper entries when the form reappears, so you stay on the form with your data and your images kept, ready to fill in the missing field and save.
  • The product filters, such as the price slider, no longer disappear after a filter is applied when the filter module refreshes the list without reloading the page (its "Force redirect" option turned off) and another extension or the template has a JavaScript error on the page. After such a refresh HikaShop re-runs the page scripts, and a single failing third-party script used to stop that process and leave the price slider blank until the page was fully reloaded. Each script is now run on its own, so one faulty script can no longer prevent the filters from being redisplayed.
  • The product filters no longer disappear after a filter is used on sites with search engine friendly URLs turned on, where every filter but the search box vanished until the page was fully reloaded. When the filters refresh in the background without reloading the page, that request could come back as the whole page instead of just the filter block, and HikaShop then replaced each filter with the first block found on the page, which was usually the search filter. HikaShop now always restores the matching filter block, so the price, characteristic and category filters stay visible after filtering. This happened whatever the filters' "Dynamic display" setting, which is why turning that option off did not help.
  • The product page structured data (the JSON-LD that Google reads for search results) no longer reports customer comments that have no star rating as zero-star reviews, which Google Search Console rejected with a "Rating is outside the specified or default range" error. On shops where ratings and comments can be submitted separately, a comment left without a star rating was output as a review with a rating of 0, and those empty ratings were also pulled into the product's overall rating and review count. The structured data now includes only votes that actually carry a star rating, so the reported average and review count match what the website already shows. Comments without a rating stay visible on the product page exactly as before; they are simply no longer sent to search engines as zero-star reviews.
  • The FedEx 2 shipping plugin now returns rates for addresses that have no state or province. The plugin read the state code without checking that a state was set, which raised a "zone_code_3 on null" warning and, on United States and Puerto Rico addresses, then sent an empty state to FedEx, which FedEx rejects, so no rate was returned. The plugin now reads the state safely and only sends a state to FedEx when one is present, so an address with just a country and a postcode still gets rates.
  • The price range slider in the product filters no longer disappears after a filter is used, on shops where the price filter had its "deletable" option turned on. With that option on, selecting a price range replaced the slider with a small removable label, and after clearing the price the slider did not come back until all the filters were reset. A price filter is now always shown as a slider, with its clear button kept beside it, so the slider stays visible whatever filters are applied.
  • On WordPress, the rich text editor inside forms loaded over AJAX (such as the product variant edition form) can now be switched to the Visual tab without breaking. These forms are rendered outside the normal WordPress admin page, so WordPress did not output the editor TinyMCE configuration and clicking Visual threw a JavaScript error that left the editor unusable. HikaShop now outputs the needed editor configuration inline for these AJAX-loaded forms, while preserving the configuration of any other editors already on the page.
  • Live shipping rates from the FedEx, UPS and other carrier plugins now appear correctly when the list of shipping methods refreshes automatically as the customer types the address during the checkout. Until now these plugins could not load an address that had not been saved yet, so their rates did not show, and with debugging turned on the FedEx plugin reported an "Attempt to assign property address_country on true" error. The address being entered is now kept available to the carrier plugins so they can request their rates against it during the live refresh.
  • The price in the product page structured data (the JSON-LD that Google reads for search results and Google Merchant) now follows the shop's "Show taxed prices" display setting when the Google / Meta Products plugin has not been configured. After the structured data was reworked to use JSON-LD as the single source, the price fell back to the pre-tax value on shops that had not set up the Google Products plugin, so Google could show a price without tax while the website showed the tax-included price. When the plugin is not configured, HikaShop now uses the same with-tax or without-tax choice as the prices shown on the site; shops that have configured the plugin keep using its own "Taxed prices" option.
  • The "Configure display options" popup for HikaShop module blocks (products, cart, and others) in the WordPress block editor now shows the options form with its proper styling and working controls, instead of a bare unstyled list of fields. The popup output the form markup but not the stylesheets and scripts that the options view registers on the page, so the layout picker, the columns and rows grid selector and the styled toggles had no styling and did not work. The popup now outputs those stylesheets and scripts the same way the regular HikaShop admin pages do.
  • The "Terms and conditions" popup at checkout on WordPress now displays the configured page instead of a PHP warning followed by a "No article defined" message. The popup read the terms from Joomla's article table, which does not exist on WordPress, so nothing was found and the code then tried to read a property of the missing article. On WordPress it now loads the terms from the configured page, and the Joomla-only multilingual article handling is guarded against a missing article, so a deleted or misconfigured terms article no longer raises a warning on either platform.
  • HikaShop popups on WordPress, such as the cart's "edit product options" popup, now use the active theme's styling instead of appearing unstyled with default fonts, plain radio buttons and Bootstrap-coloured buttons. These component-only popups build a minimal HTML page that enqueued HikaShop's own assets but never triggered the active theme's stylesheet and font loading, so the popup had none of the site's design (and theme-provided touches such as colour swatches did not appear). The popup now fires the standard front-end asset loading, so the active theme styles it exactly like any other page.
  • Adding a product to the cart on WordPress no longer shows the confirmation notification twice, and other front-end scripts are no longer loaded twice. HikaShop fired its onBeforeCompileHead event in two places on WordPress (once when enqueuing the page assets and again while rendering the page content), so plugins that inject scripts on that event, such as the cart notification plugin, were included twice and registered their handlers twice. The event now fires only once per request, and the document script list is cleared after the scripts are enqueued so the content renderer does not emit them a second time.
  • Product characteristic options shown as radio buttons (for example colour swatches and size choices) now render with the correct markup and styling on WordPress. The radio-list helper on WordPress output a plain label and input without the Bootstrap form-check structure that Joomla produces, so template styling that targets those classes did not apply, and any HTML inside an option value (such as a colour swatch) was escaped and printed as raw text. The helper now produces the same form-check markup as Joomla and outputs the option labels without escaping, matching Joomla.
  • Product and category listing filters (the search box, the characteristic checkboxes and the price slider) now actually narrow the results on WordPress instead of only being displayed. The listing applies the selected filters only when the request is flagged as the main front-end component output; Joomla sets that flag when the component renders, but it was never set on WordPress, so submitting a filter reloaded the same full list of products. The flag is now set when HikaShop renders its main page content on WordPress, so the filters narrow the products there exactly as they do on Joomla.
  • HikaShop no longer stops with a fatal "Class JLoader not found" error when opening the checkout on WordPress. The checkout controller ran a Joomla-only block that resolves multilingual menu-item associations through the Joomla JLoader and MenusHelper classes, which do not exist on WordPress, so the page crashed before the checkout could be displayed. That block now runs only when those Joomla classes are available, so it is skipped on WordPress while continuing to work on Joomla multilingual sites.
  • Creating a product or category listing menu directly from the Joomla menu manager now applies the default display options set in the configuration (Display tab), in particular the number of columns and items, instead of always opening on a fixed 3 columns by 7 rows layout. Those default options were only used when the menu was created through the HikaShop menu manager; a menu created from the Joomla menu manager ignored them and fell back to a hard-coded 3 columns and 20 items. Both ways of creating a listing now start from the same configured defaults.
  • HikaShop now uses the Falang translation component only when it is actually installed and enabled, instead of as soon as its database table is present. The integration was switched on by the mere existence of the Falang table, so a site that had uninstalled or disabled Falang but kept its leftover table had HikaShop read and write translations through that stale table instead of using its own translation overrides. HikaShop now also checks that the Falang component is installed and enabled before using it.
  • The view editor (Display > Views) is now legible in dark mode. The builder cards, the drop zones and the draggable item boxes used hard-coded light colours that did not adapt to the back-end dark theme, which left dark text on dark boxes and a stray light panel. They now use proper dark colours with readable contrast when the back-end dark mode is active; the light mode is unchanged.
  • The "withdraw from contract" form (EU Directive 2023/2673) no longer sends a customer to the login screen instead of letting them submit. When the form was reached with an order reference (for example by following the withdrawal link from the order confirmation email), or when a guest submitted the standalone form for an order that was not in a withdrawable state or already had a request, HikaShop redirected to the account order listing, which requires a login, so the visitor hit the login page rather than the form or a clear message. Guests are now kept on the withdrawal form: following the link without being logged in shows the standalone form where they identify themselves with their order number and email, and a rejected submission shows the reason (not withdrawable, already requested) on the form instead of the login screen. Logged-in customers are unaffected.
  • Paybox and PayPlug (v2) payments are no longer charged one cent less than the order total on some amounts. When the order total had cents whose value could not be represented exactly in floating point (for example 270.28 or 128.64), the conversion to the integer amount sent to the gateway was truncated downwards (270.28 became 27027 instead of 27028), so the customer paid one cent short and the order was still validated because the return check used the same truncated value. The amount is now rounded to the nearest cent before being sent and verified, so it always matches the order total.
  • PayPal Checkout payments can be completed again on shops where the final step failed with an "Unknown error when processing order" message at the end of the PayPal popup, even though the buyer had already approved the payment. PayPal moved its API behind a stricter front-end that returns a generic "400 Bad Request" for the capture, authorize and re-authorize calls HikaShop was sending without a request body, so the payment was never captured. HikaShop now sends an empty JSON object as the body of those calls so PayPal accepts them again. Shops that were not affected keep working exactly as before.
  • The cart module now honors its "Hide if empty" option again in mini-cart mode with a configured icon. The 6.5.0 change that keeps the cart icon visible when the cart is empty was overriding that option; when "Hide if empty" is set to Hide, the empty mini-cart (icon included) is now hidden again as it was before 6.5.0, and when it is not, the icon stays visible as introduced in 6.5.0.
  • Creating or saving a product filter (search box) bound to a custom field no longer fails with a misleading "The chosen custom field is not available for this category" warning that also blanked the selected field, on sites that have the advanced date picker filter plugin installed. The date picker filter types render their own field selector in the filter form; while hidden, it shared the same form field name as the main custom-field selector and was not disabled, so it overrode the merchant's choice on save and submitted an empty value. The configuration panels of the inactive filter types are now disabled until their type is selected, so only the active selector is submitted.
  • The PayPal Checkout "Pay Later" messaging (for example "payer en 4x avec PayPal") shows again on product pages for shops whose currency is not US dollars. The messaging script was loaded without the shop currency, so PayPal evaluated the offer in its default US dollar context, found none and returned no content, leaving the message blank even though Pay Later was available at checkout. The shop currency is now passed when the messaging script is loaded, the same way the checkout buttons already do, so PayPal serves the message in the shop's currency. Shops in US dollars were unaffected.
  • The product display mode dropdown used by product listing modules and menus (Related products, In the same categories, From the same manufacturer, In the module's parent category, Other clients also bought) no longer drops one of its choices. Two of the choices were stored under the same internal list index, so one of them ("In the module's parent category") was overwritten and never appeared in the dropdown. All five choices are now listed and selectable.
  • Importing discounts from MijoShop or OpenCart now keeps each coupon's total usage limit instead of importing every coupon as having no limit. The usage quota was mapped twice during the import and the second mapping, a fixed 0, overrode the value read from the source shop, so all imported coupons arrived with their usage limit cleared. The limit from the source shop is now imported correctly.
  • On multilanguage sites, a product shown through Joomla's tags system no longer triggers a fatal error when its link is built. HikaShop's tag route helper used a language-lookup helper that recent Joomla versions removed from the base route helper class, so generating one of these links stopped the page with an "undefined method" error. HikaShop now provides that language lookup itself, so the link is built correctly with its language code. Single-language sites were not affected.
  • On the orders listing, the "Change status" mass action now respects the "Send notification email" checkbox when it is left unticked, so the status-change email is no longer sent to your customers against your choice. The checkbox was only tested for being present and not for its value, so the customer notification went out whether the box was ticked or not, in particular when the mass action had been saved. Ticking the box, and changing a single order's status from its own page, worked correctly and are unchanged.
  • The withdrawal confirmation email sent to the customer (EU Directive 2023/2673) now always lists the withdrawn products with their quantities and the billing and shipping address, the same way the copy sent to the shop already did. Until now that summary was only included when the withdrawal was submitted from the customer's order page, and was left out when the request came through the standalone withdrawal form (order number and email), so those customers received a confirmation without the list of what they had withdrawn.
  • The checkout no longer stops with a memory exhaustion fatal error ("Allowed memory size of X bytes exhausted") on some sites when a coupon is added to the cart. Since version 6.4.1, the coupon in the cart keeps an internal link back to its cart so that coupon plugins can check the cart content, and HikaShop's internal data duplication routine could enter an endless loop when it received data containing such a mutual link, exhausting the PHP memory. That routine now detects the situation and duplicates the data correctly, whatever plugins are used. Checkouts without a coupon were not affected.
  • On small screens, the downloads area of the customer account no longer shows the column names printed on top of the values. On narrow displays the downloads table is stacked vertically and each value is labelled with its column name, but the label was drawn at a fixed position without any room reserved for it, so a long product name, or a long column name such as "Limite du nombre de téléchargement" in French, overlapped its neighbour and became unreadable. The column name now has its own space on the left of each line, wrapping over several lines when needed, while the value stays on the right.
  • On wide or zoomed-out displays, the variant edit form of the backend product page no longer shows large empty gaps in its first row. Two invisible leftover elements of the previous layout were counted as blocks by the CSS grid the page now uses, and were placed right after the "Main options" block, pushing the "Images and files" block to the right and the "Prices" block down to the next row. The blocks of the form are now laid out side by side, like on the main product tab. This was only a display issue, all the fields kept working correctly.
  • The sub zones list of a zone no longer shows blank rows that cannot be deleted. When a zone that was used as a sub zone of another zone was deleted, its link to the parent zone was left behind in the database and appeared as an empty, undeletable line in the parent's sub zones list. Deleting a zone now also removes every link that tied it to other zones, so these blank lines no longer appear, and any blank line left over from a past deletion can now be removed with its delete button.
  • In the address form layout editor, the width button of each field (the double arrow icon in its toolbar) now changes the field width when it is clicked, cycling through the widths that fit the row while the other fields of the row adjust to keep it filled. It previously reacted only to being dragged left or right, so a simple click did nothing and the button looked unresponsive. Dragging the icon to resize a field still works as before, and the button can also be operated with the keyboard by giving it focus and pressing Enter or Space.

Improvements (17)

  • When you save a product whose variants are all unpublished, HikaShop now shows a warning that the product has variants but none of them is published, so it is not available for sale. The save still goes through; the message is only there to flag a state that is easy to reach by accident, for example after unpublishing the last variant of a product. Saving a product that has at least one published variant shows no such warning.
  • In the backend, the category tree shown beside the category listing now opens by default when the listing has nothing to show, instead of staying folded next to an empty list, which could look as if something was broken (for example when every category is nested under another one, so the top level is empty). Your own choice to open or close the tree is still remembered as before. The manufacturer listing behaves the same way.
  • When importing products, a column that matches a characteristic, or a custom product field of the dropdown, checkbox or radio type, no longer drops a value that does not exist yet: the missing characteristic value or field option is created automatically and the product is linked to it. A cell can hold either the stored value or the displayed label of an existing option, and it is matched to that option in both cases instead of creating a duplicate. Custom fields whose options are filled from a MySQL query are left untouched.
  • The install package is smaller. The mass action plugin bundles the MCP server library used by the AI assistant features, and that library was pulling in several code-analysis libraries (phpDocumentor, PHPStan and their dependencies) that are only used for an automatic tool-description mode the plugin does not rely on. Those libraries, about 1.5 MB and 260 files, are no longer included in the package; the mass action features are unchanged.
  • Packaging maintenance pass on the bundled third-party libraries included in the install package.
  • The internal order modification method now accepts the historical argument order used by older payment and integration add-ons. A new order modification method introduced for the agentic commerce (UCP) support expected the payment method name in the position where the historical method expected the "notify the customer" flag, so an add-on written for the historical order could change an order status without that flag being honored, and the status email was not sent. The method now detects and accepts both argument orders, so those integrations notify customers as expected.
  • The view override editor (Display > Views) now shows the path of the override file it edits. When you open a view, the editor displays where the override is stored under your front-end template, or, when no override exists yet, where it will be created when you save your changes, so you can locate the file on the server without having to work the path out by hand. The path is shown relative to the site root and works on both Joomla and WordPress.
  • Added a "Do not issue an invoice for free orders" setting in the Invoices section of the configuration. When enabled, an order whose total to pay is zero (for example a course fully covered by a coupon or funded by a third party) is processed through its normal statuses but does not consume an invoice number. The behaviour was already in the code; the option is now available in the backend. The option is also honored on the front-end: the "Print invoice" button is no longer offered for these free orders in the customer's order area, and the matching print address is blocked, so a customer can no longer generate an invoice document for an order that has no invoice number. The order page itself stays available as a record. Stopping the PDF invoice from being attached to these orders' emails additionally requires the matching update of the Attach Invoice plugin. With the option off (default), free orders are invoiced exactly as before.
  • Add-ons can now replace the "Free" label shown for a product that has no price, on a per-product basis, the same way the "Add to cart" button text can already be overridden. A plugin sets a message on the product and the product listing and product page print that message instead of "Free". This is used by HikaAuction so that an auction with no starting price and no bids yet shows its auction status (for example a countdown to the start, or "No bids yet") rather than the misleading "Free". Shops without such an add-on are unaffected and keep showing "Free" for genuinely free products.
  • The cart drawer module now renders at the full viewport size on templates that put a frosted-glass effect (backdrop-filter) or a transform on a parent of the cart module, such as UIkit and Bootstrap 5 sticky navbars or many custom sticky headers. On such pages, the drawer used to be trapped inside the navbar's box (a thin strip at the top of the page) instead of overlaying the page, because the CSS specification makes any ancestor with transform, filter, perspective or backdrop-filter the reference frame for fixed-positioned descendants. The drawer now detects this case when it opens and compensates with inline offsets so the overlay covers the whole page and the drawer panel slides in from the side of the viewport as expected. Templates that do not use any of these properties on an ancestor of the cart module are not affected and continue to render as before.
  • Internal modernization for maintainability: HikaShop and its plugins now use the namespaced Joomla classes in their own code instead of the legacy class names (JFactory, JText, and so on). HikaShop already mapped those legacy names to their modern equivalents itself, so the shop kept working the same way (including with Joomla's Backward Compatibility plugin disabled); this change keeps the code aligned with the current Joomla APIs for easier maintenance going forward, with no change to how the shop runs.
  • PHP 8.4 compatibility: the command-line cron script no longer raises "implicitly nullable parameter" deprecation notices on PHP 8.4. The constructor parameters that default to null are now declared explicitly nullable. Behaviour is unchanged on every supported PHP version.
  • Joomla 7 compatibility: HikaShop no longer relies on several Joomla functions, a base class and a JavaScript helper that Joomla is removing in its upcoming version 7. HikaShop keeps working once merchants move to Joomla 7, with no change to how the shop behaves on the Joomla and WordPress versions available today.
  • The FedEx 2 shipping plugin now has a "Group packages" option in the shipping method configuration, like the legacy FedEx plugin and the other carrier plugins. When enabled, the items in the cart are combined into a single package for the FedEx rate request instead of being sent as one package per product, which avoids over-quoting a multi-item cart as several separate boxes. It is off by default, so existing setups are unchanged.
  • The "Read more" separator in product and category descriptions is now recognized even when it was saved as <hr id="system-readmore"> without the closing slash, instead of the usual <hr id="system-readmore" />. Some editors drop that slash, in particular when a description is translated through a tool such as Falang, and the separator then looked absent: layouts that rely on it (for example the tabular product layout, which splits the description at that point) showed the whole description instead of only the intended part. Descriptions whose separator is stored in the usual form are unchanged.
  • When a customer clicks the final order button on the last checkout step, the checkout now shows a "Your order is being processed, please wait..." message under the loading spinner. Placing an order can take a few seconds while the payment gateway, shipping carriers and notification services are contacted, and until now only a spinner was shown over the checkout, which could leave the customer wondering whether anything was happening and tempt them to click again or leave the page. The message reassures them that the order is going through. It is translatable and can be adjusted with a language override, and it only appears on the step that actually places the order; moving between earlier checkout steps is unchanged.
  • Applying a filter on a product listing no longer turns the page blank on sites sitting behind a cache or security proxy that rewrites URLs (such as Sucuri). Filtering refreshes the listing through an Ajax request that asks HikaShop for the listing block alone; when the hosting or the proxy dropped the parameter carrying that request, the server returned the whole page instead, and HikaShop re-ran every script of that page, which could wipe the display until the visitor reloaded. HikaShop now takes only the refreshed listing out of such a response and runs only its own scripts, so the products update in place as expected. Sites not behind such a proxy were not affected.

New features (20)

  • The PayPal Checkout payment plugin can now display an express checkout button directly on the cart, before the checkout. The customer pays through the PayPal window, where they pick their PayPal address and see the shipping options and the final total, and then lands on the checkout already filled in: no address form to type, just a final confirmation. If the cart changes between the approval and the confirmation, the amount is reconciled with PayPal before the payment is taken, and a higher total always requires a new approval from the customer, so the captured amount can never silently differ. The button can be enabled for the cart page and for the checkout cart in the settings of the PayPal Checkout payment method.
  • You can now add a block of information to the product pages of a whole category or brand at once. The category and brand edition screen has a new "Information for the product page" rich text field, and whatever you write in it is displayed on the product page of every product of that category or brand. It is meant in particular for the manufacturer and EU responsible person details required by the GPSR regulation, which must be shown on the product page, but it is equally handy for care instructions, warranty notes or any legal mention shared by a range of products. Each product displays the information of its brand and of every category it belongs to, and nothing is shown when the field is left empty.
  • Products now have a GTIN field on their edition screen, for the product's barcode number (EAN, UPC or ISBN). When you fill it in, the GTIN is automatically added to the structured data of the product page and to the Google Merchant product feed, so search engines and Google Shopping can identify your products without any extra setup. Each variant can carry its own GTIN. The field is optional and empty by default, so nothing changes for products that do not have one.
  • The filters of the products listings can now display the number of products next to each choice, for example "Red (12)". It can be turned on for each filter with the new "Display product counts" option, for the category, characteristic, manufacturer, custom field, price range and product information filters. The numbers take the other active filters into account, so they always tell the visitor how many products a click will bring up, and they reuse the product set the filters already compute for their dynamic display, so activating them costs only one extra light query per filter.
  • Text filters can now show autocomplete suggestions as the visitor types: matching product names appear in a dropdown under the filter, backed by the same fulltext index as the product search, and can be picked with the mouse or the keyboard. The suggestions respect the filter's category and the visitor's access rights. It is turned on per filter with the new "Autocomplete suggestions" option of the text filter configuration (on by default).
  • The text filter autocomplete now offers three suggestion styles, chosen with the new "Autocomplete style" option of the filter: product names (the default), product cards (a thumbnail, the name and the price, where clicking a card goes straight to the product page), or column values (the distinct matching values of the columns the filter searches, each labelled with its column, useful for attribute filters). The suggestions are matched across all the columns the filter is set to search, in priority order (code and name first, then custom fields, then the description) and capped at a few results, so even searching in the description stays fast. The product card is a view file that can be overridden in your template.
  • The images of the product and category listings are now rendered with lazy loading (images below the fold no longer delay the page display), explicit dimensions (the layout no longer shifts while images load) and a high resolution variant for retina and mobile screens, so thumbnails are not blurry anymore on modern displays. The first image of a listing and the main image of the product page keep loading immediately with a high fetch priority since they are usually the largest element of the page. The image markup is now generated by a single view file (product / image_tag, in the front-end and back-end views) which can be overridden in the site template to customize every image of the shop in one place. Note: template overrides of the listing view files keep their previous markup until they are updated.
  • In addition to the WebP image variants, HikaShop can now generate AVIF variants of the thumbnails, typically 30 to 50% smaller than WebP for the same visual quality. The option is enabled by default when the server supports AVIF and can be turned off with the new "Generate AVIF images" setting of the configuration, next to the new "Generate high resolution thumbnails" setting which controls the retina variants.
  • AVIF images can now be uploaded directly as product images, category images and file/image custom field values, the same way as JPEG, PNG and WebP. The "avif" extension is included in the list of allowed image extensions of new installations and HikaShop now reads AVIF sources when generating thumbnails, so an AVIF image is resized and displayed like any other. On an existing shop, add "avif" to the "Images allowed" setting of the configuration to enable it. Generating the thumbnails from AVIF sources requires a server whose image library supports AVIF.
  • The HikaShop database tables are now converted from the MyISAM storage engine to InnoDB during the update. InnoDB locks rows instead of whole tables when writing, which removes most of the database slowdowns during the checkout on busy stores, and it repairs its tables automatically after a server crash. Tables too big to be converted safely during the update are handled by the database check of the maintenance screen, which finishes the conversion.
  • The product search of the frontend listings, of the backend products listing and of the search plugin now uses a MySQL fulltext index instead of scanning the whole product table, which makes searching in large catalogs orders of magnitude faster. The results of the frontend listings are also sorted by relevance when a search is active. Searches the index cannot answer (words shorter than the server minimum, languages written without spaces, or text located in the middle of a word) automatically fall back to the previous search mechanism, so no result is lost compared to before. If needed, the previous behavior can be fully restored by adding a product_search_mode entry set to "like" in the hikashop_config table of the database.
  • Text filters now automatically get a dedicated fulltext index matching the columns they are configured to search in. The index is created when the filter is saved and removed when no filter needs it anymore, so filtering products by text benefits from the same speedup as the product search.
  • The states of a country can now be reordered by drag and drop. When you edit a country in System > Zones, a drag handle appears next to each of its states in the subzones list: drag the states into the order you want and it is saved automatically. That order is then used everywhere the states are displayed, in particular the state drop down of the checkout address, which previously could only be sorted alphabetically.
  • The "Category listing SEF name" and "Product show SEF name" settings of the configuration can now both be left empty, for shorter URLs without any prefix before the product or category alias (for example /shop/my-product instead of /shop/product/my-product). In that mode, HikaShop recognizes products and categories directly by their alias or id in the URL, with the product taking precedence when a product and a category share the same alias. When the configuration is saved with both fields empty, HikaShop lists the aliases used by both a product and a category, the aliases matching reserved URL keywords, and the products and categories without an alias, so that you can fix them beforehand, and a warning is displayed when saving a product or category whose alias conflicts. This works on both Joomla and WordPress.
  • Countries are now grouped by continent in the country selection dropdowns. HikaShop ships with seven built-in continent zones (Europe, North America, South America, Africa, Asia, Middle East and Oceania), each already linked to its countries, so the checkout and address country dropdowns are shown under continent headings, with the customer's detected country listed first for quick selection. The grouping is set per field: on a custom field of the type "Zone" whose zone setting is "Country", a new "Group countries by continent" option turns it on (on by default) or off to go back to a single alphabetical list. The continents are real zones too, so you can pick a whole continent as the zone of a shipping method, tax, discount or payment restriction instead of adding each country one by one. Existing sites receive the continents and their links automatically on update.
  • Characteristics can now be set to a new "Calendar" type (Business edition), so the values of a variant axis are dates picked from a calendar instead of typed by hand. Each value can be a single date or a date range, using the same advanced date picker as the date custom fields, and the readable date is shown on the product page and in the order. You can then put a filter on that characteristic and your visitors get a date range picker that keeps only the products having a variant whose date falls in the chosen range, which a normal characteristic filter (a list of fixed values) could not do. This is handy for tours, events, rentals and any catalog where each variant is a date.
  • Products now have per-product settings to control how they behave when offered as an option of another product, on the product edit page. A product without variants gets a "Selected by default as an option" toggle, so it can be pre-selected (ticked) on the product page while the customer can still unselect it. A product with variants gets an "Add a 'No' choice as an option" toggle and, when that is on, a "Default to 'No'" toggle, so the option can be made optional and start unselected instead of on its default variant. Each product is controlled individually, so some options can be pre-selected and others not. Existing products are unchanged.
  • Added an "Edit the view file" button next to the product page layout setting, both in the configuration (Display tab) and on the product edit page. The button opens the matching layout's view file directly in the Display > Views editor, in a new browser tab, for your default front-end template, so you no longer have to locate the right file by hand when you want to customise that layout. The button follows the layout currently selected in the dropdown, and works on both Joomla and WordPress.
  • Added a "Return method" setting in the Google Products plugin configuration to declare how customers ship returned items (By mail, At a kiosk, or In store). The selected method is included in the hasMerchantReturnPolicy JSON-LD on every product page and in the textual return policy of the OpenAI / Google Products feed, so Google Merchant Center no longer reports a "Missing field 'returnMethod'" warning on the product listings. The method is automatically omitted when the return policy category is set to "Returns not permitted", to avoid the same contradiction Google flags for return fees in that case.
  • The back-end listings now show a preview card when you hover a row. On the orders, customers, products, categories and brands listings, moving the mouse over a row displays a small card with the key information about that item, loaded on the fly: for an order its number, status, date, customer, its first products and total; for a customer their shipping address, their most recent orders, total number of orders and total spent; for a product its image, its number of sales, its characteristics with the values used by the variants, and its number of hits; for a category or brand its image, parent and number of products. On the orders listing, hovering the customer shows the customer card rather than the order one. The card is fetched only when you actually hover, so it does not slow down the listing. Any listing whose view has a "tooltip" layout file gets this automatically, and it follows each row link to its own type, so template makers and add-ons can add preview cards to their own listings just by providing that layout. Plugins can also add their own rows to a card through the standard view display event (for instance the affiliate details on a customer, auction data on a product or the sub-orders on an order).

HikaShop 6.5.0

Release date : May, 26 2026

List of all the files changed between the 6.5.0 and the previous version

Bug fixes (63)

  • On Joomla 6, the notification popup shown after a product is added to the cart appears reliably again, instead of the add silently falling back to a plain page redirect. Joomla 6 still ships jQuery but no longer registers it as a loadable web asset, so HikaShop's legacy jQuery request silently did nothing; the popup scripts (vex and notify) are jQuery plugins and failed with a "jQuery is not defined" error. HikaShop now loads jQuery through Joomla's Web Asset Manager, in no-conflict mode so it does not clash with other scripts on the page, which also restores the backend admin interface elements that rely on jQuery on Joomla 6. Earlier Joomla versions are unaffected.
  • Two minor frontend display fixes: the affiliate program page no longer emits a PHP notice when it builds the "please log in first" link for a logged-out visitor (a stray undefined variable was being appended to the login URL; the link itself is unchanged), and the order details page no longer forces a white background on the "Billing address", "Shipping address" and "Product list" fieldset legends, so they inherit the template's own styling instead of always showing a white band.
  • On orders with multiple tax rates stacked on the same product line (for example Malaysian GST + SST, or any other compound-tax setup), saving the order after editing the shipping fee, the payment fee or the discount in the backend no longer makes one of the tax lines disappear from the order total. The previous fallback that runs when the per-product order_product_tax_info has been lost attributed the entire product tax to a single tax rate looked up from the product's tax category, which zeroed every other rate and the cleanup pass then removed those rows. The fallback now distributes the product tax across all the rates present on the order proportional to each rate's share in the existing order_tax_info, so every line survives the recalculation and the tax breakdown stays balanced. Orders with a single tax rate keep their previous behaviour, and orders whose per-product tax info is intact are not affected at all.
  • The HikaShop toolbar in the WordPress backend now renders correctly on WordPress 7. The "Check database", "Help" and "Dashboard" buttons no longer look like primary blue-outlined buttons that compete with the green Save buttons, the dashicons inside every toolbar button are no longer pushed below the label, the separator between button groups now stretches to the full button height instead of being a small 20-pixel line, and the "Check database" icon is back to a database glyph that all current dashicons fonts render reliably. Pages on WordPress 6 are unchanged: the new neutral-button styling matches WordPress 6's existing .button default, so the rules are a no-op there.
  • The "Brand" link rendered on the product page when the "Display the manufacturer" option is on no longer outputs the brand name twice in the URL when a dedicated menu item for that brand exists, and no longer routes to a sibling brand's URL when the linked brand has no dedicated menu item of its own. On a shop with one Joomla menu item per brand (for example /merken/nike and /merken/adidas) the brand link from a Nike product now points at /merken/nike rather than at /merken/nike/nike, because the SEF router now recognises that the resolved menu item already represents the target category and skips appending an extra category segment. On a shop where some brands have a dedicated menu item and some do not, the link for a brand without one no longer borrows another brand's menu as base (which previously produced URLs like /merken/nike/adidas for an Adidas product): menu items pinned to a specific brand are now filtered out as fallback candidates when the target is a different brand, so the link prefers a parent "all brands" menu (or any other ancestor-pinned category menu) when one exists, and only falls back to a neutral category-listing menu when none does. Shops where every brand has its own dedicated menu item are unaffected.
  • Uploading an image to an "Ajax image" or "Ajax file" custom field on the backend product edit page (and to the equivalent upload widgets on the front-end) no longer logs an "Uncaught ReferenceError: Fancybox is not defined" exception in the browser console after the file finishes uploading. The image entry returned by the server carried an inline script that calls Fancybox to bind the lightbox to the freshly inserted thumbnail; the parent page's Fancybox library was not pulled in via this AJAX response, so the inline bind ran with Fancybox still undefined and threw. The inline script now detects that situation, dynamically loads the Fancybox library once per page (subsequent uploads on the same page reuse the load instead of triggering a new one) and then performs the bind. Pages that already include Fancybox (any product page rendered in full) keep their existing instant-bind behaviour.
  • The product page JSON-LD that HikaShop emits for Google Merchant listings, and the XML product feed produced by the Google / Meta Products feed plugin, no longer advertise return fees for products whose return policy category is MerchantReturnNotPermitted. Until now, the global "Return fees" setting was written into the hasMerchantReturnPolicy block (and the corresponding feed line) unconditionally, which produced contradictory pairs like "returnPolicyCategory":"MerchantReturnNotPermitted" together with "returnFees":"FreeReturn" on products that opt out of returns via the per-product override custom field; Google Merchant flagged the resulting offer as inconsistent. Products that do accept returns are unaffected and still advertise the configured return fees.
  • On a category listing or filter module that has a price (or any other slider) filter side by side with another filter, the value set on the slider is no longer reset to its default range when the customer applies another filter on the same page afterwards. The two filters now stack as expected: applying brands after setting a price range keeps both restrictions in place, the same way applying the slider after brands already did. Until now the slider's hidden form field was not carrying its previously-applied range across a re-render, so every subsequent apply submitted an empty value for the slider and the server treated that as the customer clearing the slider.
  • When a customer posts the very first comment on a product page, the new comment now reliably becomes visible without the customer having to reload the page manually. Until now, on layouts that do not render the comment listing area when the product has zero comments (the tabular product layout suppresses both the Comments tab and the listing container until at least one comment exists), the new comment was saved server-side but the front-end had no element to populate, so the user only saw the success notification and had to reload the page to see their submission. The vote front-end now detects when the listing area is missing right after a successful save, and triggers a full page reload automatically so the freshly-rendered page (which now sees one comment) displays the Comments tab and the new comment. Subsequent comments on the same product still use the smooth AJAX list update because the listing area is then present. A new vote.beforeListRefresh JavaScript event is also fired before the lookup so custom layouts can inject the listing container themselves to skip the reload if they prefer.
  • Applying the product filter on a category or listing page no longer breaks the filter and listing area after the first apply, with a JavaScript "Identifier '...' has already been declared" error in the browser console (commonly "initColorMode", which is declared by Joomla's Cassiopeia color-scheme switcher). When the filter refreshes the listing it re-runs the inline scripts that came back with the refreshed content; any top-level const/let/class in them that is already declared in the page (a Joomla core script, the template, or another extension) made the browser throw a syntax error that aborted the whole re-injected block, so HikaShop's own filter code never ran and the layout stayed broken until a full page reload. HikaShop now detects which of those declarations are already present and turns only those duplicates into a plain assignment (instead of a second declaration) before running the code, so there is no redeclaration to collide with while every reference still uses the page's existing value. The filter keeps working across successive applies and the fix holds for future Joomla, template and extension changes without needing to special-case each name.
  • The PHP code action of the mass actions no longer wrongly rejects valid code that simply contains the name of a blocked function as part of a longer word. The security check added to block dangerous functions (exec, system, dl, etc.) was matching those names anywhere in the code as plain text, so for example code using a SOAP "wsdl" file was refused because "wsdl" contains "dl". The check now only triggers on a real call to one of those functions, not on a substring inside another word, a variable or a method name.
  • On a clean per-category menu URL (for example /shop/payment, with no category id in the URL), the category being viewed is now correctly marked as the current/active one in the category list. Until now the active category was detected only from the category id in the request, so on these menu-resolved listings no entry received the "current active" styling. The current category is now derived from the active menu item's HikaShop settings, following alias menu items to their target.
  • The "My account" page no longer returns a 500 error on PHP 8 when the logged-in customer's order history contains a guest-checkout order. Loading such an order from the account page reached the guest order-token check with no token available (there is none on the account page), and PHP 8's hash_equals() rejects a null second argument with a TypeError. The check now treats a missing token as an invalid one (access denied) instead of letting it reach hash_equals, which is the intended behaviour. Customers whose orders were all placed while logged in were never affected.
  • On a product listing menu item scoped to a parent category, navigating to one of its sub-categories no longer drops the sub-category from the breadcrumb. The breadcrumb now shows the full path (for example Home > Marketplace > Payment) instead of stopping at the menu item, while the bare listing page keeps its original shorter breadcrumb. Until now the sub-category was only added to the breadcrumb when the listing was reached without going through a menu item.
  • The "Bank account information" content shown to customers at the end of the checkout when paying via the Bank transfer payment plugin now displays the translated version when the merchant has filled in translations of that field via HikaShop's multilanguage panel (the flags on the payment method edit form). Until now the translations were saved correctly but never read back at display time, and customers always saw the default-language version regardless of the site language.
  • Submitting a product review or rating from the front-end no longer fails with a 500 server error when the access mode for reviews is set to "Bought". A leftover regression from the new guest reviews via order token feature was carrying two extra fields into the vote insert (order_token and order_id) that are not columns of the votes table, which made MySQL reject the insert with an "Unknown column" error. The two fields are now stripped from the vote object before persisting, while still being read earlier in the flow for the guest token authentication. Affects both registered customers and guest customers; review submission works again in all modes.
  • The username field on the checkout login form now displays the same placeholder as the password field next to it. Until now the password field showed a placeholder while the username field was visually empty, which made the two fields look inconsistent in the checkout login step.
  • An address entered manually when creating a new order from the backend (HikaShop > Orders > New) is now correctly linked to the customer it belongs to. The address still showed up on the order itself, but it was not attached to the customer record, so when creating a second order for the same customer, the address selector in the customer popup came back empty with only the "No address" option.
  • The "Brand" link on the product page now opens the dedicated brand menu item when you have one (for example a "Brands > De Kreij" menu item set on that brand), instead of sending the customer to an unrelated section of the site. On Joomla 4 and newer the link was systematically using the first HikaShop category-listing menu item in the database regardless of which brand was clicked. The same fix also applies to the category breadcrumbs.
  • The "Display Both" discount display option (reduced price with strikethrough on the original price) in the HikaShop product picker popup of the Joomla content editor (Article toolbar > HikaShop "Product" button) was silently dropped when building the resulting {product N|...} content tag. The popup's JavaScript only emitted the chosen discount mode for the first three dropdown values (Discount amount, Price before discount, Inherit), so picking "Display Both" produced a tag with no price option at all and the price block was not rendered. The content tag parser was also not recognising a hand-edited |pricedis4 in the tag. Both gaps are now closed: the popup emits |pricedis4 when "Display Both" is selected, and the parser maps it through to the underlying show_discount=4 listing price layout setting.
  • The product "Display" dropdown on the product edit form (the per-product layout selector) no longer offers show_block_* partials (show_block_custom_main, show_block_characteristic, show_block_dimensions, etc.) as selectable layouts. These files are partials loaded internally by the actual show_*.php layouts via setLayout(); picking one as a product display layout would produce a broken page. They are now excluded from the dropdown alongside show_quantity_* partials.
  • Fixed a verified-purchaser check on the product page that incorrectly accepted any user as soon as their order contained a non-product line item (shipping fee, payment fee, manual backend addition). HikaShop stores those rows with product_id=0, and the variant-matching SQL clause used product_id IN (0) as its fallback when the reviewed product had no variants, which falsely matched those rows. The fallback is now skipped entirely when the product has no variants.
  • Fixed two integrity bugs in the verified-purchaser check on the product page that decides whether the review form is shown. The check did not filter by order status (an unconfirmed or refunded order falsely counted as proof of purchase) and a missing pair of parentheses in its variant-matching SQL query made it pass for any logged-in user as soon as another customer had bought one of the product's variants. The check now uses the same shared logic as the comment-submission server-side check, which had already been patched against both bugs in a previous release.
  • Fixed variant selectors on the product page (size, color, etc.) still listing out-of-stock variants when the "Display out of stock products" setting was set to No, on shops that also had the waitlist or wishlist features enabled. The visibility setting now takes precedence as expected and the out-of-stock variants are correctly hidden from the selectors regardless of waitlist or wishlist state.
  • Fixed a product page issue where the available values of a variant characteristic (size, color, etc.) were sometimes displayed as multiple separate selection blocks instead of being grouped under a single selector, in cases where the underlying display ordering value of the characteristic was 0.
  • Fixed the HikaShop "Product" toolbar button in the Joomla content editor opening the HikaShop dashboard instead of the product picker popup when the editor in use is JCE on Joomla 5.4 or later. The popup URL was built with HTML-entity ampersand separators which JCE then re-encoded, breaking the URL parameters; it is now built in a form that both TinyMCE and JCE handle correctly.
  • Fixed the HikaShop options tabs (Product, Category, Checkout, etc.) on the Joomla menu item edit page rendering with light-mode colours when the backend is set to dark mode. The wrapper div on that page was missing the version marker class that HikaShop's dark stylesheet relies on to scope its overrides; it now matches the marker pattern used by the rest of the HikaShop backend, so the existing dark mode rules also apply on the menu item edit page.
  • The "Configure Layout" popup opened from the Configuration page (Configuration > Checkout > Address form layout > Configure Layout) now renders with the correct dark colours when the backend is in dark mode. Previously the popup kept its light-mode palette regardless of the dark mode setting, which made several elements (rows container, drop zone, toolbar, button group) hard to read on a dark background.
  • The dark mode stylesheet's cache-busting URL parameter is now correctly tied to the dark stylesheet's own modification time. It used to be tied to a different stylesheet's modification time by mistake, so updates to the dark mode rules shipped in a HikaShop release stayed invisible in browsers that had cached the previous version of the URL until those caches expired naturally.
  • The two HikaShop search plugins (which power the HikaShop product and category lookup in JCE Editor's "Insert / Edit Link" dialog) no longer crash with a "Class JPlugin not found" fatal error on Joomla 6 sites. Joomla 6 stopped automatically loading some legacy class names; the plugins now declare the alias they need themselves, so the JCE link picker works again on Joomla 6. Thanks to JanDerhake for the report.
  • The image uploader popup that opens when a third-party plugin (HikaMarket and similar) places an image-upload field on a frontend form no longer crashes with a 500 error on PHP 8 when the third-party plugin handling that upload is not installed, disabled, or registered under a different plugin group than expected. The popup now opens in an empty state in that case, the way it always did on PHP 7.
  • The "Delete this block" button on the View Builder now actually deletes the block. Previously the button showed a misleading error saying that the block's markers could not be found in the source, even when the markers were perfectly valid.
  • Block titles on a customized backend product edit form (Form customization feature) no longer pick up the labels of the block's own action buttons on every save, which used to bury the original title under dozens of repeated copies after a few saves. Existing titles that have already accumulated those copies need a one-time manual cleanup, but new saves will preserve the title correctly.
  • Saving a backend filter on a custom field no longer rejects the chosen field with a misleading "Caution: the chosen custom field is not available for this category" warning, and no longer silently overwrites the chosen field with another one. Any field that appeared in the dropdown is now accepted on save.
  • The checkout no longer aborts at the order creation step with a "Raw SQL execution in mass actions requires Super User privileges" error when a registered customer (i.e. logged-in but not a backend super administrator) places an order on a site that has a mass action configured to run on the after-order-create or after-order-update trigger. The super-admin check that was guarding raw SQL and PHP actions at runtime has been moved up to the backend controller entry points where a logged-in user can manually fire a mass action from the edit screen, so trigger-driven and listing-button executions of pre-configured mass actions now run for any user the trigger fires for. The "Use of exec / system / shell_exec / etc. is not allowed in mass action PHP code" defense remains, since it constrains the configured code itself rather than who happens to be online when the trigger fires.
  • The HikaShop Google / Meta Products feed plugin no longer aborts the cron run with a "Call to a member function loadRenderer() on null" error on Joomla 6 sites that have the Joomla "Load module" content plugin enabled. The feed plugin runs each product description through Joomla's content prepare event so any embedded {loadmodule} / {loadposition} / custom shortcodes get expanded into the feed, but Joomla 6's loadmodule plugin assumes a regular page render context and crashes when the event chain is reached from a cron-triggered code path. The feed plugin now falls back to the raw description for a product when a content plugin throws during preparation, so the feed continues to be generated for the rest of the catalog, and adds a warning to the cron report naming the offending product so the merchant knows which description to clean up.
  • A category page that lists subcategories above a HikaShop "Display content" module attached to the same menu no longer shows the "No products in this category" message under the subcategories when the attached module happens to point at a category that has no products of its own. The empty-state message inside the attached module is now suppressed when the parent menu is already showing a populated subcategories listing above it, matching the behaviour of the menu's built-in product listing slot. Thanks to MSTACE for the report.
  • Migrating a shop from one HikaShop installation to another (Products > Import > HikaShop) no longer aborts with a "1062 Duplicate entry" database error during the tax rates step. Some long-running shops accumulate an unusable blank tax rate left over from older versions, which used to clash with the destination's matching blank entry and stop the migration cold. The blank entry is now skipped during the import.
  • HikaShop no longer emits "str_getcsv: the $escape parameter must be provided as its default value will change" deprecation notices on PHP 8.4 when importing orders, importing zones from CSV, or importing plugin configurations from CSV. The CSV parser arguments are now passed explicitly so the parsing behaviour stays identical across PHP versions.
  • The "Please fill the field" error displayed when a customer tries to add a product to the cart with a required item field left empty no longer reappears at a later step of the checkout (typically on the payment step or the thanks page). The cart was already displaying the error in the right place next to the product, but a duplicate copy was also being put on Joomla's session message queue, where it lingered until the next page rendered it. Thanks to Genr8r on the HikaShop forum for the report and the diagnosis.
  • On a multilingual website, clicking the "Load more" button on a translated product listing now keeps showing products in the current language instead of falling back to the default language. The same fix also applies to the AJAX filter refresh on translated listings. Thanks to Sandra for the report.
  • HikaShop no longer produces a "Function curl_close() is deprecated" notice on PHP 8.5. The calls were harmless (curl_close has been a no-op since PHP 8.0, with the underlying handle cleaned up automatically) but PHP 8.5 now flags every such call. The redundant calls have been removed from HikaShop core and from every HikaShop-maintained payment and shipping plugin that used to make them. No behaviour change on older PHP versions.
  • On Joomla 6.1 or newer, HikaShop emails that include a customer's address (order creation notifications, order status notifications, payment notifications, etc.) no longer fail with a "Call to a member function getType() on null" error when the email is rendered from a context where Joomla has not prepared a page document, such as a payment gateway notification callback or a scheduled task. Joomla 6 added an unconditional call to the current page document when rendering a view, without checking whether a document is available. HikaShop now provides a fallback document when Joomla does not have one.
  • HikaShop emails sent from a Joomla command-line script or from a custom Joomla REST API endpoint now render correctly with working links. Previously the email could fail entirely or produce URLs that didn't resolve, because Joomla's link builder is designed for the regular frontend and backend and does not handle the command-line and REST API cases. Thanks to seyi for the report and the diagnosis.
  • The "Check for updates" button in the HikaShop configuration no longer does nothing when the HikaShop backend is set to a language whose translations contain apostrophes (French and a few others). Clicking the button now correctly checks for an available HikaShop update regardless of the language.
  • Dropdown custom fields no longer generate a "Using null as an array offset" warning on pages like the backend customer listing and customer edit page when running on PHP 8.1 or newer.
  • Two PHP 8.4 deprecation warnings are gone: one was a typo in the switch statement of the product variant mass actions and the file download error handling, and the other was an old way of reading HTTP response headers in the remote product file size lookup.
  • The legacy HikaShop Google remarketing plugin no longer shows a JavaScript alert popup ("You have configured the remarketing plugin of HikaShop with a wrong Adword ID. It should be a number.") to visitors of your shop when the configured Google Ads ID is not a plain number. Modern Google Ads IDs (starting with AW-) are no longer supported by Google's legacy remarketing tag at all; if you use one, configure it in the HikaShop Google Analytics 4 plugin instead. Thanks to daduts for the report.
  • The customer account sidebar shown on the cart page and on the affiliate program page is no longer displayed when those pages are accessed via a dedicated Joomla menu item of their own (Cart display, Cart listing or Affiliate program), matching how the sidebar already behaved on the order listing and address listing pages.
  • Several payment methods that were missing their history entry on new orders since version 6.4.0 (offline Credit Card, Purchase Order, Authorize.net, Cardsave, MIGS, FirstData, iVeri, iPay DNA, eWay, eSelect, PayJunction, PayPal Pro, PayTR, Innovative Gateway) now record it again. For the offline Credit Card plugin this means the beginning of the credit card number is once again visible on the order in the backend.
  • Order emails and other views that include billing or shipping addresses no longer crash when the order is created from a Joomla CLI script or a custom Joomla API application.
  • The admin payment notification email triggered when a payment gateway confirms a payment is now properly sent for a number of payment methods where it had silently been skipped (Authorize.net, Atos, Amazon Checkout, cmCIC, Collect on Delivery and others). Thanks to webfarol for the diagnosis and the patch.
  • Outgoing HikaShop emails no longer fail silently when the order has no customer email on file, or when one of the frontend contact forms is submitted with a malformed email address that ends up in the Reply-To field. The Reply-To address is now validated before it is handed to PHPMailer so the email is sent. This applies to order creation admin notifications, the generic outgoing mail, the "Contact the store about an order" form and the "Contact the store about a product" form.
  • The cart module icon image no longer renders as a broken placeholder after a customer adds a product to the cart on a deep-URL page (e.g. /shop/product/foo). When the icon path saved in the module settings was relative, the AJAX-replaced cart fragment did not carry the document base URL and the browser resolved the path against the current deep URL instead. Relative icon paths are now resolved against the site root before being emitted, so they survive the AJAX update.
  • The "Share this product" buttons (Twitter, Facebook, LinkedIn, etc.) on the product page now display correctly on templates that apply a global "img { display: block }" reset to all images. The icon image inside each share button now explicitly uses inline-block display so the icon and the brand label sit side by side as intended, regardless of the active template's CSS.
  • The cart module no longer produces "Undefined property: cart_type" / "Undefined property: cart_id" PHP notices when the cart is empty and the module is configured with a small cart icon (dropdown / hover / drawer mode). The 6.5.0 fix that made the cart icon visible in the empty state stubbed the price and product list but not the cart-type and cart-id properties; both are now stubbed with sensible defaults too, so PHP 8.x deprecation strict mode no longer floods the page with notices.
  • Saving a filter from the backend filter edit form no longer fails with a "Cannot access offset of type string on string" error on PHP 7.4 or newer, and no longer silently corrupts the "Apply on" value. The form-data ingestion loop was overwriting both the structured filter_options array (used for attribute, title_position, button_align, …) and the serialized filter_data field with flat strings, so the offset writes that follow raised a fatal and the type-specific filter_data normalization branch never fired (which made the Apply on dropdown revert from "Characteristics" to "Price" on the next load). The ingestion loop now skips both fields so the structured initialization downstream works as designed.
  • A cursor filter (price range slider) saved with the title position set to plain "top" or "bottom" no longer renders as an empty box that throws "Cannot read properties of null (reading 'setAttribute')" in the browser console. The cursor render switch only handled the explicit top_left/top_right/top_center/bottom_left/bottom_right/bottom_center positions and silently skipped the hidden _values input on any other value, which then made the noUiSlider init JS call setAttribute() on a null reference. Plain "top" and "bottom" are now handled, and any unknown value falls back to top-left rather than producing a broken slider.
  • Saving a filter no longer floods the page with "Undefined array key" PHP notices on PHP 8.x. Many of the filter_options fields (textBoxSize, max_char, min_char, words_skipped, searchProcessing, label_format, cursor_min/max/step/effect/width, input, weight_unit, dimension_unit, button_align, logic, parent_category_id, column_width, defined_limits, …) are conditional on the filter type and filter data, so a given save call legitimately submits only a subset of them. The save routine now reads each of these with a null-coalesce default instead of unguarded array access, so the missing keys produce empty strings rather than notices. A duplicate cursor_width assignment and a redundant @ suppression operator were also removed in the same pass.
  • Rendering a cursor filter on a page where it has not yet received a value no longer emits "strpos(): Passing null to parameter #1" / "explode(): Passing null to parameter #2" deprecation notices on PHP 8.1 or newer. The cursor display path was passing the raw return value of an inner display() call (which can be null) straight into strpos() and explode(); both call sites now coerce to a string first, with no behaviour change for the populated case.
  • The FedEx 2 shipping plugin no longer triggers a fatal "strict_types declaration must be the very first statement in the script" PHP error on PHP 8 servers, which could prevent some customers from logging in or browsing the shop as soon as they had an item in their cart. The HikaShop license header that was being prepended to every third-party library file in the plugin pushed the strict_types declaration off the first line of the file, which PHP 8 rejects at parse time. The license header is no longer added to the bundled vendor libraries (which are third-party code with their own copyright). The same fix has also been applied to the bundled libraries of the PayPal Checkout, PayPlug 2, Mass actions and Geolocation plugins, which use the same packaging rule and would have started failing the same way the moment one of their libraries adopted strict_types. The FedEx 2 plugin's bundled libraries (Guzzle HTTP client, Guzzle Promises, Guzzle PSR-7, Symfony deprecation contracts and the WhatArmy FedEx REST library) were also refreshed to their latest releases in the same pass. Thanks to the user who reported the issue on the forum.
  • HikaMarket vendor-restricted shipping methods no longer disappear from the customer checkout after the 6.5.0 multi-select warehouse picker change. Two regressions were involved. First, on the save side, the new picker posts the warehouse value as an array, but HikaMarket's vendor-restriction encoding (which has long appended a "v<vendor_id>" suffix to the warehouse filter) used a string concatenation, producing a literal "Arrayv5" garbage value on PHP 7 and a TypeError on PHP 8, in both cases corrupting the stored value so the method never matched any cart again at checkout. HikaShop now normalises the warehouse filter back to its canonical comma-separated string form before firing the plugin save hooks, so HikaMarket and any other plugin built against the long-standing string contract keep working. Second, on the read side, the single-shipping-group code path of the checkout (one warehouse plus one non-master vendor) was passing an already-parsed array key into matchWarehouseFilter without an explicit struct argument; the function's null-struct fallback only handled the string shape and was double-wrapping the array, hiding every keyed component (including the vendor) and silently failing the per-letter check. Existing shipping methods that were already corrupted by the save-side bug need to be opened in the back end and saved once for the stored value to be rewritten cleanly.
  • Opening the email preview or the edit screen of the customer or admin withdrawal notification templates from the back end no longer fails with a PHP 8 fatal "Attempt to assign property cart on false" when no withdrawal has been selected first. The preload script now seeds safe default values for the order, withdrawal and cart objects so the template renders cleanly even with no withdrawal data. Thanks to Alouette00 on the HikaShop forum for the report.

Improvements (11)

  • Category modules now generate the clean per-category menu URL for each category link, the same way category listing pages already do, instead of falling back to the generic listing route. The resolution also works when the visitor is already on a per-category page (the lookup now also considers the sibling menu items of the active one), not only when on the parent listing. This only has an effect when the "forward to submenus" option is on and the relevant per-category menu items exist.
  • Category listing pages and category modules that resolve each category link to its dedicated per-category menu item (the "forward to submenus" feature) are now faster. The menu lookup that maps a category to its menu item depends only on the active menu item, which is the same for the whole page, so it is now resolved once per page instead of once per category link rendered. On pages or modules listing many categories this removes a database query and the associated menu parameter parsing for every category beyond the first. The resolved URLs are unchanged.
  • Three legacy system plugins that used to ship in the HikaShop installation package are no longer re-installed by the HikaShop updater on every update. The VirtueMart fallback redirect plugin (which keeps the URLs of an old VirtueMart shop pointing at the corresponding HikaShop products) is updated to use the modern Joomla 4+ CMSPlugin class instead of the JPlugin class that Joomla 4 removed, so it stops fataling with a "Class JPlugin not found" error on modern Joomla installs while remaining usable for the ongoing migrations that still need it. The "no SSL outside checkout" plugin (a pre-HTTPS-everywhere helper that forced HTTP outside the checkout) and the Redshop fallback redirect plugin (a Redshop-to-HikaShop URL redirect helper for a no-longer-maintained product) are retired and removed from the installation bundle. The HikaShop installer also detects retired bundles left over in administrator/components/com_hikashop/extensions/ from previous installs and removes their files there so they do not get auto-reinstalled on each update. Already-installed Joomla plugins under plugins/system/ are left as-is so merchants who still rely on them can keep them; merchants who want them gone can remove them via Joomla > Extensions > Manage as usual.
  • For fully-digital orders (no shipping method), the "Withdraw from contract" button now disappears automatically as soon as the customer downloads one of the files attached to a product in the order, when the order is in a status that allows downloads. This matches the EU Directive 2023/2673 rule that the withdrawal right on digital content is lost as soon as the consumer starts the download. Orders with a shipping method are unaffected since their physical part may still be returned, so the existing status + withdrawal-window gate stays in charge there.
  • The product page structured data (the machine-readable JSON-LD that Google reads to display your products in search and in Google Merchant) and the XML feed generated by the HikaShop Google / Meta Products feed plugin now both advertise a distinct landing page URL for each variant of a product, instead of every variant sharing the main product's URL. Google Merchant expects items that belong to the same variant group to each have their own URL, so this change makes your product listings acceptable by default even when the "Remove products and categories id from URLs" SEF setting is enabled or you have set a fully custom canonical URL on the product.
  • The "Brand" link shown on a product page (and every other link to a manufacturer listing) now correctly targets a specific brand's Joomla menu item when you have one (for example a dedicated Nike or Starshoes menu item), instead of always pointing at the top-level Brands menu.
  • The "Check database" action in the HikaShop configuration no longer produces a scary "Illegal mix of collations" MySQL error on shops that were migrated across MySQL versions. HikaShop tries to realign the customer email column automatically, including switching the storage engine to InnoDB when that is what allows the realignment to succeed. When it cannot do it for you, the screen shows a short explanation and the exact SQL to run in PHPMyAdmin instead of the raw MySQL error.
  • The cart icon configured in the cart module settings is now displayed even when the cart is empty, so visitors always have a clickable trigger in the header to open the mini-cart. The empty-cart trigger uses the same "show price" and "show quantity" options as the non-empty one, so the text shown next to the icon stays consistent between both states (e.g. "The cart is empty" / "1 item for 340,00 €" when both are shown, "0 items" / "1 item" when only the quantity is shown, or "Total : 0,00 €" / "Total : 340,00 €" when only the price is shown).
  • HikaShop icons (the loading spinner, the print and delete buttons, the menu bars, etc.) now render correctly on third-party templates that did not previously include FontAwesome themselves. Until now, on those templates the icons could appear as blank squares; HikaShop now loads the FontAwesome font on its own pages so the icons always display, regardless of the template you use.
  • In narrow areas like the cart module in the header, product cards in multi-column grids, and the cart and checkout summary, prices no longer break across two lines in locales where the currency symbol appears after the amount (e.g. "340,00" on the first line and the currency on the next). The 6.4.1 release already fixed this for order summaries and emails; this release extends the same protection to all the other places where prices are displayed in HikaShop.
  • The available characteristic values shown on each product card in the listing (typically the colour swatches under the product name) are now wrapped in a single .hikashop_product_characteristics_on_listing container in the rendered HTML. This lets a template style them as a horizontal row of swatches with a single CSS rule and ensures the layout is preserved across AJAX filter and pagination refreshes — without any onload JavaScript fix-up needed in the template. Affects the listing_img_title, listing_title, listing_img_desc, listing_img_description, listing_img_pane, listing_fade, listing_hover_x_img_title and the two listing_slider layouts.

New features (5)

  • HikaShop can now be installed in a single step from a headless, non-interactive context such as the Joomla console "extension:install" command, a CI pipeline or a Docker provisioning script. Until now the bundled plugins and modules were deployed by a second step that relied on the browser following a redirect right after the component install. With no browser to follow that redirect, a command-line install left HikaShop without its plugins and modules. The installer now detects a command-line context and runs the same plugin and module deployment inline, so a command-line install completes on its own. The interactive browser install is unchanged.
  • The Payfast payment plugin now supports recurring billing in combination with the Recurring Orders plugin. On the first checkout, when the order is part of a recurring schedule, HikaShop posts the Payfast form in tokenization mode so Payfast tokenizes the buyer's card and returns the resulting token in the IPN. On each subsequent renewal scheduled by the Recurring Orders plugin, HikaShop charges the saved token server-side via Payfast's REST subscriptions API, without redirecting the customer through the gateway again. A new "Passphrase" setting was added to the plugin parameters, as Payfast requires it for the subscriptions API. The plugin's existing form and IPN signatures now also include the passphrase when it is set, which is the correct behaviour Payfast expects for merchants who configured one on their dashboard.
  • Guest customers can now leave a verified-purchaser review or rating on the products of an order they placed via guest checkout. The "Bought" access mode for reviews previously required a Joomla account (which guest customers don't have), so they were blocked even though they had purchased the product. The product links in the order confirmation email, the order status emails, the My Orders page on the front-end and the review reminder email now all carry the order's authentication token, which the comment system accepts as proof of purchase. The reviewer's name and email are pre-filled from the order's billing address. Logged-in customer reviews are unchanged.
  • You can now import discounts and coupons in bulk from a CSV or XML file, the same way orders can already be imported. A new "Import" button on the Discounts & Coupons listing page in the backend opens a two-step wizard: step one accepts a file upload (or pasted CSV content) and lets you pick whether the file describes Coupons or Discounts; step two shows the columns from your file with a data preview and lets you map each one to the matching HikaShop field, with the most common column names (code, percent, flat, start, end, quota, currency, etc.) auto-matched for you. A discount_type column in your file overrides the type chosen in step one on a per-row basis, so a single file can mix the two. Existing coupons with the same code are updated in place rather than duplicated.
  • Guests and registered customers with the same email address are now kept as two separate customer records in HikaShop. When a shopper who previously placed guest orders later creates an account using the same email, their existing guest record is promoted to a registered one so all their past orders, addresses and saved preferences follow them into the new account. The customer listing in the backend has a new filter and column to tell guest customers apart from registered ones at a glance.

HikaShop 6.4.1

Release date : April, 17 2026

List of all the files changed between the 6.4.1 and the previous version

Bug fixes (54)

  • Contacting the store about an order from the frontend no longer silently fails on WordPress, and after sending the contact request the customer is now taken back to the order page with a confirmation message instead of a blank page. A clear error message is also displayed if the email cannot be sent.
  • The tax type (individual / company with VAT number) and the post-code restriction of tax plans were resolved from the shipping address even when the cart had no product that needed shipping, which could strip the VAT exemption of a B2B customer whose billing address carried the valid VAT ID but whose auto-selected or previously saved shipping address did not. The address type used for these two tax lookups now follows the same need-shipping gate already used for the zone extraction, so the billing address is used when the cart is virtual-only.
  • The checkout could fall into a redirect loop back to the first step when a cart marker changed during step submission (typically when product prices change because the user just registered and now belongs to a different ACL with different prices), because the $checkout_itemid variable was left undefined when the show method was called from submitstep, producing URLs with an empty Itemid parameter.
  • The customer account sidebar is now displayed on the cart show page and the affiliate program page, matching the order listing and address listing pages.
  • On WordPress, the cpanel subpage links (cart, affiliate, etc.) now stay on the account page instead of redirecting to controller-specific pages, so the sidebar remains visible.
  • The WordPress toolbar compatibility class had empty stub methods for save, apply, cancel, new, delete, edit, publish, unpublish, custom, and back buttons, so toolbar buttons were not rendered on WordPress backend pages. They now properly append buttons to the toolbar.
  • The array_unique call on item field category IDs in the product class was missing the assignment, so the deduplication of category IDs was never applied when checking item field category restrictions with sub-categories.
  • The PayPal Checkout plugin could produce an AMOUNT_MISMATCH error when discounts resulted in fractional cent amounts, because the discount in the payment breakdown was rounded independently from the order total. The discount is now computed from the rounded order total to guarantee consistency with PayPal's validation.
  • PHP 8.3 deprecation warning "Using null as an array key" in getCurrentUserAddress when no user is logged in on the frontend.
  • On WordPress, payment plugin end pages (PayPal Checkout buttons, Stripe redirect, etc.) were not displayed after order creation because the showPage method did not account for the plg_ prefix in WordPress extension folder names. The checkout showed "Thank you for your purchase" instead of the payment form.
  • The terms and conditions label on the checkout page was not properly translated when set to a translation key, because the variable holding the param name was overwritten with the uppercase value before writing the translation result back.
  • The Actions button and mass action toolbar buttons on the product, order, category and user listing pages were visible to non-Super Admin backend users who would then get a permission error when trying to use them. Since mass actions can execute MySQL and PHP code, the buttons are now hidden for users without the core.admin permission on com_hikashop.
  • The JHTML select.genericlist WordPress shim was generating a duplicate id attribute when the caller passed an id inside the attribs string instead of using the idtag parameter, causing getElementById lookups to fail.
  • The JHTML select.option WordPress shim was not setting the disable property when the value was false, causing "Undefined property" warnings in code that checks the property (e.g. HikaMarket's plugin restriction form).
  • The JHTML select.genericlist WordPress shim was not handling plain associative arrays (key-value string pairs) which Joomla supports natively, causing options to be skipped in dropdowns built that way.
  • The WordPress frontend routing was intercepting POST form submissions from other components (e.g. com_hikamarket, com_hikaauction) instead of letting their own handlers process them.
  • The JRoute WordPress bridge was not handling URLs for non-HikaShop components (e.g. com_hikamarket, com_hikaauction), causing broken links in plugins that generate frontend or backend URLs for those extensions.
  • Missing divider() method in the WordPress toolbar bridge class could cause a fatal error on backend pages using toolbar dividers.
  • PHP 8.2 deprecation warning "Creation of dynamic property" on the massaction product plugin when deleting products.
  • The view override diff viewer in the backend was not readable in dark mode because the diff colors (red/green backgrounds, line numbers, borders) were hardcoded for light mode only.
  • The shipping and payment methods listing page in the backend could cause a blank screen or run out of memory when many plugin instances with large configuration data were present, because pagination was removed in 6.4.0. Pagination has been restored while properly accounting for single-instance plugins in the total count.
  • File and image uploads via custom item fields on the product page were not saved with the order because the hidden inputs returned by the upload AJAX response were missing the form attribute needed to link them to the product form after the 6.4.0 form restructuring.
  • The previous/next product navigation arrows on the product page were no longer displayed for products with variants because the category lookup was using the default variant ID instead of the main product ID.
  • Google Rich Results flagged invalid carousels on product listing and carousel pages where prices were not displayed, because the ItemList/ListItem structured data was output without the required product offer information. The structured data is now only included when prices are shown.
  • The register button on the registration form was not wrapped in a grid container, causing it to not align with the other form fields when using the grid layout system.
  • The breadcrumb on the product page was generating category links using the product menu item instead of the appropriate category listing menu item, resulting in URLs without the correct menu prefix.
  • The System > Plugins page in the HikaShop backend was listing non-HikaShop system plugins (Joomla core plugins like HTTP Headers, Page Cache, etc.). The query now only includes HikaShop-related system plugins.
  • PHP warnings "Attempt to read property params on array" on the System > Plugins page for the geolocation, remarketing, analytics, and recaptcha plugins when their params were not properly initialized as a Registry object.
  • Adding a product with variants to the cart from the product page would always add quantity 1 regardless of the quantity entered, and custom item fields were not included. This was caused by the form restructuring in 6.4.0 where the form no longer wraps the entire product page, leaving quantity, product_id, and custom field inputs disconnected from the form used by the add-to-cart AJAX call.
  • The order status dropdown on the backend orders listing was no longer displayed, and order statuses were shown untranslated. This was caused by the import button feature overwriting an internal variable used to detect popup context.
  • Embedding images in emails could fail with "Could not access file" when the email template used relative image URLs (e.g. media/com_hikashop/images/mail/header.png) instead of absolute URLs. The embed function now resolves relative paths to absolute file paths.
  • Google Rich Results flagged products without prices on category listing and carousel pages as missing required "offers" field, because the templates used schema.org/Product instead of schema.org/ListItem for each item in the ItemList structured data.
  • The aggregateRating in the JSON-LD structured data on the product page was missing the bestRating property, and empty product descriptions were output as empty strings instead of being omitted.
  • On WordPress, the element-invisible CSS class used for screen-reader accessible labels was not applied in the backend because the rule was only scoped for the frontend wrapper.
  • The breadcrumb on the product page was showing the default variant name instead of the main product name when the product had variants.
  • We fixed a fatal error "Cannot redeclare" on WordPress when uploading a new version of the HikaShop plugin while the previous version is still active. WordPress loads both copies during the upgrade process, causing function redeclaration errors. We added a double-load guard and function_exists() checks to prevent this.
  • We fixed an issue on WordPress where switching between editions (e.g. installing Starter over Business or vice versa) would not update the edition level in the database, causing features from the previous edition to remain active or the configuration page to crash.
  • We fixed an issue in the iVeri payment plugin where hardcoded placeholder URLs (127.0.0.1) were used for the callback URLs instead of the actual site URL.
  • We fixed an issue on WordPress where installing a HikaShop package with a different ZIP folder name (e.g. com_hikashop_starter) over an existing installation could create a duplicate plugin folder instead of upgrading, causing fatal errors.
  • We fixed an issue on WordPress where the Payment Methods and Shipping Methods links in the HikaShop menu bar would highlight the Plugins menu item in the WordPress sidebar instead of the correct Payment or Shipping menu item.
  • We fixed the wrong translation key ONLY_FROM_BUSINESS used in the plugin edit form access level area; it should be ONLY_FROM_HIKASHOP_BUSINESS.
  • We fixed PHP 8.1 deprecation warnings when passing null values to json_decode() and explode() in the checkout workflow type.
  • We fixed PHP 8 warnings "Undefined array key" for 'name' and 'params' in the checkout workflow editor when step data didn't contain these keys.
  • We fixed PHP 8 warnings "Trying to access array offset on null" in the field class when the categories parameter was null, which could happen during order deletion and cause a visual gap on WordPress.
  • We fixed the cancel button on the plugin edit page redirecting to the generic Plugins page instead of the correct Payment or Shipping page on WordPress.
  • We fixed the missing plugin upload interface on WordPress when accessing the "Install Plugin" page. The install template was never created despite the controller, view function, language keys, and menu entry all being in place.
  • We fixed the plugin installer on WordPress using a WordPress-specific nonce instead of HikaShop's standard JSession token check, causing "Security check failed" errors when uploading plugins.
  • We fixed a fatal error during order creation when the selected payment method type does not correspond to an installed payment plugin. The order creation now gracefully skips the payment plugin confirmation step when the plugin cannot be loaded.
  • We fixed a fatal error "Call to a member function get() on null" when saving a variant with a zone-restricted price, because the zone class was not loaded in the variant editing view.
  • Selecting an image from a subfolder in the gallery popup on the product edit page would not add the image to the product. The path traversal security fix was rejecting gallery paths starting with a slash and stripping the subfolder component with basename().
  • HikaShop popups were not visible when opened while scrolled down on a page and Joomla's "Increased Contrast" accessibility option was enabled. The CSS filter on the body element broke position:fixed positioning, causing the popup to appear above the visible area. The popup system now detects the filter and compensates by adjusting the positioning to the current scroll offset.
  • HikaShop popups had a large gap at the top on small screens (e.g. tablets, embedded displays) because of a hardcoded 160px top padding on the popup container. The popup layout now uses flexbox centering with auto margins so that small popups are vertically centered on large screens and fully visible on small screens.
  • We fixed an intermittent "Invalid notification" error with the Authorize.net SIM payment plugin caused by invisible Unicode control characters (bidirectional formatting markers) in customer address fields. These characters could be pasted from mobile apps or web pages and would cause the SHA-512 hash validation to fail. The plugin now strips Unicode control and formatting characters from all address fields before sending them to Authorize.net.
  • Fixed file downloads returning "File not found" for product files stored at absolute paths within the Joomla root directory. The path traversal security check added in 6.4.0 was too restrictive, only allowing files inside the secure upload folder instead of also allowing files anywhere under JPATH_ROOT like the previous version did.

Improvements (32)

  • The order contact page now honors the title set by the view (menu heading or titles rewritten by extensions such as HikaMarket for sub-order contacts), instead of always falling back to "Order: <number>" when an order was loaded.
  • The WordPress URL routing now uses a filterable controller-to-page mapping (hikashop_wp_ctrl_page_map) instead of a hardcoded switch, allowing extensions like HikaSerial, HikaMarket, and HikaAuction to register their own controllers. Unknown controllers now stay on the current page instead of redirecting to the shop page.
  • The WordPress database compatibility layer now detects any alias used for the users table in SQL queries (not just "juser") and rewrites Joomla column names (name, username, email, block) to their WordPress equivalents (display_name, user_login, user_email, user_status). In SELECT clauses, rewritten columns use AS aliases so PHP code reading $row->username still works. Queries using alias.* are expanded to explicit column lists with proper aliases. This fixes queries from extensions like HikaSerial that use different aliases or select all columns.
  • Added a JCrypt / Joomla\CMS\Crypt\Crypt compatibility shim for WordPress, providing genRandomBytes, timingSafeCompare, and safe_strlen using PHP 7+ native functions. This allows extensions that use Joomla's crypt utilities to work on WordPress.
  • The "Round prices during calculations" setting now has a third option: "Yes, without rounding increment". This rounds prices during calculations using the currency's decimal places (for payment gateway compatibility) but applies the rounding increment (e.g. 500 yen, 0.05 CHF) only at display time, avoiding per-item accumulation errors with large increments.
  • The order auto-cancel plugin now has a configurable "Order statuses to cancel" setting, allowing administrators to select which order statuses should be targeted for automatic cancellation (e.g. both "Created" and "Pending"), instead of only targeting the "Created" status.
  • The order auto-cancel plugin now has separate settings for the cron run frequency and the order age threshold before cancellation, instead of a single setting controlling both. Cancelled orders also get a history entry indicating the automatic cancellation reason.
  • Added a new "delay" Joomla form field type for HikaShop plugin settings, displaying a numeric input with a time unit dropdown (hours, days, weeks, months) instead of requiring raw seconds input.
  • The PayPal Checkout plugin no longer depends on the deprecated paypal/paypal-checkout-sdk PHP library (67 files, 603KB). All API calls now use a lightweight built-in API class with direct curl calls, reducing the plugin size and eliminating external dependency management.
  • The image gallery browse popup now remembers the last browsed folder in the user session, so reopening the popup loads the previously selected folder instead of starting from the root.
  • The customer account cpanel now triggers the onBeforeFrontendOrderListing event when loading the last orders widget, allowing plugins to filter orders from the cpanel the same way they can on the order listing page.
  • Price cells in order tables and email templates no longer wrap the currency symbol to a new line in locales where the symbol appears after the number (e.g. German). Added white-space:nowrap to price cells in the frontend and backend order views, invoice, and all order email templates.
  • When changing the customer on a backend order, the address selector dropdown now also shows unpublished addresses in a separate group labeled "Old addresses" for registered users or "Previous orders addresses" for guests, so that addresses from previous orders are always accessible even if the customer deleted them from their account.
  • The datepicker custom field type now supports wildcard characters (*) in the year position of the excluded dates setting. You can use patterns like 4/5/* to exclude April 5th every year instead of having to add a new entry for each year.
  • The datepicker custom field type now supports wildcard characters (*) in any position of the excluded dates setting. You can use patterns like */2/* to exclude all of February every year, */2/2026 to exclude February 2026 only, or 4/*/* to exclude all of April every year.
  • Added a marketplace card at the bottom of the Payment Methods, Shipping Methods, and Plugins listing pages, with contextual links to browse and request plugins on the HikaShop marketplace.
  • The UCP plugin now uses opaque random session tokens in checkout session IDs instead of sequential database IDs, making session URLs unguessable.
  • The UCP plugin now supports multiple API keys via a repeatable subform field, allowing each client (AI platform, agent) to have its own key.
  • Improved error handling in the UCP plugin checkout completion flow to properly handle payment processing failures.
  • On WordPress, after uploading and installing a HikaShop plugin, the user is now redirected to the plugin edit page (or the new method creation page for payment/shipping plugins) instead of the plugins listing.
  • On WordPress, plugin upgrades now merge new files over the existing installation instead of deleting the entire folder first. This preserves user-installed HikaShop extensions in back/extensions/ and uploaded files that would otherwise be lost during upgrades.
  • Updated the license declaration in the WordPress readme.txt and plugin header to GPLv3 to match the license used across the codebase.
  • Added an "External Services" section to the WordPress readme.txt documenting connections to hikashop.com (help documentation, language files) and payment/shipping gateway APIs, in preparation for WordPress.org plugin directory submission.
  • On WordPress, the Starter edition now relies on the WordPress.org update system instead of the custom HikaShop update checker. The "Check now" button is hidden on WordPress, while the upgrade buttons to Essential/Business remain available.
  • The direct file access protection header now checks for both _JEXEC and ABSPATH, ensuring compatibility with both Joomla and WordPress environments.
  • Removed the bundled jquery.min.js file from all editions as it is no longer needed. Joomla 3+ provides jQuery natively, and WordPress uses its own copy.
  • Comments are now preserved in the wordpress/ PHP files during packaging to keep translators comments required by the WordPress.org Plugin Check tool.
  • The PayPal Checkout payment page now displays an order summary alongside the payment buttons in a two-column layout, showing product lines, totals, and addresses so that customers can review their order before paying.
  • When the price calculation plugin modifies a product's price and the product has grouped options in the checkout cart, the base price displayed next to the product name now shows the original price before the calculation instead of the calculated total. This prevents confusion when the calculated add-ons are also listed separately below.
  • Auto-discovered module blocks in the WordPress Gutenberg editor now render list and radio XML field types as dropdown selects instead of plain text inputs, matching the expected behavior for fields with predefined options.
  • Improved WCAG accessibility for the datepicker custom field: added aria-live region on range date display so screen readers announce date selections and night count, added aria-label and aria-haspopup on popup datepicker inputs, added aria-label on the calendar icon button, and added role="application" on inline and range calendar containers.
  • Shipping plugins can now validate addresses on save via the onBeforeAddressCreate and onBeforeAddressUpdate events, which now also import hikashopshipping plugins in addition to hikashop plugins.

New features (14)

  • The PayPal Checkout plugin now supports payment method vaulting for recurring payments. When used with a recurring orders plugin, the customer is redirected to PayPal to approve saving their payment method. The vault token is stored on the customer account and can be used for merchant-initiated charges on subsequent orders via the onOrderAuthorizationRenew hook. This is also compatible with HikaSerial's recurring subscriptions and replaces the need for the older PayPal Recurring payment plugin (which used the deprecated NVP/IPN API).
  • Added an ordering column to zones so that administrators can control the display order of countries and states in dropdown menus. Zones with a non-zero ordering value are sorted first (ascending), followed by the remaining zones in alphabetical order. The ordering can be set via the zone edit form or via the ordering column on the zones listing page.
  • The shipping block on the checkout now has a "Dynamic address refresh" setting (enabled by default). When the shipping and address blocks are on the same checkout step, shipping methods automatically refresh as the user edits address fields (country, state, city, postal code, street) without requiring the address to be saved first. The feature detects whether the user is editing a shipping address or a billing address with the "same address" option checked, and handles the country-to-state dropdown cascade properly.
  • The UCP plugin now supports the W3C WebMCP standard (navigator.modelContext). When enabled, HikaShop registers commerce tools (search products, create/update/complete checkout, list payment methods) that browser-based AI agents can discover and call directly. The tools call the existing UCP REST endpoints using the visitor's browser session for authentication, so no API key is exposed in the frontend.
  • Added hasMerchantReturnPolicy structured data support in the Google Products plugin. You can now configure your return policy type (finite window, unlimited, not permitted), return window in days, applicable countries, return fees, and return policy page URL. The return policy is included in the JSON-LD on product pages and in the OpenAI shopping feed. A per-product override field setting allows referencing a product custom field to use a different return policy type for specific products (e.g. non-returnable personalized items).
  • Added shippingDetails structured data to the JSON-LD on product pages, generated from the existing shipping setting in the Google Products plugin. Each configured shipping rule (country, region, rate, handling time, transit time) is output as an OfferShippingDetails object in the offer, enabling Google Merchant listings shipping details. Per-product shipping overrides via custom fields are now supported in JSON-LD, using the same resolution pattern as the Google Merchant XML feed.
  • Added two new plugin events for the product page structured data (JSON-LD): onHikashopMicrodataProductInfo to modify the JSON-LD object before injection, and onHikashopMicrodataExtraObjects to add extra JSON-LD blocks. This allows plugins to enrich the microdata for specific product types such as hotels or events.
  • The WordPress bridge now auto-discovers external modules (mod_*) installed in the extensions directory and automatically generates WordPress widgets and Gutenberg blocks from their XML manifests, without requiring any WordPress-specific code in the module.
  • The WordPress plugin installer now supports uploading module ZIP packages (type="module") in addition to plugins.
  • Added an EC-CUBE v4.1 migration tool to import taxes, categories, products (with variants and prices), product images, customers, addresses, orders, and order items from an EC-CUBE database into HikaShop.
  • The datepicker custom field type now supports a range mode for check-in / check-out date selection. When enabled, the field renders as a single inline calendar with two-month display where the user clicks once for the start date and again for the end date, with visual range highlighting. Configurable options include minimum and maximum number of nights, and whether the last day is excluded from booking (hotel convention). All existing exclusion rules (forbidden weekdays, excluded dates, wildcard patterns, future/past restrictions, waiting days) are enforced against every day in the selected range.
  • The filter system now supports plugin-provided filter types and filter data types. Plugins can register new filter display types via the onFilterTypeDisplay event and new data types via the onFilterDataLoad event, following the same extensibility pattern as the custom field system. The factory methods _getFilterTypeClass and _getFilterDataClass handle class loading, with onInitFilterTypeClass as a fallback event for plugins providing multiple filter types.
  • The advanced date picker plugin now provides two new filter display types: a single date picker filter and a date range picker filter. The single date picker supports inline or popup mode, multi-month display, optional margin days with a customer-facing checkbox, and dynamic display restricting selectable dates to those present in the product set. The range date picker renders a single inline calendar with two-click range selection and visual range highlighting, reusing the existing range datepicker component. Both types read date constraints (future/past only, waiting days) from the custom field definition and support filtering on both product custom fields and item custom fields.
  • When a filter on the product listing targets a custom item field (e.g. a booking date picker), the selected filter value is automatically passed to the product page via the product link, pre-filling the corresponding item field so that the customer does not have to re-select the same value.

HikaShop 6.4.0

Release date : March, 6 2026

List of all the files changed between the 6.4.0 and the previous version

Bug fixes (39)

  • We fixed an issue where zone-restricted prices were not properly filtered on product listings, causing the wrong price to be displayed. The zone restriction was only applied on the product detail page and cart but not on product listings.
  • We fixed an issue where embedding images in emails would fail when the image URL used a different scheme (http vs https) or www prefix than the site URL configured in Joomla, resulting in a "Could not access file" error preventing the email from being sent.
  • We fixed a PHP warning "Undefined property: stdClass::$payment_price" on the payment methods listing page when a payment method had no price set.
  • We fixed an issue where importing a CSV with tax-inclusive prices would overwrite the tax category of variants from "like parent product" to the default tax category, resulting in incorrect tax category assignments and potentially wrong price conversions.
  • We fixed an issue in the mass action system where filtering on price columns could result in duplicate rows in the results when products had multiple prices.
  • The mass action CSV export now correctly calculates the taxed price for product variants which inherit their tax category from their parent product.
  • We fixed an issue where Google Search Console would only detect the main variant of a product instead of all variants, because inline microdata on the product page conflicted with the JSON-LD structured data. We removed all inline microdata (itemprop/itemscope) from product page templates and vote templates so that the JSON-LD is the sole source of structured data.
  • We rewrote the JSON-LD structured data generation on the product page to properly use ProductGroup with hasVariant for products with variants, so that Google detects all variants individually with their own prices, stock status, images, and characteristics.
  • We fixed the JSON-LD structured data so that it works without requiring the Google Products plugin to be configured, using sensible defaults when the plugin is absent.
  • We fixed an issue where the product description in the JSON-LD structured data could exceed Google's 5000-character limit when the product had long content (tables, FAQs, full copy), causing Google Search Console "description too long" errors for ProductGroup and Product entries. The description is now truncated to 5000 characters.
  • We fixed the inverted ItemList schema markup in the product listing and carousel templates where individual product items were incorrectly marked as ItemList and the container was marked as itemListElement.
  • We fixed a MySQL query error during the update / install process due to a typo with the modifications made for the currencies default settings in HikaShop 6.3.0.
  • We've fixed an issue where plugins relying on the HikaShop cron could get seen as uninstalled by Joomla in some cases during cron tasks, following a previous fix with the saving of plugin settings during cron tasks.
  • When products were configured with several prices restricted to different conditions, the correct price was not always loaded due to an improvement in the previous version.
  • The activation link would not work properly on Joomla 6.
  • We've fixed several issues with Google Pay in the PayPal Checkout payment plugin that could prevent the Google Pay button from appearing or payments from being captured properly.
  • We've fixed several issues with Apple Pay in the PayPal Checkout payment plugin, including a TypeError on non-Apple devices and missing billing contact information.
  • We've fixed the 3DSecure settings and information display on the PayPal Checkout payment plugin.
  • We fixed a false duplicate alias error when saving products with variants. The alias uniqueness check was matching against variant rows which share the parent product alias, causing a false positive.
  • We fixed an issue which could lead to the interface customization of the product edit page messing with the description HTML editor which wouldn't display correctly.
  • The category explorer would not display properly when being folded in the backend products and categories listing pages following changes to the CSS grid system in a previous release.
  • The saving of a view override on the backend could result in the page being displayed without the backend template.
  • We've fixed missing CSS and JS for the address layout builder.
  • We fixed a warning on the dashboard with "table" widgets.
  • We fixed a SQL error on dashboard map widgets with MariaDB strict mode.
  • We fixed PHP errors in the map widget template.
  • We've fixed a layout issue on the backend customer edit form when the affiliate system is activated.
  • We've fixed the width of the weight unit selector for the variant edit form in the backend.
  • We've fixed a backward compatibility issue with HikaSerial's dashboard.
  • We fixed a warning in HikaShop Essential on the cron task tab of the HikaShop configuration.
  • We fixed a warning with the default layout of the product page.
  • We fixed a PHP warning which could happen on the category listing page when an image file couldn't be read properly.
  • We fixed a PHP warning which could happen when generating thumbnails and checking sizes for invalid or unreadable image files.
  • We fixed an issue where generated thumbnails could fail to display because the thumbnail folder path used scaled image dimensions instead of the configured thumbnail dimensions.
  • Modules under the product page could have the translated canonical URL of another language in some cases.
  • We fixed a warning which could appear in some rare cases on the checkout with the previous version of HikaShop.
  • We fixed a deprecated message with custom fields in some rare case on PHP 8.4.
  • We've fixed several issues with the vote system: JavaScript crash on some pages, tooltip HTML breaking the page DOM, vote stats returning zeros on comment-only submissions, and various other JavaScript bugs.
  • We fixed the affiliate commission not being calculated when using the category restriction feature.
  • We fixed the Joomla 4+ plugin compatibility layer so that it correctly handles typed Joomla events with no named arguments (such as GetKeyEvent or SetCachingEvent). Previously, the argument mapping would crash when the event object had no arguments to extract. The layer also now uses the addResult() method instead of the deprecated setArgument() for returning results, as required by Joomla 6.

Improvements (41)

  • The Google Products plugin now automatically adds the native_commerce attribute to all products in the feed when the UCP plugin is enabled, making them eligible for Google's UCP-powered checkout.
  • The product_sort_price field is now automatically recalculated on the product detail page when it doesn't match the current public price, so that price-based sorting in product listings stays accurate without requiring a manual recalculation.
  • The product condition in the JSON-LD structured data now uses the product-level setting with a fallback to the Google Products plugin default, instead of always defaulting to NewCondition.
  • We improved the handling of review authors in the JSON-LD structured data by resolving the username from the database when the vote pseudo is empty, and skipping reviews without an identifiable author, as required by Google.
  • Language files are now automatically updated when a new version of HikaShop is installed. On each admin session, HikaShop checks if the installed language files are outdated and downloads the latest versions from the server. On WordPress, the wordpress.ini translation files are also updated automatically.
  • The default product page image size for new installs has been increased from 100x100 to 300x300 pixels.
  • The "Simplified breadcrumbs" setting now has a third "Auto" mode which automatically builds the full breadcrumb path (Home > Category > Product) using the product's main category, while keeping clean URLs without the category_pathway parameter. This new mode is now the default for new installs.
  • We've improved the address form layout configuration interface so that the behavior of the tool when drag&dropping fields around is smoother.
  • We've added a weight and a volume column to the orders listing in the backend.
  • We've added shipping price and payment fee columns to the backend order listing (hidden by default).
  • We improved the display of microdata for the price with the reversed and tabular layouts of the product page.
  • We've improved the decoding of serialized data.
  • We've improved the look of the tabs in the tabular product page layout.
  • We've improved the display of the drawer mode for the HikaShop cart module.
  • HikaShop now properly supports child templates for view overrides.
  • We've improved the support for newer versions of jQuery.
  • The product page layouts have been modified to not have a form HTML element around the whole page. This allows for greater flexibility with customization, allowing you to add elements with forms, like modules, inside the product page layout.
  • The IP address resolver in HikaShop now supports CloudFlare, Sucuri, Incapsula / Imperva and Nginx reverse proxy in order to improve capturing the correct IP address for customers.
  • We've improved the loading of filters configured to use fields so that when the field is removed, the filter doesn't generate an error.
  • The view override "diff" mechanism has been restyled and reworked so that it is more useful and looks correct.
  • When a mass action is manually processed in the backend, there is now a result message.
  • We've optimized the backend vote listing by batch-loading product names and user info.
  • We've added CSRF token validation to vote AJAX requests.
  • The Google Products plugin now skips products with zero price to avoid Google Merchant Center rejection.
  • We've improved the contact form error handling when email sending fails.
  • We've added duplicate withdrawal request detection to prevent users from submitting multiple withdrawal requests for the same order.
  • Plugins of the group "hikashop" not supporting multiple instances are now listed in the System>Plugins menu.
  • We improved the thumbnail generation performance by skipping regeneration when a valid thumbnail already exists and the source image has not changed.
  • The image helper now preserves ICC color profiles when resizing JPEG images with GD, preventing the color shifts that occurred because GD strips ICC data during processing. The ICC profile is extracted before resizing and re-injected into the output file afterward.
  • The PayPal Express payment plugin now blocks known bots from initiating orders via the PayPal Express button.
  • The PayPal Express payment plugin now prevents duplicate order creation when the PayPal Express button is clicked multiple times, by detecting if a pending order already exists for the same cart.
  • When linking directly to a product variant via URL, the characteristics are now automatically pre-selected even when the "Characteristics dynamic display" setting is enabled.
  • When Joomla's page cache is enabled, cached pages now vary by currency so that visitors with different currencies (e.g. via geolocation or the language-to-currency plugin) see the correct prices instead of the currency from the first cached visit. :: https://www.hikashop.com/forum/5-support-en-francais-french-support-/910178-la-devise-affichee-ne-tient-pas-compte-de-l-ip-si-le-cache-est-active.html#370789
  • We improved WCAG 2.2 accessibility compliance across the frontend and backend: added visible focus indicators on dropdown and button elements, added scope="col" to data table headers, added visually hidden labels to search inputs and select-all checkboxes, added screen-reader-only text for star ratings, replaced clickable table cells with proper button elements for the useful/useless vote actions, and added thead/tbody structure to the product comparison table.
  • We further improved WCAG 2.2 accessibility: added focus styles alongside hover on product/category name links and checkout cart rows, added visible focus indicator on backend namebox inputs, added Enter/Home/End keyboard support to dropdown menus, added accessible text to the icon-only empty cart link, added a visually hidden legend to checkout fieldsets, and added screen-reader text for out-of-stock product variants.
  • We added screen-reader accessible text and aria-hidden on decorative icons across multiple frontend and backend views: login form forgot password/username links, order listing show/hide product buttons, product carousel prev/next buttons, discount selection search/reset buttons, address layout field controls, and product edit block controls.
  • We added role="alert" to error and warning messages so screen readers announce them, and added aria-live="polite" to the cart module so cart updates are announced to assistive technology users.
  • We replaced non-semantic clickable spans and divs with proper button elements for the filter toggle, product image prev/next navigation, and backend product block controls (width/columns/toggle), improving keyboard accessibility (WCAG 2.1.1). We also added accessible text to the product image prev/next buttons.
  • We added aria-describedby error spans to form fields (address, registration, custom item, contact, and order fields) so that screen readers can announce per-field validation errors. Fields now set aria-invalid when validation fails and display the specific error message next to the input (WCAG 3.3.1).
  • We improved accessibility of vex popup dialogs: added role="dialog", aria-modal, and aria-label attributes, implemented focus trapping so keyboard users cannot Tab out of the dialog, made the close button keyboard-accessible, and focus is now restored to the trigger element when the dialog closes (WCAG 2.4.3).
  • We added keyboard move buttons (up, down, previous/next position) to the view builder blocks as an alternative to drag-and-drop reordering, so that keyboard-only users can rearrange blocks without a mouse. All action buttons now appear on hover/focus for a cleaner interface (WCAG 2.5.7).
  • We added keyboard alternatives to all drag-and-drop interfaces in the backend: move buttons on product edit form blocks and grip handles with arrow keys on block fields, move buttons on dashboard configuration rows and widgets, and move buttons on address layout builder fields. Controls appear on hover or keyboard focus. We also fixed a pre-existing bug where mouse-resizing address layout fields could not increase their width (WCAG 2.5.7).

New features (14)

  • HikaShop now works on WordPress. You can use the same install zip file on WordPress' "Add plugin" upload form and then activate it. HikaShop will work basically the same as on WordPress. With a few changes here and there to adapt to how WordPress works.
  • We've added a UCP (Universal Commerce Protocol) plugin to HikaShop. Once configured and enabled, it allows AIs to purchase on your store for their users.
  • The Google Products plugin can now generate an OpenAI / ChatGPT Shopping product feed in JSON format alongside the existing Google Shopping XML feed. It includes all required and recommended fields such as reviews, star ratings, variant attributes, store country, target countries, return policy and eligibility flags. The JSON feed is saved to a publicly accessible file that OpenAI can crawl, and is automatically regenerated by the cron alongside the Google feed.
  • We've added 5 new and modern layouts for the product page on top of the "default", "reversed" and "tabular" layouts.
  • The customization capabilities of the product edit page have been improved in the backend. Now, each block can be resized and options inside each block can be split into 1, 2 or 3 columns.
  • Custom fields of the table "product" now have a new display setting you can activate so that they get displayed in their own tab in the tabular layout of the product page.
  • There is now a "translatable" flag which can be added by payment and shipping plugin developers in the pluginConfig array in order to make text options translatable by the user. The "information" setting of the Bank transfer, Check, Credit card, Purchase Order and Western Union payment plugins can now be translated easily via the available translation interface.
  • We've added an "import" button to the backend orders listing to be able to easily import orders to HikaShop.
  • The tag {VAR:order.order_geolocation_country_code} is now available in order emails in HikaShop Business in order to provide the country code retrieved by the geolocation plugin based on the IP of the customer.
  • There is now a "+" icon for the images option of payment and shipping methods so that you can easily add extra images.
  • We've added a new migration tool from one website with HikaShop to another one. With it, you can migrate from one Joomla to another, one WordPress to another, from a Joomla to a WordPress or from a WordPress to a Joomla.
  • On the HikaShop configuration page, below the version number, we've added a "Check updates" button and buttons to upgrade to Essential / Business if you're on the Starter / Essential edition and you've purchased an upgrade.
  • HikaShop constants can now be overridden from a system plugin, before HikaShop is being loaded.
  • We've added include/exclude toggle and multi-select support for warehouse restriction on shipping methods.

 

HikaShop 6.3.0

Release date : February, 1 2026

List of all the files changed between the 6.3.0 and the previous version

Bug fixes (26)

  • The new dashboard edit mechanism could generate an error upon update when using the legacy dashboard.
  • We've fixed a fatal error which could happen in some cases during cron tasks.
  • Fixed blank page issue on user profile pages with complex HTML structures (e.g., EasyLayouts templates) caused by PCRE backtracking limits in the HikaShop user synchronization plugin
  • On product pages on multilingual websites, in some cases, the Joomla language switcher could lead to a 404 error when not using the translation system of HikaShop.
  • The delete icons wouldn't be red anymore in the backend of hikashop.
  • We fixed a potential error in the backend with the use of the toolbar system of Joomla.
  • Fixed the product description block width expansion button not working in the backend product edition page following changes in the previous version of HikaShop.
  • The payment of won auctions wouldn't work properly in some cases due to a faulty security check in HikaShop.
  • We've fixed a warning linked to HikaAuction in some rare cases.
  • Fix taxes calculation not triggering when the unit price is updated from the quantity change of the product edit / add popup in the order details page.
  • We fixed the HikaShop dashboard module layout in the backend in some cases.
  • We fixed the dashboard layout in the backend in some cases.
  • We've fixed undefined property warning when editing mass actions with saved triggers/filters/actions which could appear in some cases.
  • When trying to access an inexistant order in the backend, HikaShop would display PHP errors instead of redirecting to the orders listing.
  • The toggles on listings could display a warning in some cases.
  • We fixed the display of social network buttons on the product details page.
  • We've fix some CSS display issue following the new CSS grid system added in HikaShop 6.2.0
  • When a coupon with a shipping discount (like free shipping) is applied to an order where shipping is taxed, the tax display was not being updated correctly even though the total was calculated correctly.
  • The new CSS grid created a backward issue in some cases with custom CSS styles.
  • We've fixed the PayPal Checkout messages for the cart and the product details page.
  • We've fixed several issues with language files.
  • New products with a quantity set to 0 would have their quantity changed to unlimited automatically.
  • The payment of won auctions wouldn't work properly in some cases due to a faulty security check in HikaShop.
  • The Whatsapp share button would display based on the telegram display setting in the HikaShop Social Networks plugin.
  • We fixed the display of the "mini cart" / "mini wishlist" option for languages other than English in the cart module settings.
  • The "product" button in Joomla articles, which opens a popup to configure content tags didn't work following changes in the previous version of HikaShop.

Improvements (14)

  • We've improved the view builder for the frontend product / listing and the category / listing view files.
  • We've drastically improved the perfomances of the product CSV import system in HikaShop. It should run at least 30% faster. We also made it more robust.
  • The Google Products plugin now checks the access level of the categories of the products so that if no category of a product is accessible based on the "user group" setting of the Google Products plugin, the product will be skipped.
  • We've updated the list of currencies.
  • We've worked on the currency edit form so that it is now easier to setup the price display for each one thanks to an interactive configuration interface.
  • The pagination is now reset on the orders listing when the payment method is selected for filtering.
  • HikaShop will now hide the pagination area of products listings on the frontend when it is not necessary.
  • The Smart search integration plugin now takes into account the access level of categories of products being indexed.
  • We've worked on the style of the view builder system so that it offers a cleaner interface.
  • We've added auto scroll to the elements in the view builder so that when you drag & drop an element, the code scrolls automatically to the corresponding code.
  • We've improved the rendering of the video player on the frontend product page. It will allow for a smoother experience by preloading the player when the page is loaded.
  • We've improved the handling of videos so that they will properly display even if allow_url_fopen is disabled on the hosting environment.
  • We've improved the display of the quantity input field so that even if frontend templates add a padding to the input fields, the quantity input field will still display properly.
  • We've unified the logic for price_site_id handling between listing and product pages to ensure consistency in price selection.

New features (13)

  • There is now a button "Generate copies" on the shipping methods listing and edit pages so that you can easily generate a lot of copies of a shipping method.
  • When the "Display view files" setting is activated, there is now an edit icon next to the view file name. When clicking on the icon, you'll get a popup with the view edit form, saving you a lot of time as you don't have to search for the view file in the backend to edit it.
  • You now have access to the translation interface when editing a filter for easy translation of the name of the filter.
  • We've added an "Address form layout" setting to the HikaShop configuration. You can now easily configure your address form on the frontend with a drag & drop interface. Thanks to this, you can build nice looking layouts. The system comes with a default one which you can just activate to get a good start.
  • We've added an import tool to be able to import data from WooCommerce.
  • We've added a migration tool to migrate your shop from J2Store / J2Commerce to HikaShop.
  • We've added export and import buttons to the shipping methods and payment methods listings in the backend in order to make it easier to migrate and generate methods.
  • It is now possible to import sub zones via CSV. This will greatly help when you need to add a large number of states, countries at once or if you need to create a new zone with a lot of sub zones.
  • User Points plugin: Added support for defining points earned per product via a custom field.
  • User Points payment plugin: Added support for defining point cost per product via a custom field.
  • We've added a "cancel operation" action to mass actions. This action will only work when the mass action is called via a "before" trigger. For example, suppose you want to make sure that all the products have a weight and dimensions when being configured in the backend, you can add a mass action with triggers "before a product is created" and vbefore a product is updated", filters on the columns product_weight, product_width, product_length and product_height being equal to zero, and an action "cancel operation". This can also be used to check user information during registration, checks on orders being created on the frontend, forbid the deletion of elements, etc. This action has an option "error message" so that you can display the error message you want to the user when the operation is cancelled.
  • The content tags now support the different ways to display discounted prices.
  • We've added the possibility to match the columns of the CSV with the possible columns in HikaShop in the product import tool.

 

HikaShop 6.2.0

Release date : January, 2 2026

List of all the files changed between the 6.2.0 and the previous version

Bug fixes (31)

  • We made the editor button plugin compatible with Joomla 5.4
  • We've fixed an error at the end of checkout with affiliation on sales with a percentage amount.
  • We fixed a fatal error which could happen in really rare cases when loading an email after a status change.
  • We've fixed some parsing issues with the view builder leading to some views not being supported by it previously.
  • We fixed a warning with the new "on after order confirmed" trigger of mass actions in some cases.
  • We fixed a warning on the module edit screen in some rare cases.
  • We fixed the display of settings for triggers of other data tabs in some cases for mass actions.
  • In some rare cases, the module settings page could generate an error.
  • Following modifications in a previous release of HikaShop, the price of options could be, in some cases, calculated incorrectly during the creation of the order at the end of the checkout, leading to the subtotal and total having the wrong value in the order / invoice / emails.
  • In some rare cases, the module settings page could generate an error.
  • We fixed the vote mechanism in some rare cases on the product details page.
  • We fixed potential deprecated messages with PDO on PHP 8.3 during the order saving process.
  • We fixed a warning with the order mass actions.
  • We fixed a column issue on the products listing of the order edit page in the backend when the user has configured custom product fields to be displayed there and the products have values in them.
  • The price calculated for options of products in the cart with the "group options with product" setting turned on could be wrong in some cases.
  • Following changes in the previous version of HikaShop, there was a error with the upload of files on custom fields on the frontend.
  • The calculation of the number of packages necessary for the shipping was not correct in the USPS plugin.
  • We fixed a deprecated message on the product page in some rare cases with PHP 8.2
  • The support of the view builder for the order edit page in the backend led to a display issue with the products listing when no custom product fields were visible.
  • There were some warnings with mass actions on orders with a "after an order is updated" trigger with the previous version.
  • The sorting of shipping services would not work properly in some cases.
  • We fixed an error which could happen during the saving of a product with characteristics if a massaction was configured with a trigger to run during the product saving and with a filter on the characteristics.
  • The auto open feature of the cart module might not work in some cases when adding the first product to the cart.
  • During the indexing of products for the Smart Search, the HikaShop Smart Search plugin will now look for menu items in the target language of the content being indexed instead of menu items in the current language. This will avoid errors on the frontend when the alias of the menu item in the URL of the product doesn't match with its language in the search results of the Smart Search.
  • We fixed an error which could happen in some cases with the upload of files in the backend resulting in the process failing.
  • The selection of a category with a single quote in the backend selector popup of category filters wouldn't work properly.
  • The cart drawer mode would shift the page by a few pixel when it would close and open.
  • When the cart module would have its auto open setting activated, it would open during the checkout when doing checkout actions while it is not necessary there since the customer is already on the checkout.
  • The edit /creation of modules of the type HikaShop content module didn't work properly on Joomla 6.
  • We've added missing position code to the bootstrap registration view file.
  • The modifications for the support of Joomla 6 lead to a problem with the editor button on Joomla 3 with the JCE editor.

Improvements (12)

  • The vote & comment system will now display an error message when the user tries to post a comment while having selected something for the vote but not entered anything for the comment.
  • We've switched to CSS grid for listings in HikaShop. This means a smoother experience for the user, while using more modern CSS code, with less boilerplate code. We don't expect backward compatibility issue with this.
  • We've improved the layout of the orders listing filters in the backend.
  • We've improved the responsiveness of listing pages in the backend.
  • We've improved the responsiveness of the backend dashboard.
  • We've improved the loading of plugin data to rely, when possible of the plugin data cache of Joomla.
  • We've greatly improved many of the translation files for HikaShop.
  • We've added an index on the category_alias and product_alias columns in the database in order to improve page load in some cases with the "Remove products and categories id in URLs" setting of the HikaShop configuration turned on.
  • We've improved the wording for the API Key settings of the Geolocation plugin.
  • We've added two new columns order_shipped and order_delivered in the hikashop_order table in order to store the date when orders are shipped and when they are delivered.
  • The dark mode was not supported properly when editing the settings of HikaShop modules via the Joomla modules manager.
  • We've added ids and classes to the cart view on the checkout for easier styling and JS code customization.

New features (16)

  • There is now a "locked" column for the Order statuses menu. If you enable statuses under that column, then orders with these statuses won't be modifiable anymore besides changing their order status to another locked order status.
  • We've added certification support to the Google Products plugin.
  • We've added a new "export fields" setting to the HikaShop configuration page to be able to select which columns to export when using the "Export" buttons of products and orders listings in the backend.
  • We've added a "dashboard configuration" button on the dashboard. With it, you'll be able to customize your HikaShop dashboard in many ways: modify the settings of the default widgets, add new widgets, rearrange the widgets, the layout of the dashboard, add reports, etc. You'll also be able to export your layout, import a layout file, and load preset layouts.
  • We've added a scroll to code button in the view builder of views for easier customization.
  • We've added new settings for the material of the products and whether the content is for adults in the Google Products plugin.
  • You can now add videos from Youtube / Vimeo / Dailymotion to your products in the images area.
  • We've added a setting to the Geolocation plugin to be able to select a default service when the "all" choice is selected in the service setting.
  • We've added a new withdrawals feature in order to comply with the new EU Directive 2023/2673
  • We've added a new "delivered" status for orders.
  • We've added a new trigger "on MCP request" to mass actions.
  • The System HikaShop Massaction plugin has new options for MCP support. If an API key is set, it will automatically advertize all the mass actions with that "on MCP request" trigger so that MCP clients can use them.
  • The System HikaShop Massaction plugin includes a bridge JS file ( file plugins/system/hikashopmassaction/mcp_brigde.js ) so that a local nodeJS MCP inspector can be used to test the MCP tools created with mass actions.
  • We've improved the selector for multiple products in the backend of HikaShop. You will now have a checkbox for each product in the dropdown selector, and you'll be able to select many products before clicking on the new "Add" button in to add them all at once.
  • We've added a new integration to findIP.net for the Geolocation plugin.
  • The shop owner can now add a reply to comments in the backend.

 

HikaShop 6.1.1

Release date : November, 7 2025

List of all the files changed between the 6.1.1 and the 6.1.0

Bug fixes (27)

  • The "file" and "image" custom field types now better support HikaShop's guest mode for fields of the types "address", "product", "item" and "order" in emails.
  • We modified the indexing of poducts for the Smart Search on Joomla 5.4 and 6.0 so that the results page of the Smart Search wouldn't output warnings in some cases.
  • The edition of menu items of the types HikaShop products listing and HikaShop categories listing wouldn't work properly on Joomla 6.
  • We've added proper compatibility with the editor system on Joomla 6 for the content tag plugin.
  • We fixed an issue with the creation / edition of Joomla articles on Joomla 6.
  • We fixed an error on Joomla 6 with the HikaSHop Donation plugin.
  • For custom fields of the table "user" displayed on the Joomla profile edit page on the frontend, the required custom fields that were not displayed due to their "display limited to" setting restricting their display on another field value, the submission of the form would failed on them instead of ignoring them. We now properly handle their required attribute and class so that these kind of fields don't mess with the profile edit form when they shouldn't.
  • The title of Atom / RSS feeds could sometimes not be escaped properly leading to the title of the feed displaying at the top of the page when the title would contain HTML code. HikaShop will now strip the HTML before adding the RSS / Atom feed meta data to the pages.
  • The image switching on the product page didn't work properly for products with variants when the "Thumbnails" setting was turned off.
  • The saving of warehouses for variants didn't work properly.
  • The plugin cache cleaning at the end of the install / update process could sometimes generate an error on Joomla 5.4 and Joomla 6.
  • An error could happen in some rare cases with the "related products from products in the cart" setting activated in a products listing menu item or module.
  • We've fixed a warning which could happen in some rare cases with the update process.
  • There was an error with the display of option images in some rare cases.
  • The mail template logo from Joomla wouldn't be used properly with the Joomla mail template when generating the HikaShop email.
  • The thumbnail size settings of custom fields of the type "AJAX image" didn't work properly on the upload area's thumbnail on the frontend with SEF activated on the website.
  • We've fixed some issues with the drawer mode of the cart module.
  • The deletion of a custom field could, in some rare cases, display an error message when it was in fact successful.
  • A change in HikaShop 6.1.0 for better support of quantities for option products resulted in the "shop custom" plugins of our marketplace to now work properly anymore. We've made a patch to make sure the backward compatibility is preserved.
  • We fixed a javascript error which could happen in some cases on Joomla 5 on the payment page of the PayPal Checkout payment plugin when the payment would not succeed, preventing the plugin from displaying the error message to the customer.
  • The auto scroll to the error messages during the checkout wouldn't work with the "Use bootstrap v2 design" setting activated.
  • The "cheapest" sorting didn't work properly in the UPS OAuth shipping plugin.
  • We've improved the address saving in the order edit page of the HikaShop backend so that it properly display error messages related to the VAT number.
  • We fixed a warning which could happen on the backend orders listing in some rare cases when an order had invalid tax data stored in the database.
  • We fixed some warnings during the checkout when the cart can't be loaded.
  • The category restriction setting of the affiliate system added in the previous version didn't work properly.
  • The "user account" email might contain an untranslated text in some cases.
  • In some rare cases, the price with options could be wrong on the product page.
  • When searching for something in a backend listing with custom fields displayed as columns, if there was a match with a custom field of the type AJAX file or AJAX image, the download link on the listing would not work properly due to the highlight mechanism on the search results.
  • The product name was not displayed correctly at the top of the contact form page when the product had variants.

Improvements (22)

  • The "Non-latin translation keys" setting is now available even when the "Activate the edition of content in multiple languages" setting is disabled.
  • We've improved the loading of HikaShop to avoid loading font-awesome if we're in cli mode. We also skip the log of the WebAssetManager for it if any as it is not relevant and can be ignored.
  • We've improved the error logging when trying to load a library and it is not possible.
  • The Donation plugin will now follow the "Type of address used for tax" setting of the HikaShop configuration instead of basing itself on the shipping address for the taxes calculations.
  • We've improved the checkout so that when a user fills a guest form and there is no other content on the step, it will redirect automatically to the next step.
  • The credit card form of the PayPal Checkout credit card form is now a dropdown instead of an input field. This will help prevent users from entering incorrect values.
  • The product CSV import will now automatically generate keywords, meta description and alias based on what is in the CSV during the import if the corresponding options are activated in the HikaShop configuration page.
  • The hikashop_getDate function now set a default format if none is provided.
  • The categories in a filter on the frontend could sometimes not respect the ordering configured in the backend for them.
  • The ordering of the categories is now taken into account for the display of the products selector in the backend.
  • Trashed products are now ignored for the search integration on Joomla 3.
  • HikaShop now allows for more characters in the attribute option of custom fields.
  • When changing the selected variant of a product in the cart, the limits and max quantity restrictions on the main product now properly discard the quantity of the old variant in the cart even though it is not yet deleted when the new variant is being added to the cart.
  • We fixed the color of the error / success messages from the upload system of HikaShop in dark mode.
  • The upload system would try to generate a thumbnail from the default upload folder of HikaShop for custom fields of the type "AJAX image" when it shouldn't.
  • The upload system now checks the maximum file size of the image / file being uploaded before it starts the upload and directly displays an error if too big. Before, it would upload it, and then the check would happen only once the form where the field is would be submitted to the server.
  • The PayPal Checkout payment plugin now better supports echeck payments.
  • We've made some improvements to the display of the quantity of options and made that into a proper hidden setting so that no view override is necessary for it anymore.
  • The default pagination in HikaShop now has aria-label attributes for better acccessibility.
  • The options image on the product page now takes into account the settings of the "image" section of the HikaShop configuration.
  • HikaShop now adds a X-Robots-Tag:noindex header to the upload URLs (for custom AJAX file / image fields for example) on the frontend so that search engines won't index them.
  • We've added extra data blocks to the order details page on the backend. That way, plugins can add extra things on the page in different locations thanks to the onHikashopBeforeDisplayView event.
  • We've added a bit of CSS code to reduce the space taken by the preview of the uploaded image when using a custom field of the type "Image". That way, it will be nicer for big images, without the need for the merchant to add custom CSS for it.

New features (14)

  • You can now use the gallery system to select a file when editing a product.
  • We've added a new setting called "auto open on add to cart" for the drawer mode of the cart module.
  • You can now add an entry with the namekey order_notify_customer_default and the value 1 in the hikashop_config table in the database via your PHPMyAdmin so that the notification to the user is activated by default in the backend interface of HikaShop, when modifying an order.
  • We've added a new trigger "After an order is confirmed" to the mass actions of the data type "order".
  • The triggers of mass actions can now have parameters.
  • The "Display the results" action will output a JSON if the massaction is triggered by the "On HTTP request" trigger.
  • We've added a "On HTTP request (webhook)" trigger to mass actions. With this you can create endpoints for your HikaShop in order to have an API on your website. This way, third party software can call your API to retrieve data or load data or run massactions.
  • The HikaShop System massaction plugin now has an "API" setting which you need to activate in order to be able to use the "On HTTP request (webhook)" trigger. It also has an "API key" parameter your can fill if you want to restrict your API to only HTTP requests providing this API key.
  • We've added a "Send HTTP request" action to the massaction system. This way, you can configure massactions to call third party software APIs, manually or automatically. The system supports Basic and OAuth2 authentication and the POST and URL can be configured with tags in order to populate them with the data of the elements being processed by the mass action.
  • We've added a new setting to the Terms and Conditions in order to be able to provide a custom error message.
  • We've added a new setting "override category restriction" to the partner area of the user edit form in the backend so that it is possible to override the category restriction from the HikaShop configuration for each partner in the shop. That way, you can potentially configure different categories of products for different partners.
  • It is now possible to have bundled products for variants of products.
  • We've added support to the order edit backend view files for the view builder. That way, you can edit these views via the menu Display>Views in order to customize them, shifting things around without code knowledge.
  • HikaShop will now keep the user session alive when editing things in the backend on Joomla 4 and up.

 

HikaShop 6.1.0

Release date : August, 15 2025

List of all the files changed between the 6.0.0 and the 6.1.0

Bug fixes (26)

  • The update site type was wrong in the XML file of HikaShop once installed on the website, while it was correct in the database. This could lead to a wrong type when deleting the update site manually in the backend and asking Joomla to regenerate it from the XML file.
  • When using the hidden capability to have input fields for each option of a product, and if you had the "group options with product" setting activated, the unit price of the main product would not be correctly calculated in the cart, and the total would also be wrong if the main product quantity would be higher than 1.
  • The "Button on control panel" setting of the affiliate plugin would be reset each time the HikaShop configuration would be saved.
  • We now make sure the cart notification plugin is enabled before loading it when the "load HikaShop on all pages" setting of the HikaShop user synchronization plugin is enabled. Without this extra check, the notification box could appear after an add to cart even with the plugin disabled, which we don't want.
  • Using a coupon with a shipping percentage with taxes involved could potentially result in a fatal error in some rare cases.
  • We fixed a fatal error which appeared after previous modifications to the custom field system.
  • When moving a vote / comment from one product to another in the backend interface, the previously selected product's average and vote count would not be updated accordingly leading to a discrepancy between the average value displayed on the frontend and the entries linked to the product. We've fixed that so that there is no more discrepency when this happens.
  • We've improved the "link" type custom fields so that they behave properly when only providing a URL.
  • The "related" and "options" columns of CSV files generated with the "export CSV file" action of product mass actions were not handled properply resulting in non sensical data in some cases.
  • The "Bought" access level for vote and comments would take into account all orders. Now, it will only take into account orders enabled under the "invoice" column of the Order statuses menu.
  • The check of the "Bought" access level for vote and comments would not work properly in some cases.
  • When a coupon was used to reduce the amount to be paid, the user points payment plugin wouldn't take into account the coupon value and force the use of the points for the amount without the coupon taken into account.
  • When using the search input on some backend listings, the pagination would not work properly.
  • We've improved the payment view of the checkout so that when a customer clicks on the next button, it first checks if there are any payment selection available on the page. If there isn't (for example, after a 100% coupon code has been provided by the customer), the payment view won't trigger anymore the custompayment.needsubmit javascript event used by some payment methods to stop the checkout from proceeding to the next step in order to handle the payment information. This way, the customer will be able to proceed unimpeded.
  • With several payment methods having extra fields to be filled during the checkout, the custompayment.needsubmit and custompayment.submit JS events would not necessarily have the currently selected payment method provided when clicking on the "finish" button of a step with the payment selection area on it in some cases. This would result in another payment plugin handling the submission of custom information instead of the payment plugin of the currently selected payment method, leading to incorrect errors for the customer.
  • We fixed a PHP warning which could happen on the orders listing when an order would have invalid tax information stored.
  • We fixed a PHP warning which could happen when using a "+" during a search in the backend listings.
  • The new "Exclude discounted products" setting didn't work properly in some cases.
  • The payment of orders not paid immediately displayed an error message in some cases instead of proceeding following a modification in HikaShop 6.0.0
  • We fixed an error in the PayPal Checkout payment plugin with orders with taxes in some cases.
  • We fixed an error with price cursor filters introduced in HikaShop 6.0.0
  • Following improvements with checking for bots for the geolocation system and the add to cart system, there was a problem which led to the users not being detected properly.
  • The sale start date was not properly provided to the smart search.
  • Following an improvement in HikaShop 6.0.0 to display a message when no products are found in a category, the system would display it even if sub categories had been found. We've changed the system so that the message doesn't appear in such a case.
  • With the redirect on success activated in the cart notification plugin, the user would be redirected to the checkout automatically even when doing an add to wishlist. We now do not redirect automatically anymore for wishlists.
  • With the "Click to checkout" setting activated in the cart notification plugin, the use would be redirected to the checkout when clicking on the notification box of the add to wishlist process, even though it should only be for the add to cart process.

Improvements (14)

  • We reduced the size of the "note" field on the order edit popup in the backend as it was too big for no reason, which could lead to some users missing the form elements below it.
  • When a module is configured to display related products to the products in the cart, the module now won't list the products already in the cart even if they are listed as related products of other products in the cart.
  • The translation of the meta description is now taken into account when the google products plugin is configured to use the meta description instead of the description of the products.
  • The HTML tags in the product names are now stripped when used by the google products plugin.
  • We added a date dropdown filter to the customer listing of downloads on the frontend so that it is easier to find downloads for him.
  • The columns of custom product fields will now be hidden automatically on the cart view during the checkout if all the products in the cart don't have a value for it.
  • The Australia Post v2 shipping plugin will now output a specific error message when all the returned shipping services are filtered out due to no matching service selected in the shipping method.
  • We improved the display of the prices of the products on the backend products listing so that when a product has several prices, they are sorted from lowest to highest.
  • We've improved the AJAX loading to better handle javascript errors coming from third party extensions.
  • We've improved the view builder to better support the PDF invoice plugin layout peculiarities.
  • Invalid PNG and GIF images could generate a PHP error when HikaShop would try to generate their thumbnail. Now, HikaShop will skip the image automatically and log an error message.
  • We've added classes to the notification boxes of add to cart and add to wishlist to be able to differentiate between both in CSS.
  • We've improved the error handling of the FedEx shipping plugin.
  • HikaShop will now display a message "not products found in category" when displaying an empty listing of products for a category.

New features (13)

  • We've added a logout button to the frontend user control panel.
  • We've added several new services to the Australia Post v2 shipping plugin.
  • The order emails now have an option "payment methods", when you edit them in the System>Emails menu, so that you can restrict them to only some payment methods.
  • The cart module has a new display mode so that it can be displayed as a drawer. It also comes with an option so that you can choose to open it from the right side or the left side of the screen.
  • We've added a new "language" setting to the PayPal checkout payment plugin. This way, you can configure it to force PayPal to use the current language of the user on the website instead of letting PayPal automatically detect the language of the user.
  • There is now a new "payouts" submenu for the affiliate menu. This will give you access to a listing of the payouts made to partners. Helping with tracking what happens with the payouts.
  • There is now a "Affiliation category restriction" setting which allows you to restrict affiliation to only some categories of products.
  • The Advanced date picker custom field type now has an extra setting called "days from now". This allows you to enter a number of days from now which will be the maximum the user can select in the field. So it is a complement to the "waiting days" setting which allows you to provide a minimum number of days from now.
  • We've added a filter_dynamic_caching hidden setting so that caching on the data of dynamic filters can be turned off.
  • HikaShop plugins views can now be edited via the Display>Views menu. For example, the PayPal Checkout payment plugin has a view plugins/hikashoppayment/paypalcheckout/paypalcheckout_end.php and you can now create a view override for it if necessary.
  • There is now a new option to the cart view of the checkout workflow so that you can activate the display of the prices with or without discount or both. Before, the user would only see the discounted price and changing that required a code customization in a view override.
  • We've added a new setting to display a list of the bundled products of a product on its product page. This supports variants too.
  • We've added an extra option so that the checkout login view selector buttons can now be displayed as standard HTML buttons.

 

HikaShop 6.0.0

Release date : June, 06 2025

List of all the files changed between the 5.1.6 and the 6.0.0

Bug fixes (13)

  • A MySQL query error could happen for products listings with their relation setting set to "Other clients also bought" and the ordering column setting set to "ordering" and the random items setting turned off.
  • Following improvements in the previous version of HikaShop, the geolocation plugin could generate an error in some rare cases.
  • The icon of the "back" button on the trashed list page in the backend would not display properly.
  • We've fixed a deprecated message on PHP8 with the access level selection in some cases.
  • We've fixed a deprecated message on PHP 8 with filters on fields with the "dynamic display" setting of the filter activated and no product with a value selected in the custom field.
  • Characteristics displayed as radios wouldn't take into account the default variant with the "Characteristics dynamic display" set to No.
  • When you were editing a product in an order and you selected a tax rate and then changed the price with taxes and then directly clicked the "save" button in the popup, the modification wouldn't be taken into account. A similar issue would happen with the coupon value, the shipping fee and the payment fee in the additional information edit popup of an order.
  • When you were adding a new product in an order and you selected a tax rate and then provided a price with taxes and then directly clicked the "save" button in the popup, the product added to the order would end up without a price.
  • If you entered a price with a comma in the price without taxes input of the product edit / new popup of a product in an order, the decimals would be ignored.
  • With the "Floating tax prices" setting activated, the automatic calculation of the taxes when editing / adding a product or an additional information for an existing order wouldn't work properly.
  • We made a patch so that if you configure menu items from other components than HikaShop in the "HikaShop default menus" menu type, HikaShop won't change their linked component each time you update HikaShop.
  • We fixed an error on the product details page on PHP 7 when products have characteristics.
  • The residential flag sent by the FedEx shipping plugin would be sent for the shipper address instead of the recipient address.
  • The slide one by one mode of the carousel system of the HikaShop content module wouldn't work properly in some cases leading to the sliding to happen slide by slide instead of one by one.
  • A spurious "s" character would appear on the mass action edit form when a mass action would have its "Actions as a button" setting activated.
  • When the "zoom on hover" setting is deactivated in the HikaShop configuration and the "zoom on hover" is set to "inherit" in the menu item settings, the system was activating the zoom on hover mode on the frontend instead of deactivating it.
  • The CSS for the pinterest icon of the social networks plugin was referencing the wrong filename.
  • We've fixed two deprecated messages with the order creation when products in the order don't have taxes on PHP 8.3
  • We've made some modifications to avoid a deprecated message on PHP 8 when the user agent is not provided by PHP.
  • The "view all products" of the products listing of an order on the order listing on the frontend user order history page could sometimes be missing the current menu item information, which could lead, in some cases, to the order details page of that link displaying with the homepage menu item.
  • HikaShop now forces the rounding of the prices in the Structured data to avoid prices being rejected by Google because of too much decimals.
  • When configuring a report / widget to display a listing of the categories with the best sales, the system would take into account the total amount of the orders, not just the amount of individual products. This would result in amounts that could be way too big and not accurate, especially on websites where orders usually contain several products from different categories.
  • Tax rates with special characters in their namekey could generate an error in the edit popup of the additional information of an order, or in the new / edit popup of a product of an order in the backend.
  • Adding extra products to an order via the "new" button while having custom product fields displayed on the products listing could generate warnings on PHP 8.4
  • The order_product_tax_before_discount value would not be calculated correctly when the order would be created.
  • We've fixed an error with the new "Special Service type" setting of the FedEx plugin.
  • We fixed a problem with the English translation file.

Improvements (17)

  • We now better handle the saving of the cart to the database so that if a problem happens on that end and MySQL doesn't return an error to Joomla, the user knows there is a problem with it.
  • HikaShop will now check the user agent of requests before adding a product to the cart. If it finds it comes from a bot, the add to cart request will be refused. This should drastically reduce the amount of carts added to the database.
  • For new installations of HikaShop, the default cart check frequency has been reduced from 20 minutes to 1 minutes and the cart batch removal quantity has been increased from 50 to 200. This will drastically reduce the carts build up in the database.
  • We improved the routing of HikaShop when an alias is not provided in a product so that slashes in the name of the product will still allow HikaShop to route the URL properly.
  • We've added all the states of Serbia
  • The Google Products plugin now supports translations based on the current language being used when generating the XML.
  • We've improved the javascript of the checkout workflow editor in order to make it more resilient to spurious HTML added to the HTTP response by third party plugins.
  • On top of stopping the process, HikaShop will now display an error message when the customer tries to use an order payment link (received by email) if the administrator turned off the "Payment of orders not paid immediately" setting of the HikaShop configuration page.
  • HikaShop will now display not just the download links of the main product and variants, but also the download links of option products in the order details page on the frontend and all the order emails.
  • We've added a div with a class around the "the cart is empty" message of the cart module in order to make it easier to customize with CSS code.
  • We've improved the loading of the categories / brands / characteristics filters in order to load from the database only the data needed by the filter system. On top of speeding a bit the loading of the data of filters normally, will will also reduce the size of the user session when their "dynamic display" is turned on, allowing for a faster loading of the user session by Joomla when the session data is stored in the database.
  • The geolocation plugin now includes a bot detection system so that on top of the cache of the geolocation, the plugin won't query the geolocation service needlessly. It should help a lot to reduce usage issues with geolocation services.
  • The files download button on the order products listing of the backend order manager now has the name of the file instead of a generic "download" text so that it is easier to distinguish between the files when a product has several of them.
  • The FedEx plugin will now pass the status of the address (residential or not) based on whether the "address_company" field has been filled or not by the customer in the shipping address.

New features (4)

  • We've added support for Joomla 6.
  • We now have new options to be able to override the default form element classes. This way, it is a lot easier to adapt HikaShop forms on the frontend to match with templates not relying on standard Joomla classes.
  • There is now a new option to the user points plugin to be able to exclude discounted products from the earned points.
  • You can now select warehouses for variants.

 

HikaShop 5.1.6

Release date : April, 18 2025

List of all the files changed between the 5.1.5 and the 5.1.6

Bug fixes (15)

  • We've fixed a warning which could happen on PHP 8.3 in some rare cases with prices without a zone.
  • When selecting another user for an order in the backend, you have a setting to be able to change the billing and shipping address with one from the newly selected user. When you did so far, the address selector displayed the addresses with the state and country's namekey instead of using their name. This is now fixed.
  • With the advanced price display system, the advantage row (current taxed price minus the MSRP taxed price) would be wrong when the current currency would not be the same as the main currency of the shop.
  • We fixed a warning with the Google Products plugin.
  • We made a patch to avoid a javascript error from the javascript of the Joomla atum template in backend popups of HikaShop on Joomla 5.
  • An icon didn't have the correct path leading to it not displaying.
  • When, for at least one price of a product, the currency that was selected when the price was saved does not exist anymore in the database, the export function would generate a fatal error on PHP 8. We've made a patch to avoid the error and instead log a message in the "payment log file" with information about the product, price and currency involved. This way, the export can still happen normally, and if necessary, the log can provide information about what is wrong so that action can be taken in the administrator to remedy the situation.
  • The discount amount might not display with the currency formatting with the advanced price display settings on products listings.
  • We fixed a PHP error which could happen when using a mass action with an action "update the options" on PHP8 and newer.
  • When cleared, the order status filter on the backend orders listing would still remember the old selected value in some cases.
  • The import would generate a fatal error on PHP 8.3 or newer when importing a CSV file with invalid URLs for the images instead of just skipping them.
  • The "x characters left" message displayed below custom field textareas with a maximum length configured would not be set properly after a first validation.
  • The geolocation cache data would grow too much in the database.
  • The sub categories listing of categories listings would not be translated in some cases.
  • We fixed an error which would happen on Joomla 5 when using the activation link with the backward compatibility plugin disabled.

Improvements (17)

  • We've added an extra parameter contact_request_sent to the URL of the product page when coming back from the contact form after successfully sending a contact request. This will help with tracking analytics.
  • The out of stock plugin now won't notify the administrator of variants out of stock if their main product is unpublished.
  • We've improved the characteristic selector on the variant edit form in the backend. It now supports HTTML elements.
  • When you edit a view via the Display>Views menu, you sometimes have a view builder where you can drag & drop the elements of the view around, or delete them. The view builder now not only supports views with a grid layout, but also views with a table layout.
  • When a coupon had a "shipping price percentage" set, the coupon object's total attribute would not previously take into account the amount of that shipping percentage. While this had no visible effect in HikaShop in itself, it would prevent the multicoupon plugin from properly taking into account that amount.
  • Translation of HikaShop in Spanish updated and completed.
  • TeleOptimum provided a complete translation file for the Hungarian language. Thanks !
  • The Smart Search integration now takes into account the "access level" of the products so that products not available to all user groups are not indexed.
  • We have modified the pay now page view on the frontend, to display the payment method selector the same way as in the checkout. This way the experience will be more homogeneous.
  • We improved the image popup mechanism with several images so that the main image is not in the gallery of the popup twice.
  • We made a modification to have a class hikashop_current_subcategory for the current subcategory displayed in the main area of the page when displaying a listing of categories in "div" mode with children categories display activated. This way, it will be easier to style the categories based on the current category of the page with custom CSS.
  • The characteristic dropdowns now allow for HTML entities to be displayed on the frontend product details page.
  • We've added an extra message to the mass action edit form when the "actions as a button" setting is activated.
  • We've improved the image popup on the product details page for products with variants.
  • We've improved the code of the PayPal Checkout plugin in order to better handle eCheck payments.
  • The "email history" access level has been added to the HikaShop configuration for HikaShop Business.
  • We've improved the maintenance mode of HikaShop so that modules don't display anything anymore.

New features (6)

  • We've added a new event onBeforeLoadFullOrder( &$order, &$additionalData, &$checkUser) so that plugins can register it and potentially change the way the orders are being loaded.
  • We've added a new event onViewsListingLoad(&$templates, &$pageInfo) to HikaShop. This event will allow you to more easily add views to the listing of views of HikaShop from your plugin so that overrides can be done via the interface there.
  • The files of emails and email templates from HikaShop and other extensions sending their emails through HikaShop (HikaMarket, HikaSerial, HikaAuction, the reminder plugin, etc) can now be edited via the Display>Views menu with HikaShop Business.
  • In HikaShop Business, you can edit your emails via the menu System>Emails. Now, the HTML section of emails supports the view builder system of the Display>Views menu. This way, you can more easily customize your emails without having to dive into the HTML for simple modifications.
  • The FedEx shipping plugin now has a new option to be able to select Special Service Types.
  • We've added a setting "index variants" to the smart search integration plugin so that you can choose to not index variants.

 

HikaShop 5.1.5

Release date : February, 24 2025

List of all the files changed between the 5.1.4 and the 5.1.5

Bug fixes (3)

  • We fixed a SQL injection vulnerability which would allow someone with access to the backend category management to run MySQL queries and potentially elevate his priviledges.
  • When publishing or unpublishing a limit from the limit listing's toggle icons, the category selection would be removed.
  • Variants purchased in the past were not taken into account for limits in some cases.

Improvements (1)

  • We've updated the update site URL of HikaShop to default to HTTPS instead of HTTP.

 

HikaShop 5.1.4

Release date : February, 21 2025

List of all the files changed between the 5.1.3 and the 5.1.4

Bug fixes (17)

  • The file edit popup of already uploaded files would not work following another patch made recently.
  • The image edit popup of already uploaded images would not work following another patch made recently.
  • We fixed a deprecated message on PHP 8.3 when adding a guest to an order in the backend.
  • We fixed an error which could happen in some rare cases with the custom address country field.
  • We fixed a bug which could happen with custom fields of the table "product" and of the type "image" following a previous fix in HikaShop 5.1.3
  • We fixed warnings which could happen in some rare cases on the registration form on the frontend.
  • We have fixed a display issue with the icon of the move to button on the cart and wishlist views on mobile devices.
  • We fixed an error which could happen when creating / editing Joomla articles in some rare cases on Joomla 5.
  • The browser could cache the order additional information edit popup resulting in not seeing the changes when opening the popup several times in a row.
  • The "The add to cart button will appear once you select the values above" message might be displaying when it should not in some cases due to improvements made in the previous version of hikashop.
  • The saving of tags of variants without a name filled in would not work.
  • We've fixed warnings with the Social Networks plugin which could be displayed in some cases.
  • When adding an image to a variant via the popup of the variant edit form in the backend, if you used the main "save" button of the product page before first clicking on the "save" button of the variant edit area, the image would be added to the main product instead of adding it to the variant.
  • Previously, a user could only edit the cart name on the frontend if he had at least another cart already created and linked to his account.
  • We fixed a warning which could happen in some cases following a previous patch made in HikaShop 5.1.3
  • The breacrumbs module would not display the proper categories in some cases.
  • The error message for the legacy PayPal payment plugin could still be displayed even if the corresponding payment method was seen as unpublished in the payment methods listing in some rare cases.

Improvements (8)

  • Access to the mass actions, the custom fields, the views and the emails areas in the backend is now restricted to super admins only by default in order to strenghten default security.
  • We've added some extra checks when saving the MySQL query of a custom field to prevent saving invalid queries.
  • We have improved the frontend cart & whislist views' responsiveness.
  • HikaShop will now take into account the email domain rules of Joomla for guest users too.
  • HikaShop will now display the image of option products next to the name of the option on the product details page.
  • We dramatically improved the searching of products via the product selector mechanism so that it can handle a lot more products.
  • We've improved the integration with Smart search so that the name of the variants properly appears on the search results for them.
  • We removed the "geoplugin" integration from the geolocation plugin settings as this service is not available anymore. Please use the alternatives available in the plugin settings.

New features (2)

  • We have improved the hover_x_img view (product listing with support for several images). The system will now add next/previous buttons to make it clearer that the user can switch between several images and also allow users on mobile devices to switch to the other images.
  • It is now possible to set the size of the images for the OpenGraph tags added by the HikaShop Social Networks plugin.

 

HikaShop 5.1.3

Release date : January, 18 2025

List of all the files changed between the 5.1.2 and the 5.1.3

Bug fixes (15)

  • We fixed an error which could happen in the some cases on the product details page on the frontend when the product would have variants and tags added to the main product.
  • We've fixed a PHP warning on PHP 8.3 with big files upload done.
  • We fixed a warning which would happen the first time HikaShop would write in the payment log file.
  • The points gain was only taking into account one variant of a product per order when the point gain was restricted based on the category of the products.
  • We fixed an issue with the old coupon selection system which is still used by HikaSerial in the configuration page of the coupon generator plugin and which would generate a javascript error when using the search input, rendering the selection of a coupon impossible.
  • The "is null" and "!= 0" filters on the price_value column of the price column mass action filter didn't work properly.
  • When having several times the same product in the cart the system might not be able to stack these same products in the package for shipping methods needing to contact a shipping service for automatic shipping cost calculations. This would lead to high shipping cost in these cases. We've fixes the algorithm so that this doesn't happen anymore.
  • When having non required custom item fields with their "frontend products listing" setting activated, with the add to cart button enabed on the listing but the display of the custom item fields turned off on the products listing, HikaShop would fallback to the "choose options" button on the listing even though it should be able to display the "add to cart" button in this particular case. The patch made allows for this.
  • When used, the separator checkout view could lead in some cases to unwanted refresh loops following modifications to the checkout system to automatically go to the next step when the current step is empty.
  • The customer download area type could be selected when creating a menu item in the Joomla menu manager with HikaShop Starter, even though it should not be possible as it is a feature of the commercial editions of HikaShop. This would then generate an error when trying to access the menu item.
  • The product edit popup for the wishlist page would not refresh the wishlist page after saving in order to update the displayed information on the page.
  • We fixed an error with custom fields of the types AJAX file and AJAX image.
  • We fixed a warning when using a custom field of the type "AJAX File" or "AJAX image" on an element which doesn't have yet any files uploaded for that field.
  • We fixed a warning on PHP 8.3 with custom fields of the "order" table on the checkout.
  • We fixed a warning with PHP 8.3 when having a mass action with a trigger "after an order is deleted" or "before an order is deleted" and deleting an order.

Improvements (12)

  • Files uploaded to custom fields of the tables "order" and "item" for orders made by guest users, the guest users can now use the download links of these files, without having to create a user account.
  • We've improved the display switching of the add to cart area when a product has characteristics, with the "Characteristics dynamic display" setting activated. It now uses classes instead of directly affecting the display property. This allows for more flexibility if you want to customize this behavior with custom CSS code.
  • Some classes were missing on the frontend pagination of HikaShop on Joomla 4 and 5, which would prevent easy customization of the pagination with CSS for some of the buttons of the pagination.
  • The characteristic edit form layout has been modified a bit to provide a better experience on monitors with a low resolution.
  • HikaShop now tries to auto detect a suitable menu item for each of the elements of the user control panel in order to redirect to these menu items instead of staying on the same menu item for the different pages.
  • We've added a tooltip on the option name in the cart module in order to be able to see the full option name if necessary.
  • We changed the JComments integration on the product details page to use the newer integration method.
  • We've improved the error message when a product doesn't have weight and dimensions set when an order is being modified and a shipping plugin needs to contact its shipping server to process the order in some way.
  • When using the contact button on a product page for a product with variants, the contact form now displays the name and image of the selected variant instead of the name and image of the main product when available.
  • We've added an extra text to the form customization area of the product edit page, in order to make it clearer that elements of the form can be drag & dropped.
  • If you leave a cell empty for the "related" column of a product in a CSV file being imported, the import system will now delete the related products of the product instead of ignoring the column.
  • The fields data filtering now rely on the Text filters settings of the Joomla configuration.

New features (2)

  • The "Template" setting of emails in the System>Emails menu of HikaShop Business now has an extra option "Use Joomla mail template" on Joomla 5.2.0 and higher. When this option is selected, the email will use the template configured in the Mail options page of Joomla.
  • We have added new social networks sharing buttons for Line, Bluesky, Mastodon, Whatsapp and Telegram.

 

HikaShop 5.1.2

Release date : November, 28 2024

List of all the files changed between the 5.1.1 and the 5.1.2

Bug fixes (24)

  • In the cart / wishlist product edit popup, the values of characteristics in dropdown / radio mode were not translated.
  • Fedex doesn't support the oz weight unit, the plugin now convert oz weight to lb.
  • When a product had variants and tags setup to itself but not to its variants, the tags would appear on the product page, but as soon as you would change the selected variant, the tags would disappear.
  • When a product had a price and variants without a price set in them, the custom item field system would think the product is free and would not display the custom item fields on the product page with the "Display add to cart button for free products" setting deactivated.
  • We fixed an issue with the OpenCart import tool on PHP 8.2.
  • We fixed a warning with the checkout system on PHP 8.2.
  • The PayPal Express payment plugin now takes into account the payment fee even when the "send cart details" setting is turned off in the payment method settings.
  • With the "send order details" setting deactivated in the PayPal Checkout plugin, the total amount of the order would be sent to PayPal as tax instead of total amount.
  • We better escape the texts used by the javascript of the PayPal Checkout payment plugin so that it won't break with complex translation overrides.
  • An improvement we made recently to the Google Products plugin had the side effect of using relative image URLs instead of absolute URLs in the XML feed.
  • Products listings would display an error on PHP 7 due to the changes made for the advance display of prices.
  • The "equal" / "not equal" on the "display limited to" setting of custom fields wouldn't work properly when different fields would be limited to the same parent with different selection of the "equal" / "not equal" dropdown.
  • HikaShop now skips the microdata if the product has no prices as Google doesn't accept products without prices.
  • We fixed PHP warnings on PHP 8 on the product details page when the product doesn't have any prices.
  • We fixed deprecated messages relative to thumbnails generation on PHP 8.2.
  • We fixed an error which could happen when Smart Search indexing is done via a cron task.
  • The geolocation plugin didn't work properly following the improvements made to it in the previous release.
  • We fixed an issue linked to the improvements we made to the geolocation plugin in the 5.1.1, which could result in the default country to be wrong on the registration form.
  • When not creating a menu item for the checkout, and without using the "force menu on checkout" setting, and with the Checkout SEF name customized, the URL generated to access the checkout would not work properly.
  • The tags display would display multiple times on the product details page when the product would have variants.
  • We've fixed an issue with support of the javascript of Joomla 3.x following changes we made to improve the support of the CSRF token for Joomla 4 and 5.
  • The taxes on the shipping fee is now based on the billing address and not the shipping address with the "Type of address used for tax" setting configured to "Billing address".
  • The column header was missing for the characteristics columns on the frontend products listing displayed with the "table" layout.
  • When a product was purchased in quantities of more than 1, only 1 was counted for calculating the shipping costs of the new FedEx shipping plugin.

Improvements (38)

  • The Social Networks plugin now adds the Open Graph meta tags retailer_item_id, availability and condition in order to provide more information on the products.
  • We changed the order_shipping_params column of the hikashop_order table from TEXT to LONGTEXT for new installations of HikaShop in order to allow for more information to be stored in there.
  • We've added strlen, mb_strlen, substr, mb_substr, trim, str__word_count and decimal functions to formula fields (like the formula field of shipping methods). That way, you can write complex formulas using these functions.
  • We've added support for Northen Ireland VAT numbers for Regex and online check.
  • We've increased the maximum number of filters possible in the filter selector of the HikaShop filter module from 50 to 100.
  • HikaShop now deletes the webp thumbnail when the main image file is being deleted for a product and the "add webp image" setting is turned on.
  • We improved the report system when counting sales of products.
  • Overriding frontend controllers is now possible.
  • We've improved the saving of custom fields with their "display limited to" setting configured. When the field doesn't appear on the form, the save process will clear the value already in the database for that field, if any.
  • We've improved the "shipping methods" restriction processing for custom order fields after the order is already created.
  • The debug mode of the new FedEx shipping plugin now includes more debug information.
  • We've added a distinct class to the contact button and the show details button on listings so that they are easier to target individually when adding custom CSS.
  • We've improved a bit the handling of custom item fields to avoid conflicts with deleted custom product fields with the same name.
  • We've improved the checkout in order to skip empty steps automatically.
  • We've added some extra checks to the user synchronisation plugin to avoid issues in some cases with the use of the cli.
  • We have optimized the management of webp images to have a more consistent rendering based on more cases.
  • The translation popup for custom fields has been improved to better handle special characters and HTML.
  • Developers can now override custom field type classes using the normal class override mechanism described in the developer documentation.
  • The trashed products are not counted anymore in the number of products of categories on the frontend.
  • We've added a cancel button to the PayPal Checkout end page so that the user can easily go back to the checkout if necessary.
  • The PayPal Checkout plugin now prefills the credit card billing address fields of the credit card form as much as possible even if some of the fields of the billing address are missing.
  • We changed the display of the error messages coming from Joomla during the login and registration on the checkout so that they always display with the "error" type (red) and not as warning or others so that the auto scroll system of the checkout can properly catch them to display them to the user. This will improve usability.
  • HikaShop now adds the additional fee key name to the params of the product in the order so that it is not lost when the order is created.
  • We made modifications to the loading of the parent categories in some areas of HikaShop to drastically speed up the processing with a lot of categories in the shop.
  • We've optimized the loading of categories for custom fields. It will take a lot less resources which will make a real difference if you have thousands of categories.
  • We improved the loading of auto loaded coupons to better select the most interesting one for the customer.
  • We improved the PayPal Checkout credit card form so that it can now display error messages if the payment has a problem on PayPal's end.
  • We've improved the error message of the PayPal Checkout payment plugin in order to support Joomla 3.
  • With the force redirect setting turned on, the filter module now doesn't take into account the current category of the menu item so that it always uses the main page of the menu item so that it can actually search on all the products.
  • The PayPal Checkout plugin will now update the pay later message on the product page based on the selected variant. That way, the message will stay relevant to the variant selected.
  • We've improved the handling of custom fields custom options saving (for plugins).
  • We improved the javascript of the image switching on the product page in order to make it more resilient.
  • We made some modifications so that the background color on the rows of the order listing based on the order status of the orders work with the muta backend template.
  • We added a small delay to the height consistency check in case some things still need to be rendered on the page. This will allow for a more consistent result.
  • We added a span element around the product / category name on product / category listings displayed with the "list" mode so that they can be better targeted with CSS.
  • We made the necessary changes to the Paybox plugin in order to be compatible with v3.0 of the PayBox integration guide.
  • The address company and VAT number fields are now enabled by default on new installations of HikaShop. The VAT number will now be hidden by default and display automatically once the company field has been filled by the user (for new installations).
  • The columns mechanism on backend listing has been moved to local storage instead of cookies.

New features (5)

  • We've added a new setting to the geolocation plugin so that you can tweak the caching period of the geolocation information in the database (1 year by default).
  • We've added several settings to the Google Products plugin in order to support more advanced capabilities:
    - Is bundle
    - Multipack
    - Energy efficiency class
    - Minimum energy efficiency class
    - Maximum energy efficiency class
    - Unit pricing measure
    - Unit pricing base measure
    - Availability date
  • HikaShop's checkout login now supports Multi-Factor Authentication (MFA).
  • We've added a new option "take into account extra fees" to the user points earning plugin settings. This way, extra fees, added by plugins can be taken into account when calculating the gained user points.
  • You can now restrict prices based on zones.

 

HikaShop 5.1.1

Release date : September, 09 2024

List of all the files changed between the 5.1.0 and the 5.1.1

Bug fixes (43)

  • We added a check to not display the back button on the page when displaying a menu item of the type "cart display" as it makes no sense to allow access to the control panel from there.
  • The address type could be lost on an address when editing from the frontend an address already used for a previous order.
  • We fixed a deprecated message on PHP 8.3 in some rare cases when displaying a product with variants on the frontend.
  • When the "Display add to cart button for free products" setting was turned on, and with a product with no price but with variants with prices, but no price on the default variant, the custom item fields would not display on the product page even if they should have. We've improved the check there so that it works properly.
  • We've fixed an error which could happen on non HikaShop pages when the cart notification plugin would hae been uninstalled by the shop owner.
  • We fixed a fatal error with the IP2Location.io integration in the geolocation plugin.
  • We fixed some warning messages which could happen when configuring the PayPal Checkout payment method based on what PayPal returned for the status of the merchant account.
  • When the "bought" attribute of a hkshow or hkhide tag would be used, the plugin would only take into account products with 2 sales and more, instead of 1 sale and more.
  • We fixed an error message display issue with the FedEx plugin.
  • The like button of the like plugin wouldn't be clickable with the zoom option activated on products listings.
  • We've added numerous fixes for the FedEx 2 shipping plugin.
  • We fixed some warnings with the new FedEx plugin.
  • We deactivated the auto submit of steps system on the checkout as it had too many side effects.
  • We fixed an issue with the new FedEx plugin which would create an error on PHP 8.2 when trying to create a new shipping method for it.
  • We fixed an error of packaging with the new Fedex shipping plugin.
  • On Joomla 5, adding to the cart the variant of a product with an access level not set to all the user groups while not being logged would lead to the variant not being added to the cart.
  • The add to cart process could generate an error message in some rare cases on PHP 8.2.
  • The checkout could auto submit the step when deleting or creating a new address in some rare cases.
  • The pagination of the carts listing in the backend didn't work properly when the search was used.
  • We fixed a deprecated message with the URL generation in some rare cases on recent versions of PHP.
  • The "Provide points instead of fees" setting, when activated, could generate an error when an order was created at the end of the checkout.
  • With the "thumbnails" setting turned off, the system would still use thumbnails on the product page when the product would have several images.
  • When "all" would be selected for the order status setting of limits, the past orders wouldn't be taken into account.
  • The billing address could be used in some cases even if the shipping address was selected as the type of address to be used for taxes.
  • The terms and conditions popup didn't display the article selected properly on Joomla 5.
  • We fixed a warning which could happen with order mass actions with an action "add product" where the product being added wouldn't have any price.
  • We fixed a warning which could happen on the products listing of the order details page in the backend with custom product fields displayed on it. The warning would display once the main product of a variant purchased in the order would be deleted.
  • We fixed a problem with the sorting of categories of filters when the categories don't have any ordering and the filter is configured to display several levels of categories.
  • For the support of variants for discounts to be possible, we had to have to add the discount on the price of the variant. However, at the point where this is done, the price of the variant can potentially be a copy of the price from the main product (if the variant doesn't have a price itself). And that price from the main product can already have a discount applied on it if the discount targets the main product. In such case, several discounts could be applied several times on the price of the variant while only one should apply. We made a modification so that when the system tries to add a discount to a price, it first checks if the price doesn't already have a discount applied. If so, it skips the process.
  • When using the "last week" period in a report, it would generate an error on PHP 8.2 and above when display the report, and the same error would also appear on the dashboard if the report would be published as a widget.
  • Following the addition of the new "equal to" / "not equal to" dropdown to the "display limited to" setting of custom fields, when several custom fields would be restricted to the same parent field, only the first one would be displayed / hidden properly.
  • Translation overrides for HIKASHOP_COUPON or HIKASHOP_PAYMENT with HTML in them would break the transaction request with Authorize.net.
  • We fixed an error which could happen on the orders listing in the backend after disabling a shipping plugin which was used by previous orders on PHP 8 and up.
  • The smart search plugin now properly handle deleted products when the "activate product recovery" setting is activated and the products end up in the trash instead of being really completely deleted.
  • When a filter on categories was restricted to a particular category, the filter wouldn't load the categories properly.
  • We modified the built-in plugins of the system group to make sure they only execute on the frontend and don't do anything on other requests like when the CLI is used.
  • We fixed some warnings with the structured data for products or variants without prices.
  • We fixed an issue with the old FedEx shipping plugin.
  • The filters on columns with the = and != operators on an empty value would be ignored in massactions.
  • The payment via PayPal account might not work in some cases with the ACDC option enabled.
  • The translation of the custom field label in the emails didn't work properly.
  • We fixed a MySQL query error which could happen in some rare cases with the Smart search plugin when saving a product from the backend interface.
  • An error message would popup on the HikaShop configuration for new installations of HikaShop regarding plugins not being installed even though there was no problem.
  • We fixed an error which could happen with the "instant capture" setting turned off in some rare cases with the PayPal Checkout plugin.

Improvements (18)

  • We improved the update of the price without taxes when the user inputs his products price with taxes.
  • HikaShop now includes the HTTP header token of Joomla taken from the JS of Joomla if available during AJAX requests to avoid potential issues with the token being missing / outdated for one reason or another. It will improve resiliance in cases where caching is too agressive and such.
  • There is now a notice box poping up when you click on an email tag so that the user knows he can now paste the tag in the HTML editor.
  • We've improved the address saving in the user edit form of the HikaShop backend so that it properly display error messages when necessary.
  • The HikaShop Geolocation plugin now stores the IP address and its corresponding country code in the database after a successful request to a geolocation service. This way, before making a new query it will try to get the information from the database, saving resources and useless API requests.
  • It is now possible to use the ID of the product in the "bought" attribute of the hkshow and hkhide content tags.
  • We've added logging of failed VAT number online checks in the "payment log file" of HikaShop.
  • We added a label for the quantity dropdown of the pagination to help users with screen readers.
  • We made some improvements to the javascript handling the add to cart processing in order to better support template preview systems.
  • The CSV export action of mass actions now properly handle the order_product_price and order_product_tax columns as price columns. This means that the export takes into account the "CSV decimal separator" setting for them, similar to what it already does for columns like the order_full_price.
  • When a main product is published or unpublished, now all the variants of the product are also processed by the Smart Search in order for the status of their main product to be taken into account.
  • We added a "X-Robots-Tag: noindex" header to the AJAX requests refreshing the cart module. This should prevent search engines from trying to index these URLs.
  • We've optimized the category filter system on frontend products listings. In some cases, the gains can be a page load 5 times faster.
  • The content map type for indexed products on multilingual websites now contains the product type.
  • When the instant capture setting is turned off in the PayPal Checkout plugin, you had 3 days to capture the payment. We've made improvements in the payment plugin so that you now have up to 1 month to capture the funds.
  • By default, the HikaShop Cart module had all options by default set to No, that wasn't relevant, it's now adjusted.
  • We improved the look of multiple dropdown filters in order to use the fancy choicejs library included in Joomla 4 and 5, while still keeping the old chosen library on Joomla 3.
  • HikaShop will now automatically modify the current product's alias when saving a product and its alias is already used by another product.

New features (10)

  • You can now configure different Joomla tags for different variants of a product, and the tags will update on the product page when the user changes the selected variant.
  • We've added a new option to choose whether you want to filter the HTML of the product description in the backend. It is activated by default and thus, if you want to be able to add iframe tags or script tags in your products description, you'll have to turn off this setting.
  • We've added a new setting "Checkout link template" to the Google Products plugin. This will allow the plugin to directly provide the add to cart URL in the XML feed ( https://support.google.com/merchants/answer/13580733?sjid=2381062689629391492-NC ).
  • We've added a sorting option to the UPS OAuth shipping plugin so that you can have the shipping services sorted with the cheapest one first on the checkout.
  • We've added a new option to define which price input to display (with or without taxes) when adding a new price, this option is directly in the price product form.
  • The consistency height option in your menu items sees the arrival of a new option which allows, in addition to using the consistency height, to have the buttons always aligned to the bottom.
  • We've added a new option to the TaxCloud plugin so that you can Exempt some user accounts from taxes if they have their taxes waved (for government entities for example).
  • We've added a new event when additionals (fees) are removed from the cart. This event is called onAfterCartRemoveAdditional
  • Since Joomla 5.1, the backend can be change between dark or light theme with a switcher module. HikaShop integrates with it so that the page refreshes in order to take this into account properly.
  • We've added advanced price display customization settings to the HikaShop products and categories listing menu items and the HikaShop content module. That way, you can potentially customize the prices display in much more details with an interface and potentially some translation overrides, without having to modify PHP code in view overrides.

 

HikaShop 5.1.0

Release date : June, 14 2024

List of all the files changed between the 5.0.4 and the 5.1.0

Bug fixes (51)

  • We fixed a deprecated message with the deletion of a user or address on PHP 8.2
  • We've fixed some warning messages on PHP 8 with some times of widgets.
  • We've added an extra check so that when plugins for HikaShop try to load JS or CSS files through HikaShop and that it is too early or too late on the page processing, no error is displayed. HikaShop will just log the error in the HikaShop log file.
  • We've fixed the display of the file / image uploaded for custom fields of the type "AJAX file" or "AJAX image" with their "multiple" setting turned off.
  • When using the search input on the views listing in the backend, the pagination would not work properly in some cases.
  • In some cases the proper menu item would not get retrieved by the smart search plugin even though the product was properly linked to the category of a menu item.
  • We've fixed some warnings with calculations during the loading of the cart in some rare cases on PHP 8.2.
  • The publish / unpublish toggle of the variants listing displayed when editing a product in the backend didn't trigger the onBeforeProductUpdate and onAfterProductUpdate events. This lead to the variants not being added / removed from the index of the Smart search.
  • We've fixed a warning during the checkout.
  • We fixed a warning which could happen with the action log plugin when a product would be updated without providing its name.
  • We fixed a warning which could happen with the action log plugin when an order would be updated without providing its type.
  • We fixed a warning which could happen with the action log plugin when an order would be updated without providing its order number.
  • We fixed a warning which could happen with the action log plugin when HikaShop would be sending emails in some rare cases.
  • Creating a widget/report to display the total number of customers over a period would lead to a MySQL query error.
  • When uploading several files at the same time in a custom field of the type "AJAX File" or "AJAX Image" on the frontend, only one of the download links or thumbnails would work due to PHP not sharing the user session across concurrent requests. We bypassed that limitation by checking the file access in a different manner in such special cases.
  • The pagination on the backend orders listing wouldn't display on small screens.
  • We've fixed a Javascript error which could happen on the product details page when using a custom field of the table "item" and of the type "ajax file" or "ajax image" on Joomla 3 and which would prevent the use of the custom field.
  • In some cases, with many values selected in a multiple select, you could see all of the selected values.
  • We fixed a deprecated message with the geolocation plugin on PHP 8.2
  • We fixed an error which could happen when having a custom field with a MySQL query using user fields while the current user wouldn't be logged in.
  • We fixed a warning which could appear in some cases when creating a new category.
  • The language switcher module of Joomla wouldn't properly take into account the translation overrides of the product SEF name and category SEF name.
  • We've added an extra check in HikaShop when loading JS/CSS files so that DPCalendar's cron via the Joomla CLI doesn't generate an error.
  • Underscores in the Product SEF name and Category SEF name would prevent the system from properly using the corresponding translation override.
  • We have made a patch to follow MicroData structure via json-ld script.
  • We've added a new patch to better manage publish/unpublish icons in the variants backend listing.
  • We've added some extra fixes for conditions on product tags.
  • The yes / no selector in the user points checkout view might not work in some cases due to a PHP glitch.
  • We improved the user points plugin integration with AlphaUserPoints so that you can now change the rule name automatically created by the user points plugin for the integration. Before it would then generate an error.
  • Due to compatibility with Joomla 5.1.0 and publish/unpublish icon fontawesome, we had to dynamically add a "badge" class so that these icons can display properly.
  • The image gallery popup selector wouldn't work properly in some cases and it would loop the refresh of the popup.
  • We've removed a depecrated message with products with characteristics in some rare cases.
  • We've fixed an error with the legacy FedEx shipping plugin which could happen in some rare cases.
  • We've made some extra patches to better support structured data on product pages, especially for products with variants.
  • The user points plugin could generate a warning for guest users in some cases with AlphaUserPoints.
  • We fixed an issue whereby the product would be duplicated in the cart when editing it from the cart view and changing its custom item fields instead of being updated.
  • We fixed an error to better generate the url image for Json MicroData.
  • We fixed an error which could happen in some rare cases with the generation of thumbnails when the images can't be processed.
  • On Joomla 4 and above the version of the plugins were not updated in the Joomla extensions manager.
  • We fixed a potential fatal error with the PayPal Checkout plugin.
  • The alias of the product was not properly used in the URL of the product on the search results of the smart search for translations of the product.
  • The translated description was not properly displayed on the results page of the smart search.
  • We've improved the gallery selector popup so that it doesn't break when its javascript code is moved by page optmization extensions.
  • We've fixed the use of user tags in the MySQL query of data of selector custom fields.
  • We fixed some warnings on the login form of the checkout in a rare case.
  • We removed some deprecated messages in rare cases with the access level settings.
  • Deleting the index of the Smart Search component could result in an error in some cases.
  • When enabling some plugins like the HikasHop rates auto update plugin without saving its settings once, it could lead to a PHP fatal error on recent versions of PHP.
  • The prices where not editable anymore on the results table of massactions with an action "display the results" due to changes in a previous version of HikaShop to better export them in CSV files.
  • The PayPal Checkout payment plugin would not send the shipping and billing address to PayPal in some rare cases.
  • The PayPal Checkout payment plugin now properly support the mode with the Instant capture setting turned off. HikaShop will authorize the payment at the end of the checkout, leave the order "pending", and when the status is changed to "confirmed" in the backend, the payment will be captured.

Improvements (22)

  • When creating a new coupon, HikaShop will now initialize the currency selector with the main currency of the shop.
  • We've improved the error messages display of the legacy FedEx plugin.
  • You can now have other types of modules in the "Modules under the product page" setting of the HikaShop configuration.
  • The old FedEx plugin name has been changed to add "(legacy)" to it so that users will rather use the new FedEx plugin since the old plugin's API is getting deprecated by FedEx.
  • You can now select webp images in the image gallery selector.
  • The export file of reports will now use the name of the report and the current date and time in the filename. We've also added a hidden setting report_csv_filename_format if you want to customize the filename. You'll be able to use the tags {widget_name} {date} and {time} to set the filename format you want.
  • We removed the HikaShop history plugin from the HikaShop install package as it wasn't used anymore.
  • The payment log file will now be rotated automatically in order to avoid it becoming too big.
  • We've improved the category_pathway generation when the products listing is configured to be "grouped by category" and the "simplified breadcrumbs" setting is turned off.
  • There is now a "Hits" column on the products listing in the backend displaying the number of times the detail page of a product has been displayed.
  • It is now possible to provide different images for each language for the products and categories using translation overrides. For example, if the file is called "my file.jpg", you can have an override like MYFILEJPG="mon fichier.jpg" and upload the file to the upload folder of HikaShop in images/com_hikashop/upload/ via FTP to swap the image based on the language being used.
  • We've added trimming on the values of custom fields when saving them to reduce typing mistakes.
  • The affiliate terms article will now open in a popup. It will be nicer for the user and this also fixes a 404 error which could happen when opening the affiliate terms article link in some cases on recent versions of Joomla.
  • The product name and description, when displayed by a content tag is now translated with translation overrides.
  • We've improved the Canada Post shipping plugin so that it can default to Canada if the shipping addresses don't have a country field enabled.
  • When adding to the cart and the product can't be added for some "normal" reason (like if there is no stock anymore, or if a limit prevented the add to cart to happen), we now display the message to the user as a warning (orange) instead of an error (red) since it is not critical.
  • We've improved the activation link display in the user account email sent to the customer after the registration when the self activation is actived in the options of the Joomla user manager.
  • We've made it possible to directly use translation keys in the original fields, even with the "non-latin translation keys" setting activated in the HikaShop configuration.
  • We've improved the smart search plugin so that it doesn't index the products in the "all" language taxonomy and properly index them once per each language of the website when the website is multilingual.
  • When the user clicks on a button (like "login" or "register") on the checkout and no other view on the current step does anything, the checkout system will now automatically try to go to the next step.
  • When an affiliation partner uses the share buttons on the product details pages, the URL now contains automatically the affiliate parameter so that users clicking on the link will be counted for his affiliate account.
  • The shipping cost which can be added for the products in the Google Products plugin can now support transit and handling times.

New features (12)

  • The HikaShop Affiliate plugin now has an option to display the affliate program area on the user control panel only if the current user is a partner.
  • We've added a new "equal to" / "not equal to" dropdown to the "display limited to" setting of custom fields. This way you can remove the display of custom fields for one particular value of another custom field.
  • We've added a new choice to the price display setting of listings which allows you to use the price of the default variant of a product when the product itself doesn't have a price.
  • We've added an option "With an extra parameter in the URL" to the "Display view files" setting. This way you can add a tp=1 parameter in the URL of a page of your website to get the view files information without having to disturb other users of your website.
  • The API used historically by the FedEx plugin included in HikaShop has been deprecated by Fedex and will be terminated in a few months. Fedex have released a new API and we have developed a new FedEx plugin which is now included in HikaShop.
  • The PayPal Checkout payment plugin now supports PayPal credit and debit card payments, with 3D Secure support too.
  • We've added support for IP2LOCATION.IO to the geolocation plugin.
  • Custom fields of the type "AJAX File" and "AJAX Image" now have extra format options so that you can customize the look of the display for the files uploaded with them.
  • You can now add translation overrides for AJAX File and AJAX Image custom fields to customize the name and description displayed for each uploaded file. For example, if you upload a file my_file.pdf, you can use the translation keys MY_FILEPDF_NAME and MY_FILEPDF_DESCRIPTION in a your translation overrides file.
  • The user points plugin now supports the Rewardify points extension.
  • There is now a setting "Skip field" in the Google Products plugin to be able to skip some products.
  • We've added an option "Send order details" setting to the PayPal Checkout plugin.

HikaShop 5.0.4

Release date : April, 2 2024

List of all the files changed between the 5.0.3 and the 5.0.4

Bug fixes (45)

  • When changing the selected variant of a product from the cart product edit popup in the frontend, if the newly selected variant didn't had stock, the previously selected variant would still be deleted from the cart instead of just displaying an error message.
  • We fixed an error which could happen when editing the value of a custom order field restricted to only some categories from the order backend edit interface.
  • We fixed a MySQL query error which could happen when cancelling an order with a coupon in some rare cases.
  • We fixed warning messages which could happen with the smart search plugin when deleting products.
  • We removed a deprecated message when using category mass actions when deleting a category on PHP 8.2.
  • We fixed a potential warning in some cases with massactions with a display or export product action on characteristics.
  • We fixed a javascript error which could potentially happen with the social buttons on the login form of the HikaShop checkout.
  • We fixed a notice which could happen in some cases on Joomla 5 with the smart search indexing of products with images.
  • We made a patch in the waitlist notify plugin to avoid an error on recent versions of PHP when running the cron task and the plugin's settings have not yet been configured and the plugin is enabled.
  • We fixed an error which could happen in some rare cases when trying to generate a thumbnail and it is not possible.
  • We've fixed a warning which could happen when trying to access the checkout without a current menu item while the "force a menu on checkout" setting of HikaShop is configured.
  • We've made a patch to avoid a fatal error on newer versions of PHP, on the product details page on the frontend, when a product has variants with a discrepancy between the linked characteristics of the main product and the linked characteristics of the variants.
  • We fixed a warning on the vendor page when votes would be displayed.
  • Single / Multiple dropdown filters applied on a text custom field (so without configured values in the custom field but with numbers in that custom field in each product) with values on the filter would not display on the frontend following improvements we made to the filters system to auto hide filters when they are nothing to display. This was due to the filter system not properly taking into account the values of the filter in this particular case.
  • The product_code and custom fields were not properly indexed by the smart search plugin.
  • A view file went missing, which led to the "display the results" action of mass actions not working in some cases for new installations of HikaShop.
  • We fixed a warning with the payment notification and order admin notification emails generation when custom item fields of the type "custom text" would be created and configured to be displayed on these emails.
  • We fixed a deprecated message with the TaxCloud plugin on PHP 8.2.
  • The product_total_volume_orig of products in the cart could be incorrect in some cases.
  • The product_weight_orig of products in the cart could be incorrect in some cases.
  • We've fixed some deprecated messages which could happen during the copy of products.
  • When Code Mirror was selected as the HTML editor, it would be displayed 3 times on the product edit form on Joomla 5.1 due to the update of the Code Mirror included in Joomla.
  • We added some check to make sure that carts are linked to actual users before trying to generate the notification email, in order to avoid needless warnings on PHP 8.
  • The description of variants couldn't be saved properly on Joomla 5 in some cases.
  • We fixed an error which could happen on PHP 8.2 when the selected currency in the HikaShop configuration would be deleted from the currencies listing.
  • In the backend, adding a product to an order with no tax rate selected would result in a "-1" tax rate showing up between the subtotal and total of the order.
  • There was a potential error in some really rare cases on PHP 8.2 when loading products half deleted from the database.
  • We fixed a potential error when calculating the untaxed shipping fee of an order in the backend in some rare cases on PHP 8.2.
  • Translatable custom category fields could create an error in some cases in the translation popup of categories in the backend.
  • The view builder was not working anymore on Joomla 5 dues to the update to CodeMirror 6 by Joomla.
  • When an address wasn't provided with an address_type to HikaShop (during imports, or when the address came from a really old HikaShop), the system would not verify that required custom fields would be filled in the selected address during the checkout.
  • We fixed an error which could happen with category filters when no categories was found for the filter on PHP 8.2.
  • We've made a patch to fix a warning with the order notification email in some rare cases.
  • We fixed a warning which could happen on PHP 8.2 in some rare case with product selector fields.
  • We fixed warning messages when publishing / unpublishing payment methods from the payment methods listing in the HikaShop backend on PHP 8.2.
  • With the "include price" setting activated, the UPS OAuth shipping plugin could sometimes use the full total of the order instead of only the total amount of the products for the group of products (products of the same vendor, or products of the same warehouse).
  • Custom AJAX file/image fields would not save successfully if the field was not required in some cases.
  • The "Other clients also bought" introduced in the previous version could lead to a MySQL error in some cases.
  • We fixed a warning which could happen on the product details page when trying to access a product which is not accessible to the current user.
  • CSV files with only one columns wouldn't import properly in HikaShop.
  • We fixed a PHP warning on the wishlist page in some rare cases.
  • We fixed some warnings on PHP 8 with the email domain rules during the registration of users.
  • We fixed the download links for custom address fields of the type "AJAX File" and "AJAX Image" in the order admin notification and the payment notification emails.
  • Required custom address fields of the type AJAX File or AJAX Image with their "Multiple files" setting turned off would block the checkout even with a file provided.
  • We adjusted the backend CSS to fix a display issue with the label of custom fields when they were long.

Improvements (30)

  • We now better support SVG images for badges.
  • When displaying free download links on the product details page of a product on the frontend, we now add a nofollow attribute to the link when the current URL diverge from the canonical URL configured in the product, if any. This will avoid the alternative URLs generated for these links on the other URLs of the product page to be listed as "duplicate without user selected canonical" entries in the Google Search console.
  • The bundle system will now work when bundled products are added to a product with variants.
  • The Smart Search plugin now support images better when indexing variants.
  • We improved the look of the buttons in the backend on Joomla 5.1.x.
  • We've removed Sofort from the list of funding methods and added Multibanco for the PayPal Checkout plugin due to recent changes on PayPal's side.
  • We've made some adjustements to better support Joomla 5.1's backend template.
  • HikaShop frontend modules now return false when their display settings lead them to not display anything. This should help templates no display the position when the module has nothing to display.
  • We've added the brand name to the comparison page.
  • We now only display the information text for the access levels on the form customization block of the product edit page if you have the Business edition, since it's not possible to do it with the Starter and the Essential edition.
  • We've added an extra decimal to the currency rate for new installations of HikaShop. This will allow the configuration of conversion rates for some currencies with a lot of decimals needed for the rate.
  • We've added an extra check on the image path in the Google Products plugin to have nicer URLs for the images when they have extra slashes at the beginning.
  • We removed the Google Analytics plugin from HikaShop Business. The API it uses is not supported anymore by Google Analytics. Users should use instead the Google Analytics plugin available for free on our marketplace.
  • We modified the codes for the USA minor outlying islands so that Fedex and USPS can properly take into account the address from there. That way, you don't have to modify them yourself if you need to support shipping there with Fedex or USPS.
  • The Google Products plugin can now provide the weight of the products in the XML even for the oz weight unit.
  • When deleting products with options from an order in the backend interface, we now move its options as normal products of the order. That way the options are not "lost".
  • The Smart Search plugin will now auto select the menu item to use for the URL of the products being indexed based on the main category of the product. This will help in providing results with a nicer looking URL.
  • The decimal separator setting of the HikaShop configuration is now better taken into account for CSV exports make via mass actions.
  • The products listings configured to display the products of not only the current category but also the products from the sub categories now also check the access level of these sub categories.
  • The finder plugin integrating with the smart search of Joomla now doesn't provide the sale dates so that the products can be searched outside the sale date range, since they are available in listings too.
  • The Quickicons module is now compatible with Joomla 4 and 5.
  • We've improved the bundle display on the product edit form to display the id of the product / variant when the product / variant name is empty.
  • Custom options coming from HikaShop and displayed by Joomla when editing the settings of modules and plugins now better handle the dark mode of Joomla 5.
  • We've improved the CSS for the filters area of the order listing in the backend.
  • When using a credit card form embedded in the checkout by HikaShop (like with the offline credit card payment plugin, or the Authorize.net payment plugin in AIM mode), we now check the expiration date is provided and valid before even trying to submit the credit card information.
  • We've improved the CSV import to better handle CSV files with only one column.
  • We have updated the twitter icon for the new X version (and follow the new color code as well).
  • We have made some adjustments in order to better display the joomla 5 fancy select.
  • We added some css adjustments to better handle the white mode and dark mode for joomla 5 fancy select.
  • We improved the display of the country address field so that if the english name of the zone is empty, no brackets are added after the name of the zone.

New features (9)

  • We take into account Joomla 5.1's color scheme option in the Atum backend template.
  • We've added Google structured data as json-ld to the product details page. This will allow us to provide more complete and complex data to search engines regardless of the HTML of the product details page. Thanks to this, the structured data as json-ld on the details page can now contain variants data when the product has variants. That structured data also complies with the settings of the Google Products plugin so that what is provided in the product XML feed and what search engines see on the product details page when crawling it matches.
  • We've added an event onBeforeOptionDisplay(&$element, &$optionElement, &$option_values, &$value) which allows plugins to interface with the options display on the product page. It can, for example, be used to add or remove choices in the options on the fly.
  • The "Product SEF name" and "Category SEF name" settings can now accept a translation key so that the translation for the current language will be used for the URLs generated for the products / categories.
  • The smart search plugin now takes into account variants of products.
  • In the MySQL query of the data of custom fields, it's now possible to use the tags {user_id} or {id} or {username} or {user_email} in order for them to be replaced automatically based on the data of the current user.
  • We've added a new option "Backend color scheme" to the HikaShop configuration so that you can potentially force the Light mode or the Dark mode in case the backend template you're using is not Atum.
  • The Smart Search integration now supports Falang.
  • The registration override content now supports content tags.

 

HikaShop 5.0.3

Release date : January, 19 2024

List of all the files changed between the 5.0.2 and the 5.0.3

Bug fixes (26)

  • We fix a warning for php 8.2 during the checkout.
  • We fixed a warning on PHP 8.2 with the eway rapid payment plugin.
  • The pagination didn't work properly in some cases on the categories listing of the backend.
  • The modifications we added to the smart search integration on multilingual websites for Joomla 5 led to an error on multilingual websites on Joomla 3.
  • We fixed a MySQL query error which could happen when manually triggering address mass actions with a filter on the address_country or address_state columns.
  • We made a patch to avoid a fatal error in some cases on Joomla 4 / 5 with the dashboard backend module.
  • We fixed deprecated messages which could happen with PHP 8.2 when deleting an address or an order with the mass action plugins enabled.
  • We add a fix to manage tax name with "%" in columns features that leads to a Javascript error (Uncaught URIError: URI malformed)
  • The date selection would not be taken into account for coupon reports in listing mode in some cases.
  • The taxes on the coupons would not be properly calculated with the detailed taxes display activated and the use of the multicoupon plugin.
  • We fixed a javascript error which could happen in some cases with the posting of new comments on the frontend product details page.
  • We fixed an issue with the checkout not advancing when the multicoupon plugin would be used in some cases with taxes being involved.
  • Anonymous users would be able to publish several votes for the same product while that should not be possible.
  • A previous fix on the translation of canonical URLs of categories had a side effect of discarding the #notrans# tag for categories listings.
  • The search on variants on the product edit form had a side effect of loosing the search on the listing after saving a product settings.
  • The import of variants with the "keep other variants" setting activated while redefining the default variant would not work properly leading to the loss of the default variant in the product.
  • The height consistency would be triggered all the time after a filtering even when the corresponding setting of the menu item would be turned off.
  • The Google Products plugin would not output a XML if the categories setting was not filled in, even thought it should not be necessary, due to a faulty check.
  • The Google Products could in some cases generate a fatal error when the XML feed file could not be generated.
  • We fjxed a deprecated message with the cart module in some rare cases on PHP 8.
  • We fixed an error which could happen with the UPS OAuth shipping plugin when the country of the customer would be different from the country of the merchant in some cases.
  • Following the improvements to the pagination of carousels, the carousel modules could display warnings, in some cases.
  • We fixed a deprecated message on PHP 8.2 which could appear in some cases when editing reports.
  • The custom order fields were missing from the orders listing in the backend following an improvement of the search system to support custom user fields in the 5.0.2.
  • We fixed deprecated messages on PHP 8.2 with custom fields of the type "avanced date picker".
  • An error could happen with the Quickicon plugin on Joomla 4.

Improvements (19)

  • We updated the wizard view, some setting class were missing.
  • We improved the error messages for the eway payment plugin.
  • We've made some modifications to prepare for future changes in Joomla 6
  • We've made some modifications to prepare for future changes in PHP 9
  • We improved the compatibility with the custom layout capabilities of menu items.
  • When a product filter on the frontend is displaying categories from several levels, the system will now automatically sort them based on the ordering of the categories made in the backend.
  • We have improved the swiper (carousel) view code to better manage the different possible configurations and have a display that better corresponds to cases.
  • We have add another "insert" button in the product content tag popup, for ergonomic purposes.
  • We've added back the icon for the product content tag plugin.
  • We've improved the display of the quantity input in table mode.
  • We now automatically deactivate the "synchronized add to cart" mode on products listings with the "global on listing" mode as it doesn't make sense.
  • We improved the resilience of the SEF routing so as to keep the view and layout parameters in the SEFed URLs if the Itemid parameter is missing from the list of paramaters provided by Joomla (it should not normally happen).
  • You can now change the name of an empty wishlist if the access to empty wishlists is allowed with the cart_show_page_redirect_on_empty hidden setting.
  • We improved the download links generation for orders when several download links need to be generated and different elements need to load the order on the same page.
  • We improved the users synchronization process in HikaShop so that even if Joomla users are deleted without going through the Joomla interface, and the id of the user is reattributed by Joomla to another user account, HikaShop will still properly keep the synchronization.
  • We improved the menu item check on the URLs generated from the backend so that it doesn't take into account the user groups of the current user.
  • The Google Products plugin now also supports weight provided in your products in kilos.
  • The installation/update process now automatically adds the update site to HikaShop's XML on the fly so that the "rebuild" button of the Joomla update sites manager doesn't delete HikaShop's update site.
  • We improved the order status filtering on Joomla 4 and Joomla 5.

New features (6)

  • We've added the event onAfterConfigLoad(&$values) to the loading of settings. This can allow plugins to dynamically modify settings of HikaShop.
  • We've added a hidden setting with the namekey threshold_stock_message to be able to change the threshold (defaults to 1) between displaying the "1 item in stock" and the "X items in stock message". This can allow you to have stock messages which can change between 0, X and above X instead of between 0, 1 and above 1.
  • We improved the filters on the views listing in the backend.
  • We've added an option "Other clients also bought" to the "relation" setting of products listing modules so that you can now easily display a listing of products bought by previous customers who purchased the current product on its product details page.
  • We've added a new setting "include variants" in the Google Products plugin so that the XML feed generated by the plugin can properly support product variants.
  • We added an alias field to shipping methods and payment methods so that you can define specific text for your own reference on listings in the backend.

 

HikaShop 5.0.2

Release date : November, 29 2023

List of all the files changed between the 5.0.1 and the 5.0.2

Bug fixes (1)

  • We fixed a stored XSS trough SVG file upload security issue. You can read more about it here.
    Note that it only affects HikaShop versions above the 4.6.2 up to the 5.0.1 and not if you updated HikaShop from previous versions as default support of SVG images for the upload of images was only added in the 4.7.0 for new installations of HikaShop. Also, it requires access to the backend of the website to perform, and can be avoided easily by removing the possibility of uploading svg files in the HikaShop configuration's "allowed images" setting or updating your HikaShop to the 5.0.2.

 

HikaShop 5.0.1

Release date : November, 24 2023

List of all the files changed between the 5.0.0 and the 5.0.1

Bug fixes (66)

  • We fixed a fatal error when deleting products from the backend products listing on Joomla 5.
  • We fixed a deprecated message on PHP 8.2 when deleting products.
  • The cancel button didn't work properly on the Customer edit form in the backend on PHP 8.2.
  • We fixed some warnings when creating new votes from the backend on PHP 8.2.
  • We fixed some deprecated messages on PHP 8.2 when creating a new badge.
  • The file and image uploader of variants on Joomla 5 didn't work properly in some cases.
  • We fixed a deprecated message with the image upload system on PHP 8.2.
  • HikaShop would output an unnecessary message when the "Generate WebP images" setting of the HikaShop configuration would be activated and you would be uploding/using SVG images.
  • After the revamp of the Social Networks plugin, the OpenGraph meta tags were not added properly to the product pages in some cases.
  • We fixed some deprecated messages on PHP 8.1 when saving the settings of custom fields of the type "custom text".
  • We've fixed an issue in some rare cases on PHP 8 with the cart loading.
  • We fixed a warning which could happen on PHP 8 with the PayPal Pro payment plugin during the end of the checkout in some cases.
  • We improved the support of cli so that even when the main helper file of HikaShop is being called from the cli, it doesn't crash.
  • We modified the XML of HikaShop to avoid an error during the installation with Joomla 5 on PHP 8.2.
  • We fixed a deprecated message with coupons on the checkout in some rare cases on PHP8.
  • We fixed an error with order mass actions with an action "send email" in some cases.
  • We've added missing translation keys for the new UPS plugin.
  • The "Display limited to" didn't work properly on checkboxes in some cases.
  • The saving of popups with PHP/CSS/HTML code didn't work properly.
  • The default value of custom fields of the type "wysiwyg" was not properly taken into account.
  • The translation of the canonical URL of categories was not properly used on the frontend of products and categories listing resulting in the canonical URL of the main language being used instead.
  • When the "Add to cart on listings" setting would be set to "global", the add to cart button wouldn't work if the layout of the listing would be "table" or "list" (it would work for "div").
  • The sending of emails with attachments not embedded could generate errors in some cases.
  • When a customer was adding to the cart the variant of a product while not being logged in and if that main product had its access limited by user group, HikaShop would refuse without checking if the main product was accessible for guests.
  • The Quickicon plugin didn't work properly anymore on Joomla 4 and Joomla 5.
  • We fixed an error with the Quickicon plugin on Joomla 5.
  • In some rare cases the "display limited to" option of custom fields didn't work properly.
  • We removed some legacy code which could result in an error when the onContentPrepare event of Joomla would be called by third party extensions with invalid parameters.
  • When a characteristic would have a name with a dot, if you run a massaction with a filter on that characteristic, it would generate a MySQL query error.
  • We fixed an error on the product page on the frontend in some cases.
  • The improvment we made to auto select variants in characteristic dynamic mode when only one variant is available had a side effect of always selecting a value.
  • We made some modifications to the HikaShop main helper to properly support multilingual websites on Joomla 5.
  • We fixed a warning on the Joomla backend with PHP 8.1.
  • When the Auto slide setting is deactivated for a carousel, hovering on the carousel would start auto sliding the carousel.
  • We fixed an error of compatibility in some cases with other extensions on Joomla 5.
  • When the payment or shipping blocks of the checkout are in read only mode, we still make sure that the payment/shipping method is selected at the end of the checkout before validating the order creation.
  • The arrows of the swiper carousels could not display properly in some cases based on how the Joomla template was done.
  • We fixed an issue with the advanced date picker fields following the modifications we made in HikaShop 5.0.0 for the support of Joomla 5.
  • The attachments added via the email edit interface of the HikaShop backend weren't properly attached to emails.
  • We fixed a fatal error with the processing of the "IP" setting of some payment methods on PHP 8.1 and newer.
  • The next/previous buttons didn't work properly for categories with the new carousel system.
  • We fixed the rows and columns selector so that it would display the proper number of rows and columns even when big numbers were provided.
  • We fixed the look of the HikaShop content module's HikaShop option tab, and the product/category listing menu items' "product options" and "categories options" tabs on Joomla 5.
  • The label of options could potentially mess with the layout.
  • We fixed a warning when generating an order email in the backend of HikaShop on PHP 8.1.
  • The badge might prevent the user from clicking on the product image in some cases.
  • We've fixed potential deprecated messages with the Authorize.net payment plugin on PHP 8.1.
  • The CSS of the order details page on the frontend was not generic enough, which led to the additional fees added by plugins like the cart fee plugin or the user points plugin to not be displayed like the subtotal, coupon, shipping fee, etc.
  • In some rare cases, the shipping methods selection block of the checkout could end up displaying an error message when the cart was being emptied.
  • We fixed a PHP error with the helpful comment function on PHP 8.1 and above.
  • On the product details page, when you selected a variant on the product details page and then went to another page and then back to the product details page with the back button of the browser, the characteristic dropdowns would be preselected with the previously selected value even though the variant data was not shown on the page.
  • We've improved the compatibility of PayPal Checkout payment plugin with HikaMarket.
  • The Attached files area of the emails edit form didn't work properly.
  • We removed the loading of the JS SDK of Facebook from the HikaShop social plugin for the new share buttons as this is not necessary and created a javascript error.
  • The MijoShop import would import incorrect dates for the orders from MijoShop.
  • The new slider system's HTML was missing a CSS class to properly support the background color setting of the module.
  • The switch buttons of the slider were overlapping on the slider itself. We've made some modifications to avoid that.
  • The support of the onAfterOrderProductsListingDisplay event in the last release would generate an error during the PDF generation on the frontend when products with serials/subscriptions (with HikaSerial) would be included in the order.
  • The support of Joomla 5 led to a issue with the support of PHP 5.x on Joomla 3. We've added a patch to be able to support both in the same install package.
  • The edition of HikaShop modules on Joomla 3 would result in an error because we added an attribute not available on Joomla 3.
  • The JPAGETITLE translation key is not loaded by Joomla anymore so we now use our own translation key if it's missing.
  • We made the tmpl parameter not SEFed in URLs using it to avoid an issue with the 4SEF and potential issues with other extensions in the future.
  • We skip the x-wblr parameters during the SEF URLs build process to avoid issues in some cases with 4SEF.
  • We fixed an error with the Joomla registration redirect plugin following modifications for the Joomla 5 support.
  • We fixed some deprecated messages on PHP 8.2 during the installation process.
  • The smart search plugin would generate errors on Joomla 3 following changes to it for the compatibility with Joomla 5.

Improvements (30)

  • The Malta zone name was not set properly. The Uttar Pradesh zone had extra spaces at the beginning of the name. We updated the name of one Panama state, and the codes of 2 states.
  • We've added the triggers "After a user votes" and "After a user comments" to mass actions of the type "user" so that you can for example add points to the user after he votes for a product.
  • Custom user fields will now be taken into account in the search input field of the orders listing in the backend.
  • We've added a failsafe to the HikaShop system plugins to avoid a fatal error if the update process doesn't work properly.
  • We've added extra checks on the client id and client secret fields of the PayPal Checkout plugin to make sure the merchant understands that he needs to fill them.
  • We've added a hidden option with the namekey cart_batch_removal_quantity so that more than 50 carts can be removed per check of the carts.
  • We improved the pagination of the new carousel system.
  • We've improved the title of the brand listing and edit form on the backend.
  • The XML feed generated by the Google Products plugin now also take into account products only linked to the main category of the shop.
  • We improved the checks on the user group when the user is not logged in in order to use the user group selected for guest in the joomla users options page.
  • We've improved the performances of the massaction interface when there are a lot of related products / options in the shop.
  • We've updates the version of jquery-ui included in HikaShop.
  • We now better handle errors in the UPS OAuth plugin when trying to connect to UPS servers.
  • The list of CC and BCC emails in the email history can now handle more email addresses.
  • We've added a small improvement to the thumbnails generation in order to handle some kind of images with rare orientation parameters.
  • The Google Products plugin now better handle errors when uploading the XML feed file to Google via SFTP.
  • We've added an extra check to the Google Products plugin to make sure it is properly configured before generating an XML feed file.
  • Ordering the products listings on a column where most products had the same value would previously result in random output due to the way MySQL works. We now fallback to the product_id in order to avoid the randomness.
  • We made some modifications to the finder (smart search) integration plugin to support changes from the Joomla 5 Alpha to the Joomla 5 RC so that it now works properly on Joomla 5.
  • We made some modifications to the HikaShop main helper due to changes from the Joomla 5 Alpha to the Joomla 5 RC so that it now works properly on Joomla 5.
  • We made some modifications to the finder (smart search) integration plugin to support changes from the Joomla 5 Alpha to the Joomla 5 RC so that it now works properly on Joomla 5.
  • We improved the rendering of the products listing of invoices with a lot of products when printing them.
  • We improved the look of the advanced date picker fields on Joomla 4 and 5.
  • We've adjusted the CSS for the left and right quantity buttons.
  • We improved the behavior of the Authorize.net payment plugin in AIM mode so that it directly redirect to the thank you page, without first displaying its own thank you page with the redirect being done in javascript once the page is loaded.
  • We added some extra checks to the pagination URLs to make them cleaner.
  • We added the current element to the field object. That way, plugins can look into the data of the current element if necessary, not just at the value when displaying a custom field (show function).
  • An error message is now displayed on the HikaShop configuration if the deprecated HikaShop Microdata on Product Page plugin is activated in order to invite user to disable it.
  • We improved the resilience of the product edit form customization saving to better handle custom interfaces added by third party developers.
  • We've improved the dynamic characteristic display mode so that it will preselect the first available value when possible and retain previously selected characteristic values when available.
  • We've improved the javascript of the products / categories listings menu items and modules so that when you change the type of layout (div/table) it updates the total number of elements per page so that it is consistant with what you see in the "Items" section.

New features (9)

  • HikaShop now supports Joomla 5's dark mode.
  • We've added the support of Fancybox by default for the image popup display on the product page, which is also activated by default on new installations of HikaShop.
  • It is now possible to have a column with the total number of purchases for each user on the users manager listing in the backend.
  • We've added a search and filter system to the variants listing in the backend of the product edit form in order to make it easier to find variants when you have many of them.
  • On Joomla 4 and 5, we now use Joomla's version of font-awesome.
  • The FedEx shipping plugin now supports Regional Economy (Europe), International Priority Express and International Connect Plus shipping services.
  • We now support the choicesjs library of Joomla 4 and 5. That way, the multiple select dropdowns will now be more user friendly.
  • We've added the "Ground Advantage" shipping service to the USPS shipping plugin.
  • We added a new event onBeforeHikashopBuildRoute(&$query, $separator, &$params) so that plugins can do things before the HikaShop router.

 

HikaShop 5.0.0

Release date : September, 15 2023

List of all the files changed between the 4.7.5 and the 5.0.0

Bug fixes (23)

  • We fixed a deprecated message on PHP 8.2 when using an advanced date picker custom field in some cases.
  • An error could happen in some rare cases on PHP 8 in the popup opening when you clicked on the "email" button of an order in the backend.
  • The "download time limit" setting of files could not be set properly via the interface.
  • We've fixed a warning which could popup when third party plugins would push products to the cart without providing all the necessary data.
  • A HikaShop content module configured to display a listing of categories while on a category listing page with pagination would pick up on that pagination and apply it to itself while it shouldn't.
  • We've fixed a calculation issue on the product page in some cases.
  • We fixed deprecated messages when saving custom fields on PHP 8.2
  • Following improvements we've made to the dynamic filters in the 4.7.4, the cursor filters in dynamic mode had wrong behaviors in some cases.
  • In some cases the pagination URLs could end up with extra limit parameters causing issues with some SEO crawlers.
  • We've fixed some deprecated messages on PHP 8.1 in some cases with the display of the addresses.
  • We've made additional modifications in the PayBox plugin to support Sofinco.
  • We fixed a deprecated message which could appear in some cases in the payment notification email with custom item fields on PHP 8.1.
  • We've fixed a warning and a deprecated message on the checkout when changing the address in some rare cases.
  • We've removed MANY deprecation messages on PHP 8.2
  • We fixed an error with the export action of user mass actions when the user group name was selected for export.
  • We've fixed a notice message with the widget/report edition on the Essential edition.
  • The order saving on listings in the backend wouldn't work in some cases.
  • Creating a custom field with its required setting activated directly with the default value not filled would generate a warning in some cases.
  • When the "override shipping address" setting of a shipping method would be set to "hide" or to "text" but without any override text, the system would still display the shipping address form on the checkout if the user didn't have entered a shipping address yet.
  • There was a mistake in the handling of the CSRF token in the javascript of the uploader which led to the upload not working with JCHOptimize with the javascript compressed.
  • The share popup of wishlists was not displaying properly due to a typo introduced in the previous release to better handle the menu item being used.
  • We fixed a deprecated message with mass actions with an action "run a mysql query" in some cases on PHP 8.
  • We improved the number of rows and columns selector for menu items so that it wouldn't generated an error when the user would try to set 0 columns and 0 rows.

Improvements (31)

  • We've added extra error handling on email sending.
  • The structure and tags of the "reverse" layout of the product page has been updated.
  • With the characteristics displayed as radios and with 2 values in the characteristic, and in dynamic display mode, a value might be preselected even though it should not.
  • We've added a specific class for the out of stock message on the listing to be consistent with the product details page and to make it easier to customize with CSS.
  • We've added the events onPrepareDatePickerFieldOptions and onCheckDatePickerField so that third party plugins can modify the options of the date picker on the fly.
  • We now set the product name / product code as title of the page when editing a product in the backend.
  • We added support for Joomla 4 in the Europe Tax plugin.
  • The system will now go through the getBody/setBody of Joomla when triggering onAfterRender when a view of the checkout is being refreshed in AJAX. That way, plugins will be able to process the HTML from the body as if it was coming from Joomla.
  • The Smart Search plugin now takes into account the "show out of stock products" setting of the Hikashop configuration so that if it is turned off, the products without stock won't appear in the search results.
  • When a payment is cancelled in the popup of the PayPal payment button of the PayPal Checkout plugin, the plugin will now take into account the "cancel URL" setting of the payment method.
  • When content tags would be used to add "add to cart" buttons on pages where HikaShop is not loaded, the cart notification plugin wouldn't be able to display the notification box after the add to cart process.
  • The VirtueMart import now use the order creation date as the invoice date in HikaShop so that orders imported from VM can be used by the statistics system.
  • When deleting the last product of a cart from the cart display page while not being logged in, the system would redirect you to the login page after removing the last product from the cart instead of redirecting you to the "URL where to redirect when the cart is empty" configured in the HikaShop configuration.
  • The Smart Search integration will now index translations of products, provided the translations were added without Falang being installed.
  • We've added an event onCheckoutEmptyContentCheck so that plugins adding their own checkout view to the checkout can now provide the checkout system information on whether they are empty or not. Before, the checkout system would assume they were never empty. This will allow the system to automatically skip the current step if it finds that all the views on the current step are empty.
  • The checkout system will now move to the next step after a guest form is filled in the login block if it is the only block on the step.
  • We've added a confirmation to the "process" button of the actions popup on backend listings.
  • We've made sure that pressing enter or any other way to manually trigger the form submission won't process any action in the actions popup on backend listings, so that only the "process" button can be used, in order to avoid mistakes.
  • We changed the "OK" button in the popup of the "email" button of orders in the backend so that it is clearer that the button can be clicked.
  • We've added a new column "products" to the listing of carts and the listing of wishlists in the HikaShop backend.
  • We've improved the error handling of the PayPal Checkout payment plugin.
  • We've improved the compatibility with Route66.
  • The PayPal Checkout payment plugin now better handles the process when the "instant capture" setting is turned off and you want to manually validate the transactions on your PayPal merchant account.
  • We've improved the JSON parsing on the javascript side of HikaShop so that even if the server output error messages before or after the JSON response, it will still be possible to process it, making it more resilient.
  • The checkout now allows a user to finish his checkout with shipping required even if he never configured a shipping address in his account if he selected a shipping method which overrides the shipping address.
  • TincyMCE would end up too small for the product description on Joomla 4 and 5. The system now auto correct the height in javascript.
  • The order information is now available on the end page when using the credit card payment method, for easier customization.
  • In a massaction, When a "send an email" action is used with a trigger when an order is created/changed, the email can now use tags on the order data like {order_id} or {order_number}
  • We've added a hidden setting switcher_default_mode to the products listings so that the table / grid switcher's default mode can be changed without a view override.
  • Filter type classes can now be overridden more easily.
  • We've improved the dynamic characteristic display mode so that it will preselect the first available value when possible and retain previously selected characteristic values when available.

New features (11)

  • There is now a setting "minimum length" for text filters so that HikaShop will skip words shorter than the number configured in that setting.
  • There is now a setting "Words to ignore" for text filters so that HikaShop will skip words in that list when the filter is being used.
  • We've added the "Alternate layout" setting to the modules included in HikaShop.
  • We've added a new display option for the checkout progress bar to be displayed as an accordion.
  • We've added a new option to the HikaShop User Synchronization plugin to choose if you want HikaShop's javascript and CSS files to be loaded on all the pages of your frontend. This option needs to be turned on if you want to display add to cart buttons with content tags on pages where HikaShop is not normally loaded so that the add to cart notifications can be displayed to the user. When turned off, the add to cart will redirect to the checkout if successful, or refresh the whole page if there is an error to display.
  • We've added a new UPS plugin for the new UPS OAuth 2.0 API. The previous UPS plugin is deprecated and won't work anymore after the 3rd of June 2024. So we invite you to switch to this new shipping plugin. It is included, for free, in all the editions of HikaShop.
  • There is now an option "without link" in the "Image popup mode" setting.
  • In the backend, the order of the elements can now be made using drag & drop.
  • The carousel system now uses the Swiper javascript library instead of Owl carousel which isn't maintained anymore. It's still possible to fallback to Owl carousel with a hidden setting if necessary.
  • We've completely updated the Social Networks plugin to make it nicer, add Linkedin and remove Google Plus.
  • HikaShop now supports Joomla 5.

 

Older releases (HikaShop 4.7.5 and earlier) are listed in the HikaShop Change Log Archive.