Releases: JetBrains/rd
2022.2.4 (Maven only)
Added
- rd-kt: a workaround for RIDER-77529, which allows to set
rd.max.message.length
system property to override max protocol message length (300 MB by default)
2022.3.1
2022.2.3 (Maven only)
Fixed
- rd-kt:
adviseSuspended
doesn't check lifetime termination before executing a handler (CWM-6511)
2022.3.0
Changed
- rd-kt, rd-net: make available
RdContext::updateValue
method with disposable cookies instead oftry
/finally
set and restore (orPushContext
/PopContext
) approach - rd-gen: upgrade to Kotlin 1.7
Added
- rd-gen: update the
Extension
mechanism to support both protocol types and custom types as extensions (the main use case being able to useLocalizableString
on .NET side together with@Nls
String in Kotlin)
Removed
- rd-gen: JetBrains.RdGen package is no longer published
2022.2.2 (NuGet only)
Changed
- rd-net:
RdFault
is now serializable
2022.2.1
2022.2.0
Changed
-
rd-kt:
startSuspending
onasync
Rd calls will now use the current coroutine context for response schedulerThis means that calls will now return to the current context instead of the default one. For example, if an
RdCall
was called from a background scheduler, then the background scheduler will be used to handle the response. Previously, the main scheduler (usually, an UI/EDT one) was used by default in such cases.Note this only affects the calls marked as
.async
in the model. -
rd-kt: sync
Lifetime
implementation with rd-netLifetimeStatus
:Canceled
renamed toCanceling
(Canceled
is still there for most use cases, but marked as deprecated)- lifetime termination timeout is now customizable, see
Lifetime::setTerminationTimeoutMs
andLifetime::terminationTimeoutKind
-
rd-net:
LifetimeTerminationKind
is now taken into account when performingLifetime::Intersect
-
rd-cpp, rd-kt, rd-net: exceptions during ping are now only logged in debug/verbose mde
-
rd-net: small performance improvements (use
EqualityComparer<T>.Default
instead of justEquals
) -
rd-cpp: fixes ported from UnrealLink
-
rd-cpp: update gtest and spdlog dependencies
-
rd-cpp: fix deprecations and compiler warnings
Added
- rd-kt: new extension function
Lifetime.createTerminatedAfter(Duration, CoroutineContext)
- rd-kt: new API:
bracketIfAlive2
andbracketOrThrow2
to avoid closures in cases when the value returned byopening
should be reused - rd-net:
LifetimeDefinition::ExecutionWasNotCancelledByTimeout
signal (may be used for diagnostics, i.e. to collect a thread dump) - rd-cpp: C++20 compatibility
2022.1.5 (NuGet only)
Changed
- rd-net: removed NRT support from .NET 3.5 assemblies (that was causing problems on older versions of Mono C# compiler)
2022.1.4 (NuGet only)
Changed
- rd-net: get rid of System.Memory reference which was used for string interpolation
2022.1.3
Removed
- (Breaking!) rd-net:
WebSocketSharp
Added
- rd-net: interpolated string handlers support in logging and assertions
- rd-net: support
CallerArgumentExpression
inNotNull
extension methods
Changed
- rd-net:
Trace()
(without parameters) renamed toWhenTrace()
, old name obsolete - rd-net: added more assertions in
Rd.Reflection
Fixed
- rd-net, rd-kt: fix exceptions caused by lifetime termination during protocol entity binding
- rd-net: improve behavior of
DictionaryEx.BlockingAddUnique
(support termination while waiting to take a lock)