Changelog

Every release of Pure Build Launcher.

v0.1.6

Nov 4, 2026

Architecture & Component Refactor

  • LaunchView modularization: the main launch view was refactored from an 824-line monolith into cohesive subcomponents and a composable (LaunchView.vue down to 68 lines, with VersionPicker, JavaSelectPanel, LaunchClassicLayout, LaunchModernLayout and useLaunch), each module kept under 350 lines.
  • Single source of truth, decoupled layouts: the classic PCL layout and the modern grid layout were fully separated, eliminating template duplication and state cross-talk between the two views while keeping the classic layout pixel-faithful to the original.
  • Launch lifecycle & force-kill governance: launch-progress listening, normal/abnormal exit handling and process-timeout force termination were centralized in the useLaunch composable.

v0.1.5

Nov 4, 2026

Fixes & polish

  • Music player popover fix: the volume slider no longer overflows the popover frame in either the Classic or Modern layout; EQ preset icons were removed, presets and sound unchanged.

Architecture

  • Backend modularization: launch-argument building, version inheritance and file-hash verification split into dedicated submodules.
  • Frontend state & components: the Pinia store split into config, versions, music and session domains; music player bar and login dialog extracted as components; a ts-rs type contract between Rust and TypeScript — drift fails the test suite.

Testing

  • Test coverage push: backend tests grew from 29 to 46 (launch-argument snapshots from real version JSON fixtures, auth parsing and lifecycle cases); the frontend gained vitest with 8 core-logic cases.

v0.1.4

Nov 3, 2026

New & improved

  • Concurrent downloads & integrity: static CDN assets unthrottled with 32-way parallel fetching; streaming downloads accumulate SHA-1 in memory and detect ZIP magic, eliminating re-reads of thousands of small asset files.
  • Smart Java matching: reads the javaVersion declared in version JSON (including inheritsFrom chains; Java 8 / 17 / 21), matches it against installed runtimes before launch, and downloads a Temurin JRE from Adoptium when missing — extracted with zip-slip protection.
  • Startup instrumentation: end-to-end timing across the Rust backend and the webview; measured medians of ~1278ms cold and ~732ms warm starts.
  • Distribution: portable builds retired in favor of standard installers (NSIS / MSI / DMG) to avoid WebView2 and VC++ runtime pitfalls; signing and notarization guides added.

v0.1.3

Nov 1, 2026

Refactoring & platforms

  • Platform layer & de-hardcoding: a single platform.rs adaptation layer; every OS/architecture decision derived at runtime; official launch rules and classifier matching completed for macOS (arm64 & x64) and Linux.
  • Download sources: endpoints and mirror constants centralized in endpoints.rs with a unified BMCLAPI / MCIMirror routing policy.

v0.1.2

Nov 1, 2026

New features

  • Modpacks & resources: one-click import of Modrinth .mrpack modpacks, and export of the current instance as a standard .mrpack.
  • Crash analysis: on abnormal exit, log context is captured automatically to identify OOM, mod conflicts, driver crashes and bytecode mismatches, with targeted fix suggestions.
  • Saves & assets: browse and manage worlds, resource packs, shader packs and music, with quick folder access.

v0.1.1

Nov 1, 2026

New & fixed

  • Installer rework: automatic detection, dependency resolution and deep metadata merging for Vanilla, Fabric, Forge, NeoForge and OptiFine; concurrent downloads with SHA1 / SHA256 / SHA512 verification, resume and self-healing.
  • LAN multiplayer: room broadcast and discovery over UDP multicast, with invite-code generation and parsing.

v0.1.0

Nov 1, 2026

Initial release

  • Core launcher: a modern UI built with Tauri 2 + Vue 3 + TypeScript; a Rust core with offline sign-in and Microsoft OAuth2 device-code login; local version scanning, a version list and custom JVM arguments.