If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use the forum.
We hope you will build happiness with Gradle, and we look forward to your feedback via Twitter or on GitHub.
If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use the forum.
We hope you will build happiness with Gradle, and we look forward to your feedback via Twitter or on GitHub.
If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use the forum.
We hope you will build happiness with Gradle, and we look forward to your feedback via Twitter or on GitHub.
Improved the published jar files (#3842, #4599).
Various documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (#4433, #4596).
Breaking changes and deprecations
Moved Promise-related functions from JS and Wasm/JS to the new web target. On Wasm/JS, this is a breaking change. Before the change, Promise on Wasm/JS could work with arbitrary Kotlin types, but now, only JsAny subtypes are accepted (#4563).
Changed handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (#4451, #4631).
Deprecated using CoroutineDispatcher as the coroutine context key; now, ContinuationInterceptor has to be used instead (#4333).
Advanced the deprecation levels on kotlinx-coroutines-test APIs (#4604).
Added lint functions that mark passing a Job to coroutine builders as deprecated (#4435).
Bug fixes and improvements
Added a callsInPlace(EXACTLY_ONCE) contract to runBlocking in code shared between JVM and Native (#4368).
Added a callsInPlace(EXACTLY_ONCE) contract to suspendCancellableCoroutine (#4574).
Fixed exceptions in user-supplied Thread.UncaughtExceptionHandler instances causing the internal coroutines machinery to fail (#4516).
Fixed CoroutineDispatcher.asScheduler in the RxJava integration not cancelling outstanding work when a Worker gets cancelled, which led to memory leaks in some scenarios (#4615).
Fixed SharedFlow entering an invalid state when a subscriber and an emitter are cancelled simultaneously (#4583).
Fixed an R8 optimization leading to shareIn/stateIn coroutines getting garbage-collected (#4646). Thanks, @solevic!
Small additions
Added CompletableDeferred.asDeferred for obtaining a read-only Deferred view (#4408).
Added SharedFlow.asFlow for obtaining a Flow view with hidden hot flow semantics (#4530). Thanks, @g000sha256!
Added a StateFlow.collectLatest overload returning Nothing to assist with finding unreachable code (#4454).
Added ReceiveChannel.consumeTo for consuming a ReceiveChannel into a MutableCollection (#4520).
Added a StateFlow<T>.onSubscription overload returning a StateFlow<T>, similar to SharedFlow<T>.onSubscription returning SharedFlow<T> (#4275). Thanks, @xit0c!
Added terminal Flow operators for collecting a Flow to a Map (#1541).
CONJ-1339 - Add maxAllowedColumns option to bound server-announced column count (report by fg0x0)
CONJ-1330 - add infer test to CI
Issues Resolved
CONJ-1332 - Reject multipart (>16 MB) packets before authentication to prevent pre-auth OOM from a rogue server
CONJ-1342 - socketFactory option allows loading arbitrary bytecode via jar: URL, enabling RCE when JDBC URL is
attacker-controlled (report by Qing Xu)
CONJ-1307 - Connection.setReadOnly(true) still allows DML statements to execute
CONJ-1326 - Unsafe escaping in enquoteLiteral()/enquoteNCharLiteral() (thanks to jmestwa-coder)
CONJ-1327 - Align SSL hostname verification with TLS libraries (thanks to jmestwa-coder)
CONJ-1329 - LOAD DATA LOCAL INFILE validation fails open when a bound parameter can't be rendered (thanks to
jmestwa-coder)
CONJ-1331 - trustStore-configured TLS connections defer certificate-chain/identity validation instead of validating
up front (thanks to jmestwa-coder)
CONJ-1340 - SQL injection via unescaped identifiers in updatable ResultSet generated statements (thanks to
jmestwa-coder)
CONJ-1341 - MariaDbPoolDataSource.getConnection(user, password) ignores the user argument when the pool's own
password is supplied (report by fg0x0)
CONJ-1328 - restrictedAuth allowlist is matched with substring contains() instead of equality (thanks to
jmestwa-coder)
CONJ-1338 - Validate length-encoded integers fit a non-negative int before use as a length (report by fg0x0)
CONJ-1336 - CONJ-1282 regression: TLS connection fails when JDBC hostname is an absolute FQDN ending with a trailing
dot (report by Shaswata, thanks to Pepo48 for PR)
CONJ-1335 - getGeneratedKeys() throws "integer overflow" after a batch insert when the auto-increment value exceeds
Integer.MAX_VALUE, and returns bulk generated keys out of batch order
CONJ-1223 - cache TLS trust/key managers across connections to reduce SSL connection cost
CONJ-1314 - add SPI for interactive dialog (PAM) authentication callback
CONJ-1311 - add dedicated option useIpForKillQuery for query cancellation
CONJ-1310 - Add full native image support and CI coverage
Issues Resolved
CONJ-1320 - PAM (dialog) authentication must require a secure connection (report by fg0x0)
CONJ-1319 - Use constant-time comparison when validating the server certificate fingerprint (report by jmestwa-coder)
CONJ-1318 - enforce allowLocalInfile=false on the server's local-infile request, so a malicious server cannot read a client file despite the option being disabled
CONJ-1322 - match local infile filename case-sensitively (thanks to jmestwa-coder)
CONJ-1323 - LOAD LOCAL INFILE validation rejects statements preceded by line comments (thanks to sebdomdev)
CONJ-1315 - cap BigDecimal/BigInteger string parsing length to prevent CPU exhaustion if MitM (report by tonghuaroot)
CONJ-1317 - ensure non-UTF8 charset cannot be used for protocol exchanges (report by fg0x0)
CONJ-1304 - CallableStatement parameter metadata read from mysql.proc, with MySQL info_schema fallback
CONJ-1299 - keep VALUES literals after the last placeholder when rewriting batches
CONJ-1313 - race condition in HaMode#getAvailableHostInOrder can cause NPE
CONJ-1311 - Connection.cancelCurrentQuery fails with SslMode.VERIFY_FULL when client socket IP is set
CONJ-1264 - handle LocalDateTime as a zoneless wall-clock value
CONJ-1316 - pin Locale.ROOT on locale-sensitive call sites and date/time/Duration text formatting (fixes
locale-dependent parsing/formatting, e.g. under tr_TR) (thanks to jmestwa-coder)
CONJ-1324 - fix SQL parser to correctly handle '--' in expressions and reset lastChar after block comments
CONJ-1323 - LOAD LOCAL INFILE validation rejects statements preceded by line comments (thanks to sebdomdev)
CONJ-1318 - allowLocalInfile=false does not block LOAD DATA LOCAL INFILE against a malicious server (thanks to tharavel)
This release is based on Kotlin 2.3.20 and provides new Json exceptions API and some bugfixes and improvements.
Expose Json exceptions structure
To make working with exceptions easier and providing proper error codes in e.g., REST APIs,
classes JsonException, JsonDecodingException, and JsonEncodingException are now public.
They have relevant public properties, such as shortMessage, path, offset, and others.
This API is currently experimental, and we're going to improve it further in the subsequent releases.
See the linked issues for the details: #1930, #1877.
Ability to hide user input from exception messages for security/privacy reasons.
Historically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.
Such behavior may pose additional challenges for logging, analytics, and other systems, since
a system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.
To address this issue, a new property exceptionsWithDebugInfo is added to JsonConfiguration.
Disable it to hide user input from exception messages.
IMPORTANT: This behavior will be enabled by default when this property becomes stable.
See #2590 for more details.
Bugfixes and improvements
CBOR: Relax value range check when decoding numbers (#3167)
Use a specialized writeDecimalLong method for IO stream integrations in Json (#3152)
Configuration
📅 Schedule: (UTC)
Branch creation
At any time (no schedule defined)
Automerge
At any time (no schedule defined)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
If you want to rebase/retry this PR, check this box
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.
This PR contains the following updates:
Release Notes
PavanMudigonda/jacoco-reporter (PavanMudigonda/jacoco-reporter)v5.2.1
Compare Source
What's Changed
Full Changelog: PavanMudigonda/jacoco-reporter@v5.2...v5.2.1
v5.2
Compare Source
What's Changed
Full Changelog: PavanMudigonda/jacoco-reporter@v5.1...v5.2
v5.1
Compare Source
What's Changed
Full Changelog: PavanMudigonda/jacoco-reporter@v5.0...v5.1
gradle/gradle (gradle)v9.7.1
Compare Source
v9.7.0
Compare Source
v9.6.1
Compare Source
v9.6.0
Compare Source
v9.5.1: 9.5.1
Compare Source
The Gradle team is excited to announce Gradle 9.5.1.
Here are the highlights of this release:
Read the Release Notes
We would like to thank the following community members for their contributions to this release of Gradle:
atm1020,
mataha,
Adam,
Attila Kelemen,
Benedikt Ritter,
Björn Kautler,
Caro Silva Rode,
CHANHAN,
Dmitry Nezavitin,
Eng Zer Jun,
KugelLibelle,
Madalin Valceleanu,
Markus Gaisbauer,
Oliver Kopp,
Philip Wedemann,
ploober,
Roberto Perez Alcolea,
Rohit Anand,
Suvrat Acharya,
Ujwal Suresh Vanjare,
Victor Merkulov
Upgrade instructions
Switch your build to use Gradle 9.5.1 by updating your wrapper:
See the Gradle 9.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading.
For Java, Groovy, Kotlin and Android compatibility, see the full compatibility notes.
Reporting problems
If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use the forum.
We hope you will build happiness with Gradle, and we look forward to your feedback via Twitter or on GitHub.
v9.5.0: 9.5.0
Compare Source
The Gradle team is excited to announce Gradle 9.5.0.
Here are the highlights of this release:
Read the Release Notes
We would like to thank the following community members for their contributions to this release of Gradle:
atm1020,
mataha,
Adam,
Attila Kelemen,
Benedikt Ritter,
Björn Kautler,
Caro Silva Rode,
CHANHAN,
Dmitry Nezavitin,
Eng Zer Jun,
KugelLibelle,
Madalin Valceleanu,
Markus Gaisbauer,
Oliver Kopp,
Philip Wedemann,
ploober,
Roberto Perez Alcolea,
Rohit Anand,
Suvrat Acharya,
Ujwal Suresh Vanjare,
Victor Merkulov
Upgrade instructions
Switch your build to use Gradle 9.5.0 by updating your wrapper:
See the Gradle 9.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading.
For Java, Groovy, Kotlin and Android compatibility, see the full compatibility notes.
Reporting problems
If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use the forum.
We hope you will build happiness with Gradle, and we look forward to your feedback via Twitter or on GitHub.
v9.4.1: 9.4.1
Compare Source
The Gradle team is excited to announce Gradle 9.4.1.
Here are the highlights of this release:
Read the Release Notes
We would like to thank the following community members for their contributions to this release of Gradle:
akankshaa-00,
Attila Kelemen,
Björn Kautler,
dblood,
Dennis Rieks,
duvvuvenkataramana,
John Burns,
Julian,
kevinstembridge,
Niels Doucet,
Philip Wedemann,
ploober,
Richard Hernandez,
Roberto Perez Alcolea,
Sebastian Lövdahl,
stephan2405,
Stephane Landelle,
Ujwal Suresh Vanjare,
Victor Merkulov,
Vincent Potuček,
Vladimir Sitnikov.
Upgrade instructions
Switch your build to use Gradle 9.4.1 by updating your wrapper:
See the Gradle 9.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading.
For Java, Groovy, Kotlin and Android compatibility, see the full compatibility notes.
Reporting problems
If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use the forum.
We hope you will build happiness with Gradle, and we look forward to your feedback via Twitter or on GitHub.
madrapps/jacoco-report (madrapps/jacoco-report)v1.8.0
Compare Source
What's Changed
Full Changelog: Madrapps/jacoco-report@v1.7.2...v1.8.0
v1.8
Compare Source
Kotlin/kotlinx.coroutines (org.jetbrains.kotlinx:kotlinx-coroutines-test)v1.11.0
Compare Source
Various
Breaking changes and deprecations
Bug fixes and improvements
Small additions
Changelog relative to version 1.11.0
No changes, only the version is increased.
JetBrains/Exposed (org.jetbrains.exposed:exposed-jdbc)v1.5.0
Compare Source
Infrastructure:
Features:
Bug fixes:
Docs:
v1.4.0
Compare Source
Infrastructure:
Features:
Bug fixes:
Docs:
v1.3.1
Compare Source
Infrastructure:
Bug fixes:
Performance:
Docs:
v1.3.0
Compare Source
Features:
Fixes:
Docs:
Performance:
Infrastructure:
v1.2.0
Compare Source
Infrastructure:
Features:
Bug fixes:
Docs:
v1.1.1
Compare Source
Fixes:
v1.1.0
Compare Source
Fixes:
Docs:
Refactoring:
Infrastructure:
- kover 0.9.7
- ojdbc11 23.26.1.0.0
- springFramework6 6.2.16
- postgresql 42.7.10
- r2dbc-mariadb 1.4.0
mariadb-corporation/mariadb-connector-j (org.mariadb.jdbc:mariadb-java-client)v3.5.10
Compare Source
Full Changelog
Key Enhancements
Issues Resolved
attacker-controlled (report by Qing Xu)
jmestwa-coder)
up front (thanks to jmestwa-coder)
jmestwa-coder)
password is supplied (report by fg0x0)
jmestwa-coder)
dot (report by Shaswata, thanks to Pepo48 for PR)
Integer.MAX_VALUE, and returns bulk generated keys out of batch order
v3.5.9
Compare Source
Full Changelog
Key Enhancements
Issues Resolved
locale-dependent parsing/formatting, e.g. under tr_TR) (thanks to jmestwa-coder)
v3.5.8
Compare Source
Full Changelog
Issues Resolved
Other
- CONJ-1298 - Performance improvement: avoid decoding extended format
Kotlin/kotlinx.serialization (org.jetbrains.kotlinx:kotlinx-serialization-json)v1.11.0
==================
This release is based on Kotlin 2.3.20 and provides new Json exceptions API and some bugfixes and improvements.
Expose Json exceptions structure
To make working with exceptions easier and providing proper error codes in e.g., REST APIs,
classes JsonException, JsonDecodingException, and JsonEncodingException are now public.
They have relevant public properties, such as shortMessage, path, offset, and others.
This API is currently experimental, and we're going to improve it further in the subsequent releases.
See the linked issues for the details: #1930, #1877.
Ability to hide user input from exception messages for security/privacy reasons.
Historically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.
Such behavior may pose additional challenges for logging, analytics, and other systems, since
a system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.
To address this issue, a new property exceptionsWithDebugInfo is added to JsonConfiguration.
Disable it to hide user input from exception messages.
IMPORTANT: This behavior will be enabled by default when this property becomes stable.
See #2590 for more details.
Bugfixes and improvements
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.