websocketpp  0.3.0
C++/Boost Asio based websocket client/server library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
changelog.md
1 HEAD
2 
3 0.3.0 - 2014-08-10
4 - Feature: Adds `start_perpetual` and `stop_perpetual` methods to asio transport
5  These may be used to replace manually managed `asio::io_service::work` objects
6 - Feature: Allow setting pong and handshake timeouts at runtime.
7 - Feature: Allows changing the listen backlog queue length.
8 - Feature: Split tcp init into pre and post init.
9 - Feature: Adds URI method to extract query string from URI. Thank you Banaan
10  for code. #298
11 - Feature: Adds a compile time switch to asio transport config to disable
12  certain multithreading features (some locks, asio strands)
13 - Feature: Adds the ability to pause reading on a connection. Paused connections
14  will not read more data from their socket, allowing TCP flow control to work
15  without blocking the main thread.
16 - Feature: Adds the ability to specify whether or not to use the `SO_REUSEADDR`
17  TCP socket option. The default for this value has been changed from `true` to
18  `false`.
19 - Feature: Adds the ability to specify a maximum message size.
20 - Feature: Adds `close::status::get_string(...)` method to look up a human
21  readable string given a close code value.
22 - Feature: Adds `connection::read_all(...)` method to iostream transport as a
23  convenience method for reading all data into the connection buffer without the
24  end user needing to manually loop on `read_some`.
25 - Improvement: Open, close, and pong timeouts can be disabled entirely by
26  setting their duration to 0.
27 - Improvement: Numerous performance improvements. Including: tuned default
28  buffer sizes based on profiling, caching of handler binding for async
29  reads/writes, non-malloc allocators for read/write handlers, disabling of a
30  number of questionably useful range sanity checks in tight inner loops.
31 - Improvement: Cleaned up the handling of TLS related errors. TLS errors will
32  now be reported with more detail on the info channel rather than all being
33  `tls_short_read` or `pass_through`. In addition, many cases where a TLS short
34  read was in fact expected are no longer classified as errors. Expected TLS
35  short reads and quasi-expected socket shutdown related errors will no longer
36  be reported as unclean WebSocket shutdowns to the application. Information
37  about them will remain in the info error channel for debugging purposes.
38 - Improvement: `start_accept` and `listen` errors are now reported to the caller
39  either via an exception or an ec parameter.
40 - Improvement: Outgoing writes are now batched for improved message throughput
41  and reduced system call and TCP frame overhead.
42 - Bug: Fix some cases of calls to empty lib::function objects.
43 - Bug: Fix memory leak of connection objects due to cached handlers holding on to
44  reference counted pointers. #310 Thank you otaras for reporting.
45 - Bug: Fix issue with const endpoint accessors (such as `get_user_agent`) not
46  compiling due to non-const mutex use. #292 Thank you logofive for reporting.
47 - Bug: Fix handler allocation crash with multithreaded `io_service`.
48 - Bug: Fixes incorrect whitespace handling in header parsing. #301 Thank you
49  Wolfram Schroers for reporting
50 - Bug: Fix a crash when parsing empty HTTP headers. Thank you Thingol for
51  reporting.
52 - Bug: Fix a crash following use of the `stop_listening` function. Thank you
53  Thingol for reporting.
54 - Bug: Fix use of variable names that shadow function parameters. The library
55  should compile cleanly with -Wshadow now. Thank you giszo for reporting. #318
56 - Bug: Fix an issue where `set_open_handshake_timeout` was ignored by server
57  code. Thank you Robin Rowe for reporting.
58 - Bug: Fix an issue where custom timeout values weren't being propagated from
59  endpoints to new connections.
60 - Bug: Fix a number of memory leaks related to server connection failures. #323
61  #333 #334 #335 Thank you droppy and aydany for reporting and patches.
62  reporting.
63 - Compatibility: Fix compile time conflict with Visual Studio's MIN/MAX macros.
64  Thank you Robin Rowe for reporting.
65 - Documentation: Examples and test suite build system now defaults to clang on
66  OS X
67 
68 0.3.0-alpha4 - 2013-10-11
69 - HTTP requests ending normally are no longer logged as errors. Thank you Banaan
70  for reporting. #294
71 - Eliminates spurious expired timers in certain error conditions. Thank you
72  Banaan for reporting. #295
73 - Consolidates all bundled library licenses into the COPYING file. #294
74 - Updates bundled sha1 library to one with a cleaner interface and more
75  straight-forward license. Thank you lotodore for reporting and Evgeni Golov
76  for reviewing. #294
77 - Re-introduces strands to asio transport, allowing `io_service` thread pools to
78  be used (with some limitations).
79 - Removes endpoint code that kept track of a connection list that was never used
80  anywhere. Removes a lock and reduces connection creation/deletion complexity
81  from O(log n) to O(1) in the number of connections.
82 - A number of internal changes to transport APIs
83 - Deprecates iostream transport `readsome` in favor of `read_some` which is more
84  consistent with the naming of the rest of the library.
85 - Adds preliminary signaling to iostream transport of eof and fatal transport
86  errors
87 - Updates transport code to use shared pointers rather than raw pointers to
88  prevent asio from retaining pointers to connection methods after the
89  connection goes out of scope. #293 Thank you otaras for reporting.
90 - Fixes an issue where custom headers couldn't be set for client connections
91  Thank you Jerry Win and Wolfram Schroers for reporting.
92 - Fixes a compile error on visual studio when using interrupts. Thank you Javier
93  Rey Neira for reporting this.
94 - Adds new 1012 and 1013 close codes per IANA registry
95 - Add `set_remote_endpoint` method to iostream transport.
96 - Add `set_secure` method to iostream transport.
97 - Fix typo in .gitattributes file. Thank you jstarasov for reporting this. #280
98 - Add missing locale include. Thank you Toninoso for reporting this. #281
99 - Refactors `asio_transport` endpoint and adds full documentation and exception
100  free varients of all methods.
101 - Removes `asio_transport` endpoint method cancel(). Use `stop_listen()` instead
102 - Wrap internal `io_service` `run_one()` method
103 - Suppress error when trying to shut down a connection that was already closed
104 
105 0.3.0-alpha3 - 2013-07-16
106 - Minor refactor to bundled sha1 library
107 - HTTP header comparisons are now case insensitive. #220, #275
108 - Refactors URI to be exception free and not use regular expressions. This
109  eliminates the dependency on boost or C++11 regex libraries allowing native
110  C++11 usage on GCC 4.4 and higher and significantly reduces staticly built
111  binary sizes.
112 - Updates handling of Server and User-Agent headers to better handle custom
113  settings and allow suppression of these headers for security purposes.
114 - Fix issue where pong timeout handler always fired. Thank you Steven Klassen
115  for reporting this bug.
116 - Add ping and pong endpoint wrapper methods
117 - Add `get_request()` pass through method to connection to allow calling methods
118  specific to the HTTP policy in use.
119 - Fix issue compile error with `WEBSOCKETPP_STRICT_MASKING` enabled and another
120  issue where `WEBSOCKETPP_STRICT_MASKING` was not applied to incoming messages.
121  Thank you Petter Norby for reporting and testing these bugs. #264
122 - Add additional macro guards for use with boost_config. Thank you breyed
123  for testing and code. #261
124 
125 0.3.0-alpha2 - 2013-06-09
126 - Fix a regression that caused servers being sent two close frames in a row
127  to end a connection uncleanly. #259
128 - Fix a regression that caused spurious frames following a legitimate close
129  frames to erroneously trigger handlers. #258
130 - Change default HTTP response error code when no http_handler is defined from
131  500/Internal Server Error to 426/Upgrade Required
132 - Remove timezone from logger timestamp to work around issues with the Windows
133  implimentation of strftime. Thank you breyed for testing and code. #257
134 - Switch integer literals to char literals to improve VCPP compatibility.
135  Thank you breyed for testing and code. #257
136 - Add MSVCPP warning suppression for the bundled SHA1 library. Thank you breyed
137  for testing and code. #257
138 
139 0.3.0-alpha1 - 2013-06-09
140 - Initial Release