3 * Add Appveyor build scripts and badge
4 * Tidy up MSVC CMake configuration
5 * Make close_code a proper enum
7 * Rename to BEAST_DOXYGEN
8 * Update .gitignore for VS2017
9 * Fix README.md CMake instructions
14 * Remove http::empty_body
16 --------------------------------------------------------------------------------
20 * Fix and tidy up CMake build scripts
22 --------------------------------------------------------------------------------
26 * Require Visual Studio 2015 Update 3 or later
30 * Use fwrite return value in file_body
34 * Set internal state correctly when writing frames
35 * Add decorator unit test
36 * Add write_frames unit test
38 --------------------------------------------------------------------------------
42 * Add io_service completion invariants test
43 * Update CMake scripts for finding packages
47 * Remove http Writer suspend and resume feature
49 --------------------------------------------------------------------------------
53 * Tidy up build settings
54 * Add missing dynabuf_readstream member
58 * Move the handler, don't copy it
60 --------------------------------------------------------------------------------
66 * Fix race in pings during reads
67 * Fix race in close frames during reads
68 * Fix race when write suspends
69 * Allow concurrent websocket async ping and writes
71 --------------------------------------------------------------------------------
75 * Fix compilation error in non-template class
76 * Document type-pun in buffer_cat
77 * Correctly check ostream modifier (/extras)
81 * Fix Body requirements doc
82 * Fix illegal HTTP characters accepted as hex zero
83 * Fix Writer return value documentation
87 * Fix race in writes during reads
90 --------------------------------------------------------------------------------
94 * Split out and rename test stream classes
95 * Restyle async result constructions
96 * Fix HTTP split parse edge case
98 --------------------------------------------------------------------------------
102 * Tidy up tests and docs
103 * Add documentation building instructions
107 * Invoke callback on pings and pongs
108 * Move basic_streambuf to streambuf.hpp
110 --------------------------------------------------------------------------------
114 * Tidy up warnings and tests
116 --------------------------------------------------------------------------------
120 * Fixes for WebSocket echo server
121 * Fix 32-bit arm7 warnings
122 * Remove unnecessary include
123 * WebSocket server examples and test tidying
124 * Fix deflate setup bug
130 --------------------------------------------------------------------------------
134 * bjam use clang on MACOSX
135 * Simplify Travis package install specification
136 * Add optional yield_to arguments
137 * Make decorator copyable
138 * Add WebSocket permessage-deflate extension support
140 --------------------------------------------------------------------------------
144 * Tune websocket echo server for performance
145 * Add file and line number to thrown exceptions
146 * Better logging in async echo server
147 * Add copy special members
148 * Fix message constructor and special members
149 * Travis CI improvements
151 --------------------------------------------------------------------------------
155 * Fix broken Intellisense
156 * Implement the Asio deallocation-before-invocation guarantee
157 * Add handler helpers
158 * Avoid copies in handler_alloc
159 * Update README.md example programs
160 * Fix websocket stream read documentation
161 * Disable Boost.Coroutine deprecation warning
162 * Update documentation examples
164 --------------------------------------------------------------------------------
168 * Remove extraneous includes
170 --------------------------------------------------------------------------------
180 * Rename HTTP identifiers
182 --------------------------------------------------------------------------------
186 * Boost library min/max guidance
187 * Improvements to code coverage
188 * Use boost::lexical_cast instead of std::to_string
189 * Fix prepare_buffers value_type
190 * Fix consuming_buffers value_type
195 * Make chunk_encode public
196 * Add write, async_write, operator<< for message_headers
197 * Add read, async_read for message_headers
198 * Fix with_body example
202 * Optimize utf8 validation
203 * Optimize mask operations
207 * Refactor message and message_headers declarations
208 * prepared_buffers is private
209 * consume_buffers is removed
211 --------------------------------------------------------------------------------
215 * Increase optimization settings for MSVC builds
219 * Check invariants in parse_op:
220 * Clean up message docs
224 * Write buffer option does not change capacity
225 * Close connection during async_read on close frame
226 * Add pong, async pong to stream
230 * Meet DynamicBuffer requirements for static_streambuf
231 * Fix write_frame masking and auto-fragment handling
235 * unit_test::suite fixes:
236 - New overload of fail() specifies file and line
237 - BEAST_EXPECTS only evaluates the reason string on a failure
240 --------------------------------------------------------------------------------
244 * Change implicit to default value in example
245 * Tidy up some declarations
246 * Fix basic_streambuf::capacity
247 * Add basic_streambuf::alloc_size
248 * Parser callbacks may not throw
249 * Fix Reader concept doc typo
250 * Add is_Reader trait
251 * Tidy up basic_headers for documentation
252 * Tidy up documentation
253 * Add basic_parser_v1::reset
254 * Fix handling of body_what::pause in basic_parser_v1
256 * Engaged invokable is destructible
257 * Improve websocket example in README.md
258 * Refactor read_size_helper
262 * Added init() to Reader requirements
263 * Reader must be nothrow constructible
264 * Reader is now constructed right before reading the body
265 - The message passed on construction is filled in
266 * Rework HTTP concepts:
267 - Writer uses write instead of operator()
268 - Refactor traits to use void_t
269 - Remove is_ReadableBody, is_WritableBody
270 - Add has_reader, has_writer, is_Reader, is_Writer
271 - More friendly compile errors on failed concept checks
272 * basic_parser_v1 requires all callbacks present
273 * on_headers parser callback now returns void
274 * on_body_what is a new required parser callback returning body_what
276 --------------------------------------------------------------------------------
280 * Make value optional in param-list
281 * Frame processing routines are member functions
282 * Fix on_headers called twice from basic_parser_v1
283 * Constrain parser_v1 constructor
284 * Improve first line serialization
285 * Add pause option to on_headers interface
286 * Refactor base_parser_v1 callback traits:
287 * Refine Parser concept
288 * Relax ForwardIterator requirements in FieldSequence
289 * Fix websocket failure testing
290 * Refine Writer concept and fix exemplar in documentation
294 * Rename mask_buffer_size to write_buffer_size
295 * Make auto_fragment a boolean option
297 The message class hierarchy is refactored (breaking change):
299 * One message class now models both HTTP/1 and HTTP/2 messages
300 * message_v1, request_v1, response_v1 removed
301 * New classes basic_request and basic_response model
302 messages without the body.
304 Error resolution: Callers should use message, request,
305 and response instead of message_v1, request_v1, and
306 response_v1 respectively.
308 --------------------------------------------------------------------------------
312 * rfc7230 section 3.3.2 compliance
314 * Add Secure WebSocket example
315 * Fix message_v1 constructor
316 * Tidy up DynamicBuffer requirements
317 * Tidy up error types and headers
318 * Fix handling empty HTTP headers in parser_v1
320 --------------------------------------------------------------------------------
324 * Add missing rebind to handler_alloc
325 * Fix error handling in http server examples
326 * Fix CMake scripts for MinGW
328 * Better WebSocket decorator
329 * Update and tidy documentation
331 --------------------------------------------------------------------------------
335 * dstream improvements
336 * Remove bin and bin64 directories
337 * Tidy up .vcxproj file groupings
339 --------------------------------------------------------------------------------
343 * Use -p to print suites from unit test main.
344 * BEAST_EXPECTS to add a reason string to test failures
345 * Fix unit test runner to output all case names
346 * Update README for build requirements
347 * Rename to CHANGELOG.md
349 --------------------------------------------------------------------------------
353 * Set URI in generated WebSocket Upgrade requests
354 * Rename echo server class and file names
355 * Rename to DynamicBuffer in some code and documentation
356 * Fix integer warnings in Windows builds
357 * Add 32 and 64 bit Windows build support
358 * Update README for build instructions and more
359 * Add repository and documention banners
361 --------------------------------------------------------------------------------
365 * Fix compilation warnings
366 * Add websocketpp comparison to HTML documentation
368 --------------------------------------------------------------------------------
374 --------------------------------------------------------------------------------
378 * Fix include in example code
379 * Fix basic_headers rfc2616 Section 4.2 compliance
381 --------------------------------------------------------------------------------
385 * Fix prepare by calling init. prepare() can throw depending on the
386 implementation of Writer. Publicly provided beast::http writers never throw.
387 * Fixes to example HTTP server
388 * Fully qualify ambiguous calls to read and parse
389 * Remove deprecated http::stream wrapper
390 * Example HTTP server now calculates the MIME-type
391 * Fixes and documentation for teardown and use with SSL:
392 * Add example code to rfc7230 javadocs
393 * Remove extraneous header file <beast/http/status.hpp>
394 * Add skip_body parser option
396 --------------------------------------------------------------------------------
400 * Use SFINAE on return values
401 * Use beast::error_code instead of nested types
402 * Tidy up use of GENERATING_DOCS
403 * Remove obsolete RFC2616 functions
404 * Add message swap members and free functions
405 * Add HTTP field value parser containers: ext_list, param_list, token_list
406 * Fixes for some corner cases in basic_parser_v1
407 * Configurable limits on headers and body sizes in basic_parser_v1
411 * ci_equal is moved to beast::http namespace, in rfc7230.hpp
413 * "DynamicBuffer","dynabuf" renamed from "Streambuf", "streambuf". See:
414 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4478.html#requirements.dynamic_buffers
416 * basic_parser_v1 adheres to rfc7230 as strictly as possible
418 --------------------------------------------------------------------------------