Major Milestones
2016
February 2016
- Initial design and development of the CsSignal library
March 2016
- Integrate CsSignal library into CopperSpice
- Refactor QObject using the new Signal/Slot internals
April 2016
May 2016
- CppNow 2016 presentation on CopperSpice and our new CsSignal library
- CppNow 2016 presentation on DoxyPress demonstrating how clang can be used to parse C++
- CppNow 2016 presentation on LibGuarded
June 2016 / July 2016
- CopperSpice team on temporary leave as Barbara recovers from a Total Knee Replacement
Thank you to the community for their wonderful support and encouragement during this time
August 2016
- Integrate libGuarded to handle multi-threading use cases
- Update documentation
December 2016
- Add override to various methods
2017
January 2017
March 2017
- CsSignal library uses libGuarded to handle the connection lists and avoid race conditions
April 2017
May 2017
August 2017
September 2017
2018
January 2018
November 2018
- Standardize library name, remove suffix
2019
January 2019
April 2019
November 2019
- Drop support for Autotools build system for CsSignal
- Add CMake build files for CsSignal
- Move to C++17 on all platforms
2020
January 2020
May 2020
- Update CsLibGuarded files
- Change the extension for CsLibGuarded from .hpp to .h
2021
January 2021
June 2021
- Add cs_mp_cast<>() to resolve overloaded methods
- For MSVC only, add CMake build option to enforce methods pointers have a unique address
July 2021
2022
January 2022
- Update copyright
- Move from CMake 3.8 to 3.16
March 2022
September 2022
- Fix target name for MSVC builds
December 2022
- Move cs_libguarded source files to src/annex/cs_libguarded
- Move cs_signal source files to src/signal
- Modify CsSignal CMake build files to support exporting targets
- Define CsSignal_INCLUDE_DIR variable, this is the export location where the include files are installed
- Redesign CMake files to find a system version of CsLibGuarded when building this library
-
If a system version of CsLibGuarded is found and the CMake variable CS_INSTALL_MODE is Package, link with the system version of CsLibGuarded and do not copy the headers to the install folder
-
If a system version of CsLibGuarded is found and the CMake variable CS_INSTALL_MODE is Deploy, link with the system version of CsLibGuarded and copy the headers to the install folder
-
If no system path was specified or CsLibGuarded was not found, use the CsLibGuarded files located in src/annex
- Remove the old test files
- Switch to using Catch2 for unit testing
2023
January 2023
- Update copyright
- CsSignal 1.3.0 released
April 2023
- Update CsLibguarded source files in annex
- Modify addConnection() to pass the sender list by reference
May 2023
2024
January 2024
- Change copyright
- Update CsLibguarded source files in annex
- Improve build files for catch tests
September 2024
- Update minimum version to CMake 3.18
December 2024
- Update readme file, add details about how to run the unit tests
2025
January 2025
- Change copyright
- Minimum compiler requirement is now C++20
- Modify readme file to reflect compiler requirements
- Update CsLibguarded source files in annex
March 2025