motioneye-project / motioneye

A web frontend for the motion daemon.
GNU General Public License v3.0
3.99k stars 653 forks source link

motionEye v0.43.1 release #2373

Open MichaIng opened 2 years ago

MichaIng commented 2 years ago

Most open pull requests have been merged, or major parts of larger collection PRs. Left are minor or layout/GUI additions, or feature PRs which require a rebase with conflicts resolving, all I'd not see as mandatory for a release.

So the question is how we do it.

Let me know whether I forgot something and what you think about the above.

ccrisan commented 2 years ago

can a project on PyPI be transferred somehow, so that pip install motioneye can be done as before without the need to do keep using your personal PyPI account?

A PyPI token can be added as an (ecrypted) secret to github's secrets and can be used from CI jobs in GitHub Actions.

Unfortunately there's no "organization" concept on PyPI (at least not one that I can find) so I guess my user is just as good as anyone else's.

I just created the organization-level PYPI_TOKEN secret pointing to a new PyPI token scoped to motioneye. As far as I remember, it can be used in the CI like ${{ secrets.PYPI_TOKEN }}.

MichaIng commented 2 years ago

Many thanks. Indeed, practically it shouldn't make a difference whether we keep using your PyPI account or a new one, safe with an access token.

The Docker Hub download is anyway always done with account prefix, so for this a new account wouldn't be a problem, after install instructions have been updated.

ultratoto14 commented 2 years ago

Just a small remark, in dev branch, the Dockerfile has been refactored to use an entrypoint and this entrypoint.sh file is not copied in the container, the container cannot start.

MichaIng commented 2 years ago

Many thanks for the hint. I'm no Docker expert (and didn't find the time to test the container yet, to be true), can you open a PR to fix it?

I guess ENTRYPOINT ["/entrypoint.sh"] defines the path within the container, but obviously this doesn't imply copying it from the same dir of the Dockerfile during build?

ultratoto14 commented 2 years ago

Yep just adding

  COPY . /tmp/motioneye
+COPY extra/entrypoint.sh /entrypoint.sh

should do the trick. I did not test yet the docker container, it may need additional changes, will try to find time and if anything else is needed, I'll open a PR.

MichaIng commented 2 years ago

PR up: #2386

spupuz commented 2 years ago

Is version 0.43 usable with docker, does this motioneye will be developed in future?

MichaIng commented 2 years ago

Here is the Docker container: https://github.com/motioneye-project/motioneye/pkgs/container/motioneye Future development of motionEye is the whole point of the https://github.com/motioneye-project organisation, the planned v0.43.0 release etc 😉.

spupuz commented 2 years ago

Is there a docker compose file o saw that it still refer to ccrisan version

MichaIng commented 2 years ago

That needs to be updated indeed (the wiki in general), however, you should be able to extract the essence from it.

spupuz commented 2 years ago

Sorry not sure how to do it

MichaIng commented 2 years ago

Please test with this change: https://github.com/motioneye-project/motioneye/pull/2482/files

spupuz commented 2 years ago

if i change with ghcr.io/motioneye-project/motioneye:edge the images from cam are not loades, do i have to setup it from scratch or can i maintain ccrisan settings?

MichaIng commented 2 years ago

The previous configs should work, but to be sure you could change back (and in case forth) affected camera settings and "Apply".

kleini commented 2 years ago

@spupuz Have a look into the container logs for any error messages.

spupuz commented 2 years ago

