diff --git a/.ci/olm-tests/catalog.yml b/.ci/olm-tests/catalog.yml index cf441d95..abe138ee 100644 --- a/.ci/olm-tests/catalog.yml +++ b/.ci/olm-tests/catalog.yml @@ -5,4 +5,4 @@ metadata: namespace: olm spec: sourceType: grpc - image: localhost:5000/streamnativeio/function-mesh-catalog:v0.27.2 + image: localhost:5000/streamnativeio/function-mesh-catalog:v0.28.0 diff --git a/.ci/olm-tests/subs.yml b/.ci/olm-tests/subs.yml index 2cb6c029..8084c762 100644 --- a/.ci/olm-tests/subs.yml +++ b/.ci/olm-tests/subs.yml @@ -6,6 +6,6 @@ metadata: spec: channel: alpha name: function-mesh - startingCSV: function-mesh.v0.27.2 + startingCSV: function-mesh.v0.28.0 source: my-test-catalog sourceNamespace: olm diff --git a/.github/workflows/bundle-release.yml b/.github/workflows/bundle-release.yml index 077639d9..9ec02a49 100644 --- a/.github/workflows/bundle-release.yml +++ b/.github/workflows/bundle-release.yml @@ -49,10 +49,10 @@ jobs: username: ${{ secrets.DOCKER_USER }} password: ${{ secrets.DOCKER_PASSWORD }} - - name: Set up GO 1.25.10 + - name: Set up GO 1.25.11 uses: actions/setup-go@v5 with: - go-version: 1.25.10 + go-version: 1.25.11 id: go - name: InstallKubebuilder @@ -180,10 +180,10 @@ jobs: username: ${{ secrets.DOCKER_USER }} password: ${{ secrets.DOCKER_PASSWORD }} - - name: Set up GO 1.25.10 + - name: Set up GO 1.25.11 uses: actions/setup-go@v5 with: - go-version: 1.25.10 + go-version: 1.25.11 id: go - name: InstallKubebuilder diff --git a/.github/workflows/olm-verify.yml b/.github/workflows/olm-verify.yml index d1ed679d..d43f1b09 100644 --- a/.github/workflows/olm-verify.yml +++ b/.github/workflows/olm-verify.yml @@ -34,10 +34,10 @@ jobs: - name: checkout uses: actions/checkout@v2 - - name: Set up GO 1.25.10 + - name: Set up GO 1.25.11 uses: actions/setup-go@v5 with: - go-version: 1.25.10 + go-version: 1.25.11 id: go - name: InstallKubebuilder diff --git a/.github/workflows/project.yml b/.github/workflows/project.yml index 9ccf0db0..7aeb5b89 100644 --- a/.github/workflows/project.yml +++ b/.github/workflows/project.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - go-version: [1.25.10] + go-version: [1.25.11] steps: - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@v1.3.0 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2e525916..9c8076b1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,10 +40,10 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - - name: Set up GO 1.25.10 + - name: Set up GO 1.25.11 uses: actions/setup-go@v5 with: - go-version: 1.25.10 + go-version: 1.25.11 id: go - name: InstallKubebuilder diff --git a/.github/workflows/test-helm-charts.yml b/.github/workflows/test-helm-charts.yml index 8b6a0b43..bf05ab6b 100644 --- a/.github/workflows/test-helm-charts.yml +++ b/.github/workflows/test-helm-charts.yml @@ -83,11 +83,11 @@ jobs: run: hack/kind-cluster-build.sh --name chart-testing -c 1 -v 10 --k8sVersion v1.23.17 if: steps.list-changed.outputs.changed == 'true' - - name: Set up GO 1.25.10 + - name: Set up GO 1.25.11 if: steps.list-changed.outputs.changed == 'true' uses: actions/setup-go@v5 with: - go-version: 1.25.10 + go-version: 1.25.11 id: go - name: setup kubebuilder 3.6.0 diff --git a/.github/workflows/trivy.yml b/.github/workflows/trivy.yml index c2fb335d..f26e312d 100644 --- a/.github/workflows/trivy.yml +++ b/.github/workflows/trivy.yml @@ -57,10 +57,10 @@ jobs: repository: ${{github.event.pull_request.head.repo.full_name}} ref: ${{ github.event.pull_request.head.sha }} - - name: Set up GO 1.25.10 + - name: Set up GO 1.25.11 uses: actions/setup-go@v5 with: - go-version: 1.25.10 + go-version: 1.25.11 id: go - name: InstallKubebuilder diff --git a/.github/workflows/trivy_scheduled_master.yml b/.github/workflows/trivy_scheduled_master.yml index 9c0ee4be..d376b2bb 100644 --- a/.github/workflows/trivy_scheduled_master.yml +++ b/.github/workflows/trivy_scheduled_master.yml @@ -67,10 +67,10 @@ jobs: repository: ${{github.event.pull_request.head.repo.full_name}} ref: ${{ github.event.pull_request.head.sha }} - - name: Set up GO 1.25.10 + - name: Set up GO 1.25.11 uses: actions/setup-go@v5 with: - go-version: 1.25.10 + go-version: 1.25.11 id: go - name: InstallKubebuilder diff --git a/CHANGELOG.md b/CHANGELOG.md index 525700f7..3926b0c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +# Function Mesh v0.28.0 Release Notes + +## v0.28.0 What's New + +* [Runtime] feat: export DownloadServiceConfig and GeneratePythonLogConfigCommand in #835 +* [Runtime] fix: ensure proper shell quoting for parameters in #837 +* [Image] Optimize multi-arch docker image build in #838 +* [Runtime] feat: add a global flag to enable/disable PauseRollout in #840 +* [CI] update Python version to 3.12 in integration test configs in #842 +* [Runtime] feat: Support startupProbe in pod policy in #841 +* [Runtime] feat: support Kafka protocol for functions in #843 + # Function Mesh v0.27.2 Release Notes ## v0.27.2 What's New diff --git a/Dockerfile b/Dockerfile index 0f7dabbf..b658d1b0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Build the manager binary -FROM --platform=$BUILDPLATFORM golang:1.25.10-trixie AS builder +FROM --platform=$BUILDPLATFORM golang:1.25.11-trixie AS builder ARG TARGETOS ARG TARGETARCH diff --git a/Makefile b/Makefile index 7fe25ee9..e59a5ee2 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # Current Operator version -VERSION ?= 0.27.2 +VERSION ?= 0.28.0 # Default image tag DOCKER_REPO := $(if $(DOCKER_REPO),$(DOCKER_REPO),streamnative) OPERATOR_IMG ?= ${DOCKER_REPO}/function-mesh:v$(VERSION) diff --git a/README.md b/README.md index f7fce7af..b611ae7b 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A Kubernetes-Native way to run pulsar functions, connectors and composed functio ## Install ```bash -curl -sSL https://github.com/streamnative/function-mesh/releases/download/v0.27.2/install.sh | bash +curl -sSL https://github.com/streamnative/function-mesh/releases/download/v0.28.0/install.sh | bash ``` The above command installs all the CRDs, required service account configuration, and all function-mesh operator components. Before you start running a function-mesh example, verify if Function Mesh is installed correctly. diff --git a/charts/function-mesh-operator/Chart.yaml b/charts/function-mesh-operator/Chart.yaml index 26d51eab..475f61fd 100644 --- a/charts/function-mesh-operator/Chart.yaml +++ b/charts/function-mesh-operator/Chart.yaml @@ -19,12 +19,12 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.2.42 +version: 0.2.43 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. -appVersion: 0.27.2 +appVersion: 0.28.0 home: https://github.com/streamnative/function-mesh sources: @@ -33,5 +33,5 @@ sources: dependencies: - name: admission-webhook condition: admissionWebhook.enabled - version: 0.2.42 + version: 0.2.43 # repository: https://charts.functionmesh.io/ diff --git a/charts/function-mesh-operator/README.md b/charts/function-mesh-operator/README.md index b9d8c6ec..3fed79fd 100644 --- a/charts/function-mesh-operator/README.md +++ b/charts/function-mesh-operator/README.md @@ -1,6 +1,6 @@ # function-mesh-operator -![Version: 0.2.42](https://img.shields.io/badge/Version-0.2.42-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.27.2](https://img.shields.io/badge/AppVersion-0.27.2-informational?style=flat-square) +![Version: 0.2.43](https://img.shields.io/badge/Version-0.2.43-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.28.0](https://img.shields.io/badge/AppVersion-0.28.0-informational?style=flat-square) function mesh operator Helm chart for Kubernetes @@ -20,7 +20,7 @@ function mesh operator Helm chart for Kubernetes | Repository | Name | Version | |------------|------|---------| -| | admission-webhook | 0.2.42 | +| | admission-webhook | 0.2.43 | ## Values @@ -41,6 +41,7 @@ function mesh operator Helm chart for Kubernetes | controllerManager.metrics.scheme | string | `"https"` | | | controllerManager.namespacedBackendConfig | string | `"backend-config"` | | | controllerManager.nodeSelector | object | `{}` | | +| controllerManager.pauseRollout | bool | `false` | | | controllerManager.pprof.enable | bool | `false` | | | controllerManager.pprof.port | int | `8090` | | | controllerManager.replicas | int | `1` | | @@ -52,7 +53,7 @@ function mesh operator Helm chart for Kubernetes | imagePullPolicy | string | `"IfNotPresent"` | | | imagePullSecrets | list | `[]` | | | installation.namespace | string | `"function-mesh-system"` | | -| operatorImage | string | `"streamnative/function-mesh:v0.27.2"` | | +| operatorImage | string | `"streamnative/function-mesh:v0.28.0"` | | | rbac.create | bool | `true` | | ---------------------------------------------- diff --git a/charts/function-mesh-operator/charts/admission-webhook/Chart.yaml b/charts/function-mesh-operator/charts/admission-webhook/Chart.yaml index 68d85077..5fd6fdac 100644 --- a/charts/function-mesh-operator/charts/admission-webhook/Chart.yaml +++ b/charts/function-mesh-operator/charts/admission-webhook/Chart.yaml @@ -19,13 +19,13 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.2.42 +version: 0.2.43 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: 0.27.2 +appVersion: 0.28.0 home: https://github.com/streamnative/function-mesh sources: diff --git a/charts/function-mesh-operator/charts/admission-webhook/README.md b/charts/function-mesh-operator/charts/admission-webhook/README.md index a4d1aeb4..37451d05 100644 --- a/charts/function-mesh-operator/charts/admission-webhook/README.md +++ b/charts/function-mesh-operator/charts/admission-webhook/README.md @@ -1,6 +1,6 @@ # admission-webhook -![Version: 0.2.42](https://img.shields.io/badge/Version-0.2.42-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.27.2](https://img.shields.io/badge/AppVersion-0.27.2-informational?style=flat-square) +![Version: 0.2.43](https://img.shields.io/badge/Version-0.2.43-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.28.0](https://img.shields.io/badge/AppVersion-0.28.0-informational?style=flat-square) function mesh admission webhook Helm chart for Kubernetes diff --git a/charts/function-mesh-operator/values.yaml b/charts/function-mesh-operator/values.yaml index b874712d..cc0b15c2 100644 --- a/charts/function-mesh-operator/values.yaml +++ b/charts/function-mesh-operator/values.yaml @@ -11,7 +11,7 @@ installation: namespace: function-mesh-system # operatorImage is Function Mesh Operator image -operatorImage: streamnative/function-mesh:v0.27.2 +operatorImage: streamnative/function-mesh:v0.28.0 imagePullPolicy: IfNotPresent imagePullSecrets: [] diff --git a/go.mod b/go.mod index eae358df..592878d9 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.35.1 github.com/prometheus/client_golang v1.20.5 - github.com/streamnative/function-mesh/api v0.27.2 + github.com/streamnative/function-mesh/api v0.28.0 github.com/streamnative/pulsarctl v0.6.0 github.com/stretchr/testify v1.11.1 google.golang.org/protobuf v1.36.10 diff --git a/images/samples/go-function-samples/Dockerfile b/images/samples/go-function-samples/Dockerfile index 2d878934..64d8a10b 100644 --- a/images/samples/go-function-samples/Dockerfile +++ b/images/samples/go-function-samples/Dockerfile @@ -1,5 +1,5 @@ ARG PULSAR_IMAGE_TAG -FROM --platform=$BUILDPLATFORM golang:1.25.10-trixie as builder +FROM --platform=$BUILDPLATFORM golang:1.25.11-trixie as builder ARG TARGETOS ARG TARGETARCH diff --git a/images/samples/go-function-samples/func/go.mod b/images/samples/go-function-samples/func/go.mod index fa39554b..2c75b99a 100644 --- a/images/samples/go-function-samples/func/go.mod +++ b/images/samples/go-function-samples/func/go.mod @@ -1,6 +1,6 @@ module github.com/apache/pulsar/pulsar-function-go/examples -go 1.25.10 +go 1.25.11 require github.com/apache/pulsar/pulsar-function-go v0.0.0-20250430085326-611dc3f360b5 diff --git a/install.sh b/install.sh index 62498b96..785d45f8 100755 --- a/install.sh +++ b/install.sh @@ -56,7 +56,7 @@ EOF main() { local local_kube="kind" - local fm_version="v0.27.2" + local fm_version="v0.28.0" local kind_name="kind" local kind_version="v0.7.0" local node_num=2 diff --git a/operator.Dockerfile b/operator.Dockerfile index 7257c78f..a0d316fa 100644 --- a/operator.Dockerfile +++ b/operator.Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM golang:1.25.10-trixie AS builder +FROM --platform=$BUILDPLATFORM golang:1.25.11-trixie AS builder ARG TARGETOS ARG TARGETARCH diff --git a/redhat.Dockerfile b/redhat.Dockerfile index 51b08700..3a6eb1f2 100644 --- a/redhat.Dockerfile +++ b/redhat.Dockerfile @@ -1,5 +1,5 @@ # Build the manager binary -FROM --platform=$BUILDPLATFORM golang:1.25.10-trixie as builder +FROM --platform=$BUILDPLATFORM golang:1.25.11-trixie as builder ARG TARGETOS ARG TARGETARCH