Skip to content

Changelog

[2026.01.28-32c3bf5] - MCP tools docs

Added

  • Split MCP docs into a dedicated MCP section with per-tool pages.
  • Add JSON-RPC request/response examples for MCP tools.

[2026.01.28-3a8c80f] - Servers.dat registry

Changed

  • Keep a lightweight active-server registry so runClient can repopulate servers.dat after Uebliche.dev restarts.
  • Build vanilla server list entries from uebliche.dev port vars and include the loader in the display name.

[2026.01.28-bfea442] - Servers.dat sync

Changed

  • Sync the vanilla servers.dat list from active dev server processes on every runClient.

[2026.01.28-8e16064] - MCP run controls

Added

  • Add MCP tools to start and stop project run tasks.
  • Log launcher run arguments and redact access tokens in uebliche.dev output.

[2026.01.27-afe1246] - Build.moe random endpoints

Added

  • Add build.moe random head/banner endpoints to the public API.
  • Add a configurable banner collection name for build.moe Mongo lookups.

[2026.01.26-546f2f9] - Observability dashboards

Added

  • Provision a Grafana Loki dashboard and basic log alert rule.
  • Add Prometheus plus node_exporter/cAdvisor for hardware and container metrics dashboards.
  • Add a services log dashboard with a service selector and 70% node alerts.
  • Add MongoDB exporters and a MongoDB metrics dashboard.
  • Add Grafana MongoDB and Hetzner Cloud datasource provisioning via secrets.
  • Install Grafana MongoDB and Hetzner Cloud datasource plugins.
  • Align MongoDB dashboard panels with mongodb_exporter metric names.
  • Refine MongoDB dashboard aggregation to use active connections and max FS size.
  • Fix Alloy log collection by removing an unsupported start_position option.
  • Add Discord alert routing plus low disk alerts for nodes and MongoDB.
  • Add a Mongo-backed user activity exporter and a users dashboard.
  • Add Mimir with S3 storage for long-term metrics retention and wire Prometheus remote_write.
  • Add a Grafana wrapper entrypoint to render alerting config with the Discord webhook secret.
  • Fix Grafana alerting template rendering for Discord webhook substitution.
  • Fix Grafana entrypoint sed substitution to avoid template expansion errors.

Changed

  • Ship updated Loki/Alloy configs for centralized log collection.
  • Track new Grafana datasource secrets in the Docker project config.
  • Bake Grafana datasource plugins into the observability image to avoid runtime downloads.
  • Set explicit Discord alert titles and messages to satisfy webhook requirements.
  • Switch the MongoDB datasource to the community plugin.
  • Point the users dashboard at the Prometheus datasource to restore data visibility.
  • Force the users dashboard config to refresh via a new config name.
  • Limit the users dashboard default range to the Prometheus retention window.
  • Point Mimir and Prometheus remote_write to the 8080 Mimir HTTP port.
  • Add Mimir tenant headers for Grafana and Prometheus remote_write.
  • Set the Mimir ingester replication factor to 1 for single-node use.
  • Force Mimir auth flags at startup to match the single-tenant config.
  • Force the Mimir ingester replication factor via startup flag.
  • Ensure Mimir starts via shell entrypoint so secret exports and flags apply.
  • Build a custom Mimir image to load S3 secrets before startup.
  • Drop unsupported Mimir S3 path-style config to allow startup.
  • Switch Mimir to blocks_storage S3 config and refresh the custom image tag.
  • Remove unsupported Mimir limits_config to finish the config migration.
  • Add explicit Mimir S3 defaults to avoid unresolved environment placeholders.
  • Pin the Grafana Loki dashboard to the provisioned datasource UID and widen the default time range.
  • Map Docker metadata into Loki labels for container/service visibility.
  • Extract log level into a Loki label and use it for the error panels.
  • Update the log alert to use log level labels instead of text matching.
  • Route Grafana through the metrics.uebliche.net hostname.
  • Make the public API Nginx config name independently versioned for updates.
  • Pass NGINX_CONFIG_HASH during deploys to avoid invalid config names.
  • Forward observability env vars in deploy.sh so the remote script can run with set -u.
  • Default the Mimir S3 endpoint to a host-only value to satisfy objstore validation.
  • Allow Loki to accept up to 30 days of older log entries.

[2026.01.26-a414180] - Docker secrets rule

Changed

  • Require Docker secrets to live in the matching Docker uebliche.dev project file.

