You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+10-2Lines changed: 10 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,18 +5,25 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
-
## [Unreleased]
8
+
## [0.4.0] - 2023-09-04
9
9
10
10
#### Added
11
11
- New module `ellswift` implements ElligatorSwift encoding for public keys and x-only Diffie-Hellman key exchange for them.
12
12
ElligatorSwift permits representing secp256k1 public keys as 64-byte arrays which cannot be distinguished from uniformly random. See:
13
13
- Header file `include/secp256k1_ellswift.h` which defines the new API.
14
14
- Document `doc/ellswift.md` which explains the mathematical background of the scheme.
15
15
- The [paper](https://eprint.iacr.org/2022/759) on which the scheme is based.
16
+
- We now test the library with unreleased development snapshots of GCC and Clang. This gives us an early chance to catch miscompilations and constant-time issues introduced by the compiler (such as those that led to the previous two releases).
17
+
18
+
#### Fixed
19
+
- Fixed symbol visibility in Windows DLL builds, where three internal library symbols were wrongly exported.
16
20
17
21
#### Changed
18
22
- When consuming libsecp256k1 as a static library on Windows, the user must now define the `SECP256K1_STATIC` macro before including `secp256k1.h`.
19
23
24
+
#### ABI Compatibility
25
+
This release is backward compatible with the ABI of 0.3.0, 0.3.1, and 0.3.2. Symbol visibility is now believed to be handled properly on supported platforms and is now considered to be part of the ABI. Please report any improperly exported symbols as a bug.
26
+
20
27
## [0.3.2] - 2023-05-13
21
28
We strongly recommend updating to 0.3.2 if you use or plan to use GCC >=13 to compile libsecp256k1. When in doubt, check the GCC version using `gcc -v`.
22
29
@@ -97,7 +104,8 @@ This version was in fact never released.
97
104
The number was given by the build system since the introduction of autotools in Jan 2014 (ea0fe5a5bf0c04f9cc955b2966b614f5f378c6f6).
98
105
Therefore, this version number does not uniquely identify a set of source files.
0 commit comments