Improve best_match (and thereby error messages from jsonschema.validate) in cases where there are multiple sibling errors from applying anyOf / allOf -- i.e. when multiple elements of a JSON array have errors, we now do prefer showing errors from earlier elements rather than simply showing an error for the full array (#1250).
(Micro-)optimize equality checks when comparing for JSON Schema equality by first checking for object identity, as == would.
Improve best_match (and thereby error messages from jsonschema.validate) in cases where there are multiple sibling errors from applying anyOf / allOf -- i.e. when multiple elements of a JSON array have errors, we now do prefer showing errors from earlier elements rather than simply showing an error for the full array (#1250).
(Micro-)optimize equality checks when comparing for JSON Schema equality by first checking for object identity, as == would.
Commits
9882dbe Add / ignore the new specification test suite property.
2.13.0 Testing User Secrets with Harness and Other Improvements
The main feature this release is the ability to work with user secrets (secrets that a Juju admin adds to the model) in Harness. You'll want to start with the new add_user_secret() method and from there can mostly manage them in the same way as application secrets.
Note that one of the fixes corrects the type of config values, which were previously strongly typed as str, when they may be int, float, bool, or str. This may break your existing type checks, although we have endeavoured to reach out preemptively with PRs to address this where possible.
Fix: a pragma comment on the continuation lines of a multi-line statement now excludes the statement and its body, the same as if the pragma is on the first line. This closes issue 754. The fix was contributed by Daniel Diniz.
Fix: very complex source files like this one could cause a maximum recursion error when creating an HTML report. This is now fixed, closing issue 1774.
HTML report improvements:
Support files (JavaScript and CSS) referenced by the HTML report now have hashes added to their names to ensure updated files are used instead of stale cached copies.
Missing branch coverage explanations that said "the condition was never false" now read "the condition was always true" because it's easier to understand.
Column sort order is remembered better as you move between the index pages, fixing issue 1766. Thanks, Daniel Diniz.
Fix: a pragma comment on the continuation lines of a multi-line statement
now excludes the statement and its body, the same as if the pragma is
on the first line. This closes issue 754. The fix was contributed by
Daniel Diniz <pull 1773_>.
Fix: very complex source files like this one <resolvent_lookup_>_ could
cause a maximum recursion error when creating an HTML report. This is now
fixed, closing issue 1774_.
HTML report improvements:
Support files (JavaScript and CSS) referenced by the HTML report now have
hashes added to their names to ensure updated files are used instead of
stale cached copies.
Missing branch coverage explanations that said "the condition was never
false" now read "the condition was always true" because it's easier to
understand.
Column sort order is remembered better as you move between the index pages,
fixing issue 1766. Thanks, Daniel Diniz <pull 1768_>.
Most Recent Ignore Conditions Applied to This Pull Request
| Dependency Name | Ignore Conditions |
| --- | --- |
| pytest | [>= 8.2.a, < 8.3] |
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the pip_dependencies group with 8 updates in the / directory:
42.0.5
42.0.6
4.21.1
4.22.0
2.12.0
2.13.0
7.5.0
7.5.1
1.1.360
1.1.361
8.1.1
8.1.2
0.34.0
0.35.0
0.4.2
0.4.3
Updates
cryptography
from 42.0.5 to 42.0.6Changelog
Sourced from cryptography's changelog.
Commits
cfad004
Prepare backports for 42.0.6 release (#10929)Updates
jsonschema
from 4.21.1 to 4.22.0Release notes
Sourced from jsonschema's releases.
Changelog
Sourced from jsonschema's changelog.
Commits
9882dbe
Add / ignore the new specification test suite property.ebc90bb
Merge commit '8fcfc3a674a7188a4fcc822b7a91efb3e0422a20'8fcfc3a
Squashed 'json/' changes from b41167c74..54f3784a830b7537
Pin pyenchant to pre from below until pyenchant/pyenchant#302 is released.c3729db
Enable doctests for the rest of the referencing page.70a994c
Remove a now-unneeded noqa since apparently this is fixed in new ruff.e6d0ef1
Fix a minor typo in the referencing example docs.bceaf41
Another placeholder benchmark for future optimization.b20234e
Consider errors from earlier indices (in instances) to be better matches41b49c6
Minor improvement to test failure message when a best match test fails.Updates
ops
from 2.12.0 to 2.13.0Release notes
Sourced from ops's releases.
Changelog
Sourced from ops's changelog.
Commits
6cbc264
chore: 2.13.0 release notes and version bump (#1207)b5d8962
test: refactor test_framework from unittest to pytest style (#1195)c9ed805
test: refactor test_charm.py to pytest fixtures and parametrize (#1193)be7f8ac
feat: add pebble.CheckInfo.change_id field (#1197)fe9c563
test: pytest conversion for test lib and infra (#1196)e5d76c4
test: refactor some for loop tests into pytest parametrize (#1192)fa185b4
fix!: correct the model config types (#1183)d4a48fd
fix (harness): only inspect the source file if it will be used (#1181)ab239e1
test: refactor asserts to pytest style (#1191)ac21f47
docs: update docstrings with deprecated directive (#1178)Updates
coverage[toml]
from 7.5.0 to 7.5.1Release notes
Sourced from coverage[toml]'s releases.
Changelog
Sourced from coverage[toml]'s changelog.
Commits
be938ea
docs: sample HTML for 7.5.102c66d7
docs: prep for 7.5.15fa9f67
fix: avoid max recursion errors in ast code. #177434af01d
build: easier to run metasmoke on desired python version6b0cac5
perf: cache _human_key to speed html report by about 10%fdc0ee8
docs: oops, typo60e6cb4
docs: changelog for #754 and #1773277c8c4
fix: '# pragma: no branch' in multiline if statements. #754 (#1773)34d3eb7
docs: update changelog for #1786. Thanks, Daniel Diniz2bb5ef2
fix(html): make HTML column sorting consistent across index pages (fix #1766)...Updates
pyright
from 1.1.360 to 1.1.361Commits
f9cffb8
[pyright updated to 1.1.361] Update Version (#268)Updates
pytest
from 8.1.1 to 8.1.2Release notes
Sourced from pytest's releases.
Commits
cf84163
Prepare release version 8.1.20675383
[8.1.x] Fixed Bug Regarding Attribute Error in pytest.approx For Types Implic...a43b098
[8.1.x] Update events/trainings (#12237)f55c660
[8.1.x] doc:import pytest
inconftest.py
example indoctest.rst
(#12182)be7c8be
[8.1.x] Add research item in doc (#12148)c5e3921
[8.1.x] doc: add versionadded toExceptionInfo.group_contains
(#12142)83614e1
[8.1.x] doc: fix typos (#12119)cd585a1
[8.1.x] doc: add versionadded toStash
andStashKey
(#12109)6c14139
[8.1.x] doc/flaky: removebox/flaky
plugin suggestion (#12102)abb0cf4
Merge pull request #12094 from pytest-dev/release-8.1.1Updates
pytest-operator
from 0.34.0 to 0.35.0Commits
Updates
ruff
from 0.4.2 to 0.4.3Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
Commits
1e91a09
Bump version to v0.4.3 (#11274)d0f51c6
Remove remainingruff_shrinking
references (#11272)8dd3811
Use function range forreimplemented-operator
diagnostics (#11271)894cd13
[refurb
] Ignore methods inreimplemented-operator
(FURB118
) (#11270)f3284fd
Remove unnecessary check for RUF020 enabled (#11268)82dd5e6
[red-knot] resolve class members (#11256)6a1e555
Upgrade to Rust 1.78 (#11260)349a4cf
Remove trailing reference section (#11257)dfbeca5
ruff server
no longer hangs after shutdown (#11222)9e69cd6
Rephrase rationale forpytest-incorrect-pytest-import
(#11255)Most Recent Ignore Conditions Applied to This Pull Request
| Dependency Name | Ignore Conditions | | --- | --- | | pytest | [>= 8.2.a, < 8.3] |Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show