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
.