1* 0.4.2.1
2  - Bump cabal file to Cabal >= 1.10
3
4* 0.4.2.0
5  - Make semigroup instances unconditional
6  - Support bytestring-0.11
7  - Support semigroups-0.19
8
9* 0.4.1.0
10  - Gain compatibility with the Semigroup/Monoid proposal
11  - Add Word8 HTML escaping builders
12  - Speed up `fromHtmlEscapedText` and `fromHtmlEscapedLazyText`
13
14* 0.4.0.2
15  - Fixed warnings on GHC 7.10,  courtesy of Mikhail Glushenkov.
16
17* 0.4.0.1
18  - Tightened the version constraints on the bytestring package for GHC 7.8
19
20* 0.4.0.0
21  - This is now a compatibility shim for the new bytestring builder.  Most
22    of the old internal modules are gone.   See this blog post for more
23    information:
24
25    <http://blog.melding-monads.com/2015/02/12/announcing-blaze-builder-0-4/>
26
27  - The 'Blaze.ByteString.Builder.Html.Utf8.fromHtmlEscaped*' functions now
28    strip out any ASCII control characters present in their inputs.  See
29    <https://github.com/lpsmith/blaze-builder/issues/1> for more
30    information.
31
32* 0.3.3.0
33  - exposed the 'Buffer' constructor to enable keeping around a pool of
34    buffers.
35
36* 0.3.2.0
37  - added 'writeToByteString' to construct a strict bytestring in a single
38    step. We can actually view 'Write's as strict-bytestring builders.
39
40* 0.3.1.1
41  - Changed imports of Foreign.Unsafe to make it GHC 7.8 compatible
42  - -Wall clean on GHC 7.0 - 7.6
43
44* 0.3.1.0
45  - Widened dependencies on text and bytestring
46
47* 0.3.0.1
48
49  - Fix build warning in Blaze.ByteString.Builder.Word
50    (contributed by Greg Weber)
51
52* 0.3.0.1
53
54  - Remove comparison to the 'text' library encoding functions of
55    'Blaze.Builder.Char.Utf8.fromText' and
56    'Blaze.Builder.Char.Utf8.fromLazyText'. Bryan O'Sullivan reported that on
57    his 64-bit system with GHC 7.0.3 the 'text' library is 5x faster than the
58    'blaze-builder' library.
59
60* 0.3.0.0
61
62  - Renamings in internal modules: WriteIO -> Poke and associated functions.
63
64* 0.2.1.4
65
66  - Fixed bug: appending to 'chunkedTransferEncoding somebuilder' also encoded
67    the appended builder, which is obviously wrong.
68
69* 0.2.1.3
70
71  - Fixed bug: 'chunkedTransferTerminator' is now correctly set to "0\r\n\r\n".
72
73* 0.2.1.2
74
75  - Add 'MonoPatBinds' language extension to all relevant files to solve the
76    issues caused by GHC bug http://hackage.haskell.org/trac/ghc/ticket/4498
77
78* 0.2.1.1
79
80  - Reexport 'Write' datatype and 'fromWriteList', 'fromWriteSingleton',
81    'fromWrite' functions together with writes and builders for storables.
82  - Add 'MonoPatBinds' language extension to (hopefully) solve the issues
83    caused by GHC bug http://hackage.haskell.org/trac/ghc/ticket/4498
84
85* 0.2.1.0
86
87  Incorporated several design changes:
88    - Writable buffer range is now represented in a packed form. This improves
89      speed slightly, as less currying is used.
90    - Writes are abstracted such that their internal representation can be
91      exchanged without breaking other library code.
92    - Writes are represented in a form that allows for efficient monoid
93      instances for branching code like UTF-8 encoding. For single character
94      encoding this results currently in a slight slowdown due to GHC not
95      recognizing the strictness of the returned value. This will be fixed in
96      the future.
97    - BuildSteps support returning a result in `Done`, which enables to
98      implement a `Put` monad using CPS.
99    - chunked list writes were removed, as they result in worse performance
100      when writing non-trivial lists. (cf. benchmarks)
101    - An internal buffering abstraction is introduced, which is used both
102      by the adaption of the `binary` package, as well as by the
103      `blaze-builder-enumeratee` package, to execute puts and builders.
104      It will be used later also by the execution functions of the
105      `blaze-builder` package.
106
107  Implemented new functionality
108    - `Blaze.ByteString.Builder.HTTP` provides a builder transformer for
109       doing in-buffer chunked HTTP encoding of an arbitary other builder.
110    - `Blaze.ByteString.Builder.Char8` provides functions to serialize the
111       lower 8-bits of characters similiar to what `Data.ByteString.Char8`
112       provides for bytestrings.
113
114* 0.2.0.3
115
116  Loosen 'text' dependency to '>= 0.10 && < 0.12'
117
118* 0.2.0.2
119
120  Fixed bug: use &#39; instead of &apos; for HTML escaping '
121
122* 0.2.0.1
123
124  Added a missing benchmark file.
125
126* blaze-builder-0.2.0.0
127
128  Heavily restructured 'blaze-builder' such that 'Blaze.ByteString.Builder' serves as
129  a drop-in replacement of 'binary:Data.Binary.Builder' which it improves upon
130  with respect to both speed as well as expressivity. See the documentation and
131  the benchmarks for details on improvements and new functionality.
132
133  Changed module structure:
134    Blaze.ByteString.Builder.Core -> Blaze.ByteString.Builder
135    Blaze.ByteString.Builder.Utf8 -> Blaze.ByteString.Builder.Char.Utf8
136    Blaze.ByteString.Builder.Html -> Blaze.ByteString.Builder.Html.Utf8
137
138  Changed function names:
139    writeByte     -> writeWord8
140    fromByte      -> fromWord8
141    fromWriteList -> fromWrite1List
142
143  Possibly performance sensitive implementation changes:
144    - 'fromByteString' and 'fromLazyByteString' check now if a direct insertion
145      of the bytestring(s) would be cheaper than copying it. See their
146      documentation on how to recover the old behaviour.
147
148  Deprecated functions:
149    'empty'    : use 'mempty' instead
150    'singleton': use 'fromWord8' instead
151    'append'   : use 'mappend' instead
152
153
154* blaze-builder-0.1
155
156  This is the first version of 'blaze-builder'. It is explicitely targeted at
157  fast generation of UTF-8 encoded HTML documents in the 'blaze-html' and the
158  'hamlet' HTML templating libraries.
159