Conversation
…ing release) Removes every deprecated module, function, class, and re-export in ovos-utils that carries a DeprecationWarning or a documented deprecation notice, plus the tests that exercised only that removed behavior: - ovos_utils.messagebus (whole module, deprecated re-export of fakebus) - ovos_utils.dialog: MustacheDialogRenderer, load_dialogs, get_dialog (superseded by ovos_spec_tools' dialog renderer); join_list kept - ovos_utils.bracket_expansion: expand_template, expand_parentheses, expand_options, Fragment/Word/Sentence/Options/SentenceTreeParser (superseded by ovos_spec_tools.expand); expand_slots kept - ovos_utils.events.EventSchedulerInterface, a duplicate of the class that moved to ovos_bus_client.apis.events - ovos_utils.lang: standardize_lang_tag, get_language_dir (superseded by ovos_spec_tools); translate_word kept - ovos_utils.network_utils.is_connected (alias for is_connected_http) - ovos_utils.ocp.available_extractors (superseded by ovos_plugin_manager.ocp; grepped ovos-bus-client source, no longer imported there) - ovos_utils.security.create_self_signed_cert (unmaintained, generates a cert modern OpenSSL rejects) - ovos_utils.system: ntp_sync, system_shutdown, system_reboot, ssh_enable, ssh_disable, restart_mycroft_service (superseded by ovos-PHAL-plugin-system) - ovos_utils.xdg_utils: the module-level XDG_* constants kept "for backward compatibility" (unused anywhere in-tree) - ovos_utils.fakebus.Message.publish and the deprecated Message alias wrapper (both unrelated to the legacy namespace/intent-topic bridge, which stays untouched here — that bridge is the held kill-switch in ovos-utils#412 and duplicating it would double-count the diff) This is a reference PR: it does not merge. Its only purpose is to show the total code deleted once the breaking release train flips. 45 files changed, 14 insertions(+), 2445 deletions(-). Full suite: 916 passed, 1 skipped (no regressions; nothing in dev was already red). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greetings! The CI pipeline has delivered its findings. 🏗️I've aggregated the results of the automated checks for this PR below. 📋 Repo HealthChecking if the repo is following its diet. 🥗 ✅ All required files present. Latest Version: ✅ ⚖️ License CheckEnsuring our copyright headers are in tip-top shape. ✍️ ✅ No license violations found. Policy: Apache 2.0 (universal donor). StrongCopyleft / NetworkCopyleft / WeakCopyleft / Other / Error categories fail. MPL allowed. 📊 CoverageA detailed breakdown of what's being tested. 📊 ✅ 84.5% total coverage Files below 80% coverage (6 files)
Full report: download the 🔍 LintI've checked the vitals of this contribution. 🩺 ❌ ruff: issues found — see job log 🔨 Build TestsFrom source to binary, let's see how it holds up. 🧱 ✅ All versions pass
Helping you push code with confidence 🚀 |
DO NOT MERGE — reference for the breaking release train; the owner merges when the time comes.
This branch removes every deprecated module, function, class, and re-export in ovos-utils that carries a DeprecationWarning or a documented deprecation notice, along with the tests that existed only to exercise that removed behavior. The goal is to show, in one place, how much of the package disappears once the ecosystem is ready to drop backward compatibility entirely.
A separate held PR, #412, is the kill-switch for the legacy namespace/intent-topic bridge in
FakeBusandAsyncFakeBus— that bridge is deliberately left untouched here so the two PRs don't double-count the same removal. Everything else deprecated in the package is covered.What is removed
ovos_utils.messagebusfakebus)ovos_utils.dialogMustacheDialogRenderer,load_dialogs,get_dialog(superseded byovos_spec_tools's dialog renderer)join_listovos_utils.bracket_expansionexpand_template,expand_parentheses,expand_options,Fragment/Word/Sentence/Options/SentenceTreeParser(superseded byovos_spec_tools.expand)expand_slotsovos_utils.eventsEventSchedulerInterface(a duplicate of the class that moved toovos_bus_client.apis.events)ovos_utils.langstandardize_lang_tag,get_language_dir(superseded byovos_spec_tools)translate_wordovos_utils.network_utilsis_connected(alias foris_connected_http)ovos_utils.ocpavailable_extractors(superseded byovos_plugin_manager.ocp; greppedovos-bus-clientsource, it is no longer imported there)ovos_utils.securitycreate_self_signed_cert(unmaintained, generates a 1024-bit RSA/SHA-1 cert modern OpenSSL rejects)ovos_utils.systemntp_sync,system_shutdown,system_reboot,ssh_enable,ssh_disable,restart_mycroft_service(superseded byovos-PHAL-plugin-system)ovos_utils.xdg_utilsXDG_*constants kept "for backward compatibility" (unused anywhere in-tree)ovos_utils.fakebusMessage.publishand the deprecatedMessagealias wrapper — both unrelated to the legacy bridge, which staysDiffstat
45 files changed, 14 insertions(+), 2445 deletions(-).
Tests
The full unit suite passes after the removal: 916 passed, 1 skipped, no regressions. Nothing in
devwas already red. Test files that only pinned the removed deprecated behavior were deleted (test_bracket_extra.py,test_messagebus.py,test_security_extra.py, the wholetest/unittests/dialog/fixture directory) or trimmed in place.Needs a call
ovos_utils.ocp's legacyPlaybackMode/MediaStateenum members marked# DEPRECATED - used in ovos 0.0.7(PLAYING_AUDIOSERVICE,QUEUED_AUDIOSERVICE,AUDIO_SERVICE,FORCE_AUDIOSERVICE) were left in place — they are enum values, and removing them risks breaking comparisons against persisted/serialized state rather than live imports. Left for the owner to decide.LOG.warning("DEPRECATED: use dict2entry()...")runtime warning inocp.pyis a soft nudge, not an importable deprecated API surface, so it was left as-is.