Releases: Everelsu/Noctrinth
Releases · Everelsu/Noctrinth
Release list
Noctrinth 0.19.1
Changed
- Synced with upstream Modrinth (0.18.2 → 0.19.1): a Screenshots page in the sidebar that gathers every instance's screenshots in one place, an editor that annotates, doodles on and blurs them, switching between several signed-in Modrinth accounts, syncing of command history, the in-game server list and creative hotbars between instances, right-click actions on "Jump in" cards, context menus drawn like overflow menus, a splash screen that follows the colour theme, and fixes for icon padding, window controls behind the splash screen, snapshot grouping since 26.1, cut-off settings headers and text inputs.
- Spoilers, code blocks and inline snippets in descriptions are drawn to upstream's new style, and fourth-level headings stand apart from body text.
- Screenshots are upstream's page now: grouped by date, instance or a group of your own, searchable, exported as a ZIP and edited in place. An instance can be kept out of it, which gives that instance a tab of its own again.
- Skins for every player moved to Settings → Instances, where upstream folded the rest of the default instance options.
- Modern Java is a section of its own at the top of an instance's Java tab, above the installation, memory, arguments and environment sections upstream now leads with a toggle.
- Collections and Notifications are still in the account menu, beside upstream's new profile, Modrinth+, add-a-friend and account-switching entries.
Removed
- Noctrinth's own screenshots tab, and the strings that went with it. Upstream's page does more, and does it for every instance at once.
Fixed
- The Screenshots page and tab lagged with a lot of screenshots in them.
Noctrinth 0.18.2
Added
- Accent presets in Settings → Appearance: Theme, Amethyst, Nightshade, Midnight, Glacier, Verdant, Lantern, Ember and Rose, each drawn deeper on light themes and brighter on dark ones.
- A toggle beside the presets that tints the app's backgrounds and panels with the chosen colour.
- The splash screen and the window icon are drawn in the chosen accent.
- The wordmark in the title bar turns and sweeps while a download, an install or a page load is running.
- Signing in to Minecraft from the getting started checklist asks which account to add: Microsoft or Ely.by.
- A folder of the launcher's own for skins put there by hand: one
<name>.pngper player, withcapes/andelytras/beside it. It is asked before any skin system, so it also overrides one, and<name>-slim.pngis drawn on the thin model. - An instance that is already running can be launched a second time, from the button beside Stop on its page. The game starts as whichever account is signed in now, so switching accounts between the two is how somebody ends up in the same world twice.
- The running instances list names the account each copy is signed in as.
- Each copy of a running instance has a console of its own on the Logs tab, side by side and headed by the account it is signed in as. One copy, or none, is the page as it was.
- Micropatches: a release can be rebuilt and published again under the number it already went out as, and installs already on that version take the update. Add a build number to
VERSION(0.18.2becomes0.18.2+1), then run the release workflow on the release's own tag with Micropatch ticked.
Changed
- The empty home screen says Noctrinth and shows the fork's own mark in the accent colour, instead of Modrinth's name and icon.
- Synced with upstream Modrinth (0.18.0 → 0.18.2): the pagination ellipsis jumps to a page, compact mode for instances in the library, a drag handle to resize "Jump in", icon editing from an instance's context menu, sorting by loader and game version, appearance and behaviour settings synced across devices, depends-on and included-content search filters, and fixes for installed state, "Jump in" cards, tab bars, a Discover memory leak and
.mrpackexports. - Noctrinth's translations moved to
src/locales-noctrinth/and are applied over upstream's catalogues instead of being edited into them. - The changelog is one file again; screenshots are still published with the changelog site rather than shipped in the installer.
- The in-app changelog is no longer fetched or cached at runtime — it is the one the build shipped with.
- Collections and Notifications are laid out in the cards, surfaces and spacing the rest of the launcher uses, rather than as a page inside one large box.
- The Collections / Notifications tab row is gone from both pages; the account menu is how you get to either.
- Launching on an Ely.by account no longer waits on Ely.by. The agent is handed the address of the account system's API and what it says about itself, which it used to go and fetch twice before the game started, and a token Ely.by vouched for in the last ten minutes is taken at its word. Both are also what a launch without a connection had been tripping over.
Fixed
- The launcher could die on a cold start with "should be initialized when used", and open fine the next time.
- Signing in with an Ely.by account left the checklist's "Sign in to Minecraft" step outstanding.
- Closing the app panicked with "there is no reactor running" instead of exiting.
- DNS failures on Windows were logged as errors on every background poll.
- The right-hand sidebar, promo cards, dialog dimmer and the far end of the loading bar stayed purple whatever accent was chosen.
- The empty-server page's tiles and selected backups on the hosting page were drawn in Modrinth green.
- The launcher refused to start after the sync: upstream and Noctrinth had both shipped a migration numbered 20260818120000. Upstream's is renumbered, and a duplicate version now fails at startup naming both files, and in CI.
- Players signed in with a different account system than yours — an Ely.by player seen from a licensed client, or the other way about — stayed Steve on offline-mode servers.
- The by-name skin lookup did nothing at all on Minecraft 1.20.2 and newer, where the game no longer asks for a profile's textures but for the property they are packed in.
- On those versions an Ely.by skin was dropped even when the server did send it, because the game keeps a list of the domains a skin may be hosted on and Ely.by is not on it.
- Licensed players stayed Steve whenever Ely.by's proxy to Mojang did not answer, which is often; Mojang is now asked directly for the names Ely.by has never heard of.
- A player who changed their skin and rejoined kept the old one for another ten minutes. A skin is now current for fifteen seconds, and looked at again in the background after that.
- Everyone came back as Steve for a moment whenever they walked back into view, and everyone at once after a death, while the game waited on a fresh lookup. A skin already known is now handed over immediately.
- Every session started by looking everyone up over again; what was found is written down now and read back at the next launch.
- A skin system that would not answer could hold a frame up for ten seconds while its timeouts ran out one after another. The game is made to wait five at the most, and the lookup finishes on its own.
- The player's own arm was Steve's for the first moment after spawning: their own skin is now looked up while the game is still starting.
- A licensed player's skin cost two requests to Mojang every time it was looked at; the id behind the name is now remembered.
- Names an offline server can hand out but Mojang would not issue, such as one with a dash in it, were never looked up.
- On Minecraft 1.20.2 and newer, a skin looked up by name was never drawn at all: the client asks for a player's skin as trusted or not, and puts Steve in the place of one it does not count as trusted.
- The console of the copy that started first stayed empty: the two commands a per-copy console calls were never declared, so the app refused them and the pane had nothing to show.
- An Ely.by session token stood in an instance's log in full, and went out with it whenever a log was shared: only Microsoft tokens were ever removed. Ely.by's are too now, and the session line the game writes for itself is blanked whatever account it belongs to.
- Clearing the live log left it empty for good — clearing the output also forgot which copies of the instance were running, so nothing could be read back until the game was started again.
- A release's notes on GitHub stayed as GitHub generated them: the workflow was still looking for the changelog in the per-release Markdown files it had moved out of.
- The app's icon files still carried the old mark, so the installer, the taskbar and the dock showed it.
Noctrinth 0.18.0
Added
- Ely.by skins are managed from inside the launcher now. The panel used to offer one thing — "open the website" — because Ely.by publishes no skin API: its OAuth scopes cover the account and its email, and the skin system is read-only. The account's catalogue is drawn in the same grid the Microsoft account uses, so tiles are rendered previews rather than raw texture sheets, and picking one previews it on the model with Reset and Apply, exactly like the rest of the page. Browsing costs nothing and nothing reaches the account until Apply.

