RBTools 4 brings support for Apple Diff, introduced in the all-new macOS Ventura, along with some other new features, performance improvements, and benefits for script authors.
Apple Diff in macOS Ventura
macOS Ventura replaced GNU Diff with its own Apple Diff.
We now support Apple Diff as an alternative to GNU Diff. The correct diff tool is detected automatically, and compatible diffs will be uploaded to any version of Review Board.
If you use macOS Ventura, you will need to upgrade to RBTools 4 to continue working with most source code management systems.
Better Startup and Diff Generation
We've reworked the RBTools startup process to be faster and to catch errors (missing tools or repositories) sooner, with improved error messages.
Diff generation has been completely redone for Apple Diff support. In the process, we've improved performance, fixed edge cases, and overall improved compatibility.
Updated Python Compatibility
RBTools 4 drops support for Python 2.7 and 3.6. It now supports Python 3.7 through 3.11.
This will allow us to bring new features to RBTools faster. If you still need Python 2.7 or 3.6 support, you will need RBTools 3.x.
The RBTools for Windows installer has been updated to ship Python 3.10.8. This requires Windows 8 or higher.
Scripting Improvements
For developers using the RBTools Python API, we've made a lot of changes:
- Python type annotations have been added to parts of the API, helping your IDE guarantee type safety
SCMClient
setup has changed to enable dependency checks- A new
rbtools.diffs
module has been added to help with diff generation and parsing - Process execution has been reworked for easier usage and safer results
- Deprecated a lot of old functionality, which may require updates in your scripts
Plus...
- Fixes for applying patches on Subversion, Mercurial, and Team Foundation Server
- Smarter scanning of source code repositories when posting changes
- Better support for Bazaar/Breezy
See the release notes for the full list of changes, including changes affecting script authors.
To learn more about RBTools, see the RBTools downloads page and RBTools 4 documentation.