Compatibility & Requirements
This documentation covers features from the latest development branch (1.6.4-pre.2 + api 1.0.3). For production deployments, use the stable versions listed below.
Porch Server & API Module Compatibility
The Porch API module (github.com/kptdev/porch/api) is versioned independently from the Porch server. Use this matrix to ensure version compatibility when integrating with or using Porch:
Stable (Production Ready)
| Porch Server | Recommended API Module | Release Date | Status |
|---|---|---|---|
| v1.6.0 | v1.0.0 | 2026-06-29 | Stable |
| v1.6.1 | v1.0.0 | 2026-07-10 | Stable |
| v1.6.2 | v1.0.1 | 2026-07-25 | Stable |
| v1.6.3 | 1.0.1 (recommended) | 2026-07-30 | Latest Stable |
In Development (Main Branch)
| Porch Server | Recommended API Module | Expected Release | Status |
|---|---|---|---|
| v1.6.4-pre.2 | 1.0.3 | TBD | Pre-release |
These versions are from the main development branch and are documented here. For production use, stick with the stable versions above.
API Module Release History
| API Version | Release Date | Status | Key Changes |
|---|---|---|---|
| v1.0.0 | 2026-06-23 | Stable | Initial API module separation |
| v1.0.1 | 2026-07-13 | Latest Stable | Modernize Go idioms and remove outdated patterns |
| v1.0.2 | 2026-09-25 | Pre-release | Bump kpt api version in porch api |
| v1.0.3 | 2026-09-29 | Pre-release | Workaround fix for package name in kpt render |
Breaking Changes: None. All API module versions v1.0.x are compatible patch releases with no breaking changes.
Supported Infrastructure Versions
| Component | Minimum Version | Latest Tested | Notes |
|---|---|---|---|
| Kubernetes | 1.37.0 | 1.37.0 | Required for aggregated API server features |
| Go (for building from source) | 1.23 | 1.26.5 | Required only for development |
| Docker | — | v28.0.4 | Required for kind/minikube with Docker driver |
| kpt CLI | 1.0 | v1.0.2-pre.1 | Required for deploying Porch packages |
| kubectl | 1.37.0 | 1.37.0 | Within one minor version of cluster API server |
| git | 2.20 | v2.54.0 | Required for Git repository operations |
The “Latest Tested” versions above are the versions Porch is regularly tested against. Porch may work with other versions outside this range, but compatibility is not guaranteed.
Go Version Support for Development
If building Porch from source:
| Porch Version | Minimum Go | Maximum Go | Recommended Go |
|---|---|---|---|
| v1.6.0 - 1.6.3 | 1.23 | 1.26.5 | 1.26.5 |
| 1.6.4-pre.2 (main) | 1.25 | 1.26.5+ | 1.26.5 |
Kubernetes Cluster Support
Porch is tested and verified to run on:
- Local clusters: kind (tested with v0.32.0) running Kubernetes v1.37.0
- Managed Kubernetes services: Likely compatible with GKE, EKS, AKS (but not regularly tested)
Porch’s primary test environment is kind with Kubernetes v1.37.0. While Porch should work on other Kubernetes distributions and versions meeting the minimum version requirement (1.37.0+), compatibility outside the tested environment is not formally verified. If you encounter issues on a different platform or version, please report them.
Cache Backend Compatibility
Porch supports two cache backends for storing package metadata:
| Cache Backend | Storage | Porch Version Support | Backup Recovery |
|---|---|---|---|
| CR Cache | Kubernetes custom resources (etcd) | v1.0+; safe across Porch versions | Restore from Kubernetes backup; version-agnostic |
| DB Cache | PostgreSQL database | v1.6+; single version only | Restore only into same Porch version |
When using the DB Cache backend, PostgreSQL backups must be restored into a Porch installation of the same version. Cross-version restoration is not supported and will cause data corruption.
Migration Path: v1alpha1 to v1alpha2
Porch is transitioning from an aggregated API model (v1alpha1) to a CRD-based controller model (v1alpha2). The aggregated API server remains for serving PackageRevisionResources content.
| Component | Status | Timeline |
|---|---|---|
| v1alpha1 API (aggregated) | Supported | Kept for backward compatibility; no EOL date announced |
| v1alpha2 CRD-based PackageRevisions | In development | Progressive rollout; per-repo opt-in via annotation |
Migration is optional and per-repository. You can opt-in to v1alpha2 when ready by adding an annotation to your Repository. For details, see Working with CRD-Based PackageRevisions.