BrainFrame v0.25.0 is released!

We’re all excited to announce that BrainFrame v0.25.0 is now available! Headline features include a new UI for alerts, a better file streaming experience, and new API endpoints.

As always, it can be found on our downloads page.


Please note that there isn’t any automatic way to migrate between this release and v0.24.0. For users that don’t have any important data we recommend deleting your volumes directory before upgrading. If you do have critical data that you can’t afford to lose, please contact me directly via a private message on the forum and I’ll be happy to help you migrate.

This manual migration is necessary because we’ve switched our database solution from MySQL to Postgres.

Major Features

  • Added a new window in the UI where all alerts can be viewed and verified, making it much easier to manage alerts for a large system. Alerts are sorted by the stream and zone that their alarm pertains to, making finding the alerts you want a breeze!
  • Files are now uploaded from the client to the server before being streamed. This means that file streaming now works when the client and server are on different machines and it is no longer necessary to put video files in the same directory as the docker-compose.yml. Simply select the video file you want to stream from anywhere on your computer!
  • Added new APIs for querying the server’s licensing status and uploading a license file
  • Added an API endpoint for getting a single alert
  • Added an API endpoint for deleting storage objects
  • Switched our database solution from MySQL to Postgres. This will allow us to improve journal performance and clarity in the future.

Minor Features

  • Add new filtering options to the GET /api/alerts endpoint
  • Add additional relationship IDs to the alert codec, making it easier to understand where the alert came from
  • All fields in the API related to time are now documented as being in UTC. This has always been true, but is now made more explicit.

Bug Fixes

  • Times are now displayed in the client as the user’s system timezone instead of UTC
  • Alarm active times are now interpreted as the user’s system time instead of UTC
  • The server now automatically creates a capsules directory that is writable to all users instead of just the root user