You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
THRIFT-4724: dlang dub.json dependency for openssl is too restrictive: new fix tested and update openssl version >=2.0.3 - #3999
This simple fix has been tested and working with upto the latest version 3.4.0, so relax the openssl dependency.
If a ticket exists: Does your pull request title follow the pattern "THRIFT-NNNN: describe my issue"? THRIFT-4724 - dlang dub.json dependency for openssl is too restrictive
Did you squash your changes to a single commit? (not required, but preferred)
Yes
Did you do your best to avoid breaking changes?
No breaking changes.
If your change does not involve any code, include [skip ci] anywhere in the commit message to free up build resources.
No blocking issues found. Checked for bugs and CLAUDE.md compliance.
Two suggestions, below the bar for an issue but verified:
dub resolves the dependencies of all configurations together (Configuration-only dependencies should not take part in version resolution dlang/dub#1217), so the ~>1.1.6 of use_openssl_1_0 and the >=2.0.3 of use_openssl_1_1 both apply to the one package openssl, and they do not overlap. With dub 1.16.0 (the one in the ubuntu-jammy docker image), dub describe --config=use_openssl_1_1 on this head, and a consumer that selects use_openssl_1_1 through subConfigurations, both stop with
Unresolvable dependencies to package openssl:
apache-thrift ~master depends on openssl ~>1.1.6
apache-thrift ~master depends on openssl >=2.0.3
The merge base fails the same way with ~>2.0.3, so this predates the PR, but it means the change alone does not let a fresh resolve pick up the newer bindings; only a hand-written dub.selections.json gets past it. Sub-packages, or a single range with the API picked through versions, would avoid the conflict.
A small formality: CONTRIBUTING.md asks for the ticket id and a colon at the start of the commit subject and a Client: d line below it. The commit is currently tested and update openssl version to >=2.0.3.
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
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.
The currently thrift D build only works for openssl 2.0.3 < version 3.0
But openssl has many new version updates:
https://code.dlang.org/packages/openssl
Versions:
3.4.0 2025-Aug-08
3.3.4 2024-Sep-26
3.3.3 2023-Sep-14
3.3.2 2023-Aug-21
3.3.1 2023-Aug-10
This simple fix has been tested and working with upto the latest version 3.4.0, so relax the openssl dependency.
THRIFT-4724 - dlang dub.json dependency for openssl is too restrictive
Yes
No breaking changes.
[skip ci]anywhere in the commit message to free up build resources.But the change affect the build.