Skip to content

Release 0.3.0#32

Merged
titusz merged 127 commits intomainfrom
develop
Mar 8, 2026
Merged

Release 0.3.0#32
titusz merged 127 commits intomainfrom
develop

Conversation

@titusz
Copy link
Member

@titusz titusz commented Mar 8, 2026

Release 0.3.0

Version bump and manifest sync for release 0.3.0.

Publishes to: crates.io, PyPI, npm (@iscc/lib, @iscc/wasm), Maven Central, GitHub Releases (FFI), RubyGems, Go proxy, NuGet.

CID Agent added 30 commits March 5, 2026 08:05
- Create crates/iscc-rb/CLAUDE.md with cross-compilation knowledge
- Update learnings.md with release pipeline insights
- Update release skill with RubyGems registry and re-trigger guidance
- Update CLAUDE.md to note RubyGems OIDC trusted publishing
Create packages/dotnet/ with Iscc.Lib class library and xUnit test project.
IsccLib.ConformanceSelftest() calls into iscc-ffi via P/Invoke and passes.
Add .NET 8 SDK installation to Dockerfile.
Add dotnet job that builds FFI shared library and runs .NET smoke
tests via xUnit. Uses actions/setup-dotnet@v4 with .NET 8, passes
LD_LIBRARY_PATH via dotnet test -e flag for vstest child process.
…appers next

NativeMethods.g.cs (929 lines, 47 externs) auto-generated by csbindgen in
crates/iscc-ffi/build.rs. CI run 22714072781: all 13 jobs green. Next step
is idiomatic C# wrappers in IsccLib.cs covering all 32 Tier 1 symbols.
Create IsccException and rewrite IsccLib.cs with UTF-8 marshaling
infrastructure (ToNativeUtf8, ConsumeNativeString, GetLastError) plus
PascalCase wrappers for 5 constants, 4 text utilities, 4 gen functions,
and refactored ConformanceSelftest delegating to NativeMethods. All 16
tests pass, 0 warnings.
- Node.js 20 → 22 (20 reaches EOL April 2026)
- Go 1.24.0 → 1.26.1 (1.24 is out of support; bump go.mod to match)
- Python 3.12 → 3.13 (3.12 is security-only; 3.13 is active bugfix)
…mbols)

Add DecodeResult record, IsccDecode, IsccDecompose, EncodeComponent, and
SlidingWindow to the .NET binding. Extract ConsumeNativeStringArray helper
for NULL-terminated byte** marshaling. 4 new smoke tests, all 29 pass.
CID Agent added 28 commits March 8, 2026 08:09
Replace always-open `!!! note` admonition claiming NuGet is unavailable
with collapsed `??? tip` for optional build-from-source instructions.
The NuGet publish pipeline already exists in release.yml.
…h fix applied

- All 9 verification criteria pass (20 pages generated, all 6 missing files present)
- Minor fix: str(rel) → rel.as_posix() for Windows path separator compatibility
- Deleted resolved "View as Markdown" issue from issues.md
Rewrote conanfile.py from broken CMake-based recipe to pre-built binary
recipe that downloads platform-specific FFI tarballs from GitHub Releases.
Mirrors the vcpkg portfile platform mapping (5 targets). Removes
exports_sources, CMake generators, and compiler/build_type settings.
…gs noted

All verification criteria pass. Recipe correctly downloads pre-built FFI
tarballs for 5 platforms mirroring vcpkg portfile. Resolved normal-priority
Conan issue. Filed low-priority cxxflags concern for MSVC consumers.
Only low-priority issues remain — signaling IDLE.
…gs, version sync, SHA512, logos)

Incremental review of packages/cpp/conanfile.py change. The broken Conan recipe
(package() only copying headers) is now resolved — pre-built FFI binaries are
downloaded and packaged correctly for all 5 platforms. Four normal-priority
issues remain: MSVC-incompatible cxxflags, missing version sync for vcpkg/conan
manifests, vcpkg SKIP_SHA512, and missing language logos. CI run 22818410289
all 14 jobs green.
Remove MSVC-incompatible `-std=c++17` cxxflags from Conan recipe.
Add packages/cpp/vcpkg.json and packages/cpp/conanfile.py as version
sync targets in scripts/version_sync.py.
Replace SKIP_SHA512 with actual SHA512 checksums for all 5 platform
tarballs from the v0.2.0 release, strengthening supply-chain integrity
for vcpkg consumers.
Add inline Simple Icons CDN logos to all 18 language headers
(9 Installation + 9 Quick Start). Consistent 20x20 sizing with
alt text for accessibility.
- C#: initialize all 7 empty-span sentinel variables to zero
- C++: add try/catch in iscc_decode and gen_sum_code_v0 to ensure native
  result is freed on exception during success-path string copies
- C++: use std::filesystem::temp_directory_path() for cross-platform tests
- C#: add thread-safety documentation to streaming hasher types
NUGET_API_KEY GitHub Actions secret is now set. Update state.md,
dotnet-bindings spec, and ci-cd spec to reflect NuGet publishing
readiness and add NuGet to registry tables and checklists.
- Expand test-nuget to a matrix (ubuntu, macos, windows) so all five
  RID-specific native payloads are exercised before publish
- Fix pkg-config example version 0.0.4 → 0.2.0 in C/C++ how-to
Update registry verification, summary, re-trigger flags, auth docs,
and expected version-sync candidates to include NuGet.
@titusz titusz changed the title Add C#/.NET bindings and C++ header-only wrapper Release 0.3.0 Mar 8, 2026
@titusz titusz merged commit abf595c into main Mar 8, 2026
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant