Horizontal scaling and a revamped user picker

The big news for the week is that the Bitbucket application servers are now configured to be highly available!

An unexpected side benefit to the new deployment is that we’re seeing upwards of a 10% performance increase for push and pull operations. This is attributed to removing the complex routing system that determined which application server your Mercurial repositories were bound to. You’ll now be redirected to one of three application servers dynamically based on load.

Never satisfied, we set out to revamp the access control user picker. To refresh your memory, here’s what the user interface has been for quite some time now:

Taking a bit of inspiration from JIRA, and getting some love from our resident designer, we’ve revamped the search results and pull-down interface:

Until next week, here's the full list of changes this week:

Improvements:

  • Updated to Mercurial 1.7.2
  • Added “What is Bitbucket” banner for anonymous users
  • Added cookie-based authentication for the REST API
  • Revamped the user picker used for access control
  • Implemented horizontal scaling for our application servers
  • Implemented South for database upgrades
  • Improved the reliability of repository brokers

Bug fixes:

  • Fixed inline editing of issue titles
  • Fixed a regression in how issue filtering handled multiple values for the same field
  • Fixed the file extensions and mime types for source downloads
  • Fixed SSL mixed content warnings on certain pages when logged out
  • Fixed commit messages in the changelog not being HTML escaped
  • Fixed a server error when forking from a non-tip revision
  • Fixed a server error when pushing bookmarks
  • Fixed bookmarks not being visible on the site
  • Fixed minor rendering issues in the notification inbox
  • Fixed the pagination links in the notification outbox
  • Fixed an incorrect plan price on the signup page
  • Fixed repository permissions REST API not enforcing plan restrictions
  • Fixed authentication issues in the FogBugz repository broker