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)