The first release of the revamped core module is nearing, and along with that, a compatible vibe.d release (0.8.0). The new core module is still opt-in in this release and can be activated using a subConfiguration "vibe-d:core" "vibe-core"
directive in dub.sdl ("subConfigurations": {"vibe-d:core": "vibe-core"}
in dub.json).
In parallel to the 0.8.x branch, the 0.7.x branch will stay maintained for a while, but the 0.7.31 release will be the last one to contain new features. For anyone who does not depend on old D frontends, it is strongly recommended to switch to the 0.8.x branch as soon as possible and also to test with vibe-core (production deployments are safer off staying with the old vibe-d:core
module for now), as the transition period is supposed to be only as long as necessary to guarantee a stable implementation.
To give an overview, here is the list of the biggest changes:
- The whole library is now split into fully separate sub packages. This
required some code changes, because there were some hidden circular
dependencies between modules. Some parts have also been moved to the
new sub packages "stream", "textfilter", "crypto" and "inet". - Large parts of the API are now annotated with
nothrow
and@safe
. In
case of APIs that depend on callbacks, these can be breaking changes,
but the most prominent places have deprecation paths in place. - The
vibe-d:core
sub module has got a new configuration "vibe-core"
that causes it to be replaced by thevibe-core
package. - The stream API has been made forward compatible with vibe-core. This
adds optionalIOMode
parameters to theread
/write
methods (the value
is currently ignored) and deprecates theleastSize
and
dataAvailableForRead
properties.
The full change log for can be found at https://github.com/rejectedsoftware/vibe.d/blob/master/CHANGELOG.md
DUB pages:
http://code.dlang.org/packages/vibe-d/0.8.0-beta.1
http://code.dlang.org/packages/vibe-d/0.7.31-beta.1