on r-p-86 help sign in
text/changelog.md
201 lines 5.9 kB history raw
1### 1.2.3.0
3* Spec compliance: `toCaseFold` now follows the Unicode 9.0 spec
4 (updated from 8.0).
6* Bug fix: the lazy `takeWhileEnd` function violated the
7 [lazy text invariant](https://github.com/bos/text/blob/1.2.3.0/Data/Text/Internal/Lazy.hs#L51)
8 (gh-184).
10* Bug fix: Fixed usage of size hints causing incorrect behavior (gh-197).
12* New function: `unsnoc` (gh-173).
14* Reduce memory overhead in `encodeUTF8` (gh-194).
16* Improve UTF-8 decoder error-recovery (gh-182).
18* Minor documentation improvements (`@since` annotations, more
19 examples, clarifications).
21#### 1.2.2.2
23* The `toTitle` function now correctly handles letters that
24 immediately follow punctuation. Before, `"there's"` would turn into
25 `"There'S"`. Now, it becomes `"There's"`.
27* The implementation of unstreaming is faster, resulting in operations
28 such as `map` and `intersperse` speeding up by up to 30%, with
29 smaller code generated.
31* The optimised length comparison function is now more likely to be
32 used after some rewrite rule tweaking.
34* Bug fix: an off-by-one bug in `takeEnd` is fixed.
36* Bug fix: a logic error in `takeWord16` is fixed.
38#### 1.2.2.1
40* The switch to `integer-pure` in 1.2.2.0 was apparently mistaken.
41 The build flag has been renamed accordingly. Your army of diligent
42 maintainers apologizes for the churn.
44* Spec compliance: `toCaseFold` now follows the Unicode 8.0 spec
45 (updated from 7.0)
47* An STG lint error has been fixed
49### 1.2.2.0
51* The `integer-simple` package, upon which this package optionally
52 depended, has been replaced with `integer-pure`. The build flag has
53 been renamed accordingly.
55* Bug fix: For the `Binary` instance, If UTF-8 decoding fails during a
56 `get`, the error is propagated via `fail` instead of an uncatchable
57 crash.
59* New function: `takeWhileEnd`
61* New instances for the `Text` types:
62 * if `base` >= 4.7: `PrintfArg`
63 * if `base` >= 4.9: `Semigroup`
65#### 1.2.1.3
67* Bug fix: As it turns out, moving the literal rewrite rules to simplifier
68 phase 2 does not prevent competition with the `unpack` rule, which is
69 also active in this phase. Unfortunately this was hidden due to a silly
70 test environment mistake. Moving literal rules back to phase 1 finally
71 fixes GHC Trac #10528 correctly.
73#### 1.2.1.2
75* Bug fix: Run literal rewrite rules in simplifier phase 2.
76 The behavior of the simplifier changed in GHC 7.10.2,
77 causing these rules to fail to fire, leading to poor code generation
78 and long compilation times. See
79 [GHC Trac #10528](https://ghc.haskell.org/trac/ghc/ticket/10528).
81#### 1.2.1.1
83* Expose unpackCString#, which you should never use.
85### 1.2.1.0
87* Added Binary instances for both Text types. (If you have previously
88 been using the text-binary package to get a Binary instance, it is
89 now obsolete.)
91#### 1.2.0.6
93* Fixed a space leak in UTF-8 decoding
95#### 1.2.0.5
97* Feature parity: repeat, cycle, iterate are now implemented for lazy
98 Text, and the Data instance is more complete
100* Build speed: an inliner space explosion has been fixed with toCaseFold
102* Bug fix: encoding Int to a Builder would infinite-loop if the
103 integer-simple package was used
105* Deprecation: OnEncodeError and EncodeError are deprecated, as they
106 are never used
108* Internals: some types that are used internally in fusion-related
109 functions have moved around, been renamed, or been deleted (we don't
110 bump the major version if .Internal modules change)
112* Spec compliance: toCaseFold now follows the Unicode 7.0 spec
113 (updated from 6.3)
115#### 1.2.0.4
117* Fixed an incompatibility with base < 4.5
119#### 1.2.0.3
121* Update formatRealFloat to correspond to the definition in versions
122 of base newer than 4.5 (https://github.com/bos/text/issues/105)
124#### 1.2.0.2
126* Bumped lower bound on deepseq to 1.4 for compatibility with the
127 upcoming GHC 7.10
129#### 1.2.0.1
131* Fixed a buffer overflow in rendering of large Integers
132 (https://github.com/bos/text/issues/99)
134## 1.2.0.0
136* Fixed an integer overflow in the replace function
137 (https://github.com/bos/text/issues/81)
139* Fixed a hang in lazy decodeUtf8With
140 (https://github.com/bos/text/issues/87)
142* Reduced codegen bloat caused by use of empty and single-character
143 literals
145* Added an instance of IsList for GHC 7.8 and above
147### 1.1.1.0
149* The Data.Data instance now allows gunfold to work, via a virtual
150 pack constructor
152* dropEnd, takeEnd: new functions
154* Comparing the length of a Text against a number can now
155 short-circuit in more cases
157#### 1.1.0.1
159* streamDecodeUtf8: fixed gh-70, did not return all unconsumed bytes
160 in single-byte chunks
162## 1.1.0.0
164* encodeUtf8: Performance is improved by up to 4x.
166* encodeUtf8Builder, encodeUtf8BuilderEscaped: new functions,
167 available only if bytestring >= 0.10.4.0 is installed, that allow
168 very fast and flexible encoding of a Text value to a bytestring
169 Builder.
171 As an example of the performance gain to be had, the
172 encodeUtf8BuilderEscaped function helps to double the speed of JSON
173 encoding in the latest version of aeson! (Note: if all you need is a
174 plain ByteString, encodeUtf8 is still the faster way to go.)
176* All of the internal module hierarchy is now publicly exposed. If a
177 module is in the .Internal hierarchy, or is documented as internal,
178 use at your own risk - there are no API stability guarantees for
179 internal modules!
181#### 1.0.0.1
183* decodeUtf8: Fixed a regression that caused us to incorrectly
184 identify truncated UTF-8 as valid (gh-61)
186# 1.0.0.0
188* Added support for Unicode 6.3.0 to case conversion functions
190* New function toTitle converts words in a string to title case
192* New functions peekCStringLen and withCStringLen simplify
193 interoperability with C functionns
195* Added support for decoding UTF-8 in stream-friendly fashion
197* Fixed a bug in mapAccumL
199* Added trusted Haskell support
201* Removed support for GHC 6.10 (released in 2008) and older