Skip to content

Update Piet to v0.6.1.#2345

Merged
xStrom merged 2 commits intolinebender:masterfrom
xStrom:piet-061
Jan 27, 2023
Merged

Update Piet to v0.6.1.#2345
xStrom merged 2 commits intolinebender:masterfrom
xStrom:piet-061

Conversation

@xStrom
Copy link
Member

@xStrom xStrom commented Jan 27, 2023

Piet v0.6.1 comes with lots of documentation fixes, which is good for us because we embed it in the Druid docs.

Interestingly this revealed a bad actor in our dependency graph. The resvg crate pins png to =0.17.6. The way cargo works, this means that no other crate that Druid uses, or even any project that uses Druid can use any other semver compatible png version.

error: failed to select a version for `png`.
    ... required by package `piet-common v0.6.1`
    ... which satisfies dependency `piet-common = "^0.6.1"` of package `druid v0.7.0`
    ... which satisfies path dependency `druid` (locked to 0.7.0) of package `book_examples v0.1.0`
versions that meet the requirements `^0.17.7` are: 0.17.7

all possible versions conflict with previously selected packages.

  previously selected package `png v0.17.6`
    ... which satisfies dependency `png = "=0.17.6"` of package `resvg v0.28.0`
    ... which satisfies dependency `resvg = "^0.28.0"` of package `druid v0.7.0`
    ... which satisfies path dependency `druid` (locked to 0.7.0) of package `book_examples v0.1.0`

failed to select a version for `png` which could resolve this conflict

Thus I think the solution here is to revert back to resvg v0.25 which is just a few months older, but has a much saner png dependency of ^0.17. This issue has been brought to the attention of resvg in resvg#571 where they confirm their intention to change this in the future. For now I don't think we should propagate that pin to all projects depending on Druid. No bug fixes to png (e.g. v0.17.8) would reach apps using druid that way.

@xStrom xStrom added maintenance cleans up code or docs S-needs-review waits for review labels Jan 27, 2023
@xStrom xStrom added this to the Release 0.8 milestone Jan 27, 2023
@xStrom xStrom removed the S-needs-review waits for review label Jan 27, 2023
@xStrom xStrom merged commit 5b160d2 into linebender:master Jan 27, 2023
@xStrom xStrom deleted the piet-061 branch January 27, 2023 17:16
xStrom added a commit to xStrom/druid that referenced this pull request Jan 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintenance cleans up code or docs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants