Releases: Mayen007/read-it-later
Releases · Mayen007/read-it-later
v2.3.0 - Visual Enhancement & Browser-Agnostic Positioning
v2.3.0 - Visual Enhancement & Browser-Agnostic Positioning
New Features
-
Premium Visual Authentication
- Full-screen login and register images on desktop
- App-themed decorative elements (folders, article cards, bookmarks, browser tabs, category dots)
- Subtle gradient backgrounds with reduced opacity decorations
- Fixed viewport height for elegant no-scroll experience
-
Browser-Agnostic Messaging
- Updated Landing page to emphasize universal browser compatibility
- Changed "Save from Anywhere" to "Works Everywhere" with Globe icon
- Clear communication: Web app works everywhere, extension is Chrome-only (for now)
- Added "more browsers coming soon" messaging for extension
- Transparent about current Chrome-only extension while welcoming all browser users
Visual Improvements
- Login/Register images fill entire right half (object-cover)
- Decorative elements use category brand colors (blue, green, purple, orange, teal, pink)
- 30% opacity on decorative shapes for better mobile readability
- App-themed doodles: folders, article cards, bookmarks, browser tabs, category clusters
- Responsive breakpoints maintained (single column mobile, split screen desktop)
UX Enhancements
- Form container scrolls independently on mobile when needed
- Images remain fixed while form scrolls
- Decorative elements don't interfere with form interaction (pointer-events-none)
- Visual hierarchy: form content (z-10) above decorative background shapes
Technical
- Added login-img.png and register-img.png to frontend/public/
- SVG decorative elements with proper viewBox and path definitions
- Lucide Globe icon for browser-agnostic messaging
- Cleaned up unused icon imports
Breaking Changes
None - visual enhancements only
v2.2.0 - Landing Page & Auth UI Enhancement
v2.2.0 - Landing Page & Auth UI Enhancement
New Features
-
Landing Page
- Premium landing page for first-time visitors with localStorage tracking
- Feature grid and "How It Works" section
- Clear value proposition and CTA sections
-
Enhanced Authentication UI
- Two-column layout for Login and Register
- Gradient backgrounds with messaging
- Responsive design
Breaking Changes
None - fully backward compatible
v2.1.0 - Category Management UI
v2.1.0 - Category Management UI Release
New Features
-
Complete Category Management Interface
- Full CRUD operations: Create, edit, and delete categories
- Color picker with 10 preset colors for visual organization
- Inline editing with validation and duplicate prevention
- Confirmation dialog for safe category deletion
- Toggle visibility in app header (Tag icon button)
-
Enhanced Article Organization
- Multi-select category assignment using react-select dropdown
- Inline category editing directly on article cards
- Visual category badges with custom colors
- Save/Cancel controls for category editing workflow
-
Advanced Filtering
- Category filter buttons with colored dot indicators
- "All Categories" option to clear active filters
- Category-specific empty states
- Real-time article filtering by selected category
-
Improved User Experience
- Empty state guidance for new users
- Smooth transitions and hover effects
- Consistent error handling across all operations
- Clear visual feedback for all interactions
Technical Improvements
- Consolidated handleUpdateArticle function (dual-purpose for polling and updates)
- Removed duplicate function declarations
- Enhanced error logging and handling
- Optimized component imports (removed unused dependencies)
Breaking Changes
None - fully backward compatible with v2.0.0
Migration
No migration required - all changes are UI enhancements
User Authentication
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
2.0.0 - 2025-12-11
Added
-
User Authentication System
- JWT-based authentication with access tokens (15-minute expiry) and refresh tokens (7-day expiry)
- User registration endpoint (
POST /api/auth/register) with password validation - User login endpoint (
POST /api/auth/login) - Token refresh endpoint (
POST /api/auth/refresh) - User model with email validation and unique constraints
- bcrypt password hashing with 12 salt rounds
-
Security Features
- Rate limiting on authentication endpoints (5 attempts per 15 minutes per IP)
- Password requirements: minimum 8 characters, uppercase letter, number, special character
- JWT middleware for route protection
- CORS whitelist configuration (production + localhost + chrome-extension origins)
- Environment variables for token secrets
-
Multi-User Support
- User-scoped articles and categories
- Automatic data isolation between users
- First registered user migration (silently claims existing articles/categories)
- User-specific queries with
user_idfiltering
-
Frontend Authentication
- AuthContext provider for global authentication state
- Login component with form validation and error handling
- Register component with password requirements display
- Automatic token refresh on 401 errors with retry logic
- Token validation on app load (auto-clears invalid tokens)
- User icon in header (replaces email display)
- Logout functionality
-
Chrome Extension Authentication
- Authentication UI in extension popup (login/register forms)
- Token storage in
chrome.storage.local - Authenticated API requests with Bearer tokens
- Automatic token refresh on 401 errors
- Session expiry handling with re-authentication prompt
- Toggle between login and register modes
Changed
- Breaking: All
/api/articlesendpoints now require authentication - Breaking: All
/api/categoriesendpoints now require authentication - Updated Article model to include
user_idfield (ObjectId reference, indexed) - Updated Category model to include
user_idfield (ObjectId reference, indexed) - Modified CORS configuration to use dynamic origin validation with whitelist
- Enhanced API interceptor to exclude
/auth/endpoints from token refresh logic - Improved error handling with specific authentication error responses
Fixed
- Removed duplicate schema index warning in User model
- Fixed React Fast Refresh warning by separating AuthContext, useAuth hook, and provider
- Fixed React Hooks violation by moving all hooks before conditional returns
- Fixed API interceptor attempting refresh on authentication endpoints
- Added missing
storagepermission to Chrome extension manifest - Fixed async/await handling in extension popup for token operations
Security
- Passwords are hashed with bcrypt (12 rounds) before storage
- JWT tokens signed with separate secrets for access and refresh
- Access tokens expire after 15 minutes
- Refresh tokens expire after 7 days
- Rate limiting prevents brute force attacks on auth endpoints
- CORS restricted to whitelisted origins only
1.5.0 - 2025-11-20
Added
- Category management system
- Assign articles to categories
- Filter articles by category
- Category CRUD operations
1.0.0 - 2025-11-09
Added
- Migrated to MERN stack (MongoDB, Express, React, Node.js)
- Chrome extension for saving articles from browser
- Article CRUD: add, mark as read, delete
- Search and filter articles
- Responsive design for desktop and mobile
- Automatic metadata extraction for articles
- Improved error handling and loading states
- Modern UI with Tailwind CSS v4
- Backend API with Express 5 and Mongoose 8
Initial Release (2025-11-09)
- Migrated to MERN stack (MongoDB, Express, React, Node.js)
- Chrome extension for saving articles from browser
- Article CRUD: add, mark as read, delete
- Search and filter articles
- Responsive design for desktop and mobile
- Automatic metadata extraction for articles
- Improved error handling and loading states
- Modern UI with Tailwind CSS v4
- Backend API with Express 5 and Mongoose 8