Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 41 additions & 33 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,11 @@ jobs:
cxxstd: 11,14,17,20,2b
os: ubuntu-24.04
install: g++-14
- toolset: gcc-15
cxxstd: 11,14,17,20,23,2c
os: ubuntu-latest
container: ubuntu:25.04
install: g++-15
- toolset: clang
compiler: clang++-3.5
cxxstd: 11
Expand Down Expand Up @@ -116,81 +121,87 @@ jobs:
container: ubuntu:18.04
install: clang-5.0
- toolset: clang
install: clang-6.0
compiler: clang++-6.0
cxxstd: 11,14,17
os: ubuntu-24.04
container: ubuntu:18.04
install: clang-6.0
- toolset: clang
install: clang-7
compiler: clang++-7
cxxstd: 11,14
os: ubuntu-24.04
container: ubuntu:18.04
install: clang-7
- toolset: clang
install: clang-8
compiler: clang++-8
cxxstd: 11,14,17
os: ubuntu-24.04
container: ubuntu:18.04
install: clang-8
- toolset: clang
install: clang-9
compiler: clang++-9
cxxstd: 11,14,17,2a
os: ubuntu-24.04
container: ubuntu:18.04
install: clang-9
- toolset: clang
install: clang-10
compiler: clang++-10
cxxstd: 11,14,17,2a
os: ubuntu-24.04
container: ubuntu:20.04
install: clang-10
- toolset: clang
install: clang-11
compiler: clang++-11
cxxstd: 11,14,17,2a
os: ubuntu-24.04
container: ubuntu:20.04
install: clang-11
- toolset: clang
install: clang-12
compiler: clang++-12
cxxstd: 11,14,17,20
os: ubuntu-22.04
install: clang-12
- toolset: clang
install: clang-13
compiler: clang++-13
cxxstd: 11,14,17,20
os: ubuntu-22.04
install: clang-13
- toolset: clang
install: clang-14
compiler: clang++-14
cxxstd: 11,14,17,20
os: ubuntu-22.04
install: clang-14
- toolset: clang
install: clang-15
compiler: clang++-15
cxxstd: 11,14,17,20,2b
os: ubuntu-22.04
install: clang-15
- toolset: clang
install: clang-16
compiler: clang++-16
cxxstd: 11,14,17,20 # no 2b: https://github.com/llvm/llvm-project/issues/97842
os: ubuntu-24.04
install: clang-16
- toolset: clang
install: clang-17
compiler: clang++-17
cxxstd: 11,14,17,20 # no 2b: https://github.com/llvm/llvm-project/issues/97842
os: ubuntu-24.04
install: clang-17
- toolset: clang
install: clang-18
compiler: clang++-18
cxxstd: 11,14,17,20,2b
os: ubuntu-24.04
install: clang-18
- toolset: clang
install: clang-19
compiler: clang++-19
cxxstd: 11,14,17,20,2b
os: ubuntu-24.04
install: clang-19
- toolset: clang
compiler: clang++-20
cxxstd: 11,14,17,20,23,2c
os: ubuntu-latest
container: ubuntu:25.04
install: clang-20
- toolset: clang
os: macos-13
cxxstd: 11,14,17,20,2b
Expand Down Expand Up @@ -268,22 +279,6 @@ jobs:
fail-fast: false
matrix:
include:
- toolset: msvc-14.2
cxxstd: 14,17
addrmd: 32
os: windows-2019
- toolset: msvc-14.2
cxxstd: 20,latest
addrmd: 32
os: windows-2019
- toolset: msvc-14.2
cxxstd: 14,17
addrmd: 64
os: windows-2019
- toolset: msvc-14.2
cxxstd: 20,latest
addrmd: 64
os: windows-2019
- toolset: msvc-14.3
cxxstd: 14,17
addrmd: 32
Expand All @@ -310,6 +305,19 @@ jobs:
addrmd: 64
os: windows-2022

# The windows-2022 image comes with GCC 12, which causes a
# `file too big` error even when using `-Wa,-mbig-obj` and
# `debug-symbols=off`.

# - toolset: gcc
# cxxstd: "11,14"
# addrmd: 64
# os: windows-2022
# - toolset: gcc
# cxxstd: "17,2a"
# addrmd: 64
# os: windows-2022

needs: [runner-selection]
runs-on: ${{ fromJSON(needs.runner-selection.outputs.labelmatrix)[matrix.os] }}

Expand Down Expand Up @@ -532,7 +540,7 @@ jobs:
fail-fast: false
matrix:
include:
- os: windows-2019
- os: windows-2025
- os: windows-2022

runs-on: ${{matrix.os}}
Expand Down Expand Up @@ -581,7 +589,7 @@ jobs:
fail-fast: false
matrix:
include:
- os: windows-2019
- os: windows-2025
- os: windows-2022

runs-on: ${{matrix.os}}
Expand Down Expand Up @@ -648,7 +656,7 @@ jobs:
fail-fast: false
matrix:
include:
- os: windows-2019
- os: windows-2025
- os: windows-2022

runs-on: ${{matrix.os}}
Expand Down
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
Version 358:

* Added missing `cstdint` header to `detail/cpu_info.hpp`
* Conditionally defined `immediate_executor_type` in `async_base`
* Replaced `detail/work_guard.hpp` with `net::executor_work_guard`
* Used `handshake_timeout` for closing handshake during read operations
* Removed moved sections from documentation
* Removed superfluous log messages from tests
* Fixed portability issues for building tests in MinGW
* Fixed portability issues for building tests in MinGW
* Fixed `std::is_trivial` deprecation warnings

