Changelog
[2026.05.25] - Harden Chat Attachment Opening
Changed
- Reveal downloaded chat attachments with active, archive, or unknown file types in their containing folder instead of opening them directly with OS handlers.
- Keep direct opening for image and text preview types that the launcher already recognizes.
[2026.05.25] - Add Mandatory Launcher Updates
Added
- Block Minecraft starts when the Versions API marks a launcher update as required while keeping the rest of the launcher usable.
- Show required launcher updates in the footer and Settings updater panels with localized German and English copy.
[2026.05.25] - Trim Play Lobby Quests
Changed
- Remove the secondary quest description from the Play lobby quest panel so the card starts with the quest list directly below the title.
[2026.05.21] - Shape Slenderman Catalog Copy
Changed
- Present Slenderman Classic as a hidden-note hunt with an Enderman hunter in the fallback catalog.
[2026.05.21] - Add Slandermann Minigame
Added
- Add Slandermann Classic to the Uebliche.games fallback catalog with localized Launcher copy, horror-role tags, and round-based party metadata.
[2026.05.20] - Format CurseForge Descriptions
Fixed
- Render CurseForge project descriptions with preserved headings, lists, links, inline emphasis, and code blocks in Discover details.
- Keep the direct CurseForge fallback aligned with the Public API normalized description format.
- Refresh existing local CurseForge detail cache entries once so old plain-text descriptions are replaced on the next detail open.
[2026.05.20] - Use Unified Provider Compatibility
Changed
- Read the normalized Public API Discover provider contract for Modrinth and CurseForge compatibility data.
- Keep direct provider fallback compatibility generation aligned with the Public API contract.
[2026.05.20] - Fill CurseForge Support Matrix
Fixed
- Build Discover support-matrix rows from provider version Minecraft and loader metadata when explicit support-target entries are missing.
- Show the Discover support matrix before long project descriptions so CurseForge pages expose compatibility immediately.
[2026.05.20] - Fix Discover Split View Clipping
Fixed
- Keep Discover split-view cards inside the visible page height so long project details are not clipped behind the footer.
[2026.05.20] - Fix CurseForge Details
Fixed
- Load CurseForge project details and file details through the current Public API proxy routes.
- Show cached CurseForge project descriptions as the detail body while keeping the short summary separate.
- Show CurseForge Minecraft version and loader support in the Discover support matrix.
- Refresh stale local CurseForge Discover detail cache entries when they have a body but no Minecraft support metadata yet.
[2026.05.20] - Restore Update Prompt
Changed
- Move Downloads into a compact bottom-right footer icon with active download and update badges.
- Show a launcher update prompt from the footer icon with install-and-restart, update check, and Downloads actions.
- Leave the footer status area empty when no real status message is active.
[2026.05.20] - Simplify Play Navigation
Changed
- Make the top Play button open the Play lobby directly without showing dropdown options.
- Keep Play highlighted while Play subsections such as worlds, servers, and minigames are active.
[2026.05.20] - Use One Social Live Stream
Changed
- Use one multiplexed Social WebSocket for Friends, Party, Chat Inbox, and open Chat Conversations.
- Fall back to the legacy Party and Chat streams when the unified Social stream is unavailable.
[2026.05.20] - Add Live Chat Inbox Badges
Added
- Keep the chat inbox live through a global Social Chat stream so unseen conversations update without manual refresh.
- Show unread chat badges in the Social chat list, Friends sidebar, and top navigation.
Changed
- Clear unread chat badges when a conversation is opened or already streamed in an active chat view.
[2026.05.20] - Refine Play Lobby Skin Hover
Fixed
- Replace rectangular Play lobby player hover boxes with skin-shaped glow outlines for local and party stage skins.
- Make Play lobby player hover glows stronger and easier to see.
- Keep the Play lobby stage clipped below the launcher header while scrolling.
- Receive incoming party invites through the live Party stream immediately instead of waiting for the fallback polling tick.
[2026.05.18] - Add Discord Party Invites
Added
- Add Discord join secrets to launcher party presence so active, joinable parties can publish invite metadata without exposing server addresses.
- Add an optional Discord Social SDK bridge that can update Rich Presence, receive Discord invite/join callbacks, send activity invites, and accept Discord activity invites when the official SDK runtime is provided by the release build.
- Package Discord Social SDK runtime libraries from
UEBLICHE_DISCORD_SOCIAL_SDK_DIRorUEBLICHE_DISCORD_SOCIAL_SDK_ARCHIVEinto release bundles without committing the SDK archive to the repository. - Add Discord friends and incoming Discord invite actions to the party area of the Social sidebar.
Changed
- Prefer release Discord Social SDK runtimes when an SDK archive contains both release and debug libraries, so launcher builds do not accidentally package debug SDK binaries.
- Add macOS and Linux runtime search paths to the final launcher binary when the Discord Social SDK is linked, so packaged bundles can load the SDK runtime from their shipped sidecar directory.
- Keep Discord Rich Presence working through the existing IPC fallback when the Discord Social SDK runtime is not available.
[2026.05.18] - Add Play Lobby World Overrides
Added
- Let Play lobby minigames and servers carry optional world override metadata through selection sync and launch preparation.
[2026.05.18] - Filter Play Lobby Destinations
Added
- Add search and a favorites-only toggle to the Play lobby destination area.
[2026.05.18] - Clean Up Party Sidebar
Changed
- Compact the party area at the top of the Social sidebar with smaller member rows and a concise Play lobby target row.
- Route the party action in the Social sidebar to the Play lobby instead of directly starting a legacy party profile.
[2026.05.18] - Synchronize Party Play Lobby
Added
- Sync Play lobby selections through the party API so party members see the same selected minigame, server, or world.
- Add party ready controls for round-based minigames, including automatic launch when all current party members are ready.
- Let party leaders choose which members may change the shared Play lobby selection.
- Add temporary Play lobby profiles for matching selected server or game requirements, with a visible temporary badge and a keep action.
Changed
- Make Play lobby destination cards select targets instead of starting them immediately.
[2026.05.18] - Keep Play Lobby Stage Clear
Fixed
- Keep Play lobby party slots in the lower stage area so they no longer cover the upper 3D lobby space.
- Clip the Play lobby 3D stage to its hero area so skins and stage visuals cannot spill into the destination lists below.
- Remove the Play lobby shortcut cards from the 3D hero so the stage remains unobstructed.
- Move the local player nametag above the 3D skin instead of anchoring it to the stage floor.
[2026.05.18] - Report FairPlay Mod Names
Fixed
- Send local mod file names with FairPlay hash resolution so the Dash review queue can show a mod label instead of only a hash for newly seen unknown mods.
[2026.05.17] - Keep Discover Images Responsive
Fixed
- Load cached remote preview images away from the UI thread so opening Discover no longer stalls on large cached media.
- Reuse short preview-source cache keys for remote images so repainting Discover no longer hashes full image payloads.
- Decode remote preview textures before handing them to the UI so Discover no longer blocks while turning cached images into pixels.
- Let the Discover split view fill the available page height instead of shrinking to its current content.
- Keep inline Discover details from turning into a separate window when switching to another launcher page.
- Add Uebliche Playerlist to the first-party extension catalog so profile mod search can find published Playerlist builds.
- Send loader filters to the Public API as array parameters so profile mod searches can retrieve Modrinth and CurseForge results again.
- Refresh Uebliche Extension searches from the local provider and fall through on empty cached catalog searches so new catalog entries are not hidden by stale Discover cache data.
- Clear stale profile mod search results from startup restore so old empty searches do not mask newly available catalog entries.
- Show Playerlist under its actual mod name and add it to profile recommendations so searching
playerlistfinds it without the Uebliche prefix. - Add conservative fuzzy matching for first-party extension and profile mod searches so small typos like
playrliststill find Playerlist. - Download non-managed first-party mods like Playerlist during profile installation instead of only writing a manifest marker.
- Finish profile mod downloads before reporting catalog installs as done so install clicks are immediate instead of waiting for a later auto-build.
- Keep profile mod result cards from overlaying their action buttons so clicking Installieren reaches the install handler.
- Resolve downloadable first-party catalog mods through their provider instead of treating Playerlist as a missing local
file://jar. - Restore the previous profile mod entry when an immediate catalog download fails so failed installs do not leave Playerlist hidden as installed.
- Serialize remote image cache index updates so concurrent preview loads no longer overwrite cache metadata.
[2026.05.09] - Compact Launcher Scale
Changed
- Render the launcher UI at 70% scale so text, images, buttons, and lists take less space across the app.
- Keep the dashboard on a zoom-stable content width so cards, screenshots, and news remain proportioned at every supported zoom level.
Added
- Add a dedicated Downloads page with active and recent transfer history, progress, speed, profile context, and error details.
Fixed
- Restore launcher zoom shortcuts so Ctrl/Cmd plus and minus can resize the UI again without losing the 70% default scale.
- Prevent launcher zoom shortcuts from shrinking the UI below the readable 70% minimum scale.
- Label the footer download pill as Downloads only so it no longer appears as a second Logs button beside the Logs icon.
- Open the new Downloads page from the footer download pill instead of routing downloads into Logs.
[2026.05.09] - Cache Discover Version Metadata
Added
- Persist Discover version side support and dependencies in the local SQLite content cache so launcher views and future resolver logic can use client/server requirements without reparsing provider payloads.
[2026.05.08] - Keep List Details Visible
Added
- Mirror Modrinth and CurseForge Discover providers through the Public API so launcher-local Discover sync can receive projects, versions, support data, and cached details without waiting on live provider requests.
Fixed
- Keep World and Discover detail panes visible next to their lists when an item is selected instead of falling back to list-only browsing.
- Open Discover catalog and seed details from the last selected item, or from the first visible list item when nothing was selected yet.
- Remove stale Discover catalog entries from the local cache and list when their provider reports the project as deleted, then continue with the next visible item.
- Load missing Modrinth project descriptions from the live provider when the local Discover cache has only support and version metadata.
- Run Discover searches directly while typing so the compact sidebar search no longer stays stuck as a draft.
- Add a Discover target-profile dropdown with an all-versions-and-loaders option for unfiltered mod searches.
- Force Discover Plugins to use Server as the install target because plugins are server-only.
- Use the shared 8px spacing rhythm between Discover detail tabs.
- Move Discover project link buttons into the detail header instead of a separate links section.
- Align Discover project link buttons with the right-side slug metadata block in the detail header.
- Make the Discover detail header metadata and project-link cluster more compact and right-aligned.
- Add proper spacing between icons and labels in Discover project-link buttons.
- Replace the Discover slug label with a compact provider icon followed by the project slug.
- Move the Discover web action into a compact header icon and remove redundant category and search badges from the sidebar.
- Debounce Discover search input so typing keeps focus and no longer refreshes the whole page on every keypress.
- Keep Discover search focus stable by using a fixed input identity and restoring focus after automatic refreshes.
- Keep compact Discover result rows stable by shortening sidebar summaries and using fixed-height list notices for empty or unavailable states.
- Cache Discover project details in the local SQLite content database and refresh them asynchronously, so reopening details no longer waits on provider APIs.
- Keep Discover catalog pages in the left-list and right-detail layout even when searches are empty or have no matching entry.
- Keep Discover detail tabs visible immediately so mod navigation no longer appears only after project details finish loading.
- Cache Discover catalog results per target context so quick Profile/Server switching restores the last list immediately without re-querying external providers.
- Hide cached-provider fallback warnings inside Discover lists when usable cached results are already displayed.
- Select the most recent World automatically so the Singleplayer page opens with list and detail content in view.
- Keep the World cloud storage summary fixed above the scrolling world list in split view.
- Add a clear gap between the World data and Sync panels in the World overview.
- Keep World overview panels stretched to their grid columns so the spacing between them stays even.
- Use the shared spacing rhythm between World detail section tabs.
- Move World header actions to the right side without the extra action-box frame.
- Remove redundant action buttons from World list cards because clicking a World opens its detail view.
- Keep World header actions pinned to the far right edge of the header.
- Remove the duplicate World detail title and subtitle above the hero card.
- Clean up World list cards with an icon-left layout, visible world playtime, fewer unknown badges, and less default backup noise.
- Standardize compact entity list cards so shared lists keep icons on the left and content on the right automatically.
- Move the World backup target from the header action button into a dedicated Backup detail section.
- Replace verbose World backend and backup text badges with a compact backup icon in list cards.
- Replace the World launcher-link text badge with a compact link icon in list cards.
- Remove the World launcher-link badge from list cards because link details belong in the detail view.
- Open World details on the Overview section by default and label the preview tab as 3D preview.
- Show broken World version detail loads inline instead of raising a global launcher error toast.
- Keep the profile browser search header compact and hide the match count until a filter is active.
- Replace the profile settings list with a real recursive file explorer and show reader metadata such as file size and line count.
- Use a download-style icon for profile import actions instead of the upload icon.
- Clean up the profile import dialog with full-width fields, balanced source tabs, and German umlauts.
- Switch the Multiplayer page to the shared left-list and right-detail workspace layout.
- Keep Multiplayer server list cards and header actions inside the left column without clipping at desktop split widths.
- Remove the duplicate title block from the Creator Server Manager and separate section titles from their descriptions.
[2026.05.08] - Keep Profile Details Visible
Fixed
- Keep the selected profile detail visible beside the profile list instead of falling back to a list-only profile browser.
[2026.05.08] - Align Discover Header
Fixed
- Right-align the Discover detail metadata label and slug value inside the header metadata box.
- Move the Discover detail install button into the top-right header area without the separate action box.
[2026.05.08] - Optimize Discover Sidebar
Fixed
- Virtualize large Discover sidebar catalog lists so loading many entries no longer stalls the launcher UI while scrolling.
[2026.05.08] - Stabilize Discover Loading Rows
Fixed
- Keep Discover loading and infinite-scroll footer text inside the list width so reaching the bottom no longer shifts the layout.
[2026.05.08] - Simplify Discover Details
Changed
- Remove the extra close button from mod detail headers while keeping the normal window close behavior.
[2026.05.08] - Cache Discover Content Locally
Added
- Add a local SQLite Discover content cache that stores synced projects, categories, versions, files, support targets, ranking data, and FTS search metadata.
- Add a Public API sync endpoint for launcher Discover content so the launcher can refresh catalog data in the background.
Changed
- Load Discover catalog pages and details from the local cache first, then fall back to the existing provider path while unsynced sources are still missing locally.
[2026.05.08] - Show Extension Versions
Changed
- Move project metadata into the top-right Discover detail header instead of showing it as a separate overview card.
- Remove redundant Install and Details buttons from Discover list cards because clicking a card already opens its detail view.
- Keep Discover list cards in a horizontal icon-and-title layout at sidebar widths.
- Place Discover list labels directly under the project title and let descriptions use the full card width.
- Let the compact Discover sidebar list keep loading more catalog results while scrolling instead of stopping after the first small batch.
Added
- Show a Minecraft support matrix on Discover detail pages for Uebliche Extensions with per-target release status.
- Include local profile Minecraft versions in the support matrix so unsupported profile targets are visible instead of disappearing.
- Show matching local profiles in extension version details and in the support matrix.
- Move project category badges into the Discover detail header so the overview no longer starts with a separate categories block.
Fixed
- Keep the Discover sidebar search compact so its hint text, action buttons, and install target controls no longer overflow the left list column.
- Use the compact catalog list inside Discover split view so source filters, local filtering, sorting, and long section descriptions stay out of the left navigation column.
- Load Uebliche Extension release data from the public Versions API so Discover detail pages list available versions instead of showing an empty Versions tab.
[2026.05.08] - Improve Minigame Modes
Added
- Let players favorite Minigame modes, rate them with Like or Dislike, and store a free-text comment per mode.
Fixed
- Keep Minigame mode cards inside the available launcher width and show favorite modes first.
[2026.05.08] - Standardize Split Page Layouts
Changed
- Use the Server Manager split layout for list-and-detail pages so News, Discover, Profiles, Creator lists, and the Skin Library share the same left-list and right-content behavior.
- Reduce shared page-header spacing while keeping split panels filled to the visible page height.
[2026.05.08] - Generate Screenshot Thumbnails
Added
- Generate smaller local thumbnail files for screenshots and use them in launcher screenshot grids and dashboard strips.
[2026.05.08] - Move Builder Actions
Changed
- Move Creator skin builder actions into the left project column above the project list.
[2026.05.08] - Notify Party Invites
Added
- Show incoming party invites from the live stream as actionable desktop notifications and matching in-launcher notification cards.
[2026.05.08] - Standardize Creator List Layouts
Changed
- Keep Creator library and project lists consistently on the left with a fixed list column and the active editor or preview workspace on the right.
Fixed
- Let the skin submission library and 3D preview fill the available Creator workspace height.
[2026.05.07] - Rework Builder Cape Selection
Changed
- Replace the Creator skin builder's oversized cape dropdown with an embedded cape browser that stays inside the preview panel.
[2026.05.07] - Fix Skin Part Editor Width
Fixed
- Keep the Skin Part editor slot selector inside the editor column instead of clipping its label on the right edge.
[2026.05.07] - Expand Skin Builder Workspace
Changed
- Let the Creator skin builder parts list and 3D preview grow into the available workspace instead of stopping at fixed preview heights.
[2026.05.07] - List Creator Skin Projects
Added
- Show saved skin builder projects beside Creator skin creation so projects can be opened directly from the editor.
[2026.05.07] - Make Skin Part Paint 3D
Changed
- Replace the Skin Part editor's flat model paint surface with a real rotatable 3D body that paints through projected UV hit-testing.
[2026.05.07] - Gate Submission Rules
Changed
- Require accepting the submission rules before opening skin submission and community part submission pages.
[2026.05.07] - Parallelize Profile Downloads
Changed
- Prepare profile downloads faster by fetching Minecraft libraries, assets, and mods with bounded parallelism instead of one file at a time.
[2026.05.07] - Select Latest Profile By Default
Changed
- Select the last active profile by default in the local profile list, falling back to the last listed profile when none has play history.
[2026.05.07] - Explain Profile Changes
Added
- Show profile change details when hovering the modified status badge, including version and loader changes when available.
[2026.05.07] - Fix Profile Switch Warning Flicker
Fixed
- Keep profile launch controls scoped per surface so switching selected profiles no longer flashes egui duplicate-widget warnings.
[2026.05.07] - Fix Selected Profile Account Dropdown
Fixed
- Let the selected profile's launch account dropdown open reliably when the same profile is visible in both the profile list and detail pane.
[2026.05.07] - Fix Account Dropdown Widget IDs
Fixed
- Keep account dropdown rows in profile launch menus from reusing egui widget IDs and showing red debug error overlays.
[2026.05.07] - Prepare Profiles After Changes
Changed
- Prepare updated profiles automatically in the background by downloading Minecraft metadata, client files, libraries, assets, logging configuration, and launch-managed mods before the next start.
[2026.05.07] - Fix Profile Launch Account Menu
Fixed
- Keep the profile-list account dropdown open after clicking the launch split-button arrow instead of immediately treating the opening click as an outside-menu click.
[2026.05.07] - Add Cobblemon Experience
Added
- Add Cobblemon Adventure to the uebliche.games catalog fallback with its own server address, Minecraft version, Fabric loader, and Cobblemon profile target.
- Install Fabric API and Cobblemon from Modrinth while preparing the dedicated Cobblemon profile.
- Label Cobblemon as an
Experiencein the Minigames catalog so persistent playable worlds can sit beside round-based queues.
[2026.05.07] - Add Web Discover
Added
- Add a browser-ready Discover surface with launcher deep links and an external web fallback from the native Discover page.
[2026.05.07] - Compact Profile Browser Header
Changed
- Make the profile browser header shorter by folding metrics and create/import actions into a compact toolbar.
[2026.05.07] - Fix Community Chat Layout
Fixed
- Keep the Community friends list and chat panel inside the visible launcher width so messages and the composer no longer clip on wide windows.
[2026.05.07] - Compact Launcher Shop Variants
Changed
- Arrange shop product variants side by side inside each catalog entry, separate them with dedicated card borders, and keep checkout actions compact.
[2026.05.07] - Explain Sidebar Account Metrics
Added
- Add hover explanations for the sidebar account selector, quest points, XP level bar, and flame streak.
[2026.05.07] - Simplify Quest Overview
Changed
- Make the Quest overview easier to scan by replacing the large wallet hero with a compact status row.
- Move Uebliche.Games Daily Quests directly below the status row and separate active quests from optional extra choices.
[2026.05.07] - Fix Daily Quest Title Spacing
Fixed
- Add spacing between Uebliche.Games daily quest titles and their automatic, selected, or optional state pill.
[2026.05.06] - Compact Daily Quest Cards
Fixed
- Keep XP and quest point rewards from overlapping on compact Uebliche.Games daily quest cards.
Changed
- Make Uebliche.Games daily quest cards slimmer with smaller meta pills and compact inline actions so seven daily quests fit with less scrolling.
[2026.05.06] - Expand Daily Quest Choices
Changed
- Assign five Uebliche.Games daily quests automatically each day while keeping two extra daily quest choices optional.
- Show automatic, optional, selected, and reroll state directly on Uebliche.Games daily quest cards.
Added
- Add one daily reroll action for active Uebliche.Games quests.
[2026.05.06] - Store Build Moe Seen Assets In SQLite
Changed
- Store locally seen Build Moe heads and banners in a SQLite state database with one-time JSON backup import, keeping manual and auto-submit behavior unchanged.
[2026.05.06] - Keep Launcher Friends Online
Fixed
- Keep friends visible as online while their Launcher is open, even when they are not currently in a Minecraft session.
- Show launcher-only friends as in the Launcher and switch them to away after Launcher inactivity.
- Add an Ullm answer report action that sends wrong-answer chat context through the Launcher feedback Public API.
- Format Ullm recipe ingredients and results as compact rows so long item names no longer run together.
- Show Ullm report send, success, and failure feedback directly in the chat panel.
- Enlarge Ullm 3D block previews so block outputs fill Minecraft recipe slots more clearly.
- Change each Ullm report button to a disabled reported state after that answer has been submitted.
- Resolve generic plank labels in Ullm recipes so 2x2 crafting ingredients render their item textures.
[2026.05.05] - Normalize Launcher Size Units
Changed
- Show Launcher storage and RAM values with the largest readable unit, so large values appear as GB or TB instead of raw MiB-style labels.
Fixed
- Skip self-copying already staged Windows launcher sidecar binaries during release packaging, so repeated deploys no longer fail when
llama-server.exeis already in the release bin directory. - Limit launcher release cleanup to the selected target bundles, so a Linux-only packaging pass no longer removes already built Windows or macOS artifacts before the final deploy upload.
- Allow launcher build and deploy actions to opt out of the remote non-mac builder, so Linux release bundles can be produced locally when the Windows studio builder has no Linux environment.
[2026.05.03] - Refine Friends Party Area
Changed
- Make the friends sidebar party area flatter and more compact with a quieter header, member/invite count, and cleaner empty state.
[2026.05.03] - Allow Connect Social Delegation
Changed
- Allow the Launcher bridge to proxy Connect server identity and delegated-token requests needed for Hub friends access.
[2026.05.03] - Polish Friends Party Controls
Changed
- Make the friends sidebar party panel cleaner with full-width launch controls, centered invite inputs, and a responsive invite row.
[2026.05.03] - Keep Quest List Stable
Fixed
- Keep the visible quests panel populated with its empty state while background refreshes are running, avoiding blank middle-page flicker.
[2026.05.03] - Move Party Above Online Friends
Changed
- Show the party as a compact friends-style section above the online friends heading in the friends sidebar.
[2026.05.03] - Keep Quest Refresh Stable
Fixed
- Keep the current Launcher Shop purchases visible while the Quests page refreshes in the background, avoiding empty-state flicker during reloads.
[2026.05.03] - Add Launcher Party Controls
Added
- Add launcher controls to invite players to a party, accept incoming party invites, leave the current party, and launch the shared Uebliche.games party profile with one click.
[2026.05.03] - Add Cloud Storage Upsell
Added
- Add a Cloud Storage card action that opens the Launcher Shop on the
world-cloud-storageproduct when storage is missing or above 80% usage.
Changed
- Refresh world cloud storage immediately after shop entitlement events so bought storage appears without restarting the Launcher.
- Show variant-level shop grants so storage tiers display their GB quota directly in the Launcher Shop.
[2026.05.03] - Show Current Party
Added
- Add a current-party group at the top of the friends sidebar when the selected account is in a party.
[2026.05.02] - Speed Up Chat Refresh
Changed
- Keep live chat refreshes on recent messages only and mark Uebliche API calls above 100 ms as slow in Launcher logs so expensive paths are visible immediately.
- Skip redundant message-list GET refreshes while a chat live stream is already active.
[2026.05.02] - Show Log Accounts as Chips
Changed
- Move account metadata in Logs out of the raw message text and show it as a right-aligned account chip with the player's head when available.
[2026.05.02] - Fit Settings Sync Panels
Fixed
- Keep shared sync backend and Minecraft options sync controls inside the settings content width with responsive wrapping.
[2026.05.02] - Relax Public Server Refresh
Fixed
- Reduce automatic public server directory refreshes and back off longer after rate limits while keeping cached servers visible.
[2026.05.02] - Hide Account IDs in Logs
Fixed
- Show account names instead of raw Microsoft account ids in formatted Launcher log details.
[2026.05.02] - Align Account Header
Changed
- Align the selected account name, status, points, and player head as a right-side identity block in the sidebar.
[2026.05.02] - Polish Logs Layout
Fixed
- Keep the Logs toolbar controls within the available page width beside the friends sidebar.
- Add steadier spacing between stream selection, search, and signal filtering.
[2026.05.02] - Track Recent Players
Fixed
- Track recently met players in the Launcher even when Minecraft cannot provide a server address or world id for the encounter.
- Store recently met players for the default account when Minecraft is launched without an explicit account override.
[2026.05.01] - Improve Mod Browser Filtering
Added
- Add source checkboxes for Uebliche, Modrinth, and CurseForge in the Discover catalog and profile Mod Browser.
- Load more catalog entries automatically when the user scrolls to the end of mod result lists.
[2026.04.30] - Keep Shared Profile Bases Updating
Added
- Track profiles imported from share codes as shared bases, so the Launcher can refresh the author's base profile later.
Changed
- Refresh shared profile bases before building or launching while preserving locally added mods on top of the imported base.
- Prepare Uebliche.games minigame launches from the shared profile code
438Z2Vinstead of creating a plain local Fabric profile.
[2026.04.30] - Launch Minigames Through Connect
Changed
- Pass Uebliche.games minigame selections to the bundled Connect mod as a typed join target instead of showing or relying on queue command strings.
[2026.04.30] - Improve Activity Detection
Fixed
- Detect multiplayer joins from the running Minecraft log as a fallback when the Connect bridge does not report the server session, so Launcher activities and friend presence can update more reliably.
[2026.04.30] - Add Quick Play Worlds
Changed
- Tighten the profile detail card spacing, keep launch controls compact inside the hero, keep the hero inside the main content width beside the friends list, and focus its bounded Quick Play search filter on open.
- Keep the profile Mod Browser at a readable maximum width even when the friends list is collapsed.
- Show Uebliche Maps as a first-party Mod Browser recommendation and prefer Uebliche sources over external providers when matches overlap.
Fixed
- Keep profile detail pages from inheriting the profile browser scroll position, so the profile hero no longer opens clipped halfway down.
- Render the reusable search clear action with the correct icon font and aligned right-side spacing instead of a missing-glyph placeholder.
[2026.04.30] - Move Profile Actions
Changed
- Place the profile detail Actions menu in the top-right corner of the profile card.
[2026.04.30] - Add Direct Mod Search Fallback
Added
- Fall back to direct Modrinth and CurseForge provider searches when the public Uebliche mod search API is unavailable.
[2026.04.30] - Auto Search Profile Mods
Changed
- Remove the manual profile mod catalog search button and quick-search chips; load catalog matches automatically shortly after typing stops.
[2026.04.30] - Simplify Profile Details
Changed
- Reduce the normal profile detail view to one calmer hero with inline facts, compact launch controls, and direct access to the Mods and Settings tabs.
[2026.04.30] - Fix Windows Launch Preparation
Fixed
- Prepare native libraries in a separate per-launch folder so locked Windows DLLs from previous launches no longer block launch preparation with access denied errors.
- Continue launch preparation when
latest.logis temporarily locked by another process.
[2026.04.30] - Improve Profile Details
Changed
- Present profile details with a wider hero, compact launch controls, responsive library metrics, and two-column detail cards in the normal launcher view.
[2026.04.29] - Store Playtime in SQLite
Changed
- Store local playtime sessions, open launches, sync outbox entries, daily buckets, and cached totals in
state/playtime.sqliteinstead ofstate/global_playtime.json. - Start the SQLite playtime store without importing older JSON or profile stats data, so new playtime totals are session-based from this version forward.
[2026.04.29] - Improve Profile Mod Browser
Changed
- Make the profile Mod Browser calmer and more direct with a clearer header, quick searches, explicit catalog search, compact mod rows, and reduced status noise.
[2026.04.29] - Preserve Running Playtime
Fixed
- Update saved playtime heartbeats whenever a launched Minecraft process is still alive, so sessions no longer fall back to their old starting total after the Launcher restarts.
[2026.04.29] - Add Stop Instance Dropdown
Added
- Add a dropdown to the compact hub Stop action when the selected profile has multiple running instances, letting users stop a specific launch without changing accounts.
[2026.04.29] - Fix Log Window Colors
Fixed
- Render compact Logs window row overlays with normal alpha blending so log rows no longer appear as bright washed-out panels.
[2026.04.29] - Hide Running Instance PID
Changed
- Hide process IDs from compact hub running-instance cards while keeping them for internal launch tracking.
[2026.04.29] - Show Multiple Running Instances
Fixed
- Show every active launch in the compact hub instead of only the most recently started instance.
[2026.04.29] - Keep Launch Account Scoped
Fixed
- Keep account overrides from profile launch dropdowns scoped to the launched instance instead of switching the Launcher's active account.
[2026.04.29] - Compact Friends Window
Fixed
- Remove the extra framed box from the compact Friends window and tighten its header, rows, and section spacing.
[2026.04.29] - Show Running Account
Added
- Show the account used for the active launch in the compact hub running-instance card.
[2026.04.29] - Add Compact Profile Actions
Added
- Add a right-click context menu to compact profile tiles with launch, edit, logs, mods, and account launch actions.
- Add a compact launch-account dropdown next to the sidebar Start button when multiple accounts are available.
[2026.04.29] - Dock Friends Recent Section
Fixed
- Keep the collapsed Recently met section anchored at the bottom of the Friends window so the online friends list can use the available space above it.
[2026.04.29] - Add World Context Menu
Added
- Add a right-click context menu to world cards and compact hub world tiles with launch, details, backup, version, sync, share, and publish actions based on the world's current state.
[2026.04.29] - Use Native Chat Window Buttons
Changed
- Use native macOS window buttons for popped-out chat windows while keeping the Launcher-styled chat titlebar and drag area.
- Pull macOS popout chrome closer to the window edge so native buttons sit visually inside Launcher titlebars.
- Disable docking popped-out chat windows back into the main window while Compact Multi-Window Mode is active.
- Remove the extra framed header from popped-out chat windows so messages start closer to the titlebar without duplicated chat chrome.
[2026.04.29] - Surface Recent Friends
Fixed
- Keep the Recently met friends section visible in the Friends panel with an empty state when no local encounters have been recorded yet.
- Place Recently met below the friend list so encounters read as a follow-up to current friends instead of a block above them.
- Add collapsible separator bars for Offline friends and Recently met players so long friend panels stay compact.
- Show a profile card hover preview on friend rows with avatar, background, status, XP, level, and streak/favorite context.
[2026.04.29] - Add CLI Quick Play Launch
Added
- Let
launcher-cli profiles launchaccept a multiplayer server address so local tooling can start a profile directly into a server via Quick Play.
Fixed
- Keep
launcher-cli servers addcompatible with the current server-status model by initializing the status timestamp field.
[2026.04.29] - Fix Ultra Compact Hub
Fixed
- Keep the compact hub usable at ultra-narrow window sizes by replacing the stacked profile sidebar with a slim fixed action strip and preventing footer text overlap.
- Keep the right-side compact profile sidebar vertical on wide layouts while only using the slim action strip in ultra-narrow stacked layouts.
- Collapse compact hub header actions into a dots menu when the toolbar gets too narrow instead of clipping or wrapping buttons.
- Integrate native macOS window buttons into the compact main window and compact workspace titlebars while keeping the OS-provided controls.
- Center compact workspace window titles in their titlebars.
[2026.04.29] - Simplify Chat Server Embeds
Changed
- Remove the small top-left server icon from chat server embeds while keeping the server artwork as a subtle background.
[2026.04.29] - Pop Out Compact Friend Chats
Changed
- Open chats from the compact Friends workspace directly as separate chat windows.
[2026.04.29] - Fix Compact Workspace Dragging
Fixed
- Let compact workspace windows, including Friends, be moved by dragging their custom title bar.
[2026.04.29] - Show Compact Running Instances
Added
- Show the active launch instance in the compact hub with profile, elapsed time, PID, and quick actions for Logs, cancel, and profile details.
[2026.04.29] - Simplify Compact Profile Sidebar
Removed
- Remove the Folder shortcut from the compact hub profile sidebar.
[2026.04.29] - Fix Launcher Playtime Tracking
Fixed
- Count profile playtime from the real launch exit time before stale process cleanup can close the session with an old heartbeat.
- Keep launch bridge heartbeat updates ahead of dead-process reconciliation so late presence cleanup no longer records near-zero sessions.
[2026.04.29] - Add Compact Multi-Window Mode
Added
- Add an optional Compact Multi-Window Mode that turns the main Launcher window into a compact launch hub and opens larger areas as native workspace windows.
- Restore compact workspace window positions, sizes, and open state separately from the normal Launcher window.
Changed
- Route Launcher navigation to focused workspace windows while Compact Multi-Window Mode is active, leaving the normal sidebar layout unchanged by default.
- Redesign the compact launch hub with a Prism-style toolbar, profile grid, selected-profile actions, and bottom news/status strips.
- Show the Launcher profile icons in the compact launch hub instead of generic placeholder blocks.
- Keep compact hub profile tiles left-aligned with fixed wrapping so small profile sets no longer drift off the right edge.
- Split the compact hub into configurable Profile, Games, and Worlds sections with right-click visibility controls and drag-to-reorder section headers.
- Replace the compact hub's Profile create shortcut with a Create dropdown for profiles, servers, skins, skin parts, banners, and texture packs.
- Keep compact hub section grids and the top toolbar constrained to the visible window width across intermediate resize states.
- Reserve more footer height in the compact hub so the news and playtime bars no longer clip at the bottom edge.
- Render compact hub tiles with a manual left-aligned flow layout so profile, game, and world sections no longer collapse into a right-edge column.
- Use explicit clipped rectangles for the compact hub content and sidebar so rows cannot paint past the visible right edge.
- Keep the compact hub toolbar, footer, and selected-profile sidebar outside the scroll area so only the center content list scrolls.
- Anchor compact hub footer bars to the bottom edge so the news and playtime rows stay aligned while content scrolls.
- Show compact hub empty states as inline text and remove the Minigames shortcut from the Games loading state.
- Make compact hub item single-clicks selection-only and keep starts or queue joins on double-click.
- Mark compact hub worlds that have Uebliche Cloud backups with a small cloud-check icon on the world tile.
- Show the latest loaded News title in the compact hub notification footer and open that entry when the footer is clicked.
- Remove the Play shortcut from the compact hub header so the top toolbar stays focused on creation, settings, discovery, social, and account actions.
- Render compact workspace close buttons with the Phosphor icon font so the top-right close icon appears as an X instead of a missing glyph box.
- Move the compact hub account control into a right-aligned header switcher with avatar preview and account dropdown.
- Keep single-click profile focus inside the compact hub local to the hub so it no longer changes the global selected profile.
- Tighten the compact hub header spacing so toolbar actions sit higher with less empty space above them.
- Open compact profile Mods as a focused mods-only workspace with the installed mod list and add-more browser instead of the full profile detail page.
- Keep Create and profile/account dropdown menus compact so they no longer open wider than their surrounding toolbar controls.
- Render the compact Friends workspace with the same compact friends-sidebar design as the normal launcher view.
- Flatten the compact hub header with shorter toolbar controls and a calmer account chip so the top bar matches the rest of the hub.
- Simplify the Launcher Troubleshooting window by hiding raw diagnostics JSON and setup maintenance actions from the ready state.
[2026.04.29] - Add Uebliche.games Minigames
Changed
- Load the Minigames page from the Uebliche.games public server report instead of keeping queue cards hard-coded in the Launcher.
- Use the reported Uebliche.games profile metadata for automatic profile creation and refresh when a queue is joined.
- Share profiles without the old manual policy override option so policy handling stays launcher-managed.
- Hide the managed Java runtime note in profile editing because Java selection is fully automatic.
- Keep profile Mod Browser catalog results visible when remote providers return partial-warning states.
Added
- Add a Minigames subpage under Play with direct Uebliche.games queue launch cards from the live catalog.
- Add an auto-managed Uebliche.games launcher profile that is created or refreshed before joining a queue.
- Add a cancel action to the game launch splash so launch preparation can be stopped directly.
[2026.04.29] - Improve Banner Color Slots
Changed
- Show banner categories as a dropdown with a plus action for adding a new submission category.
- Show banner tags as removable chips with a dedicated add field instead of a raw comma-only text field.
Added
- Add a color-slot grid with a plus tile in the banner generator so slots can be created from the slot picker and directly from a layer color menu.
- Add right-click editing for banner color slots so their default dye color can be changed without exposing manual slot naming.
[2026.04.28] - Add Recently Seen Build Assets
Added
- Show recently seen Connect banners and heads in Discover, with one-click submit and toggles for collecting and auto-submitting seen assets.
- Store seen build.moe assets locally per Launcher account so repeated sightings stay deduped before submission.
[2026.04.27] - Avoid Windows Symlinks
Fixed
- Use Windows junctions for launcher-managed directories and hardlink or copy fallbacks for managed files so Windows installs no longer need symbolic-link privileges.
[2026.04.27] - Constrain Start Page Screenshot Content
Fixed
- Keep the Start page screenshot preview, details, and capture selector at responsive content widths so they no longer dominate the dashboard column.
[2026.04.27] - Fit Start Page Quick Start Rows
Fixed
- Keep Start page Quick Start world and server rows inside the available content width so metadata, status badges, and action buttons resize instead of clipping.
[2026.04.27] - Cache Account Level Progress
Fixed
- Cache launcher account level and XP progress per account so the sidebar can show the last known value immediately after restart or account switches.
[2026.04.27] - Resize Friends Sidebar Without Covering Content
Fixed
- Keep the Start page friends sidebar in a reserved adaptive column so dashboard content resizes instead of being covered.
[2026.04.27] - Keep Friends Sidebar Toggleable
Fixed
- Keep the Start page friends sidebar openable on narrow layouts by using a compact right-side column instead of suppressing its width.
[2026.04.27] - Anchor Dashboard Sidebar
Fixed
- Anchor the Start page friends sidebar to the visible page edge and only switch screenshots into side-by-side details on truly wide dashboards, keeping screenshots and friends inside the window.
[2026.04.27] - Clamp Dashboard Viewport Width
Fixed
- Measure the Start page split layout from the actual clipped viewport so the content and friends sidebar stay inside the visible launcher window.
[2026.04.27] - Stabilize Dashboard Columns
Fixed
- Position the Start page content and friends sidebar in fixed rects so wide dashboard cards can no longer push or clip the friends column.
[2026.04.27] - Fix Dashboard Sidebar Layout
Fixed
- Keep the friends sidebar at its full reserved width and switch the Start page screenshot preview to a compact two-column layout sooner, preventing clipped sidebar text and oversized screenshot blocks.
[2026.04.27] - Prevent Dashboard Horizontal Drift
Fixed
- Keep normal launcher pages vertically scrolling only so oversized dashboard content can no longer shift sideways and hide text behind the sidebar.
[2026.04.27] - Compact Screenshot Capture Strip
Fixed
- Turn the Start page "More screenshots" selector into a compact thumbnail strip so it no longer wastes vertical space.
[2026.04.27] - Tighten Dashboard Screenshot Gallery Cards
Fixed
- Reduce the Start page "More screenshots" card and thumbnail sizes while keeping the gallery responsive across available widths.
[2026.04.27] - Show Server Icons On Screenshots
Added
- Show the matching server icon as a small bottom-left overlay in screenshot previews when the screenshot is tied to a known server.
[2026.04.27] - Make Dashboard Screenshot Gallery Responsive
Changed
- Let the Start page screenshot gallery expand to more columns on wide dashboards and collapse naturally on narrower widths, reducing unused space inside the screenshots card.
[2026.04.27] - Widen Dashboard Screenshot Gallery
Changed
- Give the Start page screenshot gallery a little more room with four compact columns while keeping the outer screenshots card full-width.
[2026.04.27] - Restore Full Width Screenshot Card
Fixed
- Let the Start page screenshots card use the full dashboard width while keeping the inner screenshot selector compact.
[2026.04.27] - Narrow Dashboard Screenshot Block
Fixed
- Reduce the Start page screenshot showcase and selector width so the screenshots block stays compact in the dashboard flow.
[2026.04.27] - Prevent Chat Server Badge Overlap
Fixed
- Measure and draw chat server player-count and ping badges with exact widths so long counts no longer overlap.
[2026.04.27] - Compact Dashboard Screenshot Selector
Fixed
- Make the Start page "More screenshots" cards narrower and allow four compact columns so the selector no longer dominates the page width.
[2026.04.27] - Align Chat Server Status Badges
Fixed
- Keep player count and ping badges right-aligned in chat server embeds.
[2026.04.27] - Show Flame Streak Placement
Added
- Show friend flame streak placement next to the flame count, using exact
#ranks for top-1000 streaks and top-percent labels for lower ranks.
[2026.04.26] - Fix Delta Update Query
Fixed
- Send the launcher delta-update opt-in as a boolean query value so update checks keep working against strict versions API deployments.
[2026.04.26] - Mark Stale Servers Offline
Fixed
- Keep cached server MOTDs visible while marking player and ping data offline once the last status heartbeat is too old.
[2026.04.26] - Reduce Chat Render Work
Fixed
- Avoid reparsing normal text messages as embeds and stop cloning full chat message lists just to resolve server embed icons each frame.
[2026.04.26] - Add Recently Met Players
Added
- Store local in-game player encounters per account and show recently met non-friends in the Launcher friends sidebar with a direct friend-request action.
[2026.04.26] - Align Chat Server Actions
Changed
- Place Add and Join actions next to each other in chat server embeds instead of stacking them vertically.
[2026.04.26] - Tighten Chat Server Badges
Fixed
- Keep the player-count and ping badges in chat server embeds at a consistent compact gap.
[2026.04.26] - Sharpen Chat Server Backgrounds
Fixed
- Render chat server embed background icons as one crisp low-opacity image instead of stacked offset copies, so server artwork stays readable without looking smeared.
[2026.04.26] - Use Minecraft Banner Patterns
Changed
- Build Creator and Discover banner previews from the full vanilla Minecraft banner pattern list and bundled original pattern masks instead of placeholder shapes.
[2026.04.26] - Show Friend Flame Streaks
Added
- Submit in-game friend encounter events to the Public API and show compact flame streak badges with grace-status tooltips in the Launcher friends sidebar.
[2026.04.26] - Show Account Level In Sidebar
Added
- Show the signed-in user's global level and Minecraft-style XP bar directly inside the sidebar profile button.
- Load the account level from the Public API and keep the last profile-level payload in Launcher UI state so the sidebar does not recompute progress locally.
Fixed
- Move the level text out of the XP bar and into a larger label row so it remains readable in the compact sidebar profile button.
[2026.04.26] - Add Chat Message Editing
Added
- Let users edit or delete their own sent chat messages from the right-click menu, with Shift-hover delete shortcuts and edited markers next to message timestamps.
- Show deleted chat messages as compact grouped placeholders so consecutive deleted messages collapse into one readable row.
[2026.04.26] - Smooth Launch Asset Downloads
Changed
- Show Minecraft asset downloads as one stable launch splash row instead of rapidly switching between individual small asset files.
[2026.04.26] - Prioritize Delta Updates
Changed
- Prefer matching launcher delta artifacts from the release payload even when the resolver falls back to a full update mode, and keep the full artifact as the automatic fallback when delta validation, reconstruction, or download fails.
[2026.04.26] - Fix Light Mode Friends Counter
Fixed
- Keep the toolbar friends counter readable and visually aligned in light mode by using solid header-friendly badge colors for active and request states.
[2026.04.26] - Fix Banner Catalog Loading
Fixed
- Load build.moe banner and head catalog responses when the Public API includes both legacy and current count fields such as
totalandtotalCount.
[2026.04.26] - Clean Up Multiplayer Page
Changed
- Keep the Multiplayer page in the same stacked flow as Singleplayer by showing one compact metrics strip above the saved server list instead of a split overview sidebar.
- Remove the JoinMe shortcut from the Multiplayer overview and use the saved server list as the primary workspace.
[2026.04.26] - Seed Delta Updates On Fresh Installs
Changed
- Seed the current launcher update artifact into the local update cache when a fresh install has no delta base yet, then retry the resolver with delta parameters so the first offered update can use the delta path when the published base artifact is available.
[2026.04.26] - Show Expert Launch Splash Details
Added
- Show expert-only launch preparation details such as profile IDs, selected account, loader, Quick Play target, ignored mods, paths, timing, events, and downloads in the start splash window.
[2026.04.26] - Gate Advanced Sync Targets
Changed
- Keep Minecraft options sync on the Uebliche Cloud by default and show alternative options backends only in expert mode.
- Keep world backup setup on the Uebliche Cloud by default and show local backup targets only in expert mode.
[2026.04.26] - Gate Debug Menu Behind Expert Mode
Changed
- Require five clicks on the sidebar version label to enable expert mode before opening the launcher debug menu, and add an in-menu action to leave expert mode again.
[2026.04.26] - Improve Chat Server Embeds
Changed
- Resolve shared server icons through the Public API instead of embedding icon payloads directly in chat messages.
Fixed
- Show shared server icons in chat embeds, render Minecraft-formatted MOTDs with colors, and move player count plus ping into compact status badges matching the server list.
- Preserve the server icon aspect ratio in the blurred chat embed background and keep the status badges above the title and address.
[2026.04.26] - Prefer bridge-complete Connect jars
Fixed
- Prefer Fabric Connect jars that contain the required launcher bridge API over newer incomplete artifacts, so cached or workspace
connectjars no longer crash singleplayer share startup with missing bridge classes.
[2026.04.26] - Harden Launcher Deploys
Changed
- Use
sccacheautomatically during launcher release builds when it is installed, so repeated multi-target deploys can reuse Rust compiler outputs instead of recompiling unchanged crates. - Require signed updater artifacts for public launcher
releaseandbetabuilds unless explicitly disabled for a local experiment, so published launcher releases no longer silently skip auto-update delivery. - Retry uebliche.net release API calls with exponential backoff on rate limits and transient server failures, and fall back to a public resolver check when the authenticated release-list verification is blocked.
[2026.04.26] - Add Creator Banner Generator
Added
- Add a Creator banner generator for build.moe banners with editable base colors, pattern layers, reusable color slots, and color variants for letter-style banners.
- Submit generated banners from the Launcher to the Public API review queue, with offline submissions stored in the existing offline actions outbox.
[2026.04.26] - Add build.moe heads and banners to Discover
Added
- Show build.moe heads and banners in the Launcher Discover skins area, including search-driven loading, localized empty/loading/error states, head previews, and banner color previews.
- Add dedicated Discover subpages for build.moe heads and banners so both catalogs can be opened directly from the Discover sidebar.
- Add Creator tabs for creating complete skins in the builder and submitting saved skins to Discover.
- Add a Quests sidebar sub menu with Overview and Quest Shop entries, including a first shop tab for wallet state while offers are not yet available.
Changed
- Load build.moe head and banner catalogs through the Public API so the Launcher can browse them separately from skins and skin parts.
Fixed
- Let News page entry cards and article detail panels fill the available feed width instead of shrinking to the text content.
- Use proper German umlauts in the Discover and Mods unavailable-source messages.
[2026.04.25] - Keep Ullm Runtime Warm
Changed
- Reuse the local
llama-serverprocess across Ullm answers, suggestions, troubleshooting, and voice turns until it sits idle or the launcher shuts down, so follow-up questions no longer pay the full model startup cost every time.
[2026.04.25] - Validate chat sharing
Added
- Add opt-in anonymized Sentry reporting for profile launch preparation and spawn failures, so Windows errors such as OS error 5 can be grouped by phase and error code without sending profile names, paths, logs, tokens, server addresses, or raw launch arguments.
- Forward the launcher Sentry DSN and release parallelism through the local build/deploy actions, direct deploy helper, and launcher-shell build script, so opt-in launch-failure reporting can be enabled in published builds without ad-hoc release-script edits.
- Let chat users attach the current screenshot selection and insert personal, public, or managed server details into the message composer before sending.
- Push chat message updates through the chat WebSocket when messages or poll votes change, so open launcher chats update much faster than the old snapshot interval.
- Add a typed compact insert menu to small chat windows and support
/serverslash insertion inside drafts, replacing selected server tokens client-side before the message is sent. - Let chat users insert shared profiles and screenshot references from the main composer, small chat insert menu, or
/profileand/screenshotslash commands. - Include server IDs, optional slugs, player counts, and MOTDs in shared server chat embeds.
- Read extended
uebliche.connectscreenshot metadata such as server IDs, server names, server addresses, minigames, game modes, and maps, so screenshot references can carry richer context. - Add optional custom server nickname fields to the profile export and share server lists.
- Add bottom actions to the right friends sidebar for sending friend requests with avatar preview and reviewing incoming requests inline.
- Keep slash-inserted server shares readable inline by showing the server name in the message text while appending the full server card at the end.
Changed
- Auto-register locally saved launcher servers through the public server directory import path, so known servers receive a system identity for later discovery and sharing.
- Render Discover skin and skin-part cards on the shared 3D character model, so browsing shows the actual wearable shape instead of flat preview thumbnails.
- Move JoinMe into its own Play subpage next to Singleplayer and Multiplayer, so friend joins are no longer embedded inside the multiplayer server list.
- Highlight joinable friends in JoinMe with stronger success cards and an accent rail, so active friend sessions stand out from normal online friends.
- Move right friends sidebar actions into a compact top header next to search, and restyle friend rows as a cleaner messenger-style list with full-width hover states.
- Turn the right friends sidebar search icon into an inline friend filter and route JoinMe friend handoffs through the sidebar/chat docks, so friend search no longer opens the fullscreen social page.
- Render popped-out chat windows with the same frameless launcher window treatment as the profile launch splash, including a custom drag titlebar and launcher card surface.
- Let the launcher window shrink further and let main pages scroll horizontally only when needed, so narrower layouts can keep the global friends list visible.
- Restyle sidebar sub-navigation as compact versions of the main navigation rows, with matching small icons, active rails, and preserved right padding.
Fixed
- Validate chat attachment paths, file kinds, and the 16 MiB API limit before upload, and send inferred content types for screenshots, images, videos, text, JSON, and archives.
- Keep main, floating, and standalone chat windows pinned to the newest message after incoming or outgoing updates.
- Align the fullscreen friends chat with the compact chat windows by using left/right message bubbles, fixed in-bubble times, and a composer-first layout with compact attachment, server-share, and poll controls.
- Render server shares as compact chat embed cards instead of plain multiline text in fullscreen, docked, and standalone chat windows.
- Make inline server names in chat messages hoverable and clickable, using the same join action as the server card.
- Render profile and screenshot shares as compact chat cards instead of leaving the generated share metadata as plain multiline text.
- Add save and join actions to chat server embeds, so shared servers can be added to the personal server list or launched directly from the chat.
- Keep the floating chat header click target out of the pop-out controls and repaint immediately after pop-out or dock-in, so opening a chat in a separate window responds reliably.
- Add always-on-top pinning and an opacity slider to standalone chat windows, so popped-out chats can stay visible above the launcher with adjustable transparency.
- Complete
/serverwhile typing slash commands and let Enter or Tab accept the first server-search result instead of sending the unfinished chat draft. - Keep the chat composer focused while slash suggestions are open, so Tab reliably completes commands instead of moving to another control.
- Render still-sending chat messages in a muted bubble and show a small clock under their timestamp instead of a text status pill.
- Restyle server embeds as compact chat cards with a fixed internal layout, readable server details, and tighter add/join actions.
- Remove the extra avatar frame from the right friends sidebar when real profile images are shown, so the head image no longer has an additional circle over it.
- Keep popped-out chat windows at the same usable minimum size as profile launch windows and clamp chat composer and embed widths, so narrow standalone chats no longer cut off controls or server cards.
- Make chat chrome, metadata, embeds, status labels, and controls non-selectable while keeping the actual chat message text selectable for copying.
- Prioritize the full global friends sidebar width on narrow pages and clamp the animated gap, so opening the friends list no longer clips the list or pushes the page past the window edge.
- Back off Friends refreshes after API rate limits and keep showing the last loaded list instead of raising a red error toast for HTTP 429 responses.
- Keep the right friends sidebar footer pinned to the bottom while add/request panels open above it.
- Compact the Options page controls, sync summary badges, Git settings fields, and options conflict window so they wrap instead of forcing overly wide layouts.
- Remove the launcher version from the Start page session block while keeping it available in settings and debug views.
- Remove the active account from the Start page session block, keeping account details in the account menu and settings surfaces.
- Keep sidebar subpage labels clipped and ellipsized with a fixed right inset, so profile subpoints still keep breathing room in narrow launcher windows.
- Make the Start page constrain dashboard frames to their inner width, stack wide sections sooner, and shrink screenshot selector cards, so the right friends list can stay fully visible in smaller launcher windows.
- Use
Einzelspielerin the German launcher UI instead of the EnglishSingleplayerlabel. - Keep Discover profile cards at a stable width by sizing their action bars to the card interior instead of letting every row grow the next one.
- Keep the small chat insert menu open while choosing an insert type, so the Server, Profile, and Screenshot sublists can be selected before the menu closes.
- Let the Start page news cards fill their available row width, so the latest news no longer stays cramped while empty space remains beside it.
- Reflow the Ullm chat page on narrow launcher windows, wrap the composer controls, and scale Minecraft recipe/process cards so chat content no longer overlaps its controls or side panels.
- Remove the pulsing lamp dot from the Ullm 3D stage, so the avatar view stays visually quiet.
- Rework the Feedback page into a responsive compose-and-browse workspace with clearer filters, summary counts, and quieter feedback cards.
- Let Quest page panels and visible quest cards fill the available width, and keep the last loaded quest state visible while refreshes are in flight to avoid loading flicker.
- Rework the Creator Skin Parts page with a narrower searchable part browser, a wider structured editor, integrated 3D previews, and clearer layer controls.
- Clamp the launcher minimum width to the current launch width rounded up to the next ten pixels, so tested responsive layouts no longer collapse below the intended viewport.
- Use proper German umlauts across the Troubleshooting, Ullm, voice, and debug helper text instead of ASCII fallback spellings.
[2026.04.25] - Keep chat order stable
Fixed
- Sort launcher chat conversations by newest activity and chat messages by oldest-to-newest display order, so API refreshes, live updates, and pending sends no longer flip the visible chat sequence.
- Remove usernames from chat message bubbles while keeping timestamps and delivery states visible, including floating and standalone chat windows.
- Let standalone chat windows keep their user-resized size, avoid forcing the content back to a fixed minimum during layout, and size message bubbles from the current window width, so resizing feels more natural.
- Skip message-list and composer layout while a floating chat dock is being minimized, so collapsing chats stays responsive even with longer conversations.
- Center the floating chat input text vertically, so the message placeholder sits correctly inside the composer field.
- Slide the right friends sidebar out with a clipped full-width panel instead of shrinking its inner controls during the animation.
- Replace the floating chat header text buttons with centered icon controls for minimize, pop out, dock, and close actions.
- Cache recently loaded chat messages locally so selected conversations and chat docks can show their latest known messages immediately after restart while the live refresh catches up.
- Group chat messages by day with separator bars and show fixed clock times in message bubbles instead of relative timestamps.
[2026.04.25] - Add standalone chat windows
Added
- Let floating chat docks pop out into their own resizable native window and dock back into the launcher, so conversations can stay visible outside the main launcher layout.
[2026.04.25] - Render skin parts on models
Changed
- Render skin-part previews on a neutral 3D character model in the builder, community market, and part editor, so parts can be judged in the same body context where they will be used.
[2026.04.24] - Keep chat docks user-controlled across devices
Changed
- Persist the set of open side-chat docks in the launcher profile settings and restore that state on refresh, so each user decides which chats stay open or closed and that choice now follows the same account across devices.
- Open a dock chat immediately when a friend is clicked even before a direct conversation exists, and only create that backend conversation when the first message is actually sent, so starting a new side chat no longer waits on an existing thread.
Fixed
- Show outgoing chat messages in the main chat and floating dock immediately while they are still sending, and keep failed sends visible with an error highlight instead of silently losing them.
- Send chat messages from the main chat view and floating dock chats when Enter is pressed, while keeping Shift+Enter available for line breaks in the larger composer.
- Stop closing dock chats automatically when the social refresh briefly drops a conversation from the latest list, so open chats no longer vanish on their own during normal polling or short backend gaps.
- Keep floating dock chats visually bottom-aligned inside their animated slot and resolve the title avatar from the actual chat partner identity, so the dock now sits flush to the launcher edge and shows the partner head reliably in the header.
- Recover stale direct-chat sends automatically by creating a fresh direct conversation on
404 Conversation not foundand rebinding the open chat UI to the new thread, so side chats and the main chat view no longer fail permanently when an old direct conversation ID expires. - Position floating dock chats with fixed right-edge stack offsets instead of an implicit horizontal layout, so open chat windows no longer drift or jump further to the right while the launcher reflows.
- Keep the dock windows anchored to the launcher bottom without flipping their internal layout, so chat headers stay on top and the message composer stays at the bottom where it belongs.
- Enlarge the floating chat docks and merge remote dock preferences into the current local stack instead of replacing it, so side chats stay roomier and no longer close themselves just because a later sync payload is missing one of the currently open windows.
- Refine the enlarged chat docks with a real fill-height message area and a cleaner bottom composer row, so empty chats no longer look like stretched placeholder panels and the send controls now sit in a tighter, more deliberate layout.
- Let the entire dock header toggle the chat open and closed instead of only the small icon button, so the floating chat windows behave more like a real messenger header while
xstill stays an explicit close action.
[2026.04.24] - Add a collapsible right friends rail
Changed
- Add a dedicated friends rail on the right side of the launcher shell with a top-right toggle and live counter, so friend presence and quick chat access stay visible without switching away from the current page.
- Animate the new friends rail open and closed from the toolbar and keep its refresh cycle alive outside the dedicated social page, so the side panel stays responsive instead of feeling bolted on or stale.
- Open Twitch-style floating chat docks from the right friends rail instead of forcing a full page switch, so direct conversations can stay docked in the bottom-right corner and expand left as more chats stay open.
- Grow newly opened dock chats upward from the launcher edge, keep per-conversation drafts in place, and pulse unread dock headers until they are focused, so fast side conversations behave like a real chat system instead of a hidden navigation shortcut.
- Remove the old left-sidebar friends destination once the right-side friends rail exists, so friend access now lives in one consistent place instead of two competing navigation entries.
Fixed
- Load real Minecraft head icons inside the new right-side friends rail instead of falling back to initials for every entry, so the compact friends list matches the visual identity of the main friends page.
- Remove the presence dot overlay from the compact friends avatars, so the new right-side rail no longer paints an extra circle directly on top of the head image.
- Subscribe visible chat conversations and dock windows to the live chat websocket instead of waiting for the next full refresh cycle, so new messages, unread states and dock content update immediately while the launcher stays open.
- Keep floating chat docks anchored to the left of the right-side friends rail instead of inside its column, so side chats now hover over the page content and stay visually separate from the friends list.
- Move the launcher skin hub under the Creator submenu instead of keeping it as a separate top-level sidebar destination, so creation-related workspaces now stay grouped in one place.
[2026.04.24] - Clarify discover source warnings
Fixed
- Replace the old Discover rate-limit and source-unavailable copy with selection-specific wording, so warning banners no longer talk about a vague combined Discover area after workspace navigation moved into the sidebar.
[2026.04.24] - Move discover workspaces into sidebar
Changed
- Move the Discover workspace switch for Mods, Plugins, Resourcepacks, Shaderpacks, Skins, Profiles, Servers, Seeds and Worlds into the sidebar, so those browse areas now behave like proper launcher subpages instead of an extra button row inside the page.
- Let the Discover page header follow the active browse area and keep the in-page workspace controls focused on search, install target and context once the sidebar owns category switching.
[2026.04.24] - Extend sidebar subpages to creator tools
Changed
- Move the Creator top-level tool switch for Texture Packs, Skin Parts and Server Manager into the sidebar, so those high-level workspaces now behave like proper launcher subpages instead of a second tab row inside the page.
- Keep the Creator header focused on the active workspace and its metrics by replacing the old inline mode buttons with a simpler context/status bar once the sidebar owns the tool switch.
[2026.04.24] - Extend sidebar subpages to profile browsers
Changed
- Move the profile browser mode switch for personal and public profiles into the sidebar, so those high-level destinations now behave like proper launcher subpages instead of inline workspace toggles.
- Keep the profile workspace header focused on counts, actions and search by removing the old local/public button row once the sidebar sub-navigation owns that switch.
[2026.04.24] - Move play navigation into sidebar subpages
Changed
- Replace the in-page Singleplayer and Multiplayer switcher with dedicated play subpages, so the page header now reflects the active destination directly instead of showing an extra tab strip above the content.
- Add Singleplayer and Multiplayer as sidebar subpoints below Play that only expand while Play is selected, so launcher navigation stays compact until the user enters that area.
- Refine the Play sub-navigation into quieter nested rows with matching sidebar rhythm, so the expanded submenu now feels like a natural continuation of the main navigation instead of a separate widget style.
- Smooth the Play submenu open and close motion with animated height and reveal transitions, so the sidebar no longer snaps between collapsed and expanded states.
[2026.04.24] - Open dashboard details on card click
Changed
- Open the world detail view when a Quick Start world card is clicked, while keeping the explicit launch and restore buttons as the direct execution actions.
- Open the relevant server detail workspace when a Quick Start server card is clicked, so personal servers jump into the editor and public fallback entries jump into the server discovery focus instead of only exposing the join button.
[2026.04.24] - Add Git-backed launcher sync backends
Added
- Add a shared launcher sync backend section in settings that can switch Minecraft options between Uebliche Cloud and a Git repository, accept repository URLs with embedded credentials, and store those credentials securely in the OS keychain instead of leaving them in plain text config files.
- Add Git-backed syncing for the personal server list as an alternative to the local-only flow, so
servers.jsonand per-profileservers.datcan be seeded from and written back to the same shared repository used for launcher options.
Changed
- Treat the options sync viewer and conflict flow as a generic shared source instead of a Cloud-only feature, so the same local-versus-remote inspection now works when the shared backend is a Git repository.
[2026.04.24] - Collapse combined catalog rate-limit noise
Fixed
- Collapse simultaneous Modrinth and CurseForge rate-limit warnings in Discover and the Mods Browser into one combined catalog message, so a failed aggregated search no longer reads like two unrelated provider errors at once.
- Preserve the last visible Modrinth and CurseForge Discover results for the same search context when only those remote providers fail temporarily, so a short catalog throttle no longer leaves the feed showing only local Uebliche entries.
- Keep remote catalog traffic behind the Public API by default and stop fanning out launcher-side direct Modrinth and CurseForge fallback requests unless an explicit emergency env flag enables it, so launcher search bursts no longer amplify upstream throttling exactly when the shared catalog path is already failing.
- Explain temporary external-source outages as missing Modrinth and CurseForge sources instead of generic provider noise, so users can tell when Discover or the Mods Browser is currently showing only local Uebliche entries.
- Merge matching Uebliche Cloud worlds into the launcher's local world browser and allow remote-only entries to open history and restore directly, so backed up worlds remain discoverable and recoverable even after their local save folder is gone.
- Stop forcing the profile launch splash viewport to stay always-on-top and re-activate itself, so the preparation window can move behind other windows instead of permanently jumping into the foreground during launch.
- Show the full launcher preparation step timeline underneath the profile launch splash progress area and add a collapsible log panel there as well, so every preparation phase stays visible during launch instead of only a short recent-step snippet.
- Replace existing staged sidecar symlinks during local launcher restarts, so the dev watcher no longer crashes with
File existswhile re-linking llama or voice runtime files after code changes.
[2026.04.24] - Handle empty active cape responses
Fixed
- Accept
nullor empty API responses for the active cape selection and keep that empty state cached in the launcher UI, so the capes screen no longer spams a decode error toast when an account simply has no active cape selected yet.
[2026.04.24] - Speed up launcher multi-target deploys
Changed
- Run multi-target launcher release builds in bounded parallel batches instead of one fully serial queue, so cross-platform launcher deploys spend less wall-clock time waiting for independent target builds to finish one after another.
- Add an optional
windows-aarch64launcher deploy target acrossrelease.sh,uebliche.dev, updater artifact naming, and direct release finalization, so Windows on ARM can be shipped through the same launcher release flow once the required cross-compiler is installed. - Detect a user-local
llvm-mingwinstall under~/.local/opt/llvm-mingw/currentautomatically duringwindows-aarch64release builds and pinwindres,ar, andranlibto that same toolchain, so the new Windows-on-ARM path no longer depends on manually exporting compiler paths or accidentally falling back to host macOS archive tools.
[2026.04.23] - Unstick macOS launcher release builds
Fixed
- Bump the launcher's
ccbuild dependency to a release that avoids the compiler-family detection deadlock seen duringdarwin-aarch64release builds, so local launcher deploys no longer stall indefinitely inside theringnative build script on newer Apple toolchains. - Include
libudevin the generated Linux cross-build sysroots and merge missing triplet headers likesys/cdefs.hback into the generic include roots, so cross-platform launcher release builds no longer fail on Linux targets when native crates resolve pkg-config metadata or libc headers. - Resolve updater upload artifacts directly from the built bundle outputs for macOS and strip the duplicated
portable/segment from the Windows portable upload key, so launcher release uploads now land on the expected artifact paths across all supported targets. - Reuse unchanged staged sidecar and voice asset trees across launcher release runs and only rebuild Windows/Linux bundles when their actual inputs changed, so repeated local deploys no longer spend extra minutes recopying the embedded runtime payload for every target.
- Stop rewriting
apps/launcher-ui/Cargo.tomlduring launcher releases and inject the shipped version throughUEBLICHE_VERSIONinstead, so same-version reruns can reuse Cargo release outputs instead of recompiling the launcher workspace just for version bookkeeping. - Propagate the real launcher app build version into launcher-core HTTP headers, user agents, telemetry, and launch substitutions, so
uebliche.onlineand other downstream services no longer see the internal crate fallback0.1.0instead of the shippedYYYY.M.D-bHHMMSS<hash>release version. - Move the launcher's sidebar account switcher and primary navigation into a scrollable top section and only keep a footer gap when the viewport is tall enough, so short windows no longer clip the bottom sidebar actions off-screen.
- Clamp the launcher's debug window to the visible viewport and cap its inner scroll area to the remaining height, so runtime and download tester cards no longer get cut off when the launcher window itself is short.
- Size the launcher's download toast rows from the actual text metrics instead of fixed 16px lines, so error and progress details in bottom-right download cards no longer get clipped at the lower edge.
[2026.04.22] - Add launcher server manager
Added
- Add a new operations-first
Server Managerinside the launcher'sCreatorworkspace, so hosts, managed servers, local agent controls, runtime details, logs, and lightweight network context can now be handled in one desktop flow instead of bouncing out to Dash for every task.
Changed
- Reuse the same managed-host and managed-server APIs that back Dash inside the launcher, so server creation, lifecycle actions, maintenance, host assignment, and move requests now work from one shared control plane instead of a launcher-only side path.
- Let the launcher install and control a local managed-server agent, and generate copy-ready native or Docker host install snippets for remote hosts, so local-first hosting and lightweight remote onboarding now fit into the same workspace.
- Bind Discover's
Install to servertarget list to the same managed-server selection state as the new Server Manager, so server content installs and runtime administration stay synced instead of drifting between separate selectors. - Add breathing room between the Creator tool switcher and the Server Manager status pills, so the top toolbar no longer feels cramped when the new manager is active.
- Add matching top and bottom padding around the Creator and Server Manager button rows, so toolbar button lists no longer sit pressed against their surrounding frames.
- Submit the selected host's stable
serverIdfrom the Server Manager instead of the internal host row id, so creating a managed server on an existing host no longer fails immediately. - Reuse an already healthy local Agent before spawning a new one, and refuse duplicate starts when the admin port is already occupied, so the Server Manager no longer provokes
Address already in usecrashes in the local Agent log. - Drop stale create-dialog template, plan, and host selections before sending
Server erstellen, keep a freshly created server even if the follow-up host assignment fails, continue rendering the selected server when the list endpoint still comes back empty, and tolerate older managed-server detail payloads that still omitmoveState, so outdated wizard state, lagging server lists, and partially rolled out API fields no longer surface as a genericio error. - Size the Creator
Server Managersplit view from the actual viewport instead of a fixed server-list cap, so the managed server list no longer looks vertically cut off in wide layouts. - Auto-assign the currently selected eligible host before
StartorRestart, and block those actions locally when no valid target host exists yet, so hostless managed servers no longer bounce off the lifecycle endpoint withHTTP 409 Managed server has no assigned host.. - Stack the
Server Managerhost cards vertically instead of wrapping them across the row, so local and remote agents stay readable as one-card-per-line entries instead of getting clipped side by side. - Resolve assigned host references in the server list and detail panel back to the best available agent name instead of always echoing the raw host id, so host placement reads like real machines wherever the launcher already knows the host metadata.
- Cache the Server Manager's loaded networks, hosts, managed servers, templates, plans, selected detail, and local agent status in the launcher's startup snapshot, so Creator reopens with the last known server-management state immediately and then keeps it fresh through the existing automatic tab refresh.
[2026.04.22] - Prune stale launcher dev artifacts
Fixed
- Prune stale hashed Cargo artifact generations from the launcher's
target/debugcache before each native dev restart, so repeated local launcher builds no longer letdeps,.fingerprint,build, andincrementalballoon into tens of gigabytes over time. - Reduce launcher
devbuilds to line-table debug info, so the remaining local Cargo artifacts stay materially smaller without throwing away useful backtraces during normal debugging.
[2026.04.22] - Unify profile mod search and install
Added
- Add one combined profile mod search that filters installed mods and loads compatible catalog hits in the same view, so players can install, disable, or remove mods without bouncing between the profile tab and
Discover.
[2026.04.22] - Align profile detail tab spacing
Changed
- Stretch the
Mods/Einstellungentab bar across the full profile detail content width, so the tab row no longer leaves an awkward empty gap on the right after the hero cards.
[2026.04.22] - Remove redundant profile mods strip
Changed
- Remove the standalone
Modssummary strip from the profile detail hero, so the detail view no longer shows a redundant full-widthMods 10bar above the actual profile information.
[2026.04.22] - Add opt-in launcher launch performance reporting
Added
- Add a disabled-by-default launcher setting to share profile launch timings, including a local payload preview and a queue-clear action, so users can opt in explicitly before any performance telemetry leaves the machine.
Changed
- Capture structured per-step launch preparation timings, runtime/platform context, and resolved mod ids inside launcher-core and queue them asynchronously for best-effort delivery, so slow profile boots can be analyzed without blocking launches or sending logs, credentials, chats, world content, or filesystem paths.
- Keep unsent launcher performance reports in a capped local JSONL queue with retry backoff and last-sample storage, so failed sends can be retried later and the launcher can show exactly what would be submitted.
[2026.04.21] - Add launcher connect deeplinks
Added
- Add
uebliche-launcher://connect?server=...&name=...&code=...deeplinks, so public server pages can open the launcher with a target join host and optional profile share in one handoff.
Changed
- Import a shared profile automatically before launch when a Connect deeplink includes a share code, and queue Quick Play against the requested server afterwards, so
uebliche.gg/<slug>can install and join from one click instead of forcing a separate manual import step.
[2026.04.20] - Align launcher download versions
Fixed
- Prefer the current launcher channel release metadata whenever that release already ships a matching platform artifact, so the docs download header, per-platform cards, and generated download links no longer drift onto different versions.
[2026.04.20] - Normalize launcher self-update release identity
Fixed
- Treat bare launcher build tags like
b022922899109ecas the same shipped release as full version labels like2026.4.20-b022922899109ec, so the self-update checker no longer offers a false update when the local build already matches the published launcher artifact.
[2026.04.18] - Repair cross-platform launcher release bundling
Fixed
- Copy the full embedded sidecar runtime trees into macOS, Linux, and Windows launcher bundles, so release archives no longer drop companion libraries and voice/LLM helper payloads when a platform package is assembled.
- Install ALSA development metadata into the generated Linux cross-build sysroots and treat
alsa.pcas required completeness data, so launcher release builds no longer stop onalsa-syswhen the public Linux targets are packaged from macOS.
[2026.04.18] - Richer discover project details
Changed
- Keep selected discover items in a wide side-by-side browser workspace, so the result list now stays on the left while the matching project or seed details open on the right instead of covering the page with a separate dialog.
- Render embedded project-description HTML links and images in the launcher discover detail view, so Modrinth-style rich bodies now show linked text and inline media instead of raw tags.
- Route project-detail links through a leave-launcher confirmation before opening the browser, so external websites are no longer opened without an explicit warning.
- Replace plain homepage/issues/source metadata rows with icon buttons and show a dedicated GitHub badge for source links when the repository host is GitHub, so project links scan faster in the detail dialog.
[2026.04.18] - Remove schematics from play navigation
Changed
- Remove the standalone
Schematicssub-tab fromPlay, so the launcher no longer exposes a separate schematic list in the main game navigation and now falls back toSingleplayerwhen older saved UI state still points there.
[2026.04.18] - Fallback runtime release channel
Fixed
- Fall back between the legacy
hardenedruntime release channel and the canonicalreleasechannel during launcher runtime resolution, so managed Java downloads no longer fail just because runtime artifacts were only published on one of the two channel names. - Include the requested
javaVersionin missing-runtime release errors and keep the stored runtime channel from local install metadata, so runtime diagnostics now point at the real missing matrix entry and report the actual source channel instead of a guessed one.
[2026.04.17] - Remove troubleshooting admin panel from settings
Changed
- Run the native launcher dev entrypoints through a built-in hot-reload watcher, so
dev.shanddev.batnow restart the app automatically after source changes and bring the window back without manual relaunches. - Remove the internal troubleshooting setup/runtime/model management card from the normal launcher settings page, so local assistant install and status controls now stay in the troubleshooting flow and debug menu instead of cluttering product settings.
- Hide the troubleshooting setup block once the bundled runtime and local support model are both ready, so the page only shows setup cards when local troubleshooting actually needs attention.
- Rebuild the profile detail page into a clearer snapshot layout with a stronger hero area, compact system and launch columns, and a cleaner overview hub, so profile state, runtime context, and local assets are easier to scan before launching.
- Align the quick actions on the profile detail page with trailing icons, so edit, export, share, and troubleshooting actions read faster and feel more deliberate.
- Normalize the gap between the
SystemandLaunchcards on the profile detail page to the same spacing rhythm used above and below, so the top layout feels evenly aligned instead of slightly cramped in the center. - Normalize the spacing between profile detail tabs like
Overview,Mods, andShaderpacks, so the tab row now uses one consistent gap instead of relying on uneven implicit layout spacing. - Remove the technical
Systemcard from the profile detail page, so the top section focuses on actionable launch controls instead of repeating Minecraft, runtime, security, and lock metadata. - Remove profile-local
ResourcepacksandShaderpacksfrom the profile detail page, so that view now focuses on profile-bound mods and settings while packs stay part of the global launcher library instead of looking profile-owned. - Move the profile launch controls into the top-right area of the hero card, so account, quick play, social start, and the main launch action now sit next to the primary profile actions instead of living in a separate card further down the page.
- Flatten the launch controls inside the profile hero so the top-right start area now renders without an extra nested box, which keeps the header tighter and avoids a second card look inside the same section.
- Collapse the profile hero action row into a single dropdown menu, so edit, export, share, and crash analysis no longer compete for horizontal space in the header.
- Reduce the profile hero metrics to a single mods counter, so playtime, last active, and duplicate settings counts no longer clutter the top of the profile view.
- Remove the extra boxed action frame around the profile list play controls, so the launch button now sits directly in the card instead of looking nested inside another panel.
- Keep only one visible mods counter on the profile detail page, so the same
9 Modsvalue no longer repeats across the hero, launch block, and overview hub. - Show selected local profile details next to the profile list on wide layouts, so choosing a profile no longer replaces the list and instead opens a side-by-side browser/detail workspace.
- Keep the profile split view interactive while launch preparation is running by giving the list and detail panes their own scroll/input regions, so selecting another profile no longer gets blocked by the detail pane layout.
- Tighten the profile list card density in the split view, so the left browser column no longer wastes height with oversized previews, copy, and action widths.
- Keep public shared profiles inside the same side-by-side browser/detail workspace as local profiles, so selecting
Publicitems no longer jumps into a separate full-page detail flow. - Rename the local profile mode to
Yours, so the browser tabs now distinguish personal profiles from public shared profiles in more user-facing language. - Let clicking an already selected profile card clear the selection again while keeping double-click as the direct launch gesture, so the split browser now supports quick open-close toggling without sacrificing the fast start shortcut.
- Fold the former
Overviewcontent into the top profile info card and drop the extra overview tab, so the most relevant snapshot and library details now stay in one header section instead of living behind a separate panel. - Keep the profile browser workspace card pinned above the split list column, so the
Profile durchsuchenheader no longer scrolls away with the profile cards on wide layouts. - Align the profile list launch button to the top-right corner of each card, so the primary
Startenaction now sits on a cleaner shared header line instead of drifting lower in the action column. - Keep local profile cards in the split browser column in a horizontal list layout at narrower widths, so
Startenalso stays top-right when the detail pane is open on the right. - Move the profile search field into the upper
Profile durchsuchenworkspace card, so the left result list now scrolls independently without duplicating search UI inside the list panel. - Make the full profile card body selectable again while excluding only the real action buttons, so choosing a profile now works from the whole card area instead of feeling limited to the text block.
- Let a secondary click on local profile cards open the same launch dropdown as the small menu trigger, so account selection and extra launch actions can now be reached from a normal right-click gesture on the card itself.
- Remove the selected-profile pill from the
Profile durchsuchenworkspace card, so the sticky browser header no longer repeats the active profile name above the actual split detail view. - Normalize the gap between the mode tabs, metric pills, and create/import actions in the
Profile durchsuchenworkspace card, so controls likeYours,Public,Create profile, andImport profilenow sit on one consistent spacing rhythm. - Add a loader icon badge with the original Fabric, NeoForge, Quilt, and Forge logos to the lower-left corner of profile avatars, so list cards now rely on the real loader branding instead of repeating loader names as text pills.
- Hide the normal
Readyprofile status label from the browser cards and profile detail header, so status only appears when a profile is still draft, dirty, or otherwise needs attention. - Remove the
Launcher bereitstatus pill from theProfile durchsuchenworkspace card, so the sticky browser header no longer spends space on a generic launcher-ready hint. - Generate new profile IDs as random UUIDs during profile creation and drop the manual ID field from the create dialog, so new launcher profiles always get an internal random identifier instead of deriving it from the profile name.
- Scale the dashboard activity heatmap down to the available session-panel width, so the activity strip no longer runs out of the card on narrower launcher windows.
- Use one explicit fixed gap between the
SingleplayerandServerquick-start panels on the dashboard, so both columns now sit on the same spacing rhythm instead of depending on implicit column spacing. - Move the quick-start server ping and player count into a fixed right action column above
Join, so server cards now keep their live status badges in one stable top-right row with the action anchored beneath them. - Soften the quick-start server address styling, so IPs and hostnames read as supporting metadata instead of competing with the server name and live status badges.
- Apply the launcher's standard relative-time formatter to the quick-start singleplayer cards, so
Last playednow shows the same human duration style as the rest of the launcher instead of a raw timestamp string. - Show server max capacity only when it is actually relevant in the shared player-count formatter, so launcher server cards and lists now keep relaxed counts like
0 / 20or400 / 10000collapsed to0and400while still surfacing max slots when a server is actually filling up or an invalid-1-style capacity needs a readable fallback. - Remove the
playerssuffix from server population badges and replace it with a trailing player icon, so the quick-start dashboard and shared server lists now keep population badges compact without losing the population hint. - Hide the default Minecraft port
:25565in visible server-address labels, so launcher server cards and server discovery views now show cleaner hostnames unless a non-standard port actually matters. - Carry supported Minecraft version names from server pings and public directory snapshots through the shared launcher server models, so server cards can now show the returned version alongside the cleaned address instead of dropping that information after refreshes or imports.
- Reuse one shared launcher server meta renderer for dashboard, multiplayer, and public server views, so address cleanup, supported-version badges, MOTDs, and live status pills now stay visually consistent instead of drifting between separate page-specific implementations.
- Add an explicit gap between ping and playercount in the shared server status row, so those two live badges no longer sit cramped together when both are shown.
- Replace the profile detail two-column snapshot/library layout with explicit fixed-width panes and a fixed center gap, so
Profile-SnapshotandLokale Bibliothekkeep their spacing even at intermediate window widths where the old implicit column layout could visually collapse the gutter. - Rework the shared launcher search field with a clearer search icon, stronger input surface, and cleaner clear-action spacing, so profile, discover, and community search boxes now read as obvious input fields instead of blending into surrounding toolbars.
- Enlarge the loader badge on compact profile avatars, so Fabric, NeoForge, Quilt, and Forge are easier to recognize in the profile list without making the larger hero/profile icons feel oversized.
- Normalize the spacing between the category tabs on the
Discoverpage, so rows likeMods,Plugins,Resourcepacks, andShaderpacksnow keep one explicit gap instead of depending on uneven implicit layout spacing. - Inset discover asset previews slightly inside their frame with a neutral background, so stray edge artifacts from remote icons no longer show up as dark circles or corner blemishes around the image.
- Replace the Creator page's implicit three-column layout with explicit fixed panel gaps, so
Library,Editor, andPreviewkeep a consistent visible spacing instead of visually collapsing together at some window widths. - Add an explicit gap between the Discover loading animation and its text label, so loading states like
Entdecken wird geladen ...no longer appear cramped. - Replace the profile latest-version
*marker with an upward arrow, so tracked profiles now signal a latest-version channel more clearly than a plain asterisk. - Turn the profile
Settingstab into a real built-in text editor with syntax highlighting, format actions, autocomplete suggestions, and undo/redo controls, so config and options files can now be inspected and edited directly in the launcher instead of only appearing as a passive asset list. - Render server MOTDs with Minecraft legacy colors and the vanilla bitmap font in the launcher's server views, so ping responses with
§formatting now look much closer to the in-game server list instead of showing plain muted text. - Strip Minecraft legacy formatting codes before MOTDs flow into generic discovery cards, so shared server discovery views no longer leak raw
§sequences when they cannot use the dedicated MOTD renderer. - Rework the profile RAM editor into a cleaner two-part layout with clearer min/max sections, stronger value alignment, and a calmer recommendation band, so memory tuning no longer reads like a raw debug form.
- Replace the profile archive checkbox with an explicit activate/unarchive action, so archive state changes now read as a deliberate command instead of a generic form toggle.
- Let the shared profile file browser stretch to the full available content width, so sections like
Settingsno longer collapse into a narrower left-aligned card while the right side stays empty. - Stop showing the managed runtime mode in the profile detail view, so internal launcher runtime behavior no longer appears as if it were a user-facing per-profile option.
- Fold the profile snapshot strip into the hero card, so playtime, last active, and mod count stay visible without introducing a second standalone bar underneath the header.
- Make social launch injection always-on and remove the toggle from profile launch controls, so players no longer see an optional checkbox for a built-in part of the launcher start flow.
- Increase the spacing between profile snapshot metrics in the hero, so values like playtime, last active, and mod count no longer sit too tightly next to each other.
Fixed
- Give the wide profile split view explicit pane heights, bounded inner scroll regions, and its own scroll handling instead of nesting inside the page scroller, so the detail pane no longer collapses into a black clipped block after selecting a local profile.
- Keep compact profile cards clickable inside the split browser column, so selecting one profile no longer makes the remaining cards in the left list stop responding.
- Accept legacy
security_mode_override = "monitor"values from older local profile manifests and map them toprotect, so existing profiles no longer fail launch preparation after the security-mode cleanup. - Resolve relative local custom-mod file entries against the profile
instance/modsdirectory and cross-check installed Fabric jars during launcher-managed dependency injection, so profile background download checks no longer misreport missing local jars or falsely claimfabric-apiis unresolved when the jar is already present. - Stop writing background personal-server ping failures into the launcher event log, so unreachable saved servers no longer flood the UI log with automatic connection errors during normal startup refreshes.
- Treat enabled file-backed profile mods as already present when launcher-managed system mods resolve their dependencies, even if legacy source metadata is missing, so auto-injected mods like
connectno longer falsely complain thatfabric-apiis missing when the profile already ships the jar. - Track pending profile-detail requests explicitly and retry the selected profile detail while the page is open, so the launcher profile page no longer gets stuck on the generic "native data pending" screen after a lost or delayed background detail load.
- Prune stale manifest-less profile folders during profile enumeration and recover by reloading the profile list after a failed detail request, so deleted or half-cleaned local profile leftovers no longer leave the profile page stuck on a ghost entry.
- Treat playtime bootstrap profile reads as best-effort during launcher startup, so a temporarily unreadable
profile.tomlor legacy stats file no longer aborts the entire native launcher with a fatal core-start error. - Treat missing cape-selection records from the social API as an empty optional state instead of a hard HTTP failure, so accounts without an active cape no longer trigger a red launcher error toast on startup.
[2026.04.17] - Fix local AI chat recipe resolution
Fixed
- Parse shaped vanilla recipes with string ingredient refs from cached Minecraft recipe JSON, so local knowledge packs no longer drop crafting grids like
Werkbank,Truhe,Ofen, orLore. - Ignore non-string entries in bundled Minecraft language files, so local knowledge-pack rebuilds no longer fail on
assets/minecraft/lang/deprecated.json. - Resolve common informal recipe topics through locale-aware wiki search and suffix matching before the final chat turn, so exact recipe questions no longer fall back to
recipe: nulljust because the raw question text is phrased conversationally. - Extract the
textfield from malformed local chat JSON blobs when possible, so the AI page no longer renders an entire broken JSON payload as the assistant message whenllama-servertruncates the response. - Resolve recipe questions dynamically through the Minecraft Wiki APIs with locale-aware search, English page normalization, and live
template parsing, so queries likeWerkbank,Bett, and typoedMinecardnow pick up current wiki recipe layouts instead of relying on hardcoded recipe content.
[2026.04.17] - Harden launcher runtime and trim deploy paths
Changed
- Switch the launcher runtime pipeline to hardened-only resolution, warm up the managed Java matrix
8,16,17,21,25during startup maintenance, and keep profile launch resolution pinned to the hardened runtime track. - Reduce launcher security modes to
protectandstrict, so launcher manifests, profile overrides, and runtime/security payloads now accept only the current product modes. - Update runtime debug output, FairPlay runtime evidence, and troubleshooting/security payloads to emit only hardened runtime states, so launcher readiness no longer advertises a deprecated standard path.
- Pin the runtime deploy actions in
app/launcher/uebliche.devto the hardened release channel and the canonical Java matrix8,16,17,21,25, so launcher runtime publishing now follows one deploy path by default. - Prune stale managed runtime installs and runtime temp artifacts after a configurable retention window (default
14days) during launcher maintenance, so superseded JDK downloads and abandoneduebliche-runtime.*cache files no longer accumulate forever.
Removed
- Remove the deprecated
standardruntime branches,monitorsecurity mode, and the duplicate runtime upload-only action from the launcher deploy surface, so the runtime/deploy configuration no longer exposes parallel legacy paths.
Fixed
- Repair the
mc-manifestfixture paths and snapshots, and add explicit rejection tests for deprecatedmonitorandstandardpayloads so removed legacy values now fail fast under test coverage.
[2026.04.17] - Fix large launcher LLM artifact deploys
Fixed
- Fall back to the configured publish object store for oversized
launcher-support-llmuploads inuebliche.dev, so large GGUF model releases no longer fail at the Versions API edge with HTTP413before the signed release can be published.
[2026.04.17] - Add creator tab for shared texture packs
Added
- Add a new primary
Creatortab to the native launcher with a dedicatedTexture Packsworkspace, so texture-pack editing no longer has to live inside the generic discovery or profile flows.
Changed
- Reuse the shared global resource-pack library as the source of truth for creator-managed packs, so saved packs stay visible in the normal launcher asset flows instead of creating a second pack system.
- Add validation, ZIP export, and profile-sync actions to the texture-pack workflow, so creators can check
pack.mcmeta, safe asset paths, and PNG files before shipping or mirroring a pack into local profiles.
[2026.04.17] - Move AI chat into the main sidebar
Changed
- Move
Ask Ullmout of the small footer icon row and into the main launcher sidebar directly belowFeedback, so the AI chat is now opened from a full-width navigation button like the other primary sections. - Remove the passive readiness strip from the top of the AI page and cap the
Ask Ullmchat card to the height of the avatar panel, so the right column no longer expands into an oversized empty box or pushes the page into extra scrolling.
[2026.04.17] - Render Modrinth project details from Markdown
Fixed
- Load the full Modrinth project body into Discover detail windows and render it as Markdown, so mod details now show the upstream description instead of only the short summary and metadata.
- Replace the oversized version list in Discover mod details with a compact per-profile install status, so the window now shows where a mod is already present, where it can be installed, and where it can only be queued until a compatible version exists.
[2026.04.17] - Add shared launcher scene previews for worlds, schematics, and seeds
Added
- Add a shared scene camera, painter, and level-volume pipeline in the native launcher, so world chunks, seed preview tiles, and future schematic previews can reuse one 3D viewport stack instead of separate renderers.
- Add local schematic import/list/load primitives for
.schemand.litematic, so dropped schematics now land in a dedicated launcher library path and can be reopened without a fresh file picker. - Add a streamed local world-volume loader that resolves chunk sections around the current focus, so the launcher can build a real block-window preview instead of only relying on exported 2D world overview images.
Changed
- Replace the Discover seed isometric preview renderer with the shared scene container, so camera presets, drag, pan, and zoom now follow the same viewport model as other launcher 3D previews.
- Render a live 3D chunk-window preview in the world detail overview, so local worlds now open with a native block scene directly inside the launcher page.
- Lock the AI agent avatar to a fixed camera policy on the shared scene model, so the support NPC no longer rotates, zooms, or auto-showcases away from its intended framing.
[2026.04.17] - Fix Microsoft device-code account linking
Fixed
- Keep the Microsoft device-code sign-in flow polling on
authorization_pendingresponses, so adding a Microsoft account now completes automatically after the browser login instead of aborting before the account is linked.
[2026.04.17] - Add local vanilla knowledge pack and shared launcher chat corpus
Added
- Add a launcher-shell knowledge exporter that derives exact vanilla recipes, process facts, and DE/EN labels from cached Minecraft data, so the AI chat and the fine-tuning pipeline can both consume the same local source of truth instead of hand-written recipe fallbacks.
- Add generated Minecraft chat dataset tooling and JSONL combiner scripts, so the shared
launcher-support-llmrelease path can now build a broad DE/EN chat corpus and merge it with the troubleshooting corpus before QLoRA. - Add a local Minecraft chat smoke example for the launcher shell, so the current managed GGUF can be exercised quickly against the native
llama-serverpath while iterating on prompts and data.
Changed
- Feed authoritative local vanilla knowledge context into the on-device Minecraft chat prompt, so exact recipe and process questions now have a structured factual input path even before the next fine-tuned GGUF is published.
- Extend the signed
launcher-support-llmrelease metadata and theuebliche.devdeploy action withchatDatasetVersion,knowledgePackVersion, andchatSchemaVersion, so model lineage for the shared chat/troubleshooting release is visible in the product artifact itself. - Upgrade the end-to-end local LLM pipeline to export the knowledge pack, generate the broad chat corpus, combine train/validation sets, and run both troubleshooting and Minecraft chat golden-case gates before staging a GGUF release.
- Stop hardcoding dedicated German and English recipe-label fields in the launcher knowledge pack, so recipe matching and model context now resolve localized names from the cached
client.jarlanguage data and namespace refs instead of fixed*_de/*_enstructs. - Add an Apple-Silicon LoRA fallback path plus a local Python bootstrap helper for the launcher LLM training flow, so the shared
launcher-support-llmdataset can now be trained and evaluated on Macs even when CUDA and bitsandbytes are unavailable.
[2026.04.17] - Add local agent voice stage and support NPC
Added
- Add a fixed
Agent Stageto the launcher AI page with a local Minecraft-style support NPC, so the assistant now has a persistent 3D presence instead of only text chat. - Add local microphone capture, STT transcription, TTS synthesis, playback timing, and mouth-frame mapping in the launcher shell, so one tap can now run a full offline voice turn through the existing on-device LLM.
Changed
- Extend the existing skin viewer with support-stage backdrops and new agent animation states for listening, thinking, speaking, confirm, and error, so the support NPC can animate directly on the native egui renderer without a second 3D engine.
- Load the support NPC skin from the official public Minecraft player profile for
Ullminstead of a hardcoded local fallback, so the AI page avatar now follows the real player skin while still reusing local mouth animation overlays. - Rename the launcher AI surface to
Ask Ullmand align the chat CTA, page copy, and avatar label with that identity, so the local assistant reads like a named in-product character instead of a generic AI page. - Replace managed STT/TTS asset resolution with embedded
voice/bundle discovery, localized missing-bundle copy, and no-op voice install hooks, so the launcher no longer tries to resolvelauncher-support-sttorlauncher-support-ttsthrough managed asset APIs. - Stage bundled
whisper-cli,piper, and embeddedvoice/model files alongsidellama-serverin dev and release packaging paths, so local voice builds can ship the complete offline voice stack directly inside the launcher bundle. - Fall back to built-in macOS speech for local TTS, auto-stage known local Whisper models into the dev bundle, and stop surfacing passive voice setup pills in the AI page, so local launcher runs no longer idle on embedded-voice warnings before a user even starts talking.
[2026.04.17] - Hide redundant local troubleshooting install actions
Fixed
- Hide the local troubleshooting install action once the managed model is already present and up to date, so settings, troubleshooting, and the hidden debug menu no longer keep showing an
Install local troubleshootingbutton after a successful setup. - Retry local
llama-serverdiagnosis requests with the legacy top-leveljson_schemapayload when older server builds rejectresponse_format, and surface the real HTTP error message from the server body when a request still fails. - Reduce the Minecraft AI overlay height and compact its input area, so the chat window now stays visible even in shorter launcher windows.
- Limit local Minecraft chat generations and give them a shorter hard timeout, so the AI page no longer sits indefinitely on
Antwort wird erzeugtwhen a local answer stalls. - Stage the dev
llama-serveras a symlink to the working bundled runtime instead of a copied binary, so the local AI page and troubleshooting use the same functioning sidecar on macOS dev builds. - Auto-continue local Minecraft chat replies when
llama-serverstops on the token limit and keep the chat view pinned to the newest message, so answers no longer look cut off at the end of the page. - Remove the runtime hardcoded Minecraft recipe fallback again and switch the AI chat to schema-constrained model answers, so recipe cards now only appear when the local LLM itself emits a structured recipe.
- Add dedicated Minecraft chat pilot datasets, a chat answer schema, and chat golden-case evals for vanilla recipes and typo handling, so the shared launcher GGUF can be fine-tuned and regression-tested for normal player questions instead of only crash diagnosis.
Changed
- Shorten the troubleshooting setup card copy and remove long local paths and release strings from the runtime, support-model, and redacted-bundle summaries, so the setup state reads as compact status information instead of verbose internal detail.
- Add a new bottom-left launcher button for a local Minecraft AI overlay chat, so the managed on-device model can now answer direct Minecraft, Java, mods, and launcher questions outside the crash-diagnosis flow.
- Add a notification tester to the hidden debug menu with dedicated buttons for status toasts, error toasts, download-state cards, and grouped download summaries, so the bottom-right notification stack can now be regression-tested directly inside the launcher.
- Turn the local Minecraft AI chat into a full launcher page instead of a floating overlay window, so the conversation stays usable on smaller launcher heights and behaves like the rest of the app navigation.
- Render built-in crafting answers in the local Minecraft AI chat as visual recipe cards with crafting grids, result slots, and locally resolved vanilla Minecraft textures from the cached client JAR, so obvious recipe questions now look like Minecraft instead of plain text blocks.
- Switch the crafting recipe cards from generic launcher panels to cropped vanilla inventory and crafting-table GUI textures with real slot placement, so built-in recipe answers now look like the actual Minecraft crafting screen.
- Let the AI chat page consume the full remaining page height and keep the composer pinned at the bottom, so the conversation no longer sits in a short box with unused white space below it.
- Make the AI chat section itself stretch to the full remaining content area instead of shrink-wrapping around its inner form block, so the page no longer leaves a dead gap below the chat card.
- Compact the AI chat composer further and let
Entersend the current prompt whileShift+Enterkeeps adding a newline, so the full-height chat view leaves more room for messages and behaves like a normal messenger input.
[2026.04.17] - Add runtime matrix tester to the hidden debug menu
Added
- Add an
Uebliche Runtime testersection to the hidden launcher debug menu, so operators can now inspect every managed Java runtime track against the Versions API and see whether each standard or hardened JDK install is present locally.
Changed
- Let the debug runtime tester optionally force-install or refresh all managed runtime tracks from the same panel, so automatic runtime maintenance can now be smoke-tested for Java 8, 16, 17, and 21 without leaving the launcher UI.
[2026.04.17] - Always stage bundled llama-server for local launcher runs
Changed
- Stage the embedded
llama-serverruntime into local debug launcher builds automatically and broaden dev runtime discovery to existing staged release bundles, so the troubleshooting assistant no longer reports a missing bundled runtime during normal local launcher runs.
[2026.04.17] - Add hidden launcher debug menu
Added
- Add a version-click debug menu in the launcher sidebar, so operators can open hidden smoke-test tools directly from the current build number without exposing a permanent navigation entry.
Changed
- Add bundled troubleshooting debug actions for status refresh, local model install or removal, log access, and direct LLM smoke runs against the currently selected profile, so local troubleshooting can now be exercised end to end from the UI.
[2026.04.17] - Add launcher support model release gates
Added
- Add pilot train/validation fixtures, a golden-case regression set, GGUF export helpers, and an end-to-end
run_qlora_release.shpipeline so the first launcher-specific troubleshooting model can be trained, evaluated, quantized, and staged reproducibly. - Add a launcher-local troubleshooting smoke path that can run directly against a local GGUF override, so model validation no longer depends on publishing a release to
launcher-support-llmfirst.
Changed
- Extend the local LLM docs and script guidance with concrete release-gate commands for schema validation, golden-case behavior checks, GGUF export, and local launcher E2E before publish.
[2026.04.17] - Stage signed launcher support model releases
Added
- Add a dedicated
scripts/build-launcher-support-llm.shrelease helper plus a matchinguebliche.devdeploy action, so the managed local troubleshooting GGUF can now be staged, signed, and published toservice/launcher-support-llmwithout ad-hoc manual API payloads.
Changed
- Teach the
uebliche.devversion deploy path to merge per-artifact metadata sidecars into uploaded release artifacts, so launcher support model releases can publishsignatureFormat,signatureKeyId, base-model lineage, and other GGUF metadata alongside the uploaded file.
[2026.04.17] - Bundle llama-server and harden local model trust
Changed
- Bundle
llama-serverdirectly into native launcher releases and treat it as embedded runtime state in the UI, so local troubleshooting no longer downloads or removes a separate runtime service artifact. - Verify
launcher-support-llmdownloads with bothsha256and an Ed25519 signature over the lowercase SHA-256 digest string, so managed local model installs now fail closed when release metadata or bytes are tampered with. - Limit local troubleshooting install, update, and remove actions to the managed GGUF model only, while still showing the bundled runtime path and version separately in settings and the troubleshooting modal.
[2026.04.17] - Manage local troubleshooting assets through Public Versions API
Changed
- Replace the launcher's free local troubleshooting model catalog with one managed on-device assistant, so the product UI now installs and updates a single supported GGUF release instead of exposing multiple built-in model choices.
- Resolve both the local
llama-serverruntime and the troubleshooting model through the Public Versions API, store them under the launcher's managed runtime/model paths, and show separate runtime versus assistant release state in settings and the troubleshooting modal.
Removed
- Remove the normal-user path for free-form local troubleshooting model selection and direct built-in GGUF catalog choices, so local troubleshooting is now a managed product asset instead of an ad-hoc model picker.
[2026.04.16] - Add local launcher troubleshooting LLM path
Added
- Add a local troubleshooting backend for the native launcher that can run GGUF models through
llama-server, so crash diagnosis no longer depends only on remote Codex sign-in and MCP wiring. - Add a reproducible launcher LLM scaffold with JSON schemas, sample JSONL cases, QLoRA training scripts, adapter merge tooling, and a smoke-eval helper, so the local troubleshooting model can be fine-tuned and validated inside the launcher repo.
Changed
- Replace the built-in local GGUF catalog with compact troubleshooting defaults centered on Qwen 2.5 1.5B, Llama 3.2 1B, and SmolLM2 1.7B, so the local path fits the launcher's on-device size budget better.
- Generalize launcher troubleshooting copy to cover both Codex and local models, while keeping the same redacted diagnostics preview and setup flow in the native UI.
[2026.04.16] - Preserve updater artifact file names
Fixed
- Save launcher updates under their real artifact file names instead of the generic
/downloadendpoint name, so clickingInstall updatenow launches the actual installer or archive instead of a file literally nameddownload.
[2026.04.16] - Stabilize download toast layout
Fixed
- Keep the download notification toast at a stable compact height while progress updates stream in, so the bottom corner card no longer grows taller over time during one running download.
[2026.04.16] - Simplify launcher settings sections
Removed
- Remove the dedicated appearance card from launcher settings now that the native UI always follows the system theme without any local controls.
Changed
- Refocus the settings page copy on launcher updates, storage, and Minecraft options sync so the remaining sections describe only actionable areas.
[2026.04.15] - Fix rebuilt launcher update detection
Fixed
- Stop the native launcher updater from treating two same-day builds with the same commit hash as the same release when their build timestamps differ, so rebuilt launcher releases like
2026.4.15-b02210918bbe290to2026.4.15-b15570918bbe290are now offered correctly.
[2026.04.15] - Align launcher uebliche.dev deploy metadata
Fixed
- Make the launcher release helper reuse the
uebliche.devbuild tag when it is provided, so packaged artifact names now stay in sync with the version metadata thatuebliche.netreceives during deploys. - Let the
Deploy launcheraction askuebliche.devto generate platform update manifests on the runner side, so the launcher deploy path no longer depends onrelease.shuploading its own manifest sidecars.
[2026.04.15] - Fix macOS launcher release bundling
Fixed
- Replace the macOS
Info.plistheredoc inrelease.shwith direct file writes so cross-platform launcher deploys no longer hang in the Apple bundle preparation step before the darwin artifacts are packaged and published.
[2026.04.15] - Keep manual mod toggles enabled
Fixed
- Stop launcher background profile builds from silently flipping manually re-enabled mods back to
disabledwhen the current build cannot resolve a compatible artifact yet, so the profile manifest now preserves the user's toggle choice instead of overwriting it a few seconds later.
[2026.04.15] - Speed up profile detail switching
Changed
- Reuse cached profile detail and asset payloads when switching back to an already opened profile and refresh them in the background, so the native launcher no longer blanks the profile detail page on every revisit.
- Cache runtime-state detection for a short window across profile detail loads, so moving between profiles with the same security/runtime requirements avoids repeating the same local runtime scan on every click.
[2026.04.15] - Derive profile playtime from launcher sessions
Changed
- Make launcher sessions the only write path for launcher playtime, so local profile stats stop writing separate
profile.stats.jsontotals and the profile browser now reads one derived session-backed index instead of a second live system. - Track local launcher sessions for offline and unsupported accounts as well, while keeping remote playtime sync limited to Microsoft-backed accounts so device-crossing totals stay cloud-backed without losing local profile playtime UX.
- Seed the new local profile playtime index once from legacy profile stats and persist a stable
profileSyncIdin profile manifests, so existing profile totals survive the cleanup and future cloud profile sync has a durable join key.
[2026.04.14] - Sync launcher playtime across devices
Added
- Add authenticated launcher session journaling with offline upload retry, so Microsoft-backed launcher playtime now survives disconnects and syncs to the Public API once the client is back online.
- Add a native launcher dashboard activity heatmap with launcher total, ingame total, and pending local time, so the selected account now shows a GitHub-style weekly play history at a glance.
Changed
- Keep launcher sessions as the primary source for the new global playtime summary and use the existing ingame
playtimeDailydata only as a secondary breakdown, so the new dashboard cards avoid double-counting across systems.
[2026.04.14] - Respect launcher profile list width
Fixed
- Make shared launcher entity cards respect their actual local container width so nested lists stop measuring against the wrong viewport, while local profile browser rows keep using the full available content width.
- Stop the toolbar's recent-profile chips from inflating with the available header space by clamping the switcher to fixed compact chip and dropdown widths and only showing two recent profiles before folding the rest into
Weitere. - Pull the local profile browser's
Startenaction block into a narrower right-aligned column, so full-width list cards keep the controls flush with the right edge without the old oversized button box.
[2026.04.14] - Auto-install JDK 21 runtime
Fixed
- Make the launcher's automatic Uebliche Runtime maintenance explicitly resolve and install the Java 21 build, so a fresh mandatory runtime setup no longer skips the required JDK 21 download.
[2026.04.14] - Compact download notification stack
Fixed
- Keep the launcher's bottom-right download notifications compact by showing one detailed download card plus a short overflow summary, instead of letting parallel transfers stack upward indefinitely.
[2026.04.14] - Align updater actions in settings
Changed
- Keep the
Updateraction buttons right-aligned beside the update metadata in launcher settings, instead of dropping the action row underneath the status block.
[2026.04.14] - Widen launcher profile cards
Changed
- Let the native launcher profile cards use the full available row width again, and move each profile's default account into the right action column below
Starten, including the player's skin head.
[2026.04.14] - Restore launcher page scrolling
Fixed
- Restore vertical scrolling on the launcher's shared
Playpage for bothSingleplayerandMultiplayer, keep separate scroll positions per sub-tab, and bring back the missing top-level page scroll onFeedback.
[2026.04.14] - Hide runtime internals in profile details
Changed
- Replace the launcher profile Java copy with neutral automatic-management wording, and remove the runtime, Java, and raw profile lock rows from profile details so the UI no longer exposes internal runtime or lock identifiers.
- Reword the launcher's sidebar kicker lines to action-oriented copy such as discovering more, grinding quests, and personalizing skins, while keeping the main tab labels simple.
- Keep the selected skin stable on the
Skinspage while the cloud library refreshes in the background, so the preview no longer snaps back to the first entry a few seconds after choosing another skin. - Shrink the header's recent-profile switcher down to its real content width and tighten the chip sizes, so the profile row no longer keeps expanding into an oversized wide block.
[2026.04.14] - Add daily ad quest card
Added
- Add a dedicated
Daily Questcard above sponsored server quests that opens the browser-based rewarded-ad hub, polls ad-session status, and resumes an active session after reload until the daily flow resolves.
Changed
- Back launcher quest summary reads from
GET /v1/quests/state, extend quest payloads withsystem_admetadata, and refresh the normal quest wallet plus sidebar QP only after the Public API confirms a rewarded ad-session completion.
[2026.04.14] - Stretch launcher header full width
Changed
- Render the native launcher's top header as a full-width bar across the whole window, while keeping the sidebar and page content layout below intact so the shell reads as one continuous frame.
- Anchor the header's profile chips to the right edge of the toolbar again, so the title block stays left-aligned while recent profiles stack flush with the window chrome.
- Keep the launcher rail visually full-height by stopping the header separator at the content area, so the sidebar reads as one continuous column from top to bottom again.
- Remove the toolbar's extra right inset, so the profile chips sit truly right-aligned instead of looking recessed from the window edge.
- Restore the launcher's previous type scale by dropping the temporary global UI zoom, so text matches the earlier April 13, 2026 appearance again.
- Keep the signed-in account name in the top-left sidebar header on one line and give that rail more room, so long player names no longer collapse into ellipses or forced wraps.
- Enlarge the sidebar profile avatar and top-align it with the account name block, so the image starts on the same visual baseline as the first text row.
- Increase the sidebar text scale for navigation, account details, popup entries, and footer labels, so the left rail reads closer to the larger avatar and profile chrome again.
- Normalize the sidebar avatar padding to the same inset on the top, left, and bottom edges, so the profile image no longer looks vertically offset inside its card.
- Put the sidebar rank back on the left and keep QP on the same row flush right, while preserving the avatar's equal outer inset inside the account switcher.
- Split the sidebar account header's rank and QP onto separate rows, so the left rail no longer crams both values into the same line.
- Replace the sidebar account header's
QPtext badge with a compact quest-point icon, while keeping the value right-aligned on the same metadata row. - Pin the sidebar rank to the left edge and the quest-point block to the right edge of the same metadata row, so the account header reads as two cleanly opposed columns again.
- Enlarge the sidebar navigation glyphs and shift the text block accordingly, so the left rail icons read stronger without colliding with the larger labels.
- Increase the sidebar icon footprint again to a larger rail glyph size, so the navigation symbols read more prominently at a glance.
- Build the toolbar row from the right edge outward, so the header's profile chips stay hard-aligned to the far right even as the title block or window width changes.
- Remove the toolbar header's remaining left inset, so the page title starts flush with the content edge instead of floating with extra empty space on its left.
- Remove the toolbar row's implicit widget spacing, so the header title no longer keeps a leftover gutter on its left beyond the explicitly chosen profile gap.
- Switch the header row to explicit left and right rects, so the title locks to the content edge even if nested layout spacing would otherwise reintroduce a left gutter.
- Normalize the toolbar inset to the same value on all four sides, so the header content keeps one consistent edge distance instead of mixing separate top, bottom, left, and right padding.
- Raise the top-left account switcher to the same overall height as the header bar, so the sidebar entry aligns vertically with the toolbar instead of ending early.
- Widen the launcher sidebar again, so the larger account avatar regains balanced inset spacing instead of feeling cramped against the rail edge.
- Match the toolbar's inner content height to the same
70pxouter shell as the top-left account switcher, so both top bars now finish at the same exact height. - Drop the sidebar account switcher's dropdown chevron onto the lower metadata row, so the toggle icon sits visually centered in the bottom half of the profile button instead of floating mid-card.
- Clamp launcher profile names to each chip's real inner text width, so long profile labels now ellipsize inside the header buttons instead of spilling past their borders.
- Remove the dedicated
Screenshotsentry from the launcher sidebar, so the left navigation stays focused on the primary workspaces instead of exposing the capture library as a main rail destination. - Compress the
Minecraft Options Syncblock in settings by merging its status and action rows and shortening the JSON viewers, so the section takes noticeably less vertical space without hiding sync details. - Right-align the
Updateraction buttons in settings, so the download and check controls line up with the card edge instead of floating from the left. - Add a consistent gap between metadata keys and values across shared UI helpers, so settings, world details, profile panels, and similar info rows no longer read as visually stuck together.
- Keep the Quests page on the last successful summary and campaign list while background refreshes are running, and only show
Quests werden geladenduring a true first load with no existing quest content. - Enlarge the sidebar navigation title text again, so the primary labels in the left rail read more prominently against the already larger icons and profile chrome.
- Vertically center the combined two-line sidebar label block inside each nav button, so the top and bottom text now keep matching padding instead of sitting visibly high in the card.
- Replace the sidebar
Profileglyph with a cleaner bust-style silhouette, so the launcher rail reads less like a placeholder stick figure and more like a finished profile icon.
[2026.04.14] - Merge play tabs and add JoinMe
Changed
- Merge the launcher's old
WorldsandServersnavigation entries into onePlayworkspace with dedicatedSingleplayerandMultiplayertabs, so world browsing and personal server management now live under one shared shell. - Keep public community servers inside
Discover, and reroute quest and public-profile server focus back intoDiscover > Serversinstead of opening the personal multiplayer workspace.
Added
- Add a
JoinMepanel above the multiplayer server desk that surfaces online friends with active multiplayer presence, current server context, direct join actions, and chat fallbacks. - Extend launcher social presence with structured multiplayer join targets, so the launcher and Public API can publish and return server address plus optional server name for friend activity.
[2026.04.14] - Focus existing launcher instance on restart
Fixed
- Reuse and focus the already running native launcher window on a second start, including restoring minimized windows and forwarding import handoffs there instead of surfacing a duplicate-instance error dialog.
[2026.04.14] - Add seed render submissions
Added
- Accept
renderCoordinatesin published seed templates, keep a deterministic preview-bundle target even before outputs exist, and expose an admin seed-render queue so automated workers can pick up submitted seeds, render gallery shots plus preview bundles, and attach the finished assets later without republishing the whole world.
[2026.04.14] - Add launcher seed discovery
Added
- Add a dedicated
Seedscategory to Discover with seed cards, a detail window, gallery browsing, a prepared 3D terrain preview, and directCreate compatible worldactions separate from published world-copy imports. - Project public seed templates from published worlds into the native launcher flow, automatically creating a matching profile, installing required mods, materializing the seed world locally, and optionally quick-playing straight into the generated save.
[2026.04.14] - Stabilize launcher quest sidebar
Changed
- Move the quest-point counter into the account switcher's rank row, align it flush right, and keep the previous quest summary plus quest list visible during refreshes so reloading no longer flashes empty quest states in the launcher.
- Restore the native launcher's classic stacked sidebar labels with the section eyebrow above the page title, while keeping the quest-point counter in the account header and truncating long account names so the older rail style stays readable.
- Stretch the sidebar's internal layout to the real panel width again, so the restored classic rail no longer leaves a dead dark strip between navigation content and the main page.
- Tighten the actual side-panel width back down to the classic rail footprint, so the launcher no longer reserves an extra dark gutter beside the restored sidebar.
- Match the sidebar frame and inactive navigation cards to the same rail surface, so any remaining reserved rail space no longer reads as a black vertical bar next to the launcher content.
- Let unused sidebar panel space fall back to the page background instead of painting it as a dark rail, so only the actual navigation column stays visually dark when the classic sidebar layout is active.
- Restore a stable classic sidebar width and switch the stacked nav titles to short sidebar-specific labels, so the old two-line navigation stays readable instead of collapsing into a clipped dark strip.
- Replace the launcher's sidebar shell with an explicit fixed rail plus content column and stop painting a fake internal gutter, so the classic navigation no longer leaves a visible vertical bar beside the main page.
- Put the sidebar logs shortcut back to the right of the system options row and restore calmer page plus toolbar padding, so the footer layout and header spacing match the older launcher chrome again.
- Restyle the sidebar icon set with clearer badge backplates and stronger linework, so the launcher navigation reads cleaner without changing the classic stacked label layout.
- Drop the experimental sidebar icon backplates again and return to flatter launcher glyphs, so the navigation keeps the older quieter visual character.
- Rework the Discover search header with a clearer full-width query field, visible search state, and explicit reset/apply actions, so browsing no longer feels like a cramped one-shot form.
- Widen the launcher sidebar rail and relax the account-header truncation, so the classic navigation and profile meta have noticeably more breathing room.
- Split the logs controls into a responsive search plus filter layout, so the diagnostics toolbar no longer clips against the right edge when the classic sidebar is wider.
- Raise and center the launcher top toolbar title block again, so page headers no longer look clipped against the top frame when the classic sidebar layout is active.
- Let the signed-in account name in the sidebar header wrap instead of truncating it, so longer player names stay fully readable in the classic rail.
[2026.04.14] - Add launcher quests workspace
Changed
- Add a dedicated
Questspage to the native launcher, wire the visible quest feed into its own navigation entry, and surface a live quest-point counter directly under the account switcher so sponsored progress is visible without opening the server browser first.
[2026.04.14] - Track sponsored quests from server focus
Changed
- Add explicit track and untrack controls to the public-server quest section, persist the selected quest in the Public API, and surface the tracked state directly on visible quest cards so the Connect client bridge has one canonical quest to resume on join.
[2026.04.14] - Surface sponsored server quests
Changed
- Show active sponsored quests for public servers in Discover cards and the public-server focus panel, including reward-point and audience badges so regional and language targeting is visible before joining.
[2026.04.14] - Filter Discover by install target
Changed
- Add a top-level Discover target selector that keeps profile and managed-server browsing separate, and refetch compatible catalog results for the chosen target instead of mixing profile-only and server-only entries in the same view.
- Trim repeated install-target controls and fallback hints from Discover result cards, so the global scope bar drives the page once and entry actions stay compact.
[2026.04.14] - Harden skin viewer rendering
Fixed
- Flip horizontal drag rotation in the launcher skin viewer and use per-frame pointer motion, so dragging left or right now turns the 3D preview in the expected direction.
- Flip the skin viewer's vertical drag direction, so dragging up or down tilts the preview the expected way.
- Render clothing and other overlay layers at full opacity, so body parts no longer shine through the preview because of viewer-side alpha tinting.
- Subdivide projected skin faces and sample atlas texels from their centers, so joint overlaps and transparent edge transitions flicker far less in the 3D preview.
- Hide raw cape IDs in the launcher cape browser and preview details, so cape cards only show player-facing names instead of technical identifiers.
- Allow stronger mouse-wheel zoom and shift-drag camera panning in the skin viewer, so close inspection no longer depends on rotation alone.
- Remove active and inactive cape state labels from the cape browser and preview details, so the cape UI relies on selection styling instead of duplicated status text.
- Stack cape card actions cleanly and restyle cape previews with a lighter frame plus a larger default cape-viewer model, so cape browsing no longer clips buttons or sits on a harsh dark background.
- Render Elytra with cape texture on body-mounted wing faces instead of a detached placeholder polygon, so the preview now shows textured wings anchored to the player's back.
[2026.04.14] - Simplify profile browser cards
Changed
- Remove the profile-browser click hint, the redundant active badge, and the repeated loader/version line, so profile rows stay denser and rely on selection styling plus recent activity instead of duplicate labels.
- Mark track-based Minecraft versions with
*in launcher profile surfaces, so profiles that always follow the latest release or snapshot stay visually distinct from pinned versions.
[2026.04.14] - Remove local-only skin library fallback
Changed
- Treat launcher skin builder projects as account-backed cloud entries instead of keeping a separate legacy-local library section, so saved projects follow the logged-in account across launchers.
- Stop duplicating builder skins into local-only cache entries and create the duplicate directly in the cloud collection, so the library no longer reintroduces unsynced local skin state.
[2026.04.14] - Clarify runtime distribution source
Changed
- Clarify launcher runtime documentation and legacy notes so the current runtime source of truth is the Public Versions API plus S3 artifacts, not the removed Git-backed runtime repository.
[2026.04.14] - Add recommended RAM sliders to profile settings
Changed
- Replace the profile RAM text inputs with native min/max sliders and mark the recommended window based on the machine's detected system memory, so profile tuning no longer feels like guesswork.
[2026.04.14] - Force the launcher onto Uebliche Java
Changed
- Route every launcher Java start through the managed Uebliche Runtime and stop honoring profile-level Java overrides or Mojang runtime fallbacks, so the launcher can no longer switch to foreign Java installations.
Fixed
- Stop profile builds and pre-download flows from materializing Mojang Java runtimes, so Java provisioning no longer bypasses the launcher-managed runtime pipeline in the background.
[2026.04.14] - Surface download progress in launcher toasts
Added
- Show active launcher downloads directly in the bottom-right notification stack with a live progress bar, transfer status, and speed, so on-demand runtime installs no longer happen without visible feedback.
[2026.04.13] - Correct the fly viewer pose
Fixed
- Retune the skin viewer
Flypose into a compact glide and lock the torso-bottom UV mapping with a renderer test, so the preview no longer looks broken when it exposes the underside.
[2026.04.13] - Correct the swim viewer pose
Fixed
- Make head, arms, and legs inherit torso pitch in the skin viewer and retune the swim pose, so the preview now reads as a forward swim stroke instead of a stiff body with detached limbs.
[2026.04.13] - Recenter the sidebar version label
Fixed
- Keep the launcher sidebar build number centered on its own footer row, even when an update marker is visible, so the version label no longer shifts sideways.
[2026.04.13] - Neutralize the viewer attack pose
Fixed
- Rework the skin viewer
Attackpose into a diagonal strike with less arm extension, so the preview no longer reads like a salute-like straight-arm gesture.
[2026.04.13] - Correct the sneak viewer pose
Fixed
- Rebalance the skin viewer
Sneakpose with a forward weight shift and a smaller head counter-tilt, so the crouch preview no longer reads like the player is leaning backward.
[2026.04.13] - Fix skin viewer head-arm overlap
Fixed
- Sort skin preview geometry per triangle instead of per full face, so the 3D viewer no longer lets the head clip through an arm from shallow overlap angles.
[2026.04.13] - Remove the friend avatar status dot
Fixed
- Stop rendering the extra online-status dot inside launcher friend rows, so the friends list no longer shows a stray circle overlapping the avatar area.
[2026.04.13] - Merge Mojang and Uebliche capes
Changed
- Rebuild the launcher
Capestab as a mixed-source browser withMojangandUeblichefilters, search, preview cards, and one normalized active cape selection model instead of the previous Mojang-only preview grid. - Persist normalized cape selections in the local launcher skin cache and migrate legacy
cape_urlentries automatically, so older local data survives the new source-aware model without manual cleanup.
Added
- Add public
ueblichecape browsing, upload-term acceptance, and direct activation flows to the native launcher, including the same preview catalog inside the skin builder with separatePreview onlyandSet active capeactions that do not write cape ids into saved skin projects.
[2026.04.13] - Keep cape previews proportional
Fixed
- Preserve the original aspect ratio of cape card previews and builder cape previews, so cape thumbnails are letterboxed inside their cards instead of being stretched across the available width.
[2026.04.13] - Finish cloud-synced skin rollout
Changed
- Split the Skins library into
CloudandLegacy local, keep Microsoft account skins out of the legacy-only list, and only allow activate/submit/withdraw actions on cloud-backed skins so the rollout matches the new product rules. - Copy approved community skins into the signed-in user's cloud gallery from Discover, count those explicit copy/open actions as downloads, and refresh the selected library entry/status immediately after the cloud write completes.
Added
- Auto-migrate builder-native local skins into the cloud once per signed-in account, preserve unsupported legacy skins as local-only entries, and surface the new migration/copy states directly in the launcher UI.
[2026.04.13] - Publish Uebliche runtimes per Java line
Fixed
- Restore the local launcher startup after the cloud-first skin library rollout by shipping the missing
legacy localskin-library translations, so the native app no longer panics on the Skins page during boot. - Map the Skins-page cape preview with a cape-specific face layout, so the visible outer panel and the body-facing inner panel no longer render flipped.
- Add a compact animation picker to the Skins viewer and animate walk, jump, sneak, attack, sit, swim, and fly poses in the native preview, so skins can now be checked in motion instead of only in the static idle pose.
- Anchor the animated skin viewer head, arms, and legs to the torso pivots instead of leaving them on static world positions, so sneak/swim/fly-style poses no longer tear the torso apart.
- Replace the Cape tab text list with a wrapped preview grid, so each cape can now be picked directly from a visual card instead of only from IDs and status text.
Changed
- Resolve and install
service/runtimeartifacts per requested Java major version, so launcher-managed Uebliche runtimes can keep Java 8, 16, 21, and 25 builds side by side instead of overwriting one shared install path. - Expand the runtime release build/deploy pipeline to publish Java-matrix artifacts under one release, tagging each runtime archive with its Java line so the launcher can ask the Public API for the matching runtime instead of guessing from a single target-only release.
- Drop the old Storage-backed
update-*.jsonfallback for launcher-managed Connect and runtime updates, so current launcher builds now depend only on the Public Versionsresolveanddownloadendpoints instead of legacy API or S3-style manifest paths. - Resolve missing runtime archives through current vendor defaults when Adoptium has gaps, so
java8andjava16can now build formacos-arm64,java6can ship where an x64 archive still exists, and unsupported combos fail fast unless an explicit per-combo archive override is configured.
[2026.04.13] - Cloud-sync launcher skins
Changed
- Move the launcher skin library to a cloud-first flow, keep the local
skins.jsononly as a cache/fallback mirror, and activate the selected launcher skin through the profile API instead of the old Mojang-account apply action. - Remove the visible PNG import and selected-account base-skin bootstrapping flows from the launcher skin builder, so new skins are authored from launcher parts instead of imported external skins.
- Add
SkinsandSkin Partssections to Discover, so approved community launcher skins and approved builder parts are now browsable from the same discovery surface.
Added
- Store cloud builder skins through new profile/public skin-builder skin endpoints, including immutable runtime manifests and discover submission/withdraw actions.
- Extend launcher community skin parts with animated layer frames plus part-wide
fps/loopmetadata, and play those animations in the market editor and builder preview. - Allow opening approved community skins from Discover directly as a new builder draft, so community submissions can be reused without leaving the launcher.
Fixed
- Let public skin and skin-part discovery requests run without requiring a logged-in Microsoft account inside the launcher core, so the new Discover sections do not fail for signed-out users.
[2026.04.13] - Remove the launcher icon background card
Fixed
- Regenerate the native launcher app icons with a transparent background instead of the old opaque white card, so the macOS app icon and in-app window icon no longer show a white square behind the brand mark.
[2026.04.13] - Refine the skin viewer pivot and cape depth
Fixed
- Center the Skins preview around the player body, keep manual drag rotation under user control, and cull hidden model faces so the viewer no longer snaps back unexpectedly or renders the cape through the body.
- Offset the cape slightly behind the torso while keeping it a proper one-pixel-thick cuboid, so cape previews read as a clean rectangular sheet instead of a distorted overlay.
- Stop drawing the old ghost cape fallback when no real cape texture is available, so skins without a loaded cape no longer show a translucent sheet bleeding through the torso.
- Hinge the cape from the upper back with a slight backward tilt instead of leaving it as a near-vertical slab, so the preview matches Minecraft proportions more closely and avoids torso overlap in front views.
[2026.04.13] - Fix cape viewer rendering
Fixed
- Render the Skins page cape preview as a proper textured 3D cape volume with the correct Minecraft cape UV layout and depth ordering, so the cape no longer appears flat or wrongly painted across the player model.
[2026.04.13] - Restore launcher window placement
Fixed
- Remember the native launcher window position, size, and maximized/fullscreen state in the startup cache and restore that placement on the next launch, so the app opens where it was last used instead of always falling back to the default frame.
[2026.04.13] - Auto-download enabled profile mods
Fixed
- Materialize enabled profile mods into
instance/modsduring the launcher's auto-build pass, so toggled or updated mods no longer stay stuck asnot downloadeduntil the next full Minecraft launch. - Refresh the selected profile detail and asset views after that auto-build finishes, so the launcher UI immediately reflects when missing mod files have been downloaded.
[2026.04.13] - Surface pending launcher updates earlier
Changed
- Show an
outdatedbadge next to the launcher version in the sidebar as soon as a newer launcher build is detected, so stale installs are visible without opening the settings page first.
Fixed
- Check for launcher updates automatically during startup and install pending updates when the launcher is closed, so update rollouts no longer depend on opening Settings and clicking the installer action first.
- Keep the launcher closed after a close-triggered silent Windows update instead of immediately starting the fresh build again.
- Tighten the Minecraft Options Sync section in Settings with denser status rows and shorter local/cloud previews, so the sync controls fit more cleanly without pushing the rest of Settings down.
- Show live updater check feedback in Settings and remember when the launcher last checked for updates, so the updater state is understandable even when no new version is available.
- Detect when an installed Uebliche Runtime is too old for the selected Minecraft Java requirement, fall back to the matching Mojang runtime for non-strict launches, and fail early with a clear message instead of letting Java exit with a bare
code 1. - Regenerate the launcher app icons from the transparent branding SVG at 1024px and ship a multi-size Windows
.ico, so the native app icon stays sharp instead of relying on the older lower-resolution bitmap export.
[2026.04.13] - Stretch content cards
Changed
- Stretch top-level launcher content cards to the full page width in the shared settings and summary layouts, and do the same on the
Screenshotspage so panels likeAuswahlwerkzeug, the selected screenshot view, andLetzte Aufnahmenno longer float at their content width. - Keep screenshot thumbnails and the selected screenshot preview aspect-correct inside those wider panels, so the screenshots themselves no longer get stretched when the surrounding content cards use the full width.
- Reduce the default skin-viewer camera scale and re-center the unfocused 3D preview, so the Skins page shows the full player model again instead of clipping almost everything above the feet.
[2026.04.13] - Run Windows updater silently
Fixed
- Start Windows launcher updates from Settings in silent installer mode, close the running launcher right after the installer has been kicked off, and relaunch the updated app automatically when setup finishes instead of showing the full NSIS wizard.
[2026.04.13] - Speed up launcher shutdown
Fixed
- Short-circuit the launcher close path and stop waiting on the UI runtime shutdown, so clicking the native close button dismisses the launcher noticeably faster instead of finishing a full frame and blocking on background tasks first.
[2026.04.13] - Fix task manager launcher name
Fixed
- Embed Windows launcher version metadata with the branded product name, so Task Manager and related system dialogs show
Uebliche Launcherinstead of the internallauncher-uicrate name.
[2026.04.13] - Shrink launcher baseline size
Changed
- Lower the native launcher default and minimum window sizes and apply a slightly smaller global UI zoom, so the app fits more comfortably on smaller screens without changing page-specific behavior.
[2026.04.13] - Remove discover all tab
Changed
- Drop the combined
Alletab from Discover and default the page toMods, while surfacingPluginsas its own first-class category so each discover feed stays directly reachable without the old aggregate view.
[2026.04.13] - Wrap screenshot rows
Fixed
- Break the screenshot-card strips on the
Screenshotspage into multiple rows based on the available viewport width, soLetzte Aufnahmenand trash items no longer run off the right edge on narrower launcher windows.
[2026.04.13] - Limit launcher to one running instance
Fixed
- Prevent the native launcher from opening a second window while another launcher process is already active, and show a localized startup dialog instead so parallel launcher instances cannot drift apart in state anymore.
- Forward import-package, share-code, and
uebliche-launcher://startup requests to the already running launcher instance instead of dropping them when the second process is denied.
[2026.04.13] - Fix slim skin preview arms
Fixed
- Render slim launcher skin previews with the correct 3-pixel arm UV layout and arm anchor positions, so Alex-style skins no longer show broad-arm gaps or detached shoulders in the 3D viewer.
[2026.04.13] - Restore news page scrolling
Fixed
- Wrap the launcher news page in the standard main-content scroll container and size the news panels against the visible viewport, so the
Newstab can be scrolled again even when the launcher window is shorter than the combined header and card layout.
[2026.04.13] - Fix launcher settings update checks
Fixed
- Respect the public versions API update signal in the launcher settings while still suppressing same-build false positives, so
Check for updatesno longer misses real launcher releases just because the release record version and binary version use different legacy formats.
[2026.04.13] - Treat Am-I-Secure as a normal profile mod
Changed
- Remove the dedicated profile launch toggle for Am-I-Secure and rely on the regular installed profile mod entry instead, so protected profiles use the same mod management flow as other launcher extensions.
[2026.04.13] - Use umlauts in Windows installer copy
Fixed
- Render the German Windows installer labels with real umlauts again, so shortcut options and finish-page copy no longer fall back to
ae,oe, anduetransliterations.
[2026.04.13] - Register Windows deeplinks
Fixed
- Register the
uebliche-launcher://URL protocol during Windows installer runs so hosted import links can open the installed launcher directly after setup. - Repair the same Windows URL-protocol registration when the shipped launcher starts, so existing installations can recover the missing deeplink handler without a full reinstall.
- Stop running
UeblicheLauncher.exeprocesses automatically before Windows install and uninstall steps so launcher updates can replace the binary without manual Task Manager cleanup.
[2026.04.13] - Align launcher release versions
Fixed
- Use the same timestamped version string for launcher binaries, installers, and published version records, so the native app version no longer drifts from the tracked release label.
- Restore
Cargo.lockafter release builds so local launcher worktrees no longer end up with a different checked-in package version thanapps/launcher-ui/Cargo.toml.
[2026.04.13] - Embed Windows launcher exe icon
Fixed
- Embed the launcher icon directly into
UeblicheLauncher.exe, so the Windows taskbar and the executable itself no longer fall back to the generic app icon.
[2026.04.13] - Hide Windows background shell popups
Fixed
- Start recurring Windows background helper commands without opening transient console windows, so switching launcher pages or leaving the app idle no longer flashes multiple
cmdpopups.
[2026.04.13] - Hide Windows launcher console
Fixed
- Build the native Windows launcher as a GUI application instead of a console process so starting
UeblicheLauncher.exeno longer opens an extracmdwindow. - Keep the Windows installer finish-page
Launch Uebliche Launcher nowcheckbox enabled by default so Setup starts the launcher immediately unless users opt out.
[2026.04.13] - Add installer shortcut options
Added
- Add an explicit component-selection step to the Windows installer so users can choose whether Setup should create desktop and Start Menu shortcuts instead of always writing both automatically.
- Add a finish page to the Windows installer with a direct
Launch Uebliche Launcher nowoption after Setup completes. - Reuse the launcher executable icon for the Windows installer, uninstaller, and installed-apps entry so Setup no longer shows the generic NSIS branding.
[2026.04.13] - Unblock local runtime auto-install
Fixed
- Let the local debug launcher fall back to
sha256-verified runtime installs when no explicit runtime public keys were configured at all, so hardened runtime auto-install no longer blocks local launcher runs just becauseUEBLICHE_RUNTIME_PUBKEYS_B64was left empty. - Accept the legacy single-key
UEBLICHE_RUNTIME_REPO_PUBKEY_B64override alongside the newer comma-separated runtime key env vars, so older local signing setups still plug into strict runtime signature verification.
[2026.04.13] - Surface world backup status
Added
- Show per-world backup state directly in the native launcher library and detail view, including whether a world is already backed up, which trigger last ran, which version was uploaded, and whether rollback snapshots exist.
Changed
- Keep launcher world backup metadata alongside the local world identity and update it during backup and in-place restore flows, so rollback timestamps and backup version references stay visible without opening the remote version history first.
[2026.04.13] - Bound launcher session caches
Fixed
- Prune stale remote preview image payloads and orphaned world-version detail requests during long-running native launcher sessions, so launcher memory no longer keeps growing from abandoned image and world-detail caches.
- Ignore late async skin, cape, and world refresh results once their backing account, profile, or world has already disappeared, so removed entities cannot repopulate session state after the UI has moved on.
[2026.04.13] - Stabilize profile launch account dropdown
Fixed
- Rebuild the
Profileslaunch account picker around the same account-switcher layout and a foreground dropdown overlay, while retinting the menu to the lighter profile workspace colors and keeping profile-card clicks suppressed while that menu is open, so starting a profile with another account works consistently in both the profile list and detail views. - Stop the profile-card click target from covering the right-hand action rail, so the
Startsplit button in the profile list can actually receive clicks instead of being shadowed by the card-open interaction. - Skip launcher-managed custom mods like
mapduring the generic profile build resolve step, so profiles that rely on later launch-time system-mod injection no longer fail early withno versions available for mod map.
Changed
- Drop the redundant
Openbutton from profile list cards, because a single click on the card already opens the profile hub and the action rail should stay focused on launching and logs. - Drop the duplicate
Startsplit button from the profile-detail header, because the dedicated launch panel already owns account selection, quick-play settings, and the actual launch action.
[2026.04.13] - Auto-maintain signed runtime installs
Changed
- Start a silent Uebliche Runtime maintenance job as soon as the native launcher boots, so profiles that require the hardened runtime can pull it in before the first actual game launch instead of blocking at launch time.
- Forward explicit
UEBLICHE_RUNTIME_PUBKEYS_B64values through the launcher run/build/deploy actions inuebliche.dev, so signed runtime releases can be trusted consistently while building and shipping launcher binaries. - Stop publishing legacy launcher
update-*.jsonfiles during launcher deploys, because the shipped launcher now resolves releases directly through the public versions API instead of reading S3 manifests.
[2026.04.13] - Restore Windows installer packaging
Changed
- Build a real Windows NSIS installer alongside the portable ZIP again, and prefer that installer for the standard
windows-x86_64launcher release while keeping the portable artifact on its own optionalwindows-x86_64-portabletrack.
Fixed
- Stop copying stale
WebView2Loader.dllfiles into the portable Windows launcher ZIP when the native launcher binary does not import that DLL anymore.
[2026.04.12] - Respect active featured windows
Changed
- Highlight public servers in the native launcher only while their featured flag or configured feature window is active, and sort the explorer using that effective live state instead of a static flag.
- Carry featured server emphasis into the public profile browser and discover profile cards so event-promoted server profiles surface more clearly alongside the featured launcher server list.
[2026.04.12] - Surface discover profile import progress
Fixed
- Show an immediate
Discoverstatus message as soon as a modpack or public shared profile import starts, so theImport profileaction no longer feels dead while the launcher is still converting the profile in the background.
[2026.04.12] - Smooth discover load-more rendering
Fixed
- Stop the native launcher
Discoverlists from rebuilding and recloning full result sets on every frame after repeatedLoad more, so longer modpack, mod, server, and world feeds stay responsive while browsing. - Normalize public profile search keys once per filter pass instead of once per entry, so mixed public-profile feeds no longer add avoidable CPU work while rendering the discover page.
- Show native launcher
Discoversection counts from summed endpoint totals instead of only the locally preloaded rows, so badges for mods and modpacks reflect the real result size behind the current query, and worlds can do the same once the updated public API is running.
[2026.04.12] - Import modpacks as launcher profiles
Added
- Let native launcher
Discover -> Profilesimport Modrinth and CurseForge modpacks straight into new local launcher profiles, so packs no longer stop at the details browser and can be converted into runnable profiles in one step. - Convert bundled override files and local mod jars during modpack import, so pack-specific configs, resources, and embedded addons land in the created profile instead of being dropped.
[2026.04.12] - Inline launcher profile editor
Changed
- Render the native launcher
Edit profileflow inline inside the selected profile workspace instead of opening a detached overlay window, so editing now stays in the same content column and matches the rest of the launcher detail layout.
[2026.04.12] - Simplify launcher skin selection
Changed
- Let native launcher skin-library rows switch the selection on a simple click, so the dedicated
Viewbutton is no longer needed for browsing entries.
[2026.04.12] - Keep launcher server status cached
Fixed
- Keep cached launcher server ping, MOTD, and player counters visible across page switches and directory refreshes, so server cards no longer drop their status pills while fresh data is still loading.
- Merge refreshed launcher server status into the existing row state instead of blanking missing fields first, so re-pings now only overwrite values that actually changed.
[2026.04.12] - Restore launcher skin viewer textures
Fixed
- Rebuild missing full skin textures for older local builder skins before drawing or applying them, so the native launcher library preview can open the 3D viewer again instead of getting stuck on
No skin texture.
[2026.04.12] - Unify launcher search chrome
Changed
- Rebuild the native launcher search inputs around one shared search field with a consistent badge, framed input, and inline clear action, so
Profiles,Discover,Mods,Logs,Chat,Feedback, and skin-part browsing all read like one launcher-wide pattern instead of page-local variants. - Wire Enter and inline clear interactions through the shared launcher search field, so submit-driven pages like
DiscoverandModskeep their explicit refresh flow while local filters reset in the same compact way across the rest of the launcher.
[2026.04.12] - Backfill launcher profile icons
Fixed
- Materialize a generated fallback icon for launcher profiles whenever one is missing, so newly created, imported, existing, and reset profiles no longer surface a null icon path.
[2026.04.12] - Tighten launcher friends list
Changed
- Compress native launcher friend rows into a calmer two-line layout with smaller avatars, lighter status markers, and one compact group-toggle action, so the social rail shows more friends at once instead of feeling button-heavy.
[2026.04.12] - Cache launcher account skins
Changed
- Persist native launcher account skin previews in the local startup cache and rebuild avatar head sources from them on restore, so Microsoft account skins are already available when the launcher opens instead of waiting for a fresh preview fetch every start.
[2026.04.12] - Stretch launcher friends rail
Changed
- Let the native launcher social friends rail fill the full available content height in the wide desktop layout, so the left list panel no longer ends early while the rest of the social workspace still has free vertical space.
[2026.04.12] - Cache launcher friend avatars
Fixed
- Reuse cached Minecraft head textures for native launcher friends and render those heads directly in the friends rail, so the social list no longer falls back to plain initials after the first load.
[2026.04.12] - Refine troubleshooting modal
Changed
- Rebuild the native launcher troubleshooting window around a calmer hero header, clearer setup state cards, and a darker diagnostics preview panel, so crash-analysis prep feels structured instead of stacked into one long generic form.
- Tighten the troubleshooting action row with readiness-aware buttons for analysis, setup refresh, login, and MCP connect or disconnect, so blocked Codex steps are easier to understand before anything is sent.
- Present Codex progress and result sections in distinct tinted panels, so summaries, probable causes, fixes, and evidence are easier to scan during and after launcher crash analysis.
[2026.04.12] - Calm launcher status toasts
Fixed
- Stop native launcher status toasts from opening the full-message hover tooltip for ordinary truncated updates, so short-lived notifications no longer cover the workspace with a second oversized bubble while hovering them.
[2026.04.12] - Refresh launcher chat like Discord
Changed
- Rework the native launcher
Chatworkspace into a denser Discord-like layout with avatar-led DM and group rows, a clearer channel header, and a grouped message timeline instead of one isolated card per message. - Move native launcher chat composing into one docked compose panel with inline attachments, a collapsible poll editor, and a multiline message box, so sharing files, screenshots, polls, and text feels closer to one continuous chat flow.
[2026.04.12] - Make discover loading animation blocky
Changed
- Replace the native launcher
Discoverworkspace's round spinner rows with a block-based loading animation, so catalog, profile-feed, world, and detail loading states match the launcher's chunkier visual language.
[2026.04.12] - Fix launcher Microsoft browser link
Fixed
- Open the native launcher Microsoft device-code browser action with the documented
verification_urionly, so the account-link flow no longer tries to auto-inject the OTC code into an unsupported Microsoft URL variant. - Combine the native launcher Microsoft device-code CTA into one action that opens the browser and copies the code, so the sign-in flow no longer splits the two required steps across separate buttons.
- Start polling the native launcher Microsoft device-code sign-in automatically as soon as the code is issued, so the account flow no longer depends on a separate manual verification step.
[2026.04.12] - Rebalance launcher dashboard news rail
Changed
- Rebalance the native launcher dashboard news hero into a 75/25 split, so the latest article keeps most of the header width while older entries move into a denser right-hand news list.
- Rebuild the native launcher
Newsworkspace into a split feed with a selectable article rail and a dedicated reading pane, so browsing several posts no longer means scrolling through one long stack of oversized cards. - Format launcher news timestamps with the shared human-readable date helper, so news cards no longer expose raw RFC3339 strings like
2026-02-04T23:00:00+00:00. - Hide the redundant
publishedstatus pill on launcher news cards, so released posts only surface the useful metadata instead of repeating their default state. - Tone down the dashboard screenshot filename into a small muted label with hover text, so the showcase keeps focus on the image instead of a large raw PNG filename.
- Preserve line breaks and spacing when the launcher parses server MOTDs, so multi-line server messages no longer collapse into one run-on line in the quick-start cards and server views.
- Use real German umlauts in the launcher feedback UI labels, so headings and filter labels render as
Rückmeldungen,Einträge,Bestätigt, andGelöstinstead of ASCII fallbacks.
[2026.04.12] - Unify launcher layout rails
Changed
- Route the native launcher
Profiles,Discover, andServersworkspaces through one shared viewport-width helper, so cards and section frames all respect the same visible content width instead of page-local width guesses. - Extend shared launcher entity cards with configurable copy-width and action-rail constraints, so broad desktop windows keep text blocks visually tied to the right-hand actions instead of stretching into oversized gaps.
Fixed
- Move native launcher
Discovercatalog and community-server rows onto the shared entity-card rail, so install, details, import, and quick-play actions stay pinned to a stable trailing column instead of drifting or clipping. - Align native launcher
Discoverprofile-feed cards with the same wide trailing action rail used by resourcepacks and the other catalog rows, so mixed sections no longer jump between narrow and wide button columns. - Reuse the shared popup-trigger painter for the native launcher profile start split button, so the account dropdown follows the same popup semantics as the working
Worldsoverflow menus.
[2026.04.12] - Hide launcher server order badges
Changed
- Remove the visible
#1,#2, ... order badges from native launcher saved-server cards, so the list stays cleaner while drag-and-drop still defines the actual order.
[2026.04.12] - Deduplicate launcher toast hover hints
Fixed
- Disable the extra native launcher toast elision tooltip in the bottom-right notification stack, so hovering a truncated notification now shows only one hover hint instead of two overlapping copies.
[2026.04.12] - Compact launcher server cards
Changed
- Shrink the native launcher
Serverscards into a denser row layout with one compact launch button and icon-only favorite, edit, and remove actions, so more saved servers stay visible in the workspace at once. - Replace the saved-server move-up and move-down controls with a drag handle plus drop indicator, so the personal server order can be rearranged directly by drag and drop inside the launcher list.
[2026.04.12] - Add profile account defaults
Added
- Let native launcher profiles store their own default account, so a profile can consistently launch with a preferred identity instead of always inheriting the current launcher-wide selection.
Changed
- Turn the native launcher
Startenaction on profile cards and profile detail surfaces into a split launch control with an account dropdown, so multi-account setups can switch the launch identity directly from the start action. - Show each profile's configured default account directly on local profile cards when more than one account exists, so the preferred launch identity stays visible in the profile browser.
- Extend the native launcher profile edit dialog with a profile-specific default-account selector, so profile identity preferences can be managed alongside RAM, Java, and archive settings.
Fixed
- Restore the native launcher profile split-button arrow as its own dedicated account-menu trigger, so the account dropdown stays visible and opens reliably instead of collapsing into a second full-width launch action.
[2026.04.12] - Compact launcher worlds workspace
Changed
- Replace the visible native launcher
Worldsaction labels on browser cards and the detail header with denser icon-led mini-buttons plus short labels, so the page keeps the same launch, storage, backup, history, and overflow actions without letting the action column dominate each card. - Collapse the native launcher
Zuletzt gespieltworld card onto the same compact shared-card language as the world library and shrink world preview/action spacing, so the wholeWorldsworkspace reads as one tighter system instead of mixing one oversized hero row into smaller list cards. - Tighten the native launcher
Cloud-Speichercard typography and spacing as well, so the world overview stack wastes less vertical room before the actual saves list starts. - Keep conflict-resolution and overflow-menu entries textual while only compressing the always-visible world actions, so destructive or infrequent choices stay explicit once the compact action row opens.
[2026.04.12] - Pin discover actions to the card edge
Fixed
- Reserve dedicated right-hand action columns for native launcher
Discovercatalog and public-server cards, and stretch the header search bar across its reserved width, so install/search actions stay flush on the trailing edge instead of drifting under the copy. - Lower the native launcher
Discoveraction-column fallback threshold, so desktop-width catalog and server cards keep their right-hand action rail instead of collapsing into the stacked mobile layout too early.
[2026.04.12] - Pin saved server actions to the card edge
Fixed
- Reserve the full native launcher saved-server action column and stretch its action bar to that width, so
Direkt starten, reorder, and management buttons stay flush on the right edge instead of floating inward on wider server cards. - Clamp the native launcher saved-server workspace to the real scroll viewport width, so card rows stop pushing past the right screen edge when the action column is visible.
- Clamp native launcher entity cards to the real page viewport before rendering their frames, so profile and other shared card layouts stop leaking past the right window edge when inline action rails are active.
- Derive the shared launcher page viewport width from the current cursor position to the clipped right edge, so page cards stop double-counting the left inset and no longer overshoot the visible content area.
[2026.04.12] - Refine skin builder preview
Changed
- Constrain the native launcher skin builder
3D previewcard to a smaller viewer frame and scale, so the model no longer dominates the details column while editing parts. - Reduce the default native launcher skin preview scale and height as well, so the library and cape preview panels keep the full character visible instead of zooming too far in.
- Clip the native launcher skin preview mesh to its viewport and hide back equipment in the builder preview, so the 3D model and cape no longer bleed out of the preview card while editing body parts.
- Center the native launcher builder
Basispreview on the full body instead of the upper torso and reduce the builder-only scale further, so the complete base skin stays visible while editing the base slot. - Load remote skin textures for the native launcher cape viewer and texture the selected cape in the 3D preview, so the
Capespage no longer falls back to an empty viewer or a placeholder cape shape.
Fixed
- Re-map the native launcher skin builder viewer faces to the correct Minecraft skin slices, so front, back, top, and side textures render on the right cuboid faces instead of appearing mirrored or flipped while rotating the preview.
[2026.04.12] - Align launcher discover and worlds actions
Changed
- Move the native launcher
Discoversearch controls into the header on wider layouts and right-align theWorldsaction rows, so both pages follow the same trailing-edge action pattern as the refreshed server workspace. - Reserve the remaining action-row width before rendering launcher page controls, so
Servers,Discover, andWorldsbuttons now snap to the true right edge instead of only reversing their order inside the row. - Remove the redundant
Weltcard labels plus theLink-Zielmeta line from the native launcherWorldscards, and move the world actions into a dedicated right-hand action column on wider cards. - Drop the extra world-backup CTA hint under unbound world actions, so the
Worldscards keep the action area cleaner and less repetitive. - Cap the copy width of native
Worldscards before the action column, so the buttons stay visually tied to the world content instead of drifting farther away on very wide windows. - Push the native
Worldsaction column against the true trailing edge of each card even when the content width is capped, so the buttons stay fully right-aligned instead of floating inward. - Route launcher timestamps through one shared formatter, so fresh entries now read as relative times like
vor 5 minwhile older ones fall back to a short date and time instead of exposing raw RFC3339 strings. - Size native entity cards from the real remaining UI width instead of the broader clip rect, so
Worldscards stop growing past the page content area on wider windows. - Size the native
Profilesbrowser and list panels from the real remaining UI width as well, so profile cards stop drifting past the content column on wider windows. - Size the native
Discovercards from the real remaining UI width too, so the discover panels stop stretching past the page column on wider windows.
[2026.04.12] - Align launcher server actions
Changed
- Right-align the native launcher
Serversaction rows in the main workspace, saved-server cards, public server views, and server editor, so server controls sit consistently on the trailing edge instead of drifting through each panel. - Move
Add serverandDiscover serverinto theMy serversheader row and keep them right-aligned beside the section title, so the main server actions stay anchored to the saved-server workspace they affect.
[2026.04.12] - Make launcher feedback workspace easier to scan
Changed
- Rework the native launcher
Feedbackpage into a calmer two-part workspace with a dedicated compose card, a structured browser panel, and richer feedback cards that surface status, severity, labels, and context at a glance.
Fixed
- Add native launcher feedback search plus status/type filters, so longer personal feedback histories stay easy to narrow down instead of turning into one unstructured list.
[2026.04.12] - Refine launcher social chat workspace
Changed
- Rework the native launcher
FriendsandChatarea into a left-hand friends/groups rail plus a right-hand active conversation panel, and show the selected direct chat with the partner's profile image in the header. - Compact the native social workspace spacing and move the add-friend control into the friends rail header as a small
+action, so the conversation area keeps more room for the active chat.
Fixed
- Keep only the friends/groups list and the active chat history scrollable in the native social workspace, so requests, actions, attachments, polls, and the composer stay pinned while browsing longer lists.
- Remember the last selected social conversation in the native launcher startup cache and restore it on the next open when that chat still exists.
- Prefer the actual social player name when resolving direct-chat profile images, so the selected chat header can load the partner avatar instead of falling back to a combined conversation label.
- Use the social participant ID for opening direct chats and keep friend-record IDs only for friend management actions, so the
Chataction opens the correct conversation again after stale chats are pruned.
[2026.04.12] - Simplify launcher servers workspace
Changed
- Remove the oversized native launcher
Servershero block, keep the page shell fixed, and move server creation into anAdd serverdialog so the workspace stays focused on the saved list.
Fixed
- Make only the saved-server list itself scroll inside the native launcher
Serverspage, so the surrounding controls stay pinned while longer server libraries remain browsable. - Size the saved-server scroll area from the card's real remaining inner height, so the bottom edge of the native launcher
Serverspage no longer clips list rows or action buttons. - Stretch saved-server row cards across the full list width in the native launcher, so entries no longer collapse to their content width.
[2026.04.12] - Expand launcher server list viewport
Fixed
- Let the native launcher server list grow with the page instead of trapping saved servers inside a tiny nested scroll area, so more server cards stay visible at once on the
Serverspage.
[2026.04.12] - Aggregate launcher Discord presence across sessions
Added
- Aggregate Discord Rich Presence across multiple launcher-started Minecraft sessions, so Discord now shows the primary game plus
+Nadditional sessions instead of fighting over one status per process. - Start a per-launch local runtime bridge for launcher-managed game sessions, so in-game mods can stream local session presence back to the launcher without exposing raw server addresses to Discord.
Changed
- Resolve multiplayer Rich Presence labels through launcher-known server names first and otherwise fall back to generic activity labels, so multi-instance presence stays privacy-safe even when several profiles are open at once.
- Keep the launcher as the single Discord IPC owner while aggregating one social presence update per account, so multiple running profiles no longer overwrite each other with competing direct updates.
[2026.04.12] - Allow launcher-managed world symlinks
Fixed
- Write a launcher-managed
allowed_symlinks.txtinto each profile instance when shared-library worlds are linked intosaves/, so Minecraft can open those saves in-game without stopping on the symbolic-links warning dialog. - Constrain the native profile icon studio to the visible launcher viewport and switch it to a stacked layout on narrower windows, so the dialog no longer clips its title, controls, or footer actions.
[2026.04.12] - Complete native skin builder parity
Added
- Add an explicit draft flow to the native launcher skin builder with
New project,Save, andSave as, so builder work can start from a selected library skin or a blank base without depending on an existing builder entry. - Add visual part cards, per-layer color targets, gradient tint controls, and a dedicated layer-order dialog so stacked builder parts can be previewed and adjusted natively without falling back to the old Tauri UI.
- Add community part status chips, market-side builder handoff, previewable layer editing, and a submit confirmation dialog so native uploads cover the full end-user part workflow.
Changed
- Split native launcher skin library, builder, and market actions into focused skin modules instead of extending the previous oversized
skins/actions.rsentry point. - Route native skin builder and market copy through launcher i18n keys for both
deanden, and correct older English skin strings that still shipped with German text.
Fixed
- Stop builder drafts from silently becoming unsaveable when they have no
editing_skin_id, and keep multi-select headwear editing focused on the chosen stacked part instead of forcing deselection. - Restrict approved community parts to rename/description re-submits in the native editor while still allowing pending and blocked parts to be fully updated and re-uploaded.
[2026.04.12] - Add account context actions in sidebar
Added
- Add a right-click context menu to the native launcher account switcher in the top-left sidebar so stored accounts can be marked as the launcher default or removed without opening the full accounts page.
- Add a confirmation dialog before a launcher account is removed, so accidental account deletes require an explicit second step.
[2026.04.12] - Add Discord Rich Presence
Added
- Add Discord Rich Presence for the native launcher so Discord can show whether the launcher is idle, preparing a profile, or running a play session while the launcher window stays open.
Changed
- Add a new launcher settings toggle for Discord Rich Presence, keep it enabled by default, and clear the status again as soon as the launcher closes or the toggle is turned off.
- Limit multiplayer Rich Presence to friendly labels only, so launcher activity never exposes raw server addresses to Discord.
[2026.04.12] - Add .uebliche profile packages and hosted imports
Added
- Add native launcher export and import support for versioned
.ueblicheprofile packages, including a preview that shows package metadata, bundled servers, and embedded custom mods before anything is written locally. - Add an optional export mode that embeds only launcher-local custom mod JARs, so offline or filesystem shares can carry
source=custommods without bundling unrelated instance data. - Add a hosted package landing page under
/launcher/importso websites can keep a.ueblicheURL, try the launcher deeplink first, and still preserve the same import target after installation.
Changed
- Make
.ueblichethe documented launcher profile package format while keeping legacy ZIP archives as silent import-only compatibility. - Default imported package IDs to generated local targets instead of silently reusing the package source ID, and gate bundled server imports behind explicit user opt-in during preview.
- Extend the native launcher bootstrap/import flow to accept local package paths, hosted package URLs, and
uebliche-launcher://import?...deeplink arguments in the same preview-based import surface.
[2026.04.12] - Add managed server installs to Discover
Added
- Add a native
Pluginscategory to launcherDiscoverplus a managed-server target picker, so Paper plugins and server-side mods can be queued without leaving the launcher.
Changed
- Let
Discoverswitch mod installs between the active profile and a selected managed server, while keeping auto-builds only for real profile mod installs. - Load managed server targets from the Public API during
Discoverrefresh and surface dedicated status/error copy for server-side install queueing.
[2026.04.12] - Remove manual profile build button
Changed
- Trigger launcher profile builds automatically in the background after build-relevant profile changes, so the profile hub no longer depends on a separate manual pre-build step.
Removed
- Remove the native
Run buildaction from the launcher profile detail page because the launcher now resolves fresh locks on its own.
[2026.04.12] - Add native discover project details
Added
- Add a native
Project detailswindow on the launcherDiscoverpage so mods, resourcepacks, shaderpacks, and catalog modpacks can be inspected without being sent out to provider websites.
Changed
- Replace the
Open in browseraction on nativeDiscovercatalog cards with an in-launcher details flow that keeps install actions and version metadata inside the launcher UI.
[2026.04.12] - Complete native friends and chat actions
Added
- Add full native launcher friends actions for request notes, incoming and outgoing request handling, favorite toggles, visibility changes, remove, block, and report directly from the community page.
- Add native group-chat creation, attachment upload, screenshot attachment, and poll composing and voting so the launcher can use the public social API without falling back to Dash.
Changed
- Add conversation search and direct-vs-group filtering to the native launcher chat view, and keep active conversation state in sync when direct chats are opened optimistically.
- Render chat attachments and polls directly inside native launcher message rows so the launcher mirrors the public API payloads used by mobile.
[2026.04.12] - Add maps mod install flow in world detail
Added
- Add a direct
Install maps modaction on the native launcher world-detail map panel when a profile does not have themapmod enabled yet. - Add a persistent
Enable by default for all profilestoggle for the maps mod so newly created and imported launcher profiles can pick it up automatically.
Changed
- Keep launcher-managed custom mod entries like
mapenabled during profile builds so the launcher can inject their artifacts at launch time instead of auto-disabling them as unresolved manifest mods. - Inject the workspace or published
mapmod artifact into launch locks when a profile has the custommapentry enabled, so exportedworld-overview.pngdata can show up directly in the launcher world detail flow.
[2026.04.12] - Add options sync viewer and conflict flow
Added
- Add a native
Minecraft options syncsection in launcher settings with a local/cloud config viewer for the sharedoptions.txtstate. - Add a conflict dialog when options sync is re-enabled and the local config differs from the cloud copy, so the user can explicitly choose which side should win.
Changed
- Keep the shared Minecraft options sync enabled by default in the stored launcher config state, while still allowing it to be turned off globally from settings.
- Capture
options.txtback into the shared launcher config when a launched profile exits, so cross-profile options sync reflects the latest in-game changes.
[2026.04.12] - Add native mod actions on profile detail cards
Added
- Add native
Enable,Disable, andRemoveactions directly on launcher profile mod cards so manifest mods can be managed without leaving the profile detail page.
Changed
- Refresh profile detail and asset summaries immediately after a mod card action completes, so the native profile view reflects manifest changes without a manual reload.
[2026.04.12] - Merge duplicate catalog cards across providers
Changed
- Collapse matching
Discovercatalog results from Modrinth and CurseForge into a single launcher card instead of listing the same project twice when both providers return it. - Prefer the source with the higher download count as the primary install target for merged catalog cards, while still surfacing the additional provider badges on the same entry.
[2026.04.12] - Surface world settings save errors inline
Changed
- Show world settings save failures directly inside the native launcher
Settingsform, so rename and validation problems appear where the user clickedSaveinstead of only in the transient toast area. - Translate common world rename conflicts like duplicate folder names into clearer inline launcher copy instead of exposing raw core error strings.
- Show
Last playedon the native world detail page as a relative time likevor 5 min/2 h agoinstead of exposing the raw timestamp string. - Let a second click on the
Worldssidebar entry close the open world detail view and return to the world list.
Fixed
- Defer world display-name writes until rename conflicts have been checked, so failed folder renames no longer leave partial metadata changes behind.
- Decode Modrinth
webpartwork in the nativeDiscovercards again, so project icons render instead of falling back to letter placeholders.
[2026.04.12] - Add profile icon studio
Added
- Add an
Iconsection to the native launcher profile editor withStudio,Upload, andRemoveactions plus a live preview for the current profile icon state. - Add a curated profile icon studio with Minecraft-inspired backgrounds, frames, motifs, badges, palette presets, and custom color controls so launcher profiles can get a built-in icon without leaving the app.
Changed
- Save launcher-built profile icons as normalized
256x256PNG files plus a localicon.builder.jsonrecipe so generated icons can be reopened and edited later. - Normalize uploaded PNG and JPEG profile icons to square PNG output and carry icon PNGs plus builder recipes through launcher profile export, import, and share flows.
[2026.04.11] - Add world detail hub and trim flow
Added
- Open a dedicated world detail hub from the native
Worldspage with separateOverview,History,Map, andSettingssections instead of keeping everything on one card list. - Show exported
world-overview.pngmaps directly in the launcher and add an interactive keep-box editor that snaps to chunk boundaries for trim selection.
Changed
- Route local world backup, share, and publish flows through the new trim-aware world pipeline so outbound exports use the current keep selection by default without mutating the original save first.
- Move world version history into the detail hub so remote versions, restore actions, and sharing work from one focused surface instead of an inline card expander.
- Expose safe world basics like rename, difficulty, commands, and selected gamerules from native launcher settings while leaving deeper level data read-only in v1.
[2026.04.11] - Add Codex launch troubleshooting
Added
- Offer a native
Mit Codex analysierenflow after failed launches and from the profile detail or logs pages, so crashes and abnormal exits can be diagnosed without leaving the launcher. - Add a dedicated Codex troubleshooting setup area in native launcher settings with model selection, reasoning control, MCP registration, and an auto-offer toggle for failed launches.
Changed
- Build a redacted launcher diagnostics bundle with profile summary, exit status,
latest.log, and the newest crash report excerpt before any Codex request is sent, and keep the preview copyable inside the troubleshooting sheet. - Restrict the launch-troubleshooting Codex integration to a read-only MCP scope backed by
launcher-cli mcp-server --scope troubleshooting, so the v1 assistant can inspect diagnostics but cannot mutate launcher profiles or settings.
[2026.04.11] - Add screenshot trash and batch tools
Added
- Keep deleted launcher screenshots in a dedicated trash for 30 days, so accidental deletes can be restored before they are removed permanently.
- Add batch selection on the native launcher screenshot page with
Shiftrange selection plusCtrl/Cmdtoggles, so multiple screenshots can be tagged, trashed, restored, or deleted in one action.
[2026.04.11] - Centralize launcher worlds across profiles
Changed
- Move launcher-managed singleplayer worlds into a shared
library/worldsstore and link them back into each profile instance so every launcher profile can access the same central world inventory. - Import dropped worlds and public world copies straight into the shared world library instead of keeping separate physical save folders inside one profile only.
Fixed
- Rewire world restore/import-copy flows to recreate the profile save link after writing a new world payload, so centrally stored worlds stay visible in the owning profile and on the
Worldspage.
[2026.04.11] - Add screenshot context menu
Added
- Add a right-click context menu to screenshot previews in the native launcher so screenshots can be copied to the clipboard or deleted directly from the gallery and dashboard.
Changed
- Remove the decorative rounded border from rendered screenshot previews so the native gallery shows captures edge-to-edge without the extra ring around the image.
[2026.04.11] - Resume launcher boot from cached data
Added
- Persist the native launcher's last known profiles, accounts, worlds, servers, screenshots, and community data under the launcher cache so a restart can reopen with populated data before fresh background refreshes complete.
Changed
- Restore the last active launcher tab plus the selected profile, account, and public server from the cached startup snapshot so the native shell resumes closer to the previous session instead of always rebuilding from an empty UI.
[2026.04.11] - Import dropped worlds, mods, and packs natively
Added
- Allow dragging local worlds, mod JARs, resource packs, and shader packs onto the native launcher so imports can start from anywhere in the app without opening separate pickers first.
- Add a native drop review flow that only asks for the target profile on mod imports and only asks for the pack type when a dropped pack could be either a resource pack or a shader pack.
- Add a global resource-pack and shader-pack library under the launcher root and mirror imported packs into every launcher profile automatically.
Changed
- Import dropped worlds into the currently active launcher profile as brand-new local saves with unique
-importsuffixes instead of overwriting existing save folders. - Mark mirrored global packs inside the native profile asset browser so shared library content is visible next to profile-local files.
[2026.04.11] - Stream screenshot previews in the native launcher
Changed
- Move native launcher screenshot decoding off the egui render thread and upload finished textures in small batches, so opening
Screenshotsno longer blocks while local PNG previews are discovered. - Keep screenshot cards and the feature preview responsive with placeholder states while textures stream in, so the page fills progressively instead of hitching on first open.
[2026.04.11] - Read Connect screenshot metadata from PNG files
Changed
- Read native launcher screenshot context directly from embedded
uebliche.connectPNG metadata instead of relying on a sidecar JSON file, and surface capture time plus runtime details in the screenshot detail views.
Fixed
- Write
Connectscreenshot metadata back into the captured PNG on the mod side so new launcher screenshots keep their world, server, loader, and Minecraft-version context inside the image file itself.
[2026.04.11] - Make the native logs workspace easier to read
Changed
- Replace the native launcher
Logsworkspace's competing multi-pane stream layout with one primary live console plus compact stream selectors, so launcher and core output no longer fight over several tiny scroll areas. - Expand the active log viewer and compress the surrounding status chrome, so the page spends most of its height on one practical, readable terminal instead of multiple stacked diagnostic boxes.
Fixed
- Point the new
Logsfilter control at the shipped launcher translation catalog again so opening the logs workspace no longer panics in local debug runs. - Size the native
Logsstream panel from the real remaining workspace height again so the lower part of the console no longer gets clipped when the tab is opened in shorter windows. - Render the native
Logsmessage column inside a real wrapped text cell again so long diagnostics stay visible instead of disappearing after the new narrow-width layout pass. - Bind the native
Logsmessage column to the actual remaining row width so log text no longer falls out of the window on the right and no longer collapses into repeatedcoresource cells. - Hard-wrap long native
Logsmessages against the visible row width so diagnostics can never extend past the right edge of the launcher window. - Let long native
Logslines wrap inside the message column again so diagnostics no longer get cut off at the right edge of narrower windows. - Derive the native
Logsmessage column from the fixed row geometry again so the visible text width cannot exceed the console viewport even when egui's horizontal layout reports too much room. - Clamp the native
Logsheader and row rendering to the actual console viewport width so scroll-content sizing can no longer push message text past the right edge of the launcher window. - Move native
Logsmessages onto their own wrapped line below the fixed metadata columns so long diagnostics stay inside the visible console width instead of overflowing to the right. - Mirror the native
Logsheader layout to the new two-line row structure soSEQ/LVL/AGE/SRCstay above their metadata cells andMSGsits above the wrapped message line instead of floating between columns. - Store native
Logsas timestamped entries and replace the old synthetic age/index columns with a realTIMEcolumn, so the log table shows when an entry arrived and no longer wastes space on the internal sequence number.
[2026.04.11] - Redesign the native servers workspace
Changed
- Rebuild the native launcher
Serverspage around one stronger hero workspace so own servers, active profile context, quick play, and the Discover handoff now read as one curated flow instead of three unrelated stacked cards. - Restyle personal server entries into cleaner list rows with denser metadata, clearer quick-play state, and a more compact action cluster on desktop so the saved-server list scans faster and feels less cluttered.
[2026.04.11] - Refocus the servers tab on personal entries
Changed
- Reduce the native launcher
Serverspage to the player's own saved list so editing, ordering, favorites, direct launch, and quick play stay in one dedicated workspace without the public-server explorer mixed in. - Add one direct call-to-action from
ServersintoDiscover > Serversand retarget public-profile shortcuts there, so new server discovery now happens on the dedicatedDiscoversurface before targets are imported into the personal list.
[2026.04.11] - Refine launcher sidebar overlines
Changed
- Replace the native launcher sidebar's repeated
Minecraftoverline with page-specific context labels for worlds, screenshots, servers, discover, and skins so the navigation reads by task instead of one generic bucket.
[2026.04.11] - Refine German Discover labels
Changed
- Translate the native launcher
Discoverentry toEntdeckenin German and relabel its section eyebrow fromMinecrafttoErkundenso the page reads as discovery instead of a generic game bucket.
[2026.04.11] - Turn the native mods tab into Discover
Changed
- Replace the native launcher
Modsnavigation entry withDiscoverso the sidebar, toolbar, and page header now frame one shared marketplace instead of a mods-only browser. - Split
DiscoverintoAll,Mods,Resourcepacks,Shaderpacks,Profiles,Servers, andWorlds, withAllstacking the discovery sections in one place and each full category keeping its own loading state. - Swap the old tile icon for a compass glyph so the new
Discovertab reads as exploration rather than profile-local asset management.
Added
- Add direct native install flows from
Discoverinto the active profile for provider mods, resource packs, shader packs, and first-partyUebliche Extensions. - Add a combined
Profilesfeed inDiscoverthat surfaces Modrinth modpacks, CurseForge modpacks, and importable publicUeblicheshared profiles in one place. - Add public world browsing plus local-copy import from the Uebliche public API so published worlds can land in the selected profile's
saves/directory without rebinding the original cloud identity. - Add direct
Discoverserver actions for import, quick play, and jumping into the existing server workspace without leaving the marketplace context first.
[2026.04.11] - Restore mod browser icons
Fixed
- Pass provider icon URLs through the native launcher
Modsbrowser cards again so Modrinth and CurseForge search results show their project artwork instead of fallback initials.
[2026.04.11] - Keep ModList injection aligned with the mods workspace
Fixed
- Resolve the first-party
ModListsystem mod from the realmod/modsworkspace again so local launcher runs can pick version-matched release artifacts across the supported Minecraft versions instead of falling back to stale cache entries.
[2026.04.11] - Keep mc-wrapper launch plans readable
Fixed
- Parse the native launcher's
camelCasewrapper plan files again so profile starts no longer fail immediately withmc-wrapper: failed to parse plan JSONafter launch preparation succeeds.
[2026.04.11] - Route native profile launches through mc-wrapper
Fixed
- Start native launcher profiles through
mc-wrapperagain so profile launches inherit the sanitized wrapper environment, can resolve bundled wrapper binaries in dev and app-bundle layouts, and keep the shell and CLI launch path aligned. - Allow the native sandbox to read the trusted guard-agent install directory during launch preparation so wrapped starts do not lose access to the optional guard-agent artifact.
[2026.04.11] - Tighten the native logs console layout
Changed
- Restyle the native launcher
Logspage into a denser, darker console view with clearer stream separation for launcher, core, and download activity. - Add fixed technical columns for sequence, level, age, source, and message so long log streams scan faster and feel more like an operational terminal.
Fixed
- Pull the native launcher
Logspage back onto the shared launcher card and hero surfaces so the diagnostics view no longer looks detached from the rest of the UI, while keeping the inner log table technical. - Move the remaining native
Logspage labels and status copy onto launcher translation keys so German and English stay aligned across the hero, stream headers, and download cards.
[2026.04.11] - Turn the mods page into a combined browser
Changed
- Replace the native
Modspage's old profile-manifest view with one combined browser forCurseForge,Modrinth, andUebliche Extensions. - Add one shared search bar plus endless result loading so the launcher can keep pulling more hits from each provider without switching tabs or sources.
[2026.04.11] - Fix German umlauts in launcher copy
Fixed
- Replace remaining
ae/oe/uefallbacks in the native launcher's German translations with real umlauts for chat, world backup, publish, and shared-profile UI labels.
[2026.04.11] - Restore scrolling on mods page
Fixed
- Wrap the native
Modspage in the same main scroll container as the other launcher sections so long mod lists can be scrolled again instead of getting clipped in place.
[2026.04.11] - Show world transfer progress bars
Changed
- Replace the old spinner-only loading state on world backup, sync, and restore actions with a real progress bar that tracks uploaded or downloaded bytes and file counts directly on the
Weltencards. - Mirror the same transfer progress inside the expanded world version panel so long-running cloud transfers stay legible while browsing version history.
[2026.04.11] - Simplify world action cards
Changed
- Move native world-card actions into a compact action bar under the world details so titles and metadata stay readable even for worlds with cloud backup features enabled.
- Keep only the primary actions directly visible on world cards, move sync, share, and publish actions into a
Moremenu, and remove the directOrdneraction from the cards. - Render explicit conflict-resolution actions in their own compact section instead of mixing them into the default world action row.
[2026.04.11] - Localize native launcher world strings
Changed
- Move the native
Weltenbackup and sync workflow onto translation keys so the world screen, binding dialog, version history, loading states, and success or error toasts no longer hardcode UI copy in Rust. - Translate the remaining direct-chat and shared-profile status strings in the native launcher and keep log output separate from localized UI messaging.
[2026.04.11] - Show Uebliche role label in launcher sidebar
Changed
- Replace the native launcher sidebar's
Microsoftaccount subtitle with the signed-in Uebliche role label, falling back toFree,Premium, or the resolved supporter tier label when no assigned non-default role applies.
[2026.04.11] - Show world cloud storage usage
Added
- Show a dedicated
Cloud-Speichercard on theWeltenpage so signed-in launcher users can see how much of their Uebliche Cloud world-backup quota is already used. - Show visible loading feedback for world uploads and downloads on the
Weltenpage so backup, sync-push, sync-pull, and restore actions no longer look idle while remote transfer is running.
Changed
- Refresh the world cloud usage summary together with account-bound launcher sections and world list reloads so the storage bar stays current after backup and sync actions.
[2026.04.11] - Narrow world backups to cloud and local storage
Changed
- Reduce launcher world backup targets to
Uebliche CloudandLocalso the native UI and CLI no longer expose directS3orWebDAVsetup paths. - Require an explicit world backup binding before running backup, sync, restore, share, or publish operations instead of silently defaulting unbound worlds to the API backend.
- Add a native world storage dialog with
Uebliche Cloudand folder-pickedLocalbindings plus compact version details in theWeltenhistory view.
Fixed
- Treat persisted legacy
S3andWebDAVworld bindings as unbound when loading world identities so old configs no longer route through unsupported storage backends. - Show the full three-way conflict resolution surface in the native launcher, including destructive
remote in-placerestore confirmation with rollback-snapshot messaging.
[2026.04.11] - Stop false world sync status errors
Fixed
- Skip automatic sync-status refreshes for purely local worlds without a stored sync identity so the
Weltenpage no longer shows a falseworld is not bound to a sync backenderror toast on load.
[2026.04.11] - Finish world backup workflows
Added
- Ship versioned world backup and restore flows across the launcher core, shell, CLI, and native UI, including
import-copyandin-placerestore modes with rollback snapshots. - Add concrete world sync backends for the existing Uebliche public API plus direct
Local,S3, andWebDAVtargets behind the newsync-agent. - Expose a full
worldsCLI command group for listing worlds, browsing versions, backing up, restoring, syncing, binding backends, resolving conflicts, sharing, and publishing.
Changed
- Expand launcher world summaries with backend, remote-state, pending-change, conflict, share, publication, and scheduler metadata so the native UI can render operational sync state directly.
- Upgrade the native launcher
Weltenpage from a read-only browser to an actionable workflow with backup, sync, restore, share, publish, version history, and conflict resolution controls. - Enable auto-push scheduling for API-bound worlds after the first successful manual backup and use world watcher refresh events to keep synced world cards current.
Fixed
- Detect and block divergent local-vs-remote world histories instead of silently overwriting one side, and persist the conflict so it can be resolved explicitly.
- Verify downloaded world file hashes before swap and keep the original world untouched for copy restores while preserving a rollback snapshot for in-place restores.
[2026.04.11] - Fix automatic profile card grid
Fixed
- Rebuild the native profile card layout as a real row-based auto grid so local and public profile cards now snap into consistent columns instead of relying on a loose wrap layout.
[2026.04.10] - Show asset icons in profile libraries
Changed
- Display the existing native icons for mod, resourcepack, and shaderpack entries in the profile asset browsers instead of rendering those lists as text-only rows.
[2026.04.10] - Unify launcher list entry styling
Changed
- Move the native launcher list-entry shell onto one shared visual component so profiles, public profiles, worlds, screenshots, and public server rows now use the same frame, spacing, and selected-state treatment.
[2026.04.10] - Turn profile browser into card grids
Changed
- Render local and public launcher profiles as responsive card grids instead of a full-width row list so the profile browser uses horizontal space much more efficiently.
[2026.04.10] - Tighten profile browser header layout
Changed
- Collapse the native profile browser top area into one denser workspace header so mode switch, counts, quick actions, and status use the available width more efficiently instead of stacking across multiple mostly empty bars.
[2026.04.10] - Add public profile browser
Added
- Add a native
Öffentlichmode to the launcher profile browser that aggregates shared profiles from the public server directory, supports search by profile/code/server/tag, and imports public profile shares directly into the local profile workspace.
[2026.04.10] - Add native profile management workflows
Added
- Add native
Create profile,Import profile,Edit profile, andShare profileflows directly to the profile browser and detail view, including ZIP import, share-code import, profile sharing, RAM/Java editing, and archive toggles.
[2026.04.10] - Stop false translation panics on profile values
Fixed
- Restrict the native launcher missing-translation panic check to real launcher key namespaces so runtime values like Minecraft versions no longer crash the app when opening
Profile.
[2026.04.10] - Stop old launcher processes before dev start
Fixed
- Kill any existing
UeblicheLauncherprocess beforedev.shstarts a fresh local instance so old native launcher windows do not survive across restarts.
[2026.04.10] - Clamp launcher notifications harder
Fixed
- Limit the native launcher toast stack to two compact cards plus a small overflow hint and merge near-identical notifications more aggressively so the bottom-right box no longer grows excessively.
[2026.04.10] - Calm down the logs page
Changed
- Reduce the native launcher logs page to a quieter summary, slimmer download cards, and calmer stream panels instead of stacking multiple colorful diagnostics blocks at the top.
[2026.04.10] - Remove dashboard quick navigation
Changed
- Remove the native launcher start-page button row for
Start,Profile,Welten,Screenshots,Server,Community, andSystemso the dashboard opens directly into the news hero.
[2026.04.10] - Tighten sidebar footer stack
Fixed
- Remove the extra gap between
NewsandEinstellungenin the native launcher sidebar so the bottom stack sits flush again.
[2026.04.10] - Restart the local launcher cleanly
Fixed
- Stop stale native launcher app instances before
dev.shstarts the local launcher so the visible window now reflects the current debug build instead of an older bundled app.
[2026.04.10] - Anchor sidebar footer with a real spacer
Fixed
- Rebuild the native launcher sidebar as a single vertical stack so
News,Einstellungen, and the version row are anchored by a real remaining-space spacer instead of a split footer layout.
[2026.04.10] - Restore sidebar footer order
Fixed
- Stack the native launcher sidebar footer consistently from the bottom as
Version,Einstellungen, thenNews, with the remaining space staying above that footer block.
[2026.04.10] - Complete launcher translation coverage
Fixed
- Add the missing native launcher page and settings subtitle keys to both translation catalogs and fail fast in debug builds when a launcher translation key is missing.
[2026.04.10] - Fix sidebar footer spacing
Fixed
- Tighten the native launcher sidebar footer so the version row stays visible again and the empty gap below
Einstellungendisappears.
[2026.04.10] - Remove launcher translation legacy fallback
Changed
- Drop the native launcher legacy translation fallback entirely, move the remaining UI literals onto real translation keys, and resolve launcher text only through the JSON catalogs.
[2026.04.10] - Move launcher translations into files
Changed
- Store the native launcher translation catalogs in embedded
assets/i18n/de.jsonandassets/i18n/en.jsonfiles instead of hard-coding the translation tables in Rust.
[2026.04.10] - Keep sidebar version visible
Fixed
- Reserve a dedicated footer area for
News,Einstellungen, the log shortcut, and the launcher version so the version string no longer disappears when the non-scrollable sidebar gets tight vertically.
[2026.04.10] - Introduce launcher translation keys
Changed
- Move the native launcher shell, sidebar, shared page headers, settings chrome, and skin sub-tabs onto canonical translation keys, while keeping the older source-string translation table as a compatibility fallback during the migration.
[2026.04.10] - Restore worlds page scrolling
Fixed
- Route the native
Weltenpage back through the shared main-content scroll container so long world libraries can scroll again instead of clipping inside the window.
[2026.04.10] - Extend launcher UI translation coverage
Changed
- Route the remaining native launcher page text through the shared i18n layer across
Profile,Server,Welten,Community,Skins, and dashboard sections so counts, placeholders, pills, and helper copy now switch cleanly with the system language.
[2026.04.10] - Keep account switch notifications compact
Fixed
- Stop stacking duplicate status toasts during account switching and clamp launcher status notifications to a shorter preview so the bottom-left notification box stays compact.
[2026.04.10] - Remove large stat cards from launcher pages
Changed
- Replace the large number-heavy stat cards across
Profile,Welten,Server, andLogswith compact summary strips that keep the same information without wasting vertical space.
[2026.04.10] - Refine worlds page layout
Changed
- Rework the native
Worldspage into a calmer library with top metrics, a focused latest-world card, richer world metadata, and direct actions for launch and folder access.
Fixed
- Always launch a world from its own profile on the shared
Worldspage instead of reusing an unrelated selected profile.
[2026.04.10] - Use IBM Plex Sans JP in launcher UI
Changed
- Apply
IBM Plex Sans JPacross the native launcher shell so navigation, headers, buttons, and page content use one calmer type system with proper umlaut support.
[2026.04.10] - Follow system UI language
Added
- Detect the launcher system language automatically and switch the native shell, navigation, and primary page chrome between German and English.
[2026.04.10] - Polish logs page layout
Changed
- Refine the native
Logspage with a calmer hero, cleaner transfer cards, and slimmer live stream rows that read more like diagnostics than stacked tiles.
[2026.04.10] - Restore logs page scrolling
Fixed
- Restore vertical page scrolling on
Logs, while keeping the inner live log streams independently scrollable.
[2026.04.10] - Disable sidebar scrolling
Changed
- Keep the native launcher sidebar fixed instead of turning it into a second scroll surface inside the window.
[2026.04.10] - Remove duplicate logs entry
Changed
- Remove the top-level native
Logsentry from the main sidebar stack, so diagnostics stay reachable only through the dedicated bottom shortcut instead of appearing twice in the navigation.
[2026.04.10] - Trim settings metadata
Changed
- Remove the native
Launcher-Oberfläche: Nativerow fromEinstellungen, so the system settings card no longer repeats an obvious implementation detail that adds no real user value.
[2026.04.10] - Truncate header profile names with dots
Changed
- Truncate native header profile chip names with a trailing
...instead of the middle-cut ellipsis style, so long profile labels stay easier to parse at a glance in the toolbar.
[2026.04.10] - Split bottom settings control
Changed
- Split the native bottom
Einstellungencontrol into a wide settings target plus a squareLogsshortcut on the right, so utility navigation keeps a direct diagnostics entry without taking another full-width row in the sidebar.
[2026.04.10] - Enlarge sidebar icons
Changed
- Increase the native sidebar navigation icon size and rebalance the text offset, so launcher destinations read more clearly at a glance instead of looking underweighted beside the labels.
[2026.04.10] - Soften sidebar borders
Changed
- Replace the heavy full-box sidebar outlines with quieter separators and subtler active borders, so the native rail no longer shows harsh doubled strokes between stacked navigation items and the top account block.
[2026.04.10] - Keep start page split at min width
Changed
- Keep the native
Startpage in its side-by-side split layout even at the launcher minimum window width, so news, launch, screenshot, and quick-start sections no longer collapse into one long vertical stack when the shell gets tighter.
[2026.04.10] - Refine profile browser copy
Changed
- Rework the native
Profilebrowser cards with clearer hierarchy, directÖffnenandStartenactions, and calmer activity/status metadata, so the page reads less like a raw list and more like a finished launcher hub. - Normalize profile and mod search input for umlauts and
ß, so native browser filters now match names and labels more naturally whether users typeüorue.
[2026.04.10] - Add screenshots workspace
Added
- Add a native
Screenshotspage that pulls recent in-game captures across launcher profiles into one visual browser with preview, context, file actions, and fast folder access.
Changed
- Add a rotating screenshot slideshow to native
Start, so the launcher home now surfaces recent in-game moments directly beside news, launch, and quick-start sections instead of burying captures in profile folders.
[2026.04.10] - Put settings at the bottom
Changed
- Swap native
NewsandEinstellungenin the bottom sidebar cluster, soEinstellungenis now the lowest navigation target in the rail.
[2026.04.10] - Neutralize sidebar button accents
Changed
- Remove the per-section accent colors from native sidebar buttons, so active and hovered navigation entries now use one shared neutral highlight instead of mixing violet, yellow, green, and blue markers across the rail.
[2026.04.10] - Tighten launcher notifications
Changed
- Clamp native launcher toast messages to compact single-preview text with hover access to the full message, so long status or error strings no longer blow the bottom notification box into an oversized card.
[2026.04.10] - Square off sidebar buttons
Changed
- Remove the rounded corners from native sidebar navigation buttons and the top account switcher, so the whole sidebar now reads with harder, flush-edged blocks instead of softened pills.
[2026.04.10] - Limit bottom sidebar items
Changed
- Keep only native
NewsandEinstellungenanchored to the bottom of the sidebar, and moveServerback into the upper main stack so the remaining navigation reads in a more natural launcher, Minecraft, and social order.
[2026.04.10] - Keep only one page title
Changed
- Put the real native page title back into the top toolbar and drop the repeated large title from shared in-page headers, so views like
Feedback,News,Profile, andEinstellungenkeep only one clear title instead of a double heading stack.
[2026.04.10] - Stretch top sidebar switcher
Changed
- Remove the extra top padding around the native sidebar account switcher and match its inner height to the regular sidebar card height, so the top account block now sits flush against the rail and reads like one bündiger part of the navigation stack.
[2026.04.10] - Swap news and server positions
Changed
- Swap the native sidebar positions of
NewsandServer, soNewsnow sits in the main navigation stack whileServermoves into the lower utility cluster aboveEinstellungen.
[2026.04.10] - Remove duplicate shell titles
Changed
- Change the native top toolbar to show broader workspace labels like
Play,Community, andSystem, so pages such asProfile,Logs, andEinstellungenno longer repeat the same title both in the shell header and again in the page content.
[2026.04.10] - Render news copy as Markdown
Changed
- Render native
Newsfeed entries with Markdown-aware summary and body blocks, so links, lists, headings, quotes, and inline code no longer collapse into plain text on the community timeline. - Render native
Startpage news cards from the same Markdown pipeline, so the featured story and follow-up cards keep their formatting instead of showing raw Markdown syntax in launcher home.
[2026.04.10] - Tighten logs workspace
Changed
- Reduce the native
Logshero and summary area into a tighter diagnostics deck with smaller preview cards, so the page no longer opens with an oversized banner that overpowers the rest of the launcher shell. - Replace the stacked full-width logs summary stats with compact cards and a two-column mid-width layout, so normal launcher window sizes fit the top diagnostics much more naturally before the actual streams begin.
[2026.04.10] - Center sidebar version footer
Changed
- Center the native launcher version label in the sidebar footer, so the small build string no longer sticks to the left edge under
Einstellungen. - Slim the native sidebar version row into a tighter fixed-height footer, so the build label no longer burns an oversized block of vertical space below
Einstellungen. - Move the native
Newsentry into the bottom sidebar cluster aboveEinstellungen, so timeline navigation now stays aligned with the other utility destinations instead of floating in the main nav stack.
[2026.04.10] - Simplify toolbar heading
Changed
- Remove the repeated native
Launcherword from the top toolbar title, so the header now shows the active section name directly instead of reading likeLauncher Überblick.
[2026.04.10] - Compact social workspace
Changed
- Rebalance the native
Freunde / Chatpage into a denser friends-to-chat split, so wide launcher windows now give more room to active conversations instead of wasting half the page on oversized columns. - Replace bulky request, friend, conversation, and message cards with tighter rows and inline actions, so the social workspace shows more useful state per screen without turning into one tall stack of padded boxes.
[2026.04.10] - Tighten sidebar button stack
Changed
- Remove the extra gaps between native sidebar navigation buttons, so the full launcher nav now reads as one flush stack instead of separated card rows.
- Drop the native sidebar's left and right inner padding, so navigation buttons now sit flush against the panel edges instead of floating inside an inset column.
- Remove the standalone native
Kontennavigation entry from the sidebar, while keeping account management in the account switcher menu instead of duplicating it in the main nav. - Match the native account switcher dropdown to the same visible width as the sidebar account card, so the menu no longer expands wider than its trigger.
- Anchor the native
Settingsentry and launcher version to the bottom edge of the sidebar, so utility actions stay consistently aligned away from the main navigation stack.
[2026.04.10] - Make launcher shell denser
Changed
- Tighten the native launcher theme, cards, buttons, and section headers with smaller spacing and typography, so the app fits more useful content into the same window without looking crammed.
- Narrow the native sidebar and lower the launcher default and minimum window sizes, so the overall shell feels less oversized while the newer responsive pages still hold together on smaller widths.
[2026.04.10] - Refine launcher logs workspace
Changed
- Rebuild the native
Logstop area into a clearer live-console hero with responsive summary cards, so launcher sessions, stream health, and transfer pressure read like one finished diagnostics surface instead of a flat stack of panels. - Restyle download cards and both log streams with calmer emphasis, latest-activity callouts, and less noisy row treatments, so the diagnostics window stays easier to scan during long build, start, and download sessions.
[2026.04.10] - Polish launcher profile and mod browsers
Changed
- Add search-driven, lazy-loaded native
ProfileandMod Browserlists, so large launcher manifests now reveal more cards as you scroll instead of dumping the full set at once. - Rework native profile cards and profile-detail browser sections for tighter widths, so opening, launching, and scanning mod status stays readable when the launcher content area gets narrower.
- Surface clearer status chips for mod policy, blocked/unknown counts, disabled entries, and local findings, so risky or unresolved mods stand out without digging through one flat manifest list.
[2026.04.10] - Make launcher home layout responsive
Changed
- Let the native
Startpage reflow its hero, launch strip, and quick-start panels against the available content width, so dashboard cards now stack and wrap on narrower windows instead of pushing off the right edge of the screen. - Collapse world and server quick-start rows into compact vertical cards on tight widths, so preview icons, metadata, and CTA buttons stay visible without horizontal clipping.
[2026.04.10] - Clean up launcher profile toasts
Changed
- Restyle the native bottom-right launcher toasts with a clearer left-aligned status header and calmer spacing, so profile start/build notifications no longer look like raw debug cards floating over the UI.
- Replace profile UUIDs in native start/build toasts with human-readable profile names, and stop showing profile IDs in the new profile browser/detail surface where they do not help normal launcher use.
[2026.04.10] - Open profile hub on single click
Changed
- Turn single-click profile selection into a native profile hub open action, so clicking a profile card or header chip now jumps straight into a dedicated detail page with overview, mods, resourcepacks, shaderpacks, and settings browsers instead of only updating a side detail panel.
- Load native profile asset summaries through the launcher shell, so the new profile detail page can list local resourcepacks, shaderpacks, and relevant config/options files beside the existing mod browser and launch controls.
[2026.04.10] - Launch profiles on double click
Changed
- Start native launcher profiles directly on double click from both the
Profilepage cards and the top-right recent-profile chips, so choosing a profile and launching it no longer has to be split across two separate clicks.
[2026.04.10] - Center labels in stretched native buttons
Changed
- Center text inside stretched native launcher buttons, so dropdown footer actions like
Profile verwaltenand other full-width CTA rows no longer look left-biased inside their cards. - Stretch the
Konten verwaltenandProfile verwaltenpopup footer buttons to the full dropdown width, so the centered label treatment is also visible in the account and profile switchers instead of only on naturally wide buttons.
[2026.04.10] - Rebuild native server workspace
Changed
- Turn the native
Serverpage into a clearer workspace with a top summary strip, a dedicated personal server desk, and a larger community explorer area, so saved servers and public discovery no longer compete inside one flat list layout. - Promote the selected public server into a focused detail panel with launch, import, favorite, shared-profile, link, and 24h-status actions, so community metadata stays visible instead of getting buried beside the server list.
- Streamline the native server editor with proper clear and community-reload actions, and keep the community list lighter during rendering so the redesigned page stays more responsive while browsing many servers.
[2026.04.10] - Add recent profiles to launcher header
Changed
- Show the three most recently played launcher profiles directly in the top-right native header with icon and name, and move the remaining profiles into a dropdown so active profile switching no longer depends on the left sidebar alone.
- Persist native launcher play sessions back into profile stats on exit, so header recency reflects current Rust-launcher usage instead of drifting behind older Tauri-era data.
[2026.04.10] - Stretch launcher hero frame to full width
Changed
- Expand the native
Starthero/news container to the full available main-content width, so the top dashboard box no longer looks inset or narrower than the page beneath it.
[2026.04.10] - Remove preview chrome from launcher icons
Changed
- Render real world and server preview images without the extra native badge background and stroke, so launcher save icons and server icons keep their raw artwork instead of picking up unwanted overlay shapes from the UI chrome.
[2026.04.10] - Rebuild launcher home around news and quick starts
Changed
- Turn the native
Startpage into a news-led frontpage with one large latest-story card plus smaller follow-up cards beside it, so launcher home now feels closer to a real live homepage instead of a generic dashboard split. - Move singleplayer worlds and server shortcuts into scrollable quick-start sections further down the same home screen, so recent worlds and join targets stay reachable without leaving the launcher frontpage.
- Render the saved or public server preview/icon in the home quick-start server cards as well, so the frontpage server list keeps the same visual recognition cues as the dedicated server view.
- Load the native
Weltenview and home quick-start worlds across all launcher profiles instead of binding them to the currently selected profile, so singleplayer saves read like one shared library instead of a per-profile silo.
[2026.04.10] - Refine native logs diagnostics layout
Changed
- Rework the native
Logspage into a denser diagnostics surface with a live overview header, clearer stream health summaries, and calmer transfer cards, so launcher downloads and runtime signals read like one finished console instead of separate utility blocks. - Restyle the native launcher and core stream panels with stronger signal chips, quieter row treatments, and latest-activity snapshots, so long log sessions stay easier to scan for errors, warnings, transfers, and start events.
[2026.04.10] - Show native launcher server icons
Changed
- Render saved and public server icons in the native
Serverview again, so launcher server cards and the selected public-server detail use the existing preview/icon metadata instead of falling back to text-only rows.
[2026.04.10] - Remove sidebar section titles
Changed
- Remove the small section headings above the native launcher sidebar navigation buttons, so the left rail stays visually quieter and more compact while keeping the button groups separated by spacing alone.
[2026.04.10] - Add world cloud backup foundations
Added
- Add launcher-managed world cloud identities, manual cloud backup actions, and cloud version history wiring for the
Weltenview, so local worlds can start syncing incremental file manifests into the new world-backup API flow. - Add canonical
data/uebliche/maps/world-overview.pngplusworld-overview.jsonoutputs for singleplayer logout and dedicated-server shutdown, so launcher world cards can reuse a stable preview file instead of depending only onicon.png.
Changed
- Remove the launcher Tauri/web shell from the active workspace, native bootstrap, and local dev entrypoints, so the launcher now runs and ships only through the Rust-native UI path.
- Rename the native launcher app package and workspace path from
ui-performancetolauncher-ui, so scripts, docs, and cargo targets use the actual product-facing name consistently. - Prefer the canonical maps overview image over
icon.pngwhen the launcher lists local worlds, so saved-world previews follow the new maps-export path before falling back to legacy icons.
Removed
- Delete the remaining legacy
apps/ui-tauriandcrates/ui-tauri-internalssource trees plus the unused pnpm/Tauri helper scripts, so the launcher repo no longer carries a second dormant desktop UI stack beside the native Rust app.
[2026.04.10] - Lower native launcher memory pressure
Changed
- Stream large launcher runtime, library, mod, and asset downloads straight into temp files before validation, so the native launcher no longer buffers whole artifacts in RAM while preparing a launch.
- Trim finished native download cards after a short TTL and cap the in-memory transfer list, so long Rust-only launcher sessions stop accumulating stale download rows.
- Stop cloning large friends/chat/news/skin-library collections every frame in key native views, so the Rust UI creates far less transient heap churn while those tabs stay open.
- Evict stale native egui texture caches for profile icons, account heads, world previews, and skin previews/viewers after a short idle window plus hard entry caps, so old image surfaces no longer stay resident across long launcher sessions.
- Normalize the visible native sidebar cards to one shared height, so the account switcher and every navigation entry align on a consistent vertical rhythm instead of mixing short and tall blocks.
[2026.04.10] - Restore native world preview icons
Changed
- Render saved world
icon.pngthumbnails in the nativeWeltencards again, so Rust launcher worlds show the same preview image cue as the older UI instead of falling back to text-only rows. - Sync unique worlds across all profile instances by default via directory links, so singleplayer saves no longer have to be linked profile-by-profile before they appear everywhere.
- Wrap the native right-hand main content in a vertical page scroll for tabs that previously had no root scrolling, so longer
Server,Profile,Skins,Dashboard, andSettingslayouts no longer get clipped at the bottom. - Simplify the native launcher palette to calmer slate and neutral surface tones with muted state colors, so the Rust UI reads less loud and less color-heavy across sidebar, cards, logs, and content panes.
- Remove the duplicate account badge from the top-right native header, so the toolbar stays quieter instead of repeating the active account name above the main content.
- Set the native launcher app icon from the shared launcher branding asset, so the Rust app no longer shows the generic default
eframeicon in the dock and app switcher.
[2026.04.10] - Add native skins workspace with 3D preview
Added
- Add a dedicated native
Skinstab withLibrary,Capes,Builder, andMarket, so launcher skins no longer live inside the old mixedNews / Skinspage. - Add a native Minecraft-style 3D skin preview that runs directly inside the Rust launcher, supports orbit/zoom, front/back views, and back equipment modes for cape/elytra previews without falling back to the web shell.
- Add a shared native skin store at
launcher_root()/settings/skins.jsonwith one-time import from the legacy~/.uebliche_launcher/skins.json, so existing saved skin projects and previews survive the move into the Rust launcher.
Changed
- Bridge cape loading, skin apply, builder upload terms, and community part create/update flows through
launcher-shell, so the native launcher can cover the old Tauri skin workflows without web-only commands. - Split the native skin area into dedicated Rust modules for library, capes, builder, market, texture composition, and 3D viewing, so the launcher keeps the newer modular app structure instead of pushing skin work into one giant screen file.
- Reduce the
Timelinepage to news-only content, so skin editing and community parts live in the dedicatedSkinsworkspace instead of sharing the feed surface. - Rename the native launcher executable/process away from the old
...performancesuffix, so macOS no longer shows the Rust launcher as a temporary technical shell name in the app switcher and menu bar. - Enforce a fixed native launcher minimum window size, so the blocky desktop layout no longer collapses into cramped rails and clipped content when the window is resized too far down.
[2026.04.09] - Make the native launcher UI the primary product path
Added
- Bundle a native
eframe/eguilauncher UI alongside the legacy Tauri shell, so the launcher can stay in a Rust-only flow without losing launcher coverage. - Add a local shell-mode config that keeps the launcher pinned to the native launcher UI across restarts and updates.
Changed
- Route launcher startup through a native bootstrap that can hand off preserved view context instead of assuming the web UI is always the only entry point.
- Make the native launcher UI the default launcher mode, auto-persist it on first start, and stop routing normal startup through the old shell chooser.
- Surface launcher UI status inside settings while keeping the native Rust app as the primary launcher entry point.
- Show cached Minecraft head previews in the native accounts view, so Microsoft accounts are easier to recognize and select without relying on raw IDs alone.
- Replace the old fallback launcher sections with native tabs for mods, worlds, friends/chat, feedback, and timeline/skins, so those areas stay inside the Rust UI instead of bouncing back to the legacy shell.
- Restyle the native launcher chrome with a dedicated warm theme, darker navigation rail, stronger cards, and a cleaner dashboard/header layout, so the launcher no longer feels like raw default egui.
- Rebuild the native launcher sidebar with grouped navigation, a cleaner brand block, lighter active states, and calmer status surfaces, so the app reads more like a polished launcher and less like stacked debug panels.
- Slim down the sidebar header to a flatter launcher label with compact meta rows, so the navigation no longer burns a large branded block before the actual tabs.
- Remove the remaining visible Standard-UI switches from launcher settings/profile detail, let the native UI handle launcher updates itself, and align the visible product copy around a single launcher instead of a separate "Performance" shell.
- Tighten the native launcher layout with clearer hero sections, denser content cards, calmer toolbar/sidebar chrome, and darker dedicated log panels, so the Rust UI feels visually coherent across Dashboard, Profiles, Accounts, Logs, and Settings instead of like separate debug screens.
- Use real German umlauts in the native launcher copy instead of ASCII-style
ae/oe/uespellings, so buttons, status text, chooser copy, and error messages read like normal UI text. - Bring Mods, Worlds, Friends/Chat, Feedback, Timeline, and Server pages onto the same card-based layout language as Dashboard, Profiles, and Accounts, so the native launcher no longer mixes polished product screens with raw utility panels.
- Introduce a semantic Light/Dark design system for the native launcher shell, follow the operating system theme automatically without a manual launcher switch, and align toolbar, sidebar, settings, logs, and the major native tabs to the same warm card-and-surface language instead of a one-off light palette.
- Let the native friends view open or create direct chat conversations from friend cards and update chat previews immediately after sending, so chat works even when no conversation existed yet.
- Remove manual refresh buttons from the native launcher surfaces and refresh dashboard, profiles, accounts, social, feedback, worlds, timeline, servers, and settings automatically, so the UI stays current without explicit reload actions.
- Add real profile icons to the native profile list/detail view and replace the sidebar text badges with drawn navigation glyphs, so the Rust UI no longer looks iconless next to the old launcher shell.
- Remove the remaining page/theme pills from the native top bar, so the launcher header stays visually quiet instead of repeating state labels that are already obvious from context.
- Move transient native launcher errors and status updates out of the sidebar into toast popups at the bottom right, so warnings no longer push a large red block into the navigation rail.
- Remove the leftover
Rust-onlyandDesktop-Standardpills from the dashboard hero, so the native launcher no longer shows obsolete shell-path labels in the main product surface. - Restore the native server page with Tauri-level actions for favorites, editing, reordering, automatic ping/status updates, public server imports, public favorites, and shared-profile launch flows, so server management no longer falls back to a stripped-down quick-play list.
- Rebuild the native logs tab with summary cards, clearer live download status, and richer dark stream panels with severity chips, so diagnostics feel like a finished launcher surface instead of two plain text dumps.
- Shift the native launcher theme toward a blockier, more Minecraft-like visual language with earthier palettes, squarer cards, chunkier borders, and more rigid navigation/buttons, so the UI feels closer to in-game materials than to a soft generic desktop shell.
- Push the native launcher shell and dashboard closer to a real Minecraft launcher composition with a darker top rail, stronger account slab, tab-like home navigation, a large hero banner, and a prominent green play block instead of a generic app overview grid.
- Re-align the native sidebar buttons around a fixed left icon slot, harder rectangular blocks, and a shared text axis, so the launcher rail reads more like a Minecraft launcher menu instead of mixed utility cards.
- Turn the native account slab in the top-left rail into a real account switcher popup, so active launcher accounts can be changed directly from the sidebar instead of only on the dedicated accounts page.
[2026.04.09] - Restore profile mod action icons
Fixed
- Use explicit foreground colors for the profile mod action buttons, so the enable/disable and delete icons stay visible in the macOS launcher webview instead of rendering as empty tinted squares.
[2026.04.08] - Resolve launcher system mods by Minecraft version
Changed
- Switch launcher-managed
connectandsocialupdate checks to the public versions resolve/download API with explicitminecraftVersionfiltering, so injected system mods can resolve the right artifact per active game line instead of sharing one loader-only release pointer. - Prefer versioned legacy
connectupdate manifests during fallback checks, so older manifest-based rollouts can coexist with the new public versions contract while staged releases move torelease/<loader>/<minecraftVersion>/.
Fixed
- Teach the launcher workspace fallback for
connect,social,modlist, andam-i-secureto scan versioned staged release directories before build outputs, so local dev launches can inject artifacts produced by the shared multi-version release matrix without manual copying.
[2026.04.08] - Resolve local ModList jars for newer profiles
Fixed
- Accept workspace-built
net.uebliche.modlist-*.jarartifacts in the launcher system-mod fallback, so local profile launches can still inject ModList when no published26.1.1release artifact exists yet. - Normalize resolved ModList versions from workspace jar names before writing the launch lock, so launcher-managed local injections keep readable version strings instead of leaking raw package prefixes.
[2026.04.08] - Enforce hardened runtimes for protected launches
Changed
- Split the Uebliche runtime pipeline into
standardandhardenedchannels, and make protected launches resolve, install, and display the hardened runtime instead of silently reusing the generic signed runtime state. - Require
mc-wrapperfor everyProtectandStrictlaunch on all platforms, and block additional JVM instrumentation flags such as--add-opens,--add-exports, attach listeners, flight recorder startup, and custom system-class-loader overrides when the wrapper validates launch arguments. - Extend the launcher Fairplay evidence with runtime-hardening, secret-store, developer-credential, SSH, Discord, persistence, clipboard, and desktop-automation fields so downstream tooling can distinguish proven launcher blocking from untouched risk classes.
Fixed
- Treat missing hardened runtimes as an explicit strict-protection blocker (
hardened-runtime) instead of the old generic signed-runtime requirement, so strict readiness now reports the real missing hardening component. - Add targeted secret- and persistence-path deny groups for SSH material, developer credential stores, Discord desktop session stores, user startup hooks, and browser-cookie paths to the sandbox and guard-policy layer, so protected launches stop inheriting broad host reads for the most relevant credential surfaces while preserving the previously fixed Java startup path on macOS.
[2026.04.06] - Prevent Java startup crashes in macOS protect mode
Fixed
- Replace the blanket macOS
/Usersread deny with targeted denies for sensitive user folders and browser-storage paths, so protected launches keep blocking obvious host data access without crashing the bundled Java runtime before Minecraft logging starts. - Force
java.io.tmpdirinto the profile-owned.tmpdirectory on macOS launches, so bundled native helpers likelibjcocoa.dylibno longer try to extract into the sandbox-blocked system temp root under/var/folders/.../T.
[2026.04.06] - Improve launcher crash prompts and chat copy
Fixed
- Let the embedded LLM chat bubble content be selected and copied directly, and add an explicit per-message copy action so troubleshooting text can be reused outside the launcher.
- Format signal-based game exits without the misleading
Exit-Code: unbekanntfallback and include recent launcher log context when the instance log stayed empty, so crash prompts sent to the LLM stay actionable after very early native crashes.
[2026.04.06] - Stop sidebar auto snap jitter
Fixed
- Stop programmatically re-snapping the launcher sidebar scroll position after render and short scroll idle windows, so the icon rail no longer visibly jumps up and down while browsing.
[2026.04.06] - Harden macOS protect launches
Changed
- Route every macOS
ProtectandStrictlaunch throughmc-wrapper, reduce inherited wrapper environment variables to an explicit allowlist, and publish measured launcher hardening evidence infairplay_context.jsonso follow-up tooling can see the real protection level.
Fixed
- Tighten the macOS sandbox profile to block external process execution and broad reads outside the launcher and game directories, so
Protectno longer reports stronger launcher mitigation than the runtime can actually prove. - Stage
mc-wrapperand the trusted guard agent into the profile-owned runtime area before launching inside the macOS sandbox, so local dev-sidecar paths under/Users/.../src-tauri/binariesno longer fail immediately with exit code71/Operation not permitted. - Allow the staged
mc-wrapperand its target JVM as the only explicit sandboxed exec paths, and keep the wrapper launch plan inside the profile runtime tree, so protected launches no longer die withCode 71before Java can start.
[2026.04.06] - Restore Microsoft auth hosts for launches
Fixed
- Pass the real Microsoft Minecraft access token back into launcher-started game clients until the in-game tokenless bridge covers all authlib session calls, so multiplayer joins no longer fail on follow-up profile and key-pair requests that still require official authentication.
- Seed official Mojang and Minecraft auth hosts into the launcher Network Guard global allowlist during game start, so stale local block decisions for
sessionserver.mojang.comand related endpoints no longer keep valid launches stuck onunauth.
[2026.04.06] - Retry stale launcher join sessions
Fixed
- Refresh the cached Microsoft Minecraft session once and retry the launcher-side Mojang
joinServerauthorization when Mojang rejects the first request as unauthorized, so launcher-started multiplayer joins recover from stale cached access tokens instead of failing immediately withunauth. - Include the upstream Mojang response body in launcher warnings for failed tokenless join authorization, so follow-up debugging can distinguish stale credentials from broader auth outages.
[2026.04.05] - Keep feedback sub sidebar visible
Fixed
- Keep the launcher feedback sub sidebar mounted with a stable overview entry, so the secondary navigation no longer disappears on empty feedback lists or while the list is refreshing.
- Preserve the last successfully loaded feedback list during same-view refresh failures, so temporary backend hiccups no longer blank the sidebar before the next successful reload.
[2026.04.05] - Tighten sidebar top spacing
Fixed
- Remove the extra macOS window-header clearance from the launcher icon sidebar, so the first navigation icon sits closer to the top instead of leaving a large dead gap above it.
[2026.04.05] - Show pending default account switches
Fixed
- Switch the launcher account view to the clicked account and show an immediate pending state while changing the default account, so the UI no longer appears idle until the background refresh finishes.
- Update the launcher account list optimistically when a new default account is chosen, so the star marker and dependent views react right away instead of lagging behind the command.
[2026.04.05] - Add Übliche extensions to Browse
Changed
- Extend the combined launcher
Browsesearch to include public Übliche extensions alongside Modrinth and CurseForge, with the same merged-source chips and per-source toggles in the filter bar. - Add a dedicated launcher-side Übliche catalog client plus direct install flow, so extensions published through the public versions API can be opened, version-resolved, and installed into profiles without a separate provider page.
[2026.04.05] - Renew expired Microsoft link codes
Fixed
- Request a fresh Microsoft device-login code automatically when the previous code times out in the launcher account flow, so account linking no longer falls back to a dead "code expired" state that requires a manual restart.
- Treat expired Microsoft device-code polls as a renewal case instead of a generic link failure, so the account UI keeps the login flow alive while waiting for confirmation.
[2026.04.05] - Merge browse providers into one search
Changed
- Turn the launcher browse page into a combined Modrinth + CurseForge search with source toggles in the filter bar instead of keeping Modrinth-only results as the default browse experience.
- Merge duplicate browse hits across providers into one result card and show the contributing source chips directly on the entry so the same project no longer appears twice in mixed search results.
- Remove the numeric sidebar counter from the grouped
Browseitem so the launcher no longer suggests that the group badge is a result count. - Move
Downloadsinto the groupedBrowseflyout and anchor the whole browse block to the bottom of the launcher sidebar instead of keeping downloads as a separate top-level entry.
[2026.04.05] - Stop profile click detail ping-pong
Fixed
- Route profile clicks in the launcher profile view through the selected-profile state instead of firing a second immediate detail load, so opening a profile no longer kicks off duplicate detail fetches and UI hangs.
[2026.04.05] - Group browse providers in sidebar
Changed
- Collapse Modrinth and CurseForge behind a single
Browseitem in the launcher sidebar and keep both providers available from the built-in group flyout instead of showing two separate top-level buttons.
[2026.04.05] - Delegate Mojang joins without Java tokens
Added
- Add a tokenless launcher join authorization flow that performs the Mojang
joinServerrequest through the local launcher bridge instead of handing a Minecraft access token to the Java client.
Changed
- Launch Microsoft Minecraft clients with the placeholder access token
0and refresh the real session only inside the launcher right before multiplayer joins. - Keep singleplayer launch behavior unchanged while blocking token-dependent multiplayer joins when the local launcher bridge is unavailable.
[2026.03.29] - Guard mod browser project refs
Fixed
- Normalize missing or partial catalog project references before the launcher builds Mod Browser state keys, so malformed provider hits no longer crash the whole Mod Browser with
projectId.trimerrors.
[2026.03.29] - Refresh downloads sidebar icon
Changed
- Replace the old boxed downloads glyph in the launcher sidebar with a tray-style download icon so the left navigation reads more clearly and matches the newer downloads view language.
[2026.03.23] - Restore server address privacy toggle
Added
- Restore a local server-view privacy toggle that masks hostnames and IPs across launcher server lists and detail panes while remembering the choice on the same device.
[2026.03.21] - Finish launcher friends chat
Changed
- Replace the launcher friends chat selector with a real chat hub layout that includes searchable conversation rows, direct-vs-group filters, inline thread viewing, and quick-start entries for friends without an existing DM.
- Align launcher social chat sending with the mobile flow by creating direct chats optimistically, updating conversation previews immediately for new messages and poll votes, and keeping direct and group chats on the same composer flow for text, attachments, screenshots, mentions, and polls.
Fixed
- Scope launcher social chat live streams and cached snapshots per conversation and window subscriber instead of sharing one global stream, so the friends hub and multiple chat popouts can stay open without interrupting each other.
[2026.03.20] - Show blocked mod names before launch
Fixed
- List the concrete blocked mod names in the launcher launch warning instead of only showing the total count, so users can see which mods would trigger the FairPlay warning before they continue.
[2026.03.19] - Resolve ModList per Minecraft version
Changed
- Pass the profile Minecraft version into the ModList public versions resolve and download calls so the launcher auto-installs the matching ModList jar for each Fabric, Quilt, or NeoForge profile version.
[2026.03.18] - Remove server IP hide toggle
Changed
- Remove the redundant server IP hide toggle from the launcher server view so address privacy is controlled through the OBS-based streamer mode flow instead of a separate per-view switch.
- Switch the launcher server subsidebar to community server entries when the community tab is active instead of keeping the personal server detail list in place.
- Show the selected community server in the right-hand server detail pane as well, including its public stats and shared profile actions instead of keeping the public tab list-only.
- Redesign the public server detail pane with clearer metric cards, clickable social links, and a more structured shared-profile section so community server details are easier to scan and use.
[2026.03.17] - Proxy Modrinth catalog traffic
Changed
- Route launcher Modrinth catalog and metadata requests through the Uebliche public proxy by default instead of talking to
api.modrinth.comdirectly for every unauthenticated request. - Keep direct authenticated Modrinth requests available when a user token is explicitly attached, so higher-limit personal access still works without removing the new default proxy path.
- Add a launcher setting for Modrinth access mode so proxy usage can be switched on or off explicitly and the same choice also applies to profile launches.
Fixed
- Fall back to direct Modrinth API lookups when the public proxy endpoint is not available yet, so profile launches and catalog metadata resolution do not fail during staggered deployments.
[2026.03.17] - Use Codex setup cards as actions
Changed
- Move the Codex install, login, and Launcher Tools connect actions into the large setup status cards in launcher settings instead of duplicating them as smaller buttons underneath.
- Let the Launcher Tools step switch to a disconnect action once Codex is fully connected, so the whole setup flow stays in one consistent control group.
[2026.03.17] - Install ModList by default
Changed
- Inject the first-party
modlistextension automatically for Fabric, Quilt, and NeoForge profile launches so the in-game installed-mod list is available by default. - Resolve and cache the matching
modlistartifact through the public versions API during launch preparation and download prewarming, with the same launcher-managed system-mod flow used for other first-party extensions.
[2026.03.17] - Embed combined profile catalog search
Added
- Open a combined Modrinth and CurseForge catalog directly inside profile details when browsing mods, resource packs, or shader packs, so installs stay in the selected profile workflow.
- Rename profiles directly from the details header with a double-click and from the profile list through a right-click context menu.
Changed
- Label mixed catalog results by provider inside the embedded browser so Modrinth and CurseForge hits stay distinguishable in one shared search view.
- Split the profile catalog into the installed-items list on the left and a fixed-height compact search sidebar on the right so browsing no longer replaces the current view.
- Tighten the embedded catalog result cards with fewer visible chips, shorter descriptions, and denser actions so more results fit into the compact sidebar.
Fixed
- Keep resource pack and shader pack catalog installs on the asset install path instead of treating them like removable manifest mods in the browser UI.
[2026.03.17] - Sync hosted Network Guard allowlist
Added
- Show a hosted Network Guard allowlist in launcher settings with sync status, last refresh metadata, and a manual refresh action against the public config feed.
Changed
- Merge hosted allowlist entries from the official Public API with the existing local per-user allowlist so central defaults and local exceptions apply together.
- Relabel the local launcher textarea as an additive local allowlist so it is clearly separate from the hosted configuration.
[2026.03.17] - Fix launcher notifications
Fixed
- Remove the broken outer shadow from launcher desktop notifications and keep the card depth inside the notification box so the transparent popout no longer shows a dark halo around each toast.
- Keep visible desktop notifications directly interactive again instead of leaving the transparent popout stuck in click-through mode while cards are on screen.
[2026.03.17] - Keep sidebar lists clear of window chrome
Added
- Add a global Network Guard allowlist in launcher settings so shared domains and IPs can stay permanently allowed across all profiles and strict policy checks.
Fixed
- Reserve the window-header and profile-dock clearance inside the main sidebar and server sub-sidebar so the first and last entries stay fully visible and scrollable instead of sliding under the window chrome.
- Snap the left icon sidebar back to whole tiles after scrolling so it no longer gets stuck with half-cut entries at the top or bottom.
- Keep essential security details in the profile protection tab visible even when global field descriptions are hidden, and show inferred host labels plus capture source details for guard rules when the launcher can resolve them.
[2026.03.17] - Fix Network Guard permission prompts
Changed
- Attribute Network Guard proxy and socket permission requests to the matching mod when the launcher policy can identify it, and fall back to an unattributed label instead of showing
unknown-mod.
Fixed
- Route Network Guard permission requests into the launcher security notifications again and open the affected profile directly from the notification.
- Seed new denied permission requests into the profile guard permissions list so they can be reviewed and flipped to allow or block in profile details.
[2026.03.17] - Launch entries from launcher lists
Changed
- Start profiles, worlds, and personal servers directly from the launcher sidebar list with a double-click while keeping single-click selection unchanged.
[2026.03.16] - Fix launcher download release source
Changed
- Resolve launcher website downloads from the active public release per channel and target instead of mixing in older platform builds from historical releases.
- Tell the launcher deploy action to default to the full public platform matrix for
releaseandbetapublishes.
Fixed
- Show missing launcher targets on
uebliche.infoas unavailable for the active channel instead of advertising stale builds from older releases. - Block partial public launcher releases in
uebliche.devbefore they can publish a mixed platform matrix to the versions API.
[2026.03.16] - Add embedded Codex CLI provider
Added
- Add
codex_clias a second launcher AI provider so the embedded chat can reuse the official Codex CLI login and run launcher troubleshooting through the launcher MCP tools. - Add Codex setup controls in launcher settings and chat for CLI detection, ChatGPT login, launcher-tool registration, and provider switching without breaking the existing LocalAI/Ollama/custom-endpoint flow.
- Add a dedicated Tauri Codex bridge with status, login, MCP registration, and non-interactive
codex exec --jsonsupport plus Rust unit tests for login parsing, JSON event parsing, and idempotent MCP setup planning.
Changed
- Keep launcher chat history and memory flow intact while routing Codex sessions through the official CLI with read-only sandboxing, no approval escalation, disabled shell/web-search tools, and launcher-only MCP guidance.
- Let users pick the embedded Codex model from the official Codex model list and keep the reasoning controls aligned with the selected model in launcher settings and the chat overlay.
- Let users start a profile directly by double-clicking its row in the list view while keeping compare mode and inline row actions from firing accidental launches.
Fixed
- Use a
codex execargument set that stays compatible with current Codex CLI builds likecodex-cli 0.91.0, so embedded Codex runs no longer fail on unsupported approval flags. - Isolate embedded Codex runs in their own
CODEX_HOMEand empty workspace so the launcher flow no longer inherits global Codex MCP servers, sessions, skills, or repository context. - Speak actual Codex-compatible MCP JSON-RPC from
launcher-cli mcp-server, so embedded Codex can finally reach launcher tools like profile listing instead of failing during MCP initialization. - Package the shared
socialclient runtime into the injected Fabric mod jar so launcher profile starts no longer crash with exit code255from missingVoiceLiveStreamClientclasses.
[2026.03.16] - Add Social launch toggles
Added
- Add a global launcher setting that turns automatic
socialmod injection for Minecraft launches on or off. - Add per-profile Social overrides in the profile details panel so each profile can inherit, force-enable, or disable the Social mod independently.
Changed
- Resolve and cache the
socialFabric or NeoForge jar through the public versions API during launch preparation so the launcher can inject the matching artifact automatically when Social is enabled.
Fixed
- Show the main launch button in profile details again so profiles can be started directly from the details view.
- Auto-resolve required Fabric dependencies for launcher-injected system mods like
connect,social, andam-i-secureso launches no longer fail just becausefabric-apiis missing.
[2026.03.16] - Fix server metadata mapping
Fixed
- Match launcher server metadata by canonical host and port so servers on the same host no longer show each other's MOTD, ping, player counts, or directory details.
- Preserve public server social links in the launcher core so the server details view can render the right external links again.
- Show player and ping stats directly in the launcher server list so the sidebar stays informative without opening each entry.
[2026.03.15] - Refine cloud style conflict modal
Changed
- Rework the cloud style conflict modal into wider side-by-side comparison cards with a compact preview, concise facts, and a flatter palette layout that uses the available modal width instead of stacking into narrow columns.
[2026.03.15] - Add Am I Secure launch action
Added
- Add a profile action menu entry that launches the selected profile with the local
am-i-securemod injected for that run.
Changed
- Resolve
am-i-securefrom the local workspace, cache the matching Fabric or NeoForge jar, and fail the explicit launch action when no compatible artifact is available.
[2026.03.15] - Harden launcher protection and strict FairPlay gates
Added
- Add a launcher protection guide and a security runbook for strict FairPlay rollouts and incident response.
- Add per-profile security mode overrides (
inherit,monitor,protect,strict) to the profile details panel. - Add a security panel that shows cached network policy, local guard rules, and per-mod capabilities.
- Add signed trusted guard-agent delivery through the public versions API plus a deploy action and build script for
guard-agentartifacts. - Add the first-party
uebliche-guard-agentJava module with launcher-forwarded guard events and per-instanceguard-events.jsonlaudit logs. - Add cached static jar analysis for suspicious mod capabilities such as network APIs, process execution, native loading, and Java agent packaging.
Changed
- Force ranked/FairPlay launches into strict mode and fail closed unless runtime, wrapper, guard agent, and network enforcement are ready.
- Include strict protection metadata in FairPlay readiness, FairPlay context files, and attestation requests.
- Extend Network Guard events and logging with prompt state, direction, and mod identity metadata.
- Extend server-side mod policy resolution with strict protection requirements, network policy, and per-mod capabilities.
- Require signed artifacts for both
service/runtimeandservice/guard-agentreleases in the public versions API. - Treat the trusted guard agent as a verified local install instead of a production environment path override.
- Build the trusted guard agent from this repository by default instead of requiring an externally supplied jar for release packaging.
Fixed
- Ignore local guard overrides while the effective launch mode is strict.
- Reject ranked attestation when strict protection or the trusted guard path is missing.
- Promote unresolved suspicious mods to local
riskfindings instead of leaving them as neutralunknownentries when static analysis flags dangerous capabilities.
[2026.03.15] - Productize Uebliche runtime delivery
Added
- Add a public runtime guide, security guide, and release runbook for the launcher-managed Uebliche runtime.
- Add per-profile Uebliche runtime overrides so profiles can inherit, prefer, or avoid the runtime until FairPlay requires it.
- Add Linux runtime deploy targets for
linux-x64andlinux-arm64.
Changed
- Resolve the Uebliche runtime only through the public versions API and verify runtime archives with Ed25519 signatures plus
sha256. - Show runtime override, effective mode, runtime state, and install or repair actions in profile details.
- Gate FairPlay runtime auto-install and background runtime maintenance on actual runtime demand instead of running them unconditionally.
- Build and deploy signed
runtime.tar.zstartifacts directly instead of maintaining a separate runtime index and manifest path.
Fixed
- Treat legacy or incomplete local runtime installs as corrupt unless they contain verified runtime metadata.
- Reject runtime artifacts that fail signature verification, tar extraction hardening, or Java sanity checks before they can be reused.
[2026.03.15] - Add CurseForge catalog and browser installs
Added
- Add a dedicated CurseForge page to the launcher mod catalog so mods, resource packs, and shader packs can be browsed next to Modrinth with the same card/detail flow.
- Add CurseForge access settings so the launcher can use the Uebliche proxy by default or switch to a locally stored user API key.
- Add a native embedded CurseForge browser window for website-only or browser-required installs and downloads.
Changed
- Route CurseForge installs through provider-aware launcher commands so direct downloads install natively while restricted files automatically switch into the embedded browser flow.
- Persist CurseForge metadata for installed resource packs and shader packs so the launcher can keep provider, project, file, and website context next to the asset file.
- Include CurseForge mods and assets in launcher update checks, while keeping browser-only files marked for manual browser updates instead of attempting silent auto-installs.
Fixed
- Keep installed CurseForge mods keyed by their real project id instead of a Modrinth-style slug so install, remove, and installed-state detection stay consistent.
- Build CurseForge browser/download URLs from the real project slug so browser-required installs land on the correct website download page.
[2026.03.15] - Persist screenshot world context
Added
- Persist Connect-provided screenshot context next to captured files so the gallery can keep world and server metadata across reloads.
Changed
- Show stored world/server context in the profile screenshot gallery and lightbox instead of a permanent unknown placeholder.
- Explain screenshot metadata in terms of active Connect context rather than a separate metadata mod.
[2026.03.15] - Refine launcher shell separation
Changed
- Rework the launcher shell into clearer Discord-inspired zones with a darker icon rail, a distinct workspace/sidebar column, and a stronger split between navigation, content, and friends.
- Keep the active view visible as a dedicated header bar inside the main content area instead of hiding it behind the window title bar.
- Restyle the header controls and account dock so the launcher reads more like a structured workspace than a single flat surface.
- Rebuild the Feedback page so the workspace subsidebar holds your created feedback entries, the selected detail keeps its context on the left, and the right sidebar stays focused on comments.
- Remove the dedicated settings button from the launcher sidebar so settings stay reachable from the profile dock instead of occupying their own rail slot.
- Refresh the workspace subsidebar immediately on page switches instead of leaving the previous section visible until the new view settles.
- Close the profile details overlay before paint when leaving
Profiles, so switching to views likeNewsno longer flashes the old profile panel on top. - Make the Timeline render from freshly loaded events immediately instead of waiting through extra idle-processing steps after the data already arrived.
Fixed
- Stop pruning the timeline file on every read so opening the Timeline no longer pays an extra storage rewrite before the first results appear.
- Keep timeline and feedback loads pinned to their latest request so fast page switches or feedback selection changes no longer flash stale empty states or old list/comment payloads into view.
- Keep aborted Modrinth catalog requests from clearing the active loading state, so opening the page no longer flickers between the skeleton cards and the "no results" empty state.
- Limit the icon-rail background to the actual sidebar width again so the left launcher rail no longer paints a broken oversized slab behind the workspace column.
- Replace the world-details cheats text with the same
/marker used in the worlds list so enabled cheats stay readable without adding a second text label. - Match the hardcore skull chip in world details to the slash marker sizing so both status markers read at the same visual weight.
- Add more gutter for sidebar icons and remove the upward hover nudge so active or hovered icons no longer clip against the shell edge.
- Snap the launcher rail back to the top when it lands on a tiny scroll offset so the first sidebar icon no longer gets clipped under the top edge.
- Remove the stacked top offsets in the launcher shell so the left rail and workspace sidebar start closer to the header again.
- Normalize the sidebar scroll position only on native startup or actual layout changes so page switches keep the current rail position.
- Snap the visible launcher rail to full item boundaries so the native sidebar no longer leaves half-cut tiles at the viewport edges.
- Tune the workspace subsidebar background so it sits closer to the main content surface instead of reading like a separate mismatched panel.
- Make the workspace subsidebar list itself scroll so long sections like servers stay navigable without losing the header controls.
- Keep subsidebar resize live and in sync so the main content no longer trails behind the drag handle while changing sidebar width.
- Keep header and rail hover tooltips anchored under UI zoom changes instead of letting them drift off their controls.
- Reduce the subsidebar-to-content separator stack to a single visible divider instead of three competing lines.
- Show right-aligned world markers in the subsidebar so enabled cheats use a
/badge, hardcore uses a skull, and disabled cheats stay hidden. - Update the Modrinth subsidebar search hint per selected category so mods, resource packs, and shaders each explain the right search target.
- Keep the
Serverssubsidebar consistent by listing only server names and icons instead of intermittently mixing in address and live-status lines. - Prevent option dropdowns like the graphics preset selector from changing the content width when values or menus get longer.
- Remove the duplicate in-content page header so launcher views now expose their title only once via the workspace subsidebar.
- Tighten the launcher icon rail so the sidebar background no longer feels oversized around the main navigation.
- Align the world-list cheats slash and hardcore skull with the title row so both markers sit right-aligned directly behind the world name.
- Remove the small trailing play arrow from world entries in the launcher subsidebar so the list stays focused on name and world state.
- Hide disabled cheats in the world details so the panel only calls cheats out when they are actually enabled.
[2026.02.20] - Add encouraging friends empty state
Changed
- Show an additional encouraging message in the Friends window when the list is still empty.
- Keep the message visible only when no friends exist (not during loading, errors, or blocked state).
[2026.02.20] - Add compact debug log mode
Added
- Add a new
Debug-Modustoggle in launcher settings (Allgemein) to enable technical log diagnostics. - Add a compact live log overlay that appears while debug mode is enabled and lets users open the full logs drawer directly.
Changed
- Persist debug-mode state locally so the compact diagnostics overlay stays consistent across restarts.
[2026.02.20] - Add cloud style sync conflict flow
Added
- Add a new
Style-Sync zwischen Geraetentoggle in launcher settings to sync launcher style to cloud for Dash and Mobile. - Add a conflict modal with side-by-side preview when a different cloud style already exists.
Changed
- Show cloud-style availability and last update timestamp directly in the appearance settings card.
- Let users choose between
Cloud anwendenandCloud ueberschreibenwhen enabling sync against an existing cloud payload.
[2026.02.20] - Add chat poll creation and voting
Changed
- Render social chat polls directly in Friends chat messages, including per-option vote counts, percentages, and selected state.
- Add in-chat poll voting actions with immediate message refresh after vote submission.
Added
- Support creating polls from the composer with slash syntax:
/poll Question | Option A | Option B/mpoll Question | Option A | Option B | Option C
- Extend launcher social chat core models and command bridge with poll payloads and a dedicated poll-vote command.
[2026.02.19] - Add startup autostart background mode
Changed
- Add a new launcher setting to start the app automatically with the operating system.
- Default the startup setting to enabled so fresh installs launch automatically after sign-in.
- Start autostart launches in background/tray mode instead of forcing the main window open.
- Add an updater setting to automatically install launcher updates while the user is AFK/idle.
- Only trigger idle auto-install when data saver is inactive, so constrained network sessions stay paused.
- Move the global narrator toggle from
Settings > Allgemeinto theOptionentab in Minecraft options. - Add per-profile narrator override in profile details (
Vererbt / Aktiv / Deaktiviert) with effective-state preview.
Added
- Add native autostart bridge commands in the launcher backend and wire them to the settings toggle.
- Register the Tauri autostart plugin with a dedicated startup flag (
--launcher-autostart) for deterministic background launch detection.
Fixed
- Keep sidebar hover labels aligned with their hovered item when UI scale/zoom is changed.
- Remove duplicate native/browser hover hints on sidebar navigation items when custom in-app tooltips are active (notably visible on Windows).
- Remove the embedded chat section from the Friends popout window and keep the layout single-column there.
- Open a direct chat popout immediately on friend click/context action in Friends views (with inline-chat fallback when popout is unavailable).
- Parse Friends live-snapshot payloads with nested
requests.incoming/outgoingand map them to launcher overview fields, so incoming/outgoing friend requests stay live in the UI.
[2026.02.19] - Move launcher updater flow to Rust
Changed
- Route launcher update checks through native Tauri Rust commands instead of running updater plugin logic in the UI hook.
- Route launcher download/install flow through native Rust updater commands and stream progress back to the UI via
launcher://updater-progressevents.
Fixed
- Keep update check and install source consistent via the public versions API (
/v1/public/versions/resolve+/v1/public/versions/download) to avoid UI-visible updates that cannot be installed in-app.
[2026.02.18] - Mobile activity icon in friends presence
Changed
- Show a phone activity icon in Friends rows and favorite tiles when a friend is online from mobile without launcher/desktop presence.
- Keep the existing square activity icon for launcher/desktop/ingame presence, so device context is visible at a glance.
[2026.02.18] - Fix active-interface data saver detection on macOS
Fixed
- Restrict macOS data-saver detection to the currently active default network interface instead of scanning all saved interfaces.
- Prevent false positives where Friends and other network-backed features stayed paused even when the active system connection had data saver disabled.
[2026.02.18] - Connect fallback download path compatibility
Fixed
- Resolve Connect artifact fallback downloads via the versioned object path (
/release/<loader>/<version>/<file>.jar) when a manifest does not provide a direct URL. - Encode
+and spaces in Connect fallback URL path segments to avoid broken fetches for tagged artifact names.
[2026.02.18] - Prevent macOS data saver false positives
Fixed
- Ignore
navigator.connection.saveDatain the desktop Tauri runtime so launcher data-saver state no longer flips on false browser signals. - Keep desktop data-saver activation tied to the native OS metered/data-saver signal only.
[2026.02.18] - Keep header tooltips anchored to hovered control
Fixed
- Align header hover tooltips with their hovered icon/button when UI zoom uses transform-based scaling.
- Compensate tooltip coordinates against root scaling so tooltip position remains stable across zoom modes.
[2026.02.18] - Remove manual data saver toggle from settings
Changed
- Remove the manual
Datensparmoduscheckbox from launcher settings. - Derive data-saver pause behavior only from automatic OS/network signals (OS data saver and metered connection).
[2026.02.18] - Refine header hover tooltips
Changed
- Replace native browser
titletooltips in the launcher window header with styled in-app tooltips. - Add richer hover details for notifications, friends activity, data-saver state, updates, and layout-edit actions.
- Improve tooltip readability and placement with viewport-aware positioning and non-blocking pointer behavior.
[2026.02.18] - Auto-detect OS data saver mode
Fixed
- Register and expose the missing Tauri command
is_metered_connection_commandso UI data-saver detection no longer fails silently. - Enable automatic OS-level data-saver detection on all desktop targets in the launcher UI instead of Windows-only checks.
- Use an explicit
OS data saver detectedreason in the active data-saver state label.
[2026.02.18] - Auto-maintain Uebliche runtime in background
Changed
- Start an automatic Uebliche runtime maintenance task on launcher startup when runtime mode is enabled.
- Run an immediate runtime ensure on app launch and keep runtime versions current with periodic background checks every 6 hours.
[2026.02.18] - Replace server reorder arrows with drag and drop
Changed
- Remove the up/down arrow controls for server ordering in the personal server list and cards.
- Add drag-and-drop reordering for personal servers in both list and card view, including a dedicated drag handle in each server action row.
- Add visual drag feedback (dragging state and before/after drop indicators) for clearer reorder targets.
[2026.02.18] - Polish server list view styling
Changed
- Redesign the personal server list rows with clearer visual hierarchy, stronger hover/focus states, and improved spacing.
- Add dedicated list-view styling for public servers, including better alignment for metadata, profile actions, and import controls.
- Introduce missing server list UI primitives (
public-chip, social icon badges, structured meta pills, reorder control container) for a cleaner and more consistent list layout.
[2026.02.18] - Add server IP privacy toggle
Added
- Add a new checkbox in the Servers view to hide server host/IP addresses.
Changed
- Obfuscate server addresses in server lists, server cards, public server cards, and server details while the toggle is enabled.
- Persist the address visibility preference locally, so the choice is kept across launcher restarts.
[2026.02.18] - Emphasize active layout edit in header
Changed
- Keep the layout reset action locked directly to the right of the
Layout bearbeitenpencil in the window header. - Strengthen the active visual state of the layout edit button with higher contrast and glow, so edit mode is immediately visible.
[2026.02.18] - Restore FairPlay readiness command
Fixed
- Re-register the Tauri invoke command
fairplay_readinessso profile details can load FairPlay readiness again withoutCommand fairplay_readiness not found.
[2026.02.18] - Show layout reset only in edit mode
Changed
- Show the window-header layout reset button only while
Layout bearbeitenis active.
[2026.02.18] - Group sidebar items by stacking
Added
- Allow grouping sidebar navigation entries by dropping one item onto another while
Layout bearbeitenis active. - Add grouped-entry persistence so created sidebar groups survive launcher restarts.
Changed
- Collapse grouped sidebar entries into one launcher item in normal mode and open a compact member picker on click.
- Add an
Ungroupaction for group leaders in edit mode to clear a created group quickly.
[2026.02.18] - Add layout reset action to header
Added
- Add a dedicated reset button next to the
Layout bearbeitenpencil in the window header.
Changed
- Route layout reset through a confirmation overlay so reset only runs after explicit user confirmation.
- Reset sidebar order/visibility, home widget order/visibility, sidebar separators, and home widget presentation to defaults in one action.
[2026.02.18] - Improve live drag preview in layout edit mode
Changed
- Add a floating live preview chip while dragging sidebar navigation entries in
Layout bearbeiten. - Add a floating live preview card while dragging Home widgets (
News,Welten,Server,Support) inLayout bearbeiten.
Fixed
- Project sidebar and home widget order as a live preview during drag, so the target position is visible before drop.
- Strengthen drop target highlighting and card hover feedback to make drag targets clearer while reordering.
[2026.02.18] - Add macOS runtime deploy targets
Added
- Add
macos-arm64andmacos-x64runtime build/deploy support for signed Uebliche runtime artifacts.
Changed
- Make the runtime deploy action upload paths configurable via runtime OS/arch segments, so non-Windows runtime artifacts can be published without manual S3 copy steps.
Fixed
- Accept both
.zipand.tar.gzJRE archives in the runtime build script (Adoptium macOS binaries are tarballs). - Resolve signed runtime index/manifest paths for macOS launcher platforms (
mac-os,mac-os-arm64) in launcher-core.
[2026.02.18] - Fix FairPlay policy dropdown arrow
Fixed
- Remove the native macOS select indicator from launcher selects so the FairPlay
Policy-Modus (Profil)dropdown no longer shows a broken double-arrow icon.
[2026.02.17] - Pointer-only reorder for edit mode
Fixed
- Use pointer-only reorder flow for sidebar navigation in
Layout bearbeitento avoid platform-specific HTML5 drag/drop failures. - Use pointer-only reorder flow for landing widgets so card reordering works consistently in desktop WebViews.
Changed
- Add pointer target metadata and global pointer tracking for robust drop target detection while dragging.
[2026.02.17] - Pointer fallback for layout reorder
Fixed
- Add pointer-based drag/reorder fallback for sidebar navigation items in
Layout bearbeiten, so reorder works even when HTML5 drop events are unreliable in desktop WebViews. - Add pointer-based drag/reorder fallback for landing page widgets (
News,Welten,Server,Support) in layout edit mode.
Changed
- Prevent home card navigation while layout edit mode is active to avoid accidental page switches during reorder interactions.
[2026.02.17] - Harden sidebar drag/drop in edit mode
Fixed
- Keep sidebar drag payload stable until drop is processed, preventing no-op drops in some WebView drag event orders.
- Make sidebar drop handlers consume events earlier and resolve dragged item more defensively for reliable reorder commits.
Changed
- Disable sidebar navigation clicks while
Layout bearbeitenis active to avoid accidental route changes during drag operations.
[2026.02.17] - Fix sidebar reorder drop index
Fixed
- Correct sidebar edit-mode reorder index mapping within the same section so dropping items downward no longer snaps back to the old order.
- Move sidebar drag source handling to the full item container for more reliable drag/drop behavior in layout edit mode.
[2026.02.17] - Restore native HTTP bridge command
Fixed
- Re-register
http_request_commandin the Tauri invoke handler so launcher UI calls can use the native Rust HTTP bridge again. - Restore native HTTP request execution (method/headers/body/timeout) with HTTPS-only enforcement (except localhost over HTTP), fixing repeated
Command http_request_command not foundruntime errors.
[2026.02.17] - Compact layout-edit toggle
Changed
- Make the window-header
Layout bearbeitentoggle icon-only (pencil), removing the text label and eye badge. - Keep the same tooltip and accessibility label while matching other compact header icon actions.
[2026.02.17] - Move nav and widget menus to layout edit mode
Changed
- Remove sidebar navigation menu controls from
Settings; navigation/menu visibility and ordering are now edited only inLayout bearbeiten. - Remove Home landing widget menu controls from
Settings; start-page widget visibility and ordering are now edited only inLayout bearbeiten.
[2026.02.17] - Home widget icon controls and resize
Changed
- Replace Home widget edit controls on the landing page with icon-based width/height controls and the shared list/cards icon switch.
- Add frame-edge resize handles (right, bottom, and corner) so widget size can be adjusted directly via drag in edit mode.
- Keep drag reorder stable by suspending widget drag while a resize interaction is active.
[2026.02.17] - Increase UI Kit spacing
Changed
- Increase spacing between UI Kit cards, rows, labels, and stacked elements so examples are less cramped.
- Add dedicated responsive UI Kit spacing rules for desktop and mobile breakpoints.
[2026.02.17] - Remove settings reorder arrows
Changed
- Remove up/down reorder arrow controls from settings rows in
NavigationandStartseite. - Keep these settings focused on visibility toggles; ordering is handled in layout edit mode.
[2026.02.17] - Layout edit drag/drop and sizing controls
Fixed
- Make sidebar edit-mode drag/drop robust by resolving drag payload from
dataTransferand keeping drag state stable across browser drag events. - Add section-level drop handling in sidebar edit mode so dropping at the end of top/bottom menu sections works reliably.
Changed
- Replace implicit home widget size toggles with explicit width (
1W/2W) and height (S/M/L) controls in layout edit mode. - Add explicit layout mode buttons (
List/Cards) for home widgets and show active selection state.
[2026.02.17] - Persist launcher window bounds
Fixed
- Remember launcher window size and position across restarts via the Tauri window-state plugin.
- Persist window state on explicit app shutdown paths (
exit(0)and tray quit) instead of only close events. - Restore saved state when recreating the main launcher window instance.
[2026.02.17] - Edit-mode layout overlays
Added
- Show a compact view-mode overlay in
Layout bearbeitenmode on list-heavy pages (Profiles,Worlds,Servers) to switch between list/cards directly in context.
Changed
- Reuse one shared overlay component for these pages so view-mode editing behavior stays visually and functionally consistent.
[2026.02.17] - Customizable launcher surface
Added
- Add customizable sidebar navigation settings to show/hide entries and reorder main/secondary menu items.
- Add customizable home widget settings to enable/disable and reorder
News,Worlds,Servers, andSupport.
Changed
- Extend look-and-feel settings with UI density, accent style, card style, and compact mode toggles.
- Apply the new UI style settings globally via persisted
data-ui-*flags so layout spacing and card presentation update immediately.
[2026.02.17] - Inheritable profile switch style
Changed
- Replace the profile auto-update inherit/enable/disable buttons with a reusable inheritable switch component for profile-level overrides.
- Show a linked icon in the top-right of the switch when
Inheritis active and dim the control slightly to indicate global fallback. - Show an unlinked icon when profile override mode is active so
Enabled/Disabledis visually distinct from inherited mode.
[2026.02.17] - Zero playtime label
Fixed
- Show
0playtime for fresh profiles with no recorded session yet, instead of<1m.
[2026.02.17] - Create profile snapshot toggle visibility
Changed
- Hide the
Show snapshotscheckbox in the create-profile wizard whenAlways latest releaseorAlways latest snapshotis selected, because the toggle has no effect in tracked mode.
[2026.02.17] - Compatible mod fallback install
Changed
- Profile details now offer a direct
Kompatible Version nutzenaction for Modrinth mods that are flagged as incompatible with the current Minecraft version. - Mod update installs now prefer the currently resolved compatible
versionIdbefore using stale cached update metadata.
Fixed
- When a pinned mod version install fails with a compatibility error, the launcher now automatically resolves and retries with the best compatible version for the profile loader + Minecraft version.
[2026.02.17] - Profile details resilient loading
Changed
- Open profile details immediately with cached data or a summary snapshot while fresh detail/asset data loads in the background.
- Refresh profile details and profile assets in parallel to reduce perceived wait time when opening the details panel.
Fixed
- Add hard timeouts for profile detail and asset requests so the details view no longer hangs indefinitely on stalled backend calls.
- Guard profile detail requests against stale responses when users switch/close details quickly, preventing missing or overwritten UI state.
[2026.02.17] - Notification quick actions
Changed
- Open notifications from the bell in a compact dropdown with an explicit empty state (
Keine Mitteilungen vorhanden.). - Keep notification lists scrollable inside the dropdown so the panel stays small.
Added
- Add inline friend request actions directly in the notification dropdown:
- accept via green check
- decline via red cross
- block via red lock
- Add a launcher core/Tauri bridge command to block a user from friend notifications (
friends_block_user_command->/social/friends/blocks).
[2026.02.17] - Dedicated news tab
Added
- Add a dedicated
Newstab to the launcher navigation. - Add feed search/filter controls in the news tab (fulltext, scope, project, and tag filters).
- Add a detailed news view with markdown rendering and direct link opening.
Changed
- Increase launcher news feed fetch size so the dedicated news tab can search across a larger result set.
- Keep Home news compact by limiting the preview list to the latest entries.
[2026.02.17] - Followable launcher news feeds
Added
- Home news view: add project feed follow controls (follow/unfollow chips + manual project ID follow input).
- Add launcher core/API bridge for personalized news feed data and follow updates (
list_news_command+set_news_follow_projects_command).
Changed
- Load news from authenticated
/v1/news/feedso launcher users see combined global news plus followed project feeds. - Keep compatibility fallback to legacy public news (
service:launcher+ parents) when personalized feed is unavailable. - Reuse feed cache timestamps (
sinceMs/lastChangedAtMs) and skip full payload updates when the API reportsnotModified=true.
[2026.02.17] - Friends polling via core
Changed
- Move launcher friends live updates to core-driven polling (
friends_overview_command) and stop opening a browser WebSocket from the UI layer. - Remove the obsolete
friends_stream_url_commandbridge and corresponding core helper for/social/friends/live.
Fixed
- Prevent recurring launcher log spam from failed UI WebSocket connections to
wss://api.uebliche.net/v1/social/friends/live.
[2026.02.17] - Skin parts migration deep link
Added
- Add launcher deep-link support for skin parts migration (
?entry=skin-builder-partsand/catalog/skin-builder/parts) to openAccounts > Skins > Community. - Add optional launcher query support for direct account view selection (
view=accounts,accountsTab,skinsTab).
Changed
- Allow external services (for example Dash migration bridges) to open the launcher directly in the skin parts community workflow.
[2026.02.14] - Header brand centering
Fixed
- Window header: align the top-left brand (logo + title) more precisely by normalizing line-height.
[2026.02.14] - Notifications and preview stability
Changed
- Server management: stop re-pinging on every silent refresh; auto-ping failures are now debug-only (with cooldown) instead of spamming the console.
Fixed
- Desktop notifications (Windows): do not force the notifications window into permanent click-through mode; clicks work again and the webview controls click-through only when empty.
- Skins: reduce WebGL context usage by rendering list/grid thumbnails as 2D images and keeping the main 3D preview stable (avoids "Too many active WebGL contexts" and context-loss crashes).
[2026.02.14] - Servers, notifications, and accounts
Changed
- Server management: move the primary actions (Add server / Refresh public servers) into the top header for a more consistent layout.
- Microsoft account flow: the main action now starts the device-code flow and immediately copies the code + opens the login URL (one click). The code remains clickable to copy.
Fixed
- Desktop notifications (Windows): avoid hiding the notifications popout before it emitted the ready handshake, preventing notifications from never showing on some setups.
- Network Guard: log status events as
info(while still keeping a debug copy of all events) so users see activity without enabling debug logs.
[2026.02.14] - Minecraft language (system)
Fixed
- When "Use system language" is enabled, prefer the likely locale (e.g.
de_deforde) instead of picking an arbitrary first match likede_at.
[2026.02.14] - Skin Builder attention animations
Fixed
- Restore clickable desktop notifications by only enabling click-through when the notifications window is empty (Windows).
- Add category-specific Skin Builder preview attention animations when switching parts (tops/outerwear/gloves: inspect arms, bottoms/socks/footwear: crouch, head slots: nod) and keep the preview camera framed to the active category.
- Log the active Network Guard config on launch and include the effective policy flags in the startup status event.
[2026.02.14] - Desktop notifications & Network Guard
Fixed
- Clamp the desktop notifications popout position to the active monitor so misplaced screen placement settings cannot push notifications off-screen (Windows).
- Emit a Network Guard status event even when disabled and log every Network Guard event with a debug copy for easier troubleshooting.
[2026.02.14] - One-click Microsoft login
Changed
- Replace the separate "Copy" + "Open login" actions with a single "Copy & login" button in the Microsoft device-code flow.
- Make the device code itself clickable (and keyboard accessible) to copy it.
[2026.02.14] - Network Guard logging
Fixed
- Log Network Guard status, observed destinations, and policy decisions in the launcher debug log (including socket monitor errors).
[2026.02.14] - Desktop notifications (Windows)
Fixed
- Make the notifications popout show/hide logic resilient so notifications still appear even if optional window APIs fail on Windows.
[2026.02.14] - Desktop notifications (Windows)
Fixed
- Fix Windows desktop notifications by bootstrapping the hidden notifications window on first use.
[2026.02.14] - German translations
Fixed
- Use proper umlauts in German UI copy.
[2026.02.14] - Window header spacing
Fixed
- Normalize window header spacing so controls and action buttons use consistent gaps.
[2026.02.14] - Ollama model catalog
Fixed
- Avoid fetching Ollama
/api/tagson startup (models are now loaded only when you explicitly refresh them).
[2026.02.14] - Log overlay resizing
Changed
- Replace the log overlay height slider with a draggable top edge (height is persisted).
[2026.02.14] - Apply skins to accounts
Fixed
- Fix applying skins to accounts by sending the required
accountIdargument to the core command.
[2026.02.14] - Clothing overlay templates
Fixed
- Include second-layer (overlay) UV islands in Tops/Bottoms part templates so creators can paint proper 3D depth.
- Map Outerwear templates to the jacket/sleeves overlay UV islands.
[2026.02.14] - Skin builder color controls
Fixed
- Hide the part color controls in the skin builder when a selected community part disables custom colors (non-colorable layers).
[2026.02.13] - Skin preview cape picker styling
Fixed
- Style the cape selection list in the skin preview modal so it matches the rest of the launcher UI.
[2026.02.13] - Clothing templates
Fixed
- Expand Tops/Outerwear/Bottoms part templates to cover all faces (360 degrees) in the part editor instead of only the front.
[2026.02.13] - Head follow direction
Fixed
- Correct the vertical axis for head-follow pointer rotation so moving the mouse up looks up (and vice versa).
[2026.02.13] - Native Windows window corners
Fixed
- Use native Windows window corner rounding for launcher windows instead of CSS border-radius clipping.
[2026.02.13] - Pending part editing
Added
- Allow creators to fully edit pending/blocked community skin builder parts in the part editor and re-submit them for review.
- Show pending/blocked status chips for your own community parts in the market list.
[2026.02.13] - Layer order dialog
Changed
- Make the skin builder layer order modal more compact and show the selected part name(s) per slot.
[2026.02.13] - Head follows pointer
Added
- Make the main 3D skin preview track the mouse pointer with head rotation for extra life in the builder and accounts preview.
[2026.02.13] - Neutral fallback skins
Fixed
- Remove purple tint from placeholder/fallback skins in 3D previews.
- Use a neutral skin-tone base when composing builder skins, so missing parts no longer introduce a purple cast.
[2026.02.13] - Skin builder part offsets
Added
- Allow community part uploads to define per-part offset bounds (X/Y min/max) for placement adjustments.
- Allow adjusting a selected part's position in the builder within its offset bounds, persisted in saved builder skins.
[2026.02.13] - Headwear stack focus
Fixed
- Keep stacked Headwear render order stable while selecting items for editing (no accidental reordering when focusing a part).
[2026.02.13] - Stacked headwear parts
Added
- Allow selecting multiple Headwear parts at once (stacking) so hats and glasses can be combined.
- Persist stacked Headwear selections (and their per-part colors) in saved builder skins.
[2026.02.13] - Community part attribution
Added
- Allow submitting optional attribution (source/inspiration/original artist) when uploading community skin builder parts.
[2026.02.13] - Community part moderation
Added
- Prompt for community upload rules/terms before submitting skin builder parts.
Changed
- Submit community skin builder parts for moderation (pending) instead of publishing immediately.
[2026.02.13] - Skin part upload validation
Fixed
- Validate community part template uploads as 64x64 PNG files (<= 256 KiB) before submitting.
- Reject invalid skin builder part textures on the Public API (64x64 PNG, <= 256 KiB).
[2026.02.13] - Layered skin builder parts
Added
- Allow community skin builder parts to use multiple PNG layers, each with its own tint in the builder and part editor.
- Persist skin builder selections and color overrides when saving skins to the library, so edits can resume later.
- Add Modrinth-style search term filtering for Worlds, Servers, and Profiles lists.
- Add a visual editor for desktop notification placement.
Changed
- Update Patreon links to point to
patreon.com/ueblicheand streamline the Supporters tab CTA.
[2026.02.13] - Community base parts
Added
- Allow community skin builder parts in the
Baseslot, so custom base bodies can be uploaded and selected.
[2026.02.13] - Skin builder layer compositing
Fixed
- Compose skin builder selections from uploaded PNG textures in a deterministic slot draw order, so parts stack correctly.
- Remove placeholder builder parts so only real community/custom items are shown.
[2026.02.13] - Modpack import entry
Changed
- Remove
Modpacksfrom the Modrinth browser project-type tabs to keep that view focused on mods, resource packs, and shaders.
Added
- Add a dedicated
Import Modpack profile archiveaction to the Profiles import menu so modpack/profile archives are created from the Profiles import flow.
[2026.02.11] - Prism playtime import fix
Fixed
- Convert Prism/MultiMC
totalTimePlayedvalues from seconds to milliseconds during instance import so imported profile playtime matches the source launcher.
[2026.02.11] - Worlds refresh guard while playing
Fixed
- Ignore
worlds-changedrefresh events for profiles that currently have a running game instance, so the Worlds view no longer reloads continuously during gameplay on Windows.
[2026.02.11] - Updater cache busting
Fixed
- Append a timestamp query parameter to updater manifest fetch URLs so CDN-cached responses do not block fresh update detection.
[2026.02.11] - Updater build-date freshness
Fixed
- Compare update candidates by manifest build date (
pub_date) and release day instead of hash-only suffix ordering. - Keep the manual manifest fallback active when plugin checks report no update, so newer same-day builds are still detected.
[2026.02.11] - S3 release cleanup
Added
- Add
scripts/cleanup-s3-releases.jsto prune old launcher artifacts from S3 while keeping the newest N versions per channel. - Add a
Cleanup launcher S3uebliche.dev action with configurable channels, retention, and apply mode.
[2026.02.10] - Signed in-app updates
Fixed
- Generate and publish signed updater manifests so in-app updates ("Download & Neustart") work reliably.
- Improve the updater fallback flow to open manual download URLs via the Tauri-safe external opener.
[2026.02.08] - Focus ring styling
Fixed
- Replace the default blue input focus ring with an accent-colored focus outline.
[2026.02.08] - Selection colors
Fixed
- Use the launcher accent color for text selection + caret color instead of the system default blue highlight.
[2026.02.08] - Libraries link opener
Fixed
- Ensure third-party library links open reliably in Tauri by routing clicks through the external opener.
[2026.02.08] - Libraries search copy
Fixed
- Use a dedicated libraries search placeholder instead of reusing the log search string.
[2026.02.08] - Libraries modal refresh
Changed
- Redesign the third-party libraries overlay with search, versions, and a cleaner compact list.
[2026.02.08] - Global view loading
Fixed
- Reduce UI hangs while switching tabs by lazily building view props only for the active page and showing a global loading overlay while the new view mounts.
[2026.02.08] - Non-blocking navigation
Fixed
- Avoid UI stalls when switching tabs by rendering only the active view and scheduling navigation state updates as transitions.
[2026.02.08] - Navigation render freeze fix
Fixed
- Prevent hidden pages from re-rendering on navigation by freezing their element trees while hidden, avoiding short UI hangs.
[2026.02.08] - Instant tab switching
Fixed
- Keep page content mounted briefly when switching tabs, then unmount during idle time to avoid navigation jank.
[2026.02.08] - Smooth tab switching
Fixed
- Avoid short UI freezes when switching tabs by delaying expensive page unmounts to idle time.
[2026.02.08] - Faster navigation
Fixed
- Defer heavy page mounts to idle time so switching tabs from the sidebar feels instant.
[2026.02.08] - Timeline async compute
Fixed
- Defer timeline parsing/grouping to idle time so opening the Timeline tab does not freeze the UI on large logs.
[2026.02.08] - Timeline loading overlay
Fixed
- Show a subtle shimmer overlay while the timeline reloads so loading is visible even when previous data is already present.
[2026.02.08] - Timeline loading skeleton
Fixed
- Render a timeline skeleton immediately while loading so the Timeline tab does not flash an empty panel.
[2026.02.08] - Timeline performance
Fixed
- Avoid Timeline UI hangs by reading the timeline log from the end (tail scan) instead of parsing the entire file.
- Bound mod icon preloading concurrency so large profile sets do not freeze the UI.
[2026.02.08] - Async timeline loading
Fixed
- Load timeline events/config in background tasks so opening the Timeline page does not block the UI thread on large logs.
[2026.02.08] - Timeline play modes and radar
Added
- Show an activity radar on the Timeline page to summarize recent activity by category.
- Capture quick play multiplayer server context in play session timeline events so the launcher can attribute playtime to servers.
Changed
- Add playtime mode filters (All, Singleplayer, Multiplayer) and a compact server breakdown when viewing multiplayer sessions.
- Show play mode + server information in Timeline tooltips when available.
Fixed
- Dedupe repeated
mod.installedtimeline entries across install flows that report version labels vs version IDs.
[2026.02.08] - Profile delete robustness
Fixed
- Stop a running Minecraft instance before deleting its profile to avoid leftover
profile.lockdirectories. - Dedupe repeated mod timeline entries even when the install flow reports version labels and version IDs in separate steps.
[2026.02.08] - Horizontal timeline view
Changed
- Replace the timeline stream with a horizontal time axis (event markers + play session bars per profile).
Fixed
- When a mod icon fails to load, keep the fallback letter visible instead of leaving an empty placeholder.
- Dedupe repeated
mod.*timeline entries more aggressively to avoid spam from multi-step install flows.
[2026.02.08] - Mod install dedupe
Fixed
- Prevent duplicate Modrinth installs from being triggered multiple times in quick succession.
- Dedupe repeated
mod.*timeline events to avoid duplicate entries.
[2026.02.08] - Profile delete cleanup
Fixed
- Deleting a profile now reliably removes the full profile directory, including a leftover
profile.lockfile.
[2026.02.08] - UUID profile imports
Fixed
- Imported profiles now always get a fresh UUID folder name, avoiding collisions with existing profiles and making imports deterministic.
[2026.02.08] - Refresh playtime after exit
Fixed
- Refresh profile summaries after a game session ends so playtime updates immediately in the UI.
[2026.02.08] - World timeline events
Added
- Record world lifecycle and play sessions in the timeline (
world.created,world.deleted,world.played).
Fixed
- Record play sessions with the correct end timestamp after Minecraft exits.
[2026.02.08] - Timeline stream view
Changed
- Replace the timeline list with a grouped timeline stream and per-day activity bars with category coloring.
[2026.02.08] - Launcher beta build fix
Fixed
- Fix a Rust type mismatch in the timeline event payload that could break release builds.
[2026.02.08] - Launcher dev port cleanup
Fixed
- Auto-free the default dev server port (42200) when starting the launcher dev environment, preventing Vite strict-port startup failures after stale runs.
[2026.02.08] - Activity timeline
Added
- Add a Timeline tab that records launcher activity locally (profiles, mods, accounts, options, play sessions, updates) with filters and retention controls.
[2026.02.08] - External playtime import
Fixed
- Parse external launcher playtime more robustly during profile import.
[2026.02.08] - Imported profile playtime
Fixed
- Preserve external launcher playtime when importing profiles.
[2026.02.08] - Bundled UI font
Added
- Bundle the Inter Variable font so UI typography is consistent across operating systems.
[2026.02.08] - Account setup wizard
Added
- Route first-run (or post sign-out) users back to the account setup flow until an account is added.
[2026.02.07] - Minecraft language system default
Changed
- Default "Use system language" for Minecraft language settings to enabled.
Fixed
- If the language is changed in-game while system language syncing is enabled, automatically disable the system language toggle so the in-game choice is preserved.
[2026.02.07] - Uebliche.dev deploy uploads
Fixed
- Ensure the
Deploy launcheraction can upload artifacts via uebliche.dev even whenrelease.shskips its own S3 upload logic.
[2026.02.07] - Network logs and UI polish
Fixed
- Keep profile mod icon fallbacks visible until the icon image actually loads.
- Scope HTTP fetch logs to the Network log tab so the tab is not empty during normal usage.
Changed
- Increase the FOV slider range to 130 and label 80 as "Normal" and 130 as "Quake Pro" (matching vanilla naming).
[2026.02.07] - Mod icons in profiles
Fixed
- Cache remote Modrinth (and asset) icons as data URIs so profile mod icons render reliably in the details view.
[2026.02.07] - Network Guard log visibility
Fixed
- Show Network Guard socket destinations in the Network log tab without requiring "Show debug".
[2026.02.07] - Options sync audio/music
Added
- Add Options Sync toggles for audio and music so profiles can share sound device and volume settings.
[2026.02.07] - Network Guard log tab
Added
- Emit Network Guard destination events into the UI log panel under a dedicated tab, including which profile triggered each destination.
[2026.02.07] - Desktop shortcuts (macOS)
Fixed
- Generate macOS desktop shortcuts as
.appapplets so launching a profile does not open Terminal.
Changed
- Update generated Tauri schemas to include deep-link permission entries.
[2026.02.07] - Network Guard (per instance)
Added
- Add an optional per-instance Network Guard that starts a local HTTP proxy (with HTTPS CONNECT tunneling), monitors outbound destinations (best-effort), and shows a desktop notification once per new destination.
[2026.02.06] - App icon card
Changed
- Add an opaque background card to the macOS app icon to avoid overly transparent glyphs on light surfaces.
[2026.02.06] - App icon updated
Changed
- Update the launcher app icon using the shared Uebliche logo.
[2026.02.06] - Sidebar tooltip overlay
Fixed
- Render the sidebar hover label as an overlay tooltip so it does not widen the sidebar or cause horizontal scrolling.
[2026.02.06] - Shared logo
Added
- Add the shared Uebliche logo SVG and expose
startLogo()/stopLogo()on the header logo element (id="logoSvg").
Changed
- Sync the launcher branding logo from the monorepo root so the asset stays consistent across projects.
[2026.02.06] - Sidebar fade
Changed
- Reduce the bottom fade strength in the sidebar scroll mask and disable it when scrolled to the end.
[2026.02.06] - Sidebar top gutter
Fixed
- Add a small top gutter to the sidebar scroll area so the fade mask cannot clip the first item.
[2026.02.06] - Sidebar header removed
Removed
- Remove the sidebar header block to keep the navigation compact.
[2026.02.06] - Startup animation removed
Removed
- Remove the temporary RGB warp startup animation (a logo-based startup experience is planned).
[2026.02.06] - Startup warp respawn
Fixed
- Fade in both alpha and visible streak length on respawn to remove harsh looping.
[2026.02.06] - Startup warp loop
Fixed
- Fade new warp streaks in near the center to avoid visible resets, and use dt-based motion for smoother playback.
[2026.02.06] - Startup warp fade
Changed
- Slow down the startup warp fade-out and make the transition smoother.
[2026.02.06] - Startup warp in dev
Fixed
- Keep the startup warp animation visible in dev mode (React StrictMode cleanup no longer ends it immediately).
[2026.02.06] - Devtools
Added
- Enable the webview developer tools in debug builds (set
UEBLICHE_DEVTOOLS=0to disable).
[2026.02.06] - Rounded window corners
Changed
- Render the launcher windows with rounded corners using transparent windows and CSS clipping.
[2026.02.06] - Startup animation preview
Added
- Add a preview button for the startup warp animation in settings.
[2026.02.06] - World linking
Added
- Link a world across profiles using symlinks/junctions so saves stay in sync.
[2026.02.06] - Startup warp animation
Added
- Add an optional RGB warp startup animation with a settings toggle.
[2026.02.06] - Header drag permission
Fixed
- Allow window dragging permissions for the custom header on macOS.
[2026.02.06] - Header drag
Fixed
- Start window dragging directly from the custom header region.
[2026.02.06] - Relaunch module
Fixed
- Use the Tauri process plugin for relaunch to avoid dev import errors.
[2026.02.06] - Friends popout route
Fixed
- Open the friends popout using the app route to avoid dev server URL issues.
[2026.02.06] - Update relaunch
Fixed
- Relaunch the launcher automatically after installing an update.
[2026.02.06] - Header drag region
Fixed
- Mark the custom header area as draggable for window moves.
[2026.02.06] - Custom header frame
Changed
- Hide the native window frame to rely on the custom launcher header.
[2026.02.06] - Window header settings
Added
- Add customizable window header controls with OS-style layouts, density, and colors.
[2026.02.06] - Friends live updates
Changed
- Switch the friends list to a websocket stream instead of periodic polling.
[2026.02.06] - Accounts add overlay
Changed
- Refresh the add-account overlay styling for clearer hierarchy and spacing.
[2026.02.06] - Accounts empty banner
Fixed
- Remove the dark overlay behind the empty accounts banner.
[2026.02.06] - Friends popout controls
Changed
- Replace the friends popout close button with OS-style window controls.
[2026.02.06] - Portable update manifest
Added
- Publish a portable Windows update manifest and upload the portable ZIP during launcher deploys.
[2026.02.05] - Portable Windows bundle
Added
- Add a portable Windows bundle to launcher deploy outputs.
[2026.02.05] - News feed
Added
- Load launcher news from the public API feed with summary and detail views.
[2026.02.05] - Feedback back button
Fixed
- Add an outlined back button style for the feedback subpage.
[2026.02.05] - Feedback back button
Fixed
- Make the feedback back button more visible.
[2026.02.05] - Feedback subpage
Changed
- Show the feedback form as a dedicated subpage instead of a side module.
[2026.02.05] - Feedback flow
Changed
- Split the feedback view into a list with a dedicated "New" action and detail panel.
[2026.02.05] - Feedback history
Added
- Show submitted feedback entries in the launcher feedback view.
[2026.02.05] - Launcher feedback
Added
- Add an in-app feedback form that submits directly to the public API.
[2026.02.05] - Update manifest path
Fixed
- Use channel-root update manifest URLs without platform subfolders.
[2026.02.05] - Friends popout close
Fixed
- Allow the friends popout window to close even when close-to-tray is enabled.
[2026.02.05] - Account cache storage
Fixed
- Store Uebliche session cache data on disk to avoid Windows credential size limits.
- Cache skin and cape previews on disk instead of the credential store.
[2026.02.05] - Smarter downloads
Changed
- Polish the launcher download panel styling for clearer hierarchy and contrast.
Added
- Show a recommended launcher download button based on detected OS and CPU architecture.
Fixed
- Improve download button text contrast so labels stay readable.
[2026.02.05] - Tray restore sizing
Fixed
- Restore a reasonable window size on Windows when reopening from the tray.
[2026.02.05] - Friends popout close
Fixed
- Allow the friends popout window to close even when close-to-tray is enabled.
[2026.02.04] - Public update manifests
Fixed
- Generate launcher update manifests during deploys and upload them with public-read ACLs.
[2026.02.04] - Public launcher artifacts
Fixed
- Upload launcher artifacts with public-read ACLs so update manifests are accessible.
[2026.02.04] - Linux deploy bundles
Fixed
- Package fallback Linux bundles during deploy builds so cross-compiled artifacts upload correctly.
- Add Linux aarch64 sysroot symlinks for loader/libgcc to unblock cross-linking.
- Upload Linux bundle artifacts in the launcher deploy action.
[2026.02.04] - Vite TSX priority
Fixed
- Prefer TS/TSX modules in the Vite resolver to avoid JS mirror parse errors.
[2026.02.04] - Linux aarch64 sysroot
Fixed
- Rebuild the linux-aarch64 sysroot from an arm64 base image for reliable cross builds.
[2026.02.04] - Updater manifest path
Fixed
- Resolve update manifests from the per-platform folder so Windows updates install.
[2026.02.04] - Shared profile link icon
Changed
- Mark shared community profiles in the launcher with a link icon.
[2026.02.04] - Friends popout window
Fixed
- Disable maximizing the friends popout window in the launcher.
[2026.02.04] - Community server profiles
Added
- Add shared community server profiles with recommended picks and one-click launch from the public server list.
[2026.02.01] - Feature checklist
Added
- Add feature checklist page to track project progress.
[2026.01.30] - Mojang module split
Changed
- Split the Mojang metadata types and API helpers into smaller modules to keep the launcher core maintainable.
[2026.01.24] - Automatic update checks
Added
- Trigger launcher update checks automatically on startup and periodically.
Fixed
- Allow the updater public key to be injected at build time for self-updates.
[2026.01.24] - Launcher deploy storage
Changed
- Remove launcher deploy S3 storage vars and rely on the shared deploy store config.
[2026.01.24] - Window resize background
Added
- Sync Minecraft options for the default account through the public API.
Fixed
- Set the launcher window background color to avoid white flashes during resize.
- Disable heavy UI effects while resizing to keep the window smoother.
[2026.01.22] - Friend permission errors
Fixed
- Include missing permission details when launcher API calls return 403 responses.
[2026.01.21] - Updater manifest hashes
Added
- Add sha256 hashes to launcher update manifests for artifact verification.
- Generate launcher update manifests in uebliche.dev with optional data-driven fields.
[2026.01.21] - Multiple updates
Added
- Add aarch64 Linux gcc/g++ wrapper scripts to link against the ARM sysroot.
- Add a target picker build action for the launcher and remember the last selection.
- Auto-install missing rustup targets during launcher build/deploy actions.
- Prompt for target platforms when running the launcher deploy action, remembering the last selection.
Changed
- Wipe release bundle/output directories before launcher deploy builds so only fresh artifacts upload.
- Allow launcher deploy uploads to clear the S3 store prefix via the project action config.
- Prefix launcher deploy uploads with the configured S3 project key (default: launcher).
- Let the launcher deploy action build locally and rely on Uebliche.dev uploads instead of the AWS CLI.
- Add optional macOS notarization to the launcher release script when credentials are provided.
- Remove per-platform launcher build actions in favor of the single target picker build.
- Remove per-platform deploy actions in favor of the single target picker deploy.
- Remove hardcoded user sysroot paths from Linux cross-build settings and wrappers.
- Disable the S3 selection prompt for launcher deploy actions in Uebliche.dev.
- Stop prompting for S3 storage on launcher deploy actions by relying on default env vars.
- Simplify launcher downloads to show only latest links per platform without version details.
- Restrict launcher downloads in docs to release-only links.
Fixed
- Run launcher deploys with the selected targets instead of forcing a linux-x86_64 build.
- Prepare Linux sysroots on demand during deploy so target selection stays generic.
- Decode manifest URL paths when uploading installer artifacts so Windows bundle names with spaces upload correctly.
- Package macOS .app bundles into .tar.gz during deploy so updater manifests are generated for mac targets.
- Upload macOS .tar.gz artifacts in launcher deploys so update manifests resolve to existing files.
- Force Linux aarch64 builds to use the ARM sysroot and pkg-config paths even when x86_64 defaults are set.
- Skip launcher uploads for Linux cross-builds on non-Linux hosts when no bundle artifacts exist, instead of hard failing.
- Ensure the Linux x86_64 sysroot loader symlink is created during deploy builds.
- Include /lib64 in the Linux sysroot and link ld-linux to fix cross-linking on macOS.
[2026.01.20] - Signing listener defaults
Changed
- Let launcher dev runs fall back to dev.sh defaults when signing listener vars are unset, avoiding wrong working directories.
- Enable automatic devtools opening when
UEBLICHE_DEVTOOLS=1is set for launcher dev runs. - Stabilize Tauri event listeners to avoid repeated listen/unlisten spam in dev tools.
- Keep close-to-tray and notification-open listeners stable while still honoring live settings.
- Lower the default UI log limit and cap pending log flushes to reduce runaway memory usage.
- Fix Tauri build ordering by initializing overlay refs after their state setters.
- Enable the Tauri updater plugin with update artifacts and channel-specific manifest targets.
- Ignore local IPC/localhost fetch noise in UI logging to stop dev log spam.
- Fix updater crate version spec and silence unused window warning in devtools hook.
- Disable updater artifact generation for local builds to avoid missing private key failures.
- Add a short Cache-Control TTL to updater manifests to reduce stale update checks.
- Disable browser caching for launcher update manifests in the docs download widget.
- Only upload the current installer + manifest in the release scripts to avoid overwriting all S3 artifacts.
- Cap UI log entries and trim oversized log messages to reduce idle memory growth.
[2026.01.20] - Launcher downloads refresh
Changed
- Rebuild the launcher download section with a single per-platform download button and channel toggle to remove duplicated controls.
[2026.01.20] - Linux sysroot defaults
Changed
- Default Linux cross-build pkg-config paths in the launcher release script when a sysroot is present.
- Run Linux x86_64 deploys via the sysroot prepare step to ensure pkg-config data is available.
- Build Linux sysroot images with GTK/WebKit dev packages so pkg-config files are available.
- Include libsoup/javascriptcore/OpenSSL dev packages in Linux sysroots for WebKit builds.
- Extend default Linux pkg-config search paths to include /usr/lib/pkgconfig.
- Resolve Linux sysroot paths to absolute paths for cross-build actions.
- Prefix numeric git hashes in launcher release versions to keep the version semver-compatible.
- Auto-rebuild Linux sysroots when required pkg-config files are missing.
[2026.01.20] - Windows release from macOS
Changed
- Allow the launcher release script to target Windows builds from macOS via explicit target selection.
- Add a cross-platform build toggle to the launcher uebliche.dev actions.
- Add a dedicated Windows build action to the launcher uebliche.dev config.
- Add a dedicated Windows deploy action to the launcher uebliche.dev config.
- Run the Windows build action via the Tauri CLI target flag instead of the macOS DMG wrapper.
- Use the Tauri CLI directly for Windows deploy builds to avoid the macOS DMG wrapper.
- Store launcher uploads under project/channel/platform in S3 (e.g. launcher/release/windows-x86_64).
- Remove the hardcoded S3 store from the launcher uebliche.dev deploy actions.
- Allow a separate ACL for updater manifests to keep update JSON files readable.
- Default the launcher update manifest ACL to public-read.
- Restore the fixed launcher S3 store defaults for deploy actions.
- Clean up launcher build warnings for devtools and unused variables.
- Upload update manifests at the channel root while keeping platform-specific asset URLs.
- Add release/beta channel selection to the launcher downloads component.
- Style the launcher downloads channel switcher in the docs theme.
- Limit the launcher update checker to release and beta channels.
- Add a separate artifact ACL setting so Windows installers upload as public-readable.
- Add per-OS release/beta download buttons to the launcher downloads section.
- Add Linux x86_64/aarch64 build + deploy actions for the launcher in Uebliche.dev.
- Expose Linux cross-build env vars in the launcher Uebliche.dev config.
- Add a deploy-all-targets action for launcher releases.
- Auto-prepare Linux cross-build sysroots for launcher builds.
[2026.01.19] - Launcher build deps
Changed
- Auto-install the ui-tauri pnpm workspace deps when missing during Tauri builds.
- Start the launcher signing listener by default when running
dev.sh. - Auto-install ui-tauri deps before Vite dev/build, fixing missing module resolution on Windows.
[2026.01.19] - 2026-01-19
Changed
- Remove the update feed button from the launcher downloads section.
- Rewrite the launcher landing page intro copy to be player-focused and promote sandboxed runs as a key feature.
- Highlight easy profile sharing for friends getting set up fast.
- Note that shared profiles stay linked so friends receive modpack updates automatically.
[2026.01.16] - 2026-01-16
Changed
- Load launcher download buttons from update manifests and only list available platforms.
- Show known platforms when update manifests cannot be loaded.
- Register the launcher downloads component explicitly in the docs theme.
- Fall back to the beta update channel if the release feed has no manifests.
- Read flat update manifests with top-level download URLs.
- Show friend streak flames (>=2 sessions) with counts in the friends list.
[2026.01.14] - 2026-01-14
Changed
- Update launcher repository links to the uebliche org.
[2026.01.13] - 2026-01-13
Added
- Roll out Sentry crash reporting with release-aware metadata and default PII capture.
- Add a build-and-install script for uebliche.dev launcher builds.
Changed
- Refresh Microsoft access tokens with a larger safety margin before launching Minecraft.
[2026.01.07] - 2026-01-07
Added
- Add the docs changelog page for Launcher.