Skip to content

externpro 26.01.1-9-g32f46e4#5

Merged
smanders merged 14 commits into
xprofrom
xpupdate-26.01.1-9-g32f46e4-26126297463-1
May 19, 2026
Merged

externpro 26.01.1-9-g32f46e4#5
smanders merged 14 commits into
xprofrom
xpupdate-26.01.1-9-g32f46e4-26126297463-1

Conversation

@smanders
Copy link
Copy Markdown
Collaborator

Summary

Update externpro submodule to 26.01.1-9-g32f46e4

Changes

  • Updated .devcontainer to externpro 26.01.1-9-g32f46e4
  • Previous HEAD: b05bee72bf7b2b09fe21b2247e5d322d1667529f
  • New HEAD: 32f46e487d55910b4a899c06d96fa4753b959826
  • Created .github/release-tag.json (tag: xpv1.1.0-763.4)
    • Optional: add the "release:tag" label to trigger tagging, release builds, and draft release notes
  • If you add the "release:tag" label, the tag will be `xpv1.1.0-763.4`
  • Updated caller workflows to match templates
  • CMakePresets.json review needed
    • See details below

Workflow Update Report

  • 🔧 xpbuild.yml: preserved repo key jobs.linux.with.cmake_workflow_preset_suffix (renamed from cmake-workflow-preset)
  • 🔧 xpbuild.yml: preserved repo key jobs.macos.with.cmake_workflow_preset_suffix (renamed from cmake-workflow-preset)
  • 🔧 xpbuild.yml: preserved repo key jobs.windows.with.cmake_workflow_preset_suffix (renamed from cmake-workflow-preset)
  • 🔧 workflow_call input renamed (kebab-case → snake_case): cmake-workflow-preset -> cmake_workflow_preset_suffix
  • ✓ xpbuild.yml: Synced from template
  • ✓ xpinit.yml: Created new workflow from template
  • ✓ xprelease.yml: Synced from template
  • ✓ xptag.yml: Synced from template

CMakePresets.json

  • Auto-fix: replaced .devcontainer/cmake/presets/xpWindowsVs2022.json include and staged CMakePresets.json

This PR was created automatically by GitHub Actions

smanders and others added 7 commits May 19, 2026 15:12
- Update minimum CMake version from 3.31 to 4.3
- Remove XP_NAMESPACE and xproinc.cmake inclusion (now part of CMakePresets)
- Package name and Target Namespace now match
- Make xpExternPackage conditional 'if(COMMAND'
- add CMAKE_EXPERIMENTAL_GENERATE_SBOM in presets
- Update xpFindPkg to use GTest:: targets instead of xpro::
- Add Threads dependency so GTest can be found via CPS
- Enable test builds (remove if(FALSE) condition)
- Set C++14 standard for test targets only (Google Test v1.16.0+ requires C++14)
- Keep main library at C++11 compatibility

This allows tests to build with newer Google Test versions while maintaining
backward compatibility for the main RapidJSON library.
- Replace sprintf() with snprintf() throughout test code to fix deprecation warnings
- Fix sign conversion warnings in readertest.cpp by using auto type deduction
- Update TYPED_TEST_CASE to TYPED_TEST_SUITE for Google Test v1.16.0+ compatibility
- Maintain buffer safety with proper sizeof() parameters for all snprintf calls

These changes resolve compilation errors when building with -Werror and modern
compiler warnings while preserving all existing functionality.
- Increase buffer sizes from 1024 to 4096 bytes in test file path handling
- Prevents GCC -Werror=format-truncation= warnings when concatenating paths
- Updates all affected test files that use snprintf for path construction
- Maintains buffer safety while providing adequate space for long file paths

Resolves Linux build failures with GCC while preserving cross-platform compatibility.
@smanders smanders added dependencies dependency updates xpupdate externpro update automation labels May 19, 2026
smanders added 7 commits May 19, 2026 15:34
- Increase temp buffer size in u32toa_naive from 10 to 12 bytes
- Increase temp buffer size in u64toa_naive from 20 to 22 bytes
- Prevents GCC -Werror=stringop-overflow warnings on maximum integer values
- Provides adequate space for digit conversion algorithm overhead

Resolves CI build failures with strict compiler overflow detection.
- Fix memmove and memcpy operations to copy from s.s instead of s
- Resolves GCC array-bounds warning in UTF16 string handling
- GenericStringRef contains string data in 's' member, not the object itself
- Prevents potential buffer overflow detection by strict compilers

Fixes CI build failures on platforms with aggressive array-bounds checking.
- Only run valgrind test when build type is Debug or Release
- Prevents valgrind test failure when using RelWithDebInfo build type
- Matches unittest test availability conditions
- Fixes CI test failures on Linux containers with non-standard build types

Resolves "No such file or directory" errors when unittest executable
is not available for the current build configuration.
- Replace std::memmove and std::memcpy with explicit loops
- Prevents GCC array-bounds warnings in UTF16 string handling
- Compiler cannot verify source buffer size for bulk operations
- Character-by-character copy avoids static analysis bounds checking
- Maintains identical functionality for all string encodings

Resolves CI build failures on platforms with aggressive compiler
bounds checking and optimization levels. (rocky8-gcc9)
- Increase uint32_t/int32_t buffer sizes from 11/12 to 16 bytes
- Increase uint64_t/int64_t buffer sizes from 21/22 to 24 bytes
- Increase temp buffers in u32toa_naive and u64toa_naive functions
- Prevents GCC -Werror=stringop-overflow warnings on maximum values
- Provides safety margin for integer-to-string conversion algorithms

Resolves CI build failures with strict compiler overflow detection
and ensures adequate space for all possible integer values.
- Add null pointer validation before accessing string source data
- Ensure source buffer is valid before character-by-character copy
- Provide safe fallback (null terminator) when source is invalid
- Prevents GCC array-bounds warnings in UTF16 string handling
- Maintains functionality while satisfying strict compiler analysis

Resolves CI build failures on platforms with aggressive bounds checking
and prevents potential access to invalid memory locations.
- Add validation before memcpy in Append token operation
- Ensure both destination and source pointers are valid
- Add null check for nameBuffer_ in CopyFromRaw function
- Prevents GCC stringop-overflow and array-bounds warnings
- Maintains functionality while preventing invalid memory access

Resolves CI build failures on platforms with strict compiler
bounds checking and prevents potential crashes from null pointers.
@smanders smanders added the release:tag Tag release on merge label May 19, 2026
@smanders smanders merged commit e59238e into xpro May 19, 2026
22 checks passed
@smanders smanders deleted the xpupdate-26.01.1-9-g32f46e4-26126297463-1 branch May 19, 2026 22:06
@smanders
Copy link
Copy Markdown
Collaborator Author

issue externpro/externpro#322

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies dependency updates release:tag Tag release on merge xpupdate externpro update automation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant