Skip to content

0.13.0 Release

Compare
Choose a tag to compare
@blakeblackshear blakeblackshear released this 31 Jan 01:24
01e2d20

Major Changes For 0.13.0

Security Advisories

The Github Security Lab team reached out to report the following security vulnerabilities.

Exploiting these vulnerabilities requires the attacker to both know very specific information about a user's Frigate server and requires an authenticated user to be tricked into clicking a specially crafted link to their Frigate instance.

This vulnerability could exploited by an attacker under the following circumstances:

  1. Frigate publicly exposed to the internet (even with some authentication methods implemented)
  2. Attacker knows the public address of a user's Frigate instance
  3. Attacker crafts a specialized page which links to the user's Frigate instance
  4. Attacker finds a way to get an authenticated user to visit their specialized page and click the button/link

If you haven't click any links to your Frigate server from unknown sources, there is no reason to believe that you have been compromised.

I have enabled the private vulnerability disclosure features inside Github for the project as well as the automated CodeQL scanning features to identify future issues.

Breaking Changes

  • ARM 32-bit support has officially been removed. If you are running on a Raspberry Pi with a 32-bit OS, you will need to switch to 64-bit.
  • You will likely experience some additional CPU usage because motion detection is now more sensitive and improve_contrast is now enabled by default. If you have specific values set in your config, it is recommended to remove them and re-calibrate as necessary.
  • If no detect resolution is defined then frigate will now run detect at the native camera resolution. This means if you did not explicitly set the detect width / height AND your sub stream is not 1280x720, then your masks and zones will be configured incorrectly.
  • Stationary object validation is now required, anyone who manually set interval: 0 will need to delete this field from the config or increase the value
  • Changes have been made to the DB schema, downgrading to 0.12 will require restoring from a backup or deleting the DB and existing recordings / snapshots.
    NOTE: Some users have reported migrations taking a while and frigate frontend is not available until the migrations are complete.
  • New location for frigate.db: Due to the support for network shares in HA OS and the popularity of storing recordings on a NAS in general, the database has a new default location of /config/frigate.db. This change is going to be done for existing users too, so frigate will automatically move the db for you.
    • For Frigate Addon Users:
      The migration is handled automatically and no action is required from the user.

    • For Docker Container Users:
      The migration is handled for you, but you must make sure that the docker CLI or docker-compose binds the entire /config directory and not just the /config/config.yml file.

      For example, if your current volume mapping is - /host/path/config_folder/config.yml:/config/config.yml it should now be - /host/path/config_folder/:/config/

  • The previously deprecated record -> retain_days config has been removed, this should be migrated to record -> retain -> days if you have not already.
  • HomeAssistant Integration 5.0 is required for the new features introduced in this release.
  • TensorRT has been updated and the model generation has been refactored. New models will need to be generated for 0.13 and have a new path, check the detector docs for more info.
  • TensorRT now requires Nvidia Driver Version 530+
  • The cameras in /stats have been moved to their own cameras block. This only affects users that were directly reading from the /stats data via the API or MQTT.
  • Removed direct access to the go2rtc http API to mitigate potential remote code execution via the exec source, you will need to map port 1984 and access directly if using go2rtc http api outside of frigate

Frigate+

Frigate+ Model Launch

Frigate+ models are now rolling out by invitation. If you would like to be invited for early access to purchase a subscription, please send an email to blake@frigate.video from the email address on your Frigate+ account. For more information, see this discussion.

False positive submissions

You can now submit false positive detections to Frigate+ for training feedback. Note that you will still need to login to your Frigate+ account and verify the images to ensure all relevant objects are labeled before the image will be used during training. Confirming the object is a true positive will also upload the image.

image

Models

This release has support for Frigate+ models. The model and related information are stored at /config/model_cache. Once Frigate+ models are launched, you will be able to use the model id in your config.

model:
  path: plus://your_model_id

Community Supported Boards

In version 0.12 Frigate gained support for Intel iGPUs via OpenVINO and for Nvidia GPUs, this was a great step forward for compatibility and for more users being able to use Frigate effectively. There are many other devices, including dedicated SBCs (Small Board Computers), that Frigate could support but the maintainers do not have the time or hardware to support.

The community supported boards framework will allow community members who want to contribute to create and manage support for a particular board. This will allow Frigate to support more devices while allowing the maintainers to focus on improving the core of Frigate.

Nvidia Jetson Support

@madsciencetist has contributed a community supported board build by adding support for Jetson 4.6 and Jetson 5 devices!

More information can be found in the detector docs on how to set this up.

https://docs.frigate.video/configuration/object_detectors#nvidia-tensorrt-detector

@MarcA711 has contributed a community supported board build by adding support for devices with RockChip SoCs:

RK3566/RK3568
RK3588/RK3588S
RV1103/RV1106
RK3562

https://docs.frigate.video/configuration/object_detectors#rockchip-rknn-toolkit-lite2

Object Tracking & Motion Detection

