Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,3 @@ dist
.tmp
apisix-ingress-controller
apisix-ingress-controller-conformance-report.yaml

*.mdx
.cursor/
.env

charts/api7ee3
docs/api
42 changes: 42 additions & 0 deletions releases/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<!--
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
-->

## apisix-ingress-controller release process

1. Create release pull request with release notes.

1. Compile release notes detailing features added since the last release and
add release template file to `releases/` directory. The template is defined
by containerd's release tool but refer to previous release files for style
and format help. Name the file using the version.
See [release-tool](https://github.com/containerd/release-tool)

You can use the following command to generate content

```sh
release-tool -l -d -n -t 1.0.0 releases/v1.0.0.toml
```

2. Vote for release

3. Create tag

4. Push tag and Github release

5. Promote on Slack, Twitter, mailing lists, etc
54 changes: 54 additions & 0 deletions releases/v1.0.0.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# commit to be tagged for new release
commit = "HEAD"

# project_name is used to refer to the project in the notes
project_name = "apisix-ingress-controller"

# github_repo is the github project, only github is currently supported
github_repo = "apache/apisix-ingress-controller"

# match_deps is a pattern to determine which dependencies should be included
# as part of this release. The changelog will also include changes for these
# dependencies based on the change in the dependency's version.
match_deps = "^github.com/(apache/[a-zA-Z0-9-]+)$"

# previous release of this project for determining changes
previous = "0.6.0"

# pre_release is whether to include a disclaimer about being a pre-release
pre_release = false

# preface is the description of the release which precedes the author list
# and changelog. This description could include highlights as well as any
# description of changes. Use markdown formatting.
preface = """\
This is the first **GA** release.

## Highlights

### New Features

* **Support blocklist-source-range annotation for Ingress source** [#446](https://github.com/apache/apisix-ingress-controller/pull/446)
* **Add ApisixConsumer CRD** [#462](https://github.com/apache/apisix-ingress-controller/pull/462)
* **Support rewrite annotation for Ingress source** [#480](https://github.com/apache/apisix-ingress-controller/pull/480)
* **Support http-to-https redirect annotation for Ingress source** [#484](https://github.com/apache/apisix-ingress-controller/pull/484)
* **Add health check to apisix-admin and make the leader election recyclable** [499](https://github.com/apache/apisix-ingress-controller/pull/499)
* **Support mTLS for ApisixTls** [#492](https://github.com/apache/apisix-ingress-controller/pull/492)
* **Support authentication for ApisixRoute** [#528](https://github.com/apache/apisix-ingress-controller/pull/528)
"""
49 changes: 49 additions & 0 deletions releases/v1.1.0.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# commit to be tagged for new release
commit = "HEAD"

# project_name is used to refer to the project in the notes
project_name = "apisix-ingress-controller"

# github_repo is the github project, only github is currently supported
github_repo = "apache/apisix-ingress-controller"

# match_deps is a pattern to determine which dependencies should be included
# as part of this release. The changelog will also include changes for these
# dependencies based on the change in the dependency's version.
match_deps = "^github.com/(apache/[a-zA-Z0-9-]+)$"

# previous release of this project for determining changes
previous = "1.0.0"

# pre_release is whether to include a disclaimer about being a pre-release
pre_release = false

# preface is the description of the release which precedes the author list
# and changelog. This description could include highlights as well as any
# description of changes. Use markdown formatting.
preface = """\
This is a **GA** release.

## Highlights

### New Features

* **Support EndpointSlices** [#563](https://github.com/apache/apisix-ingress-controller/pull/563) [#574](https://github.com/apache/apisix-ingress-controller/pull/574)
* **Support UDP definition** [#572](https://github.com/apache/apisix-ingress-controller/pull/572) [#576](https://github.com/apache/apisix-ingress-controller/pull/576)
"""
49 changes: 49 additions & 0 deletions releases/v1.2.0.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# commit to be tagged for new release
commit = "HEAD"

# project_name is used to refer to the project in the notes
project_name = "apisix-ingress-controller"

# github_repo is the github project, only github is currently supported
github_repo = "apache/apisix-ingress-controller"

# match_deps is a pattern to determine which dependencies should be included
# as part of this release. The changelog will also include changes for these
# dependencies based on the change in the dependency's version.
match_deps = "^github.com/(apache/[a-zA-Z0-9-]+)$"

# previous release of this project for determining changes
previous = "1.1.0"

# pre_release is whether to include a disclaimer about being a pre-release
pre_release = false

# preface is the description of the release which precedes the author list
# and changelog. This description could include highlights as well as any
# description of changes. Use markdown formatting.
preface = """\
This is a **GA** release.

## Highlights

### New Features

* **Support ingress v1beta1 HTTPS** [#596](https://github.com/apache/apisix-ingress-controller/pull/596)
* **Implement schema API** [#601](https://github.com/apache/apisix-ingress-controller/pull/601)
"""
63 changes: 63 additions & 0 deletions releases/v1.3.0.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# commit to be tagged for new release
commit = "HEAD"

# project_name is used to refer to the project in the notes
project_name = "apisix-ingress-controller"

# github_repo is the github project, only github is currently supported
github_repo = "apache/apisix-ingress-controller"

# match_deps is a pattern to determine which dependencies should be included
# as part of this release. The changelog will also include changes for these
# dependencies based on the change in the dependency's version.
match_deps = "^github.com/(apache/[a-zA-Z0-9-]+)$"

# previous release of this project for determining changes
previous = "1.2.0"

# pre_release is whether to include a disclaimer about being a pre-release
pre_release = false

# preface is the description of the release which precedes the author list
# and changelog. This description could include highlights as well as any
# description of changes. Use markdown formatting.
preface = """\
This is a **GA** release.

## Highlights

### Roadmap

In next release(v1.4), all custom resource versions will be upgraded to version v2beta3, and version v2 will be GA released in version 1.5. Please go to [#707](https://github.com/apache/apisix-ingress-controller/issues/707) for detail.

### Breaking Changes

* In this release(v1.3), the CRD version has been upgraded to `apiextensions.k8s.io/v1`, which means that **the minimum version of Kubernetes supported by APISIX Ingress is v1.16 and later**.
* The ValidatingWebhookConfiguration version has been upgraded to `admissionregistration.k8s.io/v1`, which means that if you want using the default Dynamic Admission Control, you need ensure that the Kubernetes cluster is at least as new as v1.16.

### New Features

* We have introduced the **v2beta2 version of ApisixRoute** and will drop support for `v2alpha1` ApisixRoute [#698](https://github.com/apache/apisix-ingress-controller/pull/698)
* Add cert-manager support [#685](https://github.com/apache/apisix-ingress-controller/pull/685)
* Add full compare when APISIX Ingress startup [#680](https://github.com/apache/apisix-ingress-controller/pull/680)
* Support TLS for Ingress v1 [#634](https://github.com/apache/apisix-ingress-controller/pull/634)
* Add admission server and a validation webhook for plugins [#573](https://github.com/apache/apisix-ingress-controller/pull/573)
* Add `timeout` field for ApisixRoute CR [#609](https://github.com/apache/apisix-ingress-controller/pull/609)
* Add new metrics `apisix_ingress_controller_check_cluster_health` and `apisix_ingress_controller_sync_success_total` [#627](https://github.com/apache/apisix-ingress-controller/pull/627)
"""
60 changes: 60 additions & 0 deletions releases/v1.4.0.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# commit to be tagged for new release
commit = "HEAD"

# project_name is used to refer to the project in the notes
project_name = "apisix-ingress-controller"

# github_repo is the github project, only github is currently supported
github_repo = "apache/apisix-ingress-controller"

# match_deps is a pattern to determine which dependencies should be included
# as part of this release. The changelog will also include changes for these
# dependencies based on the change in the dependency's version.
match_deps = "^github.com/(apache/[a-zA-Z0-9-]+)$"

# previous release of this project for determining changes
previous = "1.3.0"

# pre_release is whether to include a disclaimer about being a pre-release
pre_release = false

# preface is the description of the release which precedes the author list
# and changelog. This description could include highlights as well as any
# description of changes. Use markdown formatting.
preface = """\
This is a **GA** release.

## Highlights

### Roadmap

In next release(v1.5), custom resource's API version v2 will be GA released. Please go to [#707](https://github.com/apache/apisix-ingress-controller/issues/707) for detail.

### Breaking Changes

* In this release(v1.4), all custom resource's API version has been upgraded to `apisix.apache.org/v2beta3`, and we deleted `apisix.apache.org/v2beta3` and `apisix.apache.org/v2alpha1`. Please see [#746](https://github.com/apache/apisix-ingress-controller/pull/746)

### New Features

* We have introduced the **`apisix.apache.org/v2beta3` API version for all custom resources** and deleted `v2alpha1` and `v1` API version [#746](https://github.com/apache/apisix-ingress-controller/pull/746)
* Initial support for Gateway API [#789](https://github.com/apache/apisix-ingress-controller/pull/789)
* Add a new ApisixPluginConfig CRD for reuse common plugin configurations. [#638](https://github.com/apache/apisix-ingress-controller/issues/638)
* Support regex in Ingress path [#779](https://github.com/apache/apisix-ingress-controller/pull/779)
* We can update the load balancing IP of the Ingress, and it can work in various public cloud environments [#740](https://github.com/apache/apisix-ingress-controller/pull/740)
"""
63 changes: 63 additions & 0 deletions releases/v1.4.1.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# commit to be tagged for new release
commit = "HEAD"

# project_name is used to refer to the project in the notes
project_name = "apisix-ingress-controller"

# github_repo is the github project, only github is currently supported
github_repo = "apache/apisix-ingress-controller"

# match_deps is a pattern to determine which dependencies should be included
# as part of this release. The changelog will also include changes for these
# dependencies based on the change in the dependency's version.
match_deps = "^github.com/(apache/[a-zA-Z0-9-]+)$"

# previous release of this project for determining changes
previous = "1.4.0"

# pre_release is whether to include a disclaimer about being a pre-release
pre_release = false

# preface is the description of the release which precedes the author list
# and changelog. This description could include highlights as well as any
# description of changes. Use markdown formatting.
preface = """\
This is a Patch version release.

## Highlights

### Roadmap

In next release(v1.5), custom resource's API version v2 will be GA released. Please go to [#707](https://github.com/apache/apisix-ingress-controller/issues/707) for detail.

### Bug fixes

* fix: consumer name contain "-" [#828](https://github.com/apache/apisix-ingress-controller/pull/828)
* fix: fix typo in ApidixRoute CRD [#830](https://github.com/apache/apisix-ingress-controller/pull/830)
* fix: add v2beta3 register resources [#833](https://github.com/apache/apisix-ingress-controller/pull/833)
* fix: ApisixClusterConfig e2e test case [#859](https://github.com/apache/apisix-ingress-controller/pull/859)
* fix: objects get from lister must be treated as read-only [#829](https://github.com/apache/apisix-ingress-controller/pull/829)
* fix ingress delete panic [#872](https://github.com/apache/apisix-ingress-controller/pull/872)
* fix json unmarshal error when list plguins [#888](https://github.com/apache/apisix-ingress-controller/pull/888)
* fix: check if stream_routes is disabled [#868](https://github.com/apache/apisix-ingress-controller/pull/868)
* fix: avoid create pluginconfig in the tranlsation of route [#845](https://github.com/apache/apisix-ingress-controller/pull/845)
* fix: filter useless pod update event [#894](https://github.com/apache/apisix-ingress-controller/pull/894)
* fix: fix ep resourceVersion comparison and clean up [#901](https://github.com/apache/apisix-ingress-controller/pull/901)
* fix: ingress update event handler not filter by watching namespaces [#947](https://github.com/apache/apisix-ingress-controller/pull/)
"""
Loading
Loading