Releases: Bush2021/chrome_plus
1.14.0
Happy New Year 2026! 🎉
We're excited to announce Chrome++ Next 1.14.0, featuring enhanced version branding and shiny improvements.
New
-
27a4fce feat:
keep_last_tabnow works when clicking the close button by @Bush2021The
keep_last_tabfeature now manages to keep the last tab when clicking the close button, consistent with other closing methods. -
60df7f6 feat: add
keymappingfeature for custom keyboard shortcuts by @Bush2021Users can now map one keyboard shortcut to another, or create custom shortcuts using Chrome command IDs (e.g. opening settings). See the INI configuration file for detailed usage instructions.
Fix
-
6900b36 fix: prevent false positives in close button detection by @Bush2021
-
e5d902b fix(tabbookmark): avoid unexpected behavior when
keep_last_tabis unset by @Bush2021When
keep_last_tabis set to 0, skips expensive UI operations and no longer forces exit from full-screen mode or closes the find bar before verification.
Maintenance
-
399f231 chore: remove unnecessary git push command before creating pull request by @Bush2021
-
4a56b08 chore: rename project to Chrome++ Next by @Bush2021
The Chrome about page now displays "Powered by Chrome++ Next" instead of "Chrome++ modified version", better reflecting the project's evolution.
-
03e67b0 chore: bump actions/upload-artifact and actions/download-artifact by @Bush2021
-
bb34fab chore(pakpatch): add TODO for handling
WebUIInProcessResourceLoadingby @Bush2021 -
bb4fffc perf(iaccessible): cache
std_nameof NTB by @Bush2021 -
60523eb perf(iaccessible): cache a11y flag check in
IsDocNewTabby @Bush2021 -
4d12f68 perf: cache parsed disable tab names to avoid per-call splits by @Bush2021
-
fbfde42 chore(tabbookmark): more use of
constqualifiers and better naming by @Bush2021 -
eb712d6 refactor: refactor hotkey parsing using C++20 views and constexpr lookups by @Bush2021
-
b931532 refactor: refactor translate key to use
inputhookby @Bush2021 -
f2f8d43 perf: consolidate repetitive UI traversal by @Bush2021
-
f4e39aa chore(tabbookmark): replace
intwithboolby @Bush2021
Full Changelog: 1.13.5...1.14.0
This release now supports GitHub attestation: https://github.com/Bush2021/chrome_plus/attestations/15880980
1.13.5
Fix
-
1bd6b2e fix(utils): fix non ACSII character handling and add mutex to
DebugLogby @Bush2021 -
3c5efae fix(tabbookmark): avoid swallowing irrelevant RBUTTONUP events by @Bush2021
Resolves #198 - Fixes a regression introduced in 31ccd00, where users need to click twice to complete a right click operation after triggering
wheel_tab. -
49f1a6e fix(iaccessible): fix double click close failure by pruning a11y traversal by @Bush2021
Resolves #199 - Fixes a long-standing regression where
double_click_closesometimes doesn't work.
Maintenance
-
d12024e chore(iaccessible): improve logging in
GetChromeWidgetWinby @Bush2021 -
acc4805 refactor(iaccessible): refactor
FindElementWithRoleto prevent unbounded DFS by @Bush2021 -
33f8f30 perf: use const ref in parameter passing when appropriate by @Bush2021
-
5de2292 refactor(hotkey): use
string_viewinstead ofconst wchar_t*by @Bush2021 -
efc58b9 refactor: modernize pakfile.cc with C++20 smart pointers and ranges by @Bush2021
-
a918728 perf(iaccessible): only traversal into pane when finding document by @Bush2021
-
bd6dec0 perf(iaccessible): use lambda to replace raw_traversal by @Bush2021
-
6906add perf(tabbookmark): improve
MouseProcdispatch logic and simplify helper signatures by @Bush2021 -
b18181d refactor: use C++23 "Deducing
this" and modularize mini_gzip build by @Bush2021Bumps to C++23!
-
3571993 refactor: adopt C++20 ranges, consteval, and fix potential
isspaceUB by @Bush2021
Full Changelog: 1.13.4...1.13.5
1.13.4
Fix
-
31ccd00 fix(tabbookmark): suppress
WM_RBUTTONUPafter wheel-tab gesture to prevent context menu by @Bush2021Resolves #108 - Fixes a regression where
wheel_tab_when_press_rbuttonincorrectly triggers the right-click context menu to pop up after switching tabs. -
ec9f234 fix(iaccessible): nullptr reference in
IsNameNewTabby @Bush2021Resolves #191 - Fixes a possible crash when upgrading to Chrome 143.0.7499.41 with
open_bookmark_new_tabandnew_tab_disableenabled. It is assumed that the new Chrome update makes some changes to accessibility that are being rolled out through an A/B test. Our code fails to find a expected element for some users and resulted in a crash.
Maintenance
-
dea5944 refactor(iaccessible): refactor
IsNameNewTaband move functions to anonymous namespace by @Bush2021 -
203adf4 perf(tabbookmark): apply short circuit evaluation to
HandleBookmarkby @Bush2021Improves bookmark handling that avoids an unnecessary new tab check when clicking on normal web pages. This reduces overhead and prevents cases of incorrect behavior like #191.
-
2455326 perf(tabbookmark): apply short circuit evaluation to
HandleRightClickby @Bush2021
Full Changelog: 1.13.3...1.13.4
1.13.3
Fix
-
e6402ca fix: fix close actions failing when find-in-page bar is focused by @Bush2021
Resolves #187 - Fixes a regression where double-click and right-click close actions become non-functional when the find-in-page bar has focus.
-
6f17539 fix: nullptr reference in
IsOnFindBarPaneby @Bush2021Fixes crash introduced in 6f17539.
-
13f2d98 fix: remove unnecessary ComPtr, do
VariantClearmanually by @Bush2021Fixes a memory leak.
Maintenance
- 5770577 chore: remove
IsOnDialogby @Bush2021 - f475b9c chore: bump upload/download-artifact actions to latest versions by @Bush2021
- f974e8c chore: add null check for child in
GetParentElementby @Bush2021 - 117cdea perf: end traversal early in
IsOnFindBarPanewhen found by @Bush2021 - 3576e72 refactor(iaccessible): various improvements by @Bush2021
Full Changelog: 1.13.2...1.13.3
1.13.2
Fix
-
a53cbe1 fix(portable): correctly handle
--single-argumentand--terminator by @Bush2021Resolves #181 - Fixes an issue where opening external files would fail if the filename contained multiple consecutive spaces. This typically occurs when launching the application through Windows Shell integrations (e.g., "Open With...").
Maintenance
Full Changelog: 1.13.1...1.13.2
1.13.1
1.13.0
New
-
11fa0c2 feat(config)!: remove deprecated keys by @Bush2021
Breaking Change: Removes compatibility with deprecated configuration keys that were broken during previous refactoring. These keys were already in deprecated status and have now been completely removed. Please use the latest ini file configuration.
Fix
-
21e8ff8 fix: fix
pakpatchnot working by @Bush2021Resolves the issue where Chrome++ version information was not displayed on Chrome's About page.
-
bc79a31 fix(portable): fix handling of
--disable-features=by @Bush2021Fixes
--disable-features=parameter not working correctly. Chrome only parses the last--disable-features=argument, so when multiple instances are passed, some features may not be properly disabled. Now all feature flags are concatenated into a single parameter.
Maintenance
- 9d8687b chore: various improvements by @Bush2021
- d46615c refactor(config): use
intinstead ofstringfor passing new tab mode config by @Bush2021 - ec16c23 chore: address warnings thrown by clang by @Bush2021
- 50e4586 refactor(portable): refactor
GetCommandby @Bush2021 - 670abef chore: update Detours by @Bush2021
- b29d7ed chore: use reverse order for changelog generation by @Bush2021
Build Note
Now compiled using clang-cl.
Full Changelog: 1.12.1...1.13.0
1.12.1
Fix
- 75941e0 fix(portable): fix logic introduced in b40ef02 by @Bush2021
- 823d554 fix(iaccessible): correct traversal of
IsOmniboxFocusby @Bush2021 - f7a4a3f fix(tabbookmark): prevent misjudgment when clicking on expanded dropdown menu by @Bush2021
- ff7403c fix(hotkey): prevent global capture of custom translate hotkey by @Bush2021
Maintenance
- 0a737a0 perf: refactor using
string_viewandreserve, remove unnecessarystd::moveby @Bush2021 - 279bf87 chore: various improvements by @Bush2021
- 3048daa chore: improve header files import by @Bush2021
- 64280ef refactor: use
std::functionand move implementation topakfile.ccby @Ritchie1108 - 7468851 refactor(utils): refactor
DebugLogby @Bush2021 - 75f0495 perf: more use of
string_view, removesplitby @Bush2021 - c15fd99 refactor: separate declarations and definitions/implementations by @Bush2021
- c5e35d3 refactor(utils): use
rangesforStringSplitby @Bush2021 - d4d46f0 chore: upgrade to C++20 and other adjustments by @YorkWaugh
- d57ea53 chore: remove unused code by @Bush2021
Full Changelog: 1.12.0...1.12.1
1.12.0
New
- e3a3131 feat: reimplement
launching_on_[startup/exit]and removekill_launch_on_exitby @Bush2021 - 416ed25 feat(hotkey): bring windows to front when showing with boss key (#155) by @adad184
- e6571ba feat(hotkey): mute/unmute audio during boss key operations by @Bush2021
- e58d85b feat(hotkey): improve mute/unmute logic to respect original mute state per process by @Bush2021
- 98b5981 feat(portable): avoid duplicate addition of user data and cache dir params by @Bush2021
Fix
- 0de05f6 fix: improve find-in-page bar handling for Chrome 131+ UI changes to fix #157 by @Ritchie1108
- d030198 fix: fix opening the bookmark erroneously when dragging it by @Bush2021
Maintenance
- 27f41a7 chore: fix template for feature requests by @Bush2021
- 4958d38 perf: break the loop prematurely if dragging is detected by @Bush2021
- 6327a51 chore: update submodules by @Bush2021
- 6ed84d2 chore: trivial adjustments by @Bush2021
- 783bc4c chore: standardize naming by @Bush2021
- 82e5d2f chore: clean up includes and remove unnecessary pragmas by @Bush2021
- 8524722 perf(config): optimize config access with singleton and eager loading by @Bush2021
- 95241db chore: trivial adjustments by @Bush2021
- a049663 chore: improve
setdllpackaging automation (#143) by @Bush2021 - a0840c9 chore: remove unnecessary submodule by @Bush2021
Full Changelog: 1.11.1...1.12.0
1.12.0-alpha.1
New
- 416ed25 feat(hotkey): bring windows to front when showing with boss key (#155) by @adad184
- e3a3131 feat: reimplement
launching_on_[startup/exit]and removekill_launch_on_exitby @Bush2021 - e58d85b feat(hotkey): improve mute/unmute logic to respect original mute state per process by @Bush2021
- e6571ba feat(hotkey): mute/unmute audio during boss key operations by @Bush2021
Fix
- 0de05f6 fix: improve find-in-page bar handling for Chrome 131+ UI changes to fix #157 by @Ritchie1108
- d030198 fix: fix opening the bookmark erroneously when dragging it by @Bush2021
Maintenance
- 27f41a7 chore: fix template for feature requests by @Bush2021
- 4958d38 perf: break the loop prematurely if dragging is detected by @Bush2021
- 6327a51 chore: update submodules by @Bush2021
- 6ed84d2 chore: trivial adjustments by @Bush2021
- 783bc4c chore: standardize naming by @Bush2021
- 82e5d2f chore: clean up includes and remove unnecessary pragmas by @Bush2021
- 8524722 perf(config): optimize config access with singleton and eager loading by @Bush2021
- 95241db chore: trivial adjustments by @Bush2021
- a049663 chore: improve
setdllpackaging automation (#143) by @Bush2021 - a0840c9 chore: remove unnecessary submodule by @Bush2021
Full Changelog: 1.11.1...1.12.0-alpha.1