RawTherapee Pre-dev

Many of you are aware there is a development version of RawTherapee, sometimes referred to as “RawTherapee dev”. It contains features, camera support, and bug fixes that will eventually be included in the next stable release. Testing the development version and providing feedback either here or on GitHub is an excellent way to contribute to the project. Even if you have no plans to contribute, you may still want to use the development version to have access to features and enhancements before they are officially released. This topic contains links for you to download the latest development builds. The Windows and Linux AppImage builds in particular stay up-to-date with the help of automated workflows.

What you may not know is that RawTherapee dev is not necessarily the newest and greatest version. Yes, there is a RawTherapee version even dev-ier than dev itself!

Most development happens on independent “branches”. Each branch typically has a “pull request”, or PR for short, associated with it. When a branch becomes mature enough, a developer will use the pull request to “merge” the branch into the dev branch (that’s where “RawTherapee dev” comes from).

The same automated workflows that create the development builds also generate builds for pull requests. To download them, you’ll need a GitHub account. Make sure you are logged-in, then follow these steps to find the pre-dev builds.

How to Acquire the Builds

First, you’ll need to find the pull request with the feature or bug fix you want to try. Navigate to the “Pull requests” page on GitHub, identify the one you’re interested in, and click on the link.
Pull requests

Once the pull request opens, scroll to the bottom of the page and locate the “checks” section. Expand it by clicking “Show all checks”. You will see a list of builds including AppImage (Linux), macOS, and Windows. At the moment, only AppImage and Windows builds are usable. Click on “Details” for the one matching your operating system. This will bring up a new webpage.

On the left panel, select “Summary”. Scroll to the bottom and find the “Artifacts” section. The artifacts are the RawTherapee builds. Click on the one you want to download it. There is only one available artifact for Linux AppImages. If you are a Windows user, however, you have a choice between the “release” and “debug” variants. Consult the release or debug point in this RawPedia page to determine the best option for you.

Important Things to Know

Isolating Multiple RawTherapee Versions

By design, pre-dev builds have independent settings and caches. This is to prevent overwriting or damaging those of release or development builds. You do have to be careful about PP3 files next to the source images. The default settings instruct RawTherapee to save your edits as PP3s next to the images, potentially overwriting edits done by other versions. Changing the processing profile saving location to the cache can prevent such an issue.

Build Not Available?

You may notice some pull requests do not have builds available. The reason may be any one of the following:

  • The pull request is not intended bring changes into the dev branch. At the top of the pull request page, you should see something like “davinci wants to merge 6 commits into Beep6581:dev”. If you see anything other than “Beep6581:dev”, there are no automated builds available.
  • There is a “merge conflict”. That means the pull request branch cannot be automatically incorporated into dev. Builds are not initiated when this happens.
  • The person who created the pull request has not contributed code directly to RawTherapee before. GitHub has a safety mechanism to prevent random people from initiating builds just by opening pull requests. A RawTherapee maintainer must manually start the build process.
  • It is an old pull request. Some pull requests pre-date the automated build system. Others may not have been updated recently. Builds older than 90 days are automatically deleted.
  • Something is wrong with the code or the build system. Usually, a developer needs to fix the problem.

macOS

Builds for macOS do exist, but the operating system may refuse to run it and instead show a security warning. It may be possible to bypass the warning and run RawTherapee anyway.

Downloading Previous Builds

Every update to a pull request can initiate the build process. Older builds can still be accessed until they become 90 days old. There are two ways you can find them.

  • Locate an older “commit” either in the main pull request tab (called “Conversation”) or in the “Commits” tab. If you see a green check mark or red X, the automated builds ran at that time and there may be a build available for download. Click on the check or X to reveal the list of builds.
  • Visit the Actions page. On the left panel, you can select the build type. On the right is the list of all builds for that type across all branches, including dev. You can filter by branch with the “Branch” menu.

Shape the Future of RawTherapee

Branches other than dev are subject to active development. Feature sets can change, compatibility can break, and new bugs can pop up. Keep this in mind before deciding to use these builds for daily photo editing. On the other hand, you can use them as an excellent opportunity to get involved in the development process! If you can download the builds, you have a GitHub account. If you have a GitHub account, you can post comments directly on the pull request page. Provide suggestions, report bugs, and interact with the developers so by the time the branch is incorporated into dev, it functions beautifully. Developers can’t be expected to know how everyone will use a certain feature. This is your chance to provide valuable insights benefiting you and every other RawTherapee user!

15 Likes

Thanks for sharing, @Lawrence37 — that’s very useful to know! I’m always willing and available to test and provide feedback for RawTherapee — in fact, anything I can do to give back would be my absolute pleasure.

If there’s anything you need help with specifically (documentation and testing in particular), just hit me up!I I’m active on GitHub and have a local testing environment all set up and ready to go!

1 Like

This is in reference to the github CI builds which are not notarized with my credentials. All other builds made by me are notarized and do not require and security alterations to the os. Thanks.

1 Like

I really like the way the RT team is doing it! Very interesting post :strawberry: