Skip to content

GSL 4.2.0 Release

Latest
Compare
Choose a tag to compare
@carsonRadtke carsonRadtke released this 01 Mar 12:20
2828399

GSL 4.2.0 Release Notes

New Features

  • Added gsl::swap for safely swapping gsl::not_null pointers (#1160)
  • Introduced element_type member type to gsl::not_null for better type trait consistency (#1196)
  • Added support for strict_not_null with unique_ptr (#1179)
  • Added comprehensive test suite for gsl::span including empty span, conversion, and comparison tests (#1189)

Performance Improvements

  • Significantly improved span_iterator performance with Clang compiler, reducing overhead by up to 20x (#1166)

Bug Fixes

  • Fixed GCC-specific bug with list initialization of const references (#1175)
  • Fixed SFINAE implementation in gsl::owner (#1174)
  • Fixed issues with std::enable_if usage throughout the codebase (#1177)
  • Modified include directives to use explicit "gsl/" prefix to prevent header conflicts (#1184)
  • Changed include directives to use relative paths to comply with CppCoreGuideline SF.12 (#1194)

Deprecated Features

  • Removed deprecated string_span feature (#1185)
  • Marked the following features as deprecated as they are now in the C++ standard:
    • gsl::unique_ptr
    • gsl::shared_ptr
    • gsl::byte (since C++17)
    • gsl::joining_thread

Infrastructure Updates

  • Updated CI pipeline for Ubuntu 24.04
  • Updated compiler support:
    • Clang 16, 17, 18
    • GCC 12, 13, 14
  • Upgraded to GoogleTest v1.14.0
  • Added new issue templates
  • Updated documentation and badges

Thanks to Contributors

Special thanks to the following contributors who helped make GSL 4.2.0 possible:

Your contributions have helped improve GSL's reliability, performance, and usability.