Review Board 6.0 Beta 1 Release Notes¶
Release date: April 4, 2023
This release contains all bug fixes and features from Review Board version 5.0.4.
Installation/Upgrade¶
Review Board 6.0 Beta 1 is compatible with Python 3.7 - 3.11.
Follow our installation guide to prepare your system for Review Board to to upgrade your existing install.
To install this release, run:
$ pip3 install \
-f https://downloads.reviewboard.org/betas/reviewboard/6.0-beta-1/ \
--pre -U ReviewBoard
Warning
We do not recommend upgrading a production server with this version of Review Board. It’s best to install on a test server, with a copy of your production database, in case there are any major problems.
To learn more, see:
For assistance with your server, talk to us about support.
Upgrade Notes¶
This release contains database schema changes to the following tables:
attachments_fileattachment
This will take a small amount of time to migrate the database. Please test the upgrade on a copy of your database first, to ensure the upgrade is smooth and to time how long the upgrade takes.
Important
Do not cancel the upgrade on a production system for any reason. Doing so will corrupt your database, requiring a backup or our repair service.
Packaging¶
Review Board 6.0 beta 1 supports Python 3.7 - 3.11. Due to Python’s end of life schedule, it’s likely that 6.0 final will be 3.8 - 3.11.
Djblets 4.0 beta 1 is required.
New Features¶
Grouped Draft Publishing¶
When you have multiple drafts in progress (for example, a review request update and a handful of replies to reviews), you can now publish all drafts at once, with a single e-mail notification.
Other Changes¶
Changed Close > Submitted to Close > Completed.
The word “submitted” throughout the Review Board UI was a holdover from the very earliest days of the tool, and we had followed the Perforce naming convention for when changes were pushed to a central repository. This has long been a source of confusion, so we’ve renamed this state to “completed”.
The API still uses
submitted
for the review request state in order to maintain compatibility.The default dashboard view has been changed to “Overview”.
Review Board 4.0 introduced the “Overview” view to the dashboard, which effectively combines the incoming and outgoing views together (showing both things which are assigned to you as well as your own changes). This is now the default view when opening the dashboard.
Enhanced accessibility.
We’ve continued to make progress on improving Review Board’s compatibility with accessibility features in browsers, enabling better support for screen readers, alternative input devices, and more.
Performance Improvements¶
Closing or changing the archive/mute state of multiple review requests using the checkboxes on the dashboard now performs everything in a single step instead of making separate API requests for each item. This can speed up batch operations from the dashboard significantly.
Bug Fixes¶
Fixed a small visual glitch when hovering over the edit icon for review request descriptions.
Known Issues¶
When a review request is open in multiple browser tabs/windows, if the review is discarded from one tab, attempts to create or edit comments from another tab will result in errors.
This bug was technically present in earlier versions, but due to the way things are loaded from the server, it’s now a lot easier to hit.
The best way to avoid this for now is to avoid opening the same review request in multiple browser tabs.
Extensions and Internal API Changes¶
Several of Review Board’s internal APIs have been modernized.
Reworked Actions¶
Review Board’s extension framework has had a concept of actions for a long time, but the implementation was spread out among several different systems with varying levels of functionality. These have all been replaced with a new generic framework.
Extensions can define their own actions to attach to various hook points on the page (for example, the header, the review request, or the review banner).
Python Type Hints¶
We have started adding Python type hints to the Review Board codebase. If you maintain extensions, you may want to consider integrating tools such as mypy or pyright into your workflow.
TypeScript and ES Modules Support¶
New JavaScript code in Review Board is being written in TypeScript, and uses
rollup.js to handle modules. These can also be used for your extensions, with
the .ts
file extension and standard export
/import
syntax.
ES6 Classes with Backbone¶
Much of Review Board’s JavaScript codebase is built upon Backbone.js. We have built a new library named Spina that allows us to start using ES6 classes for Backbone objects.
If you have JavaScript code that inherits from Review Board objects (for
example, RB.BaseResource
), you can continue using them as-is, but as we
work on porting the code over, you will be able to inherit from them as ES6
classes using the @spina
decorator.
Contributors¶
Christian Hammond
David Trowbridge
Michelle Aubin