here are the errors:

    result = await result
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 52, in get
    await self.current(camera_id)
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 110, in current
    picture = mediafiles.get_current_picture(
  File "/usr/local/lib/python3.9/dist-packages/motioneye/mediafiles.py", line 1009, in get_current_picture
    sio = io.StringIO(jpg)
TypeError: initial_value must be str or None, not bytes
   ERROR: 500 GET /picture/3/current/?_=1652690473933&width=0.8&_username=admin&_signature=5f6eed5e9e588eeacf6491b89a180d1a4df2fd08 (172.17.0.1) 2.37ms
   ERROR: initial_value must be str or None, not bytes
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/tornado/web.py", line 1704, in _execute
    result = await result
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 52, in get
    await self.current(camera_id)
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 110, in current
    picture = mediafiles.get_current_picture(
  File "/usr/local/lib/python3.9/dist-packages/motioneye/mediafiles.py", line 1009, in get_current_picture
    sio = io.StringIO(jpg)
TypeError: initial_value must be str or None, not bytes
   ERROR: 500 GET /picture/4/current/?_=1652690473933&width=0.8&_username=admin&_signature=0e4eeaa7eb714d41910755800c26416f6b0142d8 (172.17.0.1) 2.67ms
   ERROR: initial_value must be str or None, not bytes
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/tornado/web.py", line 1704, in _execute
    result = await result
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 52, in get
    await self.current(camera_id)
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 110, in current
    picture = mediafiles.get_current_picture(
  File "/usr/local/lib/python3.9/dist-packages/motioneye/mediafiles.py", line 1009, in get_current_picture
    sio = io.StringIO(jpg)
TypeError: initial_value must be str or None, not bytes
   ERROR: 500 GET /picture/5/current/?_=1652690473933&width=0.8&_username=admin&_signature=82a9a4882050e5b2b024515c4a21eb213aff4ee0 (172.17.0.1) 0.93ms
   ERROR: mjpg client timed out receiving data for camera 6 on port 8086
   ERROR: mjpg client timed out receiving data for camera 6 on port 8086
   ERROR: mjpg client timed out receiving data for camera 6 on port 8086
   ERROR: mjpg client timed out receiving data for camera 6 on port 8086
   ERROR: mjpg client timed out receiving data for camera 6 on port 8086
   ERROR: mjpg client timed out receiving data for camera 6 on port 8086
   ERROR: initial_value must be str or None, not bytes
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/tornado/web.py", line 1704, in _execute
    result = await result
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 52, in get
    await self.current(camera_id)
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 110, in current
    picture = mediafiles.get_current_picture(
  File "/usr/local/lib/python3.9/dist-packages/motioneye/mediafiles.py", line 1009, in get_current_picture
    sio = io.StringIO(jpg)
TypeError: initial_value must be str or None, not bytes
   ERROR: 500 GET /picture/1/current/?_=1652690532931&width=0.8&_username=admin&_signature=4598a07c410838457ec01aed7728ec6f8d0b471d (172.17.0.1) 5.48ms
   ERROR: initial_value must be str or None, not bytes
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/tornado/web.py", line 1704, in _execute
    result = await result
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 52, in get
    await self.current(camera_id)
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 110, in current
    picture = mediafiles.get_current_picture(
  File "/usr/local/lib/python3.9/dist-packages/motioneye/mediafiles.py", line 1009, in get_current_picture
    sio = io.StringIO(jpg)
TypeError: initial_value must be str or None, not bytes
   ERROR: 500 GET /picture/3/current/?_=1652690541932&width=0.8&_username=admin&_signature=bde666c0fc09648cc17c3b33b093496766b5982c (172.17.0.1) 4.48ms
   ERROR: initial_value must be str or None, not bytes
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/tornado/web.py", line 1704, in _execute
    result = await result
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 52, in get
    await self.current(camera_id)
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 110, in current
    picture = mediafiles.get_current_picture(
  File "/usr/local/lib/python3.9/dist-packages/motioneye/mediafiles.py", line 1009, in get_current_picture
    sio = io.StringIO(jpg)
TypeError: initial_value must be str or None, not bytes
   ERROR: 500 GET /picture/2/current/?_=1652690541932&width=0.8&_username=admin&_signature=f58372b2b93cd3c2109b35e937ccd152d8d965d7 (172.17.0.1) 5.20ms
   ERROR: initial_value must be str or None, not bytes
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/tornado/web.py", line 1704, in _execute
    result = await result
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 52, in get
    await self.current(camera_id)
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 110, in current
    picture = mediafiles.get_current_picture(
  File "/usr/local/lib/python3.9/dist-packages/motioneye/mediafiles.py", line 1009, in get_current_picture
    sio = io.StringIO(jpg)
TypeError: initial_value must be str or None, not bytes
   ERROR: 500 GET /picture/4/current/?_=1652690541932&width=0.8&_username=admin&_signature=d8d82b874924265bfdf893e4d36f721aa97c0a22 (172.17.0.1) 6.34ms
   ERROR: initial_value must be str or None, not bytes
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/tornado/web.py", line 1704, in _execute
    result = await result
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 52, in get
    await self.current(camera_id)
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 110, in current
    picture = mediafiles.get_current_picture(
  File "/usr/local/lib/python3.9/dist-packages/motioneye/mediafiles.py", line 1009, in get_current_picture
    sio = io.StringIO(jpg)
TypeError: initial_value must be str or None, not bytes
   ERROR: 500 GET /picture/5/current/?_=1652690541932&width=0.8&_username=admin&_signature=733a86ec02a60b721b082d54d61a8c7bcd7bb576 (172.17.0.1) 3.30ms
   ERROR: mjpg client timed out receiving data for camera 6 on port 8086
kleini commented 2 years ago

That looks like issue #2398, as I thought.

spupuz commented 2 years ago

so what i have to do?

cclauss commented 2 years ago

2483

MichaIng commented 2 years ago

@jmichault I'd like to do a (pre-)release of motionEye v0.43.0, including upload to PyPI. The daily upload workflow with PYPI_TOKEN fails to authenticate: https://github.com/motioneye-project/motioneye/actions/runs/3094711509/jobs/5008377481

ERROR    HTTPError: 403 Forbidden from https://upload.pypi.org/legacy/          
         Invalid or non-existent authentication information. See                
         https://pypi.org/help/#invalid-auth for more information.   

Any idea what the reason of this is, as the same workflow works fine on your fork. Are there probably different kind of tokens? @ccrisan

Also, how to do uploads as pre-releases?

ccrisan commented 2 years ago

I have just updated the PYPI_TOKEN organization secret. I think I accidentally removed the API token from my PyPI account, although I don't remember doing that. Anyway, it has now been recreated and should hopefully work.

MichaIng commented 2 years ago

Many thanks. I'll create a (pre-)release + manually triggered workflow tomorrow.

It looks like PyPI detects releases vs pre-releases simply via certain key words like "dev" or "rc" in the version string? At least the previously successful uploads to test.pypi.org were treated as pre-releases, and I do not see anything else done than adding a .dev* suffix to the version string.

chemelli74 commented 1 year ago

Hi, was 0.43.0 released in the end ?

Thank you in advance,

Simone

coder0107git commented 1 year ago

Can the dev branch be pre-released on Github?

MichaIng commented 1 year ago

I'm working on it, i.e. the PyPI upload along with a pre-release tag here on GitHub: #2675

MichaIng commented 1 year ago

Has anyone time and mood to wrap up some release notes for 0.43.0 (or 0.43.1, possibly technically required)? Aside of Python 3 migration, lots of other features and fixes have been done, l10n, S3 upload, motion 4.4/4.5 support, and lots more. Could be also done via new CHANGELOG(.md) file or similar, so we can add notes directly when the changes are merged, instead of needing to lookup everything when a release is done.

MarcelCoding commented 1 year ago

You can generate release notes with GitHub, when creating a release. You might just have to modify it a bit. It is basically a list of all PRs that were merged.

MichaIng commented 1 year ago

At least for this release this would be really messy, due to quite some back and forth and non-linear merges, also from the previously dedicated l18n/i10n project. But for the future it makes sense indeed. We should then follow some consistent PR/commit naming, which, AFAIK, allows even automatic sorting (bug, enh, feat, frontend, backend or so), isn't it?

MichaIng commented 1 year ago

Probably someone of you has a good idea or opinion about #2675:

spupuz commented 1 year ago

is it the dev image for docker the latest one? why it show always 0.43.0?

MichaIng commented 1 year ago

We currently do not increase the version string. Will do so once we start shipping a beta and finally stable release + related branch.

The Docker image from here is always based on the latest dev branch commit.

TiboTake commented 1 year ago

I found a little Bug. Wen i use German as lang i cant show the Stream URL. The Popup dosn´t work.

edurenye commented 1 year ago

Hi, please take a look at https://github.com/motioneye-project/motioneye/issues/2775 Would be great to think about it before releasing multilingual.

don-dolarson commented 1 year ago

Was intensively using/testing 0.43 "dev" release over a week now on RPi 3B + RPi OS Bullseye 64-bit along with cheap ribbon AZ-Delivery and Innomaker cameras for 10 bucks each (5mp OV5647 both). Works flawless. I've had a problem setting admin and user password from the web interface. Whenever I set 'em, changes wouldn't be saved and needed to manually edit /etc/motion or motioneye.conf (don't remember which of them holds this) to set passwords. Works like a charm. Thanks.

spupuz commented 1 year ago

hello there with latest update i got errors like these:

  File "/usr/local/lib/python3.9/dist-packages/motioneye/mediafiles.py", line 1030, in get_current_picture
    image.thumbnail((width, height), Image.CUBIC)
AttributeError: module 'PIL.Image' has no attribute 'CUBIC'
   ERROR: 500 GET /picture/1/current/?_=1688373818539&width=0.81&_username=admin&_signature=443e749b9bcdec6243f49323d58cee95669091a6 (172.17.0.1) 0.70ms
   ERROR: module 'PIL.Image' has no attribute 'CUBIC'
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/tornado/web.py", line 1786, in _execute
    result = await result
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 52, in get
    await self.current(camera_id)
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 110, in current
    picture = mediafiles.get_current_picture(
  File "/usr/local/lib/python3.9/dist-packages/motioneye/mediafiles.py", line 1030, in get_current_picture
    image.thumbnail((width, height), Image.CUBIC)
AttributeError: module 'PIL.Image' has no attribute 'CUBIC'
   ERROR: 500 GET /picture/5/current/?_=1688373818539&width=0.81&_username=admin&_signature=2e3b8a0be521b6dcfd14970ad72f59431a371b38 (172.17.0.1) 0.48ms
   ERROR: module 'PIL.Image' has no attribute 'CUBIC'
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/tornado/web.py", line 1786, in _execute
    result = await result
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 52, in get
    await self.current(camera_id)
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 110, in current
    picture = mediafiles.get_current_picture(
  File "/usr/local/lib/python3.9/dist-packages/motioneye/mediafiles.py", line 1030, in get_current_picture
    image.thumbnail((width, height), Image.CUBIC)
AttributeError: module 'PIL.Image' has no attribute 'CUBIC'
   ERROR: 500 GET /picture/6/current/?_=1688373818539&width=0.81&_username=admin&_signature=f292d42212edd27766e2efb114caac9a6735ac0e (172.17.0.1) 0.41ms
   ERROR: module 'PIL.Image' has no attribute 'CUBIC'
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/tornado/web.py", line 1786, in _execute
    result = await result
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 52, in get
    await self.current(camera_id)
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 110, in current
    picture = mediafiles.get_current_picture(
  File "/usr/local/lib/python3.9/dist-packages/motioneye/mediafiles.py", line 1030, in get_current_picture
    image.thumbnail((width, height), Image.CUBIC)
AttributeError: module 'PIL.Image' has no attribute 'CUBIC'
   ERROR: 500 GET /picture/3/current/?_=1688373818574&width=0.81&_username=admin&_signature=ce9cd1cd8c1c891ac9d2fa3f0ea9e75606517b0a (172.17.0.1) 0.64ms
   ERROR: module 'PIL.Image' has no attribute 'CUBIC'
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/tornado/web.py", line 1786, in _execute
    result = await result
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 52, in get
    await self.current(camera_id)
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 110, in current
    picture = mediafiles.get_current_picture(
  File "/usr/local/lib/python3.9/dist-packages/motioneye/mediafiles.py", line 1030, in get_current_picture
    image.thumbnail((width, height), Image.CUBIC)
AttributeError: module 'PIL.Image' has no attribute 'CUBIC'
   ERROR: 500 GET /picture/7/current/?_=1688373818574&width=0.81&_username=admin&_signature=d95829b4a734f256ff59510a1aea672e0dc5a9a8 (172.17.0.1) 0.52ms
   ERROR: module 'PIL.Image' has no attribute 'CUBIC'
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/tornado/web.py", line 1786, in _execute
    result = await result
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 52, in get
    await self.current(camera_id)
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 110, in current
    picture = mediafiles.get_current_picture(
  File "/usr/local/lib/python3.9/dist-packages/motioneye/mediafiles.py", line 1030, in get_current_picture
    image.thumbnail((width, height), Image.CUBIC)
AttributeError: module 'PIL.Image' has no attribute 'CUBIC'
   ERROR: 500 GET /picture/10/current/?_=1688373818574&width=0.81&_username=admin&_signature=defdba7286bf4396042eacd8836b26fd99b2f95e (172.17.0.1) 0.41ms
   ERROR: module 'PIL.Image' has no attribute 'CUBIC'
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/tornado/web.py", line 1786, in _execute
    result = await result
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 52, in get
    await self.current(camera_id)
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 110, in current
    picture = mediafiles.get_current_picture(
  File "/usr/local/lib/python3.9/dist-packages/motioneye/mediafiles.py", line 1030, in get_current_picture
    image.thumbnail((width, height), Image.CUBIC)
AttributeError: module 'PIL.Image' has no attribute 'CUBIC'
   ERROR: 500 GET /picture/4/current/?_=1688373828803&width=0.81&_username=admin&_signature=1ed2a6517425a57ab38227d9d2d5791db81597e3 (172.17.0.1) 0.70ms
   ERROR: module 'PIL.Image' has no attribute 'CUBIC'
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/tornado/web.py", line 1786, in _execute
    result = await result
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 52, in get
    await self.current(camera_id)
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 110, in current
    picture = mediafiles.get_current_picture(
  File "/usr/local/lib/python3.9/dist-packages/motioneye/mediafiles.py", line 1030, in get_current_picture
    image.thumbnail((width, height), Image.CUBIC)
AttributeError: module 'PIL.Image' has no attribute 'CUBIC'
   ERROR: 500 GET /picture/8/current/?_=1688373828803&width=0.81&_username=admin&_signature=29e7ecd326d15f1b61bce8a6a8ac2b04470d7ee4 (172.17.0.1) 0.53ms
   ERROR: module 'PIL.Image' has no attribute 'CUBIC'
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/tornado/web.py", line 1786, in _execute
    result = await result
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 52, in get
    await self.current(camera_id)
  File "/usr/local/lib/python3.9/dist-packages/motioneye/handlers/picture.py", line 110, in current
    picture = mediafiles.get_current_picture(
  File "/usr/local/lib/python3.9/dist-packages/motioneye/mediafiles.py", line 1030, in get_current_picture
    image.thumbnail((width, height), Image.CUBIC)
AttributeError: module 'PIL.Image' has no attribute 'CUBIC'
   ERROR: 500 GET /picture/9/current/?_=1688373828803&width=0.81&_username=admin&_signature=c830acb9f9cdb00fd524833a7ad8306ab94f9e5b (172.17.0.1) 0.50ms
spupuz commented 1 year ago

what can i do?

spupuz commented 1 year ago

reconfigured and reimported the conf files for the cam and it worked.

jwhite commented 1 year ago

Is there currently a way to verify that I am indeed running 'dev' and not the old "0.42.1"

I see above that the version string is not being updated.

zagrim commented 1 year ago

@jwhite I don't know what you are referring to with "above", but I can confirm that the version show both in UI and in log is 0.43.0 for the current dev version.

jwhite commented 1 year ago

@zagrim "above" refers to earlier in this thread. Is it true that 0.43.0 could also signify the last release version that is a non 'dev' version?

zagrim commented 1 year ago

I don't think it could, and I still do not see where that would be suggested. However, in the python2 branch, which is the based on the old dev branch before migration to Python3, we still have 0.42.1 in https://github.com/motioneye-project/motioneye/blob/python2/motioneye/__init__.py Whereas in current dev branch we have 0.43.0 there: https://github.com/motioneye-project/motioneye/blob/dev/motioneye/__init__.py

brjhaverkamp commented 11 months ago

Hello all,

I have been using motioneye happily on some of my rpi security cameras for a long time now. And I keep an eye on the project to see if a new version is available. But I notice the 0.43 version is now being worked on for about 1.5 years (the age of this thread) What are currently the showstoppers? Are there any? I couldn't find a list of open items. If not, would it be possible to make 0.43 official ( or after a round of RCs). That would get the ball rolling, possibly attract more attention, support and developers that want to contribute that are now holding off.

spupuz commented 11 months ago

Hello all,

I have been using motioneye happily on some of my rpi security cameras for a long time now. And I keep an eye on the project to see if a new version is available. But I notice the 0.43 version is now being worked on for about 1.5 years (the age of this thread) What are currently the showstoppers? Are there any? I couldn't find a list of open items. If not, would it be possible to make 0.43 official ( or after a round of RCs). That would get the ball rolling, possibly attract more attention, support and developers that want to contribute that are now holding off.

Totally agree as a user it's frustrating do not understand which are the changes

zagrim commented 11 months ago

@brjhaverkamp @spupuz Regarding the changes: In the sidebar of this issue there is a linked milestone: https://github.com/motioneye-project/motioneye/milestone/1 which contains still plenty of open issues and some features that have been planned to be included in 0.43 release (libcamera support and Motion 4.4 support perhaps being the biggest ones). In the milestone view one can also see the closed issues (ie. completed changes in current dev branch).

spupuz commented 11 months ago

@brjhaverkamp @spupuz Regarding the changes: In the sidebar of this issue there is a linked milestone: https://github.com/motioneye-project/motioneye/milestone/1 which contains still plenty of open issues and some features that have been planned to be included in 0.43 release (libcamera support and Motion 4.4 support perhaps being the biggest ones). In the milestone view one can also see the closed issues (ie. completed changes in current dev branch).

yeah ok but why not realease this 0.43.0 an then update the various fixes and implementartion with additional releases? in that way the version always remain 0.4.3.

nullr0ute commented 11 months ago

be included in 0.43 release (libcamera support and Motion 4.4 support perhaps being the biggest ones). In the milestone view one can also see the closed issues (ie. completed changes in current dev branch).

I think some of those big features like libcamera are great but could also be a 0.44 release. With the last release not supporting python3 and py2 being EOL 4 years ago personally I think splitting the release into two would be useful for a lot of users. Perfect is the enemy of good :)

zagrim commented 11 months ago

Yeah, considering the time it has taken for 0.43 to get to its current state (with also Motion 4.4 support supposedly working but not likely very thoroughly tested), it might be a good idea to split out some of the stuff from that milestone (especially libcamera support seems to be a tough one). I wonder what @MichaIng thinks of that.

Nonetheless, recently there hasn't been much any progress here due to lack of time/energy from anyone (myself included) to move this forward, and getting 0.43 released would require some effort just for the releasing related things.

brjhaverkamp commented 11 months ago

Hi Zagrim,

Thanks for your thoughts. I see you are also contemplating to release. From my side I would motion (pun intended) to indeed move what is not ready yet as much as possible (libcamera, Motion 4.4) to milestone 0.44 and release 0.43 as soon as possible. The move to python3 is a big step that will be appreciated by a lot of users.

Indeed there hasn't been a lot of progress in the past months. A release might even draw some new people to add to the effort. That would be good for the project in general. Atm, I feel a lot of users are currently holding back and sticking to the last stable release ( myself included)

@Michalng, I am curious to hear your thoughts.

Bert

MichaIng commented 10 months ago

Sorry for being mostly inactive lately. I am busy with my main project, the limited spare time I can afford.

motion 4.4 up to 4.6 should work well. All options motionEye sets are adjusted for these versions, and there were no changes after v4.4. But when custom options were added, those need to be updated manually to match the new motion version. Here is a nice overview: https://motion-project.github.io/motion_config.html#Configuration_OptionsAlpha

motionEye 0.43 is not perfect at all, but already much better than the last 0.42 release IMO. Alone Python 3 support, where Python 2 is often not available anymore on modern distros, is a huge benefit, and many bug fixes have been made as well, at least much more than new bugs introduces 😉. Hence, to being things forward, I agree that we should push at least a beta/pre-release to PyPI, to make installing it easier and get more attention. Then at best focusing on fixing the the most urgent bugs, ignoring new features/enhancements for now (unless someone has time and passion to work on a specific topic, of course), and get a "stable" (formally) release out soon as well.

I prepared a PyPI release workflow a while ago: https://github.com/motioneye-project/motioneye/pull/2675 The only question I was waiting for feedback about:

In the same turn, I would create a "beta" branch from the "dev" branch and a pre-release tag here on GitHub. The release workflow could then be triggered not only manually, but also automatically once a GitHub release tag is created.

brjhaverkamp commented 10 months ago

Hi MichaIng

I saw you were very active this year on github in other projects. Too much to do.. Hop you have some time to spare for this. i can't oversee the intricacies of the alpha and beta naming unfortunately. From who do you expect/hope for feedback?

But if this is a more commonly used scheme, I would propose to just move forward with it. #2675 Is exactly a year old today, if I read correctly. So you can argue that if someone objected or had comments, there was ample time.

I am not very versed in github nor programming, but I am a tinkerer and hobbyist using motioneye(os). Is there is anything I can do to help? Regards,

Bert