Skip to content

Version-based policy for fixed propagation of transitive_headers trait#20073

Open
AbrilRBS wants to merge 13 commits into
conan-io:develop2from
AbrilRBS:ar/transitive-headers-diamond-difference
Open

Version-based policy for fixed propagation of transitive_headers trait#20073
AbrilRBS wants to merge 13 commits into
conan-io:develop2from
AbrilRBS:ar/transitive-headers-diamond-difference

Conversation

@AbrilRBS

@AbrilRBS AbrilRBS commented Jun 10, 2026

Copy link
Copy Markdown
Member

Changelog: Bugfix: Version-based policy for fixed propagation of transitive_headers trait
Docs: Omit

For #20072

The old behaviour wrongly gave libd header visibility for liba in graph like shown below. Note that the fix will cause new package ids in libd for such cases:

flowchart BT
    libd --> libc
    libc --> liba
    libc -- transitive_headers=True --> libb
    libb --> liba
Loading

@AbrilRBS AbrilRBS requested a review from memsharded June 10, 2026 18:59
Comment thread conan/internal/model/requires.py Outdated
Comment thread conan/internal/model/requires.py Outdated
Comment thread conan/internal/model/requires.py Outdated
@AbrilRBS AbrilRBS changed the title tests for transitive_headers diamond with different values Version-based policy for fixed propagation of transitive_headers trait Jun 15, 2026
@AbrilRBS AbrilRBS marked this pull request as ready for review June 15, 2026 10:10
@AbrilRBS AbrilRBS requested a review from franramirez688 June 15, 2026 10:10
@AbrilRBS AbrilRBS added this to the 2.30.0 milestone Jun 15, 2026
@AbrilRBS AbrilRBS requested review from jcar87 and memsharded June 17, 2026 16:01
_check_transitive(app, [(libb, True, True, False, False),
(liba, False, False, False, False)])
_check_transitive(libb, [(liba, True, False, False, False)])
_check_transitive(app, [

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This and the check below are just to use the new transitive check functionality, not related to the fix itself

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[bug] transitive_headers leaks across different dependency chains through Requirement.aggregate()

3 participants