There have been many improvements to object tracking and motion detection which make Frigate more efficient and can reduce false positives.

New Object Tracker

Frigate now uses Norfair for object tracking, this means that object attributes like size, width/height ratio, and position are used to intelligently track objects. ID swapping between tracked objects is greatly reduced in situations where a car in the driveway was confused with a car passing in the street.

Improved Motion Detection

Frigate's motion detection is now more efficient. Motion detection will also re-calibrate for flashes like lightning or when the camera switches from color to IR mode or it is moved via PTZ. This reduces CPU usage during these changes and reduces false positives caused by excessive motion.

Historical Data

Frigate now uses the recordings timeline data to generate an 8x8 grid for each camera. This grid holds the range of expected regions (portions of the image sent to detection) for that area of the camera frame. This helps to improve accuracy of detection after motion has occurred and can reduce false positives in some cases.

The grid is updated on each startup and every day at 2 AM for each camera that is enabled.

Minimum Time For Zone Presence

Frigate now has a configurable field for the minimum amount of time an object needs to be in a zone before it is considered in a zone. For example, currently in Frigate if you have a front_yard zone and someone is walking by and briefly steps into the front yard Frigate would create an event for this. However, you may prefer for events to only be created if a person is in the front yard for multiple frames before creating an event.

zones:
  my_zone:
    inertia: 3  # <- 3 consecutive frames needed to consider object in zone
    coordinates: ...

Recordings Improvements

There have been a number of improvements to the management of recordings

Recordings Exporting

Frigate now supports exporting recordings in standard format or as a time-lapse. Exported recordings are stored in /media/frigate/exports and are downloadable from the UI.

Screen Shot 2023-07-15 at 07 38 26 AM

Recordings Timeline Metadata

Frigate now saves metadata for key moments in an event such as when the tracked object is detected, enters or exits zone, becomes active / stationary, and leaves. This metadata is used to overlay on top of the recordings so it is easy to see what was detected and where. Note that the timing of the bounding boxes will likely be slightly off because it is based on the detect stream, but overlayed on the record stream. The annotation_offset value in the config can be used to adjust for any differences.

Screen Shot 2023-07-27 at 05 41 33 AM

Internal Processing Improvements

There have been many improvements to the recordings management process to make it faster and more efficient:

  • Recordings maintainer now lives in a dedicated process
  • Recordings maintenance is now fully asynchronous
  • Database writes are now much more efficient
  • Record config can now have sync_recordings enabled which will check all recordings in the db and on the file to make sure they are in sync and recordings sync will be run once a day on the last 36 hours of recordings

Audio Events

Frigate now supports audio events via YamNet. Over 600 labels are included so there are too many to list here, but Frigate can listen to a cameras audio feed to create events and update MQTT when speech, yell, fire alarm, dog bark, etc. are heard. Version 5.0 of the HomeAssistant integration also supports sensors for these audio detections so automations can be fired when certain types of audio are detected.

Screen Shot 2023-07-27 at 06 13 34 AM

Manual Events API

Frigate now supports creating events manually via the API. This means that custom events can be created, for example an event when the doorbell is pressed or a sensor is tripped. The API allows full control of event length, if recordings should be saved, and much more. The request and response can be seen in the documentation.

Curl Example:

curl -X POST "http://<frigate_ip>:5000/api/events/front_doorbell_cam/doorbell/create" -H Content-Type:\ application/json

PTZ Control

Frigate now supports PTZ cameras.

Basic PTZ Autotracking

autotrack

autotrack_debug

https://docs.frigate.video/configuration/autotracking

Along with Frigate's improved tracking algorithm, basic autotracking is now supported. Not all PTZ cameras will support this as relative movement is required (see the docs for more details).

PTZ Controls In The WebUI

Frigate also supports controlling PTZ cameras in the WebUI and via the Home Assistant Integration.

Screen Shot 2023-02-08 at 07 06 21 AM

Other Notable Changes:

  • MSE is now supported on iPhones running iOS 17.1+
  • The events page has been updated to show the ongoing events at the top and past events below. The ongoing events section can be collapsed at any point.
  • The ordering of birdseye cameras is now supported
  • Birdseye now supports autolayout meaning that a grid system is no longer used. Panoramic and portrait cameras now take up a proportional amount of space to better use the canvas to show these cameras.
  • Camera zone & mask editor now supports saving directly without the need to copy / paste
  • Deepstack/CodeProjectAI is now supported as a detector.

Images

  • ghcr.io/blakeblackshear/frigate:0.13.0
  • ghcr.io/blakeblackshear/frigate:0.13.0-standard-arm64
  • ghcr.io/blakeblackshear/frigate:0.13.0-tensorrt
  • ghcr.io/blakeblackshear/frigate:0.13.0-tensorrt-jp4
  • ghcr.io/blakeblackshear/frigate:0.13.0-tensorrt-jp5
  • ghcr.io/blakeblackshear/frigate:0.13.0-rk

All changes since 0.12.1

New Contributors

Full Changelog: v0.12.1...v0.13.0