forked from vibe-d/vibe.d
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog.txt
107 lines (78 loc) · 5.2 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
Changelog
=========
v0.7.7 - 2012-08-05
-------------------
### Features and improvements ###
- Compiles with DMD 2.060
- Some considerable improvements and fixes for the REST interface generator - it is now also actually used and tested in another project
- MongoDB supports mongodb:// URLs for specifying various connection settings instead of just host/port (by David Eagen)
- Added RestInterfaceClient.requestFilter to enable authentication and similar add-on functionality
- JSON floating-point numbers are now stringified with higher precision
- Improved const-correctness if the Bson struct (by cybevnm)
- Added setIdleHandler() to enable tasks that run when all events have been processed
- Putting a '{' at the end of a D statement in a Diet template instead of using indentation for nesting will now give an error
- API documentation improvements
### Bug Fixes ###
- The HTTP server now allows query strings that are not valid forms (github issue #73)
v0.7.6 - 2012-07-15
-------------------
### Features and improvements ###
- A good amount of performance tuning of the HTTP server
- Implemented vibe.core.core.yield(); this can be used to break up long computations into smaller parts to reduce latency for other tasks
- Added setup-linux.sh and setup-mac.sh scripts that set a symlink in /usr/bin and a config file in /etc/vibe (Thanks to Jordi Sayol)
- Installed VPM modules are now passed as version identifiers "VPM_package_xyz" to the application to allow for optional features
- Improved serialization of structs/classes to Json/Bson - properties are now serialized and all non-field/property members are now ignored
- Added directory handling functions to vibe.core.file (not using asynchronous operations, yet)
- Improved the vibe shell script's compatibility
### Bug fixes ###
- Fixed TcpConnection.close() for the libevent driver - this caused hanging page loads in some browsers
- Fixed MongoDB connection handling to avoid secondary assertions being triggered in case of exceptions during the communication
- Fixed JSON (de)serialization of structs and classes (member names were wrong)
- Fixed (filter)urlEncode for character values < 0x10
v0.7.5 - 2012-06-05
-------------------
- Restructured the examples - each example is now a regular vibe.d application (also fixes compilation using run_example)
- The REST interface generator now supports sub interfaces which are mapped to sub paths in the URL
- Added InjectedParams!() to access parameters injected using inject!()
- The vibe script and VPM now do not write to the application directory anymore if not necessary
- Implement more robust type handling in the REST client generator
- Fixed a possible exception in ZlibInputStream at the end of the stream
v0.7.4 - 2012-06-03
-------------------
- Added support for multipart/form-data and file uploads
- Rewrote the Markdown parser - it now does not emit paragraphs inside list elements if no blank lines are present and handles markdown nested in quotes properly
- The SMTP client supports STARTTLS and PLAIN/LOGIN authentication
- The Diet parser now supports generic :filters using registerDietTextFilter() - :css, :javascript and :markdown are already built-in
- VPM now can automatically updates dependencies and does not query the registry at every run anymore
- Added vibe.templ.utils.inject which allows to flexibly stack together request processors and inject variables into the final HTML template (thanks to simendsjo for the kick-off implementation)
- Removed InputStream.readAll() and readLine() and replaced them by UFCS-able global functions + added readUntil()
- Added ConnectionPool to generically manage reuse of persistent connections (e.g. for databases)
- The HttpClient (and thus the reverse proxy) now uses a connection pool to avoid continuous reconnects
- On *nix now uses pkg-config to find linker dependencies if possible (dawgfoto)
- The static HTTP file server now resolves paths with '.' and '..' instead of simply refusing them
- Implemented handling of HttpServerSettings.maxRequestTime
- Added setLogFile()
- The vibe.cmd script now works with paths containing spaces
- Libevent2TcpConnection now enforces proper use of acquire()/release()
- Improved stability in conjunction with TCP connections
- Upgraded libevent to 2.0.19 on Windows
v0.7.3 - 2012-05-22
-------------------
- Hotfix release, fixes a bug that could cause a connection to be dropped immediately after accept
v0.7.2 - 2012-05-22
-------------------
- Added support for timers and sleep()
- Proper timeout handling for Connection: keep-alive is in place - fixes "Operating on closed connection" errors
- Setting DFLAGS to change compiler options now actually works
- Implemented SslStream, wich is now used instead of libevent's SSL code - fixes a hang on Linux/libevent-2.0.16
- The REST interface generator now supports index() methods and 'id' parameters to customize the protocol
- Changed the type for durations from int/double to Duration
- Using Deimos bindings now instead of the custom ones
v0.7.1 - 2012-05-18
-------------------
- Performance tuning
- Added vibe.utils.validation
- Various fixes and improvements
v0.7.0 - 2012-05-06
-------------------
- Initial development release version