Skip to content

Releases: CrowCpp/Crow

v0.3+2 hotfix

05 Jul 10:47
Compare
Choose a tag to compare

My apologies for releasing another version so soon. This release fixes the following:

  • Bug disabling crow static folder makes all routes inaccessible #163

v0.3+1 hotfix

28 Jun 16:49
Compare
Choose a tag to compare

quick patch fixing 1 issue:

v0.3 - Big Bird

05 Jun 03:44
Compare
Choose a tag to compare

This version feels almost mature enough to where I would call it v1.0. But due to lack of production environment testing, it will stay v0.3

I'm hoping to be able to add hotfixes for any bugs unseen or necessary fixes.

Thanks to every single person who contributed to this project! I hope I didn't forget to mention any of you.

Here are the changes:

Packages / Dependencies

Websockets

  • Bug Reset the internal header variable before every read. (fixing potential issues where read is run and no actual data is taken from the socket). #44
  • Bug Fixed potential crash when using SSL Websockets. @fran6co #44
  • Feature Added support for non masked client messages. #44
  • Feature Added functionality to send a ping message from the server. #44
  • Feature Exposed methods to send Ping and Pong to the end-user. #44
  • Feature Ping and Pong payloads to be larger than 127 bytes are now allowed. #44

HTTP

  • Feature Added Support for HTTP Compression using Zlib. @pierobot #93
  • Feature Made Compression (and Zlib dependency) optional (via macro). @alejandroarmas #142
  • Bug Fixed broken Static files due to Responses not being cleared. @rittelle #109
  • Feature Added Catch-all Route. @Tibbel #122 #126
  • Feature Users can now define anything they want a handler to return using the returnable class. #84
  • Feature Crow handler can now have Response alone as an argument (without Request). @ayaankhan98 @klaus-moon #76
  • Feature Server name can now be set to anything the User wants. @Makaveli #79
  • Feature More robust redirection tools. #87
  • Feature methods pop(), pop_list(), pop_dict(), and keys() added to query_string. #132
  • Feature Crow now handles HEAD and OPTIONS HTTP methods automatically. #117
  • Bug Fixed issue where response is logged twice. #128

Static Files

  • Feature Created static folder similar to flask. #50
  • Feature Static File support was enabled on Windows. @epajarre #55

Mustache

  • Feature Crow logs a warning if a template is not found. @rittelle #102

Json

  • Feature crow::json::wvalue can now return any Json type, not just Json objects. #70
  • Feature crow::json::wvalue can now use either std::unordered_map or std::map (for organized results). #132
  • Feature Added lo() method to json::rvalue, returns a vector of json::rvalue containing whatever a json object or list has. #132
  • Feature Added constructor to create crow::json::wvalue from std::vector. #132
  • Feature Added keys() method to json::rvalue. #132
  • Feature Added size() to crow::json::wvalue. #132
  • Feature Added std::string() operator to json::rvalue (allows std::string(json["abc"]). #132
  • dump() is now part of crow::json::wvalue and is const. #70 @belugum #135
  • Feature Added copy constructor to crow::json::wvalue. #132

Documentation

CI/CD

  • Travis replaced with Drone.io. #120

Testing / Examples

  • Added Websocket tests. #44
  • Added examples and tests for json and query_string new methods. #132
  • Bug #include for example_with_all. @supersaiyanmode #63
  • Bug Renamed CMake target: example -> basic_example. @supersaiyanmode #64
  • Bug Crow now reports the actual port from ASIO when running. @ChoppinBlockParty #119
  • Bug Mustache tests now included in coverage. #129

Other

  • merge_all.py is now windows compatible. #58
  • Added CROW_MAIN Macro to avoid multiple definition error of static variables. @fckxorg #111 #118
  • Crow's signal handler is now optional. @NRizzoInc @ilejn #85
  • MSVC compatibility fixes. @sfinktah #101
  • Better Xcode Compatibility. @dspverden #139
  • Recast 64-bit size_t to 32-bit int to remove MSVC warnings. @sfinktah #106
  • uint was replaced with unsigned, improving compatibility. @epajarre #54
  • Middlewares are now in a subfolder rather than being on the same level as the core library. #51
  • Moved Repository under "CrowCpp" organization.

v0.2 - Crow Reborn

31 Oct 22:22
696fbb1
Compare
Choose a tag to compare

The first release in almost 3 years. This update adds compatibility with the latest boost version, along with many additions and fixes:

Packages / Dependencies

  • Minimum Boost version is now 1.7. #1
  • Removed Conanfile. #22

Websockets

  • Bug Update websocket.h function "void do_read()". #2

HTTP

  • Feature Static file support added (including automatic mime-type setting). #10
  • Feature Response streaming for large (larger than 1MB) response bodies added. #28 #33
  • Feature Multipart data support added. #15
  • Bug Fixed SSL reconnect issue #23
  • Bug Server now sends a shutdown signal to TCP sockets before closing the connection #23
  • Feature Added "405 method not allowed" error. #13
  • Feature Added method to set timeout #30

Mustache

  • Feature Updated specification files. #22 #35

Documentation

  • Added Doxygen to generate Reference. #7
  • Excluded 3rd Party libraries from Documentation. #20
  • Added documentation to app.h. #31

CI/CD

  • Restarted Travis and coveralls for the repository. #12
  • Updated OS to Ubuntu focal (20.04.1 LTS). #12
  • Started testing on AMD64 and ARM64 CPUs. #24
  • Changed testing GCC (9.3 now) and clang (7.0 now) versions. #24
  • make and ctest now use 4 threads instead of 2. #24
  • Excluded 3rd Party libraries from Coveralls. #20

Testing

Other

  • All Scripts are now in the /scripts directory
  • logo changes
  • readme changes