github.com/munnerz/test-infra@v0.0.0-20190108210205-ce3d181dc989/prow/ANNOUNCEMENTS.md (about) 1 # Announcements 2 3 New features added to each component: 4 - *October 10, 2018* `tide` now supports the `-repo:foo/bar` tag in queries via 5 the `excludedRepos` YAML field. 6 - *October 3, 2018* `welcome` now supports a configurable message on a per-org, 7 or per-repo basis. Please note that this includes a config schema change that 8 will break previous deployments of this plugin. 9 - *August 22, 2018* `spyglass` is a pluggable viewing framework for artifacts 10 produced by Prowjobs. See a demo [here](https://prow.k8s.io/view/gcs/kubernetes-jenkins/logs/ci-kubernetes-e2e-gce-large-performance/121)! 11 - *July 13, 2018* `blunderbluss` plugin will now support `required_reviewers` in 12 OWNERS file to specify a person or github team to be cc'd on every PR that 13 touches the corresponding part of the code. 14 - *June 25, 2018* `updateconfig` plugin will now support update/remove keys 15 from a glob match. 16 - *June 05, 2018* `blunderbuss` plugin may now suggest approvers in addition 17 to reviewers. Use `exclude_approvers: true` to revert to previous behavior. 18 - *April 10, 2018* `cla` plugin now supports `/check-cla` command 19 to force rechecking of the CLA status. 20 - *February 1, 2018* `updateconfig` will now update any configmap on merge 21 - *November 14, 2017* `jenkins-operator:0.58` exposes prometheus metrics. 22 - *November 8, 2017* `horologium:0.14` prow periodic job now support cron 23 triggers. See https://godoc.org/gopkg.in/robfig/cron.v2 for doc to the 24 cron library we are using. 25 26 Breaking changes to external APIs (labels, GitHub interactions, configuration 27 or deployment) will be documented in this section. Prow is in a pre-release 28 state and no claims of backwards compatibility are made for any external API. 29 Note: versions specified in these announcements may not include bug fixes made 30 in more recent versions so it is recommended that the most recent versions are 31 used when updating deployments. 32 33 - *November 29, 2018* `plank` will no longer default jobs with `decorate: true` 34 to have `automountServiceAccountToken: false` in their PodSpec if unset, if the 35 job explicitly sets `serviceAccountName` 36 - *November 26, 2018* job names must now match `^[A-Za-z0-9-._]+$`. Jobs that did not 37 match this before were allowed but did not provide a good user experience. 38 - *November 15, 2018* the `hook` service account now requires RBAC privileges 39 to create `ConfigMaps` to support new functionality in the `updateconfig` plugin. 40 - *November 9, 2018* Prow gerrit client label/annotations now have a `prow.k8s.io/` namespace 41 prefix, if you have a gerrit deployment, please bump both cmd/gerrit and cmd/crier. 42 - *November 8, 2018* `plank` now defaults jobs with `decorate: true` to have 43 `automountServiceAccountToken: false` in their PodSpec if unset. Jobs that used the default 44 service account should explicitly set this field to maintain functionality. 45 - *October 16, 2018* Prow tls-cert management has been migrated from kube-lego to cert-manager. 46 - *October 12, 2018* Removed deprecated `buildId` environment variable from prow jobs. Use `BUILD_ID.` 47 - *October 3, 2018* `-github-token-file` replaced with 48 `-github-token-path` for consistency with `branchprotector` and 49 `peribolos` which were already using `-github-token-path`. 50 `-github-token-file` will continue to work through the remainder 51 of 2018, but it will be removed in early 2019. The following 52 commands are affected: `cherrypicker`, `hook`, `jenkins-operator`, 53 `needs-rebase`, `phony`, `plank`, `refresh`, and `tide`. 54 - *October 1, 2018* bazel is the one official way to build container images. 55 Please use prow/bump.sh and/or bazel run //prow:release-push 56 - *Sep 27, 2018* If you are setting explicit decorate configs, the format has changed from 57 ```yaml 58 - name: job-foo 59 decorate: true 60 timeout: 1 61 ``` 62 to 63 ```yaml 64 - name: job-foo 65 decorate: true 66 decoration_config: 67 timeout: 1 68 ``` 69 - *September 24, 2018* the `splice` component has been deleted following the 70 deletion of mungegithub. 71 - *July 9, 2018* `milestone` format has changed from 72 ```yaml 73 milestone: 74 maintainers_id: <some_team_id> 75 maintainers_team: <some_team_name> 76 ``` 77 to `repo_milestone` 78 ```yaml 79 repo_milestone: 80 <some_repo_name>: 81 maintainers_id: <some_team_id> 82 maintainers_team: <some_team_name> 83 ``` 84 - *July 2, 2018* the `trigger` plugin will now trust PRs from repo 85 collaborators. Use `only_org_members: true` in the trigger config to 86 temporarily disable this behavior. 87 - *June 14, 2018* the `updateconfig` plugin will only add data to your `ConfigMaps` 88 using the basename of the updated file, instead of using that and also duplicating 89 the data using the name of the `ConfigMap` as a key 90 - *June 1, 2018* all unquoted `boolean` fields in config.yaml that were unmarshall 91 into type `string` now need to be quoted to avoid unmarshalling error. 92 - *May 9, 2018* `deck` logs for jobs run as `Pods` will now return logs for the 93 `"test"` container only. 94 - *April 2, 2018* `updateconfig` format has been changed from 95 ```yaml 96 path/to/some/other/thing: configName 97 ``` 98 to 99 ```yaml 100 path/to/some/other/thing: 101 Name: configName 102 # If unspecified, Namespace default to the value of ProwJobNamespace. 103 Namespace: myNamespace 104 ``` 105 - *March 15, 2018* `jenkins_operator` is removed from the config in favor of 106 `jenkins_operators`. 107 - *March 1, 2018* `MilestoneStatus` has been removed from the plugins Configuration 108 in favor of the `Milestone` which is shared between two plugins: 1) `milestonestatus` 109 and 2) `milestone`. The milestonestatus plugin now uses the `Milestone` object to 110 get the maintainers team ID 111 - *February 27, 2018* `jenkins-operator` does not use `$BUILD_ID` as a fallback 112 to `$PROW_JOB_ID` anymore. 113 - *February 15, 2018* `jenkins-operator` can now accept the `--tot-url` flag 114 and will use the connection to `tot` to vend build identifiers as `plank` 115 does, giving control over where in GCS artifacts land to Prow and away from 116 Jenkins. Furthermore, the `$BUILD_ID` variable in Jenkins jobs will now 117 correctly point to the build identifier vended by `tot` and a new variable, 118 `$PROW_JOB_ID`, points to the identifier used to link ProwJobs to Jenkins builds. 119 `$PROW_JOB_ID` fallbacks to `$BUILD_ID` for backwards-compatibility, ie. to 120 not break in-flight jobs during the time of the jenkins-operator update. 121 - *February 1, 2018* The `config_updater` section in `plugins.yaml` 122 now uses a `maps` object instead of `config_file`, `plugin_file` strings. 123 Please switch over before July. 124 - *November 30, 2017* If you use tide, you'll need to switch your query format 125 and bump all prow component versions to reflect the changes in #5754. 126 - *November 14, 2017* `horologium:0.17` fixes cron job not being scheduled. 127 - *November 10, 2017* If you want to use cron feature in prow, you need to bump to: 128 `hook:0.181`, `sinker:0.23`, `deck:0.62`, `splice:0.32`, `horologium:0.15` 129 `plank:0.60`, `jenkins-operator:0.57` and `tide:0.12` to avoid error spamming from 130 the config parser. 131 - *November 7, 2017* `plank:0.56` fixes bug introduced in `plank:0.53` that 132 affects controllers using an empty kubernetes selector. 133 - *November 7, 2017* `jenkins-operator:0.51` provides jobs with the `$BUILD_ID` 134 variable as well as the `$buildId` variable. The latter is deprecated and will 135 be removed in a future version. 136 - *November 6, 2017* `plank:0.55` provides `Pods` with the `$BUILD_ID` variable 137 as well as the `$BUILD_NUMBER` variable. The latter is deprecated and will be 138 removed in a future version. 139 - *November 3, 2017* Added `EmptyDir` volume type. To update to `hook:0.176+` 140 or `horologium:0.11+` the following components must have the associated 141 minimum versions: `deck:0.58+`, `plank:0.54+`, `jenkins-operator:0.50+`. 142 - *November 2, 2017* `plank:0.53` changes the `type` label key to `prow.k8s.io/type` 143 and the `job` annotation key to `prow.k8s.io/job` added in pods. 144 - *October 14, 2017* `deck:0:53+` needs to be updated in conjunction with 145 `jenkins-operator:0:48+` since Jenkins logs are now exposed from the 146 operator and `deck` needs to use the `external_agent_logs` option in order 147 to redirect requests to the location `jenkins-operator` exposes logs. 148 - *October 13, 2017* `hook:0.174`, `plank:0.50`, and `jenkins-operator:0.47` 149 drop the deprecated `github-bot-name` flag. 150 - *October 2, 2017* `hook:0.171`: The label plugin was split into three 151 plugins (label, sigmention, milestonestatus). Breaking changes: 152 - The configuration key for the milestone maintainer team's ID has been 153 changed. Previously the team ID was stored in the plugins config at key 154 `label`>>`milestone_maintainers_id`. Now that the milestone status labels are 155 handled in the `milestonestatus` plugin instead of the `label` plugin, the 156 team ID is stored at key `milestonestatus`>>`maintainers_id`. 157 - The sigmention and milestonestatus plugins must be enabled on any repos 158 that require them since their functionality is no longer included in the 159 label plugin. 160 - *September 3, 2017* `sinker:0.17` now deletes pods labeled by `plank:0.42` in 161 order to avoid cleaning up unrelated pods that happen to be found in the 162 same namespace prow runs pods. If you run other pods in the same namespace, 163 you will have to manually delete or label the prow-owned pods, otherwise you 164 can bulk-label all of them with the following command and let sinker collect 165 them normally: 166 ``` 167 kubectl label pods --all -n pod_namespace created-by-prow=true 168 ``` 169 - *September 1, 2017* `deck:0.44` and `jenkins-operator:0.41` controllers 170 no longer provide a default value for the `--jenkins-token-file` flag. 171 Cluster administrators should provide `--jenkins-token-file=/etc/jenkins/jenkins` 172 explicitly when upgrading to a new version of these components if they were 173 previously relying on the default. For more context, please see 174 [this pull request.](https://github.com/kubernetes/test-infra/pull/4210) 175 - *August 29, 2017* Configuration specific to plugins is now held in the 176 `plugins` `ConfigMap` and serialized in this repo in the `plugins.yaml` file. 177 Cluster administrators upgrading to `hook:0.148` or newer should move 178 plugin configuration from the main `ConfigMap`. For more context, please see 179 [this pull request.](https://github.com/kubernetes/test-infra/pull/4213)