Skip to content

0.0.3_ALPHA

Choose a tag to compare

@PiBOH PiBOH released this 23 Jun 20:06
· 26 commits to main since this release

Source code only. the release workflow didn't work now.

[0.0.3_ALPHA] — 2025-06-23

✨ New Features

  • Code block copy button — hover over any fenced code block to copy its content to clipboard with visual feedback
  • Remove individual recent files — hover X button on each recent file in the sidebar to remove it from history
  • Keyboard shortcuts panel — reference panel shown in the sidebar footer
  • Error notifications — visible inline banner for file read errors and unsupported file format attempts
  • Close file button — button in the file info bar to close the current file
  • GitHub Pages deployment — new deploy-pages.yml workflow with proper VITE_BASE support for subpath hosting
  • Generated app iconpublic/icon.png with blue-purple gradient "M" design
  • Multilingual READMEs — 6 translated READMEs with cross-language navigation:
    • README.md (🇺🇸 English US)
    • README.en-GB.md (🇬🇧 English UK)
    • README.it.md (🇮🇹 Italiano)
    • README.es.md (🇪🇸 Español)
    • README.de.md (🇩🇪 Deutsch)
    • README.fr.md (🇫🇷 Français)
  • shortcuts i18n keys — added to all 6 locale files for the keyboard shortcuts panel
  • closeFile i18n key — added to all 6 locale files for the close file button

🐛 Bug Fixes

  • Fixed identical en-GB and en-US locales — they were byte-for-byte identical; now properly differentiated (e.g. "dialogue" vs "dialog", "colour" vs "color" where applicable)
  • Fixed FileReader missing error handling — added onerror callback with user-visible error notification (previously, a failed read would silently do nothing)
  • Fixed handleFileInput type — changed from generic React.ChangeEvent to React.ChangeEvent<HTMLInputElement> for type safety
  • Fixed formatDate() ignoring i18n locale — now uses getLocaleForDateFormat() to map language codes to proper locale strings (e.g. itit-IT, dede-DE)
  • Fixed hardcoded version in About dialog — replaced inline "0.0.2" with APP_VERSION constant
  • Fixed i18n detector using default localStorage key — changed to multimdreader-language for namespace consistency
  • Fixed drag & drop state getting stuck — improved handleDragLeave with bounding-rect boundary checking

🔧 Refactoring

  • Extracted app constantsAPP_VERSION, APP_AUTHOR, APP_WEBSITE, APP_REPO as module-level constants
  • Extracted utility functionsformatFileSize(), formatDate(), getLocaleForDateFormat(), isSupportedFile() as standalone functions
  • Created inline SVG icon components — 14 icon components replacing any previous approach
  • Added CodeBlock component — dedicated component with copy-to-clipboard functionality
  • Cleaned up src/utils/cn.ts — removed unused template utility file

📦 Dependencies

  • Added @tailwindcss/typography — for prose markdown rendering classes
  • Added i18next, i18next-browser-languagedetector, react-i18next — internationalization framework
  • Added react-markdown, remark-gfm, rehype-highlight — Markdown rendering pipeline
  • Added highlight.js — syntax highlighting engine with github-dark theme

📝 Documentation

  • Added CHANGELOG.md (this file)
  • Updated all version references from 0.0.2 to 0.0.3_ALPHA