Harthelm 1.1.0
What changed in Harthelm 1.1.0: licences, Harthelm's own names for availability and provider definitions, the importer removed, the source bundle.
Released 2026-10-12. API version 0.11.0. A minor release with breaking changes: read Breaking changes before you upgrade. Nothing needs to be done before the upgrade itself.
helm upgrade harthelm oci://<your registry>/charts/harthelm --version 1.1.0 -n harthelm-system -f my-values.yamlBreaking changes
A licence is required. From 1.1.0 every installation runs under a licence, checked offline with keys built into the release; nothing is sent anywhere. Without a valid licence an installation is restricted: everything that exists keeps running, but new teams, organizations, workspaces, managed services, domains, invitations and users are paused.
- An installation upgraded from 1.0 without a licence runs 30 days in its grace period from the first start of 1.1.0: nothing is paused, cluster admins see the grace banner and get a reminder mail. Install the licence within those 30 days, before or after the upgrade.
- A fresh install has no such grace: install the licence with it.
See Licence for the three ways to install it.
Harthelm's own names for availability and provider definitions. Several formats have new names:
| What | 1.0 | 1.1 |
|---|---|---|
availability in harthelm.yml, the API and plans | always-on, off-when-unused | always, on-demand |
| Console labels | Always on, Off when unused | Always running, Sleeps when idle |
hart ws create | --always-on | --no-sleep |
| Provider definition format | harthelm/provider-v1 | harthelm/provider-v2 |
| The schemas of a provider's settings, secrets and details | configSchema, secretsSchema, detailsSchema | fields.config, fields.secrets, fields.details |
| One instance per team | teamSingleton, problem team-singleton | onePerTeam, problem one-per-team |
| How a value may change | x-update-constraint: immutable, increase-only, minor-upgrade-only | x-hart-change: fixed, grow-only, minor-upgrade-only |
What keeps working:
harthelm.ymlfiles with the old availability values load as before.hart validateprints a note with the new name, and the review before a Sync shows the warningdeprecated-name. The harthelm.yml editor shows the new value and writes it when you change it.- The upgrade renames the stored values of every workspace, service, plan and archive, and converts the published
provider definitions to
provider-v2. A 1.0 core that still runs during the rolling update keeps working. - The API answers with the new names and still accepts the old availability values in requests.
Provider definitions in the 1.0 format are converted when you publish them, and
marketplace.builtin.postgres.overrideswith the old keys keeps applying. hart ws create --always-onstill works; it is no longer listed in the help.
Update files, scripts and overrides to the new names when convenient. Scripts that read availability from the API
must expect always and on-demand.
The importer is removed. hart import is an unknown command, the harthelm.yml editor has no import dialog, and
POST /api/v1/import/… answers 404. Files converted with 1.0 stay as they are; new projects write harthelm.yml
themselves, as Configure services and the
harthelm.yml reference explain.
For developers
New labels. The Availability of a workspace or service is Sleeps when idle or Always running. Sleep and wake work as before; see Sleep and wake.
A banner when the licence needs attention. While an installation is in its grace period, the console says "This
installation's licence needs renewal." When it is restricted, a red banner says that new workspaces, teams and members
are paused; what exists keeps running. Creating a workspace then answers with the problem
license-restricted.
hart 1.1. Update hart together with the server: hart warns when its minor version differs from the server's.
For operators
Licences. Platform → Licence shows the licence in force, its state, the limits against what they
count and the licences installed so far; it installs a licence and downloads the usage report for the renewal.
hart admin license does the same from the command line, the doctor's new last check license reports the state,
and the metrics harthelm_license_* feed your own alerts. Cluster admins see a banner from 60 days before the end and
get reminder mails 60, 30, 14, 7 and 1 days before, when the grace period starts and when the installation turns
restricted. See Licence.
Provider definitions in provider-v2. Write new definitions with fields.config, fields.secrets,
fields.details, onePerTeam and x-hart-change; see
Managed services.
The source bundle. Every release now has a source bundle with the source code of the open-source components its
images contain under GPL, LGPL, MPL and similar licences, published next to the images as
<your registry>/harthelm/sources:1.1.0. The chart, the hart archives and every image carry the written offer,
SOURCE-OFFER.txt. See Open-source components.
API 0.11.0. New: GET and PUT /admin/license, GET /admin/license/usage-report and GET /license/notice, and
the 403 problems license-restricted and license-limit on the operations that create something. Changed: the
availability values and the provider definition format above. Removed: POST /import/….
Changed values
| Value | Change |
|---|---|
license.existingSecret | New. The Secret in the release namespace that holds the licence; while it is set, the Secret is the only source and the preflight checks the licence. Empty by default. |
license.secretKey | New. The key in that Secret, default license. |