Releases: remichan97/DexReader
Releases · remichan97/DexReader
DexReader v1.11.1
Immutable
release. Only release title and notes can be modified.
[1.11.1] - 2026-06-24
This release includes changes from v1.10.0, and v1.11.0, of which both failed to automatically release due to... circumstances
Fixed
- Build: Fix incorrect placement of
npmRebuildconfiguration in electron-builder.yml- Remove incorrectly nested
build.npmRebuild: falsedirective - This configuration should be set at the root level, not under a
buildsection
- Remove incorrectly nested
Dependencies
- Update Electron from 41.1.1 to 41.9.0
DexReader v1.9.1
Immutable
release. Only release title and notes can be modified.
[1.9.1] - 2026-06-01
This version includes changes from 1.9.0 but didn't get a proper release due to automatic tag creation failure, and I decided to release v1.9.1 to hotfix the release workflow instead of attempting v1.9.0 release manually. Yes, I know how to create a tag normally, but automated process is much better to my eyes 😋
See the changes on v1.9.0 here
Fixed
- Fix CI workflow tag creation command syntax error (missing space before
-aswitch)- Corrected git tag command to properly create annotated tags in release workflow
DexReader v1.8.0
Immutable
release. Only release title and notes can be modified.
[1.8.0] - 2026-05-27
Added
- Add App Lock (Gatekeeper) functionality for application security
- Passphrase-based authentication to protect access to the application
- Secure password hashing using bcrypt for credential storage
- Unlock screen interface with passphrase verification
- Wrong passphrase feedback with localized error messages
- Integration with application settings reset and clear all data operations
- App Lock configuration automatically reset when clearing all data or resetting settings
- Add comprehensive translation support for App Lock feature across all locales (en-GB, en-US, vi-VN)
- Add revamped Settings View with infinite scroll and quick jump navigation
- Replace tab strip navigation with infinite scroll for better scalability
- Add dropdown quick jump menu for rapid navigation between settings sections
- Improved settings organization and layout
- Add enhanced UnsavedChangesBanner that displays specific settings changes
- Shows detailed list of which settings have been modified
- Better user awareness of pending changes before navigation
Changed
- Update Settings navigation from tab-based to infinite scroll with quick jump dropdown
- Improve Settings UI layout and user experience
Fixed
- Fix Settings quick jump dropdown width being too small for longer section names
- Fix high memory warning not properly using translation function for localized messages
- Fix incorrect method usage on UnlockScreen component
- Fix various issues in GatekeeperUnlockScreen, modal dialogs, and preload type signatures
- Refactor and clean up unused code in ResetPrompt and locale files
DexReader v1.7.0
Immutable
release. Only release title and notes can be modified.
[1.7.0] - 2026-05-25
Changed
- Migrate project to ECMAScript Modules (ESM)
- Update package.json to specify
"type": "module"for native ESM support - Refactor main process for full ESM compatibility
- Modernize codebase with native ESM imports/exports throughout application
- Implement compatibility workaround for electron-updater CommonJS dependency
- Improved module loading and better alignment with Node.js ecosystem standards
- Update package.json to specify
Fixed
- Fix IPC response handling issues in DownloadsView and dialog components
- Fix filesystem deleteDir method not consistently applying recursive flag when removing directories
- Fix missing translation keys for Downloads view and favorite/unfavorite actions
- Fix Vietnamese locale translation coverage gaps
DexReader v1.6.0
Immutable
release. Only release title and notes can be modified.
[1.6.0] - 2026-05-25
Added
- Add Electron renderer sandboxing for enhanced security
- Enabled sandbox mode in BrowserWindow webPreferences for improved protection against malicious content
- Configured preload script bundling to support sandboxed environment (dependencies now bundled instead of externalized)
- Sandboxed renderer provides better isolation and security compliance with Electron best practices
- Performance impact: negligible overhead with significantly improved security posture
- Add localized unsaved changes dialogs for window close and navigation blocking
- Window close confirmation now respects user's display language preference
- Navigation blocking prompts use localized messages
Changed
- Update preload build configuration to bundle dependencies for sandbox compatibility
- Changed
externalizeDepsfromtruetofalsein electron.vite.config - Sandboxed preload scripts cannot access node_modules at runtime, requiring bundled dependencies
- Preload output format set to CommonJS (cjs) as required by Electron
- Changed
- Update CI workflow to use newer checkout action version (resolves deprecation notice)
- Improve translation coverage for Settings view and dialog components
Fixed
- Fix missing
useEffectdependency in CacheManagementSettings component - Fix incorrect tag creation workflow check in CI pipeline
DexReader v1.5.0
Immutable
release. Only release title and notes can be modified.
[1.5.0] - 2026-05-22
Added
- Add Content Language Settings allowing users to configure preferred content languages
- Select up to 3 priority languages for manga content filtering
- Language preferences stored in application settings
- New PriorityLanguages component for managing language selection
- Integrated with MangaDex API for content language filtering
- Add comprehensive Settings infrastructure migration to electron-store
- Migrated from JSON file-based storage to electron-store for better reliability
- Improved settings validation and type safety
- Automatic settings migration for existing users
- Add CI automation for release tagging
- Automatically creates git tags when release PRs are merged
Changed
- Reorganize SettingsView with cleaner separation of concerns
- Improved Settings UI layout and structure
- Better categorization of settings options
- Update and improve translations across all locale files
- Enhanced Vietnamese translation coverage and quality
- Fixed translation inconsistencies
- Update
protobufjsdependency from 8.0.2 to 8.2.0
Fixed
- Fix incorrect translation key usage on the StorageChart component
Removed
- Remove app lock feature dependencies (deferred to future release)
- Feature temporarily removed from scope for this release
- Related dependencies cleaned up
DexReader v1.4.1
Immutable
release. Only release title and notes can be modified.
[1.4.1] - 2026-05-18
Fixed
- Fix settings migration not triggering on v1.4.0 upgrade due to missing version bump
- Fix missing settings key during app initialization for i18n preferences
- Ensure migrated settings are properly persisted to settings file
DexReader v1.4.0
Immutable
release. Only release title and notes can be modified.
[1.4.0] - 2026-05-17
Warning: This release has an issue with i18n initialisation, we recommend downgrading to v1.3.0 and wait for the hotfix to 1.4.1 that should hopefully fix the issue
Added
- Add full internationalization (i18n) support with multiple language locales
- British English (en-GB) - default locale
- American English (en-US) - with localized spellings (color vs colour, organize vs organise, etc.)
- Vietnamese (vi-VN) - complete Vietnamese translation
- Add display language selection in Settings → Appearance
- Real-time language switching without app restart for most UI elements
- Automatic app restart prompt when language change affects backend components
- Persistent language preference across sessions
- Add comprehensive translation coverage across all application views
- Browse view with all search filters and controls
- Library view with collection management
- Downloads view with queue management
- Reader view with all reading controls and navigation
- Settings view with all configuration options
- Manga details view with metadata and chapter lists
- History view with reading history
- All dialogs and confirmation prompts
- Error messages and validation feedback
- Menu bar and context menus
- Loading states and status banners
- Add i18n infrastructure for both main and renderer processes
- i18next integration with React (react-i18next)
- File system backend for locale file loading (i18next-fs-backend)
- Automatic locale file copying during build process
- Type-safe translation keys with TypeScript support
- Add aria-label translations for improved accessibility across all locales
- Add restart dialog component for language change notifications
Changed
- Update all hard-coded UI text to use localized translation keys
- Update dialog system to use Electron native dialogs instead of web alert API
- Update Incognito Banner to use localized text instead of hard-coded strings
- Update
protobufjsdependency from 8.0.1 to 8.0.2 (security update) - Restructure settings to include new "Display Language" category
Fixed
- Fix missing translation keys across all views (Browse, Library, Downloads, Reader, Settings, History, Manga Details)
- Fix string template syntax issues in locale files
- Fix duplicate translation entries in locale files
- Fix build configuration to properly copy locale files to application bundle
- Fix sidebar navigation labels to use translations
- Fix status banners and filtering controls to use localized text
- Fix backend default translation keys for native UI elements
DexReader v1.3.0
Immutable
release. Only release title and notes can be modified.
[1.3.0] - 2026-05-09
Added
- Add search preset functionality to save and reuse search configurations in Browse view
- Save current search query + filters as named presets (up to 50 characters)
- Load saved presets from dropdown selector with one click
- Delete presets with confirmation dialog
- Set default preset option for automatic application on app startup
- Presets include search query, all filters, and results per page setting
- Automatic upsert: updating existing preset replaces it (no duplicates)
- Add database schema for search presets with proper indexing and constraints
- Add complete IPC handlers for search preset CRUD operations (create, read, update, delete)
- Add search presets store in renderer for centralized state management
- Add SavePresetDialog component for creating/updating presets with preview
- Add PresetSelector component with integrated delete button
- Add hover tooltips on search UI elements for better discoverability
Changed
- Update clear filter button on BrowseView to reset back to default filters instead of completely clear out the filter list
- Update Select and Option components with improved styling and hover states
- Refactor search preset service, repository, and handler structure for maintainability
- Update
fast-uridependency from 3.0.3 to 3.0.5 (security vulnerability fix) - Update
ip-addressdependency from 10.1.1 to 10.2.0 - Update
drizzle-kitdependency from 0.32.2 to 0.32.3
Fixed
- Fix missing PublicationStatus enum export in main process
- Fix IPC event parameter types for improved type safety
DexReader v1.2.0
Immutable
release. Only release title and notes can be modified.
[1.2.0] - 2026-05-06
Added
- Add "Include Downloaded Titles" toggle in Library view to display non-favorited downloaded manga alongside favorited titles
- Add soft delete functionality for downloaded chapters with ability to hide from Download view
- Add confirmation dialog for chapter download deletion with option to undo
- Add download and favorite status badges on manga cards in Library view for better visual distinction
- Add dual-badge system: heart badge for favorited titles, download badge for temporary downloads
Changed
- Reorganize Library search header layout with integrated toggle buttons matching BrowseView pattern
- Improve Library search bar UI with buttons positioned absolutely within search container
- Update library database queries to merge favorited and downloaded manga efficiently
Fixed
- Reduce settings file writes from 5 operations to 1 for better performance
- Optimize library database queries by avoiding subqueries
- Fix batch deletion of completed downloads to use batch method instead of loop