|
1 | 1 | # Changelog |
2 | 2 |
|
3 | | -## Unreleased |
4 | | - |
| 3 | +## v0.68.0 - Unreleased |
| 4 | + |
| 5 | +- The dict implementation has been rewritten implementing the CHAMP (Compressed |
| 6 | + Hash Array Mapped Prefix-trees) data structure as described by M.J. Steindorfer |
| 7 | + and J.J. Vinju in Optimizing Hash-Array Mapped Tries for Fast and Lean |
| 8 | + Immutable JVM Collections. |
| 9 | + - 50% reduction in code size |
| 10 | + - 10-30% faster get and insert operations |
| 11 | + - O(log n) equality checks, orders of magnitude faster bulk operations and iteration |
| 12 | +- `uri.query_to_string` now correctly handles `+` in query params. |
| 13 | +- The deprecated `result.then`, `result.unwrap_both`, `function.tap`, |
| 14 | + `int.digits`, and `int.undigits` functions have been removed. |
5 | 15 | - The `bit_array` module gains the `split` and `split_once` functions. |
| 16 | + |
| 17 | +## v0.67.1 - 2025-12-03 |
| 18 | + |
| 19 | +- Fixed `int.clamp` and `float.clamp` behaviours when `min_bound` is bigger |
| 20 | + than `max_bound`. |
| 21 | + |
| 22 | +## v0.67.0 - 2025-11-24 |
| 23 | + |
| 24 | +- The `failure` from the `dynamic/decode` module gains the `expected` label. |
| 25 | +- The `dynamic/decode` module now uses the term "placeholder value" rather than |
| 26 | + "zero value". |
| 27 | +- The `tap` function from the `function` module has been deprecated. |
| 28 | + |
| 29 | +## v0.65.0 - 2025-09-29 |
| 30 | + |
| 31 | +- The performance of the `drop_start` function from the `string` module has |
| 32 | + been improved. |
| 33 | + |
| 34 | +## v0.64.0 - 2025-09-25 |
| 35 | + |
| 36 | +- The `unwrap_both` function of the `result` module has been deprecated. |
| 37 | + |
| 38 | +## v0.63.2 - 2025-09-15 |
| 39 | + |
| 40 | +- The performance of the `list.permutations` function has been improved. |
| 41 | + |
| 42 | +## v0.63.1 - 2025-09-12 |
| 43 | + |
| 44 | +- The performance of the `string.drop_start` function has been improved. |
| 45 | +- `string.slice` now correctly handles zero-length slices. |
| 46 | + |
| 47 | +## v0.63.0 - 2025-09-07 |
| 48 | + |
| 49 | +- The performance of the `string.repeat` function has been improved. It now runs |
| 50 | + in loglinear time. |
| 51 | +- Fixed a bug in the `uri.parse` function where parsing a uri with an empty port |
| 52 | + would produce an invalid value. |
| 53 | + |
| 54 | +## v0.62.1 - 2025-08-07 |
| 55 | + |
| 56 | +- `string.inspect` now shows Erlang atoms as `atom.create("value")`, to match |
| 57 | + the latest version of `gleam_erlang`. |
| 58 | + |
| 59 | +## v0.62.0 - 2025-07-10 |
| 60 | + |
| 61 | +- The `digits` and `undigits` functions of the `int` module have been deprecated. |
| 62 | + |
| 63 | +## v0.61.0 - 2025-06-28 |
| 64 | + |
| 65 | +- The fallback code for older NodeJS versions in the JavaScript target |
| 66 | + implementation of `string.replace` has been removed. |
| 67 | +- The `inspect` function in the `string` module will now print lists of ascii |
| 68 | + characters in a human readable format, to aid with debugging programs that use |
| 69 | + Erlang character lists. |
| 70 | +- The deprecated `debug` function in the `io` module has been removed. |
| 71 | +- The deprecated `from` function in the `dynamic` module has been removed. |
| 72 | +- Fixed a bug in the `sample` function from the `list` module where it would end |
| 73 | + up picking the same element twice from a given list. |
| 74 | +- Improved formatting of JavaScript errors in `string.inspect`. |
| 75 | +- JavaScript circular references can now be printed by `string.inspect`. |
| 76 | +- The alias `result.then` was deprecated in favour of using `result.try` |
| 77 | + directly. |
| 78 | + |
| 79 | +## v0.60.0 - 2025-05-13 |
| 80 | + |
| 81 | +- The deprecated items in the `dynamic` module have been removed. |
| 82 | +- The `from` function in the `dynamic` module has been deprecated. |
| 83 | +- The `array`, `bit_array`, `bool`, `float`, `int`, `list`, `nil`, `properties`, |
| 84 | + and `string` functions have been added to the `dynamic` module. |
| 85 | +- The `classify` function in the `dynamic` module now understands more Erlang |
| 86 | + types and uses the term "Array" rather than "Tuple" for Erlang tuples and |
| 87 | + JavaScript arrays. |
| 88 | +- The performance of various functions in the `list` module has been improved. |
| 89 | +- Fixed the implementation of `option.values` and `option.all` to be tail |
| 90 | + recursive. |
| 91 | + |
| 92 | +## v0.59.0 - 2025-04-07 |
| 93 | + |
| 94 | +- The `debug` function in the `io` module has been deprecated in favour of |
| 95 | + the `echo` keyword. |
| 96 | +- The performance of `string.append`, `string.join`, and `string.concat` have |
| 97 | + been improved. |
| 98 | + |
| 99 | +## v0.58.0 - 2025-03-23 |
| 100 | + |
| 101 | +- The deprecated `pop` and `pop_map` functions have been removed from the |
| 102 | + `list` module. |
| 103 | + |
| 104 | +## v0.57.0 - 2025-03-11 |
| 105 | + |
| 106 | +- The minimum supported Gleam version has been increased to 1.9.0. |
| 107 | +- The functions in the `bit_array` module now support unaligned bit arrays on |
| 108 | + the JavaScript target. |
| 109 | +- Fixed a bug where tuples with atoms in the first position could be formatted |
| 110 | + incorrectly by `string.inspect`. |
| 111 | + |
| 112 | +## v0.56.0 - 2025-03-09 |
| 113 | + |
| 114 | +- The decode API can now index into the first 8 elements of lists. |
| 115 | + |
| 116 | +## v0.55.0 - 2025-02-21 |
| 117 | + |
| 118 | +- The performance of `dict.is_empty` has been improved. |
| 119 | +- The `flip` function in the `function` module has been deprecated. |
6 | 120 | - The `uri` module gains the `empty` value, representing an empty URI which |
7 | 121 | equivalent to `""`. |
8 | 122 |
|
|
47 | 161 |
|
48 | 162 | ## v0.48.0 - 2024-12-17 |
49 | 163 |
|
50 | | -- Fixed a bug where `string.utf_codepoint` would erronously accept negative input. |
| 164 | +- Fixed a bug where `string.utf_codepoint` would erroneously accept negative input. |
51 | 165 | - The deprecated `string_builder` and `bytes_builder` modules have been removed. |
52 | 166 |
|
53 | 167 | ## v0.47.0 - 2024-12-10 |
|
0 commit comments