[2026.01.26-6eaf058] - Observability stack

Added

  • Add a Loki + Grafana + Alloy stack for centralized public API logs (EU node).

[2026.01.26-f33dfbc] - Web hooks in submodules

Changed

  • Move web app pre-push builds into their own submodules (dash, build-moe, docs).

[2026.01.26-cc88c10] - Web app pre-push builds

Added

  • Build web/dash, web/build-moe, and docs during pre-push when their files change.

[2026.01.26-3bf0e51] - MCP docker watch

Added

  • Add an MCP tool to queue Docker service log watches in Uebliche.dev.
  • Add an MCP tool to remove Docker service log watches.

[2026.01.26-872cb3b] - MCP HTTP server

Changed

  • Replace the stdio MCP server with an embedded HTTP MCP server (POST /mcp).

Added

  • Add a Tools -> MCP panel to configure the MCP port.

[2026.01.25-872cb3b] - MCP server

Added

  • Add a stdio MCP server mode to Uebliche.dev for listing and running actions.

[2026.01.25-872cb3b] - Public API deploy cleanup

Removed

  • Remove the "Deploy public API (current context)" action from the Public API project.

[2026.01.25-872cb3b] - Build.moe command startup

Added

  • Auto-update Build.moe Discord commands on Public API startup for the EU region and report failures to Sentry.

[2026.01.25-872cb3b] - Build.moe command auth

Fixed

  • Require a Public API admin JWT when running the Build.moe Discord command update action.

[2026.01.25-872cb3b] - Public API command action fixes

Fixed

  • Add the missing ureq dependency for Build.moe command registration and allow a dedicated Public API base URL in the action.

[2026.01.25-872cb3b] - Build.moe command update action

Added

  • Add a Uebliche.dev action for the Public API project to update Build.moe Discord commands.

[2026.01.25-872cb3b] - Docker secrets audit

Added

  • Allow project configs to define Docker secrets and compare them against the live Docker list with created timestamps.

[2026.01.25-872cb3b] - Docker secrets list

Added

  • List existing Docker secrets in the Uebliche.dev Docker settings panel.

[2026.01.25-00f7712] - Discord tools

Added

  • Add a Discord tools panel in Uebliche.dev to fetch bot identity, guilds/members, register slash commands, and generate invite links.

[2026.01.25-745192c] - Discord deploy posts

Added

  • Allow uebliche.dev deploys to post the generated changelog summary to Discord channels.

[2026.01.25-819be00] - Modrinth publish prompt

Added

  • Prompt for Codex CLI release summaries before publishing to Modrinth.

Changed

  • Stage mod deploy artifacts into release/<loader>/ for Uebliche.dev uploads.

Removed

  • Drop Modrinth Gradle plugin config from mod projects in favor of Uebliche.dev deploys.

[2026.01.25-819be00] - Changelog path config

Added

  • Allow uebliche.dev project configs to define changelogPath for summary and Modrinth publish notes.

[2026.01.25-819be00] - Modrinth deploy targets

Added

  • Allow deploy actions to publish selected loader artifacts directly to Modrinth with a changelog summary.
  • Add a project menu action that summarizes the latest CHANGELOG.md entry via Codex CLI.

Fixed

  • Show Modrinth status badges only for projects that enable Modrinth.

[2026.01.25-819be00] - Hub download manifests

Fixed

  • Write loader update manifests to the channel root so ProjectDownloads can resolve hub downloads.

[2026.01.24-819be00] - Action upload cleanup

Fixed

  • Honor per-upload ACL overrides for action S3 uploads.
  • Avoid requiring S3 store selection when an action only targets Modrinth.

[2026.01.24-89bacaf] - Launcher deploy storage

Changed

  • Remove launcher deploy S3 storage vars and rely on the shared deploy store config.

[2026.01.24-be59f40] - Games live deploy toggle

Changed

  • Add a live toggle for games deploys and default tags to latest + short hash.

[2026.01.24-fb8ebc1] - Games deploy actions

Added

  • Add a Uebliche.dev project file and deploy script for the games server.

[2026.01.22-36711c3] - Dynamic var options

Added

  • Allow action vars to load dropdown options dynamically via optionsKey (e.g. docker_contexts).

[2026.01.21-0000000] - Action data + manifests

