Skip to content

Release 0.0.15a1 - #65

Open
github-actions[bot] wants to merge 29 commits into
masterfrom
release-0.0.15a1
Open

Release 0.0.15a1#65
github-actions[bot] wants to merge 29 commits into
masterfrom
release-0.0.15a1

Conversation

@github-actions

Copy link
Copy Markdown

Human review requested!

JarbasAl and others added 29 commits June 18, 2025 02:15
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
The release used TigreGotico/gh-automations/publish-alpha.yml@master with inline 'python setup.py sdist bdist_wheel' on Python 3.14, failing with ModuleNotFoundError: setuptools — so every alpha release failed and merged dep fixes (ovos-bus-client<3.0.0) never reached PyPI. Switched to the standard OpenVoiceOS/gh-automations/publish-alpha.yml@dev (reads version from version.py, builds with python -m build), matching ovos-audio.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* refactor: migrate packaging to pyproject.toml

Replace setup.py + requirements.txt + MANIFEST.in with a single pyproject.toml (PEP 621), dynamic version from ovos_messagebus/version.py. Verified the wheel builds with correct console scripts and bundled resources. (Release workflow already modernized on dev in a prior PR.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* ci: use shared reusable build/publish workflows (pyproject)

Replace bespoke build_tests + install_tests + publish_stable (which ran 'python setup.py ...', now removed) with the shared OpenVoiceOS reusable workflows (build-tests/publish-stable @dev), matching ovos-core. build-tests builds via 'python -m build' and installs the wheel. Also removes the NeonGecko build-tests reusable (neongeckocom/.github) per the no-Neon policy.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…cit get_event_loop (#62)

tornado's IOLoop relies on there being a current asyncio event loop. On the
main thread, application.listen() implicitly created one via the deprecated
asyncio.get_event_loop() alias, and the daemon thread started
ioloop.IOLoop.instance().start() (also a deprecated alias) without ever
setting a loop on that thread. This logged
"DeprecationWarning: There is no current event loop" under
python -W always, and will break outright once get_event_loop() stops
creating implicit loops.

Move application.listen() and ioloop.IOLoop.current().start() into a single
function that runs entirely on the daemon thread, first creating and setting
an explicit asyncio event loop with asyncio.new_event_loop() /
asyncio.set_event_loop(). Behavior and public API are unchanged.
* fix: read ssl from the websocket config section

load_message_bus_config() read host/port/route from the `websocket`
config section but read `ssl` from the top-level config instead,
so the documented `websocket.ssl` key was never honoured.

ovos-bus-client does read `websocket.ssl` and builds a `wss://` URL
from it, so a user who sets the documented key ends up with clients
dialing wss:// against a server that still speaks plain ws:// -
breaking the install instead of encrypting it.

This does not add TLS termination (needs cert/key config that doesn't
exist yet); it fixes the key read and logs a warning at startup if
ssl resolves truthy, pointing at a reverse proxy as the supported way
to terminate TLS in front of this server.

* fix: remove misleading TLS-termination warning

websocket.ssl is a client-side setting consumed by ovos-bus-client to
build a wss:// URL. It is entirely valid to run ovos-messagebus behind
a TLS-terminating reverse proxy and set websocket.ssl: true so clients
dial wss://. The warning added in the previous commit assumed the
server itself must terminate TLS, which is false, and would fire on
every startup of a correctly configured reverse-proxy deployment,
telling the operator their working setup is broken. Remove it; the
underlying config-section fix (ssl read from `websocket`, not
top-level) stays.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant