Summary of significant changes to Phabricator, Arcanist and libphutil between May, 2011 and July, 2011.
== Administration ==
- Users may now be made administrators.
- Various semi-sensitive functions are now restricted to administrators. These
display a red header.
- Users may now be disabled.
- There is a user and administrative activity log.
- Added a user administration script.
- Script now masks passwords as they are entered.
- Users may be created from the web UI.
- Schema upgrade script now accepts "-f" to force upgrade.
- Added "phd debug".
- Phabricator no longer requires flex/bison if you aren't a developer.
- Added a garbage collector daemon.
== Arcanist ==
- Added "arc install-certificate" workflow.
- Added "arc branch" workflow.
- Added "arc call-conduit" workflow.
- Added "arc liberate" workflow.
- Improved binary support in "arc patch".
- Improved UTF-8 support.
- Removed obsolete code that examined 'USER' env variable.
- Arcanist now validates host URI configuration.
- Added PyFlakes and PEP8 linters.
- "arc unit" now shows performance information.
- Improved performance of some workflows.
- Verify that ~/.arcrc has 600 file permissions.
- XHPAST linter now detects duplicate keys in array literals.
- XHPAST linter now detects aliased iterators in loops.
- XHPAST linter now detects subexpressions which can be statically evaluated.
- Arcanist now correctly handles textconv.
- BUG: Fixed an issue with library resolution.
== Conduit ==
- Added differential.getrevision method.
- Added paste.info method.
- Added maniphest.info method.
- Added slowvote.info method.
- Added diffusion.getrecentcommitsbypath method.
- Added file.download method.
- Added differential.getalldiffs method.
- Added more fields to many methods.
== Configuration/Install ==
- Detect openssl dependency.
- Detect pcntl dependency.
- Added RHEL install script.
- Added Ubuntu install script.
- Detect magic quotes.
- Detect MyISAM minimum word length.
- Detect bogus memory_limit setting.
- BUG: Tables now explicitly use InnoDB engine.
== Countdown ==
- New "Countdown" application allows you to show a countdown timer to some
- Added fullscreen mode.
- Countdown now supports localization correctly.
== Developer ==
- All service calls are now tracked in DarkConsole.
- New query analyzer simplifies query analysis.
- Visual and usability improvements to XHProf extension.
- Improved error reporting for syntax errors and fatals.
- Improved display of stack traces.
== Differential ==
- Revision creation now appears on the timeline.
- Fixed a parsing issue with older versions of the git client.
- "Ignore All" whitespace mode is now "Ignore Most" and works better. It can
be disabled for languages with semantic whitespace (e.g., python).
- Column width is now configurable per-language and defaults to 120 for Java.
- Differential now supports UTF-8 properly.
- Restored raw file view.
- Restored syntax highlighting.
- Restored email replies.
- Restored "next" and "prev" links to inline comments.
- Removed various nonfunctional inline comment links.
- Differential now includes hints about 'arc' usage.
- Differential now shows Arcanist project names, base revisions, and diff
line counts on revision detail pages.
- Improved performance of syntax highlighting.
- You can now !unsubscribe by email.
- Added keyboard shortcuts for diff navigation.
- Added a keyboard shortcut to fix the reply interface to the bottom of the
- Added "Undo" for inline comments.
- Added an "Add CCs" action.
- Unposted comments are now displayed with a separate style.
- Emails now explicitly list reviewers.
- Changes with inline comments are now never hidden by default.
- BUG: It is no longer possible to make invalid inline comments.
- BUG: Metadata now renders correctly.
- BUG: Fixed many bugs with rendering obscure diff formats.
- BUG: Unsubscribe now properly blocks resubscription.
== Diffusion ==
- Page title now shows filename in browse views.
- Authors are now linked in blame views.
- Commits are now searchable.
- Increased robustness when dealing with deleted repositories.
- BUG: Line number links in git repositories now work properly.
- BUG: View parameter now persists when clicking a line number.
- BUG: Author names with spaces are now parsed correctly.
== Feed ==
- There is now a basic activity feed.
- Added a public mode.
== Files ==
- Now supports more than 100 files.
- Image macros are now editable via web interface.
- Added basic thumbnail transformations.
- Files now support multiple storage engines.
- Added a local disk storage engine.
== Herald ==
- Added "only once" action.
== IRC Bot ==
- Built an IRC bot with Differential and Diffusion object support.
- Added Paste object support.
- Added Maniphest object support.
- Bot now waits a few minutes before mentioning an object again.
- BUG: Fixed issue with unusual IRC names.
- BUG: Fixed issue where remote disconnect would cause a fail loop.
== Mail ==
- Documented Lamson support.
- Improved GMail and threading support.
- Amazon SES correctly includes human-readable data.
- Phabricator now supports private reply-to addresses.
- Phabricator now supports public reply-to addresses.
- Explicitly list "To" and "CC" in multiplexed mail.
- Email subject prefixes may now be configured.
- Improved behavior for stripping quoted replies.
- Added SendGrid support.
- Improved handling of multipart mail with several inline text parts
- BUG: Some handlers now have better UTF-8 support.
== Maniphest ==
- Added drafts.
- You can now edit attached Differential revisions from Maniphest.
- Description changes are viewable inline.
- You can now drag-and-drop files to upload them.
- You can now attach files by email.
- You can now quickly add projects from the task creation interface.
- Added a merge feature.
- Massively improved scalability.
- Added a "subscribed" view.
- Added project filtering.
- You can now search for tasks owned by "upforgrabs".
- You can now create tasks by email.
- BUG: Fixed some issues with CC handling.
== Paste ==
- New "Paste" application allows you to share snippets of text or code.
- Improved language support.
- Pastes now track ancestry when forked.
== Phabricator ==
- Added timezone localization.
- Improved caching behavior of static resources.
- Users may now have multiple concurrent web sessions.
- Users may login with username or email address.
- New logo and favicon.
- Now supports keyboard shortcuts.
- Users now appear in search results.
- BUG: Users are now correctly redirected to the page they tried to access
after login no matter which login method they use.
- BUG: Empty email and realname are now correctly rejected.
- BUG: Fixed an issue where CSRF token cycling was overly conservative and
pages which had been open for more than an hour would sometimes fail in a
confusing way when submitted.
== Phriction ==
- New "Phriction" application allows you to create a wiki.
- Phriction edits now support an optional description.
== Projects ==
- Added subproject support.
- Improved project list to be more useful.
== Remarkup ==
- You can now link to specific comments in Maniphest and Differential.
- Improved display of monospaced text.
- You can now @mention other users, and they will be CC'd on revisions or
tasks where they are mentioned.
- "Pxxxx" now links to pastes.
- Now supports embedding Youtube videos.
- Now supports proxying images.
- BUG: Now uses a stricter regexp to recognize revisions.
== Slowvote ==
- New "Slowvote" application allows you to deliberately democratize decisions.
== Security ==
- Fixed an XSS hole in inline commenting.
- Fixed an XSS hole in Youtube videos.
== Testing ==
- Provided database isolation.
- All right