Releases: LucBennett/BetterUnsubscribe
BetterUnsubscribe v2.9.0-beta
BetterUnsubscribe v2.9.0 Beta
✨ What's New
Options Page: The headline feature of this release. BetterUnsubscribe now has a proper settings page, accessible via Thunderbird's Add-on Manager. From there you can:
- Auto-send unsubscribe emails: Toggle whether the unsusbscribe email is sent automatically without confirmation (default: off).
- Confirmation regex: Define a regular expression pattern to trigger a confirmation dialog before unsubscribing when the target address matches. Useful for protecting mailing lists you're in charge of (e.g. Google Groups addresses). Leave blank to disable.
Settings are saved to local storage and include a Reset to Defaults button.
🔧 Improvements & Fixes
- Thunderbird 137+ compatibility: The extension now uses the new
messenger.messages.deleteAPI format where available, falling back gracefully to the older API on earlier versions. - Better email address parsing: Now uses
parseMailboxString(available since TB 137) for more robust sender parsing, with a regex fallback for older Thunderbird versions. - More reliable auto-send: When sending unsubscribe emails automatically, the extension now waits for the compose window to become ready before sending, preventing failures on slower systems.
- Cleaned up permissions: Removed unused
messagesMoveandthemepermissions. Addedstoragepermission to support the new options page.
🌍 Translations
- Added new Japanese locale.
BetterUnsubscribe v2.8.0
🎉 BetterUnsubscribe v2.8.0
This release brings improvements to reliability, usability, and accessibility. Making unsubscribing from unwanted emails smoother, clearer, and more dependable than ever.
✨ What’s New & Improved
🔍 Smarter unsubscribe link detection
BetterUnsubscribe is now significantly better at finding unsubscribe links inside email messages, even when they’re buried deep in the content. This means:
- More emails correctly show an unsubscribe option
- Fewer false matches
- Better handling of tricky newsletter layouts
Result: Higher success rate when unsubscribing from mailing lists.
🚦 Clearer feedback when something goes wrong
If an email doesn’t support unsubscribing, or if a network problem occurs, the extension now clearly tells you what happened instead of silently failing.
You’ll see:
- Better explanations when an unsubscribe attempt fails
Result: Less confusion, more confidence.
♿ Improved accessibility & keyboard support
The unsubscribe popup has been updated to be more accessible:
- Fully keyboard-friendly controls
- Improved button and menu behavior
- Cleaner, easier-to-use layout
Result: A smoother experience for everyone, including keyboard and assistive-technology users.
🧭 More reliable behavior while reading mail
The extension is now better at detecting when you switch between already-open messages, ensuring the unsubscribe button updates correctly every time.
Result: Fewer missed unsubscribe opportunities.
🧼 General polish and stability improvements
This release also includes many behind-the-scenes refinements that improve performance, consistency, and overall stability.
As always, thanks for using BetterUnsubscribe!
Full Changelog: v2.7.0...v2.8.0
Version 2.7.0 Release Notes
Release Notes: Version 2.7.0
🚀 New Features
-
Polish Localization:
- Added full support for the Polish language (
pl) across the extension.
- Added full support for the Polish language (
-
Advanced Delete Options:
-
Scrollable Dropdown UI:
- Dropdown in the popup is now scrollable, improving usability for larger lists.
-
Regex Enhancements:
- Optimized regex for better efficiency and edge case handling, such as
(un)subscribeparsing and compatibility with more complex email formats.
- Optimized regex for better efficiency and edge case handling, such as
🎨 UI/UX Improvements
Popup Enhancements
- Improved accessibility with ARIA attributes and proper status role updates.
- Refined dropdown behavior with CSS-based state management for a cleaner structure.
- Simplified and optimized CSS:
- Consolidated selectors.
- Improved button hover states and background contrast for accessibility.
Frontend Tweaks
- Fixed theme compatibility issues.
- Adjusted responsive design with media queries.
- Cleaner HTML:
- Removed unnecessary attributes.
- Optimized dropdown behavior for consistent UI experience.
🛠 Functionality Updates
-
Error Handling Overhaul:
- Improved stability with enhanced error communication through event handlers.
-
Regex Overhaul:
- Enhanced efficiency and readability in backend regex handling.
- Updated email parsing engine for complex formats.
-
Localization Improvements:
- Addressed localization issues in popup and background scripts.
- Updated all locales to include new delete options.
-
Accessibility Enhancements:
- Adjusted ARIA roles for better accessibility.
- Ensured all interactive elements are labeled appropriately.
🛡 Developer-Focused Changes
-
Improved Documentation:
- Extensive updates to project documentation.
- Adopted Prettier and ESLint for consistent code formatting.
-
Testing:
- Added comprehensive tests for:
- Regex matching.
- Compile scripts.
- Localization and labeled datasets.
- Updated tests to cover new features.
- Added comprehensive tests for:
-
Refactoring:
- Restructured project directory for better organization.
- Simplified compile scripts for the new structure.
- Introduced helper functions for streamlined code readability and reuse.
-
Dependencies:
- Updated to the latest versions for improved stability and compatibility.
🐛 Bug Fixes
- Fixed compatibility issue (#2) with Thunderbird v128:
- Adjusted API calls to handle undocumented changes.
- Resolved UI bugs in dropdown and popup behavior.
- Addressed email parsing issues and improved regex for edge case handling.
Version 2.6.1 Release Notes
I’m excited to announce version 2.6.1 of BetterUnsubscribe! This patch release focuses on improving the overall reliability and efficiency of the app, with refinements to error handling, regex matching, CSS, and more.
🔧 Improvements
Refined Functionality
checkUnsubhas been restructured for improved readability.- Error handling is done by the UI rather than
searchUnsub.
Regex Tweaks
Several optimizations have been made to the regex used in the app:
- HTML link matching now works better with both text content and
hrefattributes. - Improved regex handling of edge cases like "(un)subscribe".
- Enhanced regex efficiency for better performance.
CSS Restructuring and Fixes
- Refactored the CSS for better organization and performance.
- Fixed multiple theme-related issues.
- Introduced CSS media queries for better responsiveness and user experience.
🐛 Bug Fixes
- Various minor bug fixes and tweaks for a smoother user experience.
Version 2.6.0 Release Notes
I'm thrilled to announce version 2.6.0 of BetterUnsubscribe, bringing a range of updates that improve functionality, testing, and error handling for a smoother experience!
✨ New Updates
- Manifest Default Popup
The extension now uses the manifest'sdefault_popup, streamlining the interface without creating a new window. This change simplifies the popup behavior and improves efficiency.
🔧 Improvements
-
Unit Tests Added
We've introduced unit tests to better maintain code reliability. The compile script has been updated to exclude tests and Node.js files, ensuring a cleaner final build. -
Enhanced Error Prevention
Extra safeguards have been added tobackground.jsandpopup.jsto prevent the accidental deletion of incorrect files. This improvement minimizes the risk of data mishandling. -
Regex Updates
The regular expressions in the extension have been fine-tuned to ensure more accurate detection and handling. -
CSS Tweaks
Minor updates have been made to the CSS for better styling consistency and user interface polish.
🐛 Bug Fixes
- Minor problems identified in previous versions have been addressed, ensuring smoother operation.
📢 Feedback and Support
As always, feel free to report any bugs or request features on the GitHub Issues page. Your feedback is invaluable to improving BetterUnsubscribe!
Version 2.5.0 Release Notes
I’m excited to introduce version 2.5.0, packed with new features, enhancements, and structural improvements for a better user experience!
🎉 New Features
Enhanced Email Deletion Options
- Now you can delete a single email or all emails from a specific sender!
- The updated popup interface in
popup.jsmakes it easier than ever to manage emails. - Locales have been updated to reflect these new features.
"Deleting" Status Indicator
- Added a new "Deleting" status to provide feedback while emails are being deleted.
Email Deletion Count
- After emails are deleted, the success message now shows the count of how many emails were deleted.
🌐 Localization Support
- French (France) and Italian (Italy) have been added!
- Users can now switch to these languages for a localized experience.
🛠 Improvements
Icon Handling Overhaul
- Removed methods and listeners responsible for dynamically changing themed icons.
- Icons now rely on the manifest's
theme_iconsfor a simpler and more efficient approach.
Code Restructuring
- All CSS has been consolidated into a new
styles.cssfile, improving code maintainability and readability. - General reformatting and restructuring for cleaner code.
📢 Feedback and Support
Bug Reports & Feature Requests:
As always, please report any bugs or request features on the GitHub Issues page.
Version 2.4.0
I am excited to announce the release of version 2.4.0, which brings new features, improvements, and enhancements to your experience.
🎉 New Features
Dark Theme Icon Support
- Inverted Icon for Dark Themes:
- Introduced an inverted icon that automatically activates when a dark theme is detected, ensuring better visibility.
- Dynamic Icon Switching:
- Added methods and listeners to the background script to handle icon changes seamlessly as themes switch.
High-Resolution Icons
- 48x48 Pixel Icons:
- Added 48x48 pixel icons for both the standard and inverted versions to support high-resolution displays and provide crisper visuals.
Brazilian Portuguese Localization 🇧🇷
- Language Support Added:
- Now supporting Brazilian Portuguese, thanks to the contribution by John.
- Users can select Brazilian Portuguese in the settings to experience the extension in their native language.
🛠 Improvements
- Refactored
popup.js:- Performed code refactoring for better performance and maintainability.
- Streamlined functions and optimized code structure.
- Enhanced Documentation:
- Added comprehensive documentation and comments to
popup.jsto assist future development and collaboration.
- Added comprehensive documentation and comments to
🙏 Acknowledgements
- Special Thanks to John:
- Thanks to John for creating the Brazilian Portuguese translation, enhancing the extension's accessibility.
📢 Feedback and Support
- Bug Reports & Feature Requests:
- Please report any issues or suggest features on the GitHub Issues page.
BetterUnsubscribe v2.3.4
Added support for German and Spanish languages!
BetterUnsubscribe v2.3.3
Fixed issue with powershell compile script.
Fixed issue with post request being rejected due to error 400 Bad Request.
Edit: release was updated to include manifest change.