Summary of changes from March 30, 2018 to April 7, 2018.
| Codebase | Repository | {icon lock} | HEAD | Activity |
|----------|------------|--|------|----------|
| Phabricator | rP | | rPf01c2e369 | 21 commits |
| Arcanist | rARC | | rARC73f5afd4 | 2 commits |
| libphutil | rPHU | | rPHU1ad4249 | 0 commits |
| Instances (SAAS) | rSAAS | {icon lock} | rSAASf7ca368 | 0 commits |
| Services (SAAS) | rSERVICES | {icon lock} | rSERVICES6b3fb8d | 0 commits |
| Core (SAAS) | rCORE | {icon lock} | rCORE5c1b3be | 0 commits |
- These changes were promoted to `stable`.
General
=======
[{icon tint, color=sky}] **Revision Size Markers**: Revisions now show sizes in a visual way on the revision list UI and in email subject lines. The new element looks like this:
```
[+++-- ]
```
This element is somewhat similar to the elements in `git diff --stat`. It will show between 1 symbol (a small change) and 7 symbols (a very large change). The scale is logarithmic and a 7-symbol change is about 100x larger than a 1-symbol change.
The change is broken down into "+" and "-" to hint at how many lines are added and removed.
The overall goal is to make it easier to assess the size of a change at a glance without doing actual math.
This element is tentative and may be rewritten or removed.
[{icon tint, color=sky}] **Very Large Changes:** Revisions which affect more than 1,000 files now degrade more aggressively in the UI. The documentation warning against these changes has been removed, and `arc` no longer warns about changes affecting more than 250 files.
These changes generally do not receive actual human review, but it's reasonable to submit them through Differential anyway to take advantage of support systems (like Harbormaster, Drydock, Herald, etc).
Revisions with more than 7 reviewers now render only the first 7 in the list view.
[{icon tint, color=sky}] **Builds and Drafts**: When builds fail on a draft revision, it is now demoted to "Changes Planned" and the author is emailed.
Drafts that are "Abandoned" or demoted to "Changes Planned" now retain their nonbroadcasting state and will not email reviewers. This is indicated in the header by a status tag like "Abandoned" and an additional "Draft" tag.
When "Abandoned + Draft" or "Changes Planned + Draft" revisions are reclaimed or updated, they return to a "Draft" state.
Revisions now ignore local lint and unit test results from `arc` when considering promotion from "Draft" to "Needs Review" or demotion from "Draft" to "Changes Planned".
The internals of build publishing have changed. See below for details. This affects you only if you have unusual patches affecting Harbormaster.
Security
========
- //No notes in this period.//
Migrations
==========
| Migration | Risk | Duration | Notes |
|-----------|------|----------|-------|
| 20180403.draft.01.broadcast.php | | 4 ms |
//"Duration" is the duration for this install, and may not be representative.//
Upgrading / Compatibility
=========================
These are internal changes affecting Harbormaster. Installs should be impacted only if they have forked and patched Harbormaster behavior or extended Harbormaster in sophisticated ways:
- Implementing `BuildableInterface` now requires implementing `newBuildableEngine()`.
- Implementing `BuildableInterface` no longer requires implementing `getHarbormasterPublishablePHID()`. Publishing indirection is now handled by `BuildableEngine`.
- `PhabricatorTransactions::TYPE_BUILDABLE` no longer exists. Instead, applications should implement application-specific modular transactions to report build status information. `DiffusionCommitBuildableTransaction` may be useful as a template.
- In Differential, `getHasBroadcast()`, `setHasBroadcast()`, and `PROPERTY_HAS_BROADCAST` are now `getShouldBroadcast()`, etc.
- In Differential, `shouldBroadcast()` has been removed; `getShouldBroadcast()` now means the same thing.
Minor
=====
- [{icon tint, color=sky}] `arc patch --revision D123` now works correctly (previously, `123` worked but `D123` did not).
- [{icon tint, color=sky}] Fixed an issue with the YouTube remarkup rule interacting with the new Content-Security-Policy.
- Fixed an issue where dangerous change protection could fatal too early when deleting branches.
//The [{icon tint, color=sky}] icon indicates a change backed by support mana.//