Skip to content

Releases: CrowCpp/Crow

v1.3.1

11 Feb 23:26

Choose a tag to compare

This release is mainly a bugfix release which takes last fixes from master branch.

What's Changed

Most important fixes are these, they fix issues with websockets:

In addition these fixes are applied too:

  • bugfix for errors on asio::write on do_sync_write() by @gittiver in #1116
  • Use string_view in CookieParser::before_handle parsing by @Sightem in #1024
  • replaced old trim function based on std::string by one using string_view by @gittiver in #1105
  • move CPM to CROW_BUILD_TESTS scope by @amhenze in #1121
  • Replace uint16_t with size_t for rule/blueprint routing to eliminate narrowing warnings by @boulabiar in #1118
  • Alternative to uint16 t cast by @gittiver in #1117
  • removed double lookup by count() and find() by @gittiver in #1131
  • fix for issue #1127 Small oob read in qs_scanvalue when the key is not found - increment qs only if '&' was found by @gittiver in #1132
  • added http status codes from RFC 2518 (WebDAV) by @gittiver in #1144

New Contributors

Full Changelog: v1.3.0...v1.3.1

v1.3.0

13 Oct 14:50

Choose a tag to compare

What's Changed

  • Add unix domain socket support by @na-trium-144 in #803
    The most important change in this release is support for unix domain sockets as server sockets.

  • Adds SBOM generation using cmake-sbom by @StefanoPetrilli in #1066
    The CMake build scripts supports now the generation of an SBOM, there is a new CMake option CROW_GENERATE_SBOM for this.

A lot of outstanding small bugs was fixed, the most important are maybe these:

@StefanoPetrilli overhauled the GitHub CI scripts, we build now with Boost::asio, standalone asio, clang or gcc, libstdc++ or libc++.

A lot of other small fixes and improvements were done by the community of contributors:

New Contributors

Full Changelog: v1.2.1.2...v1.3.0

v1.2.1 (v1.2.1.2)

10 Feb 13:46

Choose a tag to compare

Note

v1.2.1.2 contains a bugfix for a problem with parallel HTTP requests.

What's Changed

This version of Crow needs at least C++ 17 compiler.

In addition there is an incompatible CMake option change,
starting with this version for enabling SSL is used:
CROW_ENABLE_SSL=ON
and for enabling compression:
CROW_ENABLE_COMPRESSION=ON

CI

Packaging

  • Add nixpkgs as distribution to docs by @fliiiix in #927
  • Added homebrew icon and installation instructions by @The-EDev in #932
  • add debian package building and upload to releases by @gittiver in #893

