Viseron logo

Viseron

Self-hosted, local-only NVR and AI computer vision software

Alternative to: ring, nest, wyze

Viseron screenshot

About Versions (72)

v3.4.0

2025-12-12

The biggest change in this release is the new look and feel of the frontend, done by @kaburagisec. There are no radical changes, but they still make a big difference.

I urge you to browse around in the UI and see for yourself, but here are a few highlights of these changes:

  • First of all, the font has been updated to use IBM Plex Sans

  • IBM Carbon Icons is used for icons

  • The Recordings page has gotten new filtering options for date and detection type:

    image
  • Each camera card on the frontpage now shows the cameras uptime

  • You can now zoom and pan in the Live view, as well as changing the order of cameras:

https://github.com/user-attachments/assets/a87d0588-a968-4563-98bb-1909997020d8

  • Changing between a number of layouts is now also possible, allowing you to focus on specific cameras:

https://github.com/user-attachments/assets/6091b5a6-a318-44e9-8e3d-c8587628ed0e

  • You can also save layouts and camera selection in order to quickly recall them:

https://github.com/user-attachments/assets/6c23d1f8-246e-4b47-9b73-c74012df1e2b

Changes were also made to the docs frontpage and the components explorer, giving them a more modern look.

New features

  • Adds support for public image URL’s for the webserver components. This system can be used by any notification component that needs to share images externally.
  • Adds public image support to gotify
  • New config option drain for storage tiers. When enabled, all files in the tier are moved when a limit is reached, reducing stress on disks
  • Subpath/base path support. You can now host Viseron using a base path in a reverse proxy. See the docs for more information

Changes

  • When clicking on the timeline, the HLS player will now load the stream starting one hour before the requested time. This allows you to seek backwards a bit to get some context before the requested timestamp.
  • When using multiple tiers, files in HLS playlists will now always point to the first tier in order to not break HLS specifications. A hint that points to the correct tier is provided to the backend via query parameters.
  • Hailo component now runs in shared mode, meaning other applications can use the device at the same time as Viseron.
  • Upgrade to React 19
  • React Compiler is now used, resulting in better performance of the frontend
  • Upgrade Eslint to v9
  • Upgrade MUI to v7
  • Migrate from onvif-zeep to onvif-python library
  • The Telegram component has been refactored in order to further decouple it from the PTZ component.

Fixes

  • Fix link to configuration from a failed cameras card
  • Better handling of color mode selection resulting in fewer re-renders
  • Improve performance on the Events timeline view by doing 2 things:
    • Only load thumbnails when scrolling stops
    • Avoid rerenders of all items when available timespans changes
  • When using the Export button on the Events page, the selected start date wont be overridden when selecting a new end date and vice versa.

Docker images will be on Docker Hub shortly

All Changes

New Contributors

Full Changelog: https://github.com/roflcoopter/viseron/compare/v3.3.1…v3.4.0