build(deps): update dependency ops to v2.23.4 (main) - #2811
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/main-ops-2.x
branch
from
August 1, 2026 11:25
7e6f5bc to
5c2f80d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==2.5.0→==2.23.4==2.5.1→==2.23.4==2.15.0→==2.23.4Release Notes
canonical/operator (ops)
v2.23.4: : backport fixes from 3.xCompare Source
2.23 is the LTS series for Ops, and this release brings it up to date with the bug fixes made in the 3.x series from 3.1.0 through to 3.8.0 (everything that was applicable to 2.23 and did not require behaviour changes or features that only exist in 3.x). There are no new features and no breaking changes.
Most of the fixes are in
ops.testing(Scenario and Harness), where several long-standing sources of confusing test results are resolved. The runtime fixes are smaller in number but include two that can hang or crash a real charm.Runtime fixes worth knowing about
Container.exec()change outlived the client-side wait (for example, an orphaned process holding the exec's stdio open), the non-daemon I/O pump threads stayed blocked inrecv()and prevented interpreter shutdown, wedging the hook. The exec is now torn down when the wait fails.credential-getis recognised on Kubernetes (#2307) and action metadata reportsadditional_propertiescorrectly (#2250) on newer Juju, both of which otherwise caused spurious failures against Juju 4.ops.pebble.Client.pullcleans up its temporary file if it errors (#2087), rather than leaving it behind.ExecError.__str__shows only the executable, not the whole command line (#2336), so arguments that contain secrets do not end up in logs and status messages. Please avoid putting secrets inexeccalls.breakpoint()still works after_Managerteardown (#2542):sys.breakpointhookis restored instead of being left patched.Model.get_binding()(#2329) andStorageMeta.properties(#2348).Testing fixes worth knowing about
-departedand-brokenevents, the ordering is fixed, and the departing unit appears inRelation.databut not inRelation.units.Contextcontext manager are no longer swallowed (#2117, #2121): the manager is exited properly when an exception occurs, andActionFailedis raised as it is outside the manager.Contextholds copies of user-provided meta, config and actions;secret_getandaction_getreturn copies; and layers are deep-copied when rendering the plan. Previously a test could mutate the objects another test was about to use.Contextreleases its resources, andHarness.cleanup()closes the SQLite storage instead of leaking a file handle._checks_actionreturns an empty list rather than erroring when nothing changed (#2270), andtesting.CheckInfo'slevelargument accepts the same type aspebble.CheckInfo.level(#2274).Secret.owneris normalised to'app'in output state (#2127), and an event that ends with_Abort(0)is treated as a success (#1887).testing.Containercompatibility import moved so mypy-style checkers understand it (#2343).What's Changed
Fixes
_Abort(0), tests behave as if it ended successfully (#1887)Relation.databut notRelation.units(#1925)_MockModelBackend.relation_getreturns a copy of the relation data (#2052)ops.pebble.Client.pullcleans up temporary files if it errors (#2087)ActionFailedwhen usingContextas a context manager (#2121)Secret.ownerto'app'forops[testing]output state (#2127)additional_propertiesin the action meta in Juju 4 (#2250)parse_rfc3339for datetime parsing to support Python 3.10 (#2264)_checks_actionreturns an empty list when there are no changes (#2270)testing.CheckInfolevel argument type matchpebble.CheckInfo.level(#2274)ops.Relation.save(#2306)credential-getis available on Kubernetes in newer Juju (#2307)Model.get_binding()return type (#2329)ExecError.__str__, not the full command line (#2336)testing.Containercompatibility import so that mypy-style checkers understand it (#2343)StorageMeta.properties(#2348)testing.Context(#2349)secret_getandaction_get(#2379)relation-get(#2499)testing.Context(#2506)Harness.cleanup()(#2507)sys.breakpointhookon_Managerteardown (#2542)importlib-metadatadependency declaration (#2521)Checks (#2567)pydanticto 2-3 (#2583)Documentation
CI
Full Changelog: canonical/operator@2.23.2...2.23.4
v2.23.2: : fix testing package buildCompare Source
What's Changed
This release fixes a recent build failure for
ops[testing].Fixes
setuptools_scmbuild dependency in #2318Documentation
Full Changelog: canonical/operator@2.23.1...2.23.2
v2.23.1: : Add the remote unit to Relation.data, but not Relation.unitsCompare Source
This is a small bug-fix release for the 2.x series that addresses issues with the recent feature making relation data available in relation-departed events. Rather than inserting the remote unit into
Relation.units, the data is available fromRelation.data, without changingRelation.units.What's Changed
Fixes
Relation.databut notRelation.unitsin #1928Documentation
self.appandself.unitin #1856CI
Full Changelog: canonical/operator@2.23.0...2.23.1
v2.23.0Compare Source
Features
Fixes
Documentation
CI
v2.22.0Compare Source
Features
Fixes
__init__(#1737)ops.testing(#1754)Documentation
CI
ops[tracing]integration tests (#1686)alertmanager-k8s-operatorin observability charm tests (#1753)ops[tracing]addition (#1755)v2.21.1Compare Source
Reverted
Documentation
v2.21.0Compare Source
Features
Fixes
Documentation
CI
Tests
v2.20.0Compare Source
Features
remove_revision()method toSecretRemoveEventandSecretExpiredEvent(#1624)Relation.remote_modelproperty (#1610)RelationDataContent.update(#1586)CharmMeta(#1648)testing.Containermatch the plan (#1630)ops.testing.Statecomponents are less mutable (#1617)Fixes
Documentation
ops.testing.Container(#1637)CI
v2.19.4: ops 2.19.4 and ops-scenario 7.19.4 Synchronise ops and ops-scenario versionsCompare Source
No changes since 2.19.3 and 7.19.3. This is to push packages to PyPI only.
Full Changelog: canonical/operator@2.19.3...2.19.4
v2.19.0Compare Source
Features
Documentation
CI
v2.18.1Compare Source
Fixes
Documentation
v2.18.0Compare Source
Features
Fixes
Documentation
Continuous Integration
Testing
v2.17.1Compare Source
Fixes
push_pathopen in binary mode so it works on non-text files (#1458)Documentation
MaintenanceStatusfor local issues (#1397)collect-statusis is run on every hook (#1399)ogp:urlproperties Sphinx generates (#1411)READTHEDOCScontext variable (#1410)StoredStateis stored, and the upgrade behaviour (#1416)stop_servicesdocstring (#1457)Continuous Integration
Refactoring
v2.17.0Compare Source
Features
ops[testing]and expose the names in ops.testing (#1381)type: ignoreit (#1345)InvalidStatusErrorinstead of waiting for Juju:CollectStatusEvent.add_statuswith error or unknown (#1386)_ModelBackend.set_status(#1354)Fixes
StatusBasesubclasses by callingStatusBase.registerin__init_subclass__(#1383)Secret.set_infoandSecret.set_contentcan be called in the same hook (#1373)Documentation
config-changedis triggered by Juju trust (#1357)CharmBaseinheritance example by @theofpa (#1349)Continuous Integration
Testing
Refactoring
ops.testingtoops._private.harness(#1369)unittest.mocknames in the 'mock' namespace (#1379)StatusBase.registerdecorator (#1384)Chores
v2.16.1Compare Source
Fix
v2.16.0Compare Source
Features
Refactor
Fixes
Documentation
Tests
CI
v2.15.0Compare Source
Features
Fixes
Documentation
CI
v2.14.1Compare Source
Fixes
Tests
Documentation
CI
v2.14.0Compare Source
Features
__str__to ActionFailed, for better unexpected failure output (#1209)Fixes
otherargument toRelatationDataContent.update(...)should be optional (#1226)Documentation
Refactoring
ruffformatter and reformat all code (#1224)v2.13.0Compare Source
Features
Fixes
Documentation
tox -e docs-depsto compile requirements.txt (#1172)Tests
pebble.CheckInfo.change_idfield (#1197)v2.12.0Compare Source
Features
Model.get_cloud_specwhich uses thecredential-gethook command to get details of the cloud where the model is deployed (#1152)Fixes
get_noticesparameter name tousers=all(previouslyselect=all) (#1146)Model.relation.apptype fromApplication|NonetoApplication(#1151)begin(#1150)pebble.Client.execmight leak asocket.timeout(builtins.TimeoutError) exception (#1155)add_relation(#1138)get_relationbehaviour inleader-elected(#1156)type: secretfor config options (#1167)Refactoring
_Managerclass (#1085)Documentation
ops.testingfrom unittest to pytest style (#1157)Harness.add_relationdocstring (#1168)v2.11.0Compare Source
Features
StopEvent,RemoveEvent, and allLifecycleEvents are no longer deferrable, and will raise aRuntimeErrorifdefer()is called on the event object (#1122)ActionEvent.id, exposing the JUJU_ACTION_UUID environment variable (#1124)pebble.Planobjects by passing in apebble.PlanDict, theability to compare two
Planobjects with==, and the ability to create an empty Plan withPlan()(#1134)Fixes
Documentation
can_connect()API documentation (#1123)Tooling
v2.10.0Compare Source
Features
PebbleCustomNoticeEvent,get_notices, and so on) (#1086, #1100)Relation.active, and excluded inactive relations fromModel.relations(#1091)ContainerMeta,and various info links in
CharmMeta) (#1106)ModelErrorin Harness if an invalid status is set (#1107)Fixes
Documentation
Tooling
[
v2.9.0](https://reConfiguration
📅 Schedule: (in timezone Etc/UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.