All Versions
Latest Version
Avg Release Cycle
57 days
Latest Release
1328 days ago

Changelog History
Page 1

  • v1.0.0 Changes

    January 28, 2020
    • πŸ”§ Configurable object mapping - now user can create own types and add support for these types in ApiController, ApiClient, json::mapping::ObjectMapper.
    • Predefined mapping-enabled unsigned integer types are added.
    • πŸ‘ Full support for automatic content compression/decompression based on Accept-Encoding / Content-Encoding headers.
  • v0.19.12 Changes

    January 12, 2020

    πŸš€ Refactoring and Stabilization Release.

    πŸ”‹ Features and Bug-Fixes

    • Introduce oatpp::data::buffer::Processor and oatpp::data::buffer::ProcessingPipeline for stream chunk-by-chunk processing.
    • πŸ›  Fix server stop() when using oatpp::network::server:: SimpleTCPConnectionProvider. Now server can be properly stopped without additional workarounds.
    • πŸ›  Fix tests inconsistency.
    • πŸ›  Fix a bunch of IO bugs (mostly for Windows).

    Architecture Changes

    • Move IODefinitions.hpp to the root. Move v_io_size, v_io_handle and IOError to the oatpp namespace.
    • ⬆️ Upgrade streams interfaces (to provide nesting and pipelining of any complexity):
      • InputStream now extends ReadCallback
      • OutputStream now extends WriteCallback
      • read/write methods now extended with additional parameter async::Action&.
      • suggestInputStreamAsyncAction / suggestOutputStreamAsyncAction removed.

    πŸ”„ Changes Exposed to End-User

    • Rename oatpp::data::v_io_size to oatpp::v_io_size.
    • Rename oatpp::data::v_io_handle to oatpp::v_io_handle.
    • πŸ“‡ Rename oatpp::data::IOError to oatpp::IOError.
    • πŸ‘‰ Use writeSimple instead of write for ConsistentOutputStreams - ChunkedBuffer and BufferOutputStream.
    • Server stop(). Now additional call to client::ConnectionProvider::getConnection() method is not needed in order to unblock accept and stop the server.
  • v0.19.11 Changes

    December 18, 2019


    • ApiClient. Introduce retries and RetryPolicy.
    • oatpp::network::virtual_::Interface. Introduce ListenerLock to acquire an interface for listening (analog to bind on a port).
    • 🚚 oatpp::parser::json::mapping::Serializer. Remove extra space char.
    • πŸ“œ oatpp::parser::json::mapping::Serializer. Introduce Beautifier and Beautifier config.
    • Introduce v_buff_size for buffer sizes, as an integer capable of storing a pointer.
    • Introduce oatpp::data::stream::Context to store aditional data about the stream.
    • oatpp::network::server::SimpleTCPConnectionProvider. Add feature to obtain peer IP and port available through the connection stream context.


    • πŸ‘ Better portability.
    • 🏁 Windows compatibility.
    • πŸ‘Œ Support TLS over custom transport.
    • Require LibreSSL minimum version 3.0.0.


    • πŸ›  Fix acceptor-thread blocking by handshake. TLS Handshake is moved to the stream context initialization.
  • v0.19.10 Changes

    November 03, 2019
    • ApiController. Add router prefix.
    • Introduce LazyStringMap to store headers and query parameters.
    • Introduce ConnectionPool.
    • πŸ”¨ Refactor. Rename ADDCORS --> ADD_CORS macro.
    • Optimization. Use BufferOutputStream in RequestHeadersReader.
    • πŸ›  Fix thread sanitizer warnings.
    • πŸ›  Fix some compiler warnings.
  • v0.19.9 Changes

    October 07, 2019
    • ApiController. Introduced AUTHORIZATION macro.
    • ApiController. Introduced ADDCORS macro.
    • ApiController. Introduced ENDPOINT_INTERCEPTOR macro.
    • πŸ‘ Better error handling for simple and async APIs.
    • πŸ‘Œ Support HTTP-pipelining on server-side.
    • 🐎 Performance optimization. Remove double-buffering while sending the response.
    • πŸ›  Minor bug-fixes.
  • v0.19.8 Changes

    August 20, 2019
    • 🏁 Windows Support
    • πŸ‘ Better Portability
  • v0.19.7 Changes

    August 08, 2019
    • πŸ‘ Better stream processing API.
    • Introduced stream read/write callbacks.
    • Introduced BufferInputStream, FileStream
    • πŸ”‹ Feature - Multipart support - server/client, simple/async APIs.
    • 🏁 Revived IOWorker for Async APIs compatibility with future Windows build.
  • v0.19.6 Changes

    June 25, 2019
    • βž• Additional parameters in server::ConnectionHandler::handleConnection method. - For parameterized connection upgrades.
    • πŸ”’ Introduced oatpp::async::Lock - for Coroutine/Thread synchronization
    • Introduced -DOATPP_COMPAT_BUILD_NO_THREAD_LOCAL build flag. - For compatibility with compilers which do not support thread_local feature. See #81.
    • 0️⃣ Introduced oatpp default Logger.
    • πŸ›  Fixed memory leak in kqueue based implementation of async IOEventWorker.