Releases: gyedongjeon/releaf
Releases · gyedongjeon/releaf
v0.3.0
PR: Release v0.3.0
Summary
Prepares the release of Re:Leaf v0.3.0.
Release Info
- Version: 0.3.0
- Type: Minor Release (Feature)
- Description: Includes new "Markdown Download" feature and filename sanitization improvements.
Changelog
- Features:
- Markdown Download: Users can now download the clean reader view as a Markdown (
.md) file. - Smart Filenames: Downloaded files use the article title (sanitized) as the filename.
- Markdown Download: Users can now download the clean reader view as a Markdown (
- Fixes:
- Robust filename sanitization (illegal chars, length limits).
Checklist
-
manifest.jsonversion is correct (0.3.0). -
package.jsonversion is correct (0.3.0). - All tests passing.
v0.2.2
Release v0.2.2: Navigation Bug Fix
Summary
This release addresses a critical bug in the reader view navigation where clicking "Previous" would skip a page under specific conditions.
Key Fixes
- Navigation Logic: Fixed an off-by-one error in
src/content/main.jscaused byMath.floorbehavior when the scroll position was perfectly aligned with a page boundary. - Reliability: Navigation is now handled using
Math.roundto correctly determine the current page index before applying offsets, ensuring consistent behavior.
Verification
- Regression Test: Added
Bug Repro: Should navigate to previous page correctlytotest/content/main.test.js, confirming the fix. - Full Suite: All 39 unit tests are passing.
Checklist
- Version bumped to
0.2.2. - Automated tests passing.
- No breaking changes.
v0.2.1
Release v0.2.1: Robust Content Extraction
Summary
This release focuses on resolving critical content extraction issues on major news platforms (New York Times and BBC News) and improving the reading experience for multimedia content.
Key Features & Fixes
1. BBC News Video Support
- Interactive Video Placeholders: Replaces blank video areas with a visible poster image and a "Play Video" button.
- Deep Content Extraction: Implemented Shadow DOM traversal to locate high-quality poster images hidden in BBC's custom players.
- Click-to-Restore: Users can now click the video placeholder to exit Reader Mode and watch the video on the original page.
2. New York Times Lead Images
- Improved Heuristics: Fixed a bug where minor body images blocked the extraction of high-quality lead images from the article header.
- Noise Reduction: Enhanced filtering to ignore ad-related elements while preserving media content.
3. Architecture & Refactoring
- Modularization: Split the monolithic
content.jsinto focused modules:src/content/utils.js: Core extraction logic.src/content/ui.js: DOM generation.src/content/main.js: Orchestration and events.
- CI/CD Pipeline: Added GitHub Actions workflow to run unit tests automatically on PRs.
- Test Structure: Split unit tests to match the new module structure, improving maintainability.
4. System Improvements
- Robustness: Updated attribute sanitization to allow interactive elements (
data-action) and proper styling. - Testing: Added comprehensive unit tests for video transformation and complex page structures.
Verification
- Verified on live BBC and NYT articles.
- Automated tests passing.
Checklist
- Version bumped to
0.2.1inmanifest.jsonandpackage.json. - Changelog updated (this PR).
- All tests passing.
v0.2.0
Re:Leaf v0.2.0 Release Notes
Features
- Onboarding: Introduced a tutorial flow to guide first-time users through the Re:Leaf experience.
- Save Settings: User preferences (theme, font size, margins) are now persisted automatically via Chrome Storage.
Bug Fixes
- 2-Page View Layout: Fixed an issue where the last page in 2-page view would sometimes display duplicated content or an empty column. This was resolved by implementing strict column width calculations and a virtual overscroll mechanism (PR #16).
- Last Page Navigation: Fixed a bug where users could navigate past the last page into empty space. Added boundary checks to navigation logic (PR #17).
Technical Details
- Updated
src/content.jswith newupdateLayout,setScrollPosition,getVirtualScroll, andgetTotalPageshelpers. - Updated
src/styles.cssto use--releaf-column-widthCSS variable. - Comprehensive unit test coverage for new logic.
v0.1.1
PR: Hotfix v0.1.1 - Permissions & Host Review
Summary
Urgent fix for Chrome Web Store publishing. Removes the broad matches: ["<all_urls>"] host permission, which triggers invasive manual reviews.
Changes
- Manifest Update: Removed
content_scriptssection that auto-injected on every page. - Architecture Shift: The extension now relies entirely on
activeTabpermission. Scripts are only injected dynamically when the user clicks the extension icon (handled bysrc/background.js). - Version Bump:
0.1.0->0.1.1.
Impact
- Pros: Faster review time, less scary permissions for users ("Read and change all your data on all websites" -> "Read and change data on the active tab").
- Cons: No change. Dynamic injection was already implemented as a fallback and now becomes the primary method.
Checklist
- Manifest validates.
- Background script injection logic confirmed.
v0.1.0
PR: Release v0.1.0
Summary
Prepares the first official release of Re:Leaf (v0.1.0).
Release Info
- Version: 0.1.0
- Type: Initial Release
- Description: Core features including Ebook Mode, Themes, Settings, and robust content parsing.
Changelog
- Features:
- Paginated Ebook View (Single/Two Page).
- Customizable Themes (Light, Sepia, Dark, etc.).
- Smart Content Parsing (BBC, Naver News support).
- User Settings (Font size, margins).
- Engineering:
- Implemented automated testing with Jest.
- Established CI/CD-ready Git Flow (develop/main/release branches).
- Defined Project Rules and SemVer guidelines.
Checklist
-
manifest.jsonversion is correct (0.1.0). - All tests passing.
- Documentation updated.