Skip to content

Releases: JadeMatrix/SHOW

v0.8.6 — alpha

19 May 00:34
1e46e2f
Compare
Choose a tag to compare
v0.8.6 — alpha Pre-release
Pre-release

Changes in this version:

  • CMake
    • Added modern CMake configuration & package installation
    • Fixed UnitTest++ package detection
    • Include CTest explicitly and use its BUILD_TESTING option
    • Use GNUInstallDirs to set up where to install stuff
    • Added documentation build configuration
    • Improved unit tests build configuration, splitting them up into individual executables so they work better with CTest
  • Removed reference to in-source build in examples README
  • Tweaked some documentation
  • Improved base64 decoding & added option to ignore incorrect padding
  • Removed .gitignore as out-of-source builds are preferred
  • Sphinx doc generation now pulls SHOW version from "show.hpp"
  • Made the show::connection::xsgetn() implementation possibly more efficient

v0.8.5 — alpha

04 Jun 17:17
6a4c830
Compare
Choose a tag to compare
v0.8.5 — alpha Pre-release
Pre-release

Changes in this version:

  • Fixed SHOW not building on strict C++11-compliant compilers
  • Fixed "show/multipart.hpp" not compiling under GCC 4.8.5
  • Added project version to CMakeLists.txt
  • Added use of the "Content-Disposition" header to fileserve example
  • Added a unit test revealing a memory error for moved connections
  • Fixed a memory error when cleaning up moved connections
  • Updated multithreaded server example to use a moved connection instead of a std::unique_ptr<connection>
  • Switched connection buffers from raw char* to std::unique_ptr<std::array<char,N>> for automatic memory management
  • Updated some phrasing in the docs/README

v0.8.4 — alpha

05 May 19:19
c3d2e05
Compare
Choose a tag to compare
v0.8.4 — alpha Pre-release
Pre-release

Changes in this version:

  • Added multipart content parsing utility in show/multipart.hpp
  • Added example program demonstrating multipart parsing utilities
  • Added a header file of useful constants in show/constants.hpp
  • Fixed a typo in the documentation: _ → -
  • Clarified in the documentation that show:connection_interrupted does not inherit from std::exception
  • Marshalled header names are now normalized to standard Upper-Dashed-Case
  • Style — general code cleanup, mainly favoring curly-brace initialization in favor of "assignment" initialization
  • Fixed a buffer overflow when getting the client's IP address
  • Fixed a few typos that prevented the fileserver example from compiling under C++17 (std::filesystem version)
  • Fixed some incorrect unit tests
  • Fixed some header parsing bugs that were revealed by correcting some false-positive unit tests
  • Fixed show::url_encode() overzealously encoding numeric ASCII characters
  • Made some minor updates & corrections to documentation (brace-initializing, public inheritance)
  • Split run_checks_against_response() test util into two functions
  • Added move construction/assignment support for core SHOW classes, along with associated unit tests
  • Renamed CMake project to "SHOW Tests & Examples"
  • Added CMake custom target for all examples

v0.8.3 — alpha

21 Mar 08:24
32a8bbe
Compare
Choose a tag to compare
v0.8.3 — alpha Pre-release
Pre-release

Changes in this version:

  • Added unit tests based on UnitTest++
  • Removed noexcept from show::base64_encode()
  • Fixed show::base64_decode breaking on padded inputs
  • Moved base64 test constants to their own header file for reuse across multiple tests
  • Fixed multi-line header parsing unit tests checking for the wrong header name; also added two more
  • Fixed multi-line header parsing unit tests checking for incorrectly concatenated values
  • Changed std::shared_ptrstd::unique_ptr (typo) in multiple clients example
  • Fixed bitwise-or used instead of bitwise-and for ASCII lowercasing
  • Reintroduced show::response_marshall_error to handle invalid headers passed to show::response's constructor
  • Fixed some edge cases parsing request paths
  • Fixed multi-line headers being improperly parsed
  • Fixed request parsing not failing on invalid "Content-Length" headers
  • Fixed show::url_decode() not failing on some invalid encoded sequences
  • Various code style changes

v0.8.2 — alpha

30 Jan 07:05
f907962
Compare
Choose a tag to compare
v0.8.2 — alpha Pre-release
Pre-release

Changes in this version:

  • Fixed some broken links in the Sphinx documentation (MarkDown-style)
  • Tweaked README (";" → "—")
  • Style — capitalized CMake function names
  • Fixed mistaken labelling of the "any IP" address as the loopback address
  • Style — removed redundant variable names in function declarations
  • Fixed "show/base64.hpp" no longer compiling as show::base64_decode_error inherited from the now-missing show::exception

v0.8.1 — alpha

27 Dec 08:45
cc8928b
Compare
Choose a tag to compare
v0.8.1 — alpha Pre-release
Pre-release

Changes in this version:

  • Fixed a bug where connection::uflow() (incrementing) was used instead of connection::underflow() (non-incrementing), causing request to not act as a well-formed std::streambuf
  • Replaced the last few comparisons with traits_type::eof() to use traits_type::not_eof(), which is more correct
  • Reworded a bit of the tutorial to be more friendly
  • Decreased required CMake version to 3.6, as that's the latest available in EPEL for CentOS
  • Made return type of request::connection() namespace-explicit as it made GCC choke
  • Revised examples to make them simpler and fix typos
  • Added accessors to connection for the server address & port in addition to the ones for the client
  • Fixed the "hello world" example sometimes hanging on flushing the incoming request

v0.8.0 — alpha

26 Dec 21:36
6ec5adf
Compare
Choose a tag to compare
v0.8.0 — alpha Pre-release
Pre-release

Changes in this version:

  • Moved base64 utilities to their own header file, as core SHOW has no dependencies on them
  • Moved base64 utilities documentation
  • Adjusted the API more in line with the standard library's style: const& members → const& () accessors, *_t*_type
  • Improved exception handling in examples (const-correctness, etc.)
  • Added request::flush() for skipping unread request contents
  • Code formatting fixes
  • show::connection_timeout and show::client_disconnected now inherit from a common parent class show::connection_interrupted to improve code complexity if the programmer doesn't care about the nature of the interruption
  • Added note that multiple responses are allowed under certain conditions in HTTP/1.1
  • Tweaked wording & markup in base64 documentation
  • Renamed content_length_flag_type to simply content_length_flag, as it doesn't name a type alias
  • Tweaked const-correctness of accessors
  • Updated docs for v0.8.0 accessor changes
  • Tweaked introduction text in README & docs
  • Added doc entry for show::connection_interrupted
  • Removed show::exception, and SHOW exceptions now inherit from std::runtime_error instead
  • Changed the version information to be a namespace instead of an anonymous struct
  • Constructor for show::response now takes a connection& instead of a request&
  • Cleaned up & rewrote parts of the README, and moved a relevant paragraph to the tutorial Sphinx doc

v0.7.3 — alpha

07 Dec 19:47
2286aad
Compare
Choose a tag to compare
v0.7.3 — alpha Pre-release
Pre-release

Changes in this version:

  • Incremented version to 0.7.3
  • Added Sphinx docs for show-cpp.readthedocs.io
  • request::content_length was accidentally defined as a non-const reference (as of right now this is a non-issue in v0.8.0)
  • Removed noexcept specifiers as they're not as useful as I originally thought
  • Fixed request::request(connection&) sometimes throwing url_decode_error (#12)
  • Removed unused exception type response_marshall_error
  • Moved the tutorial from the README to the tutorial doc
  • Style: removed some unneeded argument names in function declarations
  • Reworded the first paragraph of the README

v0.7.2 — alpha

29 Nov 02:29
089f1c4
Compare
Choose a tag to compare
v0.7.2 — alpha Pre-release
Pre-release

Changes in this version:

  • Fixed duplicate symbol errors for base64 character set constants

v0.7.1 — alpha

28 Nov 23:54
6397fda
Compare
Choose a tag to compare
v0.7.1 — alpha Pre-release
Pre-release

Changes in this version:

  • Fixed multi-threaded example because I misunderstood the semantics of std::thread::joinable()
  • Improved some wording in the README
  • Added inline keyword to function implementations to improve usability in more complex projects