Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
866a7a7
boilerplate
synesissoftware Aug 7, 2026
e5ad5e4
CI: align push branches with Synesis canonical set
synesissoftware Aug 7, 2026
288efde
Scripts: add .sis/project_name.txt and wire ProjectName
synesissoftware Aug 7, 2026
eddf580
Scripts: MSYS auto-MinGW in prepare_cmake; add ctest_cmake.sh
synesissoftware Aug 7, 2026
4c2e5b6
CMake: set CMP0177 and fix BuildType default cache set
synesissoftware Aug 7, 2026
8bb46e0
Docs: review and refresh TODO.md against current packaging
synesissoftware Aug 7, 2026
f67f32a
Modernise STLSoft build/CI boilerplate and rewrite TODO roadmap.
synesissoftware Aug 7, 2026
7e8956a
Colourise STLSoft test/example runners and add CI update.3/update.4 b…
synesissoftware Aug 7, 2026
2bc3046
CMake/CI: optional ACE discovery and dedicated ACE cell
synesissoftware Aug 7, 2026
38aa14b
test: ACESTL version smoke when ACE is present
synesissoftware Aug 7, 2026
080d710
fix
synesissoftware Aug 7, 2026
ba1be86
test: add ACESTL string-access shim unit tests
synesissoftware Aug 7, 2026
9c7c8cd
fix: ACE_Time_Value stream_insert shadowing; shim_string::data()
synesissoftware Aug 7, 2026
cda7755
CI: restore +x after artifact download; fail on zero unit tests
synesissoftware Aug 7, 2026
9f34665
CI/scripts: do not chmod or run CMake artefacts as examples
synesissoftware Aug 7, 2026
7babc3c
test: remove deliberate ACESTL time_value failure used for GHA check
synesissoftware Aug 7, 2026
31b5e05
ACESTL: implement invoke_ACE_OS_snprintf via stlsoft_C_snprintf
synesissoftware Aug 7, 2026
de84d4f
CI: exercise MFCSTL on Windows via with-mfc cell
synesissoftware Aug 7, 2026
77b5d84
fix
synesissoftware Aug 7, 2026
5d99590
CI: exercise ATLSTL on Windows via with-atl cell
synesissoftware Aug 7, 2026
ae9e252
TODO
synesissoftware Aug 8, 2026
f8a311b
squash-commit
synesissoftware Aug 8, 2026
e41ed81
squash-commit
synesissoftware Aug 9, 2026
cc8eff2
refactor(stlsoft): suffix C-API programs with `.C`
synesissoftware Sep 16, 2026
f0e01d2
squash-commit
synesissoftware Sep 20, 2026
d661f11
Merge branch 'master' into '1_11_strategy'
synesissoftware Sep 20, 2026
41f11d1
tidy
synesissoftware Sep 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,31 @@ __pycache__/
/examples/cpp/lib/
/examples/lib/

/examples/bin
/examples/c/bin
/examples/cpp/bin

/examples/lib
/examples/c/lib
/examples/cpp/lib

projects/util/vc10-generated/

perf_test/

scripts/internal/

/include/b64/
/include/shwild/
/include/xcontract/
/include/xcover/
/include/xtests/
/src/b64/
/src/shwild/
/src/xcontract/
/src/xcover/
/src/xtests/

Debug Multithreaded Dll/
Debug Multithreaded DLL/
Debug Multithreaded pseudoUnix/
Expand Down
7 changes: 6 additions & 1 deletion CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# STLSoft - CHANGES <!-- omit in toc -->


## 1.11.2-alpha1 - 10th October 2026



## 1.11.1-rc6 - 21st September 2026

* CMake/CI — optional **ACE** discovery (**cmake/FindACE.cmake**, **NO_ACE** / **prepare_cmake.sh --no-ace**); dedicated **cell-ace** job (**with-ace**);
Expand All @@ -25,7 +29,7 @@
* **stlsoft/api/external/string.h** — case-insensitive aliases (`STLSOFT_API_EXTERNAL_string_stricmp` and kin) for Clang as well as GCC, and for macOS (`__APPLE__`); added **test.unit.stlsoft.api.external.string**;


## 1.11.1-rc5 - 4th August 2026
## 1.11.1-rc5 - 9th August 2026

* Fixed `stlsoft::basic_simple_string<>#resize()` — expanding a non-empty string no longer over-reads the source buffer (MinGW unit-test segfault in **test.unit.stlsoft.string.simple_string**);
* Converted **CHANGES.txt** to **CHANGES.md** and removed **HISTORY.md**;
Expand All @@ -36,6 +40,7 @@
* CMake — minimum version **3.20**; **BUILD_TESTING** option; project homepage URL; patch/revision version regex;
* Project boilerplate — **.gitattributes**, **.vimrc**, **.vscode/settings.json**;
* **test.unit.versions** — aligned with **1.11.1-rc5** (**_STLSOFT_VER_1_11_1_RC5**);
* All unit/component test assertions use xTests Terse API;


