Releases: motioneye-project/motioneye
Releases · motioneye-project/motioneye
0.43.1
First stable 0.43.1 release!
To see what's new since the last stable 0.42.1, see the previous beta release notes:
- https://github.com/motioneye-project/motioneye/releases/tag/0.43.1b1
- https://github.com/motioneye-project/motioneye/releases/tag/0.43.1b2
- https://github.com/motioneye-project/motioneye/releases/tag/0.43.1b3
- https://github.com/motioneye-project/motioneye/releases/tag/0.43.1b4
- https://github.com/motioneye-project/motioneye/releases/tag/0.43.1b5
What's new since 0.43.1b5:
- The
/picture/ID/listand/movie/ID/listmedia file list API have been extended by a new optional booleanwith_statquery parameter, which defaults totrue, preserving the previous behavior. If set towith_stat=false, the returneddataobject contains only thedata.pathelement, nodata.timestamp,data.sizeStr, etc. This speeds up processing time and request size by at least a magnitude of order, and hence reduces the change to run into thelist_media_timeouttimeout defined inmotioneye.conf. This is made use of internally for the initial recursive file list requested when opening the picture/movie browser on camera panels, when generating a time-lapse movie, downloading or deleting all media files in a directory, speeding up each of these tasks significantly: #3225 @MichaIng - Also behind the scenes, the Python code to loop through the files and obtain the info has been unified and enhanced, to speed up the calls: #3215 #3219 @MichaIng
- Translated strings inside HTML documents are now assured to be HTML-escaped: #3239 @MichaIng
- Several translation updates, many thanks to all @weblate contributors ❤️
- Some major polishing on our Weblate translation repository has been done: with Nepali being the only exception, all languages got all missing strings machine-translated, and all machine-translated backend/Python strings are now used by motionEye. Previously, those, which are marked as "needs editing", were not compiled, hence Esperanto source strings were shown instead. However, note that the quality of those machine-translated strings varies. We have no costly API key for proper translation services like DeepL, hence LibreTranslate is used, which ... has mixed results 😅. But I spent some time to address nearly all annotations of Weblate's quality checks, which includes a lot of formal things like correct spacing, consistent punctuation, Python format variables, as well as word repetition and similar things, which includes most bad machine-translation results. For some languages, LibreTranslate does not work, in which case I used DeepL manually. Only for Nepali, with close to 500 missing strings, the work would have been too much, bear with me. The machine-translated strings do not contribute to the completion percentage, show up as "unfinished words" with a "needs editing" mark.
=> So please everyone, check our our Weblate repo, and help to finish or polish the translation for your language, let's make motionEye a please to use for people of any language and culture 🙂. @MichaIng
0.43.1b5
What's new:
- All metadata for Python builds and packaging have been migrated to
pyproject.toml, following PEP 621 and PEP 639 for license definition. This raised the minimumsetuptoolsrequirement for building the wheel to 77.0.3 and hence the minimum Python version to 3.9. Pre-compiled wheels e.g. installed viapipfrom PyPI however still work with Python 3.7: #3149 @MichaIng - The test button for testing notification email settings has been fixed, in case multiple receiver email addresses were added: #3170 @MichaIng
- Closed a security vulnerability, published as GHSA-j945-qm58-4gjx and CVE-2025-60787, which allows RCE for admin-authenticated users with crafted inputs, executed as shell code by
motion's event action feature. Inputs were not checked in the backend, but only in the frontend, which can be manipulated at the client side. To address the issue, the same limitations and input checks done by the frontend have been added to the backend to mitigate the issue: #3203 @prabhatverma47 @MichaIng - Nepali language has been added: #3174 @sangampaudel530
- Danish language has been added: #3190 @Tbnilen
- Several translation updates, many thanks to all @weblate contributors ❤️
0.43.1b4
What's new:
- Closed an important security vulnerability, which allowed remote code execution via motionEye API: #3142 @hyperlyz @MichaIng
We highly recommend everyone on any previous 0.43.1 beta to update to this release ASAP, updating your container image, respectively updating a bare metal pip-based installation via:
sudo systemctl stop motioneye
sudo python3 -m pip install --upgrade --pre motioneye
sudo systemctl start motioneye0.43.1b3
What's new:
- Added Docker images for
riscv64architecture: #3133 @MichaIng - Fixed a bug where the noise level setting changed due to inconsistent rounding when saving and reading back settings: #3084 @zagrim
- Added support for distros where
meyectlis not installed to/usr/local/bin/meyectl, notably Arch Linux, to the systemd unit installed viamotioneye_initcommand: #3011 @MichaIng - Added Python 3.13 support: #3092 @mosquito
- Message-ID is now added to emails to fix possibly rejections by email servers: #3030 @donlorenzo
- Added Tamil language: #3099 @TamilNeram
- Added Vietnamese language: #3124 @thanhtantran
- Several translation updates, many thanks to all @weblate contributors ❤️
0.43.1b2
What's new:
- Restored authentication with surveillance user: #2944 @zagrim
- Conflicting
motion.serviceis now disabled bymotioneye_initexecution: #2980 @MichaIng - Turkish language added: #2965 @ToramanO (I hope the GitHub account is correct 😉)
- Restored working schedule functionality: #2987 @zagrim
- Optimised camera button display, allowing up to 16 action buttons: #2903 @sevimuelli
0.43.1b1
What's new:
- BREAKING: motionEye requires now Python 3.7 or later and does not support Python 2 anymore.
- Multi-language support has been added. You can contribute to translations on Weblate.
- Support for motion 4.4 - 4.6 has been added: #2462
Remember to update your custom options in case: https://motion-project.github.io/motion_config.html#Configuration_OptionsAlpha - Support for WebDAV uploads has been added: #1743
- Support for S3 uploads has been added: #2376
- A long list of larger and smaller enhancements and bug fixes, too many to list them here.
0.42.1
What's new:
- Fixed smart mask sluggishness limits.
- Fixed floating image dimensions when generating media preview.
- Fixed filename validation regex.
- Added support for
nvenc(credits go to @HawtDogFlvrWtr).
0.42
What's new:
- Added RTMP support (thanks @mcd1992)
- Added movie passthrough option support (thanks @wmig)
- Adjusted validations for various fields (thanks @jwheeler91)
- Added h264 V4L2 M2M support (Odroid XU4 hardware accelerated encoding)
- Additional options are now hidden when surveillance user is logged in
- (Hopefully) fixed erroneous fps reporting
0.41
What's new:
- Fixed video streams not working on Chrome 76+ (thanks @rajendrant)
- Dockerfile: fixed path to
vcgencmd(thanks @kleini) - Fixed issues when using unicode in notification hooks (thanks @zagrim)
- Added more validations on the UI side (thanks @zagrim)
- More general
/usr/bin/env bashshebang is now used (thanks @phaethon) - Fixed Google Drive upload cleanup issue (thanks @chiastic-security)
- Current value is now shown while adjusting sliders (thanks @zagrim)
- Fixed Clean Cloud bug with leading/trailing slash in path (thanks @bob-lee)
- Various Google Photos upload improvements (thanks @bob-lee)
- Added support for
threshold_maximumandthreshold_tuneMotion options - Credentials are no longer embedded in the URL when using simple MJPEG cameras
- Removed advanced options flag
- Added required headers to prevent caching of streaming frames
- Fixed smart mask sluggishness description