Conversation
vdvukhzhilov
approved these changes
Jun 10, 2026
pratushnyi
approved these changes
Jun 10, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Context
This prepares the breaking Allure Java 3.0.0 line. The release now targets Java 17 by default, validates builds on JDK 17 and JDK 25, removes legacy modules and aliases, moves shared HTTP exchange support into
allure-java-commons, and updates the public docs so each published module has aREADME.mdentry point for Allure Report users.Breaking changes
--release 8to--release 17.allure-jooqandallure-karateon--release 21; CI excludes those two modules from JDK 17 checks and runs them on JDK 25.allure-junit5andallure-junit5-assertrelocation publications, BOM entries, tests, and bridge verification.allure-attachmentsmodule and all HTTP FreeMarker request/response templates.allure-test-filteras a separate artifact and moved test-plan filtering intoallure-java-commons.AS_TESTPLAN_PATH; test-plan lookup now usesALLURE_TESTPLAN_PATH.allure-reader.javax.*APIs to Jakarta APIs.Removed modules/artifacts
allure-attachmentsallure-cucumber4-jvm(Cucumber 4.8.0)allure-cucumber5-jvm(Cucumber 5.1.2, Gherkin 5.1.0)allure-cucumber6-jvm(Cucumber 6.10.2, Gherkin 18.0.0)allure-jbehave(JBehave 4.8.3)allure-okhttp(OkHttp 2.7.5)allure-readerallure-spock(Spock 1.x / Groovy 2.5)allure-test-filterallure-junit5relocation publicationallure-junit5-assertrelocation publicationHTTP exchange attachments
HTTP client integrations now write one structured attachment per exchange using the Allure HTTP exchange schema:
1application/vnd.allure.http+json.httpexchange__ALLURE_REDACTED__1 MiBThe new public model lives in
io.qameta.allure.http:HttpExchange,HttpExchangeRequest,HttpExchangeResponse,HttpExchangeBody,HttpExchangeBodyPart,HttpExchangeCookie,HttpExchangeNameValue,HttpExchangeInformationalResponse,HttpExchangeStream, andHttpExchangeError.Manual usage:
Integration configuration examples:
REST Assured also carries its configured blacklisted headers into HTTP exchange redaction automatically.
Lifecycle and model changes
ScopeResult,ScopeFixtureResult, andScopeFixtureType.startScope,updateScope,stopScope, andwriteScope.Attachment behavior
High-level APIs now preserve attachment order by creating meta-steps:
This now renders as:
step 1requestattachment stepstep 2Covered APIs include
Allure.attachment(...),Allure.addAttachment(...),Allure.addByteAttachmentAsync(...),Allure.addStreamAttachmentAsync(...), andAllure.addHttpExchange(...).HTTP and client integration changes
allure-rest-assured,allure-httpclient,allure-httpclient5,allure-okhttp3,allure-spring-web,allure-jax-rs, andallure-servlet-apinow depend onallure-java-commonsinstead ofallure-attachments.allure-grpcno longer uses the shared attachments module or request/response templates.allure-jsonunitkeeps non-HTTP rendering locally instead of depending on shared attachments.Dependency and tool updates
Build and plugins:
2.36-SNAPSHOT->3.0-SNAPSHOT8.11->9.5.16.25.0->8.6.0io.github.goooler.shadow:8.1.8->com.gradleup.shadow:9.4.24.0.0->4.1.00.9.6->0.10.06.4.7->6.5.62.0.0->2.4.03.17.5->4.4.2Managed dependencies and quality tools:
2.21.1->2.22.05.10.3->6.1.02.0.17->2.0.181.9.25->1.9.25.112.3.0->12.3.17.15.0->7.25.04.9.8->4.10.2com.github.tomakehurst:wiremock:3.0.1->org.wiremock:wiremock:3.13.22.8.9->2.14.032.0.1-jre->33.6.0-jre2.20.0->2.22.0javax.annotation-api:1.3.2->jakarta.annotation-api:3.0.03.18.0->3.20.01.10.0->1.15.02.3.33->2.3.340.8.0->1.1.17.0.1.Final->7.0.2.Final5.15.0->7.0.05.21.0->5.23.0Framework/module dependencies:
2.8.0->3.4.17.18.1+ Gherkin28.0.0-> Cucumber BOM7.34.31.79.0->1.81.04.33.5->4.35.05.3.1->5.6.1javax.ws.rs-api:2.1.1->jakarta.ws.rs-api:4.0.05.1.1->5.2.03.20.11->3.21.52.2.0->2.2.218.1.0->18.4.042.7.7->42.7.112.35.0->5.1.2com.intuit.karate:karate-core:1.4.1->io.karatelabs:karate-core:2.0.104.12.0->5.4.01.59.0->1.60.02.12.19->2.12.212.13.14->2.13.183.2.19->3.2.207.4.1->7.16.2javax.servlet-api:4.0.1->jakarta.servlet-api:6.1.02.3-groovy-3.0->2.4-groovy-5.03.0.22->5.0.66.2.17->7.0.87.11.0->7.12.0Documentation and repository metadata
README.mdfor every remaining module.allure-junit4-aspectpackage metadata and README to clarify the Gradle/JUnit 4 AspectJ use case.Checklist