Skip to content

0.0.4_BETA

Choose a tag to compare

@PiBOH PiBOH released this 23 Jun 21:11
· 18 commits to main since this release

CHANGELOG

[0.0.4_BETA] — 2025-06-23

🐛 Bug Fixes — CI/CD (Critical)

  • Fixed release.yml failing on all platforms@tauri-apps/cli was missing from package.json devDependencies, causing tauri build to fail on Windows, macOS, and Linux (#28052770409)
  • Fixed all release workflows still failingtauri-action@v0 was silently failing; replaced with direct npx tauri build for full control and visible error output (#28054215281, #28054228335, #28054238180)
  • Fixed Rust compilation error cannot find crate multimdreader_libmain.rs referenced multimdreader_lib::run() but the crate is named multimdreader; changed to multimdreader::run() (#28055357691, #28055369781, #28055379901)
  • Fixed Rust compilation failures — removed unused Tauri plugins (tauri-plugin-dialog, tauri-plugin-fs) from Cargo.toml and lib.rs that were causing crate version incompatibilities
  • Fixed vite-plugin-singlefile conflict with Tauri — removed singlefile plugin (useful for standalone HTML but causes issues with Tauri's asset embedding); Tauri now receives proper separate JS/CSS bundles
  • Fixed Node.js 20 deprecation — upgraded all workflows to Node.js 22 (Node 20 is deprecated on GitHub Actions runners as of September 2025)
  • Fixed npm ci failures — replaced with npm install and added package-lock.json to .gitignore so CI generates fresh lock files
  • Fixed Linux build environment — changed ubuntu-latest to ubuntu-22.04 as recommended by Tauri v2 docs for webkit2gtk compatibility
  • Fixed macOS matrix fail-fast — added fail-fast: false so Intel failure doesn't cancel Apple Silicon build (and vice versa)
  • Fixed Arch Linux package build — replaced broken container: approach with addnab/docker-run-action@v3 for reliable Arch container builds
  • Fixed release permissions — added permissions: contents: write to all release workflows so they can create GitHub releases
  • Added libssl-dev to Linux system dependencies for complete Tauri build requirements

🔧 Refactoring — CI/CD

  • Split release.yml into 3 per-OS workflows for independent builds and clearer failure isolation:
    • release-windows.yml — Windows x64 (installer + portable)
    • release-macos.yml — macOS Intel (x64) + Apple Silicon (aarch64)
    • release-linux.yml — Linux Debian (.deb), AppImage, and Arch (.pkg.tar.zst)
  • Replaced tauri-apps/tauri-action@v0 with direct build commands — each workflow now runs npx tauri build directly with softprops/action-gh-release@v2 for release creation, giving full control over build steps and clear error output
  • Added explicit frontend build step before Tauri build for better error isolation
  • Added cargo fetch step to pre-download Rust dependencies for clearer failure diagnostics
  • Added build output listing step to help debug artifact location issues

🔧 Refactoring — Tauri Backend

  • Simplified lib.rs — removed unused Tauri commands (get_app_version, get_app_name) and plugins, now just creates a window with the frontend
  • Simplified Cargo.toml — removed tauri-plugin-dialog, tauri-plugin-fs dependencies; removed "devtools" feature from Tauri
  • Simplified capabilities/default.json — only core:default permission needed

📦 Dependencies

  • Added @tauri-apps/cli@^2 to devDependencies (was missing — root cause of original CI failure)
  • Removed vite-plugin-singlefile — incompatible with Tauri's asset embedding
  • Removed package-lock.json from repository — CI generates fresh lock file each time

📝 Documentation

  • Updated all 6 READMEs with new per-OS workflow badges and revised CI/CD documentation section
  • Updated package.json name from react-vite-tailwind to multimdreader
  • Added testing notice to all 6 READMEs: only Windows releases have been tested by the author; macOS and Linux builds are provided as-is