Bugfixes

  • fixed warnings in mkdocs documentation generation by @gittiver in #820
  • Improved crow/mustache.h file documentation by @8nvHHobXJ1KS in #817
  • #839 Make multipart::message constructor from request explicit by @bgs99 in #842
  • Fix wait of conditional variable to prevent spurious wakeup by @z16166 in #851
  • Add gzip mime type by @summer-espresso in #857
  • Make websocket close include the status code by @davidot in #854
  • Fix 828 nested blueprints need static directory by @gittiver in #855
  • Make Crow::port getter const by @bugdea1er in #863
  • Multipart message view by @bgs99 in #862
  • List all amalgamated headers manually by @bgs99 in #871
  • Bugfix/cleanup whitespace by @fliiiix in #881
  • Add const qualifier to rvalue lo method by @t-cadet in #892
  • Update home.html by @jtlsc-net in #898
  • #692 Add the possibility to specify "Sec-WebSocket-Protocol" by @KaSSaaaa in #693
  • Return correct port if dynamic port allocation is used by @sandro97git in #901
  • Makes task_timer generic by @StefanoPetrilli in #897
  • Enable -Wshadow warnings by @fliiiix in #902
  • changes sleep times and default timeout raised by @gittiver in #905
  • Logging the missed key when accessing rvalue through operator[] by @faywong in #906
  • made count method const and removed superfluous ; by @gittiver in #909
  • Do not compress when body is empty by @paulharris in #921
  • Tell Router to use https for the protocol, when enabled. by @paulharris in #922
  • "crow::multipart::message throws when the boundary is empty or malformed by @Iuliean in #931
  • fix failing task timer tests on OSX by @gittiver in #949
  • Redirect to url with trailing slash, WITHOUT the protocol and host. by @paulharris in #945
  • Use references explicitly, and avoid dangling references captured by complete_request_handler_ by @paulharris in #924
  • added page with templates and crow applications to mkdocs by @gittiver in #950
  • Check start tags were matched to an end tag by @paulharris in #923
  • Fixed CMP0167 CMake warning by @bg-softcom in #964
  • Remove CROW_CAN_USE_CPP14 and CROW_CAN_USE_CPP17 macros by @bugdea1er in #969
  • Remove usage of deprecated Asio API by @bugdea1er in #971
  • Mustache: fix segmentation fault for unexpected closing tag by @tyler92 in #977
  • Add an option to expose headers for CORS by @bugdea1er in #978
  • Credential is not supported if Allowed Origin is '*' by @bugdea1er in #979
  • Possibility to mirror Sec-WebSocket-Protocols by @andrew-guz in #980
  • added wait timeout to server start by @gittiver in #918
  • Changed headers handling by @TiARETiK in #799
  • replaced not reliable sleep by a asio::waitable_timer (steady_timer) … by @gittiver in #976
  • Update testing documentation to use correct function by @fliiiix in #988
  • replaced += by append and changed the order of strings to remove nece… by @gittiver in #974
  • Refactor substr equals by find by @gittiver in #975
  • added testcase for requested samples from issue by @gittiver in #991
  • Fixed handling of origin when allow_credentials enabled by @TiARETiK in #985
  • switch return code of OPTIONS request method between 200 and 204 depending on cmake option by @gittiver in #951
  • fixed header length calculation in unittest by @gittiver in #995
  • a hotfix to ssl test which depends also on the length of crow version… by @gittiver in #996

New Contributors

Full Changelog: v1.2.0...v1.2.1.2

v1.2.0

28 May 20:54

Choose a tag to compare

What's Changed

The release contains some fixes related to web sockets, a lot of small fixes and documentation improvements.

New Contributors

Full Changelog: v1.1.0...v1.2.0

v1.1.0

23 Jan 19:16

Choose a tag to compare

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

Read more

v1.0+5 Security Patch

24 Aug 09:42
edf12f6

Choose a tag to compare

Thanks to hebi and Gynvael Coldwind for discovering and reporting the vulnerabilities.

v1.0+4 Security Patch

28 Jun 14:19
62dae4c

Choose a tag to compare

  • Bug Fixed issue where an index in qs_parse is incorrectly incremented beyond the maximum possible value. #486

v1.0+3 Hotfix

07 May 10:02
25dc741

Choose a tag to compare

  • Bug Fixed multiple definition error for CORS middleware. @dranikpg #395

v1.0+2 QoL Hotfix

29 Apr 00:41
bc3a742

Choose a tag to compare

  • Bug Fixed issue where Crow would not Compile on GCC 4.8 (due to a G++ bug). #399
  • Bug Fixed exception when Crow doesn't know the extension of a static file. @danielskeenan #411
  • Bug Fixed issue where Crow wouldn't compile when using CROW_MIDDLEWARES with a pass-by-reference app. #396
  • Feature Allow using absolute file paths with static folders. @joelguittet #419
  • Bug Fixed issue where SSL websockets wouldn't run due to HTTP upgrade. @jeanbiber #393
  • Bug Fixed issue where Logs from multiple threads would be merged together. @dhchen #404
  • Bug Fixed issue where responses to OPTIONS requests were missing a Content-Length header. @jeanbiber #424
  • Feature Allow setting up HTTPS using SSL chain files. @jeanbiber #424
  • Doxygen can now document SSL and Compression parts. #424
  • Typo fixes. @stephanecharette #424

v1.0+1 Hotfix

30 Mar 15:44
4d2f26e

Choose a tag to compare

  • Bug Fixed issue where Crow wouldn't compile on GCC versions below 6.0. @sgoth #377