Skip to content

Releases: oopsio/nanosha256

Release list

v1.0.0

Choose a tag to compare

@oopsio oopsio released this 31 Mar 16:30
e1e285b

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

1.0.0 - 2026-03-31

Added

  • nanosha256.h: Initial release of a high-performance, single-header C library for SHA-256 (FIPS 180-4).
  • Streaming API: Added SHA256_CTX and SHA256_Update for handling arbitrary-length messages.
  • Low-Level Primitives: Exposed sha256_init, sha256_transform, and sha256_final for specialized use-cases.
  • Optimizations: Fully unrolled 64-round compression loop with inline bitwise macros.
  • Documentation: Professional Markdown-to-HTML build system with minification via @swc/html.
  • CI/CD: GitHub Actions workflow for automated docs deployment.
  • Community Standards: Added CONTRIBUTING, CODE_OF_CONDUCT, SECURITY, and issue/PR templates.
  • Verification Suite: Integrated NIST/FIPS test suite in test.c.

Changed

  • Refactored sha256.h to nanosha256.h with enhanced security guards.

Security

  • Added NULL pointer validation for all public API functions.
  • Integrated integer overflow protection in global message length tracking.
  • Implemented secure memory cleanup (memset) to wipe sensitive state/buffer from memory after finalization.
  • Alignment-safe byte loading via memcpy for portable binary compatibility.