--------------------------------------------------------------------------------

Version 357:

* Added new examples for Unix domain sockets
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
#
#-------------------------------------------------
cmake_minimum_required(VERSION 3.8...3.20)
set(BOOST_BEAST_VERSION 357)
set(BOOST_BEAST_VERSION 358)
if (BOOST_SUPERPROJECT_VERSION)
set(BOOST_BEAST_VERSION ${BOOST_SUPERPROJECT_VERSION})
endif ()
Expand Down
2 changes: 1 addition & 1 deletion cmake/toolchains/common.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO ON CACHE STRING "")

# Compiler definitions.
if(WIN32)
add_definitions(-D_WIN32_WINNT=0x0601 -D_CRT_SECURE_NO_WARNINGS)
add_definitions(-D_WIN32_WINNT=0x0A00 -D_CRT_SECURE_NO_WARNINGS)
endif()

# Project options.
19 changes: 19 additions & 0 deletions doc/qbk/release_notes.qbk
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,25 @@

[/-----------------------------------------------------------------------------]

[heading Boost 1.89]

[*Fixes]

* [issue 3002] Conditionally defined `immediate_executor_type` in `async_base`
* [issue 2999] Used `handshake_timeout` for closing handshake during read operations
* [issue 3003] Added missing `cstdint` header to `detail/cpu_info.hpp`
* [issue 3016] Fixed `std::is_trivial` deprecation warnings

[*Improvements]

* [issue 3005] Replaced `detail/work_guard.hpp` with `net::executor_work_guard`
* [issue 3016] Fixed portability issues for building tests in MinGW

[*Documentation]

* [issue 3009] Removed moved sections from documentation
* [issue 3009] Removed superfluous log messages from tests

[heading Boost 1.88]

[*Fixes]
Expand Down
3 changes: 2 additions & 1 deletion include/boost/beast/http/span_body.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ struct span_body
{
private:
static_assert(
std::is_trivial<T>::value &&
std::is_trivially_default_constructible<T>::value &&
std::is_trivially_copyable<T>::value &&
std::is_standard_layout<T>::value,
"POD requirements not met");

Expand Down
2 changes: 1 addition & 1 deletion include/boost/beast/version.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
This is a simple integer that is incremented by one every
time a set of code changes is merged to the develop branch.
*/
#define BOOST_BEAST_VERSION 357
#define BOOST_BEAST_VERSION 358

// A string describing BOOST_BEAST_VERSION, that can be used in http headers.
#define BOOST_BEAST_VERSION_STRING "Boost.Beast/" BOOST_STRINGIZE(BOOST_BEAST_VERSION)
Expand Down
2 changes: 1 addition & 1 deletion test/Jamfile
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ local requirements =
<target-os>solaris:<define>__EXTENSIONS__
<target-os>solaris:<library>socket
<target-os>solaris:<library>nsl
<target-os>windows:<define>_WIN32_WINNT=0x0601
<target-os>windows:<define>_WIN32_WINNT=0x0A00
<target-os>windows,<toolset>gcc:<library>ws2_32
<target-os>windows,<toolset>gcc:<library>mswsock
<target-os>windows,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
Expand Down
7 changes: 3 additions & 4 deletions test/beast/core/file_test.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
#include <boost/filesystem/path.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/fstream.hpp>
#include <fstream>
#include <iterator>
#include <string>
#include <type_traits>
Expand All @@ -43,7 +42,7 @@ test_file()
namespace fs = boost::filesystem;

static constexpr
#ifdef _WIN32
#if defined(_WIN32) && !defined(__MINGW32__) && !defined(__MINGW64__)
boost::winapi::WCHAR_ unicode_suffix[] = { 0xd83e, 0xdd84, 0x0000 }; // UTF-16-LE unicorn
#else
char unicode_suffix[] = { '\xf0', '\x9f', '\xa6', '\x84', '\x00' }; // UTF-8 unicorn
Expand Down Expand Up @@ -112,8 +111,8 @@ test_file()
[](fs::path const& path)
{
// no exceptions - failure will result in an empty string
std::ifstream in;
in.open(path.native());
fs::ifstream in;
in.open(path);
noskipws(in);
auto s = std::string(
std::istream_iterator<char>(in),
Expand Down
4 changes: 2 additions & 2 deletions test/beast/http/file_body.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ class file_body_test : public beast::unit_test::suite
"0123456789"; // 40
// create the temporary file
{
std::ofstream fstemp(temp.path().native());
std::ofstream fstemp(temp.path().string());
std::size_t written = 0;
std::size_t to_write = 4097;
while (written < to_write)
Expand Down Expand Up @@ -223,7 +223,7 @@ class file_body_test : public beast::unit_test::suite
"0123456789"; // 40
// create the temporary file
{
std::ofstream fstemp(temp.path().native());
std::ofstream fstemp(temp.path().string());
std::size_t written = 0;
std::size_t to_write = 2048;
while (written < to_write)
Expand Down
2 changes: 2 additions & 0 deletions tools/get-boost.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ git submodule update --init --depth 20 --jobs 4 \
libs/static_string \
libs/system \
libs/throw_exception \
libs/tokenizer \
libs/type_traits \
libs/utility \
libs/winapi \
Expand Down Expand Up @@ -80,6 +81,7 @@ git submodule update --init --depth 20 --jobs 4 \
libs/range \
libs/ratio \
libs/rational \
libs/regex \
libs/thread \
libs/tuple \
libs/type_index \
Expand Down