<commit_before>// Module included in the following assembly:
//
// * cicd/pipelines/op-release-notes.adoc

[id="op-release-notes-1-4_{context}"]
= Release notes for {pipelines-title} General Availability 1.4

{pipelines-title} General Availability (GA) 1.4 is now available on {product-title} 4.7.

[NOTE]
====
In addition to the stable and preview Operator channels, the {pipelines-title} Operator 1.4.0 comes with the ocp-4.6, ocp-4.5, and ocp-4.4 deprecated channels. These deprecated channels and support for them will be removed in the following release of {pipelines-title}.
====

[id="compatibility-support-matrix-1-4_{context}"]
== Compatibility and support matrix

Some features in this release are currently in Technology Preview. These experimental features are not intended for production use.

link:https://access.redhat.com/support/offerings/techpreview[Technology Preview Features Support Scope]

In the table below, features are marked with the following statuses:

- *TP*: _Technology Preview_

- *GA*: _General Availability_

Note the following scope of support on the Red Hat Customer Portal for these features:

.Compatibility and support matrix
[cols="1,1,1",options="header"]
|===
| Feature | Version | Support Status
| Pipelines | 0.22 | GA
| CLI | 0.17 | GA
| Catalog | 0.22 | GA
| Triggers | 0.12 | TP
| Pipeline resources | - | TP
|===


For questions and feedback, you can send an email to the product team at <EMAIL>.

[id="new-features-1-4_{context}"]
== New features

In addition to the fixes and stability improvements, the following sections highlight what is new in {pipelines-title} 1.4.

* The custom tasks have the following enhancements:
** Pipeline results can now refer to results produced by custom tasks.
** Custom tasks can now use workspaces, service accounts, and pod templates to build more complex custom tasks.

* The `finally` task has the following enhancements:
** The `when` expressions are supported in `finally` tasks, which provides efficient guarded execution and improved reusability of tasks.
** A `finally` task can be configured to consume the results of any task within the same pipeline.
+
[NOTE]
====
Support for `when` expressions and `finally` tasks are unavailable in the {product-title} 4.7 web console.
====

* Support for multiple secrets of the type `dockercfg` or `dockerconfigjson` is added for authentication at runtime.

* Functionality to support sparse-checkout with the `git-clone` task is added. This enables you to clone only a subset of the repository as your local copy, and helps you to restrict the size of the cloned repositories.

* You can create pipeline runs in a pending state without actually starting them. In clusters that are under heavy load, this allows Operators to have control over the start time of the pipeline runs.

* Ensure that you set the `SYSTEM_NAMESPACE` environment variable manually for the controller; this was previously set by default.

* A non-root user is now added to the build-base image of pipelines so that `git-init` can clone repositories as a non-root user.

* Support to validate dependencies between resolved resources before a pipeline run starts is added. All result variables in the pipeline must be valid, and optional workspaces from a pipeline can only be passed to tasks expecting it for the pipeline to start running.

* The controller and webhook runs as a non-root group, and their superfluous capabilities have been removed to make them more secure.

* You can use the `tkn pr logs` command to see the log streams for retried task runs.

* You can use the `--clustertask` option in the `tkn tr delete` command to delete all the task runs associated with a particular cluster task.

* Support for using Knative service with the `EventListener` resource is added by introducing a new `customResource` field.

* An error message is displayed when an event payload does not use the JSON format.

* The source control interceptors such as GitLab, BitBucket, and GitHub, now use the new `InterceptorRequest` or `InterceptorResponse` type interface.

* A new CEL function `marshalJSON` is implemented so that you can encode a JSON object or an array to a string.

* An HTTP handler for serving the CEL and the source control core interceptors is added. It packages four core interceptors into a single HTTP server that is deployed in the `tekton-pipelines` namespace. The `EventListener` object forwards events over the HTTP server to the interceptor. Each interceptor is available at a different path. For example, the CEL interceptor is available on the `/cel` path.

* The `pipelines-scc` Security Context Constraint (SCC) is used with the default `pipeline` service account for pipelines. This new service account is similar to `anyuid`, but with a minor difference as defined in the YAML for SCC of {product-title} 4.7:
+
[source, YAML]
----
fsGroup:
  type: MustRunAs
----

[id="deprecated-features-1-4_{context}"]
== Deprecated features

* The `build-gcs` sub-type in the pipeline resource storage, and the `gcs-fetcher` image, are not supported.

* In the `taskRun` field of cluster tasks, the label `tekton.dev/task` is removed.

* For webhooks, the value `v1beta1` corresponding to the field `admissionReviewVersions` is removed.

* The `creds-init` helper image for building and deploying is removed.

* In the triggers spec and binding, the deprecated field `template.Name` is removed in favor of `template.Ref`.

* For `EventListener` custom resources/objects, the fields `PodTemplate` and `ServiceType` are deprecated in favor of `Resource`.

* The deprecated spec style embedded bindings is removed.

* The `spec` field is removed from the `triggerSpecBinding`.

* The event ID representation is changed from a five-character random string to a UUID.


[id="known-issues-1-4_{context}"]
== Known issues

* In the **Developer** perspective, Pipeline Metrics and Triggers are available only on {product-title} 4.7.6 or later versions.

* On IBM Power Systems, IBM Z, and LinuxONE, the `tkn hub` command is not supported.

* When you run Maven and Jib Maven cluster tasks on an IBM Power Systems (ppc64le), IBM Z, and LinuxONE (s390x) clusters, set the `MAVEN_IMAGE` parameter value to `maven:3.6.3-adoptopenjdk-11`.

* On IBM Power Systems, IBM Z, and LinuxONE, a Jib Maven cluster task fails.

* Triggers throw error resulting from bad handling of the JSON format, if you have the following configuration in the trigger binding:
+
[source, YAML]
----
params:
  - name: github_json
    value: $(body)
----
To resolve the issue:
** If you are using triggers v0.11.0 and above, use the `marshalJSON` CEL function, which takes a JSON object or array and returns the JSON encoding of that object or array as a string.<commit_msg>removed jib maven restriction for IBM<commit_after>// Module included in the following assembly:
//
// * cicd/pipelines/op-release-notes.adoc

[id="op-release-notes-1-4_{context}"]
= Release notes for {pipelines-title} General Availability 1.4

{pipelines-title} General Availability (GA) 1.4 is now available on {product-title} 4.7.

[NOTE]
====
In addition to the stable and preview Operator channels, the {pipelines-title} Operator 1.4.0 comes with the ocp-4.6, ocp-4.5, and ocp-4.4 deprecated channels. These deprecated channels and support for them will be removed in the following release of {pipelines-title}.
====

[id="compatibility-support-matrix-1-4_{context}"]
== Compatibility and support matrix

Some features in this release are currently in Technology Preview. These experimental features are not intended for production use.

link:https://access.redhat.com/support/offerings/techpreview[Technology Preview Features Support Scope]

In the table below, features are marked with the following statuses:

- *TP*: _Technology Preview_

- *GA*: _General Availability_

Note the following scope of support on the Red Hat Customer Portal for these features:

.Compatibility and support matrix
[cols="1,1,1",options="header"]
|===
| Feature | Version | Support Status
| Pipelines | 0.22 | GA
| CLI | 0.17 | GA
| Catalog | 0.22 | GA
| Triggers | 0.12 | TP
| Pipeline resources | - | TP
|===


For questions and feedback, you can send an email to the product team at <EMAIL>.

[id="new-features-1-4_{context}"]
== New features

In addition to the fixes and stability improvements, the following sections highlight what is new in {pipelines-title} 1.4.

* The custom tasks have the following enhancements:
** Pipeline results can now refer to results produced by custom tasks.
** Custom tasks can now use workspaces, service accounts, and pod templates to build more complex custom tasks.

* The `finally` task has the following enhancements:
** The `when` expressions are supported in `finally` tasks, which provides efficient guarded execution and improved reusability of tasks.
** A `finally` task can be configured to consume the results of any task within the same pipeline.
+
[NOTE]
====
Support for `when` expressions and `finally` tasks are unavailable in the {product-title} 4.7 web console.
====

