Skip to content

Releases: ethereum/c-kzg-4844

v2.0.1

03 Sep 13:27
1cf06e1
Compare
Choose a tag to compare

Overview

This is a minor release which fixes package publishing issues for some bindings.

What's Changed

Full Changelog: v2.0.0...v2.0.1

v2.0.0

20 Aug 11:25
252a6b2
Compare
Choose a tag to compare

This is a major release which adds support for EIP-7594 (PeerDAS).

Notable changes:

  • The codebase implements and exposes all public methods of the EIP-7594 cryptography specification.
  • The trusted setup format has been updated to include G1 points in monomial form.
    • This version of c-kzg-4844 requires the new trusted setup file.
    • The new trusted setup file can be used with previous versions of c-kzg-4844.
    • Download the new file from trusted_setup.txt in this repository.
    • This should match trusted_setup_4096.json in the specifications.
  • A new precompute parameter has been added to functions which load the trusted setup.
    • This configuration option is used to optimize FK20 proof computations.
    • Higher values will compute FK20 proofs faster but use more memory.
    • Compared to precompute=0, precompute=8 is ~75% faster but uses 96 MiB of memory.
  • In the Nim bindings, the "zero overhead aliases" have been removed.
    • There is only a single set of API functions exposed now.
  • In the Rust bindings, the API functions have been moved to the KzgSettings structure.
    • For example, here is the before and after for blob_to_kzg_commitment:
      • KZGCommitment::blob_to_kzg_commitment(&blob, &kzg_settings)
      • kzg_settings.blob_to_kzg_commitment(&blob)

What's Changed

New Contributors

Full Changelog: v1.0.3...v2.0.0

v1.0.3

18 Jul 15:33
75d569b
Compare
Choose a tag to compare

Overview

This is a minor release which includes various improvements to the bindings and upgrades the blst library.

This is expected to be the last v1 release. We plan to make a v2 release with EIP-7594 support soon-ish.

What's Changed

  • feat(rust): Add ethereum kzg settings by @rakita in #443
  • Upgrade blst to v0.3.12 by @jtraglia in #445
  • fix: add crate description to Cargo.toml by @Rjected in #429
  • nim-bindings: Lift restriction of yaml test on Nim v2.x by @jangko in #431
  • nim-bindings: Fix GCC-14 [-Wincompatible-pointer-types] issue by @jangko in #430
  • use stand-alone results library by @arnetheduck in #432
  • [nim] Add completeStruct pragma which workarounds Nim compiler's issue with C codegen. by @cheatfate in #437
  • fix(rust): define NDEBUG when debug assertions are off by @DaniPopes in #450
  • Add EIP-7594 reference tests by @jtraglia in #453
  • Update versions in preparation for release 1.0.3 by @asn-d6 in #455

New Contributors

Full Changelog: v1.0.2...v1.0.3

v1.0.2

07 May 20:31
c389572
Compare
Choose a tag to compare

Overview

This is a minor release which includes various improvements to the bindings.

What's Changed

New Contributors

Full Changelog: v1.0.1...v1.0.2

v1.0.1

26 Mar 20:11
1ef67c1
Compare
Choose a tag to compare

Overview

This minor release improves the Rust bindings and fixes a path issue in the Nim bindings.

What's Changed

  • Fixed NixOs vendoring issue by @akorchyn in #409
  • feat: impl AsRef for Bytes32 and Bytes48 by @Rjected in #411
  • use strutils.escape to handle special characters in KZG directory paths in Nim bindings by @tersec in #412

New Contributors

Full Changelog: v1.0.0...v1.0.1

v1.0.0

12 Mar 14:00
43a13f3
Compare
Choose a tag to compare

Overview

This major release introduces the following improvements to the bindings:

  • The Go bindings now pass blobs by reference rather than by value.
    • This improves heap hygiene by reducing allocations when passing blobs.
    • This change is not backward-compatible.
  • Ergonomics of the Rust bindings have been improved for better usability.
  • The Python bindings' build system has been refined.

This is the last scheduled release before Dencun hits mainnet tomorrow. Godspeed! 🎉

Thank you to everyone that made this happen! 🙏

What's Changed

  • Upload python wheels on Linux runner by @jtraglia in #404
  • Add workflow_dispatch to python release action by @jtraglia in #405
  • Add more information in setuptools.setup() by @jtraglia in #406
  • go-bindings: pass large arrays by ref instead of value by @holiman in #393
  • feat: derive hash for generated types by @mattsse in #407
  • Update versions in preparation for release by @jtraglia in #408

New Contributors

Full Changelog: v0.4.3...v1.0.0

v0.4.3

04 Mar 17:08
098a4dd
Compare
Choose a tag to compare

Overview

This minor release improves the Python bindings and streamlines the Python release process, while also incorporating minor improvements and bug fixes across other bindings.

What's Changed

New Contributors

Full Changelog: v0.4.2...v0.4.3

v0.4.2

19 Feb 10:59
0bbeded
Compare
Choose a tag to compare

Overview

This minor release activates the portable feature of blst by default within the Rust bindings.

What's Changed

  • chore: make standalone portable feature, enabled by default by @Rjected in #391

Full Changelog: v0.4.1...v0.4.2

v0.4.1

06 Feb 17:45
fd669bf
Compare
Choose a tag to compare

Overview

This is a minor release with various improvements to the bindings.

What's Changed

New Contributors

Full Changelog: v0.4.0...v0.4.1

v0.4.0

19 Oct 12:36
748283c
Compare
Choose a tag to compare

Overview

This release incorporates the official trusted setup and removes the distinction between mainnet and minimal builds (see #377). The release also features several general improvements for the bindings.

What's Changed

New Contributors

Full Changelog: v0.3.1...v0.3.2