Added

  • Allow actions to define a data map that is exported as env vars.
  • Generate update manifests during Uebliche.dev uploads with optional extra fields from action data.
  • Add optional deployTargets prompts so actions can choose S3 vs Modrinth deploys.
  • Add a mod-template deploy action that can target Modrinth or S3.
  • Add reusable project download widgets for mod/app docs pages.
  • Add a Uebliche.dev project file for the docs site to run sync/dev/build/preview tasks.

Changed

  • Remove Modrinth plugin upload from the mod-template Gradle config.
  • Always refresh UEBLICHE_BUILD_TAG per run so deploys use the current repo hash.
  • Default Gradle wrappers to a project-local .gradle-cache to avoid cross-project cache locks.
  • Refine docs download button styling for clearer call-to-action.
  • Show Velocity versions in project version pickers when the loader is Velocity.

Fixed

  • Allow action uploads to clean the release directory after uploads when CLEAN_RELEASE_DIR_AFTER is set.
  • Use loader-specific run directories when auto-accepting EULA prompts for server starts.
  • Use the server config directory for EULA prompts when starting standalone servers.
  • Download Paper server jars automatically when missing.
  • Write auto-selected ports to the standalone server directory for Paper servers.
  • Apply auto-port changes to Velocity configs by updating velocity.toml.
  • Resolve Velocity auto-port prompts to loader-velocity/run before falling back to build paths.

[2026.01.21-6ac60eb] - Multiple updates

Added

  • Show a File -> Projekte menu listing all projects plus invalid uebliche.dev configs with quick open.
  • Open a details window for invalid projects showing the load error and file path.
  • Auto-open the first invalid project error window on startup.
  • Skip uebliche.dev directories when scanning configs to avoid false read errors.
  • Allow actions to upload specified files to S3 after completion using Uebliche.dev's S3 settings.
  • Support upload path globs plus {filename}/{relpath} templates for action uploads.
  • Add a per-action target selector modal with remembered checkbox selections for multi-target deploys.
  • Add optional channel dropdowns to action target prompts when defined in uebliche.dev.
  • Allow actions to disable the S3 selection UI with s3Select: false (used for launcher deploys).
  • Track RAM/CPU/IO history per task with palette-based colors and render multi-series graphs.
  • Show time range labels on the Ressourcen-Monitor history graph.
  • Add dock/pop-out support for core Uebliche.dev panels and log views.

Changed

  • Allow action S3 selections to override and clear the store prefix when configured in uebliche.dev.
  • Force all S3 uploads from Uebliche.dev to use public-read ACLs by default.

Fixed

  • Default Uebliche.dev release uploads to public-read so Windows installers stay accessible.

[2026.01.20-6ac60eb] - Multiple updates

Added

  • Add auto-refresh controls to the Ressourcen-Monitor.
  • Add a RAM usage history graph to the Ressourcen-Monitor.

[2026.01.20-71834c8] - 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-23c60a9] - Launcher cross builds

Changed

  • Add an allow-cross-platform toggle for launcher builds in the Uebliche.dev config.
  • Add a Windows build action for the launcher in Uebliche.dev.
  • Add a Windows deploy action for the launcher in Uebliche.dev.
  • Run the launcher Windows build action through the Tauri CLI target flag.
  • Run the launcher Windows deploy build through the Tauri CLI target flag.
  • Remove the hardcoded launcher S3 store so Uebliche.dev uses the global store settings.
  • Write launcher S3 uploads under project/channel/platform paths.
  • Add a separate manifest ACL setting for launcher deploys so update JSON files stay 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 launcher 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 launcher 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-6ac60eb] - Workspace sync

Added

  • Auto-generate uebliche.code-workspace with all discovered projects and keep it updated on config reloads.

[2026.01.19-6725742] - 2026-01-19 - Gradle client args

Added

  • Allow disabledLoaders in uebliche.dev to hide loaders from selection.
  • Allow runModesByLoader in uebliche.dev to override run modes per loader.
  • Add a Ressourcen-Monitor tool with CPU/memory/ports/thread details for long-running processes.

Fixed

  • Skip forwarding launcher client args to Minecraft Gradle run tasks to avoid devlaunch main class failures.

[2026.01.18] - 2026-01-18

