Releases · Over-the-air updates · Latest 1.0.28

What changed,
and when.

What is in the current release, in full. Servers already running Portalis update themselves from Settings → Update — nothing here has to be downloaded by hand.

# install on a fresh host curl -fsSL https://get.portalis.sh | sudo bash # install one exact version PORTALIS_VERSION=1.0.28 curl -fsSL https://get.portalis.sh | sudo bash # what the Update screen reads https://get.portalis.sh/releases.json

Pinning a version

The installer takes the newest release unless you pin one. Pinning is for reproducing something, or for walking an upgrade yourself: set PORTALIS_VERSION and the installer pulls exactly that image tag. A version that was never published fails before anything is written.

1.0.28Latest

12 added
Added
  • Terminal — one dropdown lists every server you may reach, grouped, with a search box on top; ⌘K opens it. A tab per session, several servers at once, and opening the same server twice gives you a second shell. A status bar shows the server, the address, how long the session has run, that it is being recorded, and a link to Files on that host. Search the output, copy it, download it as text, clear the screen, go fullscreen, reconnect. A dropped connection says so on the spot, with the reason the gateway gave.
  • Files — browse, download, and upload several files at once by dragging them in, with progress per file.
  • Recordings — every session is recorded, in the browser and through the SSH gateway alike, and replays at its original pace. Their own page: how much space they take, filters on user, server and date, and play, download or delete. A row opens to show who was on which server, from which address, through which client, for how long, followed by everything the audit log wrote during those minutes with blocked and flagged commands called out. Retention runs from 7 days to forever, swept nightly.
  • Activity — one line per event, click it open for the exact time, result, target, IP and client, with one-click filters for that user or that action and the recording where there is one. Filters on action, status and date range, 25/50/100 per page, CSV export, and retention from 30 days to forever.
  • Command Guard — rules that log, warn or block, a log-only mode to start with, a tester that runs a command against the rules, and a hit count per rule.
  • Just-in-time access — a user asks for a server with a reason, an admin approves or denies with a note, and the window runs on a live countdown that can be revoked early. Waiting requests and running access sit on the dashboard.
  • Users, groups and access — per-server grants, user groups, SSH keys listed with their fingerprint, one-time passwords, 2FA with recovery codes, a password policy, SSO through OIDC, and API keys with scopes and an expiry.
  • Database access (Enterprise) — connections of their own, separate from your servers. A user group is granted read-only or read & write and reaches every connection in it without ever seeing the password; read-only is enforced on the server, not only hidden in the client. SQL console and row editor included.
  • SSH gateway — connect with your own client. Key, password and 2FA inside a 120-second window, the code never echoed, repeated failures banned by IP, and the session recorded like any other.
  • Branding (Enterprise) — logo, favicon and app name, with a live preview of the sign-in page.
  • Over-the-air updates — Settings → Update pulls the new image, restarts, health-checks it and rolls back by itself when that fails, with the real steps and the log on screen. A pinned version is left alone.
  • Licensing — Pro and Enterprise, with the modules each one carries named in the app. A plan change arrives on the next licence check-in; no key to paste.