Page MenuHomePhabricator

2015 Week 52 (Late December)
Updated 2,534 Days AgoPublic

Summary of changes from December 19, 2015 to December 26, 2015.

PhabricatorrPrP854e27d62 commits
ArcanistrARCrARCb3e68c92 commits
libphutilrPHUrPHU14765d32 commits
Instances (SAAS)rSAASrSAAS473a2ff1 commit
Services (SAAS)rSERVICESrSERVICESa981a580 commits
Core (SAAS)rCORErCOREd3d45a50 commits
This week promotes substantial infrastructure changes which affect Maniphest. See T9905 for discussion.


  • See T9905 for discussion of major changes which impact Maniphest.
  • Added an "English (Pirate)" localization.


  • No notes in this period.


20151218.key.1.keyphid.sql99 msAdd SSH key PHID.
20151218.key.2.keyphid.php2,303 msCost proportional to number of SSH keys.
20151219.proj.01.prislug.sql51 msHashtag fix.
20151219.proj.02.prislugkey.sql22 msHashtag fix.
20151219.proj.03.copyslug.sql26 msHashtag fix.
20151219.proj.04.dropslugkey.sql15 msHashtag fix.
20151219.proj.05.dropslug.sql55 msHashtag fix.
20151219.proj.06.defaultpolicy.php16 msCost proportional to number of projects.
20151219.proj.07.viewnull.sql28 msNullability fix.
20151219.proj.08.editnull.sql32 msNullability fix.
20151219.proj.09.joinnull.sql39 msNullability fix.
20151219.proj.10.subcolumns.sql129 msPrepare for subprojects/milestones.
20151219.proj.11.subprojectphids.sql23 msDrop ancient column. msNew index version table. msFirst ngram index. msCost proportional to number of packages.
20151223.proj.01.paths.sql44 msSubproject support.
20151223.proj.02.depths.sql32 msSubproject support.
20151223.proj.03.pathkey.sql19 msSubproject support.
20151223.proj.04.keycol.sql27 msSubproject support.
20151223.proj.05.updatekeys.php640 msCost proportional to number of projects.
20151223.proj.06.uniq.sql24 msSubproject 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.


  • 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.


  • 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.


  • 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).


  • 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.
  • Differential no longer shows Branch: master (branched from master).
  • Added a special, limited-time feature.
  • Remove a special, limited-time feature. Time's up!


  • 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.
Last Author
Last Edited
Dec 26 2015, 2:40 PM