Skip to main content

Changelog

1.3.5 (2026-09-18)

Improvements

  • Bookmarks now store their saved page state as standard JSON — the module no longer relies on the Mirasvit Core serialization helper and uses Magento's native JSON serializer instead. Existing bookmarks and history entries keep working: a one-time upgrade converts any older records automatically.
    • ⚠️ On upgrade, a new data patch (MigrateSerializedToJson) rewrites legacy PHP-serialized values in the params column of mst_bookmarker_bookmark and mst_bookmarker_history. It runs during setup:upgrade, processes records in batches of 1000 so large history tables cannot exhaust memory, and is a near-instant no-op on stores that have no legacy records.
    • ⚠️ The module no longer depends on Mirasvit\Core\Service\SerializeService. Custom code that called Mirasvit\Bookmarker\Block\Manager::getJsConfig() for the rendered JS config should use the new getSerializedJsConfig() instead.

Fixed

  • All bookmarks deleted when the bookmark bar sent an empty request — if the browser sent an empty or malformed save request, the module treated it as "this user has no bookmarks" and removed every bookmark on the account. Such requests are now ignored and the existing bookmarks are returned untouched.
  • Admin pages breaking on unusual URL parameters — a page whose URL contained characters that could not be encoded made the bookmark bar and the page-history recording fail, taking down the whole admin page. The bookmark bar now renders empty and the history entry is skipped instead of breaking the page.
  • Error when opening a bookmark with damaged saved state — a bookmark whose stored page state was not a valid list of parameters caused a fatal error on redirect. Such state is now ignored and the bookmark simply opens the target page.

1.3.4 (2026-08-03)

Fixed

  • Bookmark toolbar translations that failed to load are no longer silently discarded — the failure is now reported so a broken or missing translation surfaces instead of quietly falling back to untranslated labels.

1.3.3 (2026-04-21)

Improvements

  • Added i18n support for 15 core locales (ar_SA, cs_CZ, de_DE, es_ES, fr_FR, it_IT, ja_JP, nl_NL, pl_PL, pt_BR, pt_PT, sv_SE, tr_TR, uk_UA, zh_Hans_CN)

1.3.2 (2026-02-11)

Fixed

  • Polaris CSS overriding admin body styles — Polaris was setting background-color and color on document.body, overriding Magento admin panel styles. These properties are now explicitly removed after Polaris initializes.

1.3.1 (2025-06-16)

Fixed

  • Bookmarker CSS leaking into admin panel — Scoped bookmarker styles in global.scss to prevent them from affecting elements outside the bookmarker container.

1.3.0 (2025-06-16)

Features

  • WCAG 2.2 AA compliance — Added aria-label, role, aria-expanded, aria-haspopup, and aria-live attributes to all interactive elements. Added keyboard navigation (Enter/Space) for bookmarks, folders, edit forms, and manager. Added :focus-visible styles with outline and box-shadow. Added screen reader text support (.sr-only).
  • Translations support — All UI strings are now translatable through Magento's i18n system. Added TranslationDataProvider block that loads translations as JSON for the React app, translationService.ts with a t() function, and a webpack plugin that auto-generates the translation dictionary template from React source code. Ships with 61 English phrases in en_US.csv.

Fixed

  • Bookmark edit form height in folders — Fixed the edit form not opening at full height for bookmarks nested inside folders.

1.2.0 (2024-10-08)

Improvements

  • Extracted Polaris CSS into local bundle — Replaced global @shopify/polaris style import with a local polaris.scss file to prevent CSS conflicts when other extensions (e.g., Advanced Reports) also import Polaris.
  • Polaris icon migration — Renamed *MajorMonotone icons to *Major to match updated Polaris icon naming. Added UpdateIconsPatch data patch to update stored icon names in the database.
  • Replaced deprecated Zend_Db_Select constants — Switched to Magento\Framework\DB\Select::SQL_ASC/SQL_DESC in BookmarkService and History\DataProvider.
  • React lifecycle updates — Replaced deprecated componentWillMount with componentDidMount.

Fixed

  • CSS conflict with Mirasvit Advanced Reports — Both modules were importing Polaris styles globally, causing CSS collisions. Resolved by extracting Polaris CSS into the module's own scoped bundle.

1.1.2 (2023-07-26)

Fixed

  • Added name attribute to layout block — The bookmarker block in default.xml was missing a name attribute (name="bookmarker"), which could cause layout merge issues in Magento.

