Changelog
What changed in each version of Stuzhik. Search by words and narrow the list by kind and mark — say, fixes only or experimental features only; the versions are listed under “On this page”. The same list is in the launcher — the “Versions” window → “What's new”: the “Changelog” icon in Settings, the “Changelog” button in Documentation, the version cards in the news panel and Ctrl+K → “Versions”. It is also an RSS/Atom feed: subscribe in your favorite feed reader (Feedly, Inoreader, your browser's built-in reader), and news about new versions will come to you on its own.
How to read a version number: the middle number is a stage, a big release with new things; the last one is a patch to it, fixes. Releases are numbered this way from 0.1.0 on; before it the numbers ran in a row, and the patches of that time are marked “Patch”.
Subscribe via RSSStuzhik 0.0.23
LatestPatch115
- A new profile avatar is no longer silently cropped to the centre: after choosing a picture, a “Visible area” window opens — move the picture with the mouse or arrow keys and zoom with the wheel or the slider, with previews of how it looks on the card and in the list
- Shortcuts in the command search, the window search bar, the docs and the “Background only” hint are shown as separate keys joined by “+”: it is clear they are several keys pressed together
- Settings → “Data”: the tiles under “Playtime”, “Storage” and “Java management” no longer run together — label and figure are set apart, tiles have even edges and padding, and the eight sizes line up in even rows of four or two
- The cursor effect no longer hides under dropdowns, tooltips and menus: over an open list it used to be invisible altogether
- A profile card with a frame no longer shows scrollbars: the frame stuck out past the edge by a pixel
- Avatar frame “None” now really means no frame: the dark ring around the avatar stays only under a chosen frame
- UI Kit (Developer Mode): WakeSlider, GooeyNav and BranchedMenu no longer get covered by a grey block on hover, the GooeyNav highlight no longer slides across the tabs, and its frame uses the app colours
Stuzhik 0.0.22
Patch11
- In Developer Mode, UI Kit, the developer console, Dev Tests and the state playground also open from the command search (Ctrl+K), group “Developer”. On Windows UI Kit could fail to open with Ctrl+Shift+U. Without Developer Mode these entries are not in the search
- The “Waves” background drew no lines on some graphics cards under Windows: the screen stayed dark, and its tile in settings showed scattered dots. Line thickness is now computed in a way that does not depend on the graphics card
Stuzhik 0.0.21
Patch114
- “Background only” mode: the interface hides, leaving the background and the cursor effect — to look at the background or play with it. Turn it on with Ctrl+Shift+B, from the command search (Ctrl+K) or with the “Background only” button in Settings → Interface → “Application Background”; Esc or Ctrl+Shift+B again brings the interface back
- “Pixel Trail”: its squares are 3–4 times smaller (“Grid” defaults to 140 instead of 40), and the trail itself is narrower. If you changed its settings, the values you chose stay
- Sliders responded only at the top edge of the bar: below it, clicking and dragging did nothing. Now the whole bar works
- A slider's accent marker vanished as soon as the fill reached the label or the value — that is, during almost any drag. Now it never disappears: over the text its ends show above and below
- “Target” framed elements off-centre: when the app stuttered the frame flew apart, at the edge of a wide button one of its sides went inside the button, and on the search field it outlined the text inside rather than the field. Now the frame sits around what you see, and its lean toward the cursor stays within the padding. “Target” and “Crosshair” also recognise switches, checkboxes and settings rows
- With “Hide the system cursor” on, “Target” and “Crosshair” hid the cursor over text fields too — you couldn't see where the caret would go. Now the usual text cursor shows over text fields
Stuzhik 0.0.20
45452
- Telegram links — channels, posts, invites, bots — open in the Telegram app if it is installed, not in the browser. How to open them is chosen in Settings → General → “Links”: “In the app” (the default), “Ask” — every time, with “Remember my choice” — or “In the browser”. Other links still open in the browser
- A new background, “Crystal Ball”: its colour comes from the accent, with 8 presets and 17 settings, and it works in the light theme too. It is now the default: if you never picked a background, you get it instead of “Dot Grid”; a background you picked stays
- 18 more new backgrounds: Soft Aurora, Plasma, Orb, Light Rays, Side Rays, Lightning, Magic Rings, Lightfall, Web Threads, Particles, Pixel Snow, Radar, Shape Grid, Letter Glitch, Ferrofluid, Ghost Fibers, Topography and Hyperspeed — a night highway that speeds up while you hold the mouse button. Each has its own settings (Settings → Interface → “Application Background”)
- Cursor effects: Glow, Swarm, Ghost, Pixel Trail, Splash, Target and Crosshair — each with its own settings (Settings → Interface → “Cursor”). Off by default, and they stay off when your system asks for reduced motion
- The Aurora, Dot Grid, Ripple Grid, Light Pillar, Meta Balls, Dither, Pixel Blast, Faulty Terminal, Waves and Antigravity backgrounds are updated to their latest versions with all of their settings: Meta Balls got shapes, stickiness and a burst on click, Dither got modes and a cursor effect, Pixel Blast got pixel shapes, ripples and twinkle. Colours come from the accent, and background names that were left in English in the Russian interface are translated
- All backgrounds run on one engine: at most ~60 frames per second (a 144 Hz monitor used to draw 2.4× as many), about 30 when the window is out of focus, and while you're in the game the background stops entirely. On a weak graphics card the background lowers its resolution instead of stuttering, and each background's code loads only once that background is chosen
- Sliders became a bar: the label sits inside on the left, the value on the right, and the fill is the handle. A double-click resets the default, memory shows in GB, and numbers follow the interface language. Background settings are laid out as one grid of equal bars in two columns
- The startup splash: while the launcher checks for updates there is a shimmering “Checking for updates...” line with a timer; while an update downloads, a beam falls onto the download card and grows brighter as it progresses; installing, restarting and a failure show an icon with plain text. The logo no longer sits on a dark plate
- “What's new”: search across all versions with highlighting, filters by kind — “New”, “Improvements”, “Fixes”, “Changes” — and by mark — “Important”, “Security”, “Experimental”, “Beta” — with counts, a version column at the side, “Current” next to the installed version and “Open on the site”. If experimental features are off, such entries of the latest release link to the switch in settings
- The “Download threads” slider is gone: files are not split into parts, so it never affected anything
- BetaPausing on the side that sends a pack is gone: it could not work honestly. A send is stopped with “Cancel”
- ImportantA modpack update deleted a mod's old file even when the new one failed to download, and the build counted as updated — without the mod. Now the new files download in full first: if any of them fails, nothing in the build changes (“Modpack not updated” — “Nothing changed — you can run the update again later”); otherwise the new file takes its place and only then the old one goes
- ImportantSaving server settings rewrote values that look like numbers: a long world seed, an RCON password, 00123 or 1e5 were saved as different text. Now such values are saved exactly as written
- ImportantBetaSaving Connect settings could erase what the launcher had written by itself in the meantime: a friend just added, remembered permissions, a block, tracked modpacks, the avatar — e.g. after “Block” the next appearance save silently lifted the block. Now those fields come from the saved settings, not from the screen's copy
- SecurityBetaA stranger presenting your friend's identifier could receive the “Allow” you gave the friend: permission questions with the same identifier were merged into one. Now the stranger gets a question of its own — without the friend mark
- If Modrinth or CurseForge did not answer during a mod check — the network dropped, say — mods were marked as not downloaded from a platform and stayed that way. Now a platform that did not answer counts as “no answer”, not “not found”: such mods are checked next time, and those marked by earlier outages return to their platform at the next check
- From CurseForge — on install, for dependencies, from collections and on update — the latest file of a mod was always taken, even if it would not fit next to the others. Now, as with Modrinth, the version that fits the mods already installed is used
- A CurseForge mod already in the build was not marked “Installed” in the catalog
- If some missing dependencies failed to install, “Install all missing” said nothing about it. Now you see which ones failed
- A jar dropped into Mods showed up as a second copy if the same mod was already installed from the catalog. Now such a file is recognised by its contents
- A mod from the recommendations could install in a version not meant for your game or loader — now the version chosen on the card is installed
- A conflict marked “Not a problem” was hidden from the list but still counted in the numbers
- Resource packs and shaders from a CurseForge modpack landed in the mods folder and did not show in the game — now they go to their own folders
- Files of a .mrpack outside the mods folder — resource packs, shaders, configs — showed in the preview but never reached the build
- After a modpack install “Changes” showed all of its mods as added by you — now it counts from the build as it arrived
- Progress, cancel and errors of an install started from a modpack card were drawn under the card itself and got lost behind windows — now they show on top
- A build from the Builder showed optional groups as cryptic codes instead of mod names on import, and the choice was ignored
- The Builder export ignored the file name chosen when saving, and “:” or “?” in the name broke it on Windows
- If in “Edit” you set Java back to “Automatic”, reset the JVM arguments or cleared the nickname, the note or the loader version, the old value came back after saving. Now a cleared field is saved
- Deleting a build that was being played left the game running from an already deleted folder. Now a running build can't be deleted — close the game first
- A build could be duplicated while it was running or installing — the copy came out incomplete, and the backups were copied along with it. Now duplicating is refused during play and install, and backups stay with the original
- Opening another build while “Console” or “Backups” was open in the details could leave the tab on the previous build
- In “Launch History” a launch's result was marked on the previous session, and one launch made two snapshots. Now there is one snapshot per launch, and the result is marked on it
- A server could stay in “Restarting” for good after a crash. Now the launcher itself brings up a server with “Restart on crash”, and “Stop” during the pause before the restart cancels it
- Live log analysis did not start if the game was launched while the launcher was already open
- After “Convert to Server” from a card's menu the server did not appear in the list, and the EULA was not asked. Now the server is in the list right away, and the EULA is asked
- RCON could not sign in to any server: the launcher took the server's answer to the login for a broken one. Now RCON connects, long answers are put together from their pieces and no longer drift onto the next commands, and after a failure or timeout the next command reconnects by itself
- The server console always showed 0 players, and TPS was calculated wrong. Now players come from the list command over RCON (without RCON no number is shown at all), and TPS from the real answers of Paper, Spigot, Spark, Forge and NeoForge. “Stopping server” typed in chat no longer disconnects RCON
- On a server without license checks (online-mode=false) the whitelist, OP and ban buttons did nothing for offline players: the nickname was “not found”. Now the UUID is worked out the way the server itself does it — and licensed names on such a server no longer get a UUID the server doesn't know
- The server import window showed an empty port and slot count, and “Close” left the imported server out of the list. Now the port, slots and MOTD are shown, the server is in the list right away, and “Open Server” opens exactly that one
- ExperimentalJoining a server with an invite code was refused by default, and the invite carried the address 127.0.0.1. Now the code lets you get the server's build, an invite with a local address is not created, and a creation error is shown
- For Minecraft 1.21 the NeoForge list showed every 21.x version, and “Automatic (latest)” installed the one for 1.21.11. Now only 21.0.x — the ones for 1.21
- Download settings did not work as labelled: “Max concurrent downloads” affected nothing, and the speed limit applied to each file rather than to all of them. Now both apply to all of the launcher's downloads together
- A system Java of the same version could silently replace the Java the launcher installed, and cleaning up Java in Settings → “Data” removed the record but not the files. Now the launcher takes its own Java first, and the cleanup removes only its folders — completely
- Downloads and the import-from-other-launchers window were partly not in the interface language: game file labels, import errors and warnings, “No instances found”. Now all of it follows the interface language
- Signing in and syncing the mods folder could fail with “database is locked” if the launcher was writing something else at that moment — an install, for example
- BetaA friend behind a VPN vanished if one of you left the shared local network: the launcher remembered only the friend's last address. Now it keeps up to 8 addresses per friend, the VPN one included, and knocks on all of them at once. Friends won't find each other only if you both changed networks and share no VPN — that one is in the known issues
- BetaA friend who changed their port is found by itself — the launcher knocks on the nearby spare ports too
- BetaIf the firewall rule was set up before 0.0.19, the connection screen said all was well while connections to friends never came up: the old rule opens TCP, and Connect now runs over UDP. Now the screen shows it and offers “Add firewall rule” again
- Beta“Get the pack” showed 0% and “Connecting...” for the whole transfer — now the real stage and amount are shown
- Beta“Cancel” on the side that sends a pack did not stop the transfer, and the owner always saw “Transfer completed”, even after a drop. Now cancelling really stops it, the receiver does not reconnect, and the summary is honest — how many files were sent out of how many
- BetaCancelling a pack download left the permission question open on the owner's side — now it is withdrawn
- BetaWhoever sent a friend request never learned that it was declined
- BetaThe sync preview showed “To delete” where the sync would delete nothing. Now the preview shows exactly what it will do
- BetaFiles kept back by the safety rules (e.g. a .dll next to a mod) were seen only by the receiver — now the sender sees them too: “Files kept back by the safety rules: N”
- In the Russian interface, hints on where to turn a feature on named a settings tab that does not exist
Stuzhik 0.0.19
1613332
- SecurityBeta“Friends” runs on a new connection, and all of it is encrypted: files, a build's file list, its name, nicknames and permission prompts. Before, the start of a connection went in plain text and showed your identifier and nickname — now it is QUIC with TLS 1.3 instead of the old TCP and home-made cipher. Everything goes over UDP on two ports, and the Windows firewall rule is now a single one, “Stuzhik Connect”. Launchers 0.0.18 and older can't connect at all: instead of a long wait the launcher says right away that your friend has a different Stuzhik version, and “Friends” shows that an older Stuzhik is nearby
- User agreement version 3: section 3 now says that your own answer next to “Other” in “How did you hear about Stuzhik?” is sent once, with the first report. If you accepted an earlier version, at launch you see the changed places highlighted (added in green, removed struck through), the text and two buttons — “Decline and quit” and “I accept”; your statistics choice and your earlier answer are kept. Until you answer, no statistics are sent. The agreement opened from settings now has a “Version history”
- The “Changelog” window became “Versions” with three tabs: “What's new”, “Roadmap” — Stuzhik's path along an ice trail: finished stages, the current one and plans, each with what went into it and in which releases — and “Known issues”: what doesn't work yet and how to get around it
- The “Builder” became a full build editor. “Contents” is a table like a build's mod list: a row opens the mod card, a mod can be turned off, and sizes are shown. “Catalog” is the same as in the “Mod Collections” section, already set to the project's game version and loader. “Compatibility” checks the contents without installing anything — what is missing and what won't work together, including limits declared inside the jars — and draws a “Dependency graph”. “Configs” holds the project's configs with highlighting, edit history, diffs and restore, search and “Open in VS Code”; they go into the .stzhk export and into a build created from the project, and importing a .mrpack takes them from the archive
- “Pin the version” for a Modrinth or CurseForge mod — with the pin button in its row or from the mod menu: update checks, auto-update, manual updates and modpack updates leave it alone. Changing the version by hand keeps the pin
- YouTube videos in mod and modpack descriptions now play right in the launcher — before, they were cut out entirely. First a preview with the title, then on click the real YouTube player with chapters, subtitles and speed; “Open in browser” and “Copy link” are always there and continue from the current second. Timestamps in the description (“1:35 Installation”) and links to the same video seek the player
- A “Check for updates” button in Settings → General → “App Updates”: it checks the selected channel right now and installs a found version with a restart, asking first if a server is running or something is downloading. “No updates” and “Could not check” are different answers: an error is never passed off as the latest version. Before, the launcher checked for updates only at startup
- Picture background: “Picture position” — “Fill”, “Fit”, “Stretch”, “Center” or “Tile” — and “Picture blur” (Settings → Interface). With “Fit”, the empty edges are filled with a blurred copy of the picture instead of black
- “How did you hear about Stuzhik?” now has a “Your own answer” field next to “Other” — up to 40 characters. It is sent once, with the first report; anything that looks like a contact (email, link, phone number) is never sent, and the window warns you right away. If your first report has already gone, the field in Settings → Privacy is disabled — there is nowhere left to send it
- BetaFriends behind a VPN without a shared network — Tailscale and the like: you only need to add a friend by address once. After that the launcher remembers their address, knocks on it at startup and every 5 minutes and keeps them online, and rooms, profile style and what they are playing reach you the same way as on a local network. A person's card has a new “Check connection” button: a check on every known address with the outcome — response time, “no answer”, “different Stuzhik version” or “you are hidden from them” — and the kind of network: local, Tailscale, Radmin VPN, Hamachi or the internet
- Beta“Hide from this friend” in a friend's menu: to them you are offline — they see neither you nor your builds or rooms, and the launcher doesn't connect to them on its own. Fully within 15 minutes. The list and the way back are in Settings → Connect
- BetaTwo new privacy settings in Settings → Connect: “Who sees my profile style” — everyone or friends only, and “Accept friend requests” — when it is off, requests are silently dropped
- BetaProfile style: “Banner colour” fills the header without an effect or colours the effect itself; the avatar's “Behind the picture” is your own colour or “Transparent”, so a cut-out picture sits right on the card; “Frames” for the avatar and the whole card — line, double, glow, gradient and animated ones: running light, pulse, rainbow. The card's “Accent” now also tints highlights and soft fills inside it, not just the buttons
- BetaA request to take an unpublished build can now be allowed for one person: “Allow for a day” in the “Inbox” opens it to them only and only for a day, with no second question. Before, the only option was “Open to friends” — to everyone and for good. The person asking now sees that the request went to the owner and that they can press “Take” again
- ExperimentalCo-op build — a full-screen editor: the contents as a table with search, filters and a “new” mark since your last visit, who added each mod and when, and the build's size. “Catalog” is the same as in the “Mod Collections” section, set to the room's version and loader; a mod's name opens its card. Resource packs and shaders are part of the contents, and mods can be turned off and their versions pinned. The “Compatibility” tab marks missing dependencies and conflicts right in the contents, and everyone sees the “Dependency graph”, even without their own copy of the build. The host can add a “Room description”
- ExperimentalCo-op build: a “Configs” tab — view with highlighting, edit (Ctrl+S), upload your own files, create folders, search by content. Every edit has a git-style diff and a restore to the previous state, deleted files included; “Open in VS Code” saves straight into the room. A file open on two machines updates in place, and if you have unsaved edits you can compare and choose. Configs changed on the host's disk outside the launcher (by the game, in a text editor) reach the room too. Only friends with the right role see configs: they can contain tokens
- ExperimentalCo-op build: roles — “Editor”, “Member”, “Viewer” — with permissions, per person and for newcomers. “Who can join” is chosen when the room is created, “Friends” by default (before, anyone who could see the host walked in), and only those who may join see the room; there is invitation-only entry and “Remove from the room”. Reactions were replaced by a discussion of the room and of a single mod or config, with flood protection and “Mute in the discussion”. A mod can be “Put to a vote” — the host decides; you can withdraw your own proposal until it is decided, and an edit in the feed can be undone. “Get the pack” by a member now asks the host; silently only with the “Take the build without asking” permission
- ExperimentalCo-op build without installing: “Build together” → “Without installing” or “From the Builder” — the room lives on a Builder project and downloads nothing. Everyone installs their own copy (“Install for me”, “Update my copy”), and the copy follows the host's loader version by itself. “Pin the room” brings it back by itself after the host restarts; “My own room based on this one” and “Continue on my own” while the host is away work only if the host granted “Copy the room”
- A mod installed without a chosen version now gets the version that fits next to what is already installed, not simply the latest release: next to Sodium 0.8.13 the catalog installs Iris 1.8.14 (a beta), not release 1.8.8, with which the game won't start. Dependencies are picked the same way, and the preview shows the dependencies of exactly the version that will be installed. The same applies to collections from the “Mod Collections” section and to the “Builder”. Modrinth mods only for now
- A mod install from the catalog can be cancelled while it runs: the card and the recommendations show its stage — “Picking a version…”, “Downloading · N%”, “Dependencies…” — with a cancel button, and an “Installing” block appears above the build's mod table. Before, the status froze until the end and there was no way to stop it. A cancel isn't shown as an error, and optional dependencies you picked are not installed after it; if the mod had already downloaded, it stays in the build and the launcher says so. A failed install says what went wrong instead of staying silent
- The build install window and the install block on the build's page showed a card for every file being downloaded — hundreds of “Asset …” rows. Now it is one line: “Files downloaded: N”, the current file and the total speed — and only this build's files (before, the build page showed every download in the launcher). The install step no longer falls back to “Java” while Minecraft is downloading
- A colour picker of our own instead of the system dialog: a saturation and brightness square, a hue strip and a field where you can paste #hex, rgb(), hsl(), “30, 144, 255” or a colour name; a HEX/RGB/HSL switch, preset colours and a screen eyedropper where the system provides one. It works in “Create theme”, in the “Custom color” of the accent and the animated background, and in your profile style. The Windows system dialog didn't even have a hex field
- Images in mod descriptions no longer silently go missing — before, almost half of them didn't show. Images from large platforms — GitHub, imgur, Discord, badges, YouTube previews and others — load at once, and from other sites by a “Show” or “Always show from this site” button (the list is in Settings → Privacy): such a site learns your IP address. Hosting ads are hidden. Buttons in a description (“How to install”, Discord…) sit in a row as on Modrinth, and the gallery viewer shows the original instead of a stretched 350-pixel preview
- Fonts are built into the launcher: it no longer contacts Google Fonts at every start — nothing ever loaded from there anyway. The monospace font in logs, the console and the editor is Cascadia Mono (on Windows it used to fall back to Consolas), without ligatures: “!=” stays “!=”
- Uninstalling the launcher cleans up after itself: cache, logs, error reports and the built-in browser's data are always removed, and so are saved account logins (in the Windows Credential Manager) and the firewall rule. The checkbox now says what it does — “Also delete builds and worlds (all launcher data)”: nobody ticked it before, so everything stayed behind. An update, or installing a new version over the old one, touches none of this
- The update check at startup no longer waits for a silent server: the next address is asked after a second and a half instead of after a timeout, and while the Stuzhik server answers, GitHub isn't asked at all. And if the connection goes silent while the next update is downloading, after 30 seconds it counts as a drop — before, the download window hung forever and the launcher didn't start
- A mod in a build's mod list has a right-click menu with the same actions as its buttons plus “Open the mod page”. Row buttons no longer hide until you hover (build groups, Builder projects, the inbox). The authors line no longer eats the mod's name (Iris lost it entirely), and in a narrow window the mod table hides the “Side” and “Size” columns
- BetaTransferring a build got several times faster, especially over a VPN: the launcher asks for the next files without waiting for the previous one to arrive — 600 small files at 40 ms latency arrive in about 3 seconds instead of 24 or more, and files no longer swell by half on the way. A build of more than 10,000 files (TerraFirmaGreg-Modern has 12,143) is no longer refused by the sender: the cap is now 100,000. And the “Friends” section no longer freezes while thousands of small files are transferring
- BetaA transfer survives a connection drop of up to a minute and a half: the launcher waits for the friend to become reachable again and resumes from the same byte. The transfer history now shows why a transfer failed — before, it was blank
- BetaFriends see changes at once: a room opened or closed, a game started or ended, a new profile style reach neighbours in a fraction of a second instead of 5–7 seconds, and turning Connect off or quitting the launcher shows within a third of a second instead of 20
- Beta“Get the pack” now brings almost the whole build: along with mods, configs and resource packs come CraftTweaker scripts, OpenLoader files, Patchouli books, Resource Loader resources and FancyMenu menus. The local/ folder stays behind on purpose: it holds each player's own mod data
- ImportantRestoring a backup deleted worlds: the saves folder was replaced whole, a world created after the backup was lost for good, and the others were silently rolled back — even though the automatic backup before a mod update includes worlds by default. Now worlds are restored one by one, and a backup with worlds asks: “Without worlds” (the default) or “With worlds”. The “Backups” tab reports the result of every action (it used to stay silent, and a refusal while the game ran looked like success), “Restore” is disabled while the game runs, and a build's “Use global setting”, “Enabled” and “Disabled” buttons finally save — “Enabled” works even with global backups off
- ImportantUpdating a mod or switching its version first deleted the mod and only then downloaded the new version — a network failure left the build without the mod. Now the old file is set aside and put back if the new version didn't install. A disabled mod stays disabled after an update (it used to turn itself on), and the “Updates” window no longer counts a mod that failed as updated and says which ones stayed as they were
- ImportantEnabling a resource pack when options.txt couldn't be read (a different encoding, no access) rewrote the file from a single line — all game settings were lost. Now such a file is left alone, and writes are done so that an interruption can't leave half a file behind
- ImportantBeta“Get the pack” overwrote your own build with the same name (and “Forge 1.20.1” is the default name): everything of yours that the owner didn't have was wiped. Now the launcher tells a copy taken from a friend apart from your own build: into your own build it only adds what is missing, and if that build has another game version or loader it refuses with an explanation; a running one it asks you to close. Also, the friend now gets the same loader version as the owner (a build created with the latest loader version didn't pass it on, and the friend got their own latest), the usual install window opens — Java, Minecraft, loader — cancelling the install keeps the files already received, and a broken build is repaired after “Take” instead of being reported as already complete
- SecurityThe “Delete config” auto-fix takes the file name from a log line, and a server log also contains player chat: a message like “Exception reading config ops.json” became a fix that deleted ops.json, server.properties or the ban lists from the server root — and “Fix All Problems” ticks every fix at once. Now only files in config/ and defaultconfigs/ are deleted — that is also where the fix now looks for the config; before, it almost always answered that the file wasn't found
- SecurityInstalling a .stzhk from a link took the temporary file name from the link itself, and a link containing “..%2F” could write the download outside the cache folder. Now each install gets its own file name, and the downloaded archive is removed even after a failed install (it used to stay in the cache). Two installs from Google Drive links at the same time no longer write into the same file
- SecurityBetaA build you took from another device could place files outside the build's folders — for example into versions/ next to the game, even before the loader was installed. Now only what can belong to a build is accepted (mods, configs, resource packs, scripts and so on), and sync deletes files only there too
- The mod compatibility check didn't see limits written inside the mods themselves: Modrinth lists dependencies without version ranges, so Iris 1.8.8 next to Sodium 0.8.13 passed every check, and the game crashed with “Incompatible mods found!”. Now the “Dependencies” tab and the pre-launch window read versions and restrictions from the jars — such a pair shows up at once. A restriction like “iris <1.8.13” no longer marks Iris of any version, and Fabric API modules no longer cause a false version-mismatch warning
- The mod update check offered things that wouldn't fit or were already installed: an Iris beta needing a different Sodium, a Sodium that breaks the installed Iris, and “7.0.3 → 7.0.3-fabric” for the very same file. Updating silently reinstalled the same version, the badge hung forever, and for a mod added as a file it failed with “Invalid configuration”. Now an update means a newer version that fits next to the build; with nothing to install, the badge is cleared. A mod added as a file is updated from Modrinth if it's there. Resource packs had the same “update” to the same file — fixed too
- Mod list: a mod dropped into the folder right after another install didn't show up for two minutes; a jar copied or deleted in the file manager didn't appear in or vanish from an open “Mods” tab; a catalog mod already added as a file was installed as a second row; a build patch left the mods it removed in the list. Mods from the “Mod Collections” section were recorded under an internal id instead of their name, so known incompatibilities didn't recognise them
- “Play” right after installing a modpack let you start without a required mod, and the game crashed: the launcher learned the build's mod dependencies only once the “Mods” tab was opened. Now they are recorded at install time — also for jars put into the folder by hand
- Exporting to .mrpack built mod links by hand, and they all led nowhere: such a file installed no mods at all, neither here nor in Prism or the Modrinth App. Now Modrinth itself provides the link by the file — also for a mod added as a file if it exists on Modrinth — and the mod's side (client or server) comes from the platform
- A .stzhk file from the “Builder” installed no mods at all: it carried an empty hash, and the install rejected every mod. Now such files install, including ones already shared. A .stzhk export of a build no longer points at the wrong file of a mod version, which the install then rejected by hash, and installing a .stzhk installs exactly what it lists and names the mods that failed — before, only the log knew
- “Builder”: adding a mod took the first version that came along, didn't bring required dependencies and didn't check compatibility, and with an empty version list it recorded the mod with no version at all. Now the version is picked for the game, the loader and the other mods, required dependencies are added together with the mod, and a conflict is refused with an explanation
- Updating a modpack in place didn't change the game and loader versions: the new mods needed a newer loader and failed to load, while the build counted as updated. Now the new Minecraft and loader versions are written to the build and installed right away by a repair. A modpack that switched loaders (say, Fabric → NeoForge) isn't updated in place: “Update” is disabled and a hint points to “Install separately”
- “Install separately” in the modpack update window can be cancelled, and you can see its progress. Before, every button and Esc were blocked for the minutes of the download, and the spinner sat on “Update”
- CurseForge modpacks: an error answer from CurseForge was read as a missing file, and on an incomplete answer a modpack update deleted a mod without a replacement or kept the old one next to the new one — and reported success. Now an error is reported as an error, temporary failures are retried, an incomplete answer stops the update, and a failed or cancelled install no longer leaves an empty build with a loader installing in the background
- Installing a modpack from its card (“Details” → “Install”) could get stuck on “Done!” for good if the loader finished before the mods, and the catalog's “Install” button then silently did nothing until you left the section
- A dragged-in manifest.json or modrinth.index.json started installing at once, with no preview and no way to cancel. Now any build file — an archive, a .stzhk or a bare manifest, including one opened from the file manager — opens the import window with a preview, the install can be cancelled, and mods from modrinth.index.json are checked by hash. Cancelling after a failed install no longer gets stuck, and an install error in the “From file” and “By link” tabs is finally shown
- Comparing modpacks (“Compare”): it crashed on any jar with Cyrillic in its name, and the same mod in two versions often didn't match itself — the game version in a file name was guessed by its shape, and version tails stuck to the name. Now names are read against the build's own game version, including the 26.x numbering
- A build imported from another launcher wouldn't start: the files were copied, but neither the game nor the loader was installed, and “Play” failed with “Invalid configuration” (Forge silently started as vanilla). Now right after the import the launcher installs what is missing — the same way “Repair” does
- Quilt with “Automatic (latest)” installed Quilt Loader 0.17.0-beta.1 from 2022 for any game version, and mods that need a recent loader wouldn't start. Now it is the latest release, for servers too
- When creating or editing a build, a loader version picked for another Minecraft version stayed in the field: switch the game from 1.21.11 to 1.21.1 and NeoForge 21.11.27-beta went into the build, failing the install at the loader. Now changing the game or the loader resets a version that doesn't fit to “Automatic (latest)”
- “Downloads”: the cancel button on game files, Java and a catalog mod did nothing, and on a modpack's mod it cancelled a single file — and the install ended in an unclear state. Now one install's files are a single row, “Installing “Build” · N files”, which expands into the list, and cancelling it (with a confirmation) stops the whole install; a lone download (a catalog mod, Java) is cancelled by its own button; where nothing can be stopped (a modpack update, an export) there is no button. After cancelling an install, “Asset …” rows no longer hang on “Connecting…” until a restart
- The console of a server started without a launch script (vanilla, Fabric, Quilt and Forge without a run script) took no commands: a running server counted as stopped, commands failed with “Server not running”, and “Stop” without RCON didn't stop the server. Now the console, “Stop” and Spark commands work with any server
- Clicking a system notification didn't even open the launcher window. Now it brings the window up, including one closed for the duration of a game, and opens what the notification is about: the inbox, transfers, a build or a room. Going to a build from the bell or from “Friends” while you weren't on the home screen did nothing either — now it opens the build
- On long-standing installs the sidebar stayed expanded forever: the mode was remembered by a button that had long been gone from the interface. Now you choose it in Settings → Interface → “Sidebar”: “On hover” (the default, for everyone after the update) or “Always expanded”
- In the English interface, “What's new” showed its entries in Russian — now every entry has English text
- Beta“Friends”: a friend's profile style — banner, colour, avatar, about line — vanished while they were offline; now they appear as they were last seen. Your own profile row shows your avatar instead of a letter, and avatars in the people list show at once, without opening the card. A build taken from a friend or given to them is no longer recorded in the history as if from an anonymous peer — their name is there
- In places an error read “[object Object]” instead of its text — in mod and modpack installs, settings, export, sync and other windows. Now it shows the error text and a hint on what to do, and cancelling a modpack install no longer looks like an error
- Small things: with a small font the active settings menu item stuck out of its panel; the question on closing the window (a server is running, downloads are in progress) was in Russian in the English interface; installing Forge flooded the install window with some fifteen hundred identical steps, and its error text carried the installer's whole output — now only the last 60 lines; the first-visit hint in “Friends” promised the code would connect you “even on different networks”, while it only works within one network
- ExperimentalCo-op build: a room stayed in the list forever if the host closed the launcher or dropped off the network — now it closes with an explanation, and members who left disappear from the host's list. The open button on your own room's card did nothing, a preview of someone else's room ended in a refusal saying the build wasn't published, and mod search in a vanilla build found nothing — now it explains that mods don't go into a vanilla build
- ExperimentalThe join-by-code window showed “No limit” for a code whose owner had limited the number of uses. It now says “Uses are counted by the owner”
Stuzhik 0.0.18
118542
- New “Experimental features” setting (Settings → General), off by default. While it is off, co-op builds, server sync and joining a server by code, auto-sync with a friend's build, the Recipe Builder with the metadata editor, the “Security” tab and automatic mod security checks appear nowhere in the interface — and they don't run in the background either. If you have already shared a server build, issued invites or followed friends' builds, the setting turns on by itself. “Friends” and the light theme are always visible, marked “Beta”
- Removed switches that had no effect: “Instance Badges”, “Quick Play”, “Modpack Changelogs” and “Connect Button” in Interface → Element Visibility, and “Auto-sync (Watch Mode)” in server sync
- Anonymous statistics and a user agreement. On the first launch after the update, the launcher shows the agreement (“I accept” or “Quit”), and nothing is sent until you answer. Once a day it sends the launcher version, the OS without its version number and the interface language; while the launcher is open, also a random session number, which Minecraft versions are running with which loaders, and the same launcher details. No nickname, accounts, builds, files or persistent identifier are included. You can turn it off right in the agreement window or in the new Settings → Privacy tab; the invite code and the “How did you hear about Stuzhik?” question are there too
- Inbox: friend requests, build requests and what happened while you were away (“asked for a build but left”, “request accepted” or “declined”) are now stored and survive a restart. Previously the bell was cleared on every launch, and a friend request disappeared on restart. You can answer right from the bell; “Friends” has an “Inbox” button with a counter, and the same counter is on the “Friends” item in the sidebar. When the window is minimized, a system notification arrives, and anything awaiting your answer also flashes on the taskbar (Settings → General → “System notifications”)
- Update channel: everyone is on “Stable” by default; “Beta” gets new versions earlier, but they may contain bugs not found yet (Settings → General → “Update channel”). The launcher never rolls back: if you leave beta, you stay on your version until the stable one catches up
- Time played: a current-session counter on the build card, in its details and on Home; “Played in total” on Home; per build — the number of launches, the last and the longest session; a “Time played” section in Settings → Data — for every build, including deleted ones
- Select several mods like in an email client: Shift+click selects a range in on-screen order (taking search and filters into account), Ctrl+click selects one row without opening its card, Ctrl+A selects the whole list. Works in the mod list and in the resource pack, shader and datapack lists; in the search field Ctrl+A still selects the text
- Mod collections are now full-fledged: description, icon, color, target loader and game version (dependency versions are picked to match them); a note on a mod and an “optional” mark; selecting several mods, search and sorting. “From instance” — tick mods and add them to the open collection or a new one. Comparing with an instance shows what it is missing and what it has beyond the collection. A collection can be shared by code or as a .stzhkset file, and its card shows which instances it was applied to and when
- Servers have a new “Restart on crash” switch (server menu → “Edit”). A crashed server comes back up by itself after 5 seconds, and if it keeps crashing (3 times in 10 minutes), restarting stops with a notification. A crashed server is now labelled “Crashed” instead of “Stopped”
- Beta“Publishing new builds” in Settings → Connect decides what happens to builds you haven't set publishing for: don't publish (default), friends, or everyone on the network. Before opening them up, the launcher shows how many builds this affects. Builds left closed in 0.0.17 are included too, but any of them can be closed individually. The “Sharing” item is now in the build's main menu: it shows the effective value and explains why nobody can get the build right now — Connect is off, you are invisible, or nobody is allowed to ask
- BetaIf a friend clicks “Take” on a build you haven't published, you now find out: a notification appears, plus an entry in “Inbox” with an “Open to friends” button. Background update checks don't trigger this notification
- ExperimentalCo-op build: friends in a room propose edits — “add a mod from Modrinth or CurseForge” or “remove this one” — and the host installs them the same way as from the catalog. A mod that conflicts with the build or needs a dependency that can't be installed is not installed. Members see the build's contents and the status of each proposal, and an edit in the feed is signed by whoever proposed it. The host edits right from the room and can disable edits. Only friends can edit; a stranger in the room can only watch. “Keep my copy in line with the host” pulls in changes by itself. “Build together” now has “New build”: the room opens once the build is installed
- The bottom of the sidebar shows how many people are in the launcher right now (“N+ online”). The number comes only together with the statistics: if you turn them off, the line isn't shown
- Transferring a build made of many small files is now several times faster: each file used to cost about 100 ms of idle time (up to 200 ms on Windows), now about 16 ms. In a test, 450 files arrived in 11 seconds instead of 50
- The build card and the build details now share one action menu: frequent actions on top, rare ones under “More…”, delete last. The menu also opens with a right click on the card. From the list you can publish a build, change its cover and open the launch history. The server menu no longer has “Patches” and “Performance”, and the vanilla build menu no longer has “Mods”: these items silently opened a different tab
- Launcher updates are downloaded from Stuzhik servers (get.stuzhik.ru and get.stuzhik.com), with GitHub kept as a fallback. The update signature is verified as before. This takes effect from the next update after 0.0.18
- On first install, the interface language is taken from the system: Russian on a Russian Windows, English on an English or any other one. Those updating from 0.0.17 who never chose a language keep Russian. You can switch the language right in the agreement window, before reading it. A language you have already chosen is not overridden by system detection
- Modpack updates download mods in parallel instead of one by one. The window shows the stage and “N / M” instead of a lone spinner on the button, and if the pre-update backup failed, the launcher warns that there will be nothing to roll back to. Creating a build from a project in the Builder also downloads mods in parallel
- After connecting by short code, the “Add device” window immediately offers to send a friend request. Previously it was hidden in the device's “⋯” menu, and without being friends, the person can't see builds opened to friends or what you are playing
- The integrity check shows the stage, “N of M” and the current file instead of a lone spinner, and its window closes with Esc
- While a server was running on Windows, the launcher checked whether it was alive by starting a system utility every 2 seconds — about 1800 processes an hour per server. Now the check starts nothing
- ImportantBackups. The “Automatic backups” setting had no effect — now a backup is made before removing, updating and changing the version of mods (at most once every 10 minutes). The backup count limit also deleted manual backups — now it leaves them alone and counts pre-modpack-update backups separately so automatic ones don't push them out. A backup cut off mid-write (out of disk space) no longer leaves a half-written archive on disk that doesn't show in the list, and an automatic backup doesn't take the last free space on the disk. Server backups didn't include the world — now they do, along with server.properties, operators, the whitelist and bans. Turned-off auto-backups no longer prevent making a backup manually
- ImportantIf the mod list of a mod collection got corrupted, the collection showed up empty, and the very first edit wrote the empty list over it — the mods were lost for good. Now such a collection is marked as corrupted and can't be overwritten
- ImportantA build patch whose config edit didn't fit your current config (you had already changed it or the build had been updated) wrote the edit itself into the file instead of the config — the mod then couldn't read it. Now such a config is left untouched, and the reason is shown in the apply report. Patches can also now add a file to a folder that doesn't exist yet
- SecurityAnyone on the same local network or a shared VPN could send “request accepted” for a request you never sent and become your confirmed friend under any name — with access to everything you open to friends. Now a reply is accepted only for your own request and only from the person you sent it to
- SecurityThe game launch command was written to the log in full — including the Microsoft or Ely.by account sign-in token, which can be used to log into the game as you, and the log is attached to error reports. For large builds on Windows the same token also stayed in launch_args.txt in the build folder and ended up in its backups. Now the token is not in the log, and the file is deleted right after the game starts
- SecuritySomeone else's device could announce a build of hundreds of gigabytes and fill up your disk: the transfer size limit (5 GB and 10,000 files) applied only when sending. Now it also applies when receiving, and the size of every received file is checked against the announced one
- SecurityA stranger could send a friend request under someone else's name with their own key. If it was accepted, the name stayed with them for good: the real person could no longer be added, and the stranger passed as a friend under their name. Now a request is accepted only under the sender's own name and with their own key
- SecurityIn “Everyone” mode, someone posing under your friend's identifier could request a build on that friend's behalf. And declining a friend request revealed your real nickname, even if you had hidden it
- SecuritySomeone who knew your short code could pose under your friend's identifier and for about fifteen minutes receive what you show only to friends — for example, what you are playing. Now a friend's name that arrives with a connection by code is not accepted
- SecurityFrom the size of discovery packets, anyone on your local network could find out how many friends you have, when you added a new one and whether you are friends with a particular person. Now the packet is always the same size
- SecurityAn image link sent by another person (a mod icon in a friend's build contents or in a build file) could make the launcher contact any address — a device on your local network or a stranger's server, which learned your IP that way. Now images load only from known hosts: Modrinth, CurseForge, GitHub and the like
- SecurityA .stzhk build file, a patch or files from a friend could write or delete the launcher's own files in the build folder — backups, the integrity inventory, the patch log. And a path from a .stzhk could create a folder outside the build. Now nothing from external sources touches the launcher's own files, and paths are checked the same way everywhere
- Security“Repair” in the integrity check never worked once and always answered “Cannot recover”. Now a damaged mod is re-downloaded from where it was installed from and verified by hash. A hole was also closed: an integrity inventory that came with someone else's modpack could make the launcher read files outside the build and write files outside it
- Friend requests between two 0.0.17 launchers never arrived: the sender's request went out without an error, nothing appeared on the recipient's side, and you couldn't add a friend. Fixed on the sender's side: a request gets through if the sender has 0.0.18, and the reply to it if the person replying has 0.0.18. A repeat request from someone already in your friends (your earlier reply never reached them) no longer fails with an error — accepting it re-sends the reply, and the friendship becomes mutual
- The launcher no longer asks you to install a mod that is incompatible with the ones already installed: incompatibility now outweighs a requirement — when installing a mod, before launch and during automatic dependency installation. Before launch, instead of a text question, a window shows what is missing, what can't be installed and what it conflicts with, and which mods already conflict — with “Install and launch”, “Don't remind me” and “Open dependencies” buttons. The “author advises against” warning is shown separately from real incompatibility, and instead of “JEI is incompatible with the already installed JEI” the correct pair is named
- In 0.0.17, Forge and NeoForge mods added as a file or that came with a modpack didn't have their name, version, authors and icon read from the mod itself, and other mods' dependencies didn't recognize them — hence “the launcher asks for a mod that is already installed”. After the update this information is re-read automatically
- The “Close” option in “On Game Launch” quit the launcher entirely, and nothing watched the game any more: a crash wasn't analyzed and didn't get into the crash history, the “Post-exit” hook didn't run, and friends kept seeing “In game” after you quit. Now only the window closes: the launcher keeps watching the game in the background and quits along with it, and the shortcut or tray icon reopens the window during play
- Playtime wasn't counted at all: the interface settings had a “Play Time” switch, but nothing ever appeared on the build card. Now time is counted for every client build, including when the launcher is minimized or closed while you play, and computer sleep with the game open doesn't count. Importing from MultiMC and Prism carries over the time played there
- Stopping the game with the “Stop” button counted as a crash. A game that outlived a launcher restart stayed “Running” forever after you quit (friends saw “In game”), and a stopped server stayed “Stopping” until the next launcher start
- “Install globally” for resource packs and shaders put the file into a shared folder, and that was it: the game didn't see it, although the list showed it as installed. Now shared packs are attached to every client build while the game runs and take up no disk space; the build's own file with the same name takes precedence. Shared packs are not included in exports, backups or transfers to a friend
- Mod collections: the “+” button without a name was disabled with no explanation — now it suggests a name. A Modrinth mod wasn't recognized as “already in collection” and was added as a second row. Applying a collection installed incompatible mods side by side (Sodium and Embeddium) and carried client mods onto a server. Exporting to a modpack lost required dependencies, so the .mrpack in another launcher ended up without Fabric API; mods left out of the export are now listed by name
- “Get the pack” for a build you don't have yet: the launcher spent minutes installing Minecraft and the loader and only then asked the owner, and a refusal left an empty build behind. Now the owner's answer and the files come first, then the installation; if the connection drops, what was downloaded is kept for resuming. The build appears in the list right away — previously the list said “0 instances” until installation finished
- Two “Take” clicks in a row for the same build (or a manual “Take” on top of auto-sync) downloaded files into the same folder at once and got in each other's way: some files never arrived, yet both reported “done”. Now the second one waits for the first and downloads only what is missing
- “Get the pack”: the owner's refusal, an unpublished build and too frequent requests were shown as a network error with advice to check the firewall — now each reason has its own text. And with “Who may ask: Friends”, a stranger saw a build opened to everyone on the network in the list but couldn't take it (“no such build”), and you never learned about the request. Now the list shows exactly what can be taken
- The owner's transfer request window disappeared by itself, and the requester got “denied”, whenever any background connection between you closed. With “Ask for permission: Always”, every reconnect mid-transfer asked again. Now the question is withdrawn only if the requester themselves left, and “Allow” covers the whole transfer, including resuming after a drop: 30 minutes, extended for as long as the transfer is running
- A nearby launcher might not see your nickname and what you are playing if your launchers happened to start almost at the same time. Only restarting one of the two helped
- A device connected by short code that didn't become a friend split in two in the list after 15 minutes: “offline” under its real name and an anonymous “online” card next to it. The fix works when both sides are updated
- A friend who hid their nickname showed up as “Anonymous” while online, and under the name you gave them only while offline. Now a friend is shown everywhere under the name you gave them, including in co-op build rooms. A stranger with a visible nickname no longer requests a build as “Anonymous”, and the request window marks the name with “friend” or “not a friend”
- “Turn off Connect” in the middle of a long transfer hung until the transfer finished. Now turning it off stops running transfers immediately
- The “Add firewall rule” button in the “Friends” section did nothing: the command went out without ports and failed, yet the launcher still said “Rule added”. Now it asks Windows for permission and adds the rule, and reports the result honestly
- The active Java choice in Settings → Game was never saved: with several installations of the same version, the game kept launching on the previous one
- A server started from its card rather than from its details didn't ask you to accept the EULA and ran into the advice “open the EULA tab”, a tab that doesn't exist. Now the question is asked whenever a server is started
- A repair could be started a second time on top of a running one, after which the first could no longer be cancelled. And cancelling a repair made a broken build “working” with a “Play” button, and a working one broken. Now a second repair doesn't start, and cancelling restores the previous status
- You couldn't drag a build into a group — the gesture never even started. Now a build can be dragged with the mouse, the group under it is highlighted, and Esc cancels the drag
- The install window couldn't be closed after an error or cancellation: the “Close” button did nothing, and the window stayed on top of the interface until a restart
- Esc closes a window the same way as the ✕ button. Creating and editing a build, import, joining by code, game settings, conversion, changing the loader, the changelog, the notification bell, the modpack preview and a dozen other windows used to ignore Esc. And Esc closes only the topmost layer: an open list in a form closes just the list, not the whole form with what you typed; an image in a mod's gallery — the image, not the card; search in the docs — the search, not the docs. Under a transfer request window, Esc no longer navigates away from the screen
- After any click, ⌘K opened the palette without the cursor in the field, and whatever you typed went nowhere; the code field in “Add device” didn't get focus either. Closing a window with Enter could immediately reopen it. Ctrl+K in the docs opened both the palette and the search — docs search is now on Ctrl+F. Ctrl+, opens settings: the palette suggested this shortcut, but it didn't work
- A question over an open window — a confirmation in settings, “Name the collection” from a mod card — could end up underneath that window, and Esc closed the window instead of the question
- The context menu closed when you scrolled it, so the bottom items of the long server menu (“Change loader”, “Repair”) couldn't be reached with the mouse. After “More…” the menu stopped responding to the keyboard
- Closing a dependency card opened from a mod card before its icon finished loading could make the launcher show a “Cannot read properties of null” error
- After importing from another launcher, the window closed before showing the result, so nobody saw the warnings about what wasn't copied. Now the result stays on screen
- Modpack Builder: when creating a build from a project, mods without a link and mods that failed to download were skipped silently — now the launcher names them, and progress is shown as a bar. A single project no longer stretches to the full height of the window, and the name field of a new project gets focus right away
- Export to .mrpack and ZIP ran without progress, and in CurseForge format showed “undefined/undefined”. Exporting a project in the Builder showed an internal stage name instead of a readable label
- Backups in the list had no title, and the size read “NaN undefined”. Now you can see why a backup was made (“Before modpack update v36 → v37”, “Before mod install Sodium”), its date, size, file count and whether it contains worlds
- “Performance” for a build that isn't running showed “Memory 0 B”, “CPU 0 %”, “1 core / 1 thread” and a green TPS, as if something had been measured. Now it shows dashes
- Settings → Data → “By instances” showed folder IDs instead of build names
- Numbers now take the correct word form: “2 mods”, “5 instances”, “3 rooms open · 2 friends online”, “21 minutes ago”, “4 cores / 8 threads”. Previously the Russian interface showed «2 модов», «1 минут назад» and about sixty more such strings
- Sizes, speeds, dates and numbers are shown in the interface language: «1,78 ГБ» and «2,4 МБ/с» in Russian instead of a mix of “MB” and “МБ” with a decimal point. Dates in backups, crashes, logs and snapshots no longer follow the Windows language (“7/27/2026, 10:00:00 AM” in the Russian interface), and the English interface no longer gets Russian dates. On Home, “5 d ago” became “5 days ago” and “yesterday”
- What was still left in English is now translated into Russian: “Changelog” (now «История изменений»), “Crashlog” («Журнал крашей»), “Stack trace”, “Wiki”, “FAQ”, the server's “Start” button, “root” in the file browser (now «Все файлы»), the tooltip on the crash chart bars, the mod update check summary, duplicate removal, download states, dependency graph labels and mod recommendation reasons. In “Performance”, the English interface no longer shows Russian labels
- The in-app documentation has been checked against what the launcher actually does. It described an editor with suggestions and hotkeys that doesn't exist, a “Recipe preview” on hover, “Settings → Java”, selecting mods with Ctrl/Shift+click before that existed, an automatic RCON password, the wrong data folder and about twenty more things that don't exist or work differently. The “Files & Code” and “Keyboard Shortcuts” sections were rewritten to match what exists
- “Friends” section: in a narrow window, the header buttons no longer overlap the title or run off the edge, rooms lay out across the window width without cutting off the loader and version, and the VPN recommendations are now an even grid of cards with a note that Stuzhik is not affiliated with these services. Tailscale is marked “Advanced”: finding friends through it doesn't work, you can only connect by address
- ExperimentalA stuzhik://join/… server invite link got lost on Windows — both when the launcher was closed and when it was already open. Now it starts the launcher or brings the open one to the front and opens the join window with the code filled in; joining happens only with the button
- SecurityExperimentalCo-op builds between friends didn't work: you couldn't enter a room, a friend's reactions and leaving were silently lost, and the feed of a host who is a friend never reached members. Your own room no longer looks like someone else's, the interface doesn't offer to re-enter a room you are already in, and an expanded room doesn't poll the host every 10 seconds. A hole was also closed: anyone could, under someone else's name, remove a person from a room or speak for them
- Small fixes: a CurseForge modpack had an “Unknown” badge in the preview; the “Mod Collections” section had an empty path line in its header; “Reset settings” left developer mode on until a restart; a custom language had no visible icon in settings
Stuzhik 0.0.17
19203
- ImportantA build now reaches the network only after you publish it: build details → “More…” → “Share in Connect”. After the update, none are published — this is intentional, so the update doesn't open up anything you hadn't opened
- The “Send → Modpacks” setting is split in two: “Who may ask” and “Ask for permission”. The old “Friends only” option meant “give to friends silently” — after the update the launcher always asks until you choose otherwise yourself
- A short connection code issued by versions before 0.0.16 renews itself the first time you turn on the “Friends” section. The old one didn't work anyway — such codes haven't been accepted since 0.0.16, and a new one could only be issued manually. Friends and added devices are kept, but you'll have to hand out the code again
- Build publishing with three states: not published, friends, everyone on the network. The stricter of the two applies — the build's own publishing or the general “Who may ask” setting
- The launcher is noticeably more responsive: communication between the interface and the engine took a roundabout route, so every action was handled slower than it should have been
- Answering a build request and checking friends for updates no longer re-read the whole build from disk: file hashes are remembered, and the check only watches builds marked with the bell. On large builds this was felt as periodic stutters
- A connection drop mid-transfer no longer kills it: the connection recovers by itself, and the download continues from where it stopped
- A running transfer is visible from any section: the header now has an indicator with the number of transfers and overall progress. Previously the list lived inside “Friends” and vanished along with the section
- Before joining a friend's server, the launcher asks for confirmation and lists what will happen. Previously downloading the build and launching the game happened on a single click without a single question
- The transfer request window shows how many files are being requested from you, not just their total size
- Instance repair can now be cancelled: an item in the build's context menu and a button right in its details, where the progress is shown. Previously a running repair could only be stopped by quitting the launcher
- While a build is being repaired, its card shows what exactly is being checked right now
- If a server has “Invite only” on and its allowed list is empty, the launcher warns plainly: nobody will get the build like this. Previously it just looked like “the server gives nothing to anyone”
- ImportantA build transfer broke off at around the fiftieth file, after which the launcher kept showing a running transfer for about twenty more minutes while transferring nothing. Now the build arrives in full
- SecurityA stranger could get the full file list of any of your builds knowing only its name — even if you hadn't shared that build and it wasn't visible in the list
- SecurityBuilds went to friends without a single confirmation if the settings were set to “Friends only”
- SecurityThe short connection code ended up in the log file. When you sent the log with a bug report, you gave away the code too
- The transfer request window disappeared after two minutes and later reappeared. Stepping away from the computer meant the build was guaranteed not to be sent — now the window waits for your answer as long as needed, and a repeated request from the same person doesn't spawn a second window
- Some build files were silently not transferred: .json5 configs, Sinytra Connector files, disabled mods. The recipient ended up with an incomplete build without any warning
- The kubejs, defaultconfigs, journeymap and Xaero map folders weren't transferred at all — the recipient simply had no scripts, quests or map waypoints
- The launcher reported “Transfer completed” even when only some of the files had arrived. Now it honestly says how many were received and offers to run the sync again
- If a build withholds some files for security reasons — for example, native libraries that some mods place next to themselves — the recipient now finds out. Previously the build silently arrived incomplete, and the mod refused to work for no visible reason
- A friend request from someone with a nickname longer than 25 Russian letters never arrived
- The “Decline” button on a friend request didn't tell the sender anything: on their side the request stayed pending forever
- Roughly every ten minutes, another duplicate of the same computer appeared in the device list — that's how people with “Friends only” mode on looked
- A friend added before key exchange existed silently received nothing in “Friends only” mode. Now there is an icon with an explanation next to them, and an “Unverified” mark in their card
- A stranger could be added to a group or to the server sync trusted list by a one-time identifier: the next day it matched nothing, and the entry stayed dead. Now the launcher doesn't allow this and explains which identifier works, and “Copy ID” warns that the copied one only lasts until a restart
- The transfer request window could stay on screen forever if the other side vanished mid-exchange: there was no one left to answer, yet the window didn't go away
- An interrupted upload stayed in the active transfers list and was offered for resuming on the next launch, although there was nothing to resume
- Entering someone's old-format code looked like a network problem — the launcher suggested checking the firewall. Now it says plainly that the code is outdated and you need to ask for a new one, and calls a length typo a typo
- A server invite code copied without the hyphen led to adding a device instead of joining the server
- In build details, a repair was labelled “Installing” although the build was already installed
- In profile appearance, the banner settings reset button had no icon — there was an empty space in its place
Stuzhik 0.0.16
55252
- Both sides need to update: a connection with an older version won't be established. Old-format short codes are no longer accepted — issue a new one with the “Change code” button
- For those with server sync set up: the “Invite only” switch now actually works. If it is on and the allowed list is empty, only those who entered an invite code will get the build
- Remembered permissions are now visible in the connection settings and can be revoked. Previously access granted for 30 days could be neither viewed nor removed
- Profile appearance: an animated card background, your own color, an “about me” line and an avatar. Everyone who opens your card sees them
- Under a friend's name you can see what they are playing, and if they are on a server — a “Join” button next to it
- Clicking a person's row opens their card: their builds, groups you share, a note and all actions in one place
- Right-clicking a person opens an action menu — the same as in the card, but without opening it
- SecurityYour persistent identifier no longer goes out to the network. Devices recognize each other by tags that change over time, not by a name that could be used to track you
- SecurityAll communication is encrypted, not just file contents
- “Online” next to a person now means a verified connection. Previously everyone the signal reached got the mark, even if you couldn't connect to them
- SecurityAn invite by short code no longer travels over the network in plain text
- Marks on entries in this list — “IMPORTANT”, “SECURITY”, “BETA” — are now separate colored badges rather than text inside the entry
- The “Friends” section works fully again. In 0.0.15 it was there, but nothing got through the network: devices dropped the connection on the very first message, so neither search, nor build transfers, nor invites worked
- The launcher crashed when working with transfers — on Windows this happened the first time you opened a preview of a friend's build
- On Windows, not a single file transfer went through: every requested file was rejected as unavailable
- From the “Friends” section, no sidebar item worked — “Home”, “Modpacks”, “Builder” and “Mod Collections” opened nothing; the only way out was to settings
- Important“Auto-sync” deleted your files instead of showing them to friends. On every change it pulled the friend's version to your side and erased everything they didn't have — including what you had just added. Now only a “modpack changed” notice goes out, and the files are fetched by whoever needs them, with your confirmation
- ImportantThe backup before a settings sync covered only config. Everything else the sync overwrites — kubejs, journeymap, Xaero waypoints, shaders, options.txt — didn't go into the archive, there was nothing to roll back to, yet the window said “Backup created”
- Settings sync no longer runs while the game is open: previously the changes were overwritten by what the game saved on exit
- SecurityThe file list of your build and the files themselves were handed out to anyone who opened a connection. Your consent was asked only when someone asked politely, and blocking had no effect on this path at all
- Security“Friends only” mode relied on the honor system: it was enough to use your friend's name. Now a signature is checked on connection, and the name can't be faked
- SecurityA blocked person came back to the device list after restarting their launcher and kept receiving your nickname and build list: the block was respected when serving files but not during discovery. Now it works by address and means the same thing everywhere
- SecurityA single click on “Allow” opened up all your builds. Consent was limited to neither the build nor the file list, so anything could be taken afterwards — including server.properties with the server console password
- SecurityThe server sync settings for “what to share and what not” weren't read at all: server.properties, ops.json, ban lists and the world folder went to players along with the build
- SecurityImporting a .stzhk could fill up memory and disk: some size checks were missing in places, and a specially crafted archive was extracted without limit
- The transfer dialog stated the direction backwards. It said “wants to send you” when someone was about to TAKE files from you. Now you can see who is asking and for which build exactly
- Cancelling a transfer didn't stop the download: the files kept downloading to the end, and then yours were erased. It only worked if you paused first
- Errors in the connection section were shown as “Unknown error” — the real cause never got through
- The launcher accumulated memory over a session: every time the section was opened, it left behind an extra event subscription
- Joining by invite code didn't work for anyone except the server owner: the code was checked only on your own machine, so someone else's was never found. Now the code is presented to the owner, who also grants you access
- “Quick Join” downloaded nothing: it looked among your builds for one with a similar version and rewrote its server address. Now the server's build is downloaded, and if you don't have it, it's created
- Nobody could see a published server — the “Publish” button sent nothing. Now it appears to friends as a separate room, even when nobody is playing on it
- Revoking an invite and its expiry didn't work: “Revoke” did nothing, and the chosen expiry — an hour, a day, a week — always meant “never”
- Auto-connect to a server didn't work if the address included a port: the game started at the main menu
- The “Send” and “Receive” settings weren't read: “Denied” denied nothing. Now the restriction applies separately to builds, configs, resource packs and shaders
- “Connection fine” was lit almost always — the mark only meant the ports could be taken, not that other people's packets reach you. There are now three states: ports busy, connection working (someone answered) and “Nobody has answered yet”, and the firewall hint shows where it helps
- In “Invisible” mode, the hint promised that people could find you by code. In fact nobody can find you in this mode at all — the text has been fixed
Stuzhik 0.0.15
9528
- “Friends” is now a full section rather than a cramped little window: friends' rooms on the left, people on the right, transfers at the bottom. Everything you used to dig through tabs for is visible at once
- A room is one card for a server and whoever is playing on it. Previously the server and the friend sat in two different lists, although for you it's always the same thing: “Pete is playing right here”. Two friends on the same server no longer show up twice
- BetaCo-op build: you announce “I'm putting a build together”, and it appears to your friends as a separate room. They see every edit you make in real time, respond with reactions and can take the build with one button
- Your own servers — with invite codes: create, copy, revoke. Previously you could only see the number of invites, and there was nowhere to get the code itself and invite a friend
- The “All transfers” screen: what is downloading right now, what is queued, which friends' builds were updated and what has already been downloaded. Previously this link led to settings
- Your first visit to the section walks you through three steps: name, privacy and invite by code. Privacy comes with a live preview — you see right away how others will see you
- A device can be added by direct address. This is the only way to find a friend on networks where regular local network discovery doesn't work — for example, over Tailscale
- The short code can be changed if it leaked somewhere. Friends already added stay
- A friend's name and note are edited right in the row, and below it you can see which groups the device belongs to
- Security“Friends only” finally works. Previously the mode was no different from “Everyone”: any stranger on the same network saw you in their list, along with your nickname
- File transfer to a friend didn't work at all
- Ghost devices that couldn't be connected to appeared in the list
- A device added by code disappeared from the list after half a minute
- Invites worked only every other time
- A friend's builds didn't load — the list just stayed empty
- Manual connection is possible again: the fields for the short code, invite code and direct address had disappeared along with the old connection window
- The connection panel no longer alarms you with warnings when the connection is fine
- The short code hint on first entry was misleading
- The launcher could freeze completely in the connection section — during a co-op build and while checking friends for updates
- Saving any connection setting froze the whole section until the current transfer finished
- Transfer history, device groups, invites and server sync settings were lost entirely if the computer shut down while they were being written
- ImportantChanging a build's version could wipe worlds. Not enough disk space, missing permissions or a file in use — and the saves vanished, leaving a single line in the log. Now, if copying fails, the version change simply doesn't start, and an interrupted version change restores the saves on the next launch
- ImportantRestoring from a backup went straight over the build: nobody checked whether the game was running, and a failure midway left the build half old, half new. Now the archive is unpacked separately and swapped in only as a whole
- ImportantCancelling the download of a single file with ✕ deleted the whole build. Now such a mod is simply marked as failed, and the installation continues
- After a build's version change, the backup list showed entries that were no longer on disk
- Cancelling a build installation didn't stop the download: the disk kept filling up for several more minutes, and a folder was left where the cancelled build had been
- Installing from a .stzhk file couldn't be cancelled at all — the window hung until the very end, and the cancelled build kept downloading
- Cancelling a paused transfer left it hanging forever
- Deleting a build didn't stop its repair — the repair kept creating files of the already deleted build
- SecurityA highly compressed archive could fill the entire disk when installing a build
- SecurityA .stzhk file sent by a friend could bring the launcher down by exhausting memory as early as the preview
- The launcher window popped up over a second running game
- Video and sound settings overwrote each other when two games were open at once
- Server monitoring didn't collect metrics — the charts stayed empty
- The English interface had some Russian buttons, the Russian one had an English “Browse”, and the launcher folder picker had no title at all
- Tab stopped twice on the same dropdown
- A VPN card could be copied with the mouse but not with the keyboard
- Screen readers now name 64 switches and sliders that used to be read as just “switch” — including the delete and edit buttons for groups
- The “Friends” section and the transfers screen follow the “Interface → Shape and color” setting — previously their colors were hardcoded
- An expanded room shows exactly how your build differs from your friend's
- Checking friends for updates no longer recomputes all your builds every five minutes when notifications are off
- The export preview no longer reads hundreds of build files into memory at once
Stuzhik 0.0.14
729
- ExperimentalA “Security” tab for instances — three independent checks: whether each mod is found on Modrinth and CurseForge by its file, what a mod can do based on references in its code (network, launching programs, file access), and whether the computer has traces of known infections. Nothing is blocked or deleted, and no “safe” verdict is given — the facts are shown, the decision is yours
- The security check runs by itself — when an instance is first opened and after new mods are installed; the button remains for re-checking. The result is saved, so the tab opens with a ready report right away, and already analyzed mods aren't analyzed again, even in another instance
- Custom commands around game launch: a pre-launch command, a wrapper command, a post-exit command and your own environment variables — globally and with per-instance overrides. Like in MultiMC and Prism. The commands are not included in any export format and are not sent to friends over the network — they are only copied between your own instances
- Build export to CurseForge format — previously there were only .stzhk, .mrpack and a plain zip. Mods not installed from CurseForge are matched to their pages there where possible, so they don't go into overrides as whole files
- Several accounts at once with quick switching — previously there was one sign-in for the whole launcher, and a second one overwrote the first
- Datapacks — a separate tab with world selection. Datapacks live inside a world, so the world is picked right in the header rather than in filters; the tab is available for both vanilla builds and servers
- A “+” tile in a group section on Home creates a build right in that group, no need to drag the card afterwards. Also works in the “Ungrouped” section
- Instances open noticeably faster: tab counters are computed in one go, the mod list doesn't re-read the folder a second time, and scanning the resources folder no longer makes a separate request per file
- After installing or updating a mod, only that mod is refreshed rather than the whole list — large builds no longer freeze after every install
- Some icons in the interface weren't drawn at all, and some blocks had a white border instead of a colored one — 236 styling rules didn't make it into the compiled app
- In the server and client console, selected text “jumped” to the next line: you select a line, a new one arrives — and the wrong one gets copied. The console also stopped redrawing the whole window for every line, and a stream of hundreds of lines at server start no longer freezes the interface
- The “Element shape” appearance setting only half worked — the sidebar and the details and settings navigation kept their own corner rounding
- The account row in the sidebar was narrower than the navigation items
- Tutorial hints slid off the edge of the window and were cut off
- A pinned dependency version was treated as a problem if the installed version was newer than the pinned one
- Log analysis parsed very old logs on a par with the latest launch, re-parsed them every time and drew a white border on problem cards instead of a red one
- Friends in Stuzhik Connect were lost after a launcher restart — the device got a new identifier every time. Discovery settings now apply immediately, not only after a restart
- The developer console mounted twice when opened and left a background log reader behind
Stuzhik 0.0.13
201924
- Sign-in with a Microsoft account — full sign-in with Xbox Live and a Minecraft: Java Edition license check. Previously choosing the account type in settings did nothing
- Sign-in with Ely.by — login, password and two-factor code; authlib-injector is downloaded and set up automatically
- Support for Minecraft 1.6.4–1.7.x — a virtual asset tree and extraction of LWJGL native libraries, without which the game wouldn't start
- Support for Minecraft 1.5.2 and older (Alpha, Beta, early releases) — assets are laid out in the resources folder inside the instance, as these versions expect
- Forge support for versions before 1.13, including 1.7.10 — installed without running the installer, which on these versions requires a graphical window and has no console mode
- Protection against the Log4Shell vulnerability for versions 1.7–1.16.5 — official Mojang patches are downloaded and applied automatically at launch
- Changing the loader on a server instance — Forge, NeoForge, Fabric and Quilt, with cleanup of the previous loader's files; worlds, mods, configs and player lists are left untouched
- A “Modpack” tab for instances installed from a modpack — checking for new versions, the full list of changes before updating, in-place update, installing another version as a separate instance and comparing with other instances of the same modpack
- When updating a modpack, it's shown separately which mods the user added themselves (left alone) and which modpack files they changed manually (will be overwritten)
- Mod collections: automatic detection of the game versions and loaders supported by all mods in the collection at once
- Mod collections: compatibility details — which mod blocks which version, known incompatibilities between the collection's mods and their dependencies
- Mod collections: a dependency preview when adding a mod from the catalog and a removal dialog that breaks down the links within the collection
- Preview of automatic dependency resolution — what exactly will be installed, for which mods and what is blocked by a conflict, with a jump to any mod's card
- A catalog of all auto-fix types in the log analyzer, with the option to disable a specific type globally
- A “Not a problem” mark for dependency conflicts — kept between launches; hidden conflicts can be brought back
- Named settings sync rules — your own path patterns on top of the built-in knowledge base
- Preview of a friend's modpack contents — the actual mod list with icons and versions before downloading
- Instance groups are now always-visible sections with card drag-and-drop instead of a filter showing one group at a time
- An “Open logs folder” button and picking a specific log file right in the log analyzer
- Checking a mod file by hash and manually marking client mods on a server instance
- The app no longer freezes when accessing the database
- Instance cards are no longer recreated when the status changes — icons don't reload, hover state isn't reset
- The dependencies panel explains what it shows and what to do about each type of problem; the graph got a legend of link types
- Quick actions in conflicts: “Install the required version” for pinned dependencies and “Disable mod” for incompatible ones
- Clicking anywhere on a mod row opens its card, not just clicking the name
- Mod icons and versions in the removal and removal analysis dialogs; a uniform “icon + mod name” look in all lists
- Resources and shaders: a list/catalog switch on the left, like in the mods tab, with the count in the header
- Resource packs and shaders added to the folder manually automatically get their real name, version, description and icon
- Instance memory follows the global settings unless set explicitly — like the player name and JVM arguments
- A port-in-use check before starting a server — a clear error instead of an instant “crash” a few seconds later
- Stuzhik Connect settings (concurrent transfer limit, build update notifications) survive a launcher restart
- File transfers between friends interrupted by a crash resume on the next launch
- “Helped / didn't help” answers on solutions found online are saved and loaded again when the problem is reopened
- Confirmation before an auto-fix and a result notification that is visible regardless of how the problem list is scrolled
- A dependency installation can be rolled back with one click right after it completes
- A dialog opened over another one now always ends up on top
- Old error reports are cleaned up automatically at startup — the folder no longer grows forever
- When changing a server's loader, the full list of Forge and NeoForge versions is available, not just the latest
- Performance analysis in logs is noticeably faster on large files
- The launch button didn't change state: after clicking it stayed “Start” and active until the game actually started
- NeoForge 20.5 and newer mods weren't recognized anywhere — the platform renamed the mod descriptor file, and the launcher couldn't find it
- An endless install-and-remove loop when a required dependency is incompatible with an already installed mod
- The trigger label was missing on all automatic backups — only “Manual” was shown
- Mod names in crash log analysis turned into fragments like “-1” or “uleLayer”
- Wrong word form in relative time in Russian: «6 дня назад» instead of «6 дней назад»
- Pinging a friend almost always timed out — the packet went to the wrong port
- Window control buttons became unreachable in a narrow window — the title bar was cut off
- Search in the file viewer didn't find files outside the open folder
- Release dates in the changelog showed a made-up day of the month
- “Known conflicts” in a mod card looked like the mod conflicting with itself — now the reason is shown and you can open the other mod
- An “unknown special query” error when opening the Recipe Builder without a search query
- Untranslated English text in dependency conflict descriptions
- Error messages weren't shown when Modrinth or CurseForge was unavailable — the button simply did nothing
- A NeoForge server could fail to start — the loader was detected as regular Forge
- Replay protection in file transfers between friends let the very first message of a session through
- Several places where a file name from a platform response or an archive was inserted into a path without checking
- The “Removal Analysis” dialog opened pressed into a corner of the screen and showed “1 mods”
- File list rows ran together: path, size and time overlapped
- Error reports were removed only from the window; the files on disk stayed forever
- App crash on specially crafted data from a platform or another user
- Instance installation steps didn't advance — the indicator showed “Java” as active throughout the installation, although the line below it was already reporting loader work
- Overlapping text in the server and client console when the game writes long lines one after another
- The “Mods” tab showed the “no mods” block twice
Stuzhik 0.0.12
6749
- Before installing a mod from the catalog — a preview of which other mods will be installed automatically (required dependencies) and which can be added if you like (optional), with a warning about incompatibility with mods already installed
- When removing a mod — a warning about which other mods will break or lose features, and optional cleanup of the removed mod's own orphaned dependencies
- Detection of conflicts with specific versions of mod dependencies, not just version ranges
- “Keep original” when converting a client to a server — a separate copy is created instead of irreversibly changing the original instance
- Preview of modpack sync with a friend — how many files will be downloaded and deleted, without an actual transfer
- Quick version bump (+Patch/+Minor/+Major) when exporting a modpack
- Instance groups are stored in the database rather than in localStorage — they survive a launcher reinstall
- Mod checks after a folder sync cover only the changed mods rather than all of them at once — noticeably faster for large builds
- A custom Java path in settings is validated right when it's added, not only when it's used
- A hint about what exactly the automatic firewall setup will do is shown before you press the button
- TPS in the server console is more accurate and has no warm-up delay — it's queried directly via RCON
- The “Dependencies” tab in a mod card updates when you pick another version in the version list
- The settings sync dialog shows a preview of the contents by category right after you choose the source instance
- Dropdowns appeared offset for a moment when opening and “jumped” into place
- Server and client console lines overlapped each other during a stream of logs
- The resource and shader count badge didn't update on removal, only when you re-entered the instance
- The sidebar could stay expanded when navigating via the ⌘K palette or a tutorial step rather than by clicking the sidebar itself
- The interface could briefly freeze when opening the “Installed” tab in Resources and Shaders, during backups, in the log analyzer, when importing from other launchers and during operations on instance files
- The “Play” button in Quick Play didn't show launch status — it looked like nothing was happening
- Duplicate resource pack and shader entries when scanning the folder — each showed up twice in the list
- A WebView memory leak when switching animated backgrounds or in interface settings
- The mod version list and update suggestions sometimes showed a file name instead of the version number; updating some mods failed with an error
- A mod's publish and update dates in the catalog and the mod card were always empty
- The mod auto-update setting had no effect — new mods from the catalog always got auto-update regardless of it
- CurseForge catalog pagination didn't go past the first page
- Bulk mod removal didn't check dependent mods after removal, unlike removing a single mod
- The banner about known mod conflicts (e.g., OptiFine and Iris) wasn't shown on the mod card
- Launching with a missing required mod dependency reported nothing — the crash happened inside the game with no explanation
- Minimum memory (-Xms) for server instances was ignored at launch — only the maximum was used
- The “Apply fix” button (increase memory) in the Performance panel didn't work
- Automatic switching to ZGC on newer Java was disabled if a specific Java path was chosen in the instance settings instead of “Automatic”
- A freshly created server instance with the Vanilla, Fabric or Quilt loader couldn't find its JAR at launch
- The run.bat and run.sh scripts from the Forge and NeoForge installers lacked nogui — starting the server manually opened an extra window
- Importing a NeoForge instance from another launcher detected the loader as regular Forge
- A patch dragged into the launcher window was handled as a modpack — patches now have their own extension, and dragging the file in opens the apply-patch dialog
- A patch created from a modpack comparison didn't include config changes
- A mod's side and whether it is required couldn't be edited in the modpack editor — only viewed
- Optional mod groups (mutually exclusive choice) weren't shown in the modpack editor
- Importing an existing .mrpack archive as a new modpack editor project — there was no button
- The order of mods in a modpack editor project couldn't be changed
- Checking an instance's files against the manifest of the original .stzhk it was installed from — wasn't in the interface
- The history of patches already applied to an instance wasn't shown
- Test-launching a modpack right from the editor — there was no button
- You couldn't ban a player or an IP address — only unban and kick
- The Spark profiler buttons always failed with an error, even while the server was running
- Server metrics (CPU, memory, TPS in the console) were never collected
- Links to past Spark reports could only be found in the in-game chat
- Manually checking client mods on a server instance — wasn't in the interface
- The “Import” button in the log analyzer didn't work
- Searching online for solutions to a problem found in the log analyzer — there was no button
- Picking a specific instance log file for analysis — only via the system file picker
- Deleting an error report removed it only from memory — the file on disk stayed forever
- The network and firewall diagnostics panel had disappeared from Stuzhik Connect
- The automatic firewall setup button configured nothing — it only opened the OS settings for manual setup
- The reverse server → client conversion wasn't in the context menu
- Importing from a launcher installed in a non-standard folder — you couldn't specify the path manually
- You couldn't add a peer's modpack to the Stuzhik Connect transfer queue, change the priority of a pending item or clear the whole queue
- Selective sync (e.g., only mods without resource packs) had no effect on the actual file transfer, even when turned on
- Friend ping, groups on a friend's card and the update-watching status weren't in the interface
- Protection against path spoofing when installing mods with a forged file name and when restoring instance backups
- News content is now safely sanitized before display, like the rest of the text in the app
- Parts of the interface stayed in Russian when another language was selected
Stuzhik 0.0.11
10624
- Watch Mode — automatic sync with a friend when build files change (a new “Watch Mode” tab in Stuzhik Connect)
- The P2P transfer speed limit can be set in the interface
- Friend groups, editing a friend's nickname and notes about them
- RCON: Kick and Say buttons right in the server console, a list of online players
- Duplicate an instance with one click
- Checking and restoring the integrity of instance files
- Resource packs and shaders caught up with the mod list in features — update checks, bulk actions, export
- Download mirror management in settings
- Spark profiler buttons right in the interface instead of instructions in chat
- Highlighting of the launcher's own news tab and a badge when there's something new
- RCON moderation (whitelist/ban/op) applies immediately to a running server, not only after a restart
- Trust between friends now syncs correctly
- Protection against path spoofing when receiving files from a friend
- The integrity manifest updates itself after regular actions with mods and configs, not only manually
- Additional context menu items for instances; right-click on a profile tab
- Faster resource checks; duplicating an instance no longer leaves a partial copy on error
- Launching on Windows failed with an error when the user name contained Cyrillic characters
- Running two instances of the same Minecraft version at once caused an instant crash
- The launcher's first start could end with a database error
- The server port set when creating an instance wasn't applied
- Converting a client to a server didn't install the server JAR
- Inviting a friend to a server failed with a “P2P not initialized” error, even when P2P was working
- The button for syncing a modpack with a friend in Stuzhik Connect did nothing — no files were transferred
- The transfer “History” and “Queue” sections in Stuzhik Connect were in the interface but always stayed empty
- Notifications about a friend's modpack update were in the interface (badge, list) but never arrived
- Memory slider — wrong value step
- The sidebar got stuck open
- Mod version card — a crash and a wrong “installed” status
- The Play/Stop button got stuck if stopping the instance failed
- Crash analysis was duplicated; crash history wasn't always recorded
- False warnings about missing fabric-api
- A mod's icon disappeared after installing, updating or changing its version
- Resource packs and shaders couldn't be reused across instances
- Automatic dependency lookup always went to Modrinth, even for CurseForge mods
- Selective modpack import ignored excluded mods and overrides
- Status indicators (dots) were invisible; crashes caused by Sinytra Connector are detected more accurately
- The download speed limit from settings wasn't applied
- Errors during simultaneous bulk checking and updating of mod data
- Download mirror settings — migration of old shared names, independent toggling
- Switching mod versions, false conflict and update warnings, unreadable error texts when installing mods
Stuzhik 0.0.10
1083
- An entirely new interface — sidebar, command palette (Ctrl+K), build cards, a unified style for all screens
- Stuzhik Connect — direct transfer of builds and modpacks to friends without servers, with resuming of interrupted transfers and VPN tips
- Mod collections — sets of mods not tied to a version, applied to any instance with one button
- Modpacks — a revamped catalog with Modrinth-style filters, rich .stzhk export/import with an icon and a gallery
- A mod card with details and versions, a dependency graph — conflicts between mods are found and resolved automatically
- A wishlist (♥) on mod and modpack cards
- Height map — a new animated background
- Viewing screenshots and images with zoom (mouse wheel, double click)
- Restart an instance with one button
- JVM: automatic switch to ZGC on modern Java (fewer freezes), ready-made flag sets, custom parameters for a specific Minecraft version
- Mod lists, the console and editor files don't lag even with large modpacks and long logs
- Installing, updating and scanning mods is noticeably faster
- Mod downloads run in more parallel threads
- A mod's actual file size is now shown in the list
- Client mod detection when converting to a server is more accurate
- Automatic protection against the known Log4j vulnerability for old Minecraft versions
- Improved game launch security
- The remaining parts of the interface are translated; icon buttons now have labels for screen readers
- A mod's version sometimes showed “unknown” even though the version was visible in the mod details — it is now taken from several sources, including already installed mods
- Minecraft versions like 1.21.1 and 1.21.11 were sometimes mixed up
- Closing the launcher could kill a still-running Minecraft
Stuzhik 0.0.8
897
- The start of the interface redesign — desktop-app style, full use of the screen space
- News panel — the latest Minecraft, NeoForge and Fabric updates right in the launcher, with a details modal
- Instance cards — vertical tiles with loader gradients and a breathing glow for running ones
- Custom instance image — set your own picture for the card via the side panel
- World sync — copying saves between instances
- Quick Play — version search, snapshot/beta/alpha filters, loader icons
- Icon size setting — a 70%–150% slider in interface settings
- Support for Minecraft 25.x and 26.x — automatic detection of the Java version from the version JSON
- Discord-style settings — a full-screen overlay with a sidebar
- Instance details — a side panel instead of tabs, every section one click away
- Modpack browser — opens as a content panel, not a modal
- Loader version checks sped up from 5 minutes to ~10 seconds
- An extra mirror for NeoForge — downloads work when the main source is unavailable
- GPU load of the MagneticField background reduced by 64%
- The context menu widens to fit its content and doesn't clip icons
- Select component — Dropdown-like style, loader icons, built-in search
- Tooltips hide on scroll and don't get stuck when an element is removed
- Fixed: [object Object] instead of error messages
- Fixed: Quick Play created a duplicate when an instance was renamed
- Fixed: mods got stuck in “resume” status because of undeleted .part files
- Fixed: duplicate launcher imports
- Fixed: ESC didn't close settings and instance details
- Fixed: mods visually overlapped each other in the list
- Fixed: memory leaks with a heavy log stream
Stuzhik 0.0.7
788
- Game settings sync between instances — video, sound, controls and chat sync automatically
- “Client” / “Server” badges on mods — you can see at a glance whether a mod is for the client or the server
- Client → server conversion: client mods are disabled automatically when creating a server instance
- Export the mod list to a file
- A separate “Account” tab in settings
- You can now copy text: mod names, descriptions, errors and other content
- Mod search with regular expressions (regex)
- More reliable downloads: automatic retries, smart mirror selection
- Download mirrors are now sorted by speed automatically
- Mod dependencies now show proper names and icons
- Java installation works the same way for all loaders
- Reworked the source code viewer: removed a non-working tab, fixed the layout
- Updated navigation in the documentation
- Settings are now validated when saved
- Improved data saving reliability
- Fixed: CurseForge mods sometimes failed to download due to request rate limits
- Fixed NeoForge download
- Fixed mod integrity checking when downloading from CurseForge
- Fixed downloads hanging on a slow connection
- Fixed: CurseForge and local mod names were shown as IDs instead of names
- Fixed: Modrinth and CurseForge platform colors weren't shown on mods
- Fixed: tooltips got stuck after minimizing and restoring the app
- Numerous download and interface stability fixes
Stuzhik 0.0.6
858
- Theme system: light/dark theme, creating custom themes, accent colors (8 presets + generation from any color)
- Shape: corner radius, spacing and blur settings for the whole interface (4 presets + custom ones)
- Custom languages: create, import/export (.json), delete, choose a base language
- Onboarding Tour: an interactive guide for new users with element highlighting
- UIKit: a catalog of all components with search (Ctrl+Shift+U)
- Grouped tabs in instance details: 5 main tabs instead of 10 flat ones
- Interactive UI for mod install errors in a modpack: choose an action for each mod
- Modrinth priority: a source switch and duplicate prevention on import
- Reworked settings UI: side navigation, a two-level context menu, efficient use of space
- Accent color via CSS variables — now changed with a single setting
- Modals: frosted blur instead of a darkened background
- Full interface localization
- Improved download stability: reliable retry for the CurseForge CDN, automatic recovery after connection drops
- Fixed: the mod list was empty after installing a modpack until a manual scan
- Fixed: downloads hung in the UI, cancelling one cancelled all, removed downloads reappeared
- Fixed: progress got stuck at “Forge 29/29” while downloading mods
- Fixed: Windows console window flashing when starting processes
- Fixed: the console tab opened when navigating between instances
- Fixed: leaks when cancelling an installation, errors during parallel downloads
- Fixed: a crash when a custom language was used in date formatting
- Numerous stability fixes for background operations
Stuzhik 0.0.5
632
- Launch tracking system: automatic before/after-play snapshots for rolling back changes
- Launch history: view the changes from each play session
- Changelog Aggregator: view the changes of all updated mods in one place
- “Open in VS Code” and “Open in editor” buttons for configs
- Optional Mods UI: choosing optional mods when importing .stzhk modpacks
- JsonMerge patches (RFC 7396) for smart config merging
- Full localization: 15+ components translated into Russian and English
- Improved accessibility: aria-labels for screen readers
- Improved snapshot history UI: human-readable dates, arrow-key navigation
- Fixed an issue with opening .stzhk files from the OS
- Fixed the structure of Select dropdowns
Stuzhik 0.0.4
1333
- Import from other launchers: Modrinth App, Prism Launcher, MultiMC, CurseForge App
- .stzhk file association in the OS
- Dependency graph: shows links between mods and conflicts; nodes can be dragged and pinned
- Mod update checks via Modrinth and CurseForge
- Selective update: update only the mods you need
- Mod verification: the launcher determines where each mod was downloaded from
- Status indicators: verified (green), modified (orange), local (gray)
- Mods folder sync: add a .jar and it shows up in the list right away
- A progress bar while checking mods
- Filters: by verification status, by available updates, search (Ctrl+F)
- A “Show in folder” button for quick access to a mod's file
- Clicking a mod opens its page on Modrinth or CurseForge
- Update checks take seconds instead of minutes
- Repeated mod checks are instant thanks to caching
- Keyboard navigation in dropdowns
- Fixed mod name display (the version was shown instead of the name)
- Fixed interface jitter when dragging mods
- Fixed a security vulnerability
- ExperimentalVisual recipe builder
Stuzhik 0.0.3
1221
- Drag & Drop for quick mod installation (dragging .jar files)
- Mod profile system: saving and quickly switching configurations
- Bulk operations: multi-select and group actions on mods
- Client-side mod detection for servers (auto-disable via the Modrinth/CurseForge API)
- Added in-app documentation
- Added protection against closing during active operations
- Server console with RCON support and real-time logs
- Import of existing servers with loader auto-detection
- A GUI editor for server.properties with setting categories
- Improved UI: native select replaced with the UI Kit Select
- Improved performance and fixed memory leaks
- Fixed UI bugs: overlapping text in the editor, wrong icons
- ExperimentalP2P sync of server modpacks with players
- ExperimentalStuzhik Connect (P2P modpack sync)
- ExperimentalServer invite system (Quick Join) with STUZHIK-XXXX codes
Stuzhik 0.0.2
41
- Added support for CurseForge and Modrinth modpacks
- Added an instance backup system
- Improved the mod management interface
- Added mod compatibility checking
- Added automatic dependency resolution
Stuzhik 0.0.1
5
- First Stuzhik release
- Basic instance management
- Installing Forge, Fabric, NeoForge, Quilt
- Searching for and installing mods
- Automatic Java installation