Releases

Changelog

Every release of Janus Edge. Gateways with update notifications on learn about these automatically.

v2026.9.4

25 Sep 2026 · stable · sha256:253e7d2dde5e69997c71192e7fd5e6c12433f2356c51206260d033939a881817

Janus Edge 2026.9.4

Bug-fix release of Janus Edge, a self-hosted gateway for organizational AI access, policy and visibility.

Fixed

  • Local-only mode can enable models again. With JANUS_LOCAL_ONLY=true, all pricing is hidden, but enabling a newly discovered model that had never been priced was still refused with "Save a rate card first", leaving no way to enable it. A rate card is now required only when cost tracking is on. The Models, Upstreams and Administration pages no longer ask local-only administrators to price models. Deployments with cost tracking are unaffected: enabling an unpriced model is still refused there.

No database or configuration changes.

Upgrade

  • Linux server install: sudo janus-ctl upgrade --version 2026.9.4
  • Container: ghcr.io/torvanis/janus:2026.9.4
  • Helm: chart 0.1.3 (janus-0.1.3.tgz, attached), templates unchanged from 0.1.2 apart from the image pin.

Install on a Linux server

Any systemd distribution on amd64 or arm64 with Python 3.9+ and openssl:

curl -fLO https://github.com/Torvanis/janus/releases/download/v2026.9.4/install.py
sudo python3 install.py --admin-email you@example.com --hostname ai.example.com

Offline: sudo python3 install.py --archive janus_2026.9.4_linux_amd64.tar.gz --checksums SHA256SUMS --admin-email you@example.com. For a no-sudo trial: python3 install.py --user. Checksums detect corruption, not a compromised release publisher; review install.py before running it.

Container

docker pull ghcr.io/torvanis/janus:2026.9.4

Multi-architecture manifest digest: sha256:253e7d2dde5e69997c71192e7fd5e6c12433f2356c51206260d033939a881817.

License

Janus Edge is source-available under Elastic License 2.0, with the accompanying Commercial Terms. Third-party components retain their own licenses and notices. See LICENSE, COMMERCIAL-TERMS.md, NOTICE and THIRD_PARTY_NOTICES.md.

v2026.9.3

24 Sep 2026 · stable · sha256:3d6d25c61c93b86e9b29809de950e6d6aaef92b6c452edcab4d2393755af45a6

Janus Edge 2026.9.3

Janus Edge is a self-hosted gateway for organizational AI access, policy and visibility. This release makes a single Linux server a first-class way to run it.

What's new

  • Linux server installation. sudo python3 install.py installs Janus Edge as a systemd service running as an unprivileged janus user, with HTTPS on port 443 and port 80 redirecting to HTTPS. The first administrator is created while the gateway still listens only on loopback, so nobody else can claim a new server.
  • Certificates. A self-signed certificate is created on first install. janus-ctl cert install switches to your own certificate after checking that the key matches and that it has not expired; janus-ctl cert acme gets a Let's Encrypt certificate over HTTP-01 and renews it automatically.
  • Service management. janus-ctl status, upgrade and uninstall. Upgrades back up a SQLite database first and never rotate the encryption key; uninstall keeps configuration and data unless --purge is given.
  • The previous no-sudo installation into ~/.local remains available as python3 install.py --user.

The gateway itself is unchanged from 2026.9.2 apart from its version.

Install on a Linux server

Any systemd distribution on amd64 or arm64 with Python 3.9+ and openssl. Tested on Ubuntu 24.04 and Rocky Linux 9 (SELinux enforcing, firewalld).

curl -fLO https://github.com/Torvanis/janus/releases/download/v2026.9.3/install.py
sudo python3 install.py --admin-email you@example.com --hostname ai.example.com

Then, optionally:

sudo janus-ctl cert install --cert fullchain.pem --key privkey.pem
sudo janus-ctl cert acme --domain ai.example.com --email you@example.com

Configuration and the encryption key are in /etc/janus/janus.env; data is in /var/lib/janus. SQLite is the default for a single server; pass --database-url postgres://... on first install for PostgreSQL.

Upgrading an existing server install: sudo janus-ctl upgrade --version 2026.9.3. Installations made with the earlier ~/.local installer are not converted; they keep working as before.

Offline, after downloading the matching archive and SHA256SUMS:

sudo python3 install.py --archive janus_2026.9.3_linux_amd64.tar.gz --checksums SHA256SUMS --admin-email you@example.com

Checksums detect corruption, not a compromised release publisher. Review install.py before running it.

Kubernetes / Helm

Chart 0.1.2 for application 2026.9.3 is attached as janus-0.1.2.tgz, with janus-0.1.2.tgz.sha256. The chart's default image is pinned to the multi-architecture digest below. Chart templates are unchanged from 0.1.1 apart from the image pin. See the chart installation guide.

Container

ghcr.io/torvanis/janus:2026.9.3 for Linux amd64 and arm64.

docker pull ghcr.io/torvanis/janus:2026.9.3

Multi-architecture manifest digest: sha256:3d6d25c61c93b86e9b29809de950e6d6aaef92b6c452edcab4d2393755af45a6.

License

Janus Edge is source-available under Elastic License 2.0, with the accompanying Commercial Terms. Third-party components retain their own licenses and notices. See LICENSE, COMMERCIAL-TERMS.md, NOTICE and THIRD_PARTY_NOTICES.md.

v2026.9.2

21 Sep 2026 · stable · sha256:a4352c0fbde6e506d26be60714926e798ca36e223b124e404efd82a3e0f5a5ca

Janus Edge 2026.9.2

Feature release of Janus Edge, a self-hosted gateway for organizational AI access, policy, and visibility.