Added

  • Add a project publish flow in Uebliche.dev to build all versions, tag the repo, and upload artifacts to S3.
  • Add a per-project Build all button to build all loader/version combinations.
  • Add a Publish entry in the Tools menu to open the publish window for the selected project.
  • Add project selection + publish defaults summary in the Tools -> Publish menu.
  • Add a mcmeta-harvest project runner with selectable Minecraft versions.
  • Add mcmeta-harvest actions that publish to git after harvest.
  • Add latest/custom selection for mcmeta-harvest version picker.

Changed

  • Move publish controls into a dedicated publish window opened from each project window.
  • Make dev.sh auto-reload Uebliche.dev using cargo watch, watchexec, or fswatch when available.
  • Publish now uploads only to the central S3 bucket (no Modrinth or GitHub release steps).

[2026.01.17] - 2026-01-17

Added

  • Add a DB monitor tool for MongoDB/Postgres/MySQL/Redis with health checks, backups, restores, and scheduled retention.
  • Add database server settings plus local/S3 backup targets for Uebliche.dev.
  • Add per-project Gradle task lists with pinning into project actions.
  • Add per-project Gradle wrapper update checks with one-click upgrades.
  • Add a Gradle updates tool to review and upgrade wrapper versions across projects.
  • Add per-project JVM target overrides for Gradle builds.
  • Add an EULA accept tool to create eula.txt for server runs.
  • Add an EULA prompt on server start failures with accept and rerun in one step.
  • Auto-create eula.txt for server runs after a project is accepted in the EULA tool.
  • Add a port conflict prompt with auto-port and rerun.

Changed

  • Make the EULA accept tool apply to all Minecraft projects in one click.

Removed

  • Remove in-app hot reload/restart for Uebliche.dev (use dev.sh instead).

[2026.01.16] - 2026-01-16

Changed

  • Allow selecting the launcher update channel (release/beta) in the launcher Uebliche.dev config.
  • Allow selecting the launcher target platform in the launcher Uebliche.dev config.
  • Expose S3 bucket/endpoint variables for launcher deploys in Uebliche.dev.
  • Add an S3 explorer with per-project store selection in Uebliche.dev.
  • Split App settings into separate windows per category (Editor, Logs, Docker, Launcher, S3, Options, Updates, Hot reload).
  • Render S3 objects in a tree view with an in-app preview card.
  • Add per-action S3 store selection with optional bucket/prefix overrides for project actions.
  • Add MongoDB explorer with server settings and per-action Mongo server selection.
  • Split port lookup and docker logs into separate tool windows.
  • Add custom DMG bundling script for macOS launcher builds (avoids create-dmg invocation issues).
  • Default launcher release script to the local platform unless ALLOW_CROSS_PLATFORM=1 is set.
  • Flatten launcher update manifests to top-level url/signature fields (no per-platform nesting).
  • Show S3 object sizes with human-readable units in the S3 explorer.
  • Open an ACL editor window for S3 objects instead of applying ACL inline.
  • Persist the last-used S3 explorer store/bucket/prefix selection in settings.
  • Replace large DIRTY/UNPUSHED tags in the project list with compact arrow counts.
  • Add JVM hotswap settings and apply optional HotswapAgent/JAVA_HOME overrides to Java runs.
  • Auto-download HotswapAgent to the app data folder when hotswap is enabled.
  • Disable HotswapAgent for Minecraft dev runs by default to avoid Fabric classloader crashes.

[2026.01.13] - 2026-01-13

Added

  • Add Support and Discord buttons next to Tools in the Uebliche.dev menu bar that link to Patreon and Discord.
  • Add update checker in App settings with stable/beta channels.
  • Add a local release helper script for Uebliche.dev.
  • Add a local install script for Uebliche.dev builds.
  • Add a macOS app bundle build script for Uebliche.dev.
  • Add a codesign helper for the Uebliche.dev macOS bundle.
  • Add per-server configs for local server runs (vanilla/paper/fabric/forge/neoforge/quilt) stored in ~/.uebliche/devtool/servers/<id>/server.json.
  • Add a Re-run button to log windows to start the same command again and focus the new log window.
  • Add a project list button to open the GUI editor for uebliche.dev configs.
  • Add project grouping in the project list via group in uebliche.dev.
  • Add missing uebliche.dev configs for mcmeta projects (Build.moe, MIDI, Polar Converter, Spawnlite).
  • Support nested project groups via group/subgroup.
  • Convert dash.uebliche.net to a project config so it appears as a normal project in Uebliche.dev.
  • Add a right-aligned git status indicator (dirty/unpushed) in the project list.
  • Add Modrinth coverage badges in the project list using the latest release per loader.
  • Render Modrinth badges with the official icon (SVG).

