Bump version to 1.2.2.1
[packages/text.git] / changelog.md
1 1.2.2.1
2
3 * The switch to `integer-pure` in 1.2.2.0 was apparently mistaken.
4   The build flag has been renamed accordingly.  Your army of diligent
5   maintainers apologizes for the churn.
6
7 * Spec compliance: toCaseFold now follows the Unicode 8.0 spec
8   (updated from 7.0)
9
10 * An STG lint error has been fixed
11
12 1.2.2.0
13
14 * The `integer-simple` package, upon which this package optionally
15   depended, has been replaced with `integer-pure`.  The build flag has
16   been renamed accordingly.
17
18 * Bug fix: For the `Binary` instance, If UTF-8 decoding fails during a
19   `get`, the error is propagated via `fail` instead of an uncatchable
20   crash.
21
22 * New function: `takeWhileEnd`
23
24 * New instances for the `Text` types:
25     * if `base` >= 4.7: `PrintfArg`
26     * if `base` >= 4.9: `Semigroup`
27
28 1.2.1.3
29
30 * Bug fix: As it turns out, moving the literal rewrite rules to simplifier
31   phase 2 does not prevent competition with the `unpack` rule, which is
32   also active in this phase. Unfortunately this was hidden due to a silly
33   test environment mistake. Moving literal rules back to phase 1 finally
34   fixes GHC Trac #10528 correctly.
35
36 1.2.1.2
37
38 * Bug fix: Run literal rewrite rules in simplifier phase 2.
39   The behavior of the simplifier changed in GHC 7.10.2,
40   causing these rules to fail to fire, leading to poor code generation
41   and long compilation times. See
42   [GHC Trac #10528](https://ghc.haskell.org/trac/ghc/ticket/10528).
43
44 1.2.1.1
45
46 * Expose unpackCString#, which you should never use.
47
48 1.2.1.0
49
50 * Added Binary instances for both Text types. (If you have previously
51   been using the text-binary package to get a Binary instance, it is
52   now obsolete.)
53
54 1.2.0.6
55
56 * Fixed a space leak in UTF-8 decoding
57
58 1.2.0.5
59
60 * Feature parity: repeat, cycle, iterate are now implemented for lazy
61   Text, and the Data instance is more complete
62
63 * Build speed: an inliner space explosion has been fixed with toCaseFold
64
65 * Bug fix: encoding Int to a Builder would infinite-loop if the
66   integer-simple package was used
67
68 * Deprecation: OnEncodeError and EncodeError are deprecated, as they
69   are never used
70
71 * Internals: some types that are used internally in fusion-related
72   functions have moved around, been renamed, or been deleted (we don't
73   bump the major version if .Internal modules change)
74
75 * Spec compliance: toCaseFold now follows the Unicode 7.0 spec
76   (updated from 6.3)
77
78 1.2.0.4
79
80 * Fixed an incompatibility with base < 4.5
81
82 1.2.0.3
83
84 * Update formatRealFloat to correspond to the definition in versions
85   of base newer than 4.5 (https://github.com/bos/text/issues/105)
86
87 1.2.0.2
88
89 * Bumped lower bound on deepseq to 1.4 for compatibility with the
90   upcoming GHC 7.10
91
92 1.2.0.1
93
94 * Fixed a buffer overflow in rendering of large Integers
95   (https://github.com/bos/text/issues/99)
96
97 1.2.0.0
98
99 * Fixed an integer overflow in the replace function
100   (https://github.com/bos/text/issues/81)
101
102 * Fixed a hang in lazy decodeUtf8With
103   (https://github.com/bos/text/issues/87)
104
105 * Reduced codegen bloat caused by use of empty and single-character
106   literals
107
108 * Added an instance of IsList for GHC 7.8 and above
109
110 1.1.1.0
111
112 * The Data.Data instance now allows gunfold to work, via a virtual
113   pack constructor
114
115 * dropEnd, takeEnd: new functions
116
117 * Comparing the length of a Text against a number can now
118   short-circuit in more cases
119
120 1.1.0.1
121
122 * streamDecodeUtf8: fixed gh-70, did not return all unconsumed bytes
123   in single-byte chunks
124
125 1.1.0.0
126
127 * encodeUtf8: Performance is improved by up to 4x.
128
129 * encodeUtf8Builder, encodeUtf8BuilderEscaped: new functions,
130   available only if bytestring >= 0.10.4.0 is installed, that allow
131   very fast and flexible encoding of a Text value to a bytestring
132   Builder.
133
134   As an example of the performance gain to be had, the
135   encodeUtf8BuilderEscaped function helps to double the speed of JSON
136   encoding in the latest version of aeson! (Note: if all you need is a
137   plain ByteString, encodeUtf8 is still the faster way to go.)
138
139 * All of the internal module hierarchy is now publicly exposed.  If a
140   module is in the .Internal hierarchy, or is documented as internal,
141   use at your own risk - there are no API stability guarantees for
142   internal modules!
143
144 1.0.0.1
145
146 * decodeUtf8: Fixed a regression that caused us to incorrectly
147   identify truncated UTF-8 as valid (gh-61)
148
149 1.0.0.0
150
151 * Added support for Unicode 6.3.0 to case conversion functions
152
153 * New function toTitle converts words in a string to title case
154
155 * New functions peekCStringLen and withCStringLen simplify
156   interoperability with C functionns
157
158 * Added support for decoding UTF-8 in stream-friendly fashion
159
160 * Fixed a bug in mapAccumL
161
162 * Added trusted Haskell support
163
164 * Removed support for GHC 6.10 (released in 2008) and older