Skip to content

Releases: abseil/abseil-cpp

Abseil LTS branch, March 2021

25 Mar 13:37
997aaf3
Compare
Choose a tag to compare

Abseil LTS 20210324.0

What's New:

  • The cleanup library has been released. This library contains the control-flow-construct-like type absl::Cleanup which is used for executing a callback on scope exit.
  • The numeric library now includes bits.h, a polyfill header containing implementations of C++20's bitwise math functions.
  • Abseil now installs pkg-config files to make it easier to use Abseil with some other build systems.
  • Abseil now respects the default CMake installation paths. Standard CMake variables like CMAKE_INSTALL_PREFIX can be used to change the installation path.

Breaking Changes:

  • The empty absl::container target has been removed from the CMake build. This target had no effect and references to this target in user code can safely be removed.

Baseline: 997aaf3

Abseil LTS branch, Sept 2020, Patch 3

19 Jan 18:52
6f9d96a
Compare
Choose a tag to compare

Abseil LTS 20200923, Patch 3

What's New:

  • absl::StatusOr<T> has been released. See our blog
    post
    for more information.
  • Abseil Flags reflection interfaces have been released.
  • Abseil Flags memory usage has been significantly optimized.
  • Abseil now supports a "hardened" build mode. This build mode enables
    runtime checks that guard against programming errors that may lead
    to security vulnerabilities.

Notable Fixes:

  • Sanitizer dynamic annotations like AnnotateRWLockCreate that are
    also defined by the compiler sanitizer implementation are no longer
    also defined by Abseil.
  • Sanitizer macros are now prefixed with ABSL_ to avoid naming collisions.
  • Sanitizer usage is now automatically detected and no longer requires
    macros like ADDRESS_SANITIZER to be defined on the command line.

Breaking Changes:

  • Abseil no longer contains a dynamic_annotations library. Users
    using a supported build system (Bazel or CMake) are unaffected by
    this, but users manually specifying link libraries may get an error
    about a missing linker input.

Baseline: 7680a5f
Cherry pick: bd0de71 (Patch 1)
Cherry pick: 0f3bb46 (Patch 2)
Cherry pick: 6f9d96a (Patch 3)

Abseil LTS branch, Sept 2020, Patch 2

21 Oct 12:36
0f3bb46
Compare
Choose a tag to compare

Abseil LTS 20200923, Patch 2

What's New:

  • absl::StatusOr<T> has been released. See our blog
    post
    for more information.
  • Abseil Flags reflection interfaces have been released.
  • Abseil Flags memory usage has been significantly optimized.
  • Abseil now supports a "hardened" build mode. This build mode enables
    runtime checks that guard against programming errors that may lead
    to security vulnerabilities.

Notable Fixes:

  • Sanitizer dynamic annotations like AnnotateRWLockCreate that are
    also defined by the compiler sanitizer implementation are no longer
    also defined by Abseil.
  • Sanitizer macros are now prefixed with ABSL_ to avoid naming collisions.
  • Sanitizer usage is now automatically detected and no longer requires
    macros like ADDRESS_SANITIZER to be defined on the command line.

Breaking Changes:

  • Abseil no longer contains a dynamic_annotations library. Users
    using a supported build system (Bazel or CMake) are unaffected by
    this, but users manually specifying link libraries may get an error
    about a missing linker input.

Baseline: 7680a5f
Cherry pick: bd0de71 (Patch 1)
Cherry pick: 0f3bb46 (Patch 2)

Abseil LTS branch, Sept 2020, Patch 1

09 Oct 18:58
bd0de71
Compare
Choose a tag to compare

Abseil LTS 20200923, Patch 1

What's New:

  • absl::StatusOr<T> has been released. See our blog
    post
    for more information.
  • Abseil Flags reflection interfaces have been released.
  • Abseil Flags memory usage has been significantly optimized.
  • Abseil now supports a "hardened" build mode. This build mode enables
    runtime checks that guard against programming errors that may lead
    to security vulnerabilities.

