Releases: CrowCpp/Crow
Releases · CrowCpp/Crow
v0.3+2 hotfix
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
quick patch fixing 1 issue:
Bug
http_response: fix move assign operator not moving file_info. @luca-schlecker #157
v0.3 - Big Bird
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
- CMake Improvements (for better compatibility with Conan recipes). @madduci, @prince-chrismc, and The Conan team. #96
- Vcpkg Support. @thinking-tower #137
- Fix CMake problem when Crow is built in a subdirectory of another project. @rittelle #103
- More CMake Fixes. @ugermann #124
- Crow can now be installed on the system using
make install
. @ayaankhan98 #80
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). #44Bug
Fixed potential crash when using SSL Websockets. @fran6co #44Feature
Added support for non masked client messages. #44Feature
Added functionality to send a ping message from the server. #44Feature
Exposed methods to send Ping and Pong to the end-user. #44Feature
Ping and Pong payloads to be larger than 127 bytes are now allowed. #44
HTTP
Feature
Added Support for HTTP Compression using Zlib. @pierobot #93Feature
Made Compression (and Zlib dependency) optional (via macro). @alejandroarmas #142Bug
Fixed broken Static files due to Responses not being cleared. @rittelle #109Feature
Added Catch-all Route. @Tibbel #122 #126Feature
Users can now define anything they want a handler to return using thereturnable
class. #84Feature
Crow handler can now have Response alone as an argument (without Request). @ayaankhan98 @klaus-moon #76Feature
Server name can now be set to anything the User wants. @Makaveli #79Feature
More robust redirection tools. #87Feature
methodspop()
,pop_list()
,pop_dict()
, andkeys()
added toquery_string
. #132Feature
Crow now handlesHEAD
andOPTIONS
HTTP methods automatically. #117Bug
Fixed issue where response is logged twice. #128
Static Files
Feature
Createdstatic
folder similar to flask. #50Feature
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. #70Feature
crow::json::wvalue
can now use eitherstd::unordered_map
orstd::map
(for organized results). #132Feature
Addedlo()
method to json::rvalue, returns a vector of json::rvalue containing whatever a json object or list has. #132Feature
Added constructor to createcrow::json::wvalue
fromstd::vector
. #132Feature
Addedkeys()
method to json::rvalue. #132Feature
Addedsize()
tocrow::json::wvalue
. #132Feature
Addedstd::string()
operator to json::rvalue (allowsstd::string(json["abc"]
). #132dump()
is now part ofcrow::json::wvalue
and is const. #70 @belugum #135Feature
Added copy constructor tocrow::json::wvalue
. #132
Documentation
- Added Guides / Tutorials powered by mkdocs. #71 #72 #73 #74 #95 #132 @wentasah #134 @thinking-tower #137
- Added in code documentation for most of the library. #65 #44 #61
- Cleaned up a small problem with
app.h
documentation. #44 - Small documentation error fix. @tibovanheule #114
- Readme changes. #71
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
forexample_with_all
. @supersaiyanmode #63Bug
Renamed CMake target: example -> basic_example. @supersaiyanmode #64Bug
Crow now reports the actual port from ASIO when running. @ChoppinBlockParty #119Bug
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 withunsigned
, 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
The first release in almost 3 years. This update adds compatibility with the latest boost version, along with many additions and fixes:
Packages / Dependencies
Websockets
Bug
Update websocket.h function "void do_read()". #2
HTTP
Feature
Static file support added (including automatic mime-type setting). #10Feature
Response streaming for large (larger than 1MB) response bodies added. #28 #33Feature
Multipart data support added. #15Bug
Fixed SSL reconnect issue #23Bug
Server now sends a shutdown signal to TCP sockets before closing the connection #23Feature
Added "405 method not allowed" error. #13Feature
Added method to set timeout #30
Mustache
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
andctest
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