Skip to content

Commit 498451a

Browse files
committed
Update CHANGELOG for v1.2.1 and v1.2.0 improvements
Added details for v1.2.1, including performance optimizations, bug fixes, and new tests.
1 parent 4d0ccc4 commit 498451a

1 file changed

Lines changed: 17 additions & 10 deletions

File tree

CHANGELOG.md

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,37 @@
22

33
All notable changes to this project are documented in this file.
44

5-
## [1.2.0] - 2025-12-20
6-
### Changed
7-
- `reverse/1` now uses the BEAM stdlib grapheme segmentation (`string.to_graphemes`) for better Unicode correctness and consistency across the library.
8-
9-
### Performance
10-
- Optimized `count/3` internals to avoid repeated `list.length` calls inside recursive loops, improving performance on long strings.
11-
12-
13-
Contributed by: Daniele (`lupodevelop`)
14-
155
## [1.2.1] - 2026-01-02
166
### Fixed
177
- Made `repeat_str/2` iterative to avoid deep recursion and improve performance on large repetition counts.
188
- Fixed `wrap_at/2` to measure word lengths using grapheme clusters to avoid splitting emoji and other multi-codepoint graphemes.
199
- Replaced several `string.length(part) == 0` checks with `string.is_empty(part)` for clarity.
2010

11+
### Performance
12+
- Optimized `find_common_prefix` to accept pre-segmented grapheme lists (`List(List(String))`) to avoid repeated `string.to_graphemes` conversions and expensive string concatenation/drop operations in recursive calls, reducing allocations and improving performance on lists of long strings (contributed by Miao `lemorage`).
13+
14+
2115
### Tests
2216
- Added `wrap_at_emoji_grapheme_test` to verify grapheme-aware wrapping behavior.
2317

2418
### Style
2519
- Ran `gleam format` to normalize formatting.
2620

21+
Contributed by: Daniele (`lupodevelop`), Miao (`lemorage`)
22+
23+
## [1.2.0] - 2025-12-20
24+
### Changed
25+
- `reverse/1` now uses the BEAM stdlib grapheme segmentation (`string.to_graphemes`) for better Unicode correctness and consistency across the library.
26+
27+
### Performance
28+
- Optimized `count/3` internals to avoid repeated `list.length` calls inside recursive loops, improving performance on long strings.
29+
30+
### CI
31+
- Pinned Gleam version in CI and fixed build cache path/key for more reproducible and faster runs.
32+
2733
Contributed by: Daniele (`lupodevelop`)
2834

35+
2936
## [1.1.1] - 2025-11-30
3037
### Fixed
3138
- Robustness fixes for grapheme-aware utilities; resolved parity issues in `ends_with/2` for complex ZWJ sequences.

0 commit comments

Comments
 (0)