|
| 1 | +# Release v0.2.1: Robust Content Extraction |
| 2 | + |
| 3 | +## Summary |
| 4 | +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. |
| 5 | + |
| 6 | +## Key Features & Fixes |
| 7 | + |
| 8 | +### 1. BBC News Video Support |
| 9 | +- **Interactive Video Placeholders**: Replaces blank video areas with a visible poster image and a "Play Video" button. |
| 10 | +- **Deep Content Extraction**: Implemented Shadow DOM traversal to locate high-quality poster images hidden in BBC's custom players. |
| 11 | +- **Click-to-Restore**: Users can now click the video placeholder to exit Reader Mode and watch the video on the original page. |
| 12 | + |
| 13 | +### 2. New York Times Lead Images |
| 14 | +- **Improved Heuristics**: Fixed a bug where minor body images blocked the extraction of high-quality lead images from the article header. |
| 15 | +- **Noise Reduction**: Enhanced filtering to ignore ad-related elements while preserving media content. |
| 16 | + |
| 17 | +### 3. Architecture & Refactoring |
| 18 | +- **Modularization**: Split the monolithic `content.js` into focused modules: |
| 19 | + - `src/content/utils.js`: Core extraction logic. |
| 20 | + - `src/content/ui.js`: DOM generation. |
| 21 | + - `src/content/main.js`: Orchestration and events. |
| 22 | +- **CI/CD Pipeline**: Added GitHub Actions workflow to run unit tests automatically on PRs. |
| 23 | +- **Test Structure**: Split unit tests to match the new module structure, improving maintainability. |
| 24 | + |
| 25 | +### 4. System Improvements |
| 26 | +- **Robustness**: Updated attribute sanitization to allow interactive elements (`data-action`) and proper styling. |
| 27 | +- **Testing**: Added comprehensive unit tests for video transformation and complex page structures. |
| 28 | + |
| 29 | +## Verification |
| 30 | +- Verified on live BBC and NYT articles. |
| 31 | +- Automated tests passing. |
| 32 | + |
| 33 | +## Checklist |
| 34 | +- [x] Version bumped to `0.2.1` in `manifest.json` and `package.json`. |
| 35 | +- [x] Changelog updated (this PR). |
| 36 | +- [x] All tests passing. |
0 commit comments