Atualizações do Zelie

Cada versão do Zelie, da mais nova para a mais antiga, direto das notas de versão. O próprio Zelie as instala: com um clique ou na rodada noturna.

Acompanhe em um leitor de feeds

  1. v0.19.0

    Network groups, private game servers and a Minecraft network helper

    • Network groups
    • An administrator can put web apps and game servers in a named network group, from the server's Network page or the app's Settings. Members reach each other on every port, TCP and UDP, by name: a server called hub is hub inside the group. Everything outside the group stays closed, as before.
    • Joining or leaving applies at once; nothing restarts. Open connections to former members end when an app leaves.
    • The Network page lists the other members, whether they run, and the address the others use, such as hub:25565.
    • Host database access stays per app: being in a group does not open the host's port 3306 to the other members.
    • Game servers without a public port
    • A new game server can be made with no public port. It takes no port from the pool and players cannot reach it directly; servers in its network group can. Existing servers can switch either way from the Network page while stopped.
    • Minecraft network
    • A Velocity proxy can manage the Paper and Purpur servers in its group. At each start Zelie turns on modern forwarding, lists the servers in velocity.toml, drops forced hosts that name servers that are gone, and gives every server the same forwarding secret. A server turns online mode off only in the same start that turns Velocity forwarding on.
    • A server that has never started gets these settings after its second start, once it has made its own config files.
    • The secret is never shown. It is replaced when a server is dropped, or when an administrator asks for a new one.
    • Locked services
    • A service over the license limit is now read-only everywhere: player and ban changes, console and scheduled commands, SFTP passwords and dependency settings are refused, and SFTP to it is read-only. Bans and mutes that expire are still lifted.
    • Fixes
    • Outbound downloads no longer go through an environment proxy and refuse more private and transition address ranges.
    • Ban and list edits on a stopped server can no longer race with it starting.
    • Combat-heavy servers no longer crowd out joins and chat in the player log, and a slow player list no longer opens a second session.
    • A player whose name says "not found" no longer hides the Oxide screen.
  2. v0.18.1

    Go 1.27.4, and player tools that need console rights

    • Zelie is now built with Go 1.27.4, a patch release with security fixes.
    • Some player tools are now behind the console permission:
    • Making someone a Rust owner or moderator, or a Minecraft operator. A sub-user with the ban permission alone could make themselves one.
    • Changing Oxide groups and plugin permissions.
    • Giving items, teleporting, healing and killing.
    • The console can do all of these, so they need what the console needs. Whitelists, bans and messages work as before.
    • Fixes:
    • A mute or Oxide change on a server without the plugin used to count as done. The panel now says the plugin is missing.
    • One database error no longer stops timed bans, mutes and grants from being lifted.
    • Some Rust kills were recorded under the wrong player, or as deaths with no killer.
    • Dynamic slots change only after two minutes in the same direction, so the player limit no longer swings back and forth.
  3. v0.18.0

    Minecraft and Rust access lists and offline bans

    • Minecraft and Rust servers can now manage operators, admins, whitelists, and player or IP bans directly from the Players page whether the server is running or stopped.
    • Minecraft servers gain a Permissions tab for turning the whitelist on or off, adding or removing whitelisted players, and managing operators in ops.json. When the server is stopped, operator level and player-limit bypass can be chosen directly, with UUIDs resolved through Mojang or generated as offline UUIDs when online-mode is off.
    • Rust servers gain a Server admins section at the top of Permissions for owners and moderators in users.cfg, working through WebRCON while running and writing users.cfg directly while stopped.
    • The Bans tab merges bans from banned-players.json and bans.cfg with Zelie's own ban list, adds a form to ban players by username or SteamID64 even when the server is stopped, and manages Minecraft IP bans in banned-ips.json.
  4. v0.17.0

    Rust RCON tools, Oxide management, and dynamic slots

    • Rust servers now have an RCON tab with live server metrics, Oxide and Carbon plugin and group controls, combat and report logs, and automatic slot scaling.
    • The RCON bar shows live FPS, entities, queue, joining count and map name, and each online player row shows health alongside ping and connected time.
    • Players can be messaged directly, teleported to another player or to coordinates, given items, healed, killed, or muted with an optional timer that lifts on its own.
    • Combat kills, deaths, suicides and F7 player reports are recorded from the server stream and shown in the Reports tab and in each player's profile, with a 30-day retention window.
    • The Permissions tab manages Oxide and Carbon groups, permissions and plugins: grant or revoke permissions, add players to a group permanently or with a timer, reload or unload plugins, and open a plugin's JSON config directly in the form editor.
    • Dynamic slots in Settings can raise and lower server.maxplayers automatically from online count, queue size and server FPS.
    • Updates github.com/klauspost/compress to v1.20.2 to fix a panic on malformed zstd frames.
  5. v0.16.3

    BuildKit 0.34.2 for app builds

    • Builds now run BuildKit 0.34.2, which fixes two security issues.
    • A client of BuildKit's control API could set extended attributes on files outside its state directory. Zelie is the only client of each app's BuildKit, so a Dockerfile cannot reach this.
    • A build that resolves the same Git source twice could crash the daemon. A Dockerfile can trigger this, but each app builds with a BuildKit of its own, so only that build fails.
    • The new builder image is fetched with the next build. Nothing else changes.
  6. v0.16.2

    A recovery file download that works in every browser

    • Saving the recovery file opens two steps: a download link you click yourself, then "I have stored it". Brave blocked the old download, which started on its own after the second step.
    • The panel shows the file as saved only once you say you have stored it, not when the server sends it.
    • The box opens next to the button that asked for it.
  7. v0.16.1

    Sub-users who can do only what they were given

    • A sub-user's access now follows the whole account tree, the panel shows each one only what they may use, and every change they make is in the activity log.
    • An account gets what its own access and the access of every account above it have in common. Turning an account off also turns off and signs out the accounts it invited.
    • Linking a database to an app needs access to that database too.
    • A schedule's tasks need the permissions they use, when saved and each time they run. A run is skipped, with the reason, if its author lost them.
    • Changing an app's repository or branch is the owner's. The image and the start, build and test commands need the Image and commands permission. Resources, storage limits, ports and domains stay with the owner.
    • Without the Variables permission, variable values are withheld.
    • SFTP is read-only without the Change files permission, and the console checks access on every command.
    • Every change on a service is in the activity log with who made it, also after that account is deleted.
    • Tabs and buttons a sub-user cannot use are hidden or disabled with the permission they need.
    • The permission editor shows what each template holds and explains every permission. Choose the services first when inviting.
    • The invite page lists services by name with what each permission allows, and asks you to sign out first if you are signed in.
  8. v0.15.1

    Where a Cloudflare tunnel points

    • Behind a Cloudflare Tunnel, Settings, under General, shows the address the tunnel points to, with a copy button. The panel's hostname and every app domain go to that address.
    • A new app with a domain shows the same address under the domain field.
    • Errors that said "see the core log" now name the command: journalctl -u zelie-core.
    • The install guide covers a tunnel pointed at the wrong port, and where the logs are.
  9. v0.15.0

    Accounts for other people, each with its own reach

    • Zelie is no longer one account. Invite someone with a link, choose what they may do on each service, and they sign in with their own password and second step.
    • Every service can be given out separately: watching, the console, power, files, backups, deploys and more can be picked one by one, or started from viewer, moderator or administrator.
    • Nobody can hand out more than they hold themselves, and a service someone was not given is not in their list, in search, or at its address.
    • The node's own work stays with its owners: the license, updates, ports and keys are never part of a grant.
    • Turning an account off signs it out everywhere at once, its console and SFTP keys included.
    • Settings has a Users page with the account tree, the invites still waiting, and what each account did.
  10. v0.14.0

    Build memory you can set, and a lighter first load

    • An app's build can be given more memory than the default 2 GB, in Settings under Commands. It is separate from the memory the app itself runs with, so a large build that ran out of memory does not need a larger app.
    • Pasting or importing a .env file spots secrets by their values too. A password inside a database URL, a token or a signed key is stored sealed even when its name gives nothing away, and a name set twice keeps one row.
    • The panel's own files are served compressed, so a first load moves about a third of the bytes it did.
  11. v0.13.1

    The save bar stays in view, and a wider Startup page

    • On a server's pages the save bar now stays just below the header while you scroll. Before, it slid under the header and you had to scroll back up to save.
    • On wide screens Startup shows the command and the image side by side, and the variables in two columns.
  12. v0.13.0

    Config forms, log filters, and schedule templates

    • Common jobs take fewer steps, and long lists are easier to search.
    • server.properties (Minecraft) and server.cfg (Rust) open as a form with the usual settings. Settings that appear on more than one line stay in the text view.
    • Logs can be filtered to warnings, searched, and downloaded. Warnings and errors are coloured.
    • New schedules can start from a template: a nightly restart that warns players first, a backup every 6 hours, or an hourly world save.
    • An app's .env file can be imported in the browser. Nothing is sent until you save.
    • Files, players, bans, tables and startup variables have a filter. File columns can be sorted.
    • Database details, table rows and the backup recovery command have copy buttons.
    • The Appearance page shows a live preview of your theme and accent.
    • The player menu in the console stays open while new lines arrive.
  13. v0.12.0

    A new home page, Ctrl+K, and console tools

    • The home page now shows the machine at a glance and gets you anywhere faster.
    • The home page shows disk space, the memory set aside for services, CPU cores and the Zelie version. Services can be filtered by kind or by name, and pinned ones stay on top, here and in the side menu.
    • Press Ctrl+K (Cmd+K on a Mac) on any page to jump to a service or one of its tabs, start a new one, open a settings section or switch theme.
    • The game console can show only chat, warnings, player events or commands, search its lines and download them. Players online are listed next to it, and quick commands sit underneath.
    • Pins belong to your account and quick commands to the game server, so they are the same on every device and for every administrator.
    • When the license service refuses a link because the account's owner already has a Free server, or the server is linked on another account, Settings says so instead of a generic error.
  14. v0.11.0

    Free limits are enforced

    • The plan's limits now hold. A Free server runs up to 3 game servers, 3 apps and 3 databases; Pro and Business have no limit.
    • The core checks the limit, so it holds whichever way a service is created or started. The New buttons show how many are in use and explain when a kind is full.
    • A server that has more than its license allows deletes nothing. The ones you keep active work as before. The rest are read-only: one that is running keeps running, but it cannot be started again, changed or updated, and its files cannot be written. Backups still work, and deleting one makes room.
    • Choose which stay active in Settings, under License. If you choose nothing, the oldest stay active.
    • Back on a plan with no limit, nothing is read-only.
  15. v0.10.0

    Link a server to your Caria Core account

    • Settings, under License, can now link this server to a Caria Core account. Press Link, open the page it shows and enter the code there.
    • A linked server renews its license once a day and downloads updates with it. Its old download key is retired when it links.
    • A license holds for a week without a renewal, so a short outage changes nothing. Without a valid license the server runs as Free, and everything already running keeps running.
    • The page shows the plan's limits. This version does not enforce them.
    • A server installed from a Caria Core account links itself during setup.
    • Disconnect, on the same page, ends the link.
    • A server that is not linked keeps updating with its download key.
  16. v0.9.5

    Settings in one place

    • Server, Backups, GitHub and your account are now sections of one Settings page: General, License, Updates, Backups, GitHub and Game servers for this server, and Appearance and Security for you.
    • The nightly round has three tabs: the round itself, the last nights, and the Discord summary.
    • The sidebar ends with Settings and a menu under your email, with Appearance, Security and Log out.
    • Old addresses and bookmarks still work and take you to the right section, and so do the GitHub Apps you already made.
    • Checkboxes use your accent colour.
  17. v0.9.4

    New themes and a new logo

    • Five themes, redrawn so their colours belong together: Night, Graphite, Ink, Ash and Paper. Each theme sets its own green, amber and red, its accents and its app and game tiles, instead of the same bright colours on every background.
    • The accent colours are new and share one brightness, so none of them shouts next to the rest.
    • If you used Ocean you are now on Ink, Amber is now Ash, and Forest is gone, so it falls back to Night. Your accent carries over.
    • Memory and CPU in the header are plain text until they get close to their limit, then amber, then red.
    • Colours in the game console match the rest of the panel.
    • A new logo, in one colour, that no longer follows the accent.
  18. v0.9.3

    Bots never run twice, and Steam updates back up first

    • An app without a domain, such as a Discord bot, now stops its old version before the new one starts, so two copies never run at once with the same token. If the new version does not start, the old one comes back.
    • When the nightly round updates a site whose old version has to stop first, the domain moves to the new version as soon as it is healthy, instead of after the minute it has to stay up. Such a site was unreachable for that minute.
    • A Steam update of a running game server takes a backup first, as a reinstall already did. If the backup fails, nothing changes.
    • Smaller fixes
    • An image update that is a new build of the same version says so, instead of "11.8.9 → 11.8.9".
    • The Dependencies card no longer repeats a failed test run three times.
  19. v0.9.2

    Themes, and a header that stays

    • Six themes: Night, Graphite, Ocean, Forest, Amber and Paper. Paper is a soft light theme and replaces the bright white one. Night is the default.
    • Theme, accent colour, density and text size are set under Account > Appearance and saved to your account, so every device looks the same. The default accent is neutral; colour is kept for status.
    • Game server and app pages keep their name, status, address, resources and actions at the top on every tab. The header shrinks to one line when you scroll.
    • Game servers show how long they have been running.
    • Fixes
    • The sidebar list scrolls on its own, so the links at the bottom no longer cover it in short windows.
  20. v0.9.1

    Game servers that restart themselves take newer images

    • A game server that quits on its own with a clean exit, such as Rust after its restart countdown, is now treated as a planned restart rather than a crash. If a newer build of its image is waiting, it starts on that one.
    • A server that exits cleanly over and over, for example one waiting for a license to be accepted, is still given up on after five tries in ten minutes.
    • Fixes
    • Updating Zelie no longer turns SFTP back on when it was turned off.
    • Deployment rows on an app page wrap on narrow screens instead of being cut off.
    • The Dependencies card no longer blinks and closes its settings every few seconds while the app page refreshes.
  21. v0.9.0

    Updates at night, on their own

    • Zelie now makes its own changes in one round at night, 04:30 server time by default, and at no other time. The Server page sets the time.
    • The round installs newer patch releases of Zelie itself, rebuilds apps for Node security releases, and moves images and databases to newer builds of tags that name a version, such as postgres:18. Databases are backed up first. A new minor or major version, or a tag like latest, waits for you.
    • A new version has to stay up for a minute before it replaces the old one. If it does not, the old one keeps running.
    • The round waits while backups, builds or deployments run. It also waits for systemd services you list, such as a backup of the whole machine, and skips the night if something is still running after two hours.
    • Each kind of update can be turned off, and an app can be paused.
    • The Server page lists the last nights. After a night with something to report, Zelie can post one summary to a Discord webhook.
    • Dependency security patches
    • Zelie reads an app's lockfile (npm, pnpm or Yarn 1), looks up advisories, and when a fix exists in the same major version, updates the lockfile without running install scripts.
    • The change goes to a zelie/security branch, is built and tested with the project's own test command, and is merged and deployed. With no test command, a failed test, or the app set to pull requests, it stays a pull request. Extra branches such as staging can be kept in step.
    • This needs a second GitHub App, made from the GitHub page, which can write only to the repositories you install it on. The deploy App stays read-only.
    • The app page shows what was found and what was done.
  22. v0.8.6

    Security fixes in Go and containerd

    • Zelie is now built with Go 1.27.3. Earlier releases were built with 1.27.1, which has since had security fixes in net/http, crypto/tls, crypto/x509 and net/textproto.
    • golang.org/x/net 0.60.0 fixes five HTTP/2 issues.
    • containerd 2.4.2 fixes two ways a crafted image could crash it. runc 1.5.2 and BuildKit 0.34.1 come with it.
    • Updates now bring the container tools too
    • Until now an update replaced only Zelie itself, so containerd, runc, the network plugins and Railpack stayed at the versions a server was first installed with. After an update finishes, Zelie now fetches the versions it pins, checks their checksums and puts them in place.
    • When containerd or runc changed, containerd restarts once, a few minutes after the update. Apps, databases and game servers keep running.
    • On servers installed before this release, the first update downloads the tools once, about 80 MB, to learn what is installed.
  23. v0.8.5

    Node security releases arrive on their own

    • Railpack waits 14 days before it uses a new Node release, and an app nobody pushes to stayed on the old one. Zelie now checks Node's releases once a day. When a security release is out for the line an app builds with, it builds the live commit again on that release. The running deployment keeps serving until the new one passes its health check.
    • The app page shows which Node a build ran on, and why.
    • An app that sets RAILPACK_NODE_VERSION or MISE_NODE_VERSION itself is left alone. The page says when a security release is out for it, with a button that removes the pin.
    • Changing a RAILPACK_ or MISE_ variable now builds the app again, since only a build can use it.
    • Game servers take newer images at their scheduled restart
    • A server keeps the build of its image that it first started on. Zelie now checks once a day whether the tag points at a newer build, and a scheduled restart moves the server to it. Files stay as they are.
    • Without a schedule, the server page offers an Update image button.
    • If the newer build cannot be pulled or started, the server starts on the one it ran before and tries again at the next scheduled restart.
    • Fixes
    • The SFTP port is opened in the machine's firewall, so ufw no longer blocks it. Turning SFTP off closes it again.
    • Containers can no longer reach 169.254.0.0/16, where cloud providers serve instance metadata.
    • The proxy drops the x-middleware-subrequest header before it reaches an app, which older Next.js versions trusted.
    • The panel sends a Permissions-Policy header.
    • Newer Vite and two build dependencies for the panel.
  24. v0.8.4

    A place for the download key

    • The Server page has a Download key field. Zelie tries the key on the release server before it keeps it, and never shows it again.
    • Updates send the key when one is saved. Soon the release server will ask for it; until then, updating works as before.
    • The note under a failed version check no longer mentions GitHub.
  25. v0.8.3

    An update no longer restarts the core over and over

    • When an update changed containerd's service file, the core restarted containerd, and itself with it, at every start, until the update was rolled back. It now does that once. Apps, databases and game servers kept running throughout.
  26. v0.8.2

    Releases come from releases.cariacore.com

    • Zelie now gets its releases from releases.cariacore.com. The Server page checks there for new versions, and updates and new installs download the signed files from it. The signature check is the same as before.
    • To install on a new server:
  27. v0.8.1

    A database on the server, and installing without SFTP

    • An app or game server can now use a MariaDB installed on the server itself. Turn it on in the app's settings. It is off by default, only an administrator can turn it on, and each change is written to the log. Only port 3306 opens, only for that app. Inside the app the server is host.zelie.internal. In MariaDB, create the users for host 10.210.% and give them strong passwords.
    • --no-sftp installs Zelie with SFTP turned off: nothing listens on the SFTP port and no firewall rule is added. Updates and running the install again keep it off. Turn it on or off later on the Server page.
    • The install guide now lists everything the install changes on the server, with steps to remove Zelie that leave Docker, ufw and other software as they are.
    • A network that was freed and made again at once, as happens with builds and Steam checks, could fail to start its DNS server for a moment. It now waits for the old one to let go of the port.
  28. v0.8.0

    A full review, and everything it found fixed

    • We went through the whole panel looking for bugs and weak spots, and fixed all of them. Versions 0.7.12 to 0.7.16 carried the first part; 0.8.0 finishes the work and adds one new limit.
    • Disk and files
    • What an app writes inside its own container now counts against its disk allowance: the limits of its volumes together, and at least 5 GB. An app that goes over is stopped and its page says why. Apps that are already over when this version first checks get a 24-hour warning first.
    • Large files with empty regions, such as game worlds and database files, stay small in backups, clones and compressed archives, and come back as they were. Backups made by this version still open with earlier Zelie versions and with standard tar tools.
    • SFTP keeps file permissions, sizes and times, so scp -p and sftp put -p work, and large folders are listed in full.
    • Container output logs are capped at 64 MB. The console says when older output was cleared.
    • Security
    • Sign-in limits hold even under many requests at once, and someone who knows an administrator's email can no longer keep them locked out.
    • Containers are kept further apart from the host and from each other, and many limits are firmer, so one app cannot slow the server down for the rest or reach what it should not.
    • Archives, uploads and folders are handled within firm limits.
    • Updates and reliability
    • An update keeps a copy of the panel's database and puts it back if the new version does not come up.
    • Background work runs only while there is something to do.
    • Pages stay up when the panel is briefly out of reach, and say what went wrong when something cannot load.
    • Every app builds with its own cache, and restarts or failed deployments bring back the right version.
    • Databases and backups
    • When another program holds a database's outside-access port, the page says so, hides the connection details and offers a free port in one click.
    • A damaged backup is reported instead of being restored, a restore is not cut off by a restart, and schedules stay right when the clocks change.
    • Game servers
    • The Players tab keeps its records right through panel restarts, timed bans are lifted reliably, and the crash doctor ignores what players write in chat.
    • Starting, reinstalling, stopping and copying a server no longer get in each other's way.
  29. v0.7.16

    Players and sign-in

    • Ten wrong passwords for one account no longer lock that account out everywhere, which let anyone who knew an admin's email keep the admin out. The limit now counts per account and address (an IPv6 /64 is one address), so the owner can log in from elsewhere, and the proof of work grows with the account's failures from anywhere.
    • After a panel restart, the Players tab reads on from where it stopped, so joins and leaves printed while the panel was down are recorded and nobody stays online by mistake.
    • Timed bans are lifted even after a passing core error, and banning a player again whose ban has run out is no longer undone.
    • What a game prints cannot grow the panel's database without bound, and a Rust server can no longer redirect the panel's WebRCON request elsewhere.
    • The crash doctor ignores what players write in chat, and still finds why a server failed deep in a long startup log after a panel restart.
    • Minecraft actions use the player's UUID, not a name that may now belong to someone else.
  30. v0.7.15

    Pages that stay up

    • A single failed refresh no longer turns an app or server page into a 404 and closes the open tab. The page stays, says Zelie cannot be reached, and carries on when it answers again. When the session has ended, it goes to the login page, and the console says so instead of reconnecting for ever.
    • The panel, login and account pages say when they could not load and offer to try again, instead of staying blank.
    • Lists no longer break on a repeated name: online players from a Steam query, Redis keys from a scan, a file starred twice, and the players history while it reorders.
    • Steam avatars show on the Players tab.
    • Lowering a volume's limit below what it holds asks first.
    • Restarting a linked app from a database's page leaves that page as it was, and errors from saving the recovery file are shown.
    • The live event stream no longer writes after its request ended, which could crash the panel.
    • A failed update says why in your language, including when the panel's database could not be copied or put back.
  31. v0.7.14

    Fixes from a full review

    • A review of the whole panel found no critical issue but many smaller ones. This release fixes those in sign-in, backups, updates, background work, the data browser and game servers.
    • Sign-in
    • Login, second-step and confirmation attempts at one address or account are checked one after another, so parallel requests can no longer get past the limits and the proof of work. An IPv6 /64 counts as one address, as it already did for SFTP.
    • A backup file can only be fetched from the panel's own page, expired sessions are deleted, and zelie reset-login also removes the account's SSH keys.
    • Backups and schedules
    • A database dump that breaks off is reported as damaged instead of being loaded as if it were whole, and a restore is no longer cut off by a core or panel that stops. The panel waits for running backups and restores before it stops or updates.
    • Schedules stay right when the clocks change, and backup and schedule ids are not reused.
    • Updates and install
    • An update keeps a copy of the panel's database and puts it back with the old version if the new one does not come up.
    • In IP mode an IPv6 address works, re-running the install behind a tunnel keeps the proxy's port, and a busy SFTP port no longer stops the install.
    • Background work
    • Supervising, volume checks, backups, image and Steam checks, metrics and schedules run only while there is something for them to do.
    • A certificate for a removed domain is no longer renewed.
    • Data browser
    • Opening a Redis key reads at most 8 MB, CSV exports stream in batches, and cells a spreadsheet would run as a formula are made safe.
    • Game servers
    • A first start no longer undoes a memory, CPU or image change made meanwhile, reinstall no longer deadlocks when backups stop the server, and stopping a server no longer cancels its install or a clone.
    • A game's main volume cannot be moved or deleted, and database link variables replace an egg variable of the same name.
  32. v0.7.12

    Deployments that keep apart

    • A build no longer shares BuildKit's cache with other apps, so one Dockerfile cannot plant anything that another app's build picks up.
    • Importing a build names only the image it was built for, and a pinned image name is checked against its digest before use.
    • Rebuilding the same commit gets its own image tag instead of replacing the live version's.
    • Restart, recover and restore start the version that is live when they run. A stopped app stays stopped when a queued deployment runs, and a failed deployment brings the previous version back with the settings it ran with.
    • Route updates no longer race each other into pointing a domain at a removed container.
    • Webhook bodies are capped at 5 MB and read within a deadline, and an unsigned one is turned away before it is read.
    • A cancelled deployment records how it ended, a failed build's image is removed, and an app keeps its latest 50 deployments and their logs.
  33. v0.7.11

    Smaller in memory

    • Zelie's processes no longer use transparent huge pages. On servers where the kernel enables them for everything, it folded Zelie's small heaps into 2 MB pages that could not be handed back. Idle, with apps and databases running, Zelie now takes about 59 MB instead of 85 to 89 MB, and the number no longer swings between readings.
  34. v0.7.10

    Players

    • Rust and Minecraft servers get a Players tab: who is online, with ping, time online and address (hidden until shown); everyone seen in the last 30 days with their visits and play time; accounts seen on the same address; chat for seven days, global and team apart.
    • Kick, ban with a reason and an optional end that Zelie lifts while the server runs, unban, and for Minecraft op and the whitelist. Notes on a player, and a list of what admins did.
    • A few other Steam games (Counter-Strike 2, Garry's Mod, Valheim, Squad, Enshrouded, V Rising, Sons of the Forest) get the online list.
    • An optional Steam Web API key on the Server page adds VAC and game bans and account age.
    • The console and the deployment log hide the values of a server's password, secret, token and key variables.
  35. v0.7.9

    Start for what has never run

    • An app or database that has never run, such as one whose first start failed, now shows a Start button. Before, its page had no way to try again.
  36. v0.7.8

    Databases for game servers

    • Game servers can be linked to a database like apps. They reach it by name and get its variables, such as DATABASE_URL, on their next start.
    • A game server's new Database tab shows what a plugin's config file needs: host, port, database, user and password, each with a copy button. Oxide and Carbon plugins read these from their own files.
    • An administrator can show a database's password, on its page or on a game server's Database tab, after confirming it is them within the last 15 minutes. Every time it is shown is logged. Root passwords are never shown.
  37. v0.7.7

    Image pulls that do not need pigz

    • Pulling an image no longer depends on unpigz. containerd remembered where it had found it, so removing pigz, as uninstalling Docker does, made every pull fail until containerd was restarted.
    • Servers installed by an older version now get containerd's current settings: the core rewrites its unit at start when it differs and restarts containerd, which leaves running containers alone. This also brings the higher open file limit for game servers from 0.7.2 to servers that never got it.
  38. v0.7.6

    Game settings that reach the game

    • Settings an egg writes into a game's config file before each start are now added when the file lacks them. A Rust server with its own server.cfg did not get its name, description or map URL from the panel, because only lines already in the file were changed. Lines whose variables are empty, such as an unset world seed, are still left out.
  39. v0.7.4

    Security fixes

    • The SFTP host key now lives in /etc/zelie-sftp, a folder only root can write. Before, a flaw in the SFTP server could have been turned into root access through the way the key was written. The existing key is moved over, so its fingerprint stays the same.
    • An open SFTP connection ends within a minute once its password or key is removed or the server is deleted, and after 15 minutes without traffic.
    • The right SFTP password gets in even after strangers have tried wrong ones, so guessing can no longer lock the owner out.
    • The SFTP port can no longer be given to a game server.
    • Cloning a server or restoring a backup keeps sparse files sparse and stops before the disk is full.
    • Changing the ports of a stopped server no longer keeps its old ports blocked for other servers.
    • Tighter limits for SFTP: IPv6 addresses count per /64, logins in progress are capped, and the SFTP server runs under a stricter sandbox.
  40. v0.7.3

    Crash doctor, cloning and a new logo

    • When a game server or files app crashes, or its install fails, the console says why: out of memory, the wrong Java version, the EULA, a port in use, a missing start file or package, a full disk or a damaged world. Where it can, it offers the fix in one click: more memory or disk, the right Java image, accepting the EULA or a reinstall.
    • Clone a game server or files app from its menu. The copy gets the same settings, limits and files, new ports from the pool for the same jobs, and fresh RCON and admin passwords where Zelie made the old ones. It starts stopped.
    • A new logo.
  41. v0.7.2

    More games, and ports that stay together

    • Eighteen more games in the list: Minecraft Vanilla, Purpur, Fabric, Forge, NeoForge, Velocity and Bedrock, Valheim, ARK: Survival Ascended, 7 Days to Die, Project Zomboid, Enshrouded, V Rising, Sons of the Forest, Counter-Strike 2, Garry's Mod, Squad and Satisfactory. Each egg is checked automatically on every change.
    • New servers get strong random admin and RCON passwords where the egg leaves them empty or as a placeholder, and a short random join password where the egg's is a placeholder.
    • Games that use the ports right after their own, like Valheim and 7 Days to Die, get them together.
    • Game servers may open far more files at once, as large and Wine-based servers need.
    • The new game picker groups the kinds of a game and has a search box.
    • A stop command of Ctrl+C now sends the right signal.
  42. v0.7.1

    Polish: editor, save bar, game metrics

    • Files open in a code editor with colours for the language: JSON, JavaScript, TypeScript, C#, C and C++, Java, Python, YAML, XML, HTML, CSS, Markdown, PHP, SQL, shell, TOML, Lua and config files. A broken JSON file shows where it breaks, and saving it asks first. The editor loads only when a file is opened.
    • Star files and folders in the file manager to keep them at the top. Favourites belong to your account and follow a rename.
    • Settings forms keep a bar at the top as you scroll, with Save, Undo and Reset, and ask before you leave with unsaved changes.
    • Game servers have a Metrics tab with CPU, memory and network over the last hour or day.
    • Memory and CPU in the header turn amber above 70 % of the limit and red above 90 %.
    • Steam games show their installed build while they run.
  43. v0.7.0

    SFTP, and game servers you can change after creating them

    • An SFTP server for game servers and files apps, on port 2222 unless you choose another on the Server page. Log in with an SSH key added on the Account page, or with a password made for one server and shown once. An account's own password never works over SFTP. A login reaches that server's files and nothing else, and databases are out of its reach.
    • The SFTP server starts when someone connects and stops after five idle minutes, so it uses no memory while nobody needs it.
    • Choose which port of the pool each use of a game server gets, such as the game, query, RCON or Rust+ port, when you create it and later on the Network tab.
    • Change a game server's memory, CPU and disk on its Settings tab.
    • Administrators can change every setting of a game server, including the ones its egg locks, the startup command and the image.
    • The game server header shows its limits, and its memory and CPU use while it runs.
    • A new app no longer shows the install log of a deleted one, and an app's logs are removed with it.
    • The install says which way to reach the panel suits whom, and stops before changing anything when ports 80 and 443 are taken.
    • New README and docs.
  44. v0.6.0

    Game servers, files apps and a file manager

    • Game servers from Pterodactyl and Pelican eggs: Minecraft (Paper), Rust, Palworld, or any egg by its address. A live console, startup settings, backups and schedules, and ports opened in the firewall for you.
    • Rust and other Steam games show when Steam has a newer build, and can update themselves once nobody is playing.
    • A file manager for game servers and files apps.
    • Files apps: run your own Node.js, Python, Bun, Deno or Java files as an app, with a domain, HTTPS and linked databases.
    • The address players use is found on the machine and can be changed on the Server page.
    • Minecraft's EULA is asked for when a server is made.
    • Less memory while idle.
  45. v0.5.0

    Login security

    • Wrong passwords and codes are counted in the database, so restarting the panel no longer resets the limits, and a blocked login says how long to wait. After a few failures from one address, the browser solves a short proof of work before each try; nothing goes to a third party.
    • If you are locked out, run zelie reset-login on the server. It prints a one-time link, good for an hour, that sets a new password and removes the account's second steps, which the panel asks you to set up again.
    • The New app page lists only where an app comes from; databases have their own page, linked below.
  46. v0.4.0

    Metrics

    • A new Metrics tab shows an app's last hour or day: requests a minute with the 5xx answers among them, CPU, memory and network traffic in and out, with the crashes of the last day. The proxy counts the requests; readings are taken once a minute and kept for a day.
    • The app header adds requests a minute, the share of server errors over the last five minutes, and crashes today.
  47. v0.3.0

    Database and image updates

    • Apps and databases now run their image pinned by digest. Before, every start pulled the tag again, so a restart or a crash could move a database to a newer build, or an app on a moving tag to a new version, with no backup first.
    • Once a day Zelie checks whether an image's tag points at a newer build. The app page then shows it, with versions when the image gives them, and Update deploys it. A database is backed up first; if the new build does not start, the old one runs again.
    • A database can be upgraded to a new major version from its Settings tab. Its data moves over as a dump onto a new volume; the old files are kept on the Storage tab until you remove them.
  48. v0.2.6

    - The app page shows how long the live version has run. An update of Zelie does not reset it; a crash or a server restart does.

    • Memory, CPU and uptime sit on their own line under the app's name, so the buttons stay in place on every screen.
  49. v0.2.5

    - The app page shows the memory and CPU the app uses now, on every tab.

    • Stop and Restart ask first. Every other question the panel asks, such as deleting a volume or a backup, opens the same dialog.
    • When pushes deploy on their own, deploying by hand is in the "…" menu.
    • "by Cariacore" next to the name links to cariacore.com.
  50. v0.2.3

    Builds and apps work on servers with ufw.

    • On a server whose firewall drops what reaches it, such as ufw with its default settings, containers could not ask their DNS server: builds could not pull their base images, and apps could not reach anything by name. Zelie now adds one narrow rule of its own that lets its containers ask for names, and nothing else. It checks the rule every minute, so a firewall reload does not take it away.
    • Also: app names that start with zelie are refused with the reason, and behind a Cloudflare Tunnel the new app form says where to send a domain.
  51. v0.2.2

    Update Zelie from the panel.

    • A Server page shows the version running, a newer release with its notes, and an Update button. Zelie checks the release's signature, restarts its own services and goes back to the old version if the new one does not come up. Apps, databases and game servers keep running.
    • The page also shows how the panel is reached and the server's CPU, memory and disk.
  52. v0.2.1

    Release notes come from the tag's message, so the Server page shows what changed before you update.

  53. v0.2.0

    v0.2.0: update from the panel

  54. v0.1.3

    v0.1.3: updating by running the install again works

  55. v0.1.2

    v0.1.2: no restart race at the end of an install

  56. v0.1.1

    v0.1.1: install without a terminal

  57. v0.1.0

    v0.1.0: first pre-alpha release

Atualizações do Zelie: notas de cada versão