Skip to content

Commit 8d8b155

Browse files
Updated changelog
1 parent 12f7e12 commit 8d8b155

1 file changed

Lines changed: 54 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,59 @@
11
# Changelog
22

3+
## 0.9.0 (2021-07-15)
4+
5+
### Breaking changes
6+
7+
- `FAIterators.intersection` no longer accepts options.
8+
- Removed the `IntersectionOptions` interface. Use the new `FACreationOptions` interface or any of the FA-specific interfaces instead.
9+
- Removed custom equality functions for `CharMap`.
10+
- The constructor of `FAIterators.MapFABuilder` changed slightly. It now accepts arguments as parameters instead of as an object.
11+
- Some renaming:
12+
- `FAIterator#deterministicOut` -> `FAIterator#stableOut`
13+
- `FAIterators.ensureDeterministicOut` -> `FAIterators.ensureStableOut`
14+
- `CharMap#{delete,set}Every` -> `CharMap#{delete,set}Range`
15+
16+
### Added
17+
18+
- Added support for the new JS RegExp [`hasIndices` flag](https://github.com/tc39/proposal-regexp-match-indices).
19+
- New `WordSet` and `ReadonlyWordSet` types.
20+
- New `CharBase` class. This provides methods to remap alphabets.
21+
- Added `CharMap#clear`.
22+
- Added `CharMap#filter`.
23+
- Added `CharMap#invert` to convert `CharMap`s to `Map`s.
24+
- Added `CharMap#setCharSet` to more efficiently set many ranges.
25+
- Added `CharSet#characters` to iterate over all characters in a set.
26+
- Added `CharSet#toRangesString` to print only the ranges of a set.
27+
- Added `CharSet.fromCharacters` to create a set from a collection of characters.
28+
- `FAIterators.shortestAcceptingPath` returns the shortest accepting path of arbitrary iterators.
29+
- `FAIterators.shortestWordSet` returns the shortest accepted word set of an iterator.
30+
- `FAIterators.makeInitialFinal` and `FAIterators.makeInitialNonFinal` changes whether the initial state is also a final state.
31+
- `FAIterators.approximateRejectingWordSet` tries to find a rejected word set.
32+
- `FAIterators.makeDeterministic` builds a deterministic version of an iterator. This is a general DFA construction.
33+
- `Words.wordSetsToWords` converts a collections of word sets into a collection of words.
34+
35+
### Changed
36+
37+
- refa is now allowed to assume all given `Char`s and `CharRange`s conform to the guarantees given by the interface. This includes guarantees that cannot be verified at compile time (e.g. `min <= max` for `CharRange`).
38+
- `Words.pickMostReadableWord` will now always return a word.
39+
- `{DFA,ENFA,NFA}#{isDisjointWith,getIntersectionWords,getIntersectionWordSets}` are now deprecated and will be removed in future releases.
40+
- `Words.wordSetToWords` is now deprecated. Use `Words.wordSetsToWords` instead (mind the s).
41+
42+
### Fixed
43+
44+
- `ReadonlyCharMap#isEmpty` is now a readonly property.
45+
- Fixed `JS.Parser` incorrectly caching parsed characters.
46+
- Fixed `JS.Parser` incorrectly canonicalizing Unicode property escapes.
47+
- Fixed `DFA.NodeList#removeUnreachable` removing reachable states sometimes.
48+
49+
### Improved
50+
51+
- Many, many minor improvements (code quality, documentation, etc.).
52+
- 10x faster `wordSetToWords`. All methods iterating words will now be faster.
53+
- Pretty much all DFA operations will be faster. DFA minimization is up to 20x faster.
54+
- Faster NFA creation.
55+
56+
357
## 0.8.0 (2021-04-29)
458

559
### Breaking changes

0 commit comments

Comments
 (0)