Repository navigation
Releases
Releases · n2ns/chrome-widemark
WideMark v1.3.1
Fixed
- Preserve existing bookmark URLs when renaming, including non-web protocols, while continuing to complete bare host-and-port addresses.
- Keep folder colors and icons consistent across search and hidden bookmark roots, preserve existing style paths, and allow styling the Bookmarks Bar itself.
- Clean up nested empty folders from the leaves up while preserving bookmarks added during cleanup.
- Split folder styles across Chrome Sync storage items to avoid the single-item 8 KB limit. Existing styles migrate on the next successful edit; incomplete synchronized snapshots cannot overwrite saved styles.
Changed
- Updated runtime and development dependencies to their latest stable versions, including React 19.3.1, Vite 8.3.5, Vitest 5.1.0, and Happy DOM 21.0.4.
- Standardized the project license on Apache-2.0.
Install manually
- Download the
.zipfile below and unzip it into a folder you will keep. - Open
chrome://extensionsin Chrome and turn on Developer mode (top right). - Click Load unpacked and select the unzipped folder (the one that contains
manifest.json).
A manually installed copy does not update itself. See the README for details.
WideMark v1.3.0
Added
- Search bookmarks using multiple keywords across titles and URLs, and find folders by name.
- Show folder paths in search results to distinguish bookmarks with the same title.
- Use "Show in folder" to expand the original location, scroll to the item, and focus it. Opening a folder result also reveals its contents.
- Reveal results in hidden bookmark roots without changing the saved visibility preference.
Changed
- Updated search hints and help in all ten supported languages.
- Search results use a list layout with wrapping paths, including in wider panels.
Install manually
- Download the
.zipfile below and unzip it into a folder you will keep. - Open
chrome://extensionsin Chrome and turn on Developer mode (top right). - Click Load unpacked and select the unzipped folder (the one that contains
manifest.json).
A manually installed copy does not update itself. See the README for details.
WideMark v1.2.2
Changed
- No functional changes; republished from the same code as 1.2.1.
Install manually
- Download the
.zipfile below and unzip it into a folder you will keep. - Open
chrome://extensionsin Chrome and turn on Developer mode (top right). - Click Load unpacked and select the unzipped folder (the one that contains
manifest.json).
A manually installed copy does not update itself. See the README for details.
WideMark v1.2.1
Changed
- The bookmark tree shows its focus ring only for keyboard focus, not after mouse clicks.
- Updated dependencies (including
@crxjs/vite-plugin3 and Vitest 5). - Each release tag now attaches the packaged zip to a GitHub Release and submits to the Chrome Web Store through
Chrome Web Store API v2 with the shared N2NS service account.
Install manually
- Download the
.zipfile below and unzip it into a folder you will keep. - Open
chrome://extensionsin Chrome and turn on Developer mode (top right). - Click Load unpacked and select the unzipped folder (the one that contains
manifest.json).
A manually installed copy does not update itself. See the README for details.
WideMark v1.2.0
Added
- Added native Chrome localization for English, Spanish, German, French,
Simplified Chinese, Traditional Chinese, Japanese, Korean, Turkish, and Vietnamese. - Added automated locale/placeholder/Manifest-length validation and localized
number and plural formatting.
Changed
- Folder style metadata remains a simple Chrome Sync list and follows folders
across normal rename and move operations. - Disclosed clearly in the UI, privacy policy, and store copy that folder style
metadata is synchronized by Chrome Sync and is not received by developer servers. - CI now builds and inspects the packaged extension. The release workflow checks
package/Manifest/tag versions, uses least privilege and a protected environment,
serializes deployments, and pins Actions to full commit SHAs. - Raised the minimum Chrome version to 116 to match the side-panel shortcut API.
Fixed
- Empty-folder cleanup now atomically refuses to delete folders that gained content.
- Bookmark writes and cleanup jobs are serialized across extension panels with the
Web Locks API; scans cancel cleanly when their view unmounts. - Collapsed folder descendants are no longer mounted, large folders are no longer
clipped, and tree/menu/dialog keyboard focus and ARIA behavior were improved. - Settings and folder-style reloads no longer allow older asynchronous reads to
overwrite newer local or cross-window changes.
Internal
- Rewrote the UI on React 19 + Zustand, bundled by Vite with
@crxjs/vite-plugin(replacing the vanilla-DOM controllers and the
tsc-only build). Bookmark logic stays framework-agnostic insrc/lib/and
is unit-tested independently. Tests run on Vitest (happy-dom). The shipped
bundle carries no source maps. No user-facing behavior change intended. - Migrated the source from vanilla ES5-style UMD scripts to TypeScript. Modules
are bundled intobuild/by Vite, whiletscperforms strict type checking.
Type checking runs understrict,
noUncheckedIndexedAccess, and thenoUnused*/noImplicitReturns/
noFallthroughCasesInSwitch/noImplicitOverrideflags. Requires Node >=24
(engines). No user-facing behavior change. - The build/packaging scripts (
scripts/*.ts) are TypeScript too, type-checked
by a separate Node-targetedtsconfig.scripts.jsonand run directly via
Node's.tsexecution. Aci.ymlworkflow type-checks, tests, builds, and
validates the packaged ZIP on push/PR. - Development now loads the bundled
build/directory as the unpacked
extension (npm run build); the packaged zip ships the Vite output. See
docs/DEVELOPMENT.md.
Install manually
- Download the
.zipfile below and unzip it into a folder you will keep. - Open
chrome://extensionsin Chrome and turn on Developer mode (top right). - Click Load unpacked and select the unzipped folder (the one that contains
manifest.json).
A manually installed copy does not update itself. See the README for details.