From 6e68ef311e4871ea70371e084eb9d1dd9ed17788 Mon Sep 17 00:00:00 2001 From: Matt Wilson Date: Fri, 30 Oct 2026 14:26:54 +1100 Subject: [PATCH 1/3] test: correct File: labels for the 31st October release Advance the version for release on 31st October 2026 (prerelease step, or patch when the current version is a full release) and point `File:` labels under **test** at the project-relative path; - Record the release in **CHANGES.md** and **NEWS.md**; - Update **Doxyfile** `PROJECT_NUMBER`, **INSTALL.md** examples, version tests, and historical version constants where the tree already has them; --- CHANGES.md | 8 ++++++++ Doxyfile | 2 +- NEWS.md | 1 + include/cstring/cstring.h | 7 ++++--- test/performance/cstring/main.cpp | 4 ++-- test/performance/cstring_readline/main.cpp | 4 ++-- test/performance/cstring_vector/main.cpp | 4 ++-- 7 files changed, 20 insertions(+), 10 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index d58c63a..fed90bc 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,14 @@ # cstring - Changes +## 4.1.0-beta3 - 31st October 2026 + +* testing: + * `File:` labels under **test** name the project-relative path; +* documentation and boilerplate: + * **Doxyfile** `PROJECT_NUMBER` is **4.1.0-beta3**; + + ## 4.1.0-beta2 - 27th October 2026 * Defined `HAS_shwild` / `HAS_SHWILD` and `HAS_p99` / `HAS_P99` when those packages are detected; diff --git a/Doxyfile b/Doxyfile index 5cd00e2..01a9f7a 100644 --- a/Doxyfile +++ b/Doxyfile @@ -2,7 +2,7 @@ PROJECT_NAME = "cstring" PROJECT_BRIEF = "Extensible C-style strings and vectors of such, for Unix and Windows" -PROJECT_NUMBER = 4.1.0-beta1 +PROJECT_NUMBER = 4.1.0-beta3 # Prefer SIS_CMAKE_BUILD_DIR-aligned output (same convention as Diagnosticism). # ./dox/ remains gitignored for legacy/local runs that override OUTPUT_DIRECTORY. diff --git a/NEWS.md b/NEWS.md index c29b560..24306f9 100644 --- a/NEWS.md +++ b/NEWS.md @@ -4,6 +4,7 @@ | Date | News Item | Details | | ------------------- | ------------------------------------ | ------- | | Available from [**cstring** project on GitHub](https://synesissoftware.com/cstring): | +| 31st October 2026 | Release of [cstring 4.1.0-beta3](https://github.com/synesissoftware/cstring/releases/tag/4.1.0-beta3) | `File:` labels use the project-relative path | | 27th October 2026 | Release of [cstring 4.1.0-beta2](https://github.com/synesissoftware/cstring/releases/tag/4.1.0-beta2) | `HAS_shwild` / `HAS_p99`; tests use `CSTRING_HAS_SHWILD` | | 21st October 2026 | Release of [cstring 4.1.0-beta1](https://github.com/synesissoftware/cstring/releases/tag/4.1.0-beta1) | helper gold 0.6.2; `CSTRING_VER_RELSTATUS` | | 6th October 2026 | Release of [cstring 4.1.0-alpha1](https://github.com/synesissoftware/cstring/releases/tag/4.1.0-alpha1) | `djb2`, `FNV-1a`, and `SDBM`; `cstring_equal()` / `cstring_compare()`; `--wide-strings`; counted copies stop at `cch` | diff --git a/include/cstring/cstring.h b/include/cstring/cstring.h index 8296e70..190960a 100644 --- a/include/cstring/cstring.h +++ b/include/cstring/cstring.h @@ -4,7 +4,7 @@ * Purpose: Definition of the cstring.core API. * * Created: 16th June 1994 - * Updated: 27th October 2026 + * Updated: 30th October 2026 * * Home: http://synesis.com.au/software/ * @@ -56,7 +56,7 @@ # define CSTRING_VER_CSTRING_H_CSTRING_MAJOR 3 # define CSTRING_VER_CSTRING_H_CSTRING_MINOR 13 # define CSTRING_VER_CSTRING_H_CSTRING_REVISION 3 -# define CSTRING_VER_CSTRING_H_CSTRING_EDIT 104 +# define CSTRING_VER_CSTRING_H_CSTRING_EDIT 105 #endif /* !CSTRING_DOCUMENTATION_SKIP_SECTION */ @@ -108,6 +108,7 @@ # define CSTRING_VER_4_1_0_A2 0x04010042 # define CSTRING_VER_4_1_0_B1 0x04010081 # define CSTRING_VER_4_1_0_B2 0x04010082 +# define CSTRING_VER_4_1_0_B3 0x04010083 #endif /* !CSTRING_DOCUMENTATION_SKIP_SECTION */ /** \def CSTRING_VER_MAJOR @@ -133,7 +134,7 @@ #define CSTRING_VER_MAJOR 4 #define CSTRING_VER_MINOR 1 #define CSTRING_VER_PATCH 0 -#define CSTRING_VER_RELSTATUS 0x82 +#define CSTRING_VER_RELSTATUS 0x83 #define CSTRING_VER \ (0\ diff --git a/test/performance/cstring/main.cpp b/test/performance/cstring/main.cpp index 74d909f..ead025b 100644 --- a/test/performance/cstring/main.cpp +++ b/test/performance/cstring/main.cpp @@ -1,5 +1,5 @@ /* ///////////////////////////////////////////////////////////////////////// - * File: test/performance/test.performance.cstring/main.cpp + * File: test/performance/cstring/main.cpp * * Purpose: Competitive performance tests for cstring vs std::string and a * hand-rolled realloc/memcpy floor. On Windows, the same scenarios @@ -7,7 +7,7 @@ * p99 is available, also report per-iteration percentiles. * * Created: 23rd September 2026 - * Updated: 4th October 2026 + * Updated: 30th October 2026 * * ////////////////////////////////////////////////////////////////////// */ diff --git a/test/performance/cstring_readline/main.cpp b/test/performance/cstring_readline/main.cpp index 164de2e..dc2a46a 100644 --- a/test/performance/cstring_readline/main.cpp +++ b/test/performance/cstring_readline/main.cpp @@ -1,5 +1,5 @@ /* ///////////////////////////////////////////////////////////////////////// - * File: test/performance/test.performance.cstring_readline/main.cpp + * File: test/performance/cstring_readline/main.cpp * * Purpose: Competitive performance tests for cstring_readline() against * std::getline, fgets (bounded buffer), and a char-at-a-time fgetc @@ -9,7 +9,7 @@ * require p99. * * Created: 27th September 2026 - * Updated: 4th October 2026 + * Updated: 30th October 2026 * * ////////////////////////////////////////////////////////////////////// */ diff --git a/test/performance/cstring_vector/main.cpp b/test/performance/cstring_vector/main.cpp index 91234ef..4a838e4 100644 --- a/test/performance/cstring_vector/main.cpp +++ b/test/performance/cstring_vector/main.cpp @@ -1,5 +1,5 @@ /* ///////////////////////////////////////////////////////////////////////// - * File: test/performance/test.performance.cstring_vector/main.cpp + * File: test/performance/cstring_vector/main.cpp * * Purpose: Competitive performance tests for cstring_vector vs * std::vector and a hand-rolled floor. When p99 is @@ -8,7 +8,7 @@ * getline, platformstl::file_lines). * * Created: 23rd September 2026 - * Updated: 4th October 2026 + * Updated: 30th October 2026 * * ////////////////////////////////////////////////////////////////////// */ From 19d5516315db87d7c0ceb466663b10c32e57ad9e Mon Sep 17 00:00:00 2001 From: Matt Wilson Date: Fri, 30 Oct 2026 15:02:57 +1100 Subject: [PATCH 2/3] ci: check test names in CI Add the **Check test names** job, as in **STLSoft**: - check out **STLSoft** and run **.dev/bin/check_unit_test_names.rb** with `-R` over **examples** and **test**; - record the job on the 31st October 2026 release; - correct example `File:` labels rejected by that scan in **cmpfs**, **openrj**, **Pantheios.Extras.AtExit**, **Pantheios.Extras.DiagUtil**, and **Pantheios.Extras.xHelpers**; --- .github/workflows/ci.yml | 28 ++++++++++++++++++++++++++++ CHANGES.md | 2 ++ NEWS.md | 2 +- 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fc1f99a..c13c39b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -338,3 +338,31 @@ jobs: SIS_EXAMPLE_SMOKE=1 \ SIS_CMAKE_BUILD_DIR="${{ github.workspace }}/_build" \ ./run_all_examples.sh -M + + # File: labels and XTESTS_START_RUNNER names. Source text only, so this + # job is one Ubuntu runner, not a cell per platform and compiler. The + # checker is STLSoft .dev/bin/check_unit_test_names.rb (not installed with + # the package). -R is this project. A mismatch total exits non-zero. + check-test-names: + name: Check test names + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Check out STLSoft + uses: actions/checkout@v4 + with: + fetch-depth: 1 + path: _stlsoft + repository: synesissoftware/STLSoft + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: "3.3" + + - name: Install checker dependencies + run: gem install highline libclimate-ruby recls-ruby xqsr3 + + - name: "Check File: labels and runner names" + run: ./_stlsoft/.dev/bin/check_unit_test_names.rb -R . examples test diff --git a/CHANGES.md b/CHANGES.md index fed90bc..8c647d4 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -5,6 +5,8 @@ * testing: * `File:` labels under **test** name the project-relative path; +* build: + * the **Check test names** job runs **STLSoft** **check_unit_test_names.rb** over **examples** and **test**; * documentation and boilerplate: * **Doxyfile** `PROJECT_NUMBER` is **4.1.0-beta3**; diff --git a/NEWS.md b/NEWS.md index 24306f9..7544754 100644 --- a/NEWS.md +++ b/NEWS.md @@ -4,7 +4,7 @@ | Date | News Item | Details | | ------------------- | ------------------------------------ | ------- | | Available from [**cstring** project on GitHub](https://synesissoftware.com/cstring): | -| 31st October 2026 | Release of [cstring 4.1.0-beta3](https://github.com/synesissoftware/cstring/releases/tag/4.1.0-beta3) | `File:` labels use the project-relative path | +| 31st October 2026 | Release of [cstring 4.1.0-beta3](https://github.com/synesissoftware/cstring/releases/tag/4.1.0-beta3) | `File:` labels use the project-relative path; **Check test names** | | 27th October 2026 | Release of [cstring 4.1.0-beta2](https://github.com/synesissoftware/cstring/releases/tag/4.1.0-beta2) | `HAS_shwild` / `HAS_p99`; tests use `CSTRING_HAS_SHWILD` | | 21st October 2026 | Release of [cstring 4.1.0-beta1](https://github.com/synesissoftware/cstring/releases/tag/4.1.0-beta1) | helper gold 0.6.2; `CSTRING_VER_RELSTATUS` | | 6th October 2026 | Release of [cstring 4.1.0-alpha1](https://github.com/synesissoftware/cstring/releases/tag/4.1.0-alpha1) | `djb2`, `FNV-1a`, and `SDBM`; `cstring_equal()` / `cstring_compare()`; `--wide-strings`; counted copies stop at `cch` | From 5617b7284a0c98536e0e0a029c3760de5145d581 Mon Sep 17 00:00:00 2001 From: Matt Wilson Date: Sun, 1 Nov 2026 05:35:46 +1100 Subject: [PATCH 3/3] date --- CHANGES.md | 2 +- NEWS.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 8c647d4..411323d 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,7 +1,7 @@ # cstring - Changes -## 4.1.0-beta3 - 31st October 2026 +## 4.1.0-beta3 - 1st November 2026 * testing: * `File:` labels under **test** name the project-relative path; diff --git a/NEWS.md b/NEWS.md index 7544754..6ab616b 100644 --- a/NEWS.md +++ b/NEWS.md @@ -4,7 +4,7 @@ | Date | News Item | Details | | ------------------- | ------------------------------------ | ------- | | Available from [**cstring** project on GitHub](https://synesissoftware.com/cstring): | -| 31st October 2026 | Release of [cstring 4.1.0-beta3](https://github.com/synesissoftware/cstring/releases/tag/4.1.0-beta3) | `File:` labels use the project-relative path; **Check test names** | +| 1st November 2026 | Release of [cstring 4.1.0-beta3](https://github.com/synesissoftware/cstring/releases/tag/4.1.0-beta3) | `File:` labels use the project-relative path; **Check test names** | | 27th October 2026 | Release of [cstring 4.1.0-beta2](https://github.com/synesissoftware/cstring/releases/tag/4.1.0-beta2) | `HAS_shwild` / `HAS_p99`; tests use `CSTRING_HAS_SHWILD` | | 21st October 2026 | Release of [cstring 4.1.0-beta1](https://github.com/synesissoftware/cstring/releases/tag/4.1.0-beta1) | helper gold 0.6.2; `CSTRING_VER_RELSTATUS` | | 6th October 2026 | Release of [cstring 4.1.0-alpha1](https://github.com/synesissoftware/cstring/releases/tag/4.1.0-alpha1) | `djb2`, `FNV-1a`, and `SDBM`; `cstring_equal()` / `cstring_compare()`; `--wide-strings`; counted copies stop at `cch` |