* Support for multiple secrets of the type `dockercfg` or `dockerconfigjson` is added for authentication at runtime.

* Functionality to support sparse-checkout with the `git-clone` task is added. This enables you to clone only a subset of the repository as your local copy, and helps you to restrict the size of the cloned repositories.

* You can create pipeline runs in a pending state without actually starting them. In clusters that are under heavy load, this allows Operators to have control over the start time of the pipeline runs.

* Ensure that you set the `SYSTEM_NAMESPACE` environment variable manually for the controller; this was previously set by default.

* A non-root user is now added to the build-base image of pipelines so that `git-init` can clone repositories as a non-root user.

* Support to validate dependencies between resolved resources before a pipeline run starts is added. All result variables in the pipeline must be valid, and optional workspaces from a pipeline can only be passed to tasks expecting it for the pipeline to start running.

* The controller and webhook runs as a non-root group, and their superfluous capabilities have been removed to make them more secure.

* You can use the `tkn pr logs` command to see the log streams for retried task runs.

* You can use the `--clustertask` option in the `tkn tr delete` command to delete all the task runs associated with a particular cluster task.

* Support for using Knative service with the `EventListener` resource is added by introducing a new `customResource` field.

* An error message is displayed when an event payload does not use the JSON format.

* The source control interceptors such as GitLab, BitBucket, and GitHub, now use the new `InterceptorRequest` or `InterceptorResponse` type interface.

* A new CEL function `marshalJSON` is implemented so that you can encode a JSON object or an array to a string.

* An HTTP handler for serving the CEL and the source control core interceptors is added. It packages four core interceptors into a single HTTP server that is deployed in the `tekton-pipelines` namespace. The `EventListener` object forwards events over the HTTP server to the interceptor. Each interceptor is available at a different path. For example, the CEL interceptor is available on the `/cel` path.

* The `pipelines-scc` Security Context Constraint (SCC) is used with the default `pipeline` service account for pipelines. This new service account is similar to `anyuid`, but with a minor difference as defined in the YAML for SCC of {product-title} 4.7:
+
[source, YAML]
----
fsGroup:
  type: MustRunAs
----

[id="deprecated-features-1-4_{context}"]
== Deprecated features

* The `build-gcs` sub-type in the pipeline resource storage, and the `gcs-fetcher` image, are not supported.

* In the `taskRun` field of cluster tasks, the label `tekton.dev/task` is removed.

* For webhooks, the value `v1beta1` corresponding to the field `admissionReviewVersions` is removed.

* The `creds-init` helper image for building and deploying is removed.

* In the triggers spec and binding, the deprecated field `template.Name` is removed in favor of `template.Ref`.

* For `EventListener` custom resources/objects, the fields `PodTemplate` and `ServiceType` are deprecated in favor of `Resource`.

* The deprecated spec style embedded bindings is removed.

* The `spec` field is removed from the `triggerSpecBinding`.

* The event ID representation is changed from a five-character random string to a UUID.


[id="known-issues-1-4_{context}"]
== Known issues

* In the **Developer** perspective, Pipeline Metrics and Triggers are available only on {product-title} 4.7.6 or later versions.

* On IBM Power Systems, IBM Z, and LinuxONE, the `tkn hub` command is not supported.

* When you run Maven and Jib Maven cluster tasks on an IBM Power Systems (ppc64le), IBM Z, and LinuxONE (s390x) clusters, set the `MAVEN_IMAGE` parameter value to `maven:3.6.3-adoptopenjdk-11`.

* Triggers throw error resulting from bad handling of the JSON format, if you have the following configuration in the trigger binding:
+
[source, YAML]
----
params:
  - name: github_json
    value: $(body)
----
To resolve the issue:
** If you are using triggers v0.11.0 and above, use the `marshalJSON` CEL function, which takes a JSON object or array and returns the JSON encoding of that object or array as a string.
{'fraction_non_alphanumeric': 0.07398337785693083, 'fraction_numerical': 0.00964677945978035, 'mean_word_length': 4.454067179279644, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5375107', 'n_tokens_mistral': 3689, 'n_tokens_neox': 3531, 'n_words': 1880}