Skip to content

Releases: Mayen007/read-it-later

v2.3.0 - Visual Enhancement & Browser-Agnostic Positioning

23 Jan 17:16

Choose a tag to compare

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

23 Jan 17:13

Choose a tag to compare

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

22 Jan 17:16

Choose a tag to compare

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

11 Dec 19:26

Choose a tag to compare

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_id filtering
  • 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/articles endpoints now require authentication
  • Breaking: All /api/categories endpoints now require authentication
  • Updated Article model to include user_id field (ObjectId reference, indexed)
  • Updated Category model to include user_id field (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 storage permission 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)

08 Nov 22:31

Choose a tag to compare

  • 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