Changed

  • Group mcmeta projects under uebliche/mcmeta and switch their loader source to matrix.
  • Use versionRange + skippedVersions in uebliche.dev instead of buildFromVersion in Gradle properties.
  • Cache git status badges to avoid UI lag from per-frame git calls.
  • Set Polar Converter loader source to mcmeta.
  • Switch mod projects and mod template loader source from matrix to mcmeta.
  • Support defaults.version: "latest" to auto-pick the newest MC version.
  • Split app_panels into smaller modules for maintainability.
  • Load runClient / runServer task names only from uebliche.dev instead of forcing defaults.
  • Allow projects to omit runModes in uebliche.dev (no forced client/server selection).

[2026.01.12] - 2026-01-12

Added

  • Add launcher signing-listener variables to the launcher uebliche.dev action config.
  • Add Stop/Kill controls to process log windows in Uebliche.dev.

Changed

  • Move the Public API docker deploy actions into the Public API project config (instead of Global actions).
  • Move project-specific action groups into project configs to remove them from Global actions.
  • Add collapsible sections and scrolling to project windows.
  • Hide Gradle run/build controls for action-only projects and auto-open their project actions.

[2026.01.11] - 2026-01-11

Added

  • Add optional Paper run port support via paper_port in mod/connect/uebliche.dev.
  • Add stdin command input for running tasks in log windows.

Changed

  • Allow project-level vars/secrets in uebliche.dev and apply them to task templates and Gradle args.
  • Move Global actions into its own window.
  • Re-download the vanilla server jar when its version does not match the selected MC version.
  • Pass the selected Minecraft version to Paper runs for Connect via paper_mc_version.
  • Update Connect's Gradle wrapper to 9.0.0 for Paperweight 2.x support.
  • Restrict Connect's Paper loader to PaperMC repos to avoid Fabric resolution timeouts.
  • Fix Connect Paper run task exec invocation under Gradle 9.

Fixed

  • Add token query param to Connect settings WebSocket to avoid handshake failures when auth headers are stripped.
  • Force HTTP/1.1 for Connect HTTP/WebSocket requests to avoid WebSocket handshake 400s.
  • Forward stdin/output to Paper runServer so commands sent from Uebliche.dev reach the server console.

[2026.01.10] - 2026-01-10

Added

  • Add the Uebliche.dev egui app as a GUI replacement for dev.sh.
  • Add hot reload for mcmeta and Uebliche.dev source changes.
  • Add launcher/build.moe/hub actions to Uebliche.dev.
  • Add a Public API local run action to Uebliche.dev.
  • Add editable action-group variables and secrets with {var} templates for commands and env.
  • Add modular uebliche.dev configs for project/action discovery.
  • Add loader-specific version overrides in uebliche.dev configs.
  • Add Modrinth project actions, config support, and publish workflow.
  • Add a Uebliche.dev menu action to create new uebliche.dev projects.
  • Add a Uebliche.dev editor to update existing uebliche.dev project configs.
  • Add editor settings and per-project editor overrides with open-in-editor actions.
  • Rename the Uebliche.dev app and config files to uebliche.dev.
  • Add the Uebliche.dev CI workflow that runs ci actions via a matrix.
  • Add device code login in Uebliche.dev to add launcher accounts.
  • Add build/test all actions with a configurable max concurrent build limit.
  • Add background matrix validation builds that mark validated versions.
  • Add a file-backed log catalog with retention settings and delete controls.
  • Add a background task card with planned/running/past lists plus pause/play.

Changed

  • Replace the CI matrix and action runner helpers with Rust binaries.
  • Replace DevAuth toggles with launcher account selection for client runs.
  • Resolve Minecraft version lists from Mojang's release manifest when available (fallback to local mcmeta file).
  • Add an App settings toggle to include Minecraft snapshots in version lists.
  • Open project cards on demand by clicking project names in the support matrix.
  • Default to 3 concurrent background builds and only auto-open logs on build failures.
  • Pause background validation until resumed and persist max-concurrent changes.
  • Stop background tasks for a project after the first build failure.
  • Add project filtering for background task lists and chart.
  • Disable the Gradle daemon for Uebliche.dev builds to avoid input stream errors.
  • Skip background builds when git state for a project has not changed.
  • Trigger background rebuilds only after 5 minutes of idle project code changes.