Summary of changes from December 19, 2015 to December 26, 2015.
| Codebase | Repository | {icon lock} | HEAD | Activity |
|----------|------------|--|------|----------|
| Phabricator | rP | | rP854e27d | 62 commits |
| Arcanist | rARC | | rARCb3e68c9 | 2 commits |
| libphutil | rPHU | | rPHU14765d3 | 2 commits |
| Instances (SAAS) | rSAAS | {icon lock} | rSAAS473a2ff | 1 commit |
| Services (SAAS) | rSERVICES | {icon lock} | rSERVICESa981a58 | 0 commits |
| Core (SAAS) | rCORE | {icon lock} | rCOREd3d45a5 | 0 commits |
- These changes were promoted to `stable`.
- See also [[ /phame/post/view/754/development_notes_2015_week_52/ | Development Notes (2015 Week 52) ]].
(NOTE) This week promotes substantial infrastructure changes which affect Maniphest. See T9905 for discussion.
General
=======
- See T9905 for discussion of major changes which impact Maniphest.
- Added an "English (Pirate)" localization.
Security
========
- No notes in this period.
Migrations
==========
| Migration | Risk | Duration | Notes |
|----|----|----|----|
| 20151218.key.1.keyphid.sql | | 99 ms | Add SSH key PHID.
| 20151218.key.2.keyphid.php | {icon exclamation-triangle color=yellow} | 2,303 ms | Cost proportional to number of SSH keys.
| 20151219.proj.01.prislug.sql | | 51 ms | Hashtag fix.
| 20151219.proj.02.prislugkey.sql | | 22 ms | Hashtag fix.
| 20151219.proj.03.copyslug.sql | | 26 ms | Hashtag fix.
| 20151219.proj.04.dropslugkey.sql | | 15 ms | Hashtag fix.
| 20151219.proj.05.dropslug.sql | | 55 ms | Hashtag fix.
| 20151219.proj.06.defaultpolicy.php | {icon exclamation-triangle color=yellow} | 16 ms | Cost proportional to number of projects.
| 20151219.proj.07.viewnull.sql | | 28 ms | Nullability fix.
| 20151219.proj.08.editnull.sql | | 32 ms | Nullability fix.
| 20151219.proj.09.joinnull.sql | | 39 ms | Nullability fix.
| 20151219.proj.10.subcolumns.sql | | 129 ms | Prepare for subprojects/milestones.
| 20151219.proj.11.subprojectphids.sql | | 23 ms | Drop ancient column.
| 20151221.search.1.version.sql | | 5 ms | New index version table.
| 20151221.search.2.ownersngrams.sql | | 22 ms | First ngram index.
| 20151221.search.3.reindex.php | {icon exclamation-triangle color=yellow} | 149 ms | Cost proportional to number of packages.
| 20151223.proj.01.paths.sql | | 44 ms | Subproject support.
| 20151223.proj.02.depths.sql | | 32 ms | Subproject support.
| 20151223.proj.03.pathkey.sql | | 19 ms | Subproject support.
| 20151223.proj.04.keycol.sql | | 27 ms | Subproject support.
| 20151223.proj.05.updatekeys.php | {icon exclamation-triangle color=yellow} | 640 ms | Cost proportional to number of projects.
| 20151223.proj.06.uniq.sql | | 24 ms | Subproject support.
//"Duration" is the duration for this install, and may not be representative.//
Some migrations have expected cost proportional to number of affected objects:
- This install has 726 SSH keys.
- This install has 231 projects.
- This install has 6 packages.
Upgrading/Compatibility
=======================
- See T9905 for discussion of major changes which impact Maniphest.
Some internal APIs have changed. We expect very few installs to be affected by these changes (they will affect you only if you have written significant amounts of deeply integrated custom code):
- The `TYPE_SEARCH_DIDUPDATEINDEX` event has been removed. Subclass `PhabricatorIndexEngineExtension` or `PhabricatorFulltextEngineExtension` instead. See T9860 for general discussion of events.
- The `TYPE_UI_DIDRENDERHOVERCARD` event has been removed. Subclass `PhabricatorHovercardEngineExtension` instead. See T9860 for general discussion of events. Hovercards are likely to be redesigned soon, see T10055.
- `DocumentIndexer` subclasses are now `FulltextEngine` subclasses.
If you are affected, updating should be straightforward. The new mechanisms provide the same capabilities as the old methods, but have sturdier, more modern structure.
Projects
========
- Improved handling of duplicate hashtags.
- Improved handling of mixed-case hashtags.
- Improved handling of redundant hashtags.
- Improved handling of invalid hashtags.
- Added a "Project Members" policy rule.
- Made internal changes to support sprints/milestones and subprojects.
Search
======
- The indexer now holds a lock while indexing an object.
- The indexer now tracks index versions and can do less redundant indexing work in some cases.
- Added ngram search infrastructure to provide more scalable substring search (Owners packages now use it).
Minor/Miscellaneous
===================
- Fixed a permissions issue with reordering configured forms.
- You can now destroy SSH keys with `bin/remove destroy <phid>`.
- Improved new user experience in most applications.
- Improved some strings related to blocking tasks.
- Improved `WorkingCopy` blueprint behavior with local branches when building commits not present on `master`.
- Phurl and Badges mail should now work correctly.
- When adding `{F...}` text to a textarea after a drag-and-drop, we no longer select it.
- Hid "alice added alice as a subscriber" stories in feed and mail.
- All Remarkup textareas now support an inline preview.
- Live previews no longer render on mobile.
- Fixed an issue with the "Spaces" dropdown when customizing forms.
- Users can now swipe left to remove "stacked action" controls in comment forms on mobile.
- `bin/lipsum` now works a little better and can generate more convincing projects and pastes.
- Daemon configuration is now locked from the web UI.
- Hovercards now appear more often.
- Hovercards now stay on screen a little more often.
- Added a special, limited-time feature.
- Remove a special, limited-time feature. Time's up!
Internal/Developer
==================
- `PhutilMissingSymbolException` is no longer thrown from within `method_exists()` or `property_exists()` calls.
- Modularized `DestructionEngine`.
- Modularized `IndexEngine` (replaces `SearchDocumentIndexer`).
- Fixed an issue where tests could deadlock while cleaning up databases.