v1.1.0
After a long time this is the first new release, in the last year the team and all the (new) contributors fixed a lot of bugs.
Core does now only depend on standalone Casio library instead of the big boost dependencies. :)
Thanks to the The E-Dev, the Crow team and all the new contributors.
What's Changed
- Fix indentation & numbering in middleware by @bryceschober in #378
- Split up operator""_method by @beached in #383
- make multipart robust against ill-formed body, prevents SIGSEGV by @hsiegmund in #385
- #380: Update CMake config. by @luca-schlecker in #384
- documented CROW_FEATURES by @The-EDev in #392
- Fixed issue where SSL websockets wouldn't run due to HTTP upgrade by @The-EDev in #393
- Add inline decl to CORSRules helpers by @dranikpg in #395
- Add
std::remove_reference
to CROW_MIDDLEWARES by @The-EDev in #396 - Concatenate log into one string and sending to std::cerr instead of multiple << operator by @dhchen in #404
- Handle unknown static file extensions by @danielskeenan in #411
- Allow compiling on GCC 4.8 by @The-EDev in #399
- Fix for SecBug cpp/comparison-with-wider-type by @kingster in #416
- app: static can be an absolute path by @joelguittet in #419
- Multiple small changes by @The-EDev in #424
- Cookieparser attributes by @dranikpg in #409
- Documentation improvements by @The-EDev in #435
- Add reference to
Crow
in websocket connection by @The-EDev in #432 - Fix amalgamate by @The-EDev in #437
- Close websockets when app is terminated by @The-EDev in #269
- Add extra log when status code is not defined. by @konradkar2 in #434
- Add rudimentary support for websocket max payload by @DeuSCaNoN in #425
- added creating qs from request body functionality + updated doc by @The-EDev in #442
- Blueprint middleware by @dranikpg in #403
- Generic app constructor by @dranikpg in #408
- allow setting userdata in onaccept of websocket-connection by @MichaelSB in #447
- erase websocket::connection from vector in App::remove_websocket() by @MichaelSB in #450
- do not try to read from websocket after sending and receiving the clo… by @MichaelSB in #452
- Fix dead link (404) under Setting Up / Building. by @D7EAD in #459
- Webpage tutorial by @The-EDev in #451
- fix qs_parse eating first character in form keys by @aloussase in #464
- Fix failing unittests in master and 1.0 by @erikaldsund in #467
- Deboostify Crow by @luca-schlecker in #457
- Fix wvalue::operator = (wvalue && r); Number type loss problem by @wnself in #466
- overload template_t::render to accept context as an r-value by @aloussase in #465
- Add error message to Websocket
onerror
handler by @The-EDev in #476 - move includes outside namespace crow by @MichaelSB in #479
- rework the way asio is handled as a dependency. by @luca-schlecker in #482
- only allow regular files in set_static_file_info, return 404 in all o… by @MichaelSB in #470
- Optionally make use of Markdown 'warning' notation. by @D7EAD in #484
- Fixed issue where an index in qs_parse is incorrectly incremented beyond the maximum possible value by @The-EDev in #486
- fix CrowConfig.cmake not being able to find Findasio.cmake module. by @luca-schlecker in #492
- Fixed bug: Could not define route for HEAD method by @erikaldsund in #491
- Add response constructor overload by @aloussase in #495
- Added missing information and improved stylesheets for dark mode by @The-EDev in #496
- Sessions Middleware by @dranikpg in #448
- get_part_by_name doesn't crash on nonexistent keys by @Iuliean in #501
- Fix build warnings by @Phoenix-flame in #503
- Session fixes by @dranikpg in #505
- Find the route as soon as the URL is parsed by @The-EDev in #499
- Add template/typename keywords to crow macros by @dranikpg in #508
- static directory slash fix by @The-EDev in #507
- Fix compilation error: ambiguous overload by @erikaldsund in #513
- Cpp17 filesystem usage fixes by @erikaldsund in #514
- Fix merge_all.py by @deroskarmodulo in #518
- docs(compression): Fix
vcpkg.json
reference by @ryanrussell in #522 - Prevent HTTP pipelining by @The-EDev in #524
- Fix stack data disclosure when returning static files smaller than 16KiB by @mrozigor in #523
- Address #534 - handling missing mime types gracefully by @jake-arkinstall in #536
- docs(middlewares): readability improvements by @ryanrussell in #540
- websocket: Reduce number of re-allocation of string parameters by @kang-sw in #535
- refactor(websocket): readability improvements by @ryanrussell in #541
- Fix websocket crash from connection pointer dangling by @kang-sw in #530
- fix post method. by @lag945 in #550
- feat(cmake): improved debian packaging by @okaestne in #553
- Fix some valgrind reported issues by @okaestne in #560
- Fix warnings generated by clang++ by @okaestne in #561
- Fix use-after-move by @BoleynSu in #565
- Fix 381 by @hlmodi in #566
- fix optimizeNode to prevent a crash on MSVC by @leksiso in #568
- Adapt CROW_WEBSOCKET_ROUTE to accept app reference by @soehrl in #556
- Apply workaround for Apple to FreeBSD aswell by @puffetto in #578
- fix warning on non MS systems for using sprintf instead of snprintf by @gittiver in #580
- #585 : Resolves issue with blueprint assignments. by @xia-stan in #590
- fix #587 Render true and false Mustache tags by @queenstdev in #588
- Get server running port, bindaddr and threads by @xandross389 in #592
- Fix typo in unit test by @gfeyer in #595
- fix typos in app.md by @alex-lt-kong in #600
- Fix loghandler memleak by @IldarKashaev in #609
- Added possibility to return empty JSON object instead of NULL by @killoctal in #602
- add github action for build and test by @gittiver in #586
- Validate if CROW_ROUTE starts with a '/' by @StefanoPetrilli in #597
- Fixed compilation under android ndk, operator "=" was undefined by @marcrobm in #634
- Fix memory leaks caused from the http_connection by @anagno in #633
- Minor updates to docs by @robertgodfrey in #646
- Fix windows build and remove deprecated macOS10.15 builder in github action for build and test by @gittiver in #648
- Added an example for uploading files by @kiner-shah in #638
- use GNUInstallDirs for CMake installation by @topazus in #642
- Added Coveralls to GitHub Actions by @The-EDev in #657
- added const as in source by @gittiver in #659
- added cmake options for feature ssl and compression and crow amalgamate for windows in gh-actions by @gittiver in #655
- Add GitHub action for gh pages by @gittiver in #654
- added proper coveralls submission workflow by @The-EDev in #662
- fix diverse compiler warnings by @gittiver in #656
- Update websocket example code, minor grammar fixes by @robertgodfrey in #670
- Add missing const to mustache
render
andjson::wvalue::operator[]
by @cschreib in #683 - Update MacOS setup guide by @waynegerard in #691
- Performance fix for non-static streaming data by @jfmu in #728
- Fix order of destructor call of io_service in crow::Server by @na-trium-144 in #722
- fix build: android/termux/clang-17.0 by @keith-dev in #736
- enable CROW_FEATURES ssl, compression on all platforms by @gittiver in #678
- Fix rejected request when receiving HTTP header "Expect: 100-continue" by @bruvey37 in #727
- Fix clang debug build (Android and FreeBSD) by @keith-dev in #740
- prepare release 1.1.0 on master-branch by adding new version to documentation by @gittiver in #742
New Contributors
- @bryceschober made their first contribution in #378
- @beached made their first contribution in #383
- @hsiegmund made their first contribution in #385
- @dhchen made their first contribution in #404
- @danielskeenan made their first contribution in #411
- @joelguittet made their first contribution in #419
- @konradkar2 made their first contribution in #434
- @DeuSCaNoN made their first contribution in #425
- @MichaelSB made their first contribution in #447
- @D7EAD made their first contribution in #459
- @aloussase made their first contribution in #464
- @erikaldsund made their first contribution in #467
- @wnself made their first contribution in #466
- @Iuliean made their first contribution in #501
- @Phoenix-flame made their first contribution in #503
- @deroskarmodulo made their first contribution in #518
- @ryanrussell made their first contribution in #522
- @jake-arkinstall made their first contribution in #536
- @kang-sw made their first contribution in #535
- @lag945 made their first contribution in #550
- @okaestne made their first contribution in #553
- @BoleynSu made their first contribution in #565
- @hlmodi made their first contribution in #566
- @leksiso made their first contribution in #568
- @soehrl made their first contribution in #556
- @puffetto made their first contribution in #578
- @xia-stan made their first contribution in #590
- @queenstdev made their first contribution in #588
- @xandross389 made their first contribution in #592
- @gfeyer made their first contribution in #595
- @alex-lt-kong made their first contribution in #600
- @IldarKashaev made their first contribution in #609
- @killoctal made their first contribution in #602
- @StefanoPetrilli made their first contribution in #597
- @marcrobm made their first contribution in #634
- @anagno made their first contribution in #633
- @robertgodfrey made their first contribution in #646
- @kiner-shah made their first contribution in #638
- @topazus made their first contribution in #642
- @cschreib made their first contribution in #683
- @waynegerard made their first contribution in #691
- @jfmu made their first contribution in #728
- @na-trium-144 made their first contribution in #722
- @keith-dev made their first contribution in #736
- @bruvey37 made their first contribution in #727
Full Changelog: v1.0+5...v1.1.1