---
canonical: https://enum.co/changelog
locale: en
---

**Changelog**

# What's New

Stay up to date with the latest updates, features, and improvements to the enum cloud platform.


### DNS for every account, named profiles, enumctl 2026.10.1 (2026-10-04)

## enumctl 2026.10.1

- Keep separate configurations for different accounts or organizations with named profiles: `enumctl profiles create`, `select`, `list`, `get`, and `delete`
- Use a profile for a single command with `--profile <name>`, or for the current shell with `ENUMCTL_PROFILE`
- Removing a user also clears it from the profiles that pointed to it
- See the [profiles reference](https://docs.enum.co/cli/commands/profiles/)

## DNS

- enum DNS is available to every enum account, free of query and per-zone fees
- DNS calls return specific error responses, and listing the record sets of a zone that does not exist returns `404`

## Object Storage

- Names of deleted object storage users can be reused once the deletion finishes
- Creating a user with a name that is still being deleted fails with a clear error instead of conflicting
- Deletion errors now name the affected resource
- A bucket configuration that the storage backend rejects no longer replaces the last working configuration

## API and SDKs

- New [API documentation](https://docs.enum.co/api/overview/) on authentication, HTTP and gRPC, errors, rate limits, and API clients
- Every docs page has a Markdown version at the same URL with `.md`
- The OpenAPI specification includes server and authentication definitions
- Enum fields are documented as the strings the API returns
- TypeScript SDK (`client-ts`) adds a `storagePolicies` service

### Create organizations, enumctl 2026.09.12 (2026-09-29)

## enumctl 2026.09.12

- Create additional organizations with `enumctl organizations create <name>`

## Platform

- Create your own organizations, up to a per-user organization quota

## API and SDKs

- New `CreateOrganization` RPC
- Go SDK (`client-go`) and TypeScript SDK (`client-ts`) updated with `CreateProject` and `CreateOrganization` support

### Smoother sign-up, enumctl 2026.09.11 (2026-09-16)

## enumctl 2026.09.10 - 2026.09.11

- Clicking the button in the confirmation email now finishes sign-up in the terminal as well, no code needed

### Self-service registration, enumctl 2026.09.9 (2026-09-10)

## enumctl 2026.09.5 - 2026.09.9

- Create an account from the terminal with `enumctl auth register`
- Confirm your email with `enumctl auth verify-email`, or request a new code with `enumctl auth resend-email`
- Create projects with `enumctl projects create <name>`
- Open the enumctl documentation in your browser with `enumctl docs`
- Browse open positions at enum over SSH with `enumctl jobs`
- Install enumctl on NixOS with the [flake](https://github.com/enumco/enumctl)

## Platform

- Anyone can create an enum account with `enumctl`. See the [quickstart](https://docs.enum.co/quickstart/)

## API and SDKs

- New `CreateProject` RPC

### cert-manager webhook for enum DNS (2026-09-04)

## cert-manager webhook 2026.09.2

- Issue TLS certificates, including wildcards, for domains on enum DNS: the new cert-manager webhook solves ACME DNS-01 challenges through the enum API
- Challenge records show up in your zone like any other record and are removed once the challenge completes
- Install the Helm chart from the public registry: `helm install cert-manager-webhook-enum oci://registry.enum.cloud/enum/charts/cert-manager-webhook-enum --namespace cert-manager`
- Setup guide: [TLS certificates with cert-manager](https://docs.enum.co/guides/cert-manager/)

### Service accounts and API keys, enumctl 2026.09.4 (2026-09-03)

## enumctl 2026.09.4

- Create a service account with a one-shot key via `sa create --key` (defaults to a 90-day expiry), or pass `--print-token-only` to output just the token
- Create API keys that never expire with the new `--no-expiry` flag
- Manage service account API keys under `service-accounts keys` (or `sa keys`)
- List API keys across an entire project with `enumctl sa keys list` by omitting the service account ID
- Expiry error messages are now lowercase for consistent CLI output

## Platform

- Service accounts and API keys are now available for automated workflows and CI/CD pipelines
- API keys support optional expiration and use identifiable prefix tokens
- Adopted object storage buckets are deletion-protected by default
- Raised default S3 user quotas

## API and SDKs

- ServiceAccountService API for creating and managing service accounts and API keys
- New `UpdateObjectStorageBucket` RPC to configure bucket settings and deletion protection
- Go SDK (`client-go`) and TypeScript SDK (`client-ts`) updated with `ServiceAccountService` support
- TypeScript SDK updated with bucket deletion protection and `UpdateObjectStorageBucket` support

### Script-friendly enumctl, org defaults, enumctl 2026.08.3 (2026-08-27)

## enumctl 2026.08.3

- Choose how results print with `-o` / `--output`: `table` (default), `json`, or `yaml`
- Set a default organization with `enumctl config set organization` or `enumctl organizations select`
- On SSH or other headless machines, `enumctl auth login` uses device authorization (or force it with `enumctl auth login --device`): open the printed URL on another device to finish sign-in
- Point `enumctl kubernetes kubeconfig` at a specific path with `-f` / `--file` (or `-` for stdout)
- New buckets are deletion-protected by default; toggle with `--deletion-protection`, or later with `enumctl storage buckets protect` / `unprotect`
- Singular aliases work alongside plurals: `enumctl project`, `enumctl storage bucket`, `enumctl org`, and similar

### Object storage IAM defaults and bucket config, enumctl 2026.08.2 (2026-08-26)

## Object Storage

- New object storage users start with no permissions (AWS `CreateUser` defaults). Attach a managed or inline policy before they can use S3
- Attach managed IAM policies (`AmazonS3FullAccess`, `AmazonS3ReadOnlyAccess`, `IAMFullAccess`) or inline policy documents to object storage users
- Manage bucket configuration through enum: versioning, Object Lock, default encryption, lifecycle, CORS, bucket policy, and tags
- Enable Object Lock at bucket create time (`--object-lock` / `object_lock_enabled`)
- Configuration set via the S3 API is mirrored into enum List/Get
- Clearer errors when a delete hits a non-empty bucket or another S3 precondition

## DNS

- Zones receive individual nameserver pairs if they would collide with another project's nameserver
- Creating a zone whose apex is already claimed stays pending instead of failing immediately

## enumctl 2026.08.2

- `enumctl storage buckets get` returns live bucket configuration
- `--object-lock` on bucket create
- Set and clear bucket versioning, Object Lock, encryption, lifecycle, CORS, policy, and tags
- `enumctl storage users policies` to list, attach, detach, and manage inline user policies

## API and SDKs

- ObjectStorageUserPolicyService and bucket configuration RPCs on ObjectStorageBucketService
- Per-token API rate limiting
- Go and TypeScript clients updated

### Regions, CNAME flattening, enumctl 2026.08.1 (2026-08-07)

## Regions

- Browse regions and availability zones in the catalog (`fra` is live)
- Projects have a default region used when a create omits the region
- Place object storage users and buckets in a region

## DNS

- Apex `CNAME` records flatten to the target's A/AAAA addresses when served, so you can point the zone apex at another hostname
- DNSSEC handoff now includes DNSKEY fields as well as DS records, for registrars that take a key

## enumctl 2026.08.1

- `enumctl regions list` and `enumctl zones list`
- `--region` on object storage user and bucket create

## API and SDKs

- RegionService to list and get regions and availability zones
- Region on projects and object storage; DNSKEY on DNSSEC status; apex CNAME flattening
- Go and TypeScript clients updated

### enum DNS, enumctl 2026.07.2 (2026-07-31)

## enum DNS

- Create and manage DNS zones and records on enum, free forever
- Import and export zones as BIND zone files
- Enable DNSSEC and get DS records for your registrar
- Point the zone apex at another hostname with a CNAME
- Issue TLS certificates, including wildcards, for domains you host on enum
- Read the [announcement post](/blog/free-dns-forever-for-a-better-european-internet)

## enumctl 2026.07.2

- Manage DNS zones and records with `enumctl dns`

## API

- Manage DNS zones and records through the API

### Object Storage Sync, enumctl 2026.06.4 (2026-06-25)

## Object Storage

- Object storage buckets created directly against the S3 API (for example with `aws s3`) now sync into enum and appear alongside buckets created through enum

## enumctl 2026.06.4

- Check for newer enumctl releases and print a hint on run; `enumctl --version` does an explicit check
- `object-storage users` and `object-storage buckets` commands now take positional args instead of flags
- Rename the `--display-name` flag to `--name`

## API

- Deprecate the `displayName` parameter for creating object storage users in favor of `name`

## SDKs

- Node.js SDK: object storage resource status `active` is renamed to `ready`
- Node.js SDK: drop the legacy initial access key and the `revoked_at` field from object storage types

### Go SDK (2026-06-08)

## SDKs

- Release the Go SDK for the enum API: `go get github.com/enumco/client-go`
- Manage organizations, projects, Kubernetes clusters, and object storage from Go

### enumctl 2026.06.1, Object Storage Updates (2026-06-05)

## Object Storage

- Project and bucket quotas are soft limits that support can raise within minutes

## enumctl 2026.06.1

- Add commands to list, create, and delete object storage buckets
- Add delete for object storage keys and users
- Drop the required organization ID from projects list
- Add a Nix install option, alongside the existing Homebrew and AUR (Arch Linux) packages

## API and SDKs

- Manage object storage buckets from the Node.js SDK
- Return bucket status from the API

### Object Storage Buckets (2026-04-28)

## Object Storage

- Create, list, and delete object storage buckets through the API, without a separate S3 client

### enumctl 2026.04.5, Object Storage Updates, API Launch (2026-04-14)

## enumctl 2026.04.5

- Add support to manage object storage users and keys
- Add support to manage organizations and projects
- Fix token refresh during re-authentication
- Add homebrew support

## enum Object Storage

- Add support for CORS
- Add support for object locks
- Add support for lifecycle policies
- Add support for versioning
- Add support for SSE-C

## API

- Add support for object storage
- Add public docs
- Release node.js SDK

### Price Calculator Launch (2026-03-20)

## Platform

- New interactive Pricing Calculator to estimate monthly costs before provisioning

### Startup Program Launch (2026-01-10)

## Platform

- The enum Startup Program is now open for applications
- Eligible startups receive platform credits and dedicated onboarding support
- Apply at enum.co/startups
