Releases: scottlamb/moonfire-nvr
Releases · scottlamb/moonfire-nvr
v0.7.7
v0.7.6
- new log formats using
tracing
. This will allow richer context information. - bump minimum Rust version to 1.70.
- expect camelCase in
moonfire-nvr.toml
file, for consistency with the JSON
API. You'll need to adjust your config file when upgrading. - use Retina 0.4.5.
- This version is newly compatible with rtsp-simple-server v0.19.3 and some
TP-Link cameras. Fixes #238. - Fixes problems connecting to cameras that use RTP extensions.
- Fixes problems with Longse cameras
scottlamb/retina#77.
- This version is newly compatible with rtsp-simple-server v0.19.3 and some
- expanded API interface for examining and updating users:
admin_users
permission for operating on arbitrary users.GET /users/
endpoint to list usersPOST /users/
endpoint to add a userGET /users/<id>
endpoint to examine a user in detail- expanded
PATCH /users/<id>
endpoint, including password and
permissions. DELETE /users/<id>
endpoint to delete a user
- improved API documentation in
ref/api.md
. - first draft of a web UI for user administration. Rough edges expected!
moonfire-nvr login --permissions
now accepts the JSON format documented
inref/api.md
, not an undocumented plaintext protobuf format.- fix #257:
Live View: select None Not Possible After Selecting a Camera. - get rid of live view's dreaded
ws close: 1006
error altogether. The live
view WebSocket protocol now conveys errors in a way that allows the
Javscript UI to see them. - fix #282:
sessions' last use information wasn't getting persisted. - improvements to
moonfire-nvr config
,
thanks to @sky1e.
v0.7.5
v0.7.4
0.7.3
0.7.2
- introduce a configuration file
/etc/moonfire-nvr.toml
; you will need
to create one when upgrading. - bump minimum Rust version from 1.53 to 1.56.
- fix #187:
incompatibility with cameras that (incorrectly) omit the SDP origin line. - fix #182: error
on upgrade from schema 6 to schema 7 when a camera'sonvif_host
is empty. - API bugfix: in the
GET /api/
response, includeext
streams if
configured. - fix #184:
Moonfire NVR would stop recording on a camera that hit the live555 stale
file descriptor bug, rather than waiting for the stale session to expire. - progress on #70:
shrink the binary from 154 MiB to 70 MiB by reducing debugging information.
0.7.1
0.7.0
- schema version 7
- Changes to the API:
- Added fields to the
GET /api/
response:serverVersion
- Altered fields in the
GET /api/
response:session
was moved into a newuser
object, to support providing
information about the user when authenticating via Unix uid rather
than session cookie (a planned feature).session.username
is now
user.name
;session.csrf
is nowuser.session.csrf
.user.id
anduser.preferences
have been added.signals.source
is nowsignals.uuid
. The UUID is now expected to
be unique, where before only (source, type) was guaranteed to be
unique.camera.config
has been altered and extended.onvifHost
has
becomeonvifBaseUrl
to allow selecting betweenhttp
andhttps
.camera.description
was moved tocamera.config.description
.
(This might have been an oversight; now it's only possible to see
the description with theread_camera_configs
permission. This
field can be re-introduced if desired.)stream.config
has been altered and extended.rtspUrl
has become
url
to (in the future) represent a URL for other streaming
protocols. Therecord
boolean was replaced withmode
, which
currently may be either absent or the stringrecord
.
- Added
POST /api/users/<id>
for altering a user's UI preferences.
- Added fields to the
0.6.7
- trim whitespace when detecting time zone by reading
/etc/timezone
. - (Retina 0.3.2) better
TEARDOWN
handling with the default
--rtsp-library=retina
(see
scottlamb/retina#34).
This means faster recovery after an error when using UDP or when the
camera's firmware is based on an old live555 release. - (Retina 0.3.3) better authentication support with the default
--rtsp-library=retina
(see
scottlamb/retina#25).
0.6.6
- fix #146: "init
segment fetch error" when browsers have cached data fromv0.6.4
and
before. - fix #147: confusing
nvr init
failures when using very old versions of SQLite. - fix #157: broken
live view when using multi-view and selecting the first listed camera
then selecting another camera for the upper left grid square. - support
--rtsp-transport=udp
, which may work better with cameras that
use old versions of the live555 library, including many Reolink models. - send RTSP
TEARDOWN
requests on UDP or with old live555 versions; wait out
stale sessions before reconnecting to the same camera. This may improve
reliability with old live555 versions when using TCP also. - improve compatibility with cameras that send non-compliant SDP, including
models from Geovision and Anpviz. - fix #117: honor
shutdown requests when out of disk space, instead of retrying forever. - shut down immediately on a second
SIGINT
orSIGTERM
. The normal
"graceful" shutdown will still be slow in some cases, eg when waiting for a
RTSP UDP session to time out after aTEARDOWN
failure. This allows the
impatient to get fast results with ctrl-C when running interactively, rather
than having to useSIGKILL
from another terminal.