Notable Fixes:

  • Sanitizer dynamic annotations like AnnotateRWLockCreate that are
    also defined by the compiler sanitizer implementation are no longer
    also defined by Abseil.
  • Sanitizer macros are now prefixed with ABSL_ to avoid naming collisions.
  • Sanitizer usage is now automatically detected and no longer requires
    macros like ADDRESS_SANITIZER to be defined on the command line.

Breaking Changes:

  • Abseil no longer contains a dynamic_annotations library. Users
    using a supported build system (Bazel or CMake) are unaffected by
    this, but users manually specifying link libraries may get an error
    about a missing linker input.

Baseline: 7680a5f
Cherry picks: bd0de71 (Patch 1)

Abseil LTS branch, Feb 2020, Patch 3

09 Oct 18:56
f1dad1e
Compare
Choose a tag to compare
Adds bounds-checking to the second range of absl container algorithms…

… (#811)

The APIs for the two-range `absl::c_mismatch`, `absl::c_swap_ranges`,
and `absl::c_transform` are misleading as they do not check the bounds
of the second range against the first one.

This commit cleans up ensures that buggy calls are not exploitable;
non-buggy calls are unaffected.

This is consistent with both C++14's two-range `std::` equivalents and
C++20's `std::ranges::` equivalents.
http://wg21.link/mismatch
http://wg21.link/alg.swap
http://wg21.link/alg.transform

Abseil LTS branch, Aug 2019, Patch 1

09 Oct 18:55
6994792
Compare
Choose a tag to compare
Adds bounds-checking to the second range of absl container algorithms…

… (#812)

The APIs for the two-range `absl::c_mismatch`, `absl::c_swap_ranges`,
and `absl::c_transform` are misleading as they do not check the bounds
of the second range against the first one.

This commit cleans up ensures that buggy calls are not exploitable;
non-buggy calls are unaffected.

This is consistent with both C++14's two-range `std::` equivalents and
C++20's `std::ranges::` equivalents.
http://wg21.link/mismatch
http://wg21.link/alg.swap
http://wg21.link/alg.transform

Abseil LTS branch, Dec 2018, Patch 1

09 Oct 18:54
49bd3cc
Compare
Choose a tag to compare
Adds bounds-checking to the second range of absl container algorithms…

… (#813)

The APIs for the two-range `absl::c_mismatch`, `absl::c_swap_ranges`,
and `absl::c_transform` are misleading as they do not check the bounds
of the second range against the first one.

This commit cleans up ensures that buggy calls are not exploitable;
non-buggy calls are unaffected.

This is consistent with both C++14's two-range `std::` equivalents and
C++20's `std::ranges::` equivalents.
http://wg21.link/mismatch
http://wg21.link/alg.swap
http://wg21.link/alg.transform

Abseil LTS branch, Sept 2020

24 Sep 18:45
Compare
Choose a tag to compare

Abseil LTS 20200923

What's New:

  • absl::StatusOr<T> has been released. See our blog
    post
    for more information.
  • Abseil Flags reflection interfaces have been released.
  • Abseil Flags memory usage has been significantly optimized.
  • Abseil now supports a "hardened" build mode. This build mode enables
    runtime checks that guard against programming errors that may lead
    to security vulnerabilities.

Notable Fixes:

  • Sanitizer dynamic annotations like AnnotateRWLockCreate that are
    also defined by the compiler sanitizer implementation are no longer
    also defined by Abseil.
  • Sanitizer macros are now prefixed with ABSL_ to avoid naming collisions.
  • Sanitizer usage is now automatically detected and no longer requires
    macros like ADDRESS_SANITIZER to be defined on the command line.

Breaking Changes:

  • Abseil no longer contains a dynamic_annotations library. Users
    using a supported build system (Bazel or CMake) are unaffected by
    this, but users manually specifying link libraries may get an error
    about a missing linker input.

Baseline: 7680a5f
Cherry picks: None

Abseil LTS branch, Feb 2020, Patch 2

22 Apr 19:48
c51510d
Compare
Choose a tag to compare

This release fixes the list of dependencies of absl::Cord in the CMake build.

Abseil LTS branch, Feb 2020, Patch 1

04 Mar 22:08
df3ea78
Compare
Choose a tag to compare

Patched Feb 2020 LTS branch with the bug fix for absl::Status::ErasePayload.