Skip to content

Releases: JetBrains/rd

Release 2024.1.1

23 Feb 13:58
4e3bffa
Compare
Choose a tag to compare

Changed

  • [rd-net] UnsafeWriter/UnsafeReader: simple methods for compact UTF8 string serialization + code cleanup to use explicit Write* API

Release 2024.1.0

23 Feb 13:07
Compare
Choose a tag to compare

Changes

  • [rd-kt, rd-net] Remove length restrictions for pretty printer
  • Docs: update instructions and links
  • Add coroutine scope to Lifetime (#432)
  • [rd-kt] Allow creation on background by default on kotlin side.
  • Delegate creating extensions to parent protocol.
  • [rd-net] Enable cross-platform tests
  • Lazy serializers
  • Improve logging
  • Backend listeners support.
  • Support multiline comments
  • [rd-net] Additional diagnostics for lifetimes
  • [rd-cpp] Support task result lifetimes.
  • [rd-cpp] Auto-binding for bindable task results.

Fixes

  • [rd-kt, rd-net] Fix Already has RdId exception when reassign RdProperty
  • Ensure counterpart is not called with terminated lifetime.
  • Fix memory leak in dispatcher.
  • Fix SignalFlow (#434)
  • Fix serializers (#438)
  • Do not assert binding thread for ext (#436)
  • Dot not create new lifetime if requestLifetime is Eternal.
  • [rd-cpp] Fix compilation on the latest clang
  • [rd-net] Lifetime.Eternal.KeepAlive should throw an assertion
  • [rd-net] ProcessWatchdog: no longer fail on exit code 259 on Windows
  • [rd-net] Grant the condition call if SpinUntil() has zero timeout.
  • [rd-net] Fix unexpected timeout errors in logs during laptop sleeping.
  • [rd-cpp] Fix to_string using deprecated API (not actually fixing, but covering with bunch of pragmas and platform specific implementations)
  • [rd-cpp] Fix diamond inheritance that started to fail to compile with latest VC++
  • [rd-cpp] Fix utf support in to_string
  • [rd-net] Add [CodeAnalysis.NotNull] for NotNull extension-methods.
  • [rd-cpp] Fix c++ tests and enable them in CI.
  • [rd-cpp] Fix multi-threading issues with sockets.
  • [rd-cpp] Fix invalid error messages when socket closed by client.
  • [rd-cpp] Fix array fields serialization and generation.
  • [rd-cpp] Fix issues with access to released bounded call results.
  • [rd-cpp] Fix memory-leaks for closures in signals after Lifetime termination.
  • [rd-cpp] Fix serialization of uninitialized properties.

2024.1.0-pre1

16 Jan 15:39
6801316
Compare
Choose a tag to compare
2024.1.0-pre1 Pre-release
Pre-release

Changes

  • Add coroutine scope to Lifetime (#432)
  • [rd-kt] Allow creation on background by default on kotlin side.
  • Delegate creating extensions to parent protocol.
  • [rd-net] Enable cross-platform tests
  • Lazy serializers
  • Improve logging
  • Backend listeners support.
  • Support multiline comments
  • [rd-net] Additional diagnostics for lifetimes
  • [rd-cpp] Support task result lifetimes.
  • [rd-cpp] Auto-binding for bindable task results.

Fixes

  • Ensure counterpart is not called with terminated lifetime.
  • Fix memory leak in dispatcher.
  • Fix SignalFlow (#434)
  • Fix serializers (#438)
  • Do not assert binding thread for ext (#436)
  • Dot not create new lifetime if requestLifetime is Eternal.
  • [rd-cpp] Fix compilation on the latest clang
  • [rd-net] Lifetime.Eternal.KeepAlive should throw an assertion
  • [rd-net] ProcessWatchdog: no longer fail on exit code 259 on Windows
  • [rd-net] Grant the condition call if SpinUntil() has zero timeout.
  • [rd-net] Fix unexpected timeout errors in logs during laptop sleeping.
  • [rd-cpp] Fix to_string using deprecated API (not actually fixing, but covering with bunch of pragmas and platform specific implementations)
  • [rd-cpp] Fix diamond inheritance that started to fail to compile with latest VC++
  • [rd-cpp] Fix utf support in to_string
  • [rd-net] Add [CodeAnalysis.NotNull] for NotNull extension-methods.
  • [rd-cpp] Fix c++ tests and enable them in CI.
  • [rd-cpp] Fix multi-threading issues with sockets.
  • [rd-cpp] Fix invalid error messages when socket closed by client.
  • [rd-cpp] Fix array fields serialization and generation.
  • [rd-cpp] Fix issues with access to released bounded call results.
  • [rd-cpp] Fix memory-leaks for closures in signals after Lifetime termination.
  • [rd-cpp] Fix serialization of uninitialized properties.

2023.3.2 (JVM-only)

15 Sep 17:31
Compare
Choose a tag to compare

Changed

  • rd-kt: allow to create Exts from background thread
  • rd-kt: RdCoroutineScope no longer relies on a lifetime (should only be overridden once)
  • rd-kt: lazily initialized CoroutineScope is now a member of a Lifetime

Fixed

  • rd-kt: SignalFlow should no longer get stuck
  • rd-kt: ConcurrentViewableSet::view's callback should get correct item lifetime now

2023.3.1

15 Sep 22:21
4ce736c
Compare
Choose a tag to compare

Added

  • rd-kt: IScheduler::executionOrder to provide and consume more details on the scheduler
  • rd-kt: ISignal<T>.asFlow()

Changed

  • rd-kt: coroutine API is moved to rd-core
  • rd-kt: IViewableConcurrentSet has been renamed to IMutableViewableConcurrentSet
  • rd-kt: IAppendOnlyViewableConcurrentSet has been renamed to IViewableConcurrentSet
  • rd-kt: adviseOn now uses a sequential scheduler always
  • rd-kt: proper threading for outOfSyncModels

2023.3.0

21 Jul 15:03
Compare
Choose a tag to compare

Fixed

  • rd-gen: if no model sources are defined, the Gradle task won't pass the -s argument to the RdGen tool (and so it won't break with no sources passed)

    This allows the users to optimize model compilation on their side, and only provide model classes in a compiled form in cases when there are a lot of them, and so incremental compilation is beneficial.

Release 2023.2.3

11 Jul 13:12
33b0101
Compare
Choose a tag to compare

Release 2023.2.2

19 Jun 14:22
Compare
Choose a tag to compare

2023.2.1

19 Apr 16:59
Compare
Choose a tag to compare

Changed

  • Breaking! rd-gen: more composable inheritance DSL: instead of val interface3 = interfacedef.extends(interface1, interface2) it's possible to write val interface3 = interfacedef extends interface1 extends interface2. Both extends and implements are used this way from now.
  • Breaking! rd-kt, rd-gen: Kotlin 1.8 and JVM 17 are now required.

2023.2.0

21 Mar 14:41
Compare
Choose a tag to compare
  • rd-gen: fix default values for nullable struct parameters in C#
  • rd-reflection: built-in serializer improvements
  • rd-reflection: resolve overloads of Write method
  • rd-reflection: allow to override RPC call timeouts with [RpcTimeout]
  • rd-gen: automatic cleanup of temporary files generated
  • rd-kt, rd-net: fix an issue with RdCall not transferring the data that was passed during list initialization
  • rd-kt: declare RdBindableBase::parent as public