v1.21.1
knative/func@release-1.21
Changes by Kind
Enhancement
- Add --platform flag to
func config cicommand allowing users to specify which CI/CD platform to generate manifests for. Currently supports "github" (default). (#3379, @twoGiants) - Add
--remoteflag tofunc config cito build functions on a Tekton enabled cluster and--workflow-dispatchto trigger workflows manually via the GitHub CLI or UI. (#3128, @twoGiants) - Add the --registry-authfile build parameter to allow to specify a custom registry auth file location (#3208, @creydr)
- Add the possibility to deploy a function as raw kubernetes deployment via the --deployer=raw argument (#3075, @creydr)
- Added
envas a short alias for theenvironmentcommand. Users can now usefunc envas a convenient shorthand forfunc environment. (#3219, @RayyanSeliya) - Allow to print the output from
func versionasjsonoryamltoo (#3280, @creydr) - Event subscriptions now work with raw Kubernetes deployer (
--deployer raw). (#3335, @24aysh) - Feat: pull secrets pre-check before deployment (#3333, @matejvasek)
- Implement GitHub Actions workflow generation in
func config cicommand. The command now creates a complete deployment workflow with Kubernetes context setup, func CLI installation, and automated deployment. Supports customizable parameters for branch trigger, kubeconfig secret name, registry URL variable, and workflow name. (#3295, @twoGiants) - Improve error message when
func describeis run outside function directory
to be more beginner-friendly and provide clear guidance on creating functions
before describing them. (#3027, @RayyanSeliya) - Invalid domain names are now caught immediately with helpful error messages, preventing wasted build time (#3152, @RayyanSeliya)
- Invalid namespace names are now caught immediately with helpful error messages, preventing wasted build time (#3133, @RayyanSeliya)
- Provide used middleware version as a function label (#3270, @creydr)
- The
func config cicommand now resolves --path and --branch flags intelligently:- --path defaults to current working directory when empty or "."
- --branch defaults to current git branch when not specified (previously "main") (#3371, @twoGiants)
- The
func config cicommand now supports configurable registry authentication and runner options with the following new flags:--use-registry-login: Enable/disable registry login step in generated workflow (default: true)--registry-login-url-variable-name: Customize registry URL variable name (default: REGISTRY_LOGIN_URL)--registry-user-variable-name: Customize registry username variable name (default: REGISTRY_USERNAME)--registry-pass-secret-name: Customize registry password secret name (default: REGISTRY_PASSWORD)--self-hosted-runner: Use self-hosted runners instead of ubuntu-latest (default: false) (#3297, @twoGiants)
Documentation
- Added Command Reference section to README for easier discovery of CLI documentation (#3245, @RayyanSeliya)
Bug or Regression
- Add latest middleware versions in
func versionoutput (#3281, @creydr) - Fix: on-cluster-build freeze caused by co-scheduling/affinity issues (#3350, @matejvasek)
- Fix: populate image field in func describe (#3220, @creydr)
- Fix: push permission check with gitlab image registry (#3263, @matejvasek)
- Func run --builder=host now fails fast with helpful guidance when explicit ports are invalid, privileged, or already in use instead of silently choosing a random port (#3176, @RayyanSeliya)
- Function names starting with hyphens now show helpful DNS-1035 naming guidance instead of confusing flag parsing errors (#3167, @RayyanSeliya)
func deploynow validates cluster connectivity before building, providing immediate feedback with clear error messages instead of wasting time on builds that will fail deployment. (#3117, @RayyanSeliya)
Uncategorized
- Feat: better error for s2i build -- show inner cause of the error (#3185, @matejvasek)
- Fix: hidden flags username/password (and affiliated envvars) now work also for s2i and pack builder (#3298, @matejvasek)
Dependencies
Added
- github.com/apapsch/go-jsonmerge/v2: v2.0.0
- github.com/charmbracelet/colorprofile: v0.3.3
- github.com/charmbracelet/x/ansi: v0.11.0
- github.com/charmbracelet/x/cellbuf: v0.0.14
- github.com/charmbracelet/x/term: v0.2.2
- github.com/clipperhouse/displaywidth: v0.5.0
- github.com/clipperhouse/stringish: v0.1.1
- github.com/clipperhouse/uax29/v2: v2.3.0
- github.com/erikgeiser/coninput: 1c3628e
- github.com/google/jsonschema-go: v0.3.0
- github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus: v1.0.1
- github.com/grpc-ecosystem/go-grpc-middleware/v2: v2.3.0
- github.com/modelcontextprotocol/go-sdk: v1.1.0
- github.com/oapi-codegen/runtime: v1.0.0
- github.com/xo/terminfo: abceb7e
- go.etcd.io/raft/v3: v3.6.0
- sigs.k8s.io/structured-merge-diff/v6: v6.3.0
Changed
- cloud.google.com/go/compute/metadata: v0.7.0 → v0.9.0
- github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp: v1.29.0 → v1.30.0
- github.com/alecthomas/units: 61d1e34 → 0f3dac3
- github.com/armon/go-metrics: v0.4.1 → f0300d1
- github.com/charmbracelet/bubbles: v0.17.1 → v0.21.0
- github.com/charmbracelet/bubbletea: v0.25.0 → v1.3.10
- github.com/charmbracelet/lipgloss: v0.9.1 → v1.1.0
- github.com/cncf/xds/go: 2ac532f → 0feb691
- github.com/envoyproxy/go-control-plane/envoy: v1.32.4 → v1.35.0
- github.com/envoyproxy/go-control-plane: v0.13.4 → 75eaa19
- github.com/fxamacker/cbor/v2: v2.8.0 → v2.9.0
- github.com/go-jose/go-jose/v4: v4.1.1 → v4.1.3
- github.com/go-viper/mapstructure/v2: v2.3.0 → v2.4.0
- github.com/golang-jwt/jwt/v5: v5.2.2 → v5.3.0
- github.com/google/gnostic-models: v0.6.9 → v0.7.0
- github.com/grpc-ecosystem/grpc-gateway/v2: v2.27.2 → v2.27.3
- github.com/hashicorp/consul/api: v1.25.1 → v1.1.0
- github.com/hashicorp/serf: v0.10.1 → v0.8.2
- github.com/influxdata/influxdb-client-go/v2: v2.9.0 → v2.14.0
- github.com/jonboulle/clockwork: v0.4.0 → v0.5.0
- github.com/lucasb-eyer/go-colorful: v1.2.0 → v1.3.0
- github.com/mattn/go-runewidth: v0.0.16 → v0.0.19
- github.com/modern-go/reflect2: v1.0.2 → 35a7c28
- github.com/muesli/termenv: v0.15.2 → v0.16.0
- github.com/openshift/source-to-image: v1.6.0 → v1.5.1
- github.com/prometheus/common: v0.66.1 → v0.67.4
- github.com/prometheus/procfs: v0.17.0 → v0.19.2
- github.com/sagikazarmark/locafero: v0.4.0 → v0.12.0
- github.com/sourcegraph/conc: v0.3.0 → 5f936ab
- github.com/spf13/afero: v1.14.0 → v1.15.0
- github.com/spf13/cast: v1.7.1 → v1.10.0
- github.com/spf13/viper: v1.18.2 → v1.21.0
- github.com/spiffe/go-spiffe/v2: v2.5.0 → v2.6.0
- github.com/tsenart/vegeta/v12: v12.12.0 → v12.13.0
- go.etcd.io/bbolt: v1.4.0 → v1.4.2
- go.etcd.io/etcd/api/v3: v3.5.21 → v3.6.4
- go.etcd.io/etcd/client/pkg/v3: v3.5.21 → v3.6.4
- go.etcd.io/etcd/client/v2: v2.305.21 → v2.305.7
- go.etcd.io/etcd/client/v3: v3.5.21 → v3.6.4
- go.etcd.io/etcd/pkg/v3: v3.5.21 → v3.6.4
- go.etcd.io/etcd/server/v3: v3.5.21 → v3.6.4
- go.opentelemetry.io/auto/sdk: v1.1.0 → v1.2.1
- go.opentelemetry.io/contrib/detectors/gcp: v1.36.0 → v1.38.0
- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp: v0.63.0 → v0.64.0
- go.opentelemetry.io/contrib/instrumentation/runtime: v0.63.0 → v0.64.0
- go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc: v1.38.0 → v1.39.0
- go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp: v1.38.0 → v1.39.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc: v1.38.0 → v1.39.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp: v1.38.0 → v1.39.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace: v1.38.0 → v1.39.0
- go.opentelemetry.io/otel/exporters/prometheus: v0.60.0 → v0.61.0
- go.opentelemetry.io/otel/exporters/stdout/stdouttrace: v1.38.0 → v1.39.0
- go.opentelemetry.io/otel/metric: v1.38.0 → v1.39.0
- go.opentelemetry.io/otel/sdk/metric: v1.38.0 → v1.39.0
- go.opentelemetry.io/otel/sdk: v1.38.0 → v1.39.0
- go.opentelemetry.io/otel/trace: v1.38.0 → v1.39.0
- go.opentelemetry.io/otel: v1.38.0 → v1.39.0
- go.opentelemetry.io/proto/otlp: v1.7.1 → v1.9.0
- go.uber.org/zap: v1.27.0 → v1.27.1
- go.yaml.in/yaml/v2: v2.4.2 → v2.4.3
- golang.org/x/crypto: v0.43.0 → v0.47.0
- golang.org/x/mod: v0.29.0 → v0.32.0
- golang.org/x/net: v0.46.0 → v0.49.0
- golang.org/x/oauth2: v0.30.0 → v0.32.0
- golang.org/x/sync: v0.17.0 → v0.19.0
- golang.org/x/sys: v0.37.0 → v0.40.0
- golang.org/x/term: v0.36.0 → v0.39.0
- golang.org/x/text: v0.30.0 → v0.33.0
- golang.org/x/tools: v0.38.0 → v0.41.0
- google.golang.org/genproto/googleapis/api: c5933d9 → ff82c1b
- google.golang.org/genproto/googleapis/rpc: c5933d9 → ff82c1b
- google.golang.org/grpc: v1.75.0 → v1.77.0
- k8s.io/api: v0.33.5 → v0.34.3
- k8s.io/apiextensions-apiserver: v0.33.5 → v0.34.3
- k8s.io/apimachinery: v0.33.5 → v0.34.3
- k8s.io/apiserver: v0.33.5 → v0.34.3
- k8s.io/cli-runtime: v0.31.4 → v0.34.1
- k8s.io/client-go: v0.33.5 → v0.34.3
- k8s.io/code-generator: v0.33.5 → v0.34.3
- k8s.io/component-base: v0.33.5 → v0.34.3
- k8s.io/gengo/v2: 1244d31 → 85fd79d
- k8s.io/kms: v0.33.5 → v0.34.3
- k8s.io/kube-openapi: c8a335a → f3f2b99
- k8s.io/utils: 1f6e0b7 → 4c0f3b2
- knative.dev/caching: 09d3ca0 → f1fc03b
- knative.dev/client/pkg: b66b3da → 382000a
- knative.dev/eventing: v0.47.0 → v0.48.0
- knative.dev/hack/schema: 4fae780 → bf6758c
- knative.dev/hack: 4fae780 → bf6758c
- knative.dev/networking: 0bde191 → a7cdca2
- knative.dev/reconciler-test: 2187daa → 4301404
- knative.dev/serving: v0.47.0 → v0.48.0
- sigs.k8s.io/kustomize/api: v0.17.2 → v0.20.1
- sigs.k8s.io/kustomize/kyaml: v0.17.1 → v0.20.1