Added AzuresPackager as a dependency and MSBuild target to package wwwroot assets into root.dat with XOR encryption before build/run. Updated Program.cs to load UI assets from the packed root.dat using a custom scheme handler, replacing direct file access. This improves asset protection and streamlines deployment.
Introduced GenericFilesService to fetch and validate required game files before launching. Updated launcher version to beta and added support for AuthlibInjector agent in launch options. Improved avatar rendering and button states in the UI, including pixelated avatar display and disabled state handling for logout during game launch.
Deleted icon.ico and logo.png from the resources folder and updated the project file to reference the icon in src/resources instead. Also removed the resources folder from the output copy list.
HttpHelper.FetchAsync now supports HttpContent as a body parameter, allowing for more flexible request content. In MojangAPI.UploadSkinAsync, error messages now include the response body for better debugging.
Introduced a new HttpHelper utility to centralize and standardize HTTP requests across the codebase, replacing direct usage of HttpClient. Updated authentication, asset, game, and Mojang API logic to use the new helper, improving maintainability and consistency. Also refactored game launch options for greater flexibility and configurability.
Introduces core game logic for launching Minecraft, including asset, library, and Java runtime management. Adds Forge mod support, OS utilities, and file helpers. Updates frontend to handle game launch, log streaming, and UI feedback. Minor bugfixes and style improvements are also included.
Introduced a new 'game' frame in logged.html with a title and play button. Added corresponding CSS for layout and button styling in logged.css. Updated JS to show the game frame by default.
Implemented Discord OAuth2 authentication flow with a new Discord.cs handler and integrated it into Program.cs. Refactored authentication logic to use shared JsonSerializerOptions from LauncherConstants. Updated BashUtils with cross-platform URL opening, improved MojangAPI to use shared HttpClient, and enhanced frontend login and log handling in logged.js and login.js.
Introduces MojangAPI utility for handling skin uploads, cape management, and username changes via new backend endpoints. Updates Program.cs to support new IPC commands for skin selection, uploading, cape toggling, and username changes. Refactors frontend (logged.js, logged.html, logged.css) to provide UI for skin uploads, cape selection, and username changes, including new styles and blank cape asset. Refactors UserRecord to allow username mutation.
Introduces a cosmetics section in the profile with articles for username, capes, and skin. Adds UI for changing username, including input and button, and updates related CSS for styling. JS now shows the profile frame on initialization.