diff --git a/CHANGELOG.md b/CHANGELOG.md index d7c7f88120..a58e5ad3ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,16 +15,63 @@ Increment the: ## [Unreleased] -* [SDK] SDK support for the new OTel log - [#2123](https://github.com/open-telemetry/opentelemetry-cpp/pull/2123) +## [1.9.1] 2023-05-26 + +* [DEPRECATION] Drop C++11 support + [#2146](https://github.com/open-telemetry/opentelemetry-cpp/pull/2146) + +* [CI] Upgrade Bazel and Bazelisk version + [#2118](https://github.com/open-telemetry/opentelemetry-cpp/pull/2118) +* [CI] Upgrade Google Benchmark version from 1.6.0 to 1.7.1 + [#2116](https://github.com/open-telemetry/opentelemetry-cpp/pull/2116) +* [CI] Upgrade Nlohmann JSON library version from 3.10.5 to 3.11.2 + [#2115](https://github.com/open-telemetry/opentelemetry-cpp/pull/2115) + +* [BUILD] Missed include + [#2143](https://github.com/open-telemetry/opentelemetry-cpp/pull/2143) +* [BUILD] Add opentelemetry_proto_grpc and allow build shared + opentelemetry_proto and opentelemetry_proto_grpc on non-Windows platform. + [#2097](https://github.com/open-telemetry/opentelemetry-cpp/pull/2097) +* [BUILD] Warning cleanup, single character wrapped by std::string + [#2137](https://github.com/open-telemetry/opentelemetry-cpp/pull/2137) +* [BUILD] Add missing target dependencies + [#2128](https://github.com/open-telemetry/opentelemetry-cpp/pull/2128) +* [BUILD] Fix if JSON library already added another CMake target + [#2126](https://github.com/open-telemetry/opentelemetry-cpp/pull/2126) +* [BUILD] shared libraries with version suffix, along with the symbolic link + [#2109](https://github.com/open-telemetry/opentelemetry-cpp/pull/2109) +* [BUILD] Show warning message if WITH_OTLP is enabled + [#2112](https://github.com/open-telemetry/opentelemetry-cpp/pull/2112) +* [BUILD] Add missing STL header. + [#2107](https://github.com/open-telemetry/opentelemetry-cpp/pull/2107) * [BUILD] Build break with old curl, macro CURL_VERSION_BITS unknown [#2102](https://github.com/open-telemetry/opentelemetry-cpp/pull/2102) -* [BUILD] Add opentelemetry_proto_grpc and allow build shared opentelemetry_proto - and opentelemetry_proto_grpc on non-Windows platform. - [#2097](https://github.com/open-telemetry/opentelemetry-cpp/pull/2097) +* [BUILD] Transitive dependency issue with the otlp http exporter + [#2154](https://github.com/open-telemetry/opentelemetry-cpp/pull/2154) + +* [TEST] Add unit test for log body implicit conversions. + [#2136](https://github.com/open-telemetry/opentelemetry-cpp/pull/2136) +* [TEST] Add event id to logger benchmark method + [#2133](https://github.com/open-telemetry/opentelemetry-cpp/pull/2133) + +* [API] Fix inclusion header files and use forward declaration + [#2124](https://github.com/open-telemetry/opentelemetry-cpp/pull/2124) * [API] Add user facing Logging API and Benchmarks [#2094](https://github.com/open-telemetry/opentelemetry-cpp/pull/2094) +* [SDK] SDK support for the new OTel log + [#2123](https://github.com/open-telemetry/opentelemetry-cpp/pull/2123) + +* [EXPORTER] Fixed HTTP session cleanup on shutdown + [#2111](https://github.com/open-telemetry/opentelemetry-cpp/pull/2111) +* [EXPORTER] Delegate all API calls of gRPC into + opentelemetry_exporter_otlp_grpc_client, + and make it contains all symbols needed. + [#2005](https://github.com/open-telemetry/opentelemetry-cpp/pull/2005) + +* [DOC] Add Marc as maintainer. + [#2027](https://github.com/open-telemetry/opentelemetry-cpp/pull/2027) + Breaking changes: * Add opentelemetry_proto_grpc and move gRPC sources into it. @@ -38,6 +85,8 @@ Breaking changes: Deprecations: * The Jaeger Exporter is deprecated, see [DEPRECATED](./DEPRECATED.md) for details. +* C++11 support is to end, C++14 will be supported instead, + see [DEPRECATED](./DEPRECATED.md) for details. ## [1.9.0] 2023-04-12 diff --git a/DEPRECATED.md b/DEPRECATED.md index 4125529ef8..2284197309 100644 --- a/DEPRECATED.md +++ b/DEPRECATED.md @@ -30,7 +30,66 @@ N/A ## [Compilers] -N/A +### Drop C++11 support + +#### Announcement (C++11) + +* Date: 2022-12-01 +* Issue: [DEPRECATION] Drop C++11 support + [#1830](https://github.com/open-telemetry/opentelemetry-cpp/pull/1830) +* This announcement has been pinned, + visible in the issues pages since December 2022. + +#### Motivation (C++11) + +This repository, opentelemetry-cpp, supports a "bring your own dependency" model. + +In this model, +the build scripts can be configured to: + +* pick a given version for a third party library, +* build opentelemetry-cpp with the library given. + +The makefiles do not mandate to use a particular version, +hence the "bring your own" denomination. + +To have an up to date build, projects are encouraged to use up to date +versions of third party libraries, to benefit from bug fixes. + +Now, many libraries deliver new versions that require C++14, bug fixes +releases for C++11 are no longer available. + +In particular, the following components: + +* GRPC C++ +* abseil +* googletest + +now require C++14, per +[google support policies](https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md) + +As a result, to stay up to date, opentelemetry-cpp needs to upgrade its +minimum build requirements to use C++14 instead of C++11. + +#### Scope (C++11) + +Continuous Integration (CI) builds will use C++14 instead of C++11. + +The CI build for gcc 4.8 is now deprecated, to be decommissioned when C++11 +support is dropped. + +#### Mitigation (C++11) + +Building the code with recent third party libraries will require C++14 +instead of C++11. + +#### Planned end of life (C++11) + +Support for C++11 in opentelemetry-cpp will end on September 2023. + +After this date, opentelemetry-cpp may still build properly in C++11 mode, +assuming a suitable, old, version for each dependency is used, +but the C++11 build will no longer be tested for each new release. ## [Third party dependencies] diff --git a/api/include/opentelemetry/version.h b/api/include/opentelemetry/version.h index be7b677d85..2178591728 100644 --- a/api/include/opentelemetry/version.h +++ b/api/include/opentelemetry/version.h @@ -7,10 +7,10 @@ #include "opentelemetry/detail/preprocessor.h" #define OPENTELEMETRY_ABI_VERSION_NO 1 -#define OPENTELEMETRY_VERSION "1.9.0" +#define OPENTELEMETRY_VERSION "1.9.1" #define OPENTELEMETRY_VERSION_MAJOR 1 #define OPENTELEMETRY_VERSION_MINOR 9 -#define OPENTELEMETRY_VERSION_PATCH 0 +#define OPENTELEMETRY_VERSION_PATCH 1 #define OPENTELEMETRY_ABI_VERSION OPENTELEMETRY_STRINGIFY(OPENTELEMETRY_ABI_VERSION_NO) diff --git a/docs/public/conf.py b/docs/public/conf.py index 5a1390fe99..53ec43b82a 100644 --- a/docs/public/conf.py +++ b/docs/public/conf.py @@ -24,7 +24,7 @@ author = 'OpenTelemetry authors' # The full version, including alpha/beta/rc tags -release = "1.9.0" +release = "1.9.1" # Run sphinx on subprojects and copy output # ----------------------------------------- diff --git a/exporters/otlp/CMakeLists.txt b/exporters/otlp/CMakeLists.txt index 386bfcd918..e05b0e24f4 100644 --- a/exporters/otlp/CMakeLists.txt +++ b/exporters/otlp/CMakeLists.txt @@ -113,8 +113,9 @@ if(WITH_OTLP_HTTP) target_link_libraries( opentelemetry_exporter_otlp_http_client - PUBLIC opentelemetry_sdk opentelemetry_proto opentelemetry_http_client_curl - nlohmann_json::nlohmann_json) + PUBLIC opentelemetry_sdk opentelemetry_ext + PRIVATE opentelemetry_proto opentelemetry_http_client_curl + nlohmann_json::nlohmann_json) if(nlohmann_json_clone) add_dependencies(opentelemetry_exporter_otlp_http_client nlohmann_json::nlohmann_json) @@ -197,8 +198,9 @@ endif() if(BUILD_TESTING) add_executable(otlp_recordable_test test/otlp_recordable_test.cc) - target_link_libraries(otlp_recordable_test ${GTEST_BOTH_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} opentelemetry_otlp_recordable) + target_link_libraries( + otlp_recordable_test ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} + opentelemetry_otlp_recordable protobuf::libprotobuf) gtest_add_tests( TARGET otlp_recordable_test TEST_PREFIX exporter.otlp. @@ -217,8 +219,10 @@ if(BUILD_TESTING) add_executable(otlp_metrics_serialization_test test/otlp_metrics_serialization_test.cc) - target_link_libraries(otlp_metrics_serialization_test ${GTEST_BOTH_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} opentelemetry_otlp_recordable) + target_link_libraries( + otlp_metrics_serialization_test ${GTEST_BOTH_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} opentelemetry_otlp_recordable + protobuf::libprotobuf) gtest_add_tests( TARGET otlp_metrics_serialization_test TEST_PREFIX exporter.otlp. @@ -307,9 +311,14 @@ if(BUILD_TESTING) if(WITH_OTLP_HTTP) add_executable(otlp_http_exporter_test test/otlp_http_exporter_test.cc) target_link_libraries( - otlp_http_exporter_test ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} - ${GMOCK_LIB} opentelemetry_exporter_otlp_http - opentelemetry_http_client_nosend) + otlp_http_exporter_test + ${GTEST_BOTH_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + ${GMOCK_LIB} + opentelemetry_exporter_otlp_http + opentelemetry_http_client_nosend + nlohmann_json::nlohmann_json + protobuf::libprotobuf) gtest_add_tests( TARGET otlp_http_exporter_test TEST_PREFIX exporter.otlp. @@ -362,7 +371,9 @@ if(BUILD_TESTING) ${GMOCK_LIB} opentelemetry_exporter_otlp_http_metric opentelemetry_metrics - opentelemetry_http_client_nosend) + opentelemetry_http_client_nosend + nlohmann_json::nlohmann_json + protobuf::libprotobuf) gtest_add_tests( TARGET otlp_http_metric_exporter_test TEST_PREFIX exporter.otlp. diff --git a/sdk/include/opentelemetry/sdk/version/version.h b/sdk/include/opentelemetry/sdk/version/version.h index 570d575c81..758805b19c 100644 --- a/sdk/include/opentelemetry/sdk/version/version.h +++ b/sdk/include/opentelemetry/sdk/version/version.h @@ -5,7 +5,7 @@ #include "opentelemetry/detail/preprocessor.h" -#define OPENTELEMETRY_SDK_VERSION "1.9.0" +#define OPENTELEMETRY_SDK_VERSION "1.9.1" #include "opentelemetry/version.h" diff --git a/sdk/src/version/version.cc b/sdk/src/version/version.cc index cd28813491..6dfc299814 100644 --- a/sdk/src/version/version.cc +++ b/sdk/src/version/version.cc @@ -13,16 +13,16 @@ namespace version { const int major_version = 1; const int minor_version = 9; -const int patch_version = 0; +const int patch_version = 1; const char *pre_release = "NONE"; const char *build_metadata = "NONE"; -const int count_new_commits = 26; -const char *branch = "pre_release_1.9.0"; -const char *commit_hash = "a9876353337d5de74323b8935479618c9b422d09"; -const char *short_version = "1.9.0"; +const int count_new_commits = 22; +const char *branch = "make_release_1.9.1"; +const char *commit_hash = "5592180d539b59c4e8293bc927f5a6431fcbacdf"; +const char *short_version = "1.9.1"; const char *full_version = - "1.9.0-NONE-NONE-26-pre_release_1.9.0-a9876353337d5de74323b8935479618c9b422d09"; -const char *build_date = "Wed 12 Apr 2023 03:32:28 PM UTC"; + "1.9.1-NONE-NONE-22-make_release_1.9.1-5592180d539b59c4e8293bc927f5a6431fcbacdf"; +const char *build_date = "Fri 26 May 2023 07:14:07 AM UTC"; } // namespace version } // namespace sdk OPENTELEMETRY_END_NAMESPACE