Skip to content

[pull] master from luuxis:master#1

Open
pull[bot] wants to merge 200 commits intoAkariNext:masterfrom
Luuxis:master
Open

[pull] master from luuxis:master#1
pull[bot] wants to merge 200 commits intoAkariNext:masterfrom
Luuxis:master

Conversation

@pull
Copy link

@pull pull bot commented Sep 30, 2023

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added ⤵️ pull merge-conflict Resolve conflicts manually labels Sep 30, 2023
Replaces the previous ESM example with a CommonJS example that demonstrates persistent Microsoft authentication using a local account.json file, token refresh handling, and updated launcher options. The new example provides a more robust and production-ready approach for managing user authentication and launching Minecraft instances.
Bumped package version to 4.2.0 in package.json and package-lock.json. Improved getBase64 utility in Microsoft.ts to handle fetch errors and use arrayBuffer for base64 conversion.
Corrects timestamp calculation for token expiry checks and updates property names for Xbox account mapping. Also ensures the correct expires_in value is used for access token expiration.
Update package.json and package-lock.json to reflect new version 4.2.1.
@Luuxis Luuxis force-pushed the master branch 3 times, most recently from 199d863 to 03b7c03 Compare October 7, 2025 15:44
Luuxis added 2 commits October 7, 2025 17:44
Changed the user instance API URL in both README.md and test/index.js to use a new UUID.
Adds a check to set 'java.type' to 'jre' if 'java.version' is present and 'java.type' is not a string. Ensures proper initialization of Java options before starting.
Luuxis and others added 20 commits October 16, 2025 15:42
The oauth2 property was removed from the returned profile object in the Microsoft authenticator. This cleans up the response structure and eliminates unnecessary data.
Update package.json and package-lock.json to reflect new version 4.2.2.
Adds a trailing dot to the shortVersion string when filtering versions, ensuring correct matching of version prefixes in the new API approach.
Update package.json and package-lock.json to reflect new version 4.2.3.
Refactored Microsoft authentication to allow specifying a custom redirect_uri, improving flexibility for different OAuth flows. Updated Electron and NW.js GUI modules to accept and use the redirect_uri parameter. Removed the default hardcoded redirect_uri from multiple locations and centralized its configuration in the Microsoft class constructor. Also deleted the .vscode/settings.json file.
Introduces a new Minecraft-Logging module to handle downloading and configuring logging files required by certain Minecraft versions. Updates Launch and Minecraft-Arguments to integrate logging configuration into the game launch process and JVM arguments. Minor refactorings for consistency and clarity.
- Add detectVersionType() method to identify version types:
  - Weekly snapshots (25w14a, 25w14craftmine)
  - New snapshot format (26.1-snapshot-1)
  - Pre-releases (1.21.5-pre1)
  - Release candidates (1.21.5-rc1)
  - Standard releases (1.20.4, 1.21.3)

- Update downloadInstaller() to handle all version types
- Fix regex to support special snapshot names like 'craftmine'
Updated package version to 4.2.4 in package.json and package-lock.json. Added $schema property to tsconfig.json for improved editor support.
Rewrote the test/index.js script to modularize authentication, fetch instance data from a remote API, and dynamically build launch options based on the retrieved instance. Improved error handling, code readability, and configuration flexibility.
Introduces tsconfig.esm.json for ESM builds and updates package.json to build both CommonJS and ESM outputs. Also fixes import in Minecraft-Logging.ts, improves test/index.js loader handling, and enhances TypeScript configuration for better compatibility.
Updated package version to 4.2.5 in package.json and package-lock.json. Changed export paths to use 'Index.js' and 'Index.d.ts' for consistency.
Removed Minecraft-Logging.ts and integrated logging file handling into Minecraft-Libraries.ts via a new GetLogging method. Updated Launch.ts to use the new logging integration. Adjusted test/index.js to use a different instance name and API URL.
Implements parsing and processing of the 'default-user-jvm' field from the version JSON, including rule evaluation and duplicate prevention. This ensures Mojang's recommended JVM arguments are included unless overridden by user-supplied or existing arguments.
Introduce an ignore_log4j option across the launcher and argument builder so log4j client logging configs can be skipped when requested (default false). Add comments for intelEnabledMac and set default ignore_log4j in Launch.

Change Java runtime file layout references in Java downloader to use the concrete javaVersionName path (remove jre-<version>-<arch> pattern) and adjust binary path resolution accordingly.

Update test/index.js to reflect API/instance changes and to exercise the new options (ignore_log4j, intelEnabledMac toggle, and explicit java config). Files changed: src/Launch.ts, src/Minecraft/Minecraft-Arguments.ts, src/Minecraft/Minecraft-Java.ts, test/index.js.
Add a centralized src/types.ts and refactor many modules to import and use shared TypeScript type definitions. Convert numerous internal interfaces to referenced types (AZauth, Microsoft, Mojang, Launch, Minecraft-Loader and loaders, patcher, utils), tighten function signatures and return types, improve error handling (use unknown in catches and normalize error shapes), and add explicit type casts where necessary. Also re-export public types from src/Index.ts and export PatcherProfile as Profile for compatibility. These changes increase type safety and make the codebase easier to consume and maintain.
- Fix fromAnyReadable async import in Index.ts (was never awaiting)
- Fix writer.end() not awaited in Downloader.ts (causing truncated files)
- Add partial file cleanup on download errors (prevents EBUSY/EPERM on Windows)
Update package.json and package-lock.json to bump the project version from 4.2.5 to 4.2.6.
Introduce DOWNLOAD_SIMULTANEOUS constant (5) and wire it into launch options as downloadFileMultiple to control simultaneous file downloads. Also adjust the progress log output to include a space before the percent sign for improved readability.
Make Minecraft bundle checking and downloading more efficient and observable. Convert MinecraftBundle into an EventEmitter and implement a two-phase checkBundle: a fast synchronous pass to classify files and a parallel hash verification phase (CHECK_CONCURRENCY=64) that emits 'check' progress. Forward bundle 'check' events from Launch to the outer emitter. Improve Downloader with a worker-pool model, pre-create directories, small-file fast-path (SMALL_FILE_THRESHOLD=1MB), throttled progress emission (PROGRESS_THROTTLE_MS=50ms), streaming for large files, and more accurate speed/ETA reporting. Optimize getFileHash to read small files synchronously (<=512KB) and stream larger files, and add error handling.
Bump package version to 4.2.7 and refactor NeoForge loader logic: replace detectVersionType with neoforgeVersionToMinecraft which maps various NeoForge version formats (4-part 2026+ formats, classic 3-part builds, snapshot specials and suffixes) to the corresponding Minecraft version. Simplify metadata lookup to prefer legacy API and fall back to new metadata using the new mapping, and improve error messaging. Also increase test download concurrency (DOWNLOAD_SIMULTANEOUS) from 5 to 30 in test/index.js.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⤵️ pull merge-conflict Resolve conflicts manually

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants