Skip to content

Releases: JetBrains/rd

2022.2.4 (Maven only)

06 Jul 13:09
Compare
Choose a tag to compare

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

05 Jul 11:53
Compare
Choose a tag to compare

Fixed

  • rd-kt: adviseSuspended doesn't check lifetime termination before executing a handler (CWM-6511)
  • rd-net: RdContextBase::UpdateValueBoxed and RdContext<T>::UpdateValue methods are now public

Added

  • rd-net: machine-readable third-party dependency listing

2022.2.3 (Maven only)

29 Jun 06:17
Compare
Choose a tag to compare

Fixed

  • rd-kt: adviseSuspended doesn't check lifetime termination before executing a handler (CWM-6511)

2022.3.0

21 Jun 15:19
Compare
Choose a tag to compare

Changed

  • rd-kt, rd-net: make available RdContext::updateValue method with disposable cookies instead of try/finally set and restore (or PushContext / 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 use LocalizableString on .NET side together with @Nls String in Kotlin)

Removed

  • rd-gen: JetBrains.RdGen package is no longer published

2022.2.2 (NuGet only)

01 Jun 12:37
Compare
Choose a tag to compare

Changed

  • rd-net: RdFault is now serializable

2022.2.1

30 May 09:53
Compare
Choose a tag to compare

Added

  • rd-net: Assert.FailWithResult that allow throw an assertion exception and return a value where it's expected e.g. default cases of switch expressions over enums

Changed

  • rd-net, rd-kt, rd-gen: new threadLocalContext

2022.2.0

24 May 07:15
Compare
Choose a tag to compare

Changed

  • rd-kt: startSuspending on async Rd calls will now use the current coroutine context for response scheduler

    This 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-net

    • LifetimeStatus: Canceled renamed to Canceling (Canceled is still there for most use cases, but marked as deprecated)
    • lifetime termination timeout is now customizable, see Lifetime::setTerminationTimeoutMs and Lifetime::terminationTimeoutKind
  • rd-net: LifetimeTerminationKind is now taken into account when performing Lifetime::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 just Equals)

  • 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 and bracketOrThrow2 to avoid closures in cases when the value returned by opening 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)

04 May 10:51
Compare
Choose a tag to compare

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)

15 Feb 17:03
Compare
Choose a tag to compare

Changed

  • rd-net: get rid of System.Memory reference which was used for string interpolation

2022.1.3

20 Jan 10:20
Compare
Choose a tag to compare

Removed

  • (Breaking!) rd-net: WebSocketSharp

Added

  • rd-net: interpolated string handlers support in logging and assertions
  • rd-net: support CallerArgumentExpression in NotNull extension methods

Changed

  • rd-net: Trace() (without parameters) renamed to WhenTrace(), 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)