Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps)!: py-serializable==^1.1.1 -> ^2.0.0 #775

Merged
merged 1 commit into from
Feb 11, 2025

Conversation

jkowalleck
Copy link
Member

@jkowalleck jkowalleck commented Feb 9, 2025

bump to py-serializable v2.0.0: https://github.com/madpah/serializable/releases/tag/v2.0.0
This is considered a breaking change, as downstream users might rely on the same package's previous version.

Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com>
@jkowalleck jkowalleck requested a review from a team as a code owner February 9, 2025 14:02
Copy link

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
+0.00% 100.00% (target: 80.00%)
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (2a87f50) 5092 4760 93.48%
Head commit (b03cfa6) 5092 (+0) 4760 (+0) 93.48% (+0.00%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#775) 20 20 100.00%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

Codacy stopped sending the deprecated coverage status on June 5th, 2024. Learn more

@jkowalleck jkowalleck changed the title chore(deps): py-serializable==^1.1.1 -> ^2.0.0 chore(deps)!: py-serializable==^1.1.1 -> ^2.0.0 Feb 9, 2025
@jkowalleck jkowalleck added this to the 9.0.0 milestone Feb 9, 2025
@hseg
Copy link

hseg commented Feb 9, 2025

Looking over the PR, I'm struck by the fact that it hard-bumps the dependency on
py-serializable to ^>=2.0.0. However, this is unnecessarily strict:

from importlib.metadata import version
from packaging.Version import Version

match Version(version('py-serializable')):
    case ver if ver < Version('2.0.0'):
        import serializable
    case ver if Version('2.0.0') <= ver < Version('3.0.0'):
        import py_serializable as serializable
    case _:
        throw ImportError("Can't predict py-serializable compatibility")

The benefit here is that it loosens the need to bump the cyclonedx and
py-serializable versions in lockstep. Thankfully, AFAICT cyclonedx is the
only reverse dependency of py-serializable currently packaged in AUR aur,
so this case isn't so bad, but good practice is good practice.

@jkowalleck
Copy link
Member Author

jkowalleck commented Feb 9, 2025

re: #775 (comment)

i also thought about having a compatibility layer for supporting ^1.1.1||^2.
I decided against this, as python venvs exist for people that need the old version of py-serializable, still.
So there should be simply no reason to support backwards compatibility here.

@hseg
Copy link

hseg commented Feb 9, 2025 via email

@jkowalleck jkowalleck changed the base branch from main to 9.0.0-dev February 11, 2025 12:22
@jkowalleck jkowalleck merged commit 7c20c8e into 9.0.0-dev Feb 11, 2025
51 checks passed
@jkowalleck jkowalleck deleted the feat/py-serializable-v2.0.0 branch February 11, 2025 12:29
@jkowalleck jkowalleck mentioned this pull request Feb 11, 2025
@jkowalleck
Copy link
Member Author

A preview of the fix/feature is available via https://github.com/CycloneDX/cyclonedx-python-lib/releases/tag/v9.0.1-rc.1

jkowalleck added a commit that referenced this pull request Feb 26, 2025
### BREAKING Changes

* Fix: `model.vulnerability.VulnerabilityReference`'s properties are all
mandatory
([#790](#790)
via [#792](#792))
* Refactor: Rename `spdx.is_compund_expression` -> `spdx.is_expression`
([#779](#779))
* Behavior: `BomRef` affects comparison/hashing
([#754](#754) &
[#780](#780))
  This is only a breaking change if you relied on ordering of elements.
* Behavior: streamline comparison/hashing functions
([#755](#755))
  This is only a breaking change if you relied on ordering of elements.
* Dependency: bump dependency `py-serializable >=2 <3`, was `>=1.1.1 <2`
([#775](#775))
This is only a breaking change if you have other packages depend on that
specific version.

---------

Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com>
Signed-off-by: wkoot <3715211+wkoot@users.noreply.github.com>
Signed-off-by: semantic-release <semantic-release@bot.local>
Co-authored-by: wkoot <3715211+wkoot@users.noreply.github.com>
Co-authored-by: semantic-release <semantic-release@bot.local>
@jkowalleck
Copy link
Member Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants