Skip to content

Releases: JetBrains/rd

2024.3.1

25 Oct 15:24
89adb2c
Compare
Choose a tag to compare

Changed

  • rd-kt: isolate onWireReceived to avoid completely broken protocol if something went wrong (failed deserialization)
  • rd-kt: deprecate asCoroutineDispatcher that allows inlining because isDispatchNeeded() = false can lead to a deadlock
  • rd-kt: fire signal even if we are unbound

2024.3.0

19 Sep 16:48
Compare
Choose a tag to compare

Changed

  • [rd-kt] Improve toString representation of protocol entities
  • [rd-kt] Improve messages in Logger.catch
  • [rd-kt] Support saving the list of marshallers during generation to a file
  • [rd-net] implement RdTask.GetAwaiter
  • [rd-net] SpinWaitEx: overload to avoid allocations, annotations

Added

  • [rd-net] CompactList: add Contains and IndexOf methods, thanks to @DenisPimenov
  • [rd-kt] ViewableList::sync for optimized updates with a minimal number of change events

2024.3-pre1

12 Jul 11:10
b793311
Compare
Choose a tag to compare
2024.3-pre1 Pre-release
Pre-release

Changed

  • [rd-kt] Improve 'toString' representation of protocol entities
  • [rd-kt] Improve messages in Logger.catch
  • [rd-kt] Support saving the list of marshallers during generation to a file
  • [rd-net] implement RdTask.GetAwaiter
  • [rd-net] SpinWaitEx: overload to avoid allocations, annotations

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