CsString  1.4.1
Timeline

Major Milestones

2017

February 2017

  • Initial design and development of the CsString library

March 2017

  • Continued work on CsString
  • Create unit tests

April 2017

  • Create DoxyPress documentation for CsString library
  • Add additional unit tests

May 2017

  • Initial release of CsString 1.0.0
  • CppNow 2017 presentation on our new CsString library

June 2017

  • Convert readme file to markdown
  • Minor changes to work with MSVC

August 2017

  • Move to C++14

September 2017

  • CsString 1.1.0 released
  • Attended CppCon in Seattle, Washington
  • Presented a talk on CsString and libGuarded at CppCon

December 2017

  • Add CsStringView class and relevant methods
  • Add new constructor in CsString which takes a CsStringView
  • Update library documentation

2018

January 2018

  • Update copyright
  • Add new methods to CsStringView
  • Enhanced test suite

May 2018

  • Added hash function for CsChar
  • Add find_fast() and rfind_fast() in CsString which both take iterators and return an iterator

July 2018

  • Optimize CsString basic classes
  • Added new assignment method for CsString
  • Optimized subtraction of iterators

November 2018

  • Standardize library name, remove suffix
  • Remove export from templates
  • Optimize resize methods

2019

January 2019

  • Update copyright
  • Enhance string encoding

February 2019

  • CsString 1.2.0 released

August 2019

  • Add lvalue reference qualifier to prevent in place modification of a string

2020

January 2020

  • Update copyright
  • Drop support for Autotools build system for CsString
  • Add CMake build files for CsString
  • Move to C++17
  • CsString 1.2.1 released

August 2020

  • Add copy constructor for CsChar
  • Delete the constructor in CsBasicStringView which accepted a temporary string
  • Use a structured binding for improved readability

September 2020

  • Correct CsString when using a compare operator
  • Improve processing of string literals and treat as utf-8
  • CsString 1.3.0 released

2021

January 2021

  • Update copyright
  • Improve processing of string literals and treat as UTF-8
  • CsString 1.3.1 released

May 2021

  • Move unit tests to Catch2
  • Add utf8 string literal support for MSVC in CMake
  • Improve CMake build files
  • Use const iterators
  • Add storage iterators
  • Optimize comparison operators for utf8 and utf16
  • Add new constructors for char16_t and char32_t
  • Refactor constructors and methods which called fromUtf8()
  • Add fromUtf16()
  • Add new constructors to CsChar and CsBasicString to support char8_t added in C++20
  • Improvements when C++20 is enabled
  • Update library documentation

July 2021

  • CsString 1.3.2 released

2022

January 2022

  • Update copyright
  • Move from CMake 3.8 to 3.16

Match 2022

  • Add CMake export files

November 2022

  • Modify CsString CMake build files to support exporting targets
  • Define CsString_INCLUDE_DIR variable, this is the export location where the include files are installed
  • Add 150 new unit tests

December 2022

  • Correct export syntax

2023

January 2023

  • Update copyright
  • CsString 1.4.0 released

2024

January 2024

  • Change copyright
  • Improve build file for catch tests

July 2024

  • Add new unit tests
  • Refactor CsString iterator, add advance_storage() method to improve performance

September 2024

  • Update minimum version to CMake 3.18
  • CsString 1.4.1 release