March 17, 2026 Software Update

Hello all,

Last week we deployed a new version of the FarmBot web app with a number of overdue under-the-hood improvements and some changes to help us take better advantage of coding agents. While many of the items from this deployment will not have a noticeable effect on your daily usage of the app, they are important for the security, maintainability, and further advancement of the app. Here’s what’s new:

3D camera view visualization and photo taking animation

FarmBot’s camera view is now visualized in the 3D farm designer as a rectangular pyramid, illustrating what portion of the soil and plants will be visible when taking a photo from the current position.

And when a photo is taken, the pyramid flashes white and fades back to the more transparent state to help visually indicate FarmBot’s actions.

Migrated frontend test suite

Our frontend test suite used to use the node runtime, jest framework, and enzyme testing library. It would take upwards of 5 minutes to run all 3,000+ tests. Now we are using the bun test runner, unlocking a roughly 10x speed improvement. Furthermore, we have migrated all tests to RTL (React Testing Library) which is a more modern and actively maintained successor library.

Having a test suite that can cold start and execute quickly is a key advantage when working with AI coding agents because it reduces the cycle time between the agent making a change and verifying nothing has broken. With agents potentially making dozens or hundreds of changes in a session, a 10x speed improvement in test time can add up to hours of saved time as well as improved token efficiency.

Upgrades to Rails and React

We’ve upgraded both Rails and React through several major releases up to the latest stable versions. This has allowed us to update many other frontend and backend dependencies as well to their latest versions, as they were previously held back due to incompatibility issues.

Released farmbot-py v2.1.0

The newest version of farmbot-py includes the following improvements:

  • Added MQTT on_connect handler and success/error message
  • Applied API timeout value as default in API requests
  • Handling of missing API request args
  • Allowing of all 2xx API request status codes

Miscellaneous

  • Fixed a bug where adding a new curve and editing control points would not save upon exit.
  • Fixed an internal issue with editing unsaved point grids.
4 Likes