Skip to content

v6.1.0: Compatibility fixes for upstream compilers

Latest
Compare
Choose a tag to compare
@Geod24 Geod24 released this 27 Aug 11:10

This release clears up deprecations triggered by upstream compilers up to v2.093.1,
the most recent at the time of this release, deprecations triggered by Ocean v5.4.0,
and cleared up the code from the D2 transition.

New features

Added swarm.neo.connection.RequestOnConnBase : RequestOnConnBase.Payload.addPointer

  • swarm.neo.connection.RequestOnConnBase

This function was added as a possible future replacement of the less secure add function.
Since add takes its argument by ref, it would trigger a deprecation with recent compilers.
add has been fixed to forward to addPointer and will now longer issue deprecations.

Bug fixed

Fix synchronization for RecordStream

  • src/swarm/util/RecordStream.d

The stream must be only suspended if the method suspend has been currently
called.
This is required since ISuspendableThrottler (from ocean v5) ensures that
the suspend state of an ISuspendable instance when added to a throttler is
consistent with the throttler state.
Without this patch-fix if a RecordStream is added as suspendable to
a throttler then it will try to process the stream because suspended()
was checking for the running state of the fiber and that would make an
application crash in the best case or having unexpected behaviour.
To avoid this situation the suspended() implementation now only
checks if the stream is suspended meaning that suspend() has been
currently called.

Deprecated features

Deprecated function swarm.neo.util.Util : appendSlices

  • swarm.neo.util.Util

This function isn't used by any of the *proto or *node.
It does an unsafe operation (appending the length to a buffer)
which shouldn't work and triggers a deprecation with recent compilers.

Deprecated shell module swarm.util.Verify

  • swarm.util.Verify

This module was publicly importing ocean.core.Verify for any user
that used ocean >= 3.4.
Replace the swarm import with a direct import to ocean.core.Verify.