1.1.1 (2022-06-20)

Improvements

  • Disabled db_schema_whitelist.json — Renamed to db_schema_whitelist.json_ to prevent Magento from using it during schema diffing.

1.1.0 (2022-05-23)

Improvements

  • Migrated to declarative schema — Replaced InstallSchema.php and UpgradeSchema.php with etc/db_schema.xml. Tables mst_bookmarker_bookmark (11 columns) and mst_bookmarker_history (7 columns) are now defined declaratively.
  • Dropped Magento 2.1/2.2 support — Removed 100.1.*|101.0.* from framework version constraint in composer.json.

1.0.12 (2021-04-30)

Fixed

  • Disabled Redux logger in production — The redux-logger middleware was outputting all Redux state changes to the browser console. Commented out the logger import and middleware registration in store.ts.

1.0.11 (2020-12-07)

Improvements

  • Replaced Zend_Json with SerializeService — Migrated all JSON encoding/decoding from deprecated Zend_Json and Zend_Json_Encoder to Mirasvit\Core\Service\SerializeService in Sync.php, Bookmark.php, History.php, BookmarkService.php, and manager.phtml.

1.0.10 (2020-09-11)

Improvements

  • Added i18n infrastructure — Created en_US.csv translation file and tools/i18n.sh script for collecting translation phrases via bin/magento i18n:collect-phrases.

1.0.9 (2020-08-20)

Features

  • Update State button — Replaced the simple Star bookmark toggle with a new BookmarkControl component. On hover, shows "Update State" and "Add As New Bookmark" buttons. A blue pulsing indicator dot appears when the current page's parameters differ from the saved bookmark state, allowing one-click state refresh.

1.0.8 (2020-07-30)

Improvements

  • Magento 2.4 compatibility — Updated composer.json version constraints to support Magento 2.4.

1.0.7 (2020-07-02)

Fixed

  • Bookmarker resetting Helpdesk filters — Fixed an issue in the Redirect controller and BookmarkService where navigating via bookmarks would reset filters set by Helpdesk users.

1.0.6 (2020-05-22)

Fixed

  • Cmd/Ctrl+click not opening bookmarks in new tab — Fixed keyboard modifier detection in Bookmark.tsx so Cmd+click (macOS) and Ctrl+click (Windows/Linux) correctly open bookmarks in a new browser tab.

1.0.5 (2020-05-11)

Fixed

  • Long URLs when using non-default admin UI — Enhanced the Redirect controller and bookmarkService.ts to handle URL length issues caused by non-default UI configurations.

1.0.4 (2020-05-08)

Features

  • Save UI interface state — Bookmarks now capture and restore grid filters, sort orders, and visible columns. Added a redirect controller for state-based navigation.

Fixed

  • Popover positioning in folders — Fixed popover display issues when interacting with bookmarks inside folders.

1.0.3 (2020-05-07)

Improvements

  • Middle-click to open in new tab — Middle mouse button click on a bookmark now opens it in a new browser tab.

Fixed

  • Scrollbar style issues — Fixed unwanted scrollbar styling across Bar, Bookmark, BookmarkList, Folder, and Manager components.
  • AJAX requests appearing in history — Filtered out AJAX requests from the bookmark history so only actual page navigations are recorded.

1.0.2 (2020-03-05)

Features

  • Folders and Bookmark Manager — Added ability to organize bookmarks into folders with a drag-and-drop manager interface. New Folder component, BookmarkList view, and full-featured Manager with sortable tree. Added parent_id and is_folder database columns via UpgradeSchema101.

1.0.1 (2020-01-31)

Features

  • Extended mode view — Added an Extended component that shows bookmarks in an expanded layout with more detail.

Fixed

  • Bookmarks not scoped per admin user — BookmarkService.getList() now filters by user_id, so each admin user sees only their own bookmarks. Removed ACL check in favor of user-based filtering.

1.0.0 (2020-01-30)

Features

  • Bookmark bar UI — Added the core bookmark bar component (Bar.tsx) with the ability to add, view, and click bookmarks in the Magento admin panel header.

0.0.1 (2020-01-27)

Features

  • Initial release — Admin bookmark extension for Magento 2. Provides a bookmark bar in the admin panel for saving and navigating to frequently used pages. Includes mst_bookmarker_bookmark and mst_bookmarker_history database tables, page history tracking, and a React-based UI with Shopify Polaris components.