When I attempt to revert to 0.8.2 by editing dub.sdl to have "==0.8.2" instead of "~>0.8.2" everywhere and doing dub clean --all-packages then dub --force I get a compilation error for vibe itself, specifically memory.d, yet I had a clean functional build earlier today.

What should I do to revert cleanly, as 0.8.3 gives my working project a compilation error that didn't exist before (see https://forum.rejectedsoftware.com/groups/rejectedsoftware.vibed/post/50035)?

The error message is as follows.

Performing "debug" build using /home/carl/dlang/dmd-2.078.3/linux/bin64/dmd for x86_64.
taggedalgebraic 0.10.9: building configuration "library"...
eventcore 0.8.30: building configuration "epoll"...
stdx-allocator 2.77.0: building configuration "library"...
vibe-core 1.4.0: building configuration "epoll"...
vibe-d:utils 0.8.2: building configuration "library"...
vibe-d:data 0.8.2: building configuration "library"...
immutable(ubyte)[]
vibe-d:crypto 0.8.2: building configuration "library"...
diet-ng 1.4.4: building configuration "library"...
vibe-d:stream 0.8.2: building configuration "library"...
../../../.dub/packages/vibe-d-0.8.2/vibe-d/stream/vibe/stream/memory.d(56,42): Error: constructor vibe.utils.array.AllocAppender!(ubyte[], ubyte).AllocAppender.this (IAllocator alloc, ubyte[] initial_buffer = null) is not callable using argument types (IAllocator)
/home/carl/dlang/dmd-2.078.3/linux/bin64/dmd failed with exit code 1.

My dub.sdl contains these functional lines

dependency "vibe-d" version="==0.8.2"
dependency "vibe-d:core" version="==0.8.2"
subConfiguration "vibe-d:core" "vibe-core"

Any help greatly appreciated, especially if soon.