Releases: vibe-d/vibe.d
Releases · vibe-d/vibe.d
v0.9.6: Improved support for DIP1000, MongoDB revamp, deprecation cleanup
v0.9.6 - 2023-03-21
Features and improvements
- Supports D frontend versions 2.090.1 to 2.102.2
- Compatible with vibe-core 2.0.0+ - pull #2711, pull #2714, pull #2715
- Revamped the MongoDB implementation, adding support for MongoDB 5.1+/6.0 (by Jan Jurzitza aka WebFreak001) - pull #2691, pull #2694, pull #2696, pull #2697, pull #2716
- Removed deprecated symbols and marked symbols scheduled for deprecation as deprecated - pull #2684
- Removed the
vibe-d:core
dummy module runTask
and related functions only acceptnothrow
callbacks now- Removed a number of deprecated enum members with uppercase first letters
- Removed deprecated public stream constructors
- Removed the
- Implemented a simple form of default schema addition in
parseUserURL
- pull #2700 - Added an
openssl-static
configuration tovibe-d:tls
to force using static libs of OpenSSL 3.x - pull #2707, pull #2709
Bug fixes
- Fixed parsing of Markdown tables with spaces around table header separators - pull #2687
- Fixed
Bson
deserialization ofimmutable(ubyte)[]
- pull #2698 - Fixed handling of
InputStream
return values in the REST interface generator - pull #2699 - Fixed a crash at shutdown caused by failed MongoDB connections - pull #2708
- Fixed Markdown paragraph list detection for muiti-paragraph items - pull #2718
v0.9.5: OpenSSL 3 compatibility, URL fixes, TLS fixes
v0.9.5 - 2022-07-18
Features and improvements
- Supports D frontend versions 2.090.1 to 2.100.1
- Added build support for OpenSSL 3.x.x - pull #2650
- URL handling
- Added
parseUserURL
for relaxed URL parsing (by Muhammed Kadir Yücel aka mkykadir) - pull #2624, pull #2653 - Added a range based overload of
URL.toString
(by Mathias Lang aka Geod24) - pull #2621 - Added
URL.normalize
andURL.normalized
(by Muhammed Kadir Yücel aka mkykadir) - pull #2627 registerCommonInternetSchema
now takes a default port argument (by Muhammed Kadir Yücel aka mkykadir) - pull #2620
- Added
- Added an overload of
connectHTTP
that takes aURL
argument (by Mathias Lang aka Geod24) - pull #2637 - Added
HTTPClientSettings.tlsPeerName
to explicitly request a specific TLS host name (by Vitali Karabitski aka vitalka200) - pull #2644
Bug fixes
- Fixed schema comparisons to be case-insensitive (by Muhammed Kadir Yücel aka mkykadir) - pull #2620
- Fixed
URL.toString
to omit the separating ":" for empty passwords (by Muhammed Kadir Yücel aka mkykadir) - pull #2622 - Fixed
LimitedInputStream
to properly handleIOMode.all
(by Yazan Dabain aka yazd) - issue #2575, pull #2633 - Fixed
URL.opEquals
to take the port into account (by Muhammed Kadir Yücel aka mkykadir) - pull #2640 - Fixed TLS connection issues related to Ubuntu specific OpenSSL libraries - pull #2646
Custom REST serialization, HTTP client & StreamOutputRange bugfixes
Changes: v0.9.2...v0.9.3
Brings some important bug fixes in the HTTP client and StreamOutputRange
. Also
adds custom serializer support for the REST interface generator and removes
some deprecated symbols.
Features and improvements
- Added
@resultSerializer
UDA for the REST interface generator to support custom serialization for responses (by Daniel Graczer) - pull #2492, pull #2503 - Added
@serializationPolicy
UDA for the REST interface generator to specify custom serialization policies (by Daniel Graczer) - pull #2505 - The REST interface generator now allows
const ref
parameters (by Daniel Graczer) - pull #2495 - Instead of
@bodyParam
/@headerParam
/@queryParam
, parameters in REST interfaces can now be annotated directly with@viaBody
/@viaHeader
/@viaQuery
(by Mathias Lang aka Geod24) - pull #2516 - Added support for range or callback based
toString
overloads in the serialization framework (by Daniel Graczer) - pull #2493, pull #2503, pull #2510 - The REST interface client does not require a "Content-Type" header for responses with no return value anymore (by Mathias Lang aka Geod24) - pull #2521
- Uses securely generated random numbers for digest authentication
createMulticastStream
is now astruct
and accepts non-class
streams as sources - pull #2487- Added
MulticastStreamMode
, enabling a new parallel mode - pull #2519 - More of the
vibe.data.json
API isnothrow
- pull #2479 DictionaryList.byKeyValue
is now a forward range - pull #2479vibe.inet.path
is now deprecated (importvibe.core.path
instead)- Removed deprecated
indexOfCT
andDictionaryList
alias this
(by Mathias Lang aka Geod24) - pull #2475 - Added
HTTPServerSettings.rejectConnectionPredicate
(by Daniel Graczer aka ferencdg) - pull #2496, pull #2519 - Optimized
URL.parse
/isURLEncoded
- pull #2524
Bug fixes
- Fixed a wrong response in the HTTP file server when requesting the last byte of a file or zero length files - pull #2481, pull #2482
- Fixed a file descriptor leak in the HTTP client (by Tomáš Chaloupka) - pull #2483
- Fixed a resource leak in error cases in
StreamOutputRange
(by Tomáš Chaloupka) - issue #2484, pull #2485, pull #2489 - Fixed the error message generated by failing persistent HTTP client requests (by Daniel Graczer) - pull #2499
- Fixed an issue where the wrong response is reported when using a HTTP client read timeout (by Daniel Graczer) - issue #2506, pull #2507
- Fixed a compile error when returning
const
values from REST interface methods (by Mathias Lang aka Geod24) - pull #2518
v0.9.2: Support DMD v2.094.0's `-preview=in` switch
This release adds support for the upcoming -preview=in
switch,
allowing client code to enable it.
v0.9.1: Add timeout for DNS queries
With this release, timeout with resolveHost
(DNS query) will work correctly.
This requires vibe-core
v1.9.4 and eventcore
v0.9.8.
- Reduce supported versions to the last 10 releases - pull #2465
- Use a timeout in the call to resolveHost - pull #2466
v0.9.0: Dependency cleanup, vibe-core only, MongoDB & OpenSSL improvements
Removes all legacy drivers (libevent, win32, libasync) and now fully relies on
vibe-core instead. MongoDB authentication and index management has been brought
up-to-date and several OpenSSL build issues have been solved.
Features and improvements
- Removed all legacy vibe-d:core drivers (libevent, libasync, win32) - vibe-core is the only core implementation now
- Removed the deprecated simple password hash functions and deprecated the
vibe.crypto.passwordhash
module (by Hiroki Noda aka kubo39) - pull #2365 - Removed deprecated
HTTPServerOption
members (by Hiroki Noda aka kubo39) - pull #2413 - OpenSSL build improvements
- Updated OpenSSL Windows binaries to 1.1.1d - pull #2395
- Fixed OpenSSL linking on macOS Catalina - pull #2379
- Enabled the manual "openssl-1.1" configuration on Windows - pull #2392
- Improved the OpenSSL version detection mechanism (by Mathias Lang aka Geod24) - pull #2401, pull #2448
- Added an (optional) syntax to define figures to the Markdown parser - pull #2446, pull #2447
- Added
RedisClient.removeUnusedConnections
(by Steven Schveighoffer) - pull #2372 - Added a new index management API to
MongoCollection
that works on modern MongoDB versions (by Jan Jurzitza aka WebFreak001) - pull #2433 - Added
connectWebSocketEx
to allow customizing the initial HTTP request - pull #2390 - Added
@embedNullable
in order to allow optional serialization ofNullable
fields (by Jan Jurzitza aka WebFreak001) - issue #1541, pull #2405 - Added the possibility to serialize
SysTime
asBsonDate
in the BSON serializer (by Fredrik Söderström aka tirithen) - pull #2420 - The MongoDB driver now performs a handshake and stores server information (by Jan Jurzitza aka WebFreak001) - pull #2201
- Improved the MongoDB authentication logic and API, as well as the documentation (by Jan Jurzitza aka WebFreak001) - pull #2422
- Allow LF newlines in addition to CRLF in
parseRFC5322Header
to make it more robust outside of the standard (by Tomáš Chaloupka) - pull #2362 - Informational replies are handled properly in the HTTP client (by Tomáš Chaloupka) - pull #2352
- Removed unnecessary HTML attributes from ":css" and ":javascript" Diet filters (by Beyarz) - pull #2384
createTestHTTPServerResponse
can now be configured to return only the logical response data instead of the raw protocol data - pull #2453URL
is nownothrow
in most places - pull #2430HashMap
now supports key types that cannot be moved askey.move
- pull #2435
Bug fixes
- Fixed
connectWebSocket
to actually use the suppliedsettings
parameter - pull #2390 - Fixed a malformed WebSocket close packet and handles disconnect errors gracefully (by v1ne) - pull #2337
- Fixed a possible WebSocket connection leak in case of read errors (by Benjamin Schaaf) - pull #2364
- Fixed an infinite loop in case the Redis connection gets terminated unexpectedly (by Yazan Dabain aka yazd) - pull #2407
- Fixed detection of half-closed connections in the HTTP client to avoid writing a request that is guaranteed to fail - pull #2421
- Fixed a bogus compile error for web interfaces with parameterized constructors on the latest compiler versions (by Mathias Lang aka Geod24) - issue #2438, pull #2439
- Fixed parsing of arrays of structs as parameters in the web interface generator - pull #2457
- Fixed HTML escaping rules within Markdown emphasized text - pull #2450