What's new

  • Opt-in automatic license renewal sync for monthly and annual subscription licenses, off by default. Enable it under Admin → Settings → License & updates or with JANUS_LICENSE_SYNC=true; storing a sync token or installing an online key never enables it on its own, and offline mode always prevents remote sync. This retrieves renewed signed licenses only; it is separate from software update checks.
  • Sync token onboarding: paste the raw sync token from the license portal, save, and use Sync now. Blank saves keep the stored credential; Clear stored sync token removes it. JANUS_LICENSE_SYNC_TOKEN pins the credential from the environment.
  • Renewal attention notices in the shell banner and the license card that are independent of signed license validity: cancellation, payment failure, stale or failed sync, and exhausted grace stay visible, while routine expiry warnings are suppressed only during a fresh, confirmed automatic renewal.
  • Replay-safe revocation recovery: after an advisory revocation the gateway keeps syncing but clears the warning only for a newer same-identity signed license accompanied by fresh subscription evidence, so an old revoked response cannot restore a stale state.

Existing installations do not change behavior on upgrade: sync stays disabled until an administrator opts in.

Installation

Linux amd64 and arm64 archives, install.py, and SHA256SUMS are attached to this release.

python3 install.py --version 2026.9.2
python3 ~/.local/share/janus/run-local.py --binary ~/.local/bin/janus

Or offline, after downloading the matching archive and SHA256SUMS:

python3 install.py --archive janus_2026.9.2_linux_amd64.tar.gz --checksums SHA256SUMS

Installation requires Python 3.9+, defaults to ~/.local, verifies checksums, and does not create or start a system service. The executable itself has no Python dependency.

Kubernetes / Helm

Chart 0.1.1 for application 2026.9.2 is attached as janus-0.1.1.tgz, with janus-0.1.1.tgz.sha256. The chart's default image is pinned to the multi-architecture digest below. See the chart installation guide for required Secrets and commands.

Database choices: one bundled PostgreSQL instance (default), existing PostgreSQL, or single-replica SQLite for evaluation only. The chart does not migrate data when changing modes. Chart templates are unchanged from 0.1.0 apart from the image pin; the 0.1.0 runtime acceptance (installation, login, restart persistence, unchanged-secret upgrade, external PostgreSQL with verified TLS) was not repeated for this release.

Container

The container image is published to ghcr.io/torvanis/janus:2026.9.2 for Linux amd64 and arm64.

docker pull ghcr.io/torvanis/janus:2026.9.2

Multi-architecture manifest digest: sha256:a4352c0fbde6e506d26be60714926e798ca36e223b124e404efd82a3e0f5a5ca.

The package is public; anonymous pulls were verified at release time.

Source archives are also available below. Building from source requires Go 1.26.7, Node.js 22 with npm, Git, Make, Bash, and Python 3. Verification additionally requires a C compiler for Go race tests.

License

Janus Edge is source-available under Elastic License 2.0, with the accompanying Commercial Terms. Third-party components retain their own licenses and notices. See LICENSE, COMMERCIAL-TERMS.md, NOTICE, and THIRD_PARTY_NOTICES.md.

v2026.9.1

20 Sep 2026 · stable · sha256:b789411252a3bd5724c77d15a02c7c388178ba6a3e95c5916367d3a682e094b6

Janus Edge 2026.9.1

Initial public release of Janus Edge, a self-hosted gateway for organizational AI access, policy, and visibility.

Included

  • Provider routing, model discovery, managed model names, and OpenAI-compatible APIs.
  • Personal and team workspaces, with organization-wide team administration under Administration → People → Teams.
  • Local authentication, OIDC, directory integration, user and service tokens, quotas, and usage reporting.
  • Security policies, classifier integrations, audit logging, and opt-in troubleshooting captures.
  • Offline license verification and an embedded web UI.

Installation

Linux amd64 and arm64 archives, install.py, and SHA256SUMS are attached to this release. Download the installer, matching architecture archive, and checksums, then run:

python3 install.py --archive janus_2026.9.1_linux_amd64.tar.gz --checksums SHA256SUMS
python3 ~/.local/share/janus/run-local.py --binary ~/.local/bin/janus

Use the arm64 archive instead on an ARM64 machine. Installation requires Python 3.9+, defaults to ~/.local, verifies checksums, and does not create or start a system service. The executable itself has no Python dependency.

Kubernetes / Helm

Chart 0.1.0 for application 2026.9.1 is attached as janus-0.1.0.tgz, with janus-0.1.0.tgz.sha256. See the chart installation guide for required Secrets and commands.

Database choices: one bundled PostgreSQL instance (default), existing PostgreSQL, or single-replica SQLite for evaluation only. The chart does not migrate data when changing modes. Real installation, authenticated login, restart persistence, and unchanged-secret upgrades were exercised; external PostgreSQL with verified TLS was also tested. Ingress/monitoring discovery, HA, and backup restoration are not certified by these checks. Gateway image registry authorization may still be required.

The application tag remains unchanged; chart source was added to the public main branch separately.

Container

The container image is uploaded to ghcr.io/torvanis/janus:2026.9.1 for Linux amd64 and arm64. Package visibility is currently private; authenticated package access is required until it is made public.

docker pull ghcr.io/torvanis/janus:2026.9.1

Multi-architecture manifest digest: sha256:b789411252a3bd5724c77d15a02c7c388178ba6a3e95c5916367d3a682e094b6.

Source archives are also available below. Follow the README to build from source or build a container locally.

Building from source requires Go 1.26.7, Node.js 22 with npm, Git, Make, Bash, and Python 3. Verification additionally requires a C compiler for Go race tests.

License

Janus Edge is source-available under Elastic License 2.0, with the accompanying Commercial Terms. Third-party components retain their own licenses and notices. See LICENSE, COMMERCIAL-TERMS.md, NOTICE, and THIRD_PARTY_NOTICES.md.