## 1.11.1-rc4 - 29th July 2026
Expand Down
1 change: 1 addition & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

| Date | News Item | Details |
| ------------------- | ----------------------------------- | ------- |
| 10th October 2026 | 1.11.2-alpha1 | - |
| 21st September 2026 | Release of [STLSoft 1.11.1-rc6](https://github.com/synesissoftware/STLSoft/releases/tag/1.11.1-rc6) | ACE/ATL/MFC CI; Clang/macOS `stricmp` aliases |
| 4th August 2026 | Release of [STLSoft 1.11.1-rc5](https://github.com/synesissoftware/STLSoft/releases/tag/1.11.1-rc5) | `basic_simple_string<>#resize()`; **CHANGES.md**; docs |
| 29th July 2026 | Release of [STLSoft 1.11.1-rc4](https://github.com/synesissoftware/STLSoft/releases/tag/1.11.1-rc4) | GitHub Actions CI; VC++ 18.x; MinGW |
Expand Down
13 changes: 10 additions & 3 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,7 @@
* [x] ~~~ACESTL: implement `invoke_ACE_OS_snprintf` in terms of `stlsoft_C_snprintf()`~~~ - ✅;
* [x] ~~~CI: exercise **ATLSTL** on a Windows cell~~~ - ✅;
* [x] ~~~Unit/component tests — adopt **xTests** terse API throughout~~~ - ✅;
* [ ] Remove **WTL**;
* [ ] Resolve finally the structure and semantics of the top-level execution scripts (**run_all_unit_tests.sh**, **run_all_scratch_tests.sh**, **run_all_examples.sh**, **execute_performance_tests.sh**, and Windows `.cmd` counterparts) on all platforms — discovery globs, execute-bit / artifact restore, zero-match failure, verbosity, and CI wiring;
* [ ] bring in some essential unit-tests from interal repo;
* [x] ~~~bring in some essential unit-tests from internal repo~~~ - ✅;


### 1.11.2
Expand All @@ -43,6 +41,15 @@ Dedicated increment: **test analysis and coverage only** — no other product ch
* [ ] Existing test consistency (deep analysis);
* [ ] Complete coverage of currently tested components (improvement / completion);
* [ ] Coverage of currently untested components;
* [ ] Remove **WTL**;
* [ ] bring in some essential unit-tests from internal repo;
* [ ] Resolve finally the structure and semantics of the top-level execution scripts (**run_all_unit_tests.sh**, **run_all_scratch_tests.sh**, **run_all_examples.sh**, **execute_performance_tests.sh**, and Windows `.cmd` counterparts) on all platforms — discovery globs, execute-bit / artifact restore, zero-match failure, verbosity, and CI wiring;

Must resolve before finalising the **1.11.2** release:

* [ ] **CMake scripts:** Diff all CMake script files (**CMakeLists.txt**, **\*.cmake**) since **1.11.1-rc4**; discuss each change — likely adding comments in the scripts and/or notes in the project documentation guidelines — so the newer techniques are clearly explained;
* [ ] **Build helper scripts:** Thorough review of the build helper scripts (especially the run scripts) and the means by which executable files are identified; separate those aspects correctly and clearly. Same concern applies across other SIS freelib projects. Scope includes discovery globs, execute-bit / artifact restore, zero-match failure, verbosity, and CI wiring for **run_all_unit_tests.sh**, **run_all_scratch_tests.sh**, **run_all_examples.sh**, **execute_performance_tests.sh**, and Windows `.cmd` counterparts;
* [ ] **CI configuration:** Thorough review of **ci.yml** and **ci-cell.yml** — identify and separate the various aspects correctly and clearly. Same concern applies across other SIS freelib projects;


### 1.11.3
Expand Down
8 changes: 4 additions & 4 deletions include/acestl/acestl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
# define ACESTL_VER_ACESTL_HPP_ACESTL_MAJOR 1
# define ACESTL_VER_ACESTL_HPP_ACESTL_MINOR 8
# define ACESTL_VER_ACESTL_HPP_ACESTL_REVISION 2
# define ACESTL_VER_ACESTL_HPP_ACESTL_EDIT 57
# define ACESTL_VER_ACESTL_HPP_ACESTL_EDIT 58
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */

/** \file acestl/acestl.hpp
Expand Down Expand Up @@ -497,9 +497,9 @@ typedef as_int32_t int32_t; //!< 32-bit integer
typedef as_sint32_t sint32_t; //!< 32-bit signed integer
typedef as_uint32_t uint32_t; //!< 32-bit unsigned integer
# ifdef STLSOFT_CF_64BIT_INT_SUPPORT
typedef as_int64_t int64_t; //!< 64-bit integer
typedef as_sint64_t sint64_t; //!< 64-bit signed integer
typedef as_uint64_t uint64_t; //!< 64-bit unsigned integer
typedef as_int64_t int64_t; //!< 64-bit integer
typedef as_sint64_t sint64_t; //!< 64-bit signed integer
typedef as_uint64_t uint64_t; //!< 64-bit unsigned integer
# endif /* STLSOFT_CF_64BIT_INT_SUPPORT */
//typedef as_short_t short_t; //!< short integer
typedef as_int_t int_t; //!< integer
Expand Down
2 changes: 1 addition & 1 deletion include/inetstl/inetstl.h
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@

#elif defined(STLSOFT_COMPILER_IS_INTEL)
/* ******************************* Intel ******************************* */
# if (__INTEL_COMPILER < 700)
# if (__INTEL_COMPILER < 700)
# error Versions of Intel C++ prior to 7.0 are not supported by the InetSTL libraries
# endif /* __INTEL_COMPILER */

Expand Down
12 changes: 7 additions & 5 deletions include/stlsoft/stlsoft.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* and platform discriminations, and definitions of types.
*
* Created: 15th January 2002
* Updated: 21st September 2026
* Updated: 10th October 2026
*
* Home: http://stlsoft.org/
*
Expand Down Expand Up @@ -421,12 +421,14 @@
# define _STLSOFT_VER_1_11_1_RC4 0x010b01c4 /*!< Version 1.11.1 rc 4 (1st July 2026) */
# define _STLSOFT_VER_1_11_1_RC5 0x010b01c5 /*!< Version 1.11.1 rc 5 (4th August 2026) */
# define _STLSOFT_VER_1_11_1_RC6 0x010b01c6 /*!< Version 1.11.1 rc 6 (21st September 2026) */

# define _STLSOFT_VER_1_11_2_A01 0x010b0241 /*!< Version 1.11.1 alpha 2 (10th October 2026) */
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */

#define _STLSOFT_VER_MAJOR 1
#define _STLSOFT_VER_MINOR 11
#define _STLSOFT_VER_PATCH 1
#define _STLSOFT_VER_ALPHABETA 0xc6
#define _STLSOFT_VER_PATCH 2
#define _STLSOFT_VER_ALPHABETA 0x41

#define _STLSOFT_VER \
(0\
Expand Down Expand Up @@ -2355,10 +2357,10 @@ typedef STLSOFT_UI64_T_BASE_TYPE STLSOFT_UI64_T_BASE_

/* ptr-bit */
#ifdef STLSOFT_SPTR_T_BASE_TYPE
typedef STLSOFT_SPTR_T_BASE_TYPE STLSOFT_SPTR_T_BASE_TYPE_;
typedef STLSOFT_SPTR_T_BASE_TYPE STLSOFT_SPTR_T_BASE_TYPE_;
#endif
#ifdef STLSOFT_UPTR_T_BASE_TYPE
typedef STLSOFT_UPTR_T_BASE_TYPE STLSOFT_UPTR_T_BASE_TYPE_;
typedef STLSOFT_UPTR_T_BASE_TYPE STLSOFT_UPTR_T_BASE_TYPE_;
#endif
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */

Expand Down
6 changes: 3 additions & 3 deletions include/unixstl/filesystem/filesystem_traits.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* Unicode specialisations thereof.
*
* Created: 15th November 2002
* Updated: 6th May 2025
* Updated: 10th October 2026
*
* Thanks: To Sergey Nikulov, for spotting a preprocessor typo that broke
* GCC -pedantic; to Michal Makowski and Zar Eindl for reporting
Expand Down Expand Up @@ -61,7 +61,7 @@
# define UNIXSTL_VER_UNIXSTL_FILESYSTEM_HPP_FILESYSTEM_TRAITS_MAJOR 4
# define UNIXSTL_VER_UNIXSTL_FILESYSTEM_HPP_FILESYSTEM_TRAITS_MINOR 16
# define UNIXSTL_VER_UNIXSTL_FILESYSTEM_HPP_FILESYSTEM_TRAITS_REVISION 1
# define UNIXSTL_VER_UNIXSTL_FILESYSTEM_HPP_FILESYSTEM_TRAITS_EDIT 188
# define UNIXSTL_VER_UNIXSTL_FILESYSTEM_HPP_FILESYSTEM_TRAITS_EDIT 189
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */


Expand Down Expand Up @@ -1726,7 +1726,7 @@ struct filesystem_traits<us_char_a_t>
}

private:
#if _STLSOFT_VER >= 0x010b01ff
#if _STLSOFT_VER >= 0x010b03ff

# error Sort get_root_len_() properly
#endif
Expand Down
10 changes: 5 additions & 5 deletions include/unixstl/unixstl.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* platform discriminations, and definitions of types.
*
* Created: 15th January 2002
* Updated: 17th September 2026
* Updated: 10th October 2026
*
* Home: http://stlsoft.org/
*
Expand Down Expand Up @@ -51,7 +51,7 @@
# define UNIXSTL_VER_UNIXSTL_H_UNIXSTL_MAJOR 3
# define UNIXSTL_VER_UNIXSTL_H_UNIXSTL_MINOR 11
# define UNIXSTL_VER_UNIXSTL_H_UNIXSTL_REVISION 3
# define UNIXSTL_VER_UNIXSTL_H_UNIXSTL_EDIT 130
# define UNIXSTL_VER_UNIXSTL_H_UNIXSTL_EDIT 131
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */

/** \file unixstl/unixstl.h
Expand Down Expand Up @@ -801,9 +801,9 @@ typedef us_int32_t int32_t; /*!<
typedef us_sint32_t sint32_t; /*!< 32-bit signed integer */
typedef us_uint32_t uint32_t; /*!< 32-bit unsigned integer */
# ifdef STLSOFT_CF_64BIT_INT_SUPPORT
typedef us_int64_t int64_t; /*!< 64-bit integer */
typedef us_sint64_t sint64_t; /*!< 64-bit signed integer */
typedef us_uint64_t uint64_t; /*!< 64-bit unsigned integer */
typedef us_int64_t int64_t; /*!< 64-bit integer */
typedef us_sint64_t sint64_t; /*!< 64-bit signed integer */
typedef us_uint64_t uint64_t; /*!< 64-bit unsigned integer */
# endif /* STLSOFT_CF_64BIT_INT_SUPPORT */
/* typedef us_short_t short_t; */ /*!< short integer */
typedef us_int_t int_t; /*!< integer */
Expand Down
18 changes: 9 additions & 9 deletions include/winstl/conversion/windows_type_conversions.hpp
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
/* /////////////////////////////////////////////////////////////////////////
* File: winstl/conversion/windows_type_conversions.hpp (originally MWWinCmn.h, ::SynesisWin)
* File: winstl/conversion/windows_type_conversions.hpp (originally MWWinCmn.h, ::SynesisWin)
*
* Purpose: Type conversions for Windows.
* Purpose: Type conversions for Windows.
*
* Created: 1st June 2003
* Updated: 20th March 2025
* Created: 1st June 2003
* Updated: 18th August 2026
*
* Home: http://stlsoft.org/
* Home: http://stlsoft.org/
*
* Copyright (c) 2019-2025, Matthew Wilson and Synesis Information Systems
* Copyright (c) 2019-2026, Matthew Wilson and Synesis Information Systems
* Copyright (c) 2003-2019, Matthew Wilson and Synesis Software
* All rights reserved.
*
Expand Down Expand Up @@ -55,7 +55,7 @@
# define WINSTL_VER_WINSTL_CONVERSION_HPP_WINDOWS_TYPE_CONVERSIONS_MAJOR 4
# define WINSTL_VER_WINSTL_CONVERSION_HPP_WINDOWS_TYPE_CONVERSIONS_MINOR 1
# define WINSTL_VER_WINSTL_CONVERSION_HPP_WINDOWS_TYPE_CONVERSIONS_REVISION 6
# define WINSTL_VER_WINSTL_CONVERSION_HPP_WINDOWS_TYPE_CONVERSIONS_EDIT 51
# define WINSTL_VER_WINSTL_CONVERSION_HPP_WINDOWS_TYPE_CONVERSIONS_EDIT 52
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */


Expand Down Expand Up @@ -201,11 +201,11 @@ typedef STLSOFT_NS_QUAL(union_caster)<HICON, LRESULT, false> LRESULT2HICO
/** Checked conversion from <code>LPARAM</code> to <code>LPNMHDR</code>.
* \ingroup group__library__Conversion
*/
typedef union_caster<LPNMHDR, LPARAM, true> LPARAM2LPNMHDR;
typedef union_caster<LPNMHDR, LPARAM, true> LPARAM2LPNMHDR;
/** Checked conversion from <code>LONG</code> to <code>HTREEITEM</code>.
* \ingroup group__library__Conversion
*/
typedef union_caster<HTREEITEM, LONG, false> LONG2HTREEITEM;
typedef union_caster<HTREEITEM, LONG, false> LONG2HTREEITEM;
#endif /* _INC_COMMCTRL || _COMMCTRL_H */

/* ////////////////////////////////////////////////////////////////////// */
Expand Down
21 changes: 11 additions & 10 deletions include/winstl/registry/util/defs.hpp
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
/* /////////////////////////////////////////////////////////////////////////
* File: winstl/registry/util/defs.hpp
* File: winstl/registry/util/defs.hpp
*
* Purpose: Contains common type and feature discriminations for the Registry Library.
* Purpose: Contains common type and feature discriminations for the
* Registry Library.
*
* Created: 19th January 2002
* Updated: 20th March 2025
* Created: 19th January 2002
* Updated: 18th August 2026
*
* Home: http://stlsoft.org/
* Home: http://stlsoft.org/
*
* Copyright (c) 2019-2025, Matthew Wilson and Synesis Information Systems
* Copyright (c) 2019-2026, Matthew Wilson and Synesis Information Systems
* Copyright (c) 2002-2019, Matthew Wilson and Synesis Software
* All rights reserved.
*
Expand Down Expand Up @@ -54,7 +55,7 @@
# define WINSTL_VER_WINSTL_REGISTRY_UTIL_HPP_DEFS_MAJOR 4
# define WINSTL_VER_WINSTL_REGISTRY_UTIL_HPP_DEFS_MINOR 0
# define WINSTL_VER_WINSTL_REGISTRY_UTIL_HPP_DEFS_REVISION 6
# define WINSTL_VER_WINSTL_REGISTRY_UTIL_HPP_DEFS_EDIT 73
# define WINSTL_VER_WINSTL_REGISTRY_UTIL_HPP_DEFS_EDIT 74
#endif /* !STLSOFT_DOCUMENTATION_SKIP_SECTION */


Expand Down Expand Up @@ -224,19 +225,19 @@ const ws_size_t CCH_REG_API_AUTO_BUFFER = 512;
// ANSI

/// String type for ANSI character encoding used by the Registry library.
typedef STLSOFT_NS_QUAL(basic_simple_string)<ws_char_a_t> reg_string_a_t;
typedef STLSOFT_NS_QUAL(basic_simple_string)<ws_char_a_t> reg_string_a_t;

# define _WINSTL_REG_STRING_STRING_A_DEFINED

// Unicode

/// String type for Unicode character encoding used by the Registry library.
typedef STLSOFT_NS_QUAL(basic_simple_string)<ws_char_w_t> reg_string_w_t;
typedef STLSOFT_NS_QUAL(basic_simple_string)<ws_char_w_t> reg_string_w_t;

// TCHAR

/// String type for TCHAR character encoding used by the Registry library.
typedef STLSOFT_NS_QUAL(basic_simple_string)<TCHAR> reg_string_t;
typedef STLSOFT_NS_QUAL(basic_simple_string)<TCHAR> reg_string_t;

# define _WINSTL_REG_STRING_STRING_W_DEFINED

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Purpose: Unit-tests for string-access-shims for `struct in_addr`.
*
* Created: ...
* Updated: 9th August 2026
* Updated: 18th August 2026
*
* ////////////////////////////////////////////////////////////////////// */

Expand Down Expand Up @@ -72,7 +72,7 @@ namespace {
* types
*/

namespace {
namespace {

typedef std::basic_string<char> string_a_t;
typedef std::basic_string<wchar_t> string_w_t;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
* test component header file include(s)
*/

#include <stlsoft/iterator/FILE_iterator.hpp>
#include <stlsoft/iterator/FILE_iterator.hpp>

/* /////////////////////////////////////
* general includes
Expand Down
4 changes: 2 additions & 2 deletions test/unit/test.unit.versions/entry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Purpose: Unit-tests for versions
*
* Created: 23rd August 2025
* Updated: 21st September 2026
* Updated: 10th October 2026
*
* ////////////////////////////////////////////////////////////////////// */

Expand Down Expand Up @@ -133,7 +133,7 @@ namespace {

static void TEST__STLSOFT_VER()
{
TEST_INT_EQ(_STLSOFT_VER_1_11_1_RC6, _STLSOFT_VER);
TEST_INT_EQ(_STLSOFT_VER_1_11_2_A01, _STLSOFT_VER);
}
#ifdef STLSOFT_HAS_ACE

Expand Down
Loading