@@ -5,6 +5,7 @@ All notable changes to this project will be documented in this file.
55The format is based on [ Common Changelog] ( https://common-changelog.org/ ) , and this project adheres to
66[ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
77
8+ [ 4.0.0 ] : https://github.com/PaulRBerg/prb-math/compare/v3.3.2...v4.0.0
89[ 3.3.2 ] : https://github.com/PaulRBerg/prb-math/compare/v3.3.1...v3.3.2
910[ 3.3.1 ] : https://github.com/PaulRBerg/prb-math/compare/v3.3.0...v3.3.1
1011[ 3.3.0 ] : https://github.com/PaulRBerg/prb-math/compare/v3.2.0...v3.3.0
@@ -29,6 +30,50 @@ The format is based on [Common Changelog](https://common-changelog.org/), and th
2930[ 1.0.1 ] : https://github.com/PaulRBerg/prb-math/compare/v1.0.0...v1.0.1
3031[ 1.0.0 ] : https://github.com/PaulRBerg/prb-math/releases/tag/v1.0.0
3132
33+ ## [ 4.0.0] - 2023-04-13
34+
35+ ### Changed
36+
37+ - ** Breaking** : Rename ` fromSD590x18 ` , ` fromUD60x18 ` , ` toSD59x18 ` , and ` toUD60x18 ` to ` convert ` (@PaulRBerg )
38+ - ** Breaking** : Rename ` Core.sol ` to ` Common.sol ` (@PaulRBerg )
39+ - ** Breaking:** Set minimum compiler pragma to ` >=0.8.19 ` (@PaulRBerg )
40+ - Bump Node.js dependencies (@PaulRBerg )
41+ - Bump submodules (@PaulRBerg )
42+ - Clarify rounding modes ([ 6bb53eada291] ( https://github.com/PaulRBerg/prb-math/tree/6bb53ea ) ) (@PaulRBerg )
43+ - Clarify that ` mulDiv ` rounds toward zero ([ cda291] ( https://github.com/PaulRBerg/prb-math/tree/cda291 ) ) (@PaulRBerg )
44+ - Fix typo in code snippet in README ([ #180 ] ( https://github.com/PaulRBerg/prb-math/pull/180 ) ) (@cygaar )
45+ - Format contracts with Forge Formatter (@PaulRBerg )
46+ - Improve writing and formatting in documentation (@PaulRBerg )
47+ - Make a distinction between ` lpotdod ` and its flipped counterpart in ` Common.mulDiv ` (@PaulRBerg )
48+ - Open pragma in test assertions and utils (@PaulRBerg )
49+ - Reorder statements in ` Common.mulDiv18 ` (@PaulRBerg )
50+ - Rename ` Common.prbExp2 ` to ` Common.exp2 ` (@PaulRBerg )
51+ - Rename ` Common.prbSqrt ` to ` Common.sqrt ` (@PaulRBerg )
52+ - Rename ` Assertions ` to ` PRBMathAssertions ` (@PaulRBerg )
53+ - Return base when exponent is unit in ` pow ` ([ #182 ] ( https://github.com/PaulRBerg/prb-math/pull/182 ) ) (@PaulRBerg )
54+ - Return unit when base is unit in ` pow ` ([ #182 ] ( https://github.com/PaulRBerg/prb-math/pull/182 ) ) (@PaulRBerg )
55+ - Switch to Pnpm for Node.js package management (@PaulRBerg )
56+ - Use bound ` unwrap ` instead of imported ` unwrap ` (@PaulRBerg )
57+ - Use long names in named imports (@PaulRBerg )
58+
59+ ### Added
60+
61+ - Add ` EXP_MAX_INPUT ` and ` EXP2_MAX_INPUT ` constants, and use them in ` exp ` and ` exp2 ` (@PaulRBerg )
62+ - Add ` UNIT_SQUARED ` and use it instead of the hard coded value (@PaulRBerg )
63+ - Add user-defined operators ([ #168 ] ( https://github.com/PaulRBerg/prb-math/pull/168 ) ) (@Amxx ,@PaulRBerg )
64+ - Add unary operator ([ #173 ] ( https://github.com/PaulRBerg/prb-math/pull/173 ) ) (@Lumyo ,@PaulRBerg )
65+ - Expand domain of ` pow ` in ` UD60x18 ` by allowing inputs lower than ` UNIT ` ([ #182 ] ( https://github.com/PaulRBerg/prb-math/pull/182 ) ) (@PaulRBerg )
66+
67+ ### Removed
68+
69+ - Remove "memory-safe" annotation in test assertions (@PaulRBerg )
70+ - Remove development-related Node.js dependencies (@PaulRBerg )
71+ - Remove superfluous threshold check in ` SD59x19.exp ` (@PaulRBerg )
72+
73+ ### Fixed
74+
75+ - Fix bit mask in ` Common.exp2 ` ([ #179 ] ( https://github.com/PaulRBerg/prb-math/pull/179 ) ) (@andreivladbrg )
76+
3277## [ 3.3.2] - 2023-03-19
3378
3479### Changed
@@ -210,7 +255,7 @@ The format is based on [Common Changelog](https://common-changelog.org/), and th
210255
211256### Removed
212257
213- - ` @param ` tags for custom errors NatSpec (@PaulRBerg )
258+ - Remove ` @param ` tags in custom errors' NatSpec (@PaulRBerg )
214259
215260## [ 2.1.0] - 2021-06-27
216261
@@ -232,7 +277,7 @@ The format is based on [Common Changelog](https://common-changelog.org/), and th
232277### Removed
233278
234279- Remove stale ` hardhat/console.sol ` import (@PaulRBerg )
235- - Remove stale caveat in ` sqrt ` function NatSpec (@PaulRBerg )
280+ - Remove stale caveat in the NatSpec for ` sqrt ` (@PaulRBerg )
236281
237282## [ 2.0.1] - 2021-06-16
238283
@@ -250,8 +295,8 @@ The format is based on [Common Changelog](https://common-changelog.org/), and th
250295
251296### Changed
252297
298+ - ** Breaking** : Rename ` PRBMathCommon.sol ` to ` PRBMath.sol ` (@PaulRBerg )
253299- Increase the accuracy of ` exp2 ` by using the 192.64-bit format instead of 128.128-bit (@PaulRBerg )
254- - Rename ` PRBMathCommon.sol ` to ` PRBMath.sol ` (@PaulRBerg )
255300- Set named parameter instead of returning result in ` pow ` functions (@PaulRBerg )
256301- Update gas estimates for ` exp ` and ` exp2 ` (@PaulRBerg )
257302
@@ -303,7 +348,7 @@ _This release was yanked because it was accidentally published with the wrong ve
303348
304349### Changed
305350
306- - Optimize the ` pow ` function in PRBMathUD60x18.sol by calling ` mulDivFixedPoint ` directly (@PaulRBerg )
351+ - Optimize the ` pow ` function in ` PRBMathUD60x18 ` by calling ` mulDivFixedPoint ` directly (@PaulRBerg )
307352
308353## [ 1.0.3] - 2021-04-20
309354
@@ -314,13 +359,13 @@ _This release was yanked because it was accidentally published with the wrong ve
314359
315360### Removed
316361
317- - Remove ` SCALE_LPOTD ` and ` SCALE_INVERSE ` constants in PRBMathSD59x18.sol (@PaulRBerg )
362+ - Remove ` SCALE_LPOTD ` and ` SCALE_INVERSE ` constants in ` PRBMathSD59x18 ` (@PaulRBerg )
318363
319364## [ 1.0.2] - 2021-04-19
320365
321366### Removed
322367
323- - Remove stale ` SCALE_LPOTD ` and ` SCALE_INVERSE ` constants in PRBMathUD60x18.sol (@PaulRBerg )
368+ - Remove stale ` SCALE_LPOTD ` and ` SCALE_INVERSE ` constants in ` PRBMathUD60x18 ` (@PaulRBerg )
324369
325370## [ 1.0.1] - 2021-04-19
326371
0 commit comments