We spent the past month going through Review Board and finding ways we could make the product faster and feel smoother. Posting and reviewing changes, being the sole purpose of the product, seemed like a pretty good place to start, so we got cracking.
Along the way, we've improved our support for LDAP, Perforce, and touchscreens, and fixed a handful of bugs.
Faster diff uploads
With today's release of Review Board 2.5.11, we've rewritten our diff parsers to be able to handle very large diffs (10 megabytes in size) in a second or two, using less memory in the process. This used to take a lot longer for some diffs. These performance benefits of course extend to smaller diffs as well.
If you're posting existing commits for review in the New Review Request page, you'll find that what used to take seconds is now nearly instantaneous. We've substantially cut down on the work needed here.
Using Perforce? We've changed how we're managing login sessions and fetching information about files in the repository. On larger Perforce installations, you'll see a huge performance benefit here.
A faster, smoother diff viewer
We've polished up the diff viewer, fixing a lot of perceived and actual performance problems. Large diffs that used to swamp the browser can now be viewed without problems. Resizing the window, which used to feel choppy in some browsers, is now silky-smooth.
Firefox users will especially notice an improvement here, as we've cut down on the work the browser needs to do in order to render the page.
Faster search indexing
Some nasty performance bugs in search indexing have been squashed. Indexes that used to take 30 minutes may now only take 2-5 minutes.
Fixed touchscreen support when reviewing changes
We've fixed a lot of bugs with our touchscreen support. Using an iPad or another tablet, you can now make comments spanning multiple lines of a diff, position and resize the comment dialog, and leave comments without triggering key bindings (oops).
And there's plenty more
- Better support for Assembla repositories
- Fixes for user lookups on LDAP
- API improvements
- Performance and usability enhancements in the dashboard
- Fixes for regressions in the search field
- Stability fixes for extensions and repository communication
- Fixed issues upgrading from Review Board 1.7 or older