fix(deps): update minor and patch dependencies - #57
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/minor-and-patch-dependencies
branch
3 times, most recently
from
September 16, 2026 12:20
6a01517 to
2bcca41
Compare
renovate
Bot
force-pushed
the
renovate/minor-and-patch-dependencies
branch
from
September 17, 2026 16:55
2bcca41 to
6a30335
Compare
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.
This PR contains the following updates:
jdk-21-crac-slim-glibc→jdk-21.0.12_11-crac-slim-glibc9.5.1→9.7.19.5.1-jdk21-alpine→9.7.1-jdk21-alpine7.7.0→7.9.03.0.3→3.1.12.3.21→2.4.202.3.21→2.4.20Release Notes
gradle/gradle (gradle)
v9.7.1Compare Source
v9.7.0Compare Source
v9.6.1Compare Source
v9.6.0Compare Source
fabric8io/kubernetes-client (io.fabric8:kubernetes-client-bom)
v7.9.0Bugs
exec/attach/portForward/WebSocket-backed watches) on a derived client - one produced by callingnewBuilder()/build()on an already-builtHttpClient- no longer fall back to Vert.x's bareWebSocketClientdefaults.Vertx5HttpClientBuilder.build()'s short-circuit path for derived clients reused the original client's plain HTTP connection (with its configuration intact) but always created a brand-newWebSocketClientwith no options at all, discarding both the trust/key material (so TLS verified against the JVM default trust store instead of the configured cluster CA) and the configured limits (maxFrameSize/maxMessageSizefell back to 64 KiB/256 KiB instead of unlimited, andmaxConnectionsto 50 instead of 8192, so oversizedexec/attachmessages were silently dropped even on plain HTTP). This affectskubernetes-httpclient-vertx-5only, which is opt-in - the bundled defaultkubernetes-httpclient-vertx(Vert.x 4) serves WebSockets from the same client it reuses when deriving and was never affected - and it is present in 7.6.0 through 7.8.0. Derivation happens more often than it looks:OpenShiftClientImplderives on everyadapt(OpenShiftClient.class)to install its OAuth token-refresh interceptor,OpenShiftOAuthInterceptorderives on every token refresh, andBaseClient#newClientderives whenever a differingRequestConfigis set. Derived clients now reuse the original'sWebSocketClientoutright, the same way they already reused its HTTP client, so they can no longer drift from it and no second transport is allocated per derivation. Note that sharing the transport also means closing any client in a derived family closes it for the whole family:close()on a client obtained fromadapt(OpenShiftClient.class)now ends WebSocket operations on the client it was derived from as well, which is already what happened to that client's HTTP requests and what the other four implementations do. Nothing usable is lost, since the original's HTTP client was closed regardless; what changes is that the per-derivationWebSocketClientis no longer left behind unclosedexec/attach/portForwardand WebSocket-backed watches no longer connect straight to the API server and bypass a mandated egress proxy. Both implementations serve WebSockets from a transport separate from the HTTP client (a Vert.x 5WebSocketClient, and a second JettyHttpClientbehind theWebSocketClient) and neither was given the proxy configuration; Jetty's WebSocket transport now also receives the proxyBasicAuthenticationentry. The OkHttp, JDK and Vert.x 4 modules were unaffected because a single client serves both. Onhttpclient-vertx-5the configured connect timeout was not applied to the WebSocket client either, so a WebSocket connect could hang well past it. One consequence worth calling out: when the proxy credentials cannot be decoded -HttpClientUtils.decodeBasicCredentialsreturnsnullfor anything that is notBasic, or whose decoded value does not split into exactly two:-separated parts, so a proxy password containing a colon is enough - the client falls back to stampingProxy-Authorizationon the request instead of configuring it on the transport. Such WebSocket connections now reach the proxy and are rejected with a 407 rather than silently completing straight to the API server, so a setup that appeared to work only because it was bypassing the proxy will now failKUBE_API_TEST_STARTUP_TIMEOUTenvironment variable is now parsed instead of throwingClassCastExceptionon every use — the value (always aString) was passed toClass.cast()for anInteger/Booleantarget, which only widens reference types and never parses, so the timeout could not be configured via environment at all. A newstartupTimeoutattribute on@EnableKubeAPIServer(e.g.@EnableKubeAPIServer(startupTimeout = 180000)) allows overriding it declaratively, and all three configuration paths (annotation, builder, env var) now reject non-positive valuesHttpServerRequest#body()callback. Deferring the upgrade let the request end event be processed first, soHttpServerRequest#toWebSocket()intermittently threwIllegalStateException: Request has already been readand the upgrade was lost (surfacing as flakyexec/attachmock-server tests). Upgrade requests carry no body, so they are detected via theUpgradeheader and upgraded before the request is read; the asynchronous path is unchanged for regular HTTP requestsjavacdecodes it. As a defense in depth, each generated class is also re-parsed and structurally validated before it is written (with Java Unicode escape preprocessing enabled to matchjavac), aborting generation on any residual structural mismatchopenshift-modelno longer bundles theio.fabric8.openshift.api.model.config.*classes thatopenshift-model-configowns (itsExport-Packagewildcard inlined them from that dependency); they still reach consumers through it.Fabric8ClientInjectionHandlermoved toio.fabric8.kubeapitest.junit.injectImprovements
Dependency Upgrade
New Features
v1.TCPRouteandv1.UDPRoute(both graduated fromv1alpha2upstream in gateway-api v1.6.0). Thev1alpha2types remain available, but upstream has deprecated them and will remove them in a future release, so new code should use thev1typesNote: Breaking changes
certificates.k8s.io/v1alpha1/ClusterTrustBundle→ usecertificates.k8s.io/v1orv1beta1networking.k8s.io/v1beta1/IPAddress→ usenetworking.k8s.io/v1networking.k8s.io/v1beta1/ServiceCIDR→ usenetworking.k8s.io/v1storage.k8s.io/v1beta1/VolumeAttributesClass→ usestorage.k8s.io/v1scheduling.k8s.io/v1alpha2(entire API version, 28 types) → usev1alpha3orv1beta1VolumeMountconstructor signature changed (Kubernetes v1.37.0 addedbindMountOptionsfield). The canonical constructor now takesbindMountOptions(List) as its first parameter. Builder usage (new VolumeMountBuilder().with...()) is unaffectedv1.SessionPersistenceno longer exposesidleTimeout(removed upstream in gateway-api v1.6.0). Besides the field, this removesgetIdleTimeout()/setIdleTimeout(), collapses the canonical constructor from five arguments to four, and dropsSessionPersistenceFluent.withIdleTimeout()/getIdleTimeout()/hasIdleTimeout(), so the builder form (withNewSessionPersistence().withIdleTimeout(...)) no longer compiles. There is no runtime data loss: the class keeps its@JsonAnyGetter/@JsonAnySetter, and both the fluent and the builder carryadditionalPropertiesthrough, so JSON or YAML still containingidleTimeoutcontinues to deserialize and re-serialize intactFabric8ClientInjectionHandlermoved toio.fabric8.kubeapitest.junit.inject. It is resolved throughServiceLoader, so only code naming the class directly is affectedio.fabric8.openshift.api.model.config.*. Maven consumers are unaffected (openshift-model-configis a compile dependency), but OSGi deployments importing those packages must install theopenshift-model-configbundle, which theopenshift-clientKaraf feature already doesv7.8.0Bugs
GET.JdkHttpClientImpl.requestBuilderonly calledHttpRequest.Builder.method(...)inside thebody != nullbranch, so a bodylessDELETE/POST/PUT/PATCH(such asclient.raw(uri, "DELETE", null)) was sent asGETon the JDK backend; the method is now set withBodyPublishers.noBody()when there is no body, matching the OkHttp, Jetty and Vert.x backendsSharedIndexInformer's periodic resync no longer stops permanently and silently when a single resync cycle throws.DefaultSharedIndexInformer.scheduleResyncruns the resync throughUtils.scheduleAtFixedRate, whose self-rescheduling chain re-arms the next cycle only when the previous one completes normally; an uncaught exception completed the (unobserved)resyncFutureexceptionally and the resync was never scheduled again, with no log, while the independent watch keptisWatching()reportingtrue(a restart was required to recover). The resync command now catches andWARN-logs the failure so the schedule fires again at the next intervalStandardHttpClient.shouldRetrybackoff loop (~19 s drain). The classifier walks bothgetCause()andgetSuppressed()trees forCertificateException,CertPathValidatorException,CertPathBuilderException, andSSLPeerUnverifiedException. Affects all five HTTP client modules (jdk, jetty, okhttp, vertx-4, vertx-5) on both the HTTP request and WebSocket connect pathsWatchEventsListenernow buffers outgoing watch events that are scheduled before Vert.x firesonOpenand replays them once the WebSocket is available, closing the open-side race where a CRUD operation landing betweenhandleWatchregistering the listener andonOpenpopulatingwebSocketRefscheduled a send that dereferenced a nullwebSocketRef; the resultingNullPointerExceptionwas silently swallowed by the executor and the event was dropped. Buffered events are replayed after the initial-syncADDEDs so ordering is preservedAbstractWatchManager.watchEnded()now emits aWatcherExceptionwhen a watch closes cleanly with no messages within 2 seconds, compensating for a GKE-specific behaviour onv1/eventswhere the GKFE proxy rejects a staleresourceVersionwith a bare WebSocket close (code 1000, no body) instead of{"type":"ERROR","code":410}, causing an indefinite reconnect loop with the same stale resourceVersionexec/attach/portForward/WebSocket-backed watches, and the CRD-establishment waits that depend on them) now trust the cluster certificate again. Vert.x 5.1 rewrote the WebSocket client to resolve TLS through a per-connectionClientSSLOptionsthat ignored the customSslContextFactorythe client used as its sole carrier of trust material, so WebSocket handshakes silently fell back to the default JVM trust store, failed PKIX validation, and hung to the client-side timeout (regular HTTPS request/response was unaffected). Both the HTTP and WebSocket clients are now configured uniformly with Vert.xTrustOptions/KeyCertOptionsderived from the supplied trust/key managersUtils.findFreePortnow records every port it hands out for the JVM's lifetime and skips any port already returned, eliminating the back-to-back duplicate-port window that surfaced as aJUnitExtensionOnMethodTest.simpleTest2flake — the probeServerSocketwas closed before the caller bound it, soEtcdProcess.startEtcd()andKubeAPIServerProcess.startApiServer()could draw the same port fromRandom.nextInt, etcd would win the bind, and apiserver would exit 1 withbind: address already in use, surfacing inProcessReadinessCheckerasConnection reset by peerWatchEventsListener.onClosingnow queues the server-sideWebSocket.close(...)on the listener's send executor instead of invoking it directly on the Vert.x event loop. This preserves FIFO ordering with any data frames already queued on that executor, so events scheduled before a client-initiated watch close (e.g. anADDED/DELETEDpair on a finalcreate/deletebeforewatch.close()) are delivered before the close frame instead of being silently dropped by writes against an already-closing socketInterruptedExceptionwithout preserving the interrupt status (S2142)Dispatchershutdown into two phases soMockDispatcheronly tears down per-sessionWebSocketSessionexecutors after the HTTP server has drained, removing the window where an in-flight upgrade'sonOpencould land on a shut-down executor.shutdown()still runs beforehttpServer.close()to unblock blocked dispatches (e.g.QueueDispatcher.take()); the newreleaseResources()runs after.WebSocketSession.send()additionally catchesRejectedExecutionExceptiondefensively so any residual shutdown race stays silent instead of bubbling as a Vert.xUnhandled exception.KubernetesMixedDispatchernow delegates both lifecycle hooks to its innerMockDispatcher, fixing a pre-existing leak where CRUD-mode WebSocket session executors were never shut downterminateOnError/ channel-3 exit-status completion —listener.onFailure(oronClose) fires exactly once, gated by a dedicated flag, instead of being silently swallowed when the deferred onError task observesexitCode.isDone()BaseOperation.informOnConditionnow stops the informer inline when the inner predicate completes the future, closing a CompletableFuturepostCompleterace where a waiter helping drain dependents could fireinformer.stopaftercf.completehad already triggered a spurious?watch=trueHTTP requestBaseClient.addToCloseablenow synchronizes on the internal closeable set rather than the caller-supplied parameter, so callers cannot break mutual exclusion by passing different references (sonar S2445)KUBERNETES_SUBDOMAIN_REGEXuses possessive quantifiers on the outer groups to block ReDoS-style backtracking on adversarial subdomain input; semantics still match the canonical RFC 1123 subdomain pattern (sonar S5998)Serialization.yamlMapperbuilds the mapper into a local before assigning to thevolatilefield, so concurrent readers can no longer observe a partially-initialized instance with modules not yet registered (sonar S3064)Files.deleteIfExistswith logging instead of swallowing theFile.delete()return value (sonar S899)OkHttpClientBuilderImplnow picks the firstX509TrustManagerfrom a multi-entryTrustManager[]rather than passingnullto OkHttp'ssslSocketFactoryand NPE'ing; user-suppliedsslContextis preserved for multi-CA setups (sonar S2637)OkHttpClientImpl.doCloseremoves dead null checks ondispatcherandconnectionPoolthat are guaranteed non-null by the OkHttp API (sonar S2583)Improvements
MockWebServer.dispatcherfield markedvolatileso asetDispatcher(...)call is reliably visible to the Vert.x request handler thread without further synchronization.MockWebServer.reset()Javadoc tightened to make its non-destructive contract explicit (no change to the running server, dispatcher, listeners, SSL/TLS state, port, or protocols)Dependency Upgrade
New Features
Vertx5HttpClientFactory/VertxHttpClientFactorynow exposesetTlsWarmup(TlsWarmup)with modesOFF,CONTEXT(default, unchanged) andFULL.FULLruns a synchronous, once-per-JVM, throwaway loopback TLS handshake off the event loop when the client is built, so the first real connection no longer blocks the event loop on the one-time JDK/Netty TLS class loading — for users on cold or hard-CPU-throttled JVMs hitting the first-connection block/timeout described in #7921. Default behavior is unchanged; see the FAQ for CDS and pod CPU-sizing guidance for hard-throttled podsNote: Breaking changes
springdoc/springdoc-openapi (org.springdoc:springdoc-openapi-starter-webmvc-ui)
v3.1.1Security
ThreadLocalcan leak headers between concurrent WebFlux requestsAccept-LanguageAdded
JsonNullablevalues without their Java wrapperspringdoc-openapi-bom, so that modules holding only the annotations stay in lockstepspringdoc.login-endpoint.username-exampleandspringdoc.login-endpoint.password-exampleto document the Spring Security login endpointChanged
springdoc.ai.mcp.enabled=true, andspringdoc.ai.mcp.dashboard-enabled=truefor the dashboardserver.forward-headers-strategy=framework(ornative) behind a trusted proxyspringdoc.cache.max-entries(default100) to bound the per-locale OpenAPI cachespringdoc.ai.mcp.audit.redact(defaulttrue) to mask secrets in MCP audit eventsjava.time.Duration,LocalTimeandOffsetTimeare now resolved by swagger-core instead of being forced to a barestring, so they carry aformat(durationandpartial-timerespectively for the first two)Setindirectly (LinkedHashSet,TreeSet, …) is now described withuniqueItems: true, following swagger-api/swagger-core#5265Fixed
/v3/api-docsfails with aNullPointerExceptionwhen spring-hateoas is on the classpath withoutHateoasPropertiesJson Processing Exception occurredis logged for every constrained parameter whose schema is not aJsonSchemaHttpHeadersparameter is described as a schema@Embeddableare missing from the Spring Data REST schemas@OrderandOrderedignored when applying customizersPagenested in another schema is not replaced byPagedModelOptionalparameters are droppedJsonSchemacannot be cloned through JSON@ParameterObjectfields are not passed alongSortandPageableschema property orderAny?type@EmbeddedIdand@MapsIdfields recursively in the response schemas…Responserefs could leak into the schema shared with the request body representationv3.1.0Added
nullablefor Kotlin propertiesChanged
Fixed
swagger-configSNAKE_CASE: some Java record fields remain camelCaseWebPropertiesandWebMvcPropertiesoptional inSwaggerConfignest()predicate across all routes innestPageschema property orderParameterObjectproperty applied toPathVariablewith the same name, even in unrelated endpointsMapnot allowed in JSONJetBrains/kotlin (org.jetbrains.kotlin.jvm)
v2.4.20Analysis API
KT-86546Check suspicious when over ConeKotlinType in ConeTypeCompatibilityCheckerKT-85418Implement an API for accessing deserialized file annotations in Analysis APIKT-74448K2. False positive MISSING_DEPENDENCY_SUPERCLASS in LinkedListTest.kt, kotlinx.coroutinesKT-85856containingSymbol of constructor property differs for local and non-local classesKT-65417K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source setsAnalysis API. Code Compilation
KT-76457K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvmAnalysis API. FIR
KT-70552No expects for actualKT-69727K2 IDE. Wrong error in the editor on callingclonefunction of actual enum instance in non-jvm platformKT-69726FP errors on declaringfun clone()in actual enum in not-jvm source-setKT-86014Types are broken after remove parameter through change signatureKT-86363KotlinIllegalArgumentExceptionWithAttachments: No dangling modifier found on companion blocksKT-86147Dropkotlin.parallel.resolve.under.global.lockregistry keyKT-85543Avoid lazy resolve for the contracts phase if no constracts might be resolvedAnalysis API. Infrastructure
KT-84914Do not publish analysis-api-test-frameworkKT-86986kotlin-compiler-common-for-idebundles unrelated Analysis API modulesKT-86186Analysis API: Codebase tests run twice in some analysis modules — pick a single JUnit runner and migrateKT-85360Drop kotlin-compiler-testdata-for-ide artifactKT-85585Simplify the dependencies graph for the Analysis API modulesKT-85381Remove tests for the FE10 implementationAnalysis API. Light Classes
New Features
KT-84645Support resolving to companion block members & extensions from Java (light classes)KT-80775Support PsiClass#getRecordComponents in light classesFixes
KT-57537SLC: propagate default parameter value from (@JvmOverloads)expectdeclarations toactualdeclarationsKT-85040[Analysis API] Improve Java / Kotlin interop in KMP projectsKT-87301SymbolLightAccessorMethod#isValid returns false for delegated propertiesKT-87171SLC: non-mapped Kotlin collection supertype is dropped from supertype listKT-87250JvmExposeBoxed: light classes shouldn't be autogenerated for private declarationsKT-70428AA: good code is red when a Java class extends a Kotlin class implementing MutableList by delegationKT-63568Symbol Light Classes: KtAnnotationApplicationWithArgumentsInfo.normalizedArguments() may work incorrectly when psi is not setKT-36740MPP: False-positive incompatible types in .java when using expect-class returned by non-expect member from common when actual is actual typealiasKT-67749Analysis API: Symbol Light classes should be available only to pure JVM sourcesKT-68169K2 IDE. KMP. False positive type mismatch in java file of jvm source-set when using common declaration which expects StringKT-37783KMP Java Interop: JVM-only methods on actual superclass not resolved in Java for common subclassKT-40059Provide type correction for expect/actual types used from Java-codeKT-71429MPP: False positive "Function1 is not a functional interface" when calling code from Common in JavaKT-70426SLC: kotlin.Collection#size is not exposed by defaultKT-60480Symbol Light Classes: Classes implementing kotlin.collections.* interfaces don't implement all methods from the corresponding java.util.* interfacesKT-36991IDE: "both methods have same erasure" for Java classes directly or indirectly extending Kotlin collectionsKT-22594KotlinCollection.getSize is not highlighted as an error in JavaAnalysis API. PSI
KT-84925Move KtReference to the Kotlin IntelliJ pluginKT-85052Move mutation methods out of the Kotlin PSIKT-85427Use factory-like pattern instead of reflection in KtNodeTypeKT-84789Ensure allKtClassBody.parentusages are correctKT-85154PSI: "AE: parent is ERROR_ELEMENT" with top-level destructuring declarationAnalysis API. Providers and Caches
KT-82220Analysis API: Support platform-specific session components and checkers in metadata sessionsKT-76526Incorrect built-in module is provided for non-JVM sources in StandaloneAnalysis API. Standalone
KT-83191Analysis API: JvmDependenciesIndexImpl performs very poorly for large classpathsKT-61404Analysis API: implement proper library publishing structureKT-85112AA does not see packages from unpacked klibsKT-86417Support parameters in 'getExpectsForActual()'KT-84916Metadata stub deserializers aren't properly set up for Analysis API StandaloneAnalysis API. Stubs and Decompilation
KT-86250KotlinIllegalArgumentExceptionWithAttachments: No fir element was found for KtDestructuringDeclaration on destructuring declaration typingKT-86520KotlinDeclarationInCompiledFileSearcher doesn't support visibility-mangled declarationsKT-64901Inconsistency between AST and Stub tree in the case of non-local destructuring declarationsKT-84444Support stubs for companion blocks & extensionsAnalysis API. Surface
New Features
KT-73214AddKaScope#declarationswith name filterKT-69085Provide API to retrieve label/name from KtFunctionLikeSymbolKT-70771KaLocalVariableSymbol: supportisDelegatedPropertyKT-85037Add API for KaFunctionType's returnType modificationKT-80460AA: IntroduceKtExpression.isStableForSmartCastingAPIKT-66566AA: api to create functional typesKT-65912Analysis API: Implement type building API for all KtTypePerformance Improvements
KT-70021Analysis API: optimize KaFirExpressionTypeProvider.expressionType for simple casesFixes
KT-66039K2: Analysis API: redesign resolution APIKT-86394Resolve from KDoc reference is inconsistent with source codeKT-87337Integrate KaContextParameterOwnerSymbol into KaCallableSymbolKT-78234Analysis API: Context parameters for accessorsKT-86786Investigate suspicious when over ConeKotlinType in ConeKotlinType.getDirectSupertypesKT-72902Shouldn'tKaSymbolProvider#findClassreturnKaNamedClassSymbol?KT-87237No expected type insidearrayOfin annotation entriesKT-87143findKDocreturns parent property KDoc for accessors of an overriding propertyKT-83224Support "Compile-time functions" in the Analysis APIKT-87174Expected class KaFirSymbol instead of class KaFirPackageSymbol exceptionKT-87199[Analysis API] RemoveKaEnumEntryInitializerSymbolKT-85382Remove the FE10 implementationKT-70774Unary operators on literals are not resolvableKT-85206Provide information about potentially removable context-sensitive resolution qualifiers via Analysis APIKT-86872KtOperationReferenceExpressionshould beKtResolvableCallKT-85800Analysis API: The internal utilityPrettyPrinteris used in the public API surfaceKT-73796Consider "KaAnnotation#useSiteTarget" removalKT-70794K2 IDE: Reference to object does not resolve as LHS in "plusAssign" assignment expressionKT-86757Flaky annotations result for@allannotation on a backing fieldKT-86681[Analysis API] MoveisDelegatedtoKaVariableSymbolKT-86685collectCallCandidates works incorrectly for a constructor vs. a companion invokeKT-86514No expected type within collection literal in annotation entry using array rather than varargsKT-76076K2 AA: safe call expression navigates to parent array index access expressionKT-86418Support property accessors in 'getExpectsForActual()'KT-71312KaFirPsiJavaClassSymbol.{hasAnnotations, annotationSimpleNames}is inconsistent withFirJavaClassimplementationKT-86248isUsedAsExpressiontrue for typealias lhs in ::KT-85778Analysis API: Ensure that all public endpoints in implementation modules are internal or opt-inKT-78285resolveToCallCandidates inconsistent behaviour with invoke operator and constructorKT-85852CCE in buildClassTypeKT-85989Super type references should be aware of type alias constructorsKT-84184[Analysis API] Provide a unification substitutor APIKT-84584Support companion extensions and blocks in the Analysis APIKT-84932Deprecate utilities exposed through analysis-internal-utilsKT-73059Consider dropping of KaOriginalPsiProviderKT-73050KaFirSymbolRelationProvider#expectsForActual: suspicius logic for KaReceiverParameterSymbolKT-71101[AA] Consider getting rid of KaTypeNullabilityBackend. J2KLIB
KT-88165Add Support for -XheaderModeType=compilation to improve header compilation performanceKT-86239[JKLIB] Investigate which type system context is needed in JklibIrLinkerKT-88306[JKLIB] Unbound symbols for kotlin.coroutines.SuspendFunctionNKT-88120[JKLIB] Add -jvm-target to K2JKlibCompilerArgumentsKT-88176[JKLIB] DeserializationStrategy.WITH_INLINE_BODIES when deserializaing dependenciesKT-88163Allow to disable firAggressivePrunner for JklibBackend. Native. Debug
KT-85264[Native] Stepping trace starts with// test.kt:1 boxin some debug stepping testsKT-81740Native: importing konan_lldb.py to lldb prints a warningBackend. Wasm
Fixes
KT-73452K/Wasm: turning on range checks by defaultKT-83171K/Wasm: Investigate import.meta usage in mjs filesKT-83159K/Wasm: generate one common base class fun interfaces (including Function*)KT-82843K/Wasm: pass a lambda call helpers to convert funs as an argument instead of exporting themKT-86123[Wasm] Callable reference refactoring (KT-83159) broke klib binary compatibility with libraries compiled by Kotlin 2.0.xKT-83356K/Wasm: Difference in behavior on nested class initialization (for enums?)KT-87639[Wasm] Multimodule wasm fails on Pointer usagesKT-87583Wasm IC cache is not invalidated when kotlin.wasm.compilationMode changes causing IndexOutOfBoundsException in WasmDeserializerKT-84267K/Wasm: init order of companion objects is different from JVMKT-86192K/Wasm: Raise a warning on usage of top-level require in JsFunKT-86242K/Wasm: deprecate and prohibit usingwasmExportsKT-86245K/Wasm: provide an API to get a reference to wasm memoryKT-84610[Wasm] Failed to compile klibs in IC modeKT-87078Wasm/JS: OutOfMemoryError (or BufferUnderflowException) during incremental compilation of multiple files with@JsExportKT-76207K/Wasm: prototype generating suspend functions with stack-switching proposalKT-86166[Wasm] Make possible to have passing test in multimodule but having it fail in monolithKT-71039[Wasm, IC] Investigate synthetic function types loadingKT-71505[Wasm, IC] Incremental step can produce wrong main function callKT-86822K/Wasm: don't cast the result of calling callable references with Unit return typeKT-86180[Wasm] backward compatibility is broken in 2.1->2.2 by changed order of type parametersKT-86640[wasm]: Single-module test failures with companion object initializersKT-66105Wasm: SyntaxError: Identifier 'box' has already been declaredKT-83245K/Wasm: Run stepping tests with local variables with K/WasmKT-86478K/Wasm JS: StringBuilder.setLength crashes when growing with js-string builtinsKT-84667wasm: Add general support for custom sections/annotationsKT-85506[Wasm/WASI] Stdlib readLn and readlnOrNull implementationKT-85270K/Wasm: incremental compilation fails with NoSuchElementException when a stdlib call is removedCompiler
New Features
KT-73431Unresolved reference errors should state the type they're acting onKT-80373Add initial support for release compiler cachesKT-84618Emit a warning when an undesrcore variable is assigned to a Unit expressionKT-86409[KMP] Create JVM IC metadata outputKT-84295Support Companion BlockofOperator for Collection LiteralsKT-84956Resolve of references to static & companion object members of generic classKT-85925Native: rework virtual trampolines machineryKT-86657Native: turn on incremental compilation by defaultKT-86018Short-form of name-based destructuring for multi-field value classesKT-86406Swift Export: support supercalls for cross-language inheritanceKT-77616Native: consider adding an annotation that enforces thread state switching for a@SymbolNameexternal fun`KT-86410[KMP] Implement acceptance of JVM IC metadata from previous compilationKT-85593ELA: Support multiple lambda argumentsKT-83040Collection literals: ensure normal interaction with CFGKT-84333Collection literals: type inference in delegate expressionKT-84289Resolution to Companion Block & Extension Invoke OperatorKT-82961Type inference from upper type for type parameters designed for tracking of checked exceptionsKT-81444False positive: "Overload resolution ambiguity" with@OverloadResolutionByLambdaReturnTypeand multiple lambda parametersKT-75736Enable reading/writing annotations in metadata on JVM by defaultPerformance Improvements
KT-85621Native: fix optimization in CastsOptimizationKT-69758FastJarFS - avoid copying data on inflating (JDK 16+)KT-85647Compilation performance regression in AbstractFirDeserializedSymbolProvider since 2.3.20KT-86104[JVM] use static methods/fields of KTypeProjection in typeOf generaConfiguration
📅 Schedule: (in timezone Etc/UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, 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.