libabseil breaking changes

conda

68 curated breaking changes across major versions of libabseil. Use this as a migration checklist before bumping dependencies.

68
changes
Breaking changes by transition
  • 20250814.2 \u2192 20260107.1breaking

    **Mutex Deprecations**: Legacy `Mutex` methods and `MutexLock` pointer constructors have been marked as [deprecated](https://github.com/abseil/abseil-cpp/commit/6d8e1a5cf00d6a6b26069b0baf0dd9b855a17459#diff-c9e802b6d2763c9075a33c68d86aa3352e795e6c2213b9a73bdf58c2ad9641e6). Users should migrate to the recommended APIs.

  • 20250814.2 \u2192 20260107.1breaking

    The polyfill type `absl::string_view` is now an alias for `std::string_view` in all builds. (https://github.com/abseil/abseil-cpp/commit/9ebd93a7745858d32f23e3ca07d0e0fdc44d8dc2) Baseline: 1e566d994bed60562636342af11b38b8de8d0197 Cherry-pick: d9d76ba372a0a2d553ca40cf75e973d2a696230e Cherry-pick: a3bf78f68584df7ff1304291a64e162266b072ac Cherry-pick: 7313246786857168dac4c3191e80843b58e294c3 (Patch 1) Cherry-pick: 5b086d78c4424ab03771e2eed85a356082d4c7ae (Patch 1)

  • 20250814.1 \u2192 20260107.0breaking

    The polyfill type `absl::string_view` is now an alias for `std::string_view` in all builds. (https://github.com/abseil/abseil-cpp/commit/9ebd93a7745858d32f23e3ca07d0e0fdc44d8dc2) Baseline: 1e566d994bed60562636342af11b38b8de8d0197 Cherry-pick: d9d76ba372a0a2d553ca40cf75e973d2a696230e Cherry-pick: a3bf78f68584df7ff1304291a64e162266b072ac

  • 20250814.1 \u2192 20260107.0breaking

    **Mutex Deprecations**: Legacy `Mutex` methods and `MutexLock` pointer constructors have been marked as [deprecated](https://github.com/abseil/abseil-cpp/commit/6d8e1a5cf00d6a6b26069b0baf0dd9b855a17459#diff-c9e802b6d2763c9075a33c68d86aa3352e795e6c2213b9a73bdf58c2ad9641e6). Users should migrate to the recommended APIs.

  • 20250512.2 \u2192 20250814.2breaking

    `absl::string_view(nullptr)`, which is [undefined behavior](https://cppreference.com/w/cpp/string/basic_string_view/basic_string_view.html) according to the C++ standard, now triggers an [`assert` failure](https://github.com/abseil/abseil-cpp/commit/61103b948d587aff46f259a23bfa7e28385561e7). Note that unless you changed [`absl/base/options.h`](https://github.com/abseil/abseil-cpp/blob/fece33c9057c7b9952eb05ec4180fd2dd3de53a7/absl/base/options.h#L76-L100), `absl::string_view` is an alias for `std

  • 20250512.2 \u2192 20250814.2breaking

    Nullability template types, which were [deprecated](https://github.com/abseil/abseil-cpp/commit/caf854d58c061808bae2a41f2b7da21a3ba74028) in the May 2025 release, [have been removed](https://github.com/abseil/abseil-cpp/commit/e4c43850ad008b362b53622cb3c88fd915d8f714).

  • 20250512.2 \u2192 20250814.2breaking

    Abseil's hash tables now [require](https://github.com/abseil/abseil-cpp/commit/7ece455c2527fa7f001a5f734a7efa42df4e767a) a hash function that has a return type with size >= `sizeof(size_t)`. Baseline: 987c57f325f7fa8472fa84e1f885f7534d391b0d Cherry-pick: d38452e1ee03523a208362186fd42248ff2609f6 (Patch 1) Cherry-pick: 7313246786857168dac4c3191e80843b58e294c3 (Patch 2)

  • 20250814.0 \u2192 20250814.1breaking

    `absl::string_view(nullptr)`, which is [undefined behavior](https://cppreference.com/w/cpp/string/basic_string_view/basic_string_view.html) according to the C++ standard, now triggers an [`assert` failure](https://github.com/abseil/abseil-cpp/commit/61103b948d587aff46f259a23bfa7e28385561e7). Note that unless you changed [`absl/base/options.h`](https://github.com/abseil/abseil-cpp/blob/fece33c9057c7b9952eb05ec4180fd2dd3de53a7/absl/base/options.h#L76-L100), `absl::string_view` is an alias for `std

  • 20250814.0 \u2192 20250814.1breaking

    Nullability template types, which were [deprecated](https://github.com/abseil/abseil-cpp/commit/caf854d58c061808bae2a41f2b7da21a3ba74028) in the May 2025 release, [have been removed](https://github.com/abseil/abseil-cpp/commit/e4c43850ad008b362b53622cb3c88fd915d8f714).

  • 20250814.0 \u2192 20250814.1breaking

    Abseil's hash tables now [require](https://github.com/abseil/abseil-cpp/commit/7ece455c2527fa7f001a5f734a7efa42df4e767a) a hash function that has a return type with size >= `sizeof(size_t)`. Baseline: 987c57f325f7fa8472fa84e1f885f7534d391b0d Cherry-pick: d38452e1ee03523a208362186fd42248ff2609f6 (Patch 1)

  • 20250512.1 \u2192 20250814.0breaking

    Abseil's hash tables now [require](https://github.com/abseil/abseil-cpp/commit/7ece455c2527fa7f001a5f734a7efa42df4e767a) a hash function that has a return type with size >= `sizeof(size_t)`.

  • 20250512.1 \u2192 20250814.0breaking

    `absl::string_view(nullptr)`, which is [undefined behavior](https://cppreference.com/w/cpp/string/basic_string_view/basic_string_view.html) according to the C++ standard, now triggers an [`assert` failure](https://github.com/abseil/abseil-cpp/commit/61103b948d587aff46f259a23bfa7e28385561e7). Note that unless you changed [`absl/base/options.h`](https://github.com/abseil/abseil-cpp/blob/fece33c9057c7b9952eb05ec4180fd2dd3de53a7/absl/base/options.h#L76-L100), `absl::string_view` is an alias for `std

  • 20250512.1 \u2192 20250814.0breaking

    Nullability template types, which were [deprecated](https://github.com/abseil/abseil-cpp/commit/caf854d58c061808bae2a41f2b7da21a3ba74028) in the May 2025 release, [have been removed](https://github.com/abseil/abseil-cpp/commit/e4c43850ad008b362b53622cb3c88fd915d8f714).

  • 20250127.2 \u2192 20250512.2breaking

    Abseil now requires at least C++17 and follows [Google's Foundational C++ Support Policy](https://opensource.google/documentation/policies/cplusplus-support). See [this table](https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md) for a list of currently supported versions compilers, platforms, and build tools.

  • 20250127.2 \u2192 20250512.2breaking

    Nullability template types are deprecated and will be removed in a future release. The macro-style annotations (`absl_nonnull`, `absl_nullable`) should be used instead (https://github.com/abseil/abseil-cpp/commit/caf854d58c061808bae2a41f2b7da21a3ba74028).

  • 20250512.0 \u2192 20250512.1breaking

    Nullability template types are deprecated and will be removed in a future release. The macro-style annotations (`absl_nonnull`, `absl_nullable`) should be used instead (https://github.com/abseil/abseil-cpp/commit/caf854d58c061808bae2a41f2b7da21a3ba74028).

  • 20250512.0 \u2192 20250512.1breaking

    Abseil now requires at least C++17 and follows [Google's Foundational C++ Support Policy](https://opensource.google/documentation/policies/cplusplus-support). See [this table](https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md) for a list of currently supported versions compilers, platforms, and build tools.

  • 20250127.1 \u2192 20250512.0breaking

    Nullability template types are deprecated and will be removed in a future release. The macro-style annotations (`absl_nonnull`, `absl_nullable`) should be used instead (https://github.com/abseil/abseil-cpp/commit/caf854d58c061808bae2a41f2b7da21a3ba74028).

  • 20250127.1 \u2192 20250512.0breaking

    Abseil now requires at least C++17 and follows [Google's Foundational C++ Support Policy](https://opensource.google/documentation/policies/cplusplus-support). See [this table](https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md) for a list of currently supported versions compilers, platforms, and build tools.

  • 20240722.1 \u2192 20250127.rc1breaking

    Bazel `BUILD` files now reference repositories by their canonical names from the Bazel Central Registry. For example, Abseil is now `@abseil-cpp` instead of `@com_google_absl`, and GoogleTest is now `@googletest` instead of `@com_google_googletest`. Users still using the old `WORKSPACE` system may need to use `repo_mapping` on repositories that still use the old names. See https://github.com/abseil/abseil-cpp/commit/90a7ba66e88bf1b6fe98b196208448704766dac0 for an example.

  • 20240722.2 \u2192 20250127.2breaking

    Bazel `BUILD` files now reference repositories by their canonical names from the Bazel Central Registry. For example, Abseil is now `@abseil-cpp` instead of `@com_google_absl`, and GoogleTest is now `@googletest` instead of `@com_google_googletest`. Users still using the old `WORKSPACE` system may need to use `repo_mapping` on repositories that still use the old names. See https://github.com/abseil/abseil-cpp/commit/90a7ba66e88bf1b6fe98b196208448704766dac0 for an example.

  • 20250127.0 \u2192 20250127.1breaking

    Bazel `BUILD` files now reference repositories by their canonical names from the Bazel Central Registry. For example, Abseil is now `@abseil-cpp` instead of `@com_google_absl`, and GoogleTest is now `@googletest` instead of `@com_google_googletest`. Users still using the old `WORKSPACE` system may need to use `repo_mapping` on repositories that still use the old names. See https://github.com/abseil/abseil-cpp/commit/90a7ba66e88bf1b6fe98b196208448704766dac0 for an example.

  • 20250127.rc1 \u2192 20250127.0breaking

    Bazel `BUILD` files now reference repositories by their canonical names from the Bazel Central Registry. For example, Abseil is now `@abseil-cpp` instead of `@com_google_absl`, and GoogleTest is now `@googletest` instead of `@com_google_googletest`. Users still using the old `WORKSPACE` system may need to use `repo_mapping` on repositories that still use the old names. See https://github.com/abseil/abseil-cpp/commit/90a7ba66e88bf1b6fe98b196208448704766dac0 for an example.

  • 20260107.0 \u2192 20240722.2breaking

    The deprecated symbol `absl::kuint128max` [has been removed](https://github.com/abseil/abseil-cpp/commit/34604d5b1f6ae14c65b3992478b59f7108051979) and should be replaced with `absl::Uint128Max()`.

  • 20260107.0 \u2192 20240722.2breaking

    [`absl::StrJoin` now has a `absl::string_view` overload.](https://github.com/abseil/abseil-cpp/commit/73841853760d6f86f5fe0372f17b2456874b6399) This allows for passing a collection of string-like objects without having to convert everything to the same type first. However, this may be a breaking change for users passing an explicit template argument to `absl::StrJoin`. In this case, simply remove the explicit template parameter.

  • 20260107.0 \u2192 20240722.2breaking

    [`vlog_is_on.h` is now a public header](https://github.com/abseil/abseil-cpp/commit/d0d902e6e1dcfec1e861bddee00e30fa04d4084d) and is no longer included from `log.h`. To use `VLOG_IS_ON()`, `absl/log/vlog_is_on.h` must be included.

  • 20260107.0 \u2192 20240722.2breaking

    [`absl::AlphaNum` no longer allows brace-initialization.](https://github.com/abseil/abseil-cpp/commit/2be67701e7a33b45d322064349827e1155953338) This was never intended to be supported, nor is it recommended that `absl::AlphaNum` ever be spelled in user code.

  • 20260107.0 \u2192 20240722.2breaking

    `absl::aligned_storage_t`, which was a polyfill consistent with `std::aligned_storage_t`, [has been removed](https://github.com/abseil/abseil-cpp/commit/42133464db0ae5383fef723067835ef768b849f8). `std::aligned_storage_t` is deprecated in C++23. See https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1413r3.pdf for a suggested replacement.

  • 20240116.3 \u2192 20240722.1breaking

    [`absl::AlphaNum` no longer allows brace-initialization.](https://github.com/abseil/abseil-cpp/commit/2be67701e7a33b45d322064349827e1155953338) This was never intended to be supported, nor is it recommended that `absl::AlphaNum` ever be spelled in user code.

  • 20240116.3 \u2192 20240722.1breaking

    The deprecated symbol `absl::kuint128max` [has been removed](https://github.com/abseil/abseil-cpp/commit/34604d5b1f6ae14c65b3992478b59f7108051979) and should be replaced with `absl::Uint128Max()`.

  • 20240116.3 \u2192 20240722.1breaking

    `absl::aligned_storage_t`, which was a polyfill consistent with `std::aligned_storage_t`, [has been removed](https://github.com/abseil/abseil-cpp/commit/42133464db0ae5383fef723067835ef768b849f8). `std::aligned_storage_t` is deprecated in C++23. See https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1413r3.pdf for a suggested replacement.

  • 20240116.3 \u2192 20240722.1breaking

    [`vlog_is_on.h` is now a public header](https://github.com/abseil/abseil-cpp/commit/d0d902e6e1dcfec1e861bddee00e30fa04d4084d) and is no longer included from `log.h`. To use `VLOG_IS_ON()`, `absl/log/vlog_is_on.h` must be included.

  • 20240116.3 \u2192 20240722.1breaking

    [`absl::StrJoin` now has a `absl::string_view` overload.](https://github.com/abseil/abseil-cpp/commit/73841853760d6f86f5fe0372f17b2456874b6399) This allows for passing a collection of string-like objects without having to convert everything to the same type first. However, this may be a breaking change for users passing an explicit template argument to `absl::StrJoin`. In this case, simply remove the explicit template parameter.

  • 20240116.2 \u2192 20240722.0breaking

    The deprecated symbol `absl::kuint128max` [has been removed](https://github.com/abseil/abseil-cpp/commit/34604d5b1f6ae14c65b3992478b59f7108051979) and should be replaced with `absl::Uint128Max()`.

  • 20240116.2 \u2192 20240722.0breaking

    [`absl::StrJoin` now has a `absl::string_view` overload.](https://github.com/abseil/abseil-cpp/commit/73841853760d6f86f5fe0372f17b2456874b6399) This allows for passing a collection of string-like objects without having to convert everything to the same type first. However, this may be a breaking change for users passing an explicit template argument to `absl::StrJoin`. In this case, simply remove the explicit template parameter.

  • 20240116.2 \u2192 20240722.0breaking

    [`vlog_is_on.h` is now a public header](https://github.com/abseil/abseil-cpp/commit/d0d902e6e1dcfec1e861bddee00e30fa04d4084d) and is no longer included from `log.h`. To use `VLOG_IS_ON()`, `absl/log/vlog_is_on.h` must be included.

  • 20240116.2 \u2192 20240722.0breaking

    [`absl::AlphaNum` no longer allows brace-initialization.](https://github.com/abseil/abseil-cpp/commit/2be67701e7a33b45d322064349827e1155953338) This was never intended to be supported, nor is it recommended that `absl::AlphaNum` ever be spelled in user code.

  • 20240116.2 \u2192 20240722.0breaking

    `absl::aligned_storage_t`, which was a polyfill consistent with `std::aligned_storage_t`, [has been removed](https://github.com/abseil/abseil-cpp/commit/42133464db0ae5383fef723067835ef768b849f8). `std::aligned_storage_t` is deprecated in C++23. See https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1413r3.pdf for a suggested replacement.

  • 20230802.3 \u2192 20240116.3breaking

    `absl::weak_equality` and `absl::strong_equality` have been removed. The corresponding `std` types were removed before C++20 was finalized (https://wg21.link/P1959R0).

  • 20230802.3 \u2192 20240116.3breaking

    `AbslHashValue()` [no longer accepts C-style arrays as a parameter](https://github.com/abseil/abseil-cpp/commit/1415840502f38952e63c1c6e4892f6e69ce7bc13). Previously the array would decay to a pointer type, which could lead to subtle, unintended bugs. The most common potential error is passing a C-string literal. After this change, these call-sites require wrapping the literal in `absl::string_view`.

  • 20240116.1 \u2192 20240116.2breaking

    `AbslHashValue()` [no longer accepts C-style arrays as a parameter](https://github.com/abseil/abseil-cpp/commit/1415840502f38952e63c1c6e4892f6e69ce7bc13). Previously the array would decay to a pointer type, which could lead to subtle, unintended bugs. The most common potential error is passing a C-string literal. After this change, these call-sites require wrapping the literal in `absl::string_view`.

  • 20240116.1 \u2192 20240116.2breaking

    `absl::weak_equality` and `absl::strong_equality` have been removed. The corresponding `std` types were removed before C++20 was finalized (https://wg21.link/P1959R0).

  • 20230802.2 \u2192 20240116.1breaking

    `absl::weak_equality` and `absl::strong_equality` have been removed. The corresponding `std` types were removed before C++20 was finalized (https://wg21.link/P1959R0).

  • 20230802.2 \u2192 20240116.1breaking

    `AbslHashValue()` [no longer accepts C-style arrays as a parameter](https://github.com/abseil/abseil-cpp/commit/1415840502f38952e63c1c6e4892f6e69ce7bc13). Previously the array would decay to a pointer type, which could lead to subtle, unintended bugs. The most common potential error is passing a C-string literal. After this change, these call-sites require wrapping the literal in `absl::string_view`.

  • 20230802.1 \u2192 20240116.0breaking

    `absl::weak_equality` and `absl::strong_equality` have been removed. The corresponding `std` types were removed before C++20 was finalized (https://wg21.link/P1959R0).

  • 20230802.1 \u2192 20240116.0breaking

    `AbslHashValue()` [no longer accepts C-style arrays as a parameter](https://github.com/abseil/abseil-cpp/commit/1415840502f38952e63c1c6e4892f6e69ce7bc13). Previously the array would decay to a pointer type, which could lead to subtle, unintended bugs. The most common potential error is passing a C-string literal. After this change, these call-sites require wrapping the literal in `absl::string_view`.

  • 20240722.0 \u2192 20230802.3breaking

    None known at this time.

  • 20230125.4 \u2192 20230802.2breaking

    None known at this time.

  • 20230802.0 \u2192 20230802.1breaking

    None known at this time.

  • 20230125.3 \u2192 20230802.0breaking

    None known at this time.

  • 20220623.2 \u2192 20230125.4breaking

    Abseil now requires at least C++14 and follows [Google's Foundational C++ Support Policy](https://opensource.google/documentation/policies/cplusplus-support). See [this table](https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md) for a list of currently supported versions compilers, platforms, and build tools.

  • 20220623.2 \u2192 20230125.4breaking

    The legacy spellings of the thread annotation macros/functions (e.g. `GUARDED_BY()`) [have been removed by default](https://github.com/abseil/abseil-cpp/commit/6acb60c161f1203e6eca929b87f2041da7714bfe) in favor of the `ABSL_` prefixed versions (e.g. `ABSL_GUARDED_BY()`) due to clashes with other libraries. The compatibility macro `ABSL_LEGACY_THREAD_ANNOTATIONS` can be defined on the compile command-line to temporarily restore these spellings, but this compatibility macro will be removed in the

  • 20230125.2 \u2192 20230125.3breaking

    The legacy spellings of the thread annotation macros/functions (e.g. `GUARDED_BY()`) [have been removed by default](https://github.com/abseil/abseil-cpp/commit/6acb60c161f1203e6eca929b87f2041da7714bfe) in favor of the `ABSL_` prefixed versions (e.g. `ABSL_GUARDED_BY()`) due to clashes with other libraries. The compatibility macro `ABSL_LEGACY_THREAD_ANNOTATIONS` can be defined on the compile command-line to temporarily restore these spellings, but this compatibility macro will be removed in the

  • 20230125.2 \u2192 20230125.3breaking

    Abseil now requires at least C++14 and follows [Google's Foundational C++ Support Policy](https://opensource.google/documentation/policies/cplusplus-support). See [this table](https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md) for a list of currently supported versions compilers, platforms, and build tools.

  • 20230125.1 \u2192 20230125.2breaking

    The legacy spellings of the thread annotation macros/functions (e.g. `GUARDED_BY()`) [have been removed by default](https://github.com/abseil/abseil-cpp/commit/6acb60c161f1203e6eca929b87f2041da7714bfe) in favor of the `ABSL_` prefixed versions (e.g. `ABSL_GUARDED_BY()`) due to clashes with other libraries. The compatibility macro `ABSL_LEGACY_THREAD_ANNOTATIONS` can be defined on the compile command-line to temporarily restore these spellings, but this compatibility macro will be removed in the

  • 20230125.1 \u2192 20230125.2breaking

    Abseil now requires at least C++14 and follows [Google's Foundational C++ Support Policy](https://opensource.google/documentation/policies/cplusplus-support). See [this table](https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md) for a list of currently supported versions compilers, platforms, and build tools.

  • 20230125.0 \u2192 20230125.1breaking

    The legacy spellings of the thread annotation macros/functions (e.g. `GUARDED_BY()`) [have been removed by default](https://github.com/abseil/abseil-cpp/commit/6acb60c161f1203e6eca929b87f2041da7714bfe) in favor of the `ABSL_` prefixed versions (e.g. `ABSL_GUARDED_BY()`) due to clashes with other libraries. The compatibility macro `ABSL_LEGACY_THREAD_ANNOTATIONS` can be defined on the compile command-line to temporarily restore these spellings, but this compatibility macro will be removed in the

  • 20230125.0 \u2192 20230125.1breaking

    Abseil now requires at least C++14 and follows [Google's Foundational C++ Support Policy](https://opensource.google/documentation/policies/cplusplus-support). See [this table](https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md) for a list of currently supported versions compilers, platforms, and build tools.

  • 20220623.1 \u2192 20230125.0breaking

    Abseil now requires at least C++14 and follows [Google's Foundational C++ Support Policy](https://opensource.google/documentation/policies/cplusplus-support). See [this table](https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md) for a list of currently supported versions compilers, platforms, and build tools.

  • 20220623.1 \u2192 20230125.0breaking

    The legacy spellings of the thread annotation macros/functions (e.g. `GUARDED_BY()`) [have been removed by default](https://github.com/abseil/abseil-cpp/commit/6acb60c161f1203e6eca929b87f2041da7714bfe) in favor of the `ABSL_` prefixed versions (e.g. `ABSL_GUARDED_BY()`) due to clashes with other libraries. The compatibility macro `ABSL_LEGACY_THREAD_ANNOTATIONS` can be defined on the compile command-line to temporarily restore these spellings, but this compatibility macro will be removed in the

  • 20240116.0 \u2192 20220623.2breaking

    The `ABSL_DEPRECATED` macro now works with the GCC compiler. GCC users that are experiencing new warnings can use `-Wno-deprecated-declatations` silence the warnings or use `-Wno-error=deprecated-declarations` to see warnings but not fail the build.

  • 20240116.0 \u2192 20220623.2breaking

    `ABSL_CONST_INIT` uses the C++20 keyword `constinit` when available. [Some compilers are more strict about where this keyword must appear compared to the pre-C++20 implementation.](https://github.com/abseil/abseil-cpp/blob/273292d1cfc0a94a65082ee350509af1d113344d/absl/base/attributes.h#L679-L717)

  • 20240116.0 \u2192 20220623.2breaking

    Bazel builds now depend on the [bazelbuild/bazel-skylib](https://github.com/bazelbuild/bazel-skylib) repository. See Abseil's [WORKSPACE](https://github.com/abseil/abseil-cpp/blob/273292d1cfc0a94a65082ee350509af1d113344d/WORKSPACE#L48-L53) file for an example of how to add this dependency.

  • 20240116.0 \u2192 20220623.2breaking

    CMake builds now use the flag [`ABSL_BUILD_TESTING`](https://github.com/abseil/abseil-cpp/commit/fb7dd24b18e82893e5922be5d1c8ae0f3fe3c9fa) (default: `OFF`) to control whether or not unit tests are built.

  • unknown \u2192 20220623.1breaking

    CMake builds now use the flag [`ABSL_BUILD_TESTING`](https://github.com/abseil/abseil-cpp/commit/fb7dd24b18e82893e5922be5d1c8ae0f3fe3c9fa) (default: `OFF`) to control whether or not unit tests are built.

  • unknown \u2192 20220623.1breaking

    The `ABSL_DEPRECATED` macro now works with the GCC compiler. GCC users that are experiencing new warnings can use `-Wno-deprecated-declatations` silence the warnings or use `-Wno-error=deprecated-declarations` to see warnings but not fail the build.

  • unknown \u2192 20220623.1breaking

    `ABSL_CONST_INIT` uses the C++20 keyword `constinit` when available. [Some compilers are more strict about where this keyword must appear compared to the pre-C++20 implementation.](https://github.com/abseil/abseil-cpp/blob/273292d1cfc0a94a65082ee350509af1d113344d/absl/base/attributes.h#L679-L717)

  • unknown \u2192 20220623.1breaking

    Bazel builds now depend on the [bazelbuild/bazel-skylib](https://github.com/bazelbuild/bazel-skylib) repository. See Abseil's [WORKSPACE](https://github.com/abseil/abseil-cpp/blob/273292d1cfc0a94a65082ee350509af1d113344d/WORKSPACE#L48-L53) file for an example of how to add this dependency.

API access

Get this data programmatically \u2014 free, no authentication.

curl https://depscope.dev/api/breaking/conda/libabseil
libabseil breaking changes — Conda migration guide | DepScope