- Adding a skin to Ely.by from the launcher: pick a PNG or drop it on the grid, and it is uploaded to the account's catalogue and worn in one step. Skins can be removed from the catalogue too. The catalogue remains the only place Ely.by keeps skins, so an upload is still required before wearing — the same thing the website does.
- Skins for every player on offline-mode servers, without a single mod. Those servers hand out profiles with no textures at all and the game asks nobody about it, which is why everyone there is S-T-E-V-E or some others basics skins — the launcher now fills those profiles in by name, from Ely.by, which answers for the players registered there and falls back to Mojang for everyone else. So a licensed player and a player without an account both show up as themselves, in vanilla as much as anywhere. It never touches a skin the server did send, and it can be turned off under Settings → Default instance options.[BETA]
- One-click modern Java for legacy versions, marked beta. Instances on 1.7.10 are pinned to Java 8 by Mojang's own manifest and by LWJGL 2; enabling it from the instance's Java settings lifts both, bringing the launcher-side version patches and the mod half in one step, and picking the Java release to run on. lwjgl3ify keeps Forge and swaps LWJGL, Cleanroom replaces it outright. Disabling puts the instance back as it was, leaving any mods it installed for the Mods tab to remove.[BETA too, im bot so sure about stability especially for 1.12.2]
- A graphics adapter picker for each Java runtime, on Windows. A laptop with two adapters leaves the choice to Windows, which usually means the integrated one — the slow half of the machine for Minecraft. The preference is set per executable, says in words what Windows will do with it, and is carried over when that runtime is updated.
- A Java runtime manager, listing what the launcher has installed and letting go of what is no longer wanted.
- The in-app changelog keeps itself current. Entries are published alongside the changelog site, and an installed launcher overlays them on what it shipped with — so a release written after your build still shows up, and a correction does not need a release of its own. Entries render as markdown now, meaning links work and screenshots are possible; screenshots live on the site rather than inside the installer.
- Update downloads report themselves while they run. The update pill only appeared once the download had finished, so a download starting quietly in the background was invisible — including the bandwidth it was spending. There is now a notification carrying the version, how much of it has arrived, and how large it is.
Fixed
- Applying an Ely.by skin appeared to hang and then threw the website in your face. The check ran two seconds after the request while the site takes four to eight, so it always concluded nothing had happened. Both applying and uploading now wait for the worn skin to actually change, up to twenty-five seconds, and only open the sign-in window when it never does — which is what a missing session really looks like.
- Opening the Ely.by panel waited for every texture in the catalogue to download before drawing anything. Tiles appear immediately and fill in as textures land.
- A dropped connection while the skin list was polling raised a notification every time. It retries once and otherwise fails quietly, leaving the grid with what it already had.
- An update whose files were not published yet never arrived. The release answers the manifest but refuses the download, and that stuck: the version was already known, so every later check took the "already known" branch and the download only happened after a restart, long after the release went public. A failed attempt is remembered and retried. The check loop is also wrapped, since one thrown error used to take the five-minute schedule down with it until restart.
- The launcher log was drowning in errors that weren't. A twenty-second network blip could write over a hundred identical
ERRORlines carrying nothing but an OS error code, because every error handed to the interface was logged as a fault on its way there. - The keyboard selection in the instance search suggestions is visible again. It was drawn a few percent brighter than the panel behind it, which on the OLED theme was no difference at all.
- A long server status line stretched its row in Jump in, on translations where the string runs longer than English. It is clamped like the MOTD beside it.
Changed
- Synced with upstream Modrinth (0.17.10 → 0.18.0). A new Play page replaces Home and Library, with an icon creator for instances without their own art and a "Getting started" checklist; the create-instance menu explains itself better and can search projects from inside the menu; the skin selector can be previewed before signing in; "Managed content" is now "Provided content". Their fixes: hooks and environment variables not saving, the instance icon being deleted after installing a server project's shared content, unlinked instances not checking for updates, the gallery viewer on project pages, flickering on the content tab at certain window widths, and an attempt at the macOS bug that blocked LAN play.
- The instance content search moved onto upstream's new library toolbar, which replaced the page it used to live on. The query language is unchanged, and the content index is now read only when a query actually needs it — a plain name search costs nothing.
- The Java settings page no longer looks like a different app. Each runtime sits in a card with the same icon and heading weight the instance Java settings use, and the runtime selector is laid out as the column it always rendered as, instead of a row that pushed its buttons onto a second line and left them stranded.
- The graphics adapter row is hidden on machines with only one adapter, rather than shown and disabled. A disabled control explaining that there is nothing to choose is worse than no control.
- The fork's own strings speak Russian: modern Java, the Ely.by panel, the library search query language, the graphics adapter picker and the whole Minecraft options screen — which had been English down to the last option name, group heading and unit — all of which had been falling back to English. The version line in settings also stopped saying "Modrinth App" in translations that had never been updated.
- Reworked the Minecraft options screen. Each slider was showing its value three times over, controls ended wherever their own width put them, and a bare "1.16+" chip sat next to a name without saying what it referred to — that constraint is now written out in words, and only on the two options that genuinely need it.
- The instance Play button is brand-coloured, like the world and server rows it sits beside in Jump in; it was the only green one there.
- The version is written in one place. It lived by hand in the frontend's package.json and was copied into the Rust crates by the release workflow, which left local builds reporting a placeholder; everything now mirrors the
VERSIONfile at the root, and a hand-edited copy fails CI.
Noctrinth 0.17.10
Fixed
- Sharing an instance reported "Unable to connect to shared instances API" whatever had actually gone wrong — a dropped connection, a server fault and a malformed reply all looked the same, and the real message was thrown away. The reason is now shown, and a failed request spells out what happened to the connection instead of stopping at "error sending request".
Changed
- Synced with upstream Modrinth (0.17.8 → 0.17.10). Upstream published no app changelog for 0.17.10 itself: 0.17.9 pulled a server-panel change that wasn't meant to ship yet, and 0.17.10 put it back. The only other change is a fix for pages failing to load while signed out.
Noctrinth 0.17.8
Fixed
- Updating on Linux failed with "Permission denied (os error 13)". The bundler was five versions behind the Tauri runtime and never stamped each bundle with its own type, so the launcher could not tell a
.debinstall from an AppImage and always fell back to overwriting its own executable — which a package-managed install under/usrwill never allow. Debian and RPM installs now update through the system's own privilege prompt. - An update that cannot be installed is now refused before it downloads, naming the directory and what to do about it, instead of failing with a bare error code after fetching the whole thing.
Changed
- Synced with upstream Modrinth (0.17.7 → 0.17.8): Ears skins render correctly,
.mrpackexports no longer write the wrong environment values, and an instance linked to a modpack version that was deleted from Modrinth shows its managed content card again.
Note for Linux
- If you installed Noctrinth from the
.deb, this update cannot install itself — the version you are running is the one with the bug. Install this release's.debonce by hand; updates after it work normally.
Noctrinth 0.17.7
Added
- Search across every instance at once from the library. A bare word still matches instance names;
@sodiumfinds instances that have a mod,#shaderfilters by content type, and!outdatedby state. Terms combine, and a leading-flips one around. Matches are shown on the instance card, so "which version, and is it stale" is answered without opening anything. - The search field suggests as you type — the sigils when it's empty, your own installed mods after
@, and the available types and states after#and!. - A shared Minecraft options profile, under Settings → Minecraft options. Field of view, render distance, volumes, sensitivity and the rest can be set once and written into every instance's
options.txtat launch, with per-option opt-in. - "Copy link" in the overflow menu on project pages.
Changed
- Synced with upstream Modrinth (0.17.6 → 0.17.7).
- The Follow and Save entries left the project overflow menu; both already have buttons in the header beside it.
Fixed
- The Save-to-collection panel opened pinned to the top-left corner of the window, and its button was the wrong size, after upstream's button refactor moved a template ref onto a component.
Noctrinth 0.17.5
Changed
- Synced with upstream Modrinth (0.17.4 → 0.17.5).
- An instance's content tab now checks for content updates as soon as you open it, instead of waiting for a cached answer to expire. A freshly published update can still take up to ten minutes to show up.
- Config files and RPO files are no longer flagged when importing a modpack from outside Modrinth, and the warning about the files that are still flagged explains itself better.
- Translations were refreshed from upstream's latest Crowdin pull, without putting the Modrinth name back into the places Noctrinth had renamed.
Fixed
- Animated GIFs in project descriptions play again.
- Clicking an entry in an instance's content tab no longer reports "Instance not found".
- The window close button is the right colour again on Windows and Linux.
- Download buttons on version pages show the file name and size again.
- The buttons on the "Minecraft account required" dialog work on Windows.
- The right sidebar stays open when you collapse a section of the friends list with "Hide right sidebar" on.
Noctrinth 0.17.4
Added
- Modrinth App migration. A banner on the home page detects an existing Modrinth App install and offers to import all of its instances, or hand-pick which ones — reading instance metadata straight out of Modrinth App's own database. Modrinth App also appears as its own entry in the regular "Import instance" flow. Either way, an optional checkbox removes each instance from Modrinth App once its copy has safely finished importing.
- CurseForge modpack
.zipimport from disk is back — install from a local file, same job pipeline (queueing, progress, retry, rollback) as everything else. Search, browse and project pages stay removed. - A link to the fork's author on the Changelog settings tab.
- Environment variables can now be passed to an instance's pre- and post-launch hooks (from upstream).
Changed
- The top-left wordmark dropped "app" from the logo, matching Modrinth's own rebrand.
- The "Beta" badge on the Language settings tab is purple instead of green, matching the rest of Noctrinth's palette.
- Byte-size units (KiB/MiB/GiB/TiB) are shown in English instead of transliterated Russian, matching the units players already know.
- The instance Screenshots tab was rebuilt to match the project Gallery's grid and image viewer, with screenshot-only actions (zoom, copy, reveal in folder, delete) folded into the same floating control bar. Opening the screenshots folder no longer waits for a fresh disk lookup on every click.
- The embedded Ely.by skin window now hides instead of closing, so a sign-in there is remembered for the rest of the session instead of only the first open.
- Synced with upstream Modrinth (0.17.3 → 0.17.4). Buttons across the whole app were rebuilt on a new shared component set — Noctrinth's own screens (Collections, Notifications, Screenshots, the Ely.by sign-in dialog and account card) were moved onto it too, so they match everything else again. Importing a modpack from a file now shows an "Inspecting modpack" progress bar instead of appearing to hang, friends lists collapse offline members by default (with the choice remembered), popout menus animate better, and the launcher uses noticeably less memory.
- Russian translations were refreshed from upstream's latest Crowdin pull, without putting the Modrinth name back into the places Noctrinth had renamed.
Fixed
- Install links did nothing. Noctrinth answers to
noctrinth://, but every link meant to open it saidmodrinth://— so a click went to Modrinth App or nowhere at all — while the launcher's own URL parser had the mirror-image bug and rejectednoctrinth://. Our own links (install, open server, shared-instance invite) and the desktop shortcuts the app writes for instances now use Noctrinth's scheme. - Install links on modrinth.com now open Noctrinth. The app registers
modrinth://alongside its own scheme and reclaims both on every launch, so "Install with Modrinth App" over there installs here. If Modrinth App is installed too, the two share that scheme and whichever started last wins it. - Ctrl+C failed to copy text out of instance logs and the terminal-style consoles on a non-Latin keyboard layout (e.g. Russian), because the shortcut was matched against the typed character instead of the physical key. Ctrl+A (select all) had the same problem, and on Windows/Linux didn't work at all.
- Uploading a profile picture in Settings → Profile rejected anything over 256 KiB with a plain browser alert — the exact limit Modrinth's server enforces, so almost any real photo failed. Oversized images are now automatically scaled and compressed to fit, and a failed save now shows the actual error instead of a generic message.
- Upstream fixes brought in by the sync: editing your profile from inside the app works again, a stale Microsoft token no longer signs the account out, exporting a large instance as an
.mrpackno longer breaks past 4 GB, the export modal handles paths correctly, shared instances accept.nbtconfig files, and the version list no longer freezes the page when toggling game versions.
Noctrinth 0.17.3
Added
- Synced with upstream Modrinth (0.15.11 → 0.17.x). Highlights from upstream: user profile pages inside the app, shared instances with invites and updates, an instance Share tab, a reworked settings layout grouped into Display / Account / Instances, a new breadcrumbs system, a rebuilt project page header, instance quarantine handling, a toggle to hide already-installed modpacks, and a fix for search jumping back to page 1.
Changed
- Upstream is now the source of truth. Where Modrinth had shipped its own version of something Noctrinth carried, the fork's variant was dropped: the custom Modrinth OAuth flow, the browse page-reset patch, and the feature-flag settings redesign all gave way to upstream's.
- The proxy setting and Noctrinth branding were carried over into upstream's new settings layout; the in-app changelog now lives under Display.
Removed
- CurseForge integration. Search, installs, project pages, the catalog toggle, the fingerprint/mapping helpers and the backend installer are all gone. Importing a CurseForge instance from another launcher still works — that has always been an upstream feature.
Fixed
- The Screenshots tab failed to list anything. It was passing an instance path where the backend expects an instance id after upstream's profile-to-instance rewrite, so every load errored with "Unknown instance".
- A byte-order mark had crept into a shared UI component and a locale file, and a dead OAuth loopback listener was left behind by the reverted sign-in rework.
Noctrinth 0.15.11
Changed
- Synced with upstream Modrinth (0.15.10 → 0.15.11): malware warning modal changes, shift-click to toggle file selection in the Files tab, shader config files renamed on version change, dependents search in Discover, download modal fixes, and new moderation keybinds.
- The Ely.by sign-in dialog was redesigned to match the app's standard modals — regular titled dialog instead of the custom gradient header with a placeholder avatar.
- The changelog settings tab now uses the app's standard chip selector for switching between Noctrinth and Modrinth changelogs, and the "open full changelog" link now points at the right site for each source (it previously opened the Noctrinth site while describing the Modrinth one).
- The screenshot counter on the Screenshots tab is now plain text instead of a pill badge, matching the rest of the app.
Fixed
- Fixed local files failing to add to an instance with "Unable to infer project type": plain .jar files without loader metadata (common for legacy tweaker/coremod jars with names like "!mixinbootstrap.jar") are now accepted as mods, packs zipped inside a wrapping folder are recognised, and filenames with characters Windows forbids are sanitised on write.