RejectedSoftware Forums

Sign up

vibe.d 0.8.0 and 0.7.31 beta releases

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 the vibe-core package.
  • The stream API has been made forward compatible with vibe-core. This
    adds optional IOMode parameters to the read/write methods (the value
    is currently ignored) and deprecates the leastSize 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

Re: vibe.d 0.8.0 and 0.7.31 beta releases

0.8.0-beta.2 and 0.7.31-beta.2 have been tagged now and fix the issues
found so far.

Re: vibe.d 0.8.0 and 0.7.31 beta releases

On Thu, 2 Feb 2017 23:06:25 +0100, Sönke Ludwig wrote:

0.8.0-beta.2 and 0.7.31-beta.2 have been tagged now and fix the issues
found so far.

$ dub build

## Warning for package libasync, configuration 32mscoff ##

The following compiler flags have been specified in the package description
file. They are handled by DUB and direct use in packages is discouraged.
Alternatively, you can set the DFLAGS environment variable to pass custom flags
to the compiler, or use one of the suggestions below:

-m32mscoff: Use --arch=x86/--arch=x86_64/--arch=x86_mscoff to specify the target architecture


## Warning for package memutils, configuration 32mscoff ##

The following compiler flags have been specified in the package description
file. They are handled by DUB and direct use in packages is discouraged.
Alternatively, you can set the DFLAGS environment variable to pass custom flags
to the compiler, or use one of the suggestions below:

-m32mscoff: Use --arch=x86/--arch=x86_64/--arch=x86_mscoff to specify the target architecture


## Warning for package libasync, configuration 32mscoff ##

The following compiler flags have been specified in the package description
file. They are handled by DUB and direct use in packages is discouraged.
Alternatively, you can set the DFLAGS environment variable to pass custom flags
to the compiler, or use one of the suggestions below:

-m32mscoff: Use --arch=x86/--arch=x86_64/--arch=x86_mscoff to specify the target architecture


## Warning for package memutils, configuration 32mscoff ##

The following compiler flags have been specified in the package description
file. They are handled by DUB and direct use in packages is discouraged.
Alternatively, you can set the DFLAGS environment variable to pass custom flags
to the compiler, or use one of the suggestions below:

-m32mscoff: Use --arch=x86/--arch=x86_64/--arch=x86_mscoff to specify the target architecture

Performing "debug" build using dmd for x86_64.
vibe-d:utils 0.8.0-beta.2: target for configuration "library" is up to date.
vibe-d:data 0.8.0-beta.2: target for configuration "library" is up to date.
vibe-d:core 0.8.0-beta.2: target for configuration "libevent" is up to date.
vibe-d:crypto 0.8.0-beta.2: target for configuration "library" is up to date.
vibe-d:stream 0.8.0-beta.2: target for configuration "library" is up to date.
vibe-d:textfilter 0.8.0-beta.2: target for configuration "library" is up to date.
vibe-d:diet 0.8.0-beta.2: target for configuration "library" is up to date.
diet-ng 1.1.2: target for configuration "library" is up to date.
vibe-d:inet 0.8.0-beta.2: target for configuration "library" is up to date.
vibe-d:http 0.8.0-beta.2: building configuration "library"...
../../../../../home/zafer/.dub/packages/vibe-d-0.8.0-beta.2/vibe-d/http/vibe/http/server.d(1728,56): Error: variable vibe.http.server.handleHTTPConnection.tls_stream variables cannot be of type void
dmd failed with exit code 1.

Re: vibe.d 0.8.0 and 0.7.31 beta releases

On Mon, 06 Feb 2017 15:07:39 GMT, can wrote:

On Thu, 2 Feb 2017 23:06:25 +0100, Sönke Ludwig wrote:

0.8.0-beta.2 and 0.7.31-beta.2 have been tagged now and fix the issues
found so far.

(...)
../../../../../home/zafer/.dub/packages/vibe-d-0.8.0-beta.2/vibe-d/http/vibe/http/server.d(1728,56): Error: variable vibe.http.server.handleHTTPConnection.tls_stream variables cannot be of type void
dmd failed with exit code 1.

This appears to be a DUB issue that I couldn't yet reproduce (some people have had the same issue recently). But I've now simply fixed the compilation error in vibe.d, in addition to adding a more explanatory runtime error message (27e9e16).

The root problem here is that the optional "openssl" (alternatively: "botan") dependency is missing. Adding "openssl": "1.1.5" to dub.selections.json should fix the build.