Summary of changes from February 23, 2019 to March 8, 2019.
| Codebase | Repository | {icon lock} | HEAD | Activity |
|----------|------------|--|------|----------|
| Phabricator | rP | | rPc1bff3b80 | 43 commits |
| Arcanist | rARC | | rARC9830c931 | 4 commits |
| libphutil | rPHU | | rPHU6c64dce | 4 commits |
| Instances (SAAS) | rSAAS | {icon lock} | rSAASacff942 | 0 commits |
| Services (SAAS) | rSERVICES | {icon lock} | rSERVICES832743e | 0 commits |
| Core (SAAS) | rCORE | {icon lock} | rCORE78c222b | 1 commit |
- These changes were promoted to `stable`.
General
=======
**[{icon tint, color=sky}] Build Plan Behaviors**: Some builds run for a very long time, or are unreliable, or have substantial side effects.
Build plans now have configurable behaviors to improve how these builds are handled.
- **Hold Drafts**: Allows you to mark a flaky, unimportant, or very long-running build so that Differential will ignore the result (or not even wait for the build to finish) when promoting revisions from "Draft" and sending them for review.
- **Warn On Land**: Allows you mark a build so that "arc land" doesn't warn if it's still running or has failed. You'll need to update "arc" to get the new behavior.
- **Affects Buildable**: By default, the overall status of a buildable is "pass" if all its builds have passed and "failed" if any of its builds have failed. You can make the buildable ignore (and/or not wait for) particular builds if they aren't important or you aren't concerned about failures.
- **Restartable**: If a build has side effects like deployment or merging, you can now prevent it from being restarted.
- **Runnable**: Provides alternatives to control who may manually run (and restart, pause, abort, and resume) a build.
Alongside the "Runnable" behavior, the policy rules have changed slightly. The old rules were:
- Old Rule: To restart a build plan, you previously had to be able to view it.
- Old Rule: To run a plan manually, or abort, pause, or resume it, you previously had to be able to edit it.
The new rules are:
- If the plan is "Runnable: If Editable" (this is the default), you need to be able to edit it to take any run action (run manually, restart, pause, abort, or resume).
- If the plan is "Runnable: If Viewable", you only need to be able to view it to take those actions.
Security
========
- //No notes in this period.//
Migrations
==========
| Migration | Risk | Duration |
|-----------|------|----------|
| 20190226.harbor.01.planprops.sql | | 34 ms |
| 20190226.harbor.02.planvalue.sql | | 1 ms |
| 20190307.herald.01.comments.sql | | 11 ms |
//"Duration" is the duration for this install, and may not be representative.//
Upgrading / Compatibility
=========================
- The policies around running builds have changed slightly, see above. The defaults are now more strict.
Arcanist
========
- [{icon tint, color=sky}] `arc land` now respects the "Warn When Landing" Build Plan behavior (see above).
- [{icon tint, color=sky}] Slightly improved performance of `arc diff` when updating a revision with a large total diff size.
- [{icon tint, color=sky}] Fixed an issue where `arc patch` could misbehave with submodules.
Minor
=====
- [{icon tint, color=sky}] We now try harder to prevent execution of subprocesses in invalid working directories.
- [{icon tint, color=sky}] `transaction.search` now supports an `authorPHIDs` constraint.
- [{icon tint, color=sky}] `transaction.search` now returns details about transactions which changed project tags.
- [{icon tint, color=sky}] Added a `harbormaster.buildplan.edit` API method.
- [{icon tint, color=sky}] Build plans now show recent builds.
- [{icon tint, color=sky}] Build plans now show Herald rules which trigger them.
- [{icon tint, color=sky}] Closing a subtask of a locked task no longer raises a permissions error.
- [{icon tint, color=sky}] Some SSH errors in Harbormaster/Drydock are now surfaced more clearly.
- [{icon tint, color=sky}] `bin/worker execute` now has `--retry` and `--repeat` flags.
- [{icon tint, color=sky}] Fixed a fatal on some Duo MFA workflows.
- [{icon tint, color=sky}] The "official" generated code pattern in Go is now recognized by Phabricator.
- [{icon tint, color=sky}] A note is now posted to revision timelines when a revision lands with failed or ongoing builds that "arc land" would warn about.
- [{icon tint, color=sky}] Fixed a fatal when accessing a user cache in `bin/conduit call --as <user>`.
- [{icon tint, color=sky}] `bin/policy unlock` now accepts `--view`, `--edit`, and `--owner` flags and can unlock objects more surgically.
- [{icon tint, color=sky}] Improved a query key issue for high LFS request rates.
//The [{icon tint, color=sky}] icon indicates a change backed by support mana.//