github motioneye-project/motioneye 0.45.0b1

pre-release2 hours ago

Breaking changes

  • The global validate_certs option in motioneye.conf has been removed. All HTTPS connections made by motionEye now verify server certificates. Certificate verification can instead be switched off individually, for remote motionEye cameras, FTPS/WebDAV/S3 upload services, webhooks, and email notifications, where a self-signed certificate is used. A leftover validate_certs line only causes a one-time startup warning. SMTP server certificates for email notifications with TLS enabled were never validated before. If your setup relies on this, e.g. a mailserver with self-signed certificate, or entered by IP, you need to switch off the new "Verify certificate" toggle now:
  • The display preferences (layout columns/rows, fit frames vertically, framerate/resolution dimmers, camera order) are now stored per browser, instead of server-side in prefs.json, which is no longer used nor included in backups. Every browser starts with default values once. By default, the number of layout columns now follows the window width, and the single-column layout below 1200px is gone:
  • The obsolete update and version API endpoints, and the Server HTTP response header, have been removed:
  • The additional sections/configs machinery, tzctl/wifictl, and the pushConfigReboot option have been removed, which were unused:
  • motion does not log to file by default anymore. A new log_to_file setting has been added, which defaults to false, and is honored by motionEye as well as motion. It is overridden by the -l CLI flag, and enabled as well when running motionEye in daemon mode via -b flag. By default, motion logs to syslog/journal now, or STDERR if no syslog is available, e.g. to docker logs in Docker containers. Since motion does not log custom event command output to syslog, if needed for "Run a command", without file logging, output needs to be handled in a script. For the common motioneye.service setup, /var/log/motioneye is now unused, and could be removed:
  • Failed logins are now rate-limited per client, across usernames. After five failed attempts, further logins are delayed, starting at 5 seconds and doubling up to 15 minutes, and a 429 response with a wait message is shown. If motionEye runs behind a reverse proxy, set the new trusted_proxies option in motioneye.conf, otherwise all users share the proxy's address:
  • The meyectl sendmail and meyectl sendtelegram commands now only take the motion camera ID and event timestamp. For motion notifications, which internally make use of these commands, access information and credentials are read from the camera config files instead. This way, they do not appear in the meyectl command line and debug motion.log anymore. Camera configurations are migrated automatically on motionEye start for this change, but any custom scripts making use of these commands might need to be adjusted:
  • When adding a camera from a remote motionEye instance, the local hub won't follow redirects anymore. Assure to use the final URL for network cameras on the remote. A new wiki page has been added to describe the remote motionEye feature, changes, and compatibility between motionEye versions:

New features

  • Authentication for the motion control interface can now be enabled via the new motion_control_authentication option (username:password) in motioneye.conf. For this to be safe, motioneye_init now installs motioneye.conf as root:motion with mode 0640, so motionEye can read but not change it:
  • The FTP upload service has a new "Use TLS (FTPS)" switch:
  • New "remove files after upload" option for upload services:
  • New eventstart and eventend actions, and buttons in the camera GUI to trigger motion events and toggle motion detection:
  • The order of cameras in the live view can now be customized:
  • The session lifetime of the normal (surveillance) user is now configurable:
  • 12-hour/AM-PM strftime specifiers (%I, %p, %l) can now be used in file names:
  • The resolution of HTTP network cameras can be set with motion 4.4+:
  • motionEye can now be installed more easily into a Python venv, via the new --meyectl option of motioneye_init, which is now the default documented installation method:
  • motionEye in our official Docker images does not run as root user anymore. The desired user can instead be passed with docker run --user, and the Docker Compose user key respectively:
  • Added FreeBSD support: local drives are listed using geom, and motioneye_init now installs an rc.d service script:
  • motionEye Docker images for ppc64le and s390x are provided on Docker Hub and the GitHub Docker Registry now:

Enhancements

Fixes

Other changes

Don't miss a new motioneye release

NewReleases is sending notifications on new releases.