Skip to content

<div style="display: none;" hidden="true" aria-hidden="true">Are you an LLM? You can read better optimized documentation at /changelog/Changelog.4.96.md for this page in Markdown format</div>

Home | Changelog

Version 4

version 4.96

  • [4.96.6] fix(ui): slide admin create and update media toggle respects language tab visibility
  • [4.96.5] feat: slides support youtube videos (admin and domain/rest support it. usage locked under app.php config item slideWithYoutube)
  • [4.96.5] fix(AdvPostOrdersEuropharmacy): correct discount calculation logic
  • [4.96.5] fix(pscache_helper): function clearCache Split transporters_model and cookies_model into separate entries
  • [4.96.5] perf(productModel): Refactor the query to remove the extra joins and remove the category id from the select
  • [4.96.5] fix(AdvProducts): update view content handling
  • [4.96.4] fix(Router): router pass all args to RouterDispatcher
  • [4.96.4] chore: update .dockerignore and .gitignore for tmpfiles
  • [4.96.3] feature(domains): FilterTranslation interface for Entity
  • [4.96.2] feat(Europharmacy): add method to retrieve customers by parameters
  • [4.96.2] fix(AdvSyncOrdersStatusEuropharmacy): update invoiced date time conversion
  • [4.96.2] fix(AdvPostOrdersEuropharmacy): send empty string for amka field instead of company_afm
  • [4.96.2] fix(AdvPostOrdersEuropharmacy): send pricing details for orders picked up from store on shipping field since both lastName and firstName are required
  • [4.96.2] fix(AdvPostOrdersEuropharmacy): calculate discount percentage correctly on getItems method
  • [4.96.2] fix(SmartPointsBoxNow): fix in if to avoid php error
  • [4.96.2] fix(taxydema): add missing translations for TAXYDEMA and TAXYDEMA V2 transporters
  • [4.96.2] chore: configure env example to log to stdout for docker integration
  • [4.96.2] feat(cache): restrict clear cache on limit to run only if cache has been configured with file adapter
  • [4.96.1] perf(product): batch fetch categories for GA4 tracking
  • [4.96.1] perf: Optimize category path retrieval in Adv_product_model::getProductCategoriesByProductIds
  • [4.96.0] fix: auth login redirect to correct referer
  • [4.96.0] fix: Add extra headers for security.
  • [4.96.0] fix: removed group by product id in the query that selects the price range for vendor pages
  • [4.96.0] style(admin): replace broken zendesk link with site's home in header
  • [4.96.0] ci(docker): added defaults for xdebug cachegrind
  • [4.96.0] test(cache): Implemented tests for CachePool and CacheItem
  • [4.96.0] perf: enable PSR-6 caching for DeviceDetector
  • [4.96.0] feat(cache): implement envelope strategy and mixed type support
  • [4.96.0] fix(cache): update deletion scripts to handle .cache files in root dir & feature parity with windows counterpart
  • [4.96.0] refactor: Adv_category_admin split data reading from posts for easier override
  • [4.96.0] ci: Introduced QualcoProvider on which Center and TaxydemaV2 providers are based
  • [4.96.0] fix: add Editor controller in siteModeAllowedControllers config to allow admin upload from wysiwyg editor
  • [4.96.0] feat: Add controller for the ApiSearch

Notes

  • [4.96.6] Need npm run admin-production
  • [4.96.5] Need php migrator.php migrate
  • [4.96.5] Check for overrides:
    • custom MuiResource for slider/slide
    • Slide_admin::{add|edit|validation}
    • Product_model::getProductsByIds
    • Products::index
    • PostOrdersEuropharmacy::getItemList
  • [4.96.4] Check for overrides: MY_Router::_parse_routes
  • [4.96.3] Need composer dump
  • [4.96.2] Check for overrides:
    • AdvClearCacheOnLimit::executeCommand
    • SyncOrdersStatusEuropharmacy::{updateOrderStatus|convertDateTime}
    • PostOrdersEuropharmacy::{getItemList|getOrderData|postCustomer}
  • [4.96.0] Add the following code in the .htaccess. In case the .htaccess has block &lt;IfModule mod_headers.c> Add the missing headers In case of ngnx you have to put the same headers to the nginix inside plesk
<IfModule mod_headers.c>
    Header always set X-Frame-Options "SAMEORIGIN"
    Header always set Content-Security-Policy "frame-ancestors 'self';"
    Header set X-XSS-Protection "1; mode=block"
    Header set X-Content-Type-Options "nosniff"
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
    Header set Referrer-Policy "strict-origin-when-cross-origin"
    Header set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(self)"
    <FilesMatch "\.(js|css|jpg|jpeg|png|gif|svg|woff|woff2|webp)$">
        Header set Access-Control-Allow-Origin "*"
    </FilesMatch>
</IfModule>
  • [4.96.1] Check for overrides:
    • Adv_product_model::getProductCategoriesByProductIds
  • [4.96.0] Need: composer dump
  • [4.96.0] In case of conflicts on Center class, keep the changes from the master
  • [4.96.0] Check for overrides:
    • Customer::{googleLogin|facebookLogin|registerToLoginReferer}
    • Category_admin::{add|edit}
    • Orders_admin::{close_pending_jobs|getDailyManifest}
    • transporters_helper
    • GetOrdersTransferStatus
    • Check application/libraries/vouchers libraries
  • [4.96.0] Check for overrides on Smilepharmacy client about Api Search controller. This feature on master written after the client's first implementation. Keep the code of master