Release 0.43.1
What's new:
- 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
- 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
ToDo before merge:
- [x] Update version string
- [x] Update readme to skip
--prefor install, resp. add note that--precan be used to pull the latest beta instead - [x] Unlock Docker Hub uploads, but only for stable releases: A logic is needed to skip it for
devbranch merges: https://github.com/motioneye-project/motioneye/blob/dev/.github/workflows/docker.yml@ccrisan would you mind to add yourEDIT: Ah actually I think it is better to create a new Docker Hub accountDOCKER_USERNAMEandDOCKER_TOKENto actions repo secrets?motioneye-project, since you use your's for other projects as well, so we do not run into fiddling with account access etc. I guess it is possible to make it so that multiple people can have access, like a GitHub orga does. Free plan allows only 40 image downloads per hour, which seems insufficient for our case, looking at our ghcr download counts. But there is a open source support program we can apply to. We'll figure it our: https://www.docker.com/community/open-source/application/
Okay, after polishing our Weblate translation repo yesterday, today I managed to create a free (as in beer) Docker orga now: https://hub.docker.com/repository/docker/motioneyeproject/motioneye/general
Not that trivial: This is based on an old "free team" plan, which was slated for removal in 2023, but then the plan was reverted. But as a result, one cannot create such orga directly anymore, but only by converting an existing account. So I created two accounts, a personal one and a motioneyeproject: dashes are not allowed, and "motioneye" was not allowed, too, probably due to name conflict with the existing repo: https://hub.docker.com/repository/docker/motioneyeproject/motioneye/general
It has some limits, like max 3 members (@ccrisan I invited you, no obligations), not sure about download counts. I'll setup our CI to upload to this repo as well, let's see how it goes.
Let me know if anyone has a better idea how to manage it. I'll also apply to the Docker Sponsored Open Source Program: https://www.docker.com/community/open-source/application/ That way it might be possible to lift some of the limits.