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_HASHduring 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.devproject 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
ureqdependency 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.devdeploys 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.devproject configs to definechangelogPathfor 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
datamap that is exported as env vars. - Generate update manifests during Uebliche.dev uploads with optional extra fields from action data.
- Add optional
deployTargetsprompts 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_TAGper run so deploys use the current repo hash. - Default Gradle wrappers to a project-local
.gradle-cacheto 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_AFTERis 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/runbefore 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-workspacewith all discovered projects and keep it updated on config reloads.
[2026.01.19-6725742] - 2026-01-19 - Gradle client args
Added
- Allow
disabledLoadersinuebliche.devto hide loaders from selection. - Allow
runModesByLoaderinuebliche.devto 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.shauto-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.txtfor server runs. - Add an EULA prompt on server start failures with accept and rerun in one step.
- Auto-create
eula.txtfor 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.devconfigs. - Add project grouping in the project list via
groupinuebliche.dev. - Add missing
uebliche.devconfigs 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/mcmetaand switch their loader source tomatrix. - Use
versionRange+skippedVersionsinuebliche.devinstead ofbuildFromVersionin 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
matrixtomcmeta. - Support
defaults.version: "latest"to auto-pick the newest MC version. - Split
app_panelsinto smaller modules for maintainability. - Load
runClient/runServertask names only fromuebliche.devinstead of forcing defaults. - Allow projects to omit
runModesinuebliche.dev(no forced client/server selection).
[2026.01.12] - 2026-01-12
Added
- Add launcher signing-listener variables to the launcher
uebliche.devaction 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_portinmod/connect/uebliche.dev. - Add stdin command input for running tasks in log windows.
Changed
- Allow project-level vars/secrets in
uebliche.devand 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
tokenquery 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.devconfigs for project/action discovery. - Add loader-specific version overrides in
uebliche.devconfigs. - Add Modrinth project actions, config support, and publish workflow.
- Add a Uebliche.dev menu action to create new
uebliche.devprojects. - Add a Uebliche.dev editor to update existing
uebliche.devproject 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
ciactions 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.