Updated changelog.
This commit is contained in:
parent
3e69df499e
commit
f1eab6a5da
27
CHANGES.html
27
CHANGES.html
|
@ -348,6 +348,12 @@ ul.auto-toc {
|
||||||
<p>As many people have been using D:YAML from git master since the 0.4 release, each change
|
<p>As many people have been using D:YAML from git master since the 0.4 release, each change
|
||||||
is prefixed by the year the change was introduced.</p>
|
is prefixed by the year the change was introduced.</p>
|
||||||
<ul>
|
<ul>
|
||||||
|
<li><dl class="first docutils">
|
||||||
|
<dt><tt class="docutils literal">2014</tt> The <tt class="docutils literal">cdc.d</tt> build script has been removed; dub is now the only 'official'</dt>
|
||||||
|
<dd><p class="first last">way to build D:YAML.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</li>
|
||||||
<li><p class="first"><tt class="docutils literal">2014</tt> Broke compatibility with all DMD versions before 2.066</p>
|
<li><p class="first"><tt class="docutils literal">2014</tt> Broke compatibility with all DMD versions before 2.066</p>
|
||||||
</li>
|
</li>
|
||||||
<li><dl class="first docutils">
|
<li><dl class="first docutils">
|
||||||
|
@ -402,18 +408,31 @@ and to minimize internal exception handling during parsing.</li>
|
||||||
input, and UTF-32 inputs can be encoded into UTF-8 in-place without allocating.
|
input, and UTF-32 inputs can be encoded into UTF-8 in-place without allocating.
|
||||||
UTF-16 inputs still need an allocation. This also gets rid of all dchar[]->char[]
|
UTF-16 inputs still need an allocation. This also gets rid of all dchar[]->char[]
|
||||||
conversions which were a significant source of GC allocations.</li>
|
conversions which were a significant source of GC allocations.</li>
|
||||||
|
<li>Various optimizations in <tt class="docutils literal">Reader</tt>/<tt class="docutils literal">Scanner</tt>, especially for mostly-ASCII files
|
||||||
|
containing plain scalars (most common YAML files). Measured speedup of ~80% when
|
||||||
|
parsing mostly-ASCII
|
||||||
|
files, slowdown of ~12% for mostly non-ASCII files (all tested files were UTF-8).</li>
|
||||||
<li>Less GC usage during YAML node construction.</li>
|
<li>Less GC usage during YAML node construction.</li>
|
||||||
<li>The <tt class="docutils literal">Scanner</tt> subsystems is now mostly <tt class="docutils literal">@nogc</tt>; it never allocates memory for
|
<li><tt class="docutils literal">Scanner</tt> is now mostly <tt class="docutils literal">@nogc</tt>; it never allocates memory for token values, using
|
||||||
token values, using slices into the input buffer instead.</li>
|
slices into the input buffer instead.</li>
|
||||||
<li>Custom, <tt class="docutils literal">@nogc</tt> UTF decoding/encoding code based on <tt class="docutils literal">std.utf</tt> to enable more use
|
<li>Custom, <tt class="docutils literal">@nogc</tt> UTF decoding/encoding code based on <tt class="docutils literal">std.utf</tt> to enable more use
|
||||||
of <tt class="docutils literal">@nogc</tt> in D:YAML internals and to improve performance.</li>
|
of <tt class="docutils literal">@nogc</tt> in D:YAML internals and to improve performance.</li>
|
||||||
<li>Replaced <tt class="docutils literal">std.stream.EndianStream</tt> with custom endian-fixing code.</li>
|
<li>Less memory allocations during scanning in general, including manual allocations.</li>
|
||||||
|
<li>Default <tt class="docutils literal">Constructor</tt>/<tt class="docutils literal">Resolver</tt> are now only constructed if the user doesn't
|
||||||
|
specify their own.</li>
|
||||||
|
<li>Replaced <tt class="docutils literal">std.stream.EndianStream</tt> with
|
||||||
|
<a class="reference external" href="https://github.com/kiith-sa/tinyendian">tinyendian</a>.</li>
|
||||||
<li>D:YAML is now a DUB package.</li>
|
<li>D:YAML is now a DUB package.</li>
|
||||||
<li>Removed static data structures such as default Constructor and Resolver.</li>
|
<li>Removed static data structures such as default Constructor and Resolver.</li>
|
||||||
<li>Compile-time checks for size of data structures that should be small.</li>
|
<li>Compile-time checks for size of data structures that should be small.</li>
|
||||||
<li>Better error messages.</li>
|
<li>Better error messages.</li>
|
||||||
<li>Various refactoring changes, using more 'modern' D features, better tests.</li>
|
<li>Various refactoring changes, using more 'modern' D features, better tests.</li>
|
||||||
<li>Updated documentation, examples.</li>
|
<li>Updated documentation, examples to reflect changes in 0.5.</li>
|
||||||
|
<li>Updated the <tt class="docutils literal">yaml_bench</tt> example/tool with options to keep the input file in memory
|
||||||
|
instead of reloading it for repeated parses, and to only benchmark scanning time
|
||||||
|
instead of the entire parser.</li>
|
||||||
|
<li>The <tt class="docutils literal">yaml_gen</tt> example/tool can now generate strings from user-specified alphabets
|
||||||
|
which may contain non-ASCII characters.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="bugfixes">
|
<div class="section" id="bugfixes">
|
||||||
|
|
23
CHANGES.rst
23
CHANGES.rst
|
@ -9,6 +9,8 @@ Breaking changes
|
||||||
As many people have been using D:YAML from git master since the 0.4 release, each change
|
As many people have been using D:YAML from git master since the 0.4 release, each change
|
||||||
is prefixed by the year the change was introduced.
|
is prefixed by the year the change was introduced.
|
||||||
|
|
||||||
|
- ``2014`` The ``cdc.d`` build script has been removed; dub is now the only 'official'
|
||||||
|
way to build D:YAML.
|
||||||
- ``2014`` Broke compatibility with all DMD versions before 2.066
|
- ``2014`` Broke compatibility with all DMD versions before 2.066
|
||||||
- ``2014`` ``Loader`` API depending on ``std.stream`` is now deprecated and will be
|
- ``2014`` ``Loader`` API depending on ``std.stream`` is now deprecated and will be
|
||||||
removed in the next release.
|
removed in the next release.
|
||||||
|
@ -50,18 +52,31 @@ Other improvements
|
||||||
input, and UTF-32 inputs can be encoded into UTF-8 in-place without allocating.
|
input, and UTF-32 inputs can be encoded into UTF-8 in-place without allocating.
|
||||||
UTF-16 inputs still need an allocation. This also gets rid of all dchar[]->char[]
|
UTF-16 inputs still need an allocation. This also gets rid of all dchar[]->char[]
|
||||||
conversions which were a significant source of GC allocations.
|
conversions which were a significant source of GC allocations.
|
||||||
|
- Various optimizations in ``Reader``/``Scanner``, especially for mostly-ASCII files
|
||||||
|
containing plain scalars (most common YAML files). Measured speedup of ~80% when
|
||||||
|
parsing mostly-ASCII
|
||||||
|
files, slowdown of ~12% for mostly non-ASCII files (all tested files were UTF-8).
|
||||||
- Less GC usage during YAML node construction.
|
- Less GC usage during YAML node construction.
|
||||||
- The ``Scanner`` subsystems is now mostly ``@nogc``; it never allocates memory for
|
- ``Scanner`` is now mostly ``@nogc``; it never allocates memory for token values, using
|
||||||
token values, using slices into the input buffer instead.
|
slices into the input buffer instead.
|
||||||
- Custom, ``@nogc`` UTF decoding/encoding code based on ``std.utf`` to enable more use
|
- Custom, ``@nogc`` UTF decoding/encoding code based on ``std.utf`` to enable more use
|
||||||
of ``@nogc`` in D:YAML internals and to improve performance.
|
of ``@nogc`` in D:YAML internals and to improve performance.
|
||||||
- Replaced ``std.stream.EndianStream`` with custom endian-fixing code.
|
- Less memory allocations during scanning in general, including manual allocations.
|
||||||
|
- Default ``Constructor``/``Resolver`` are now only constructed if the user doesn't
|
||||||
|
specify their own.
|
||||||
|
- Replaced ``std.stream.EndianStream`` with
|
||||||
|
`tinyendian <https://github.com/kiith-sa/tinyendian>`_.
|
||||||
- D:YAML is now a DUB package.
|
- D:YAML is now a DUB package.
|
||||||
- Removed static data structures such as default Constructor and Resolver.
|
- Removed static data structures such as default Constructor and Resolver.
|
||||||
- Compile-time checks for size of data structures that should be small.
|
- Compile-time checks for size of data structures that should be small.
|
||||||
- Better error messages.
|
- Better error messages.
|
||||||
- Various refactoring changes, using more 'modern' D features, better tests.
|
- Various refactoring changes, using more 'modern' D features, better tests.
|
||||||
- Updated documentation, examples.
|
- Updated documentation, examples to reflect changes in 0.5.
|
||||||
|
- Updated the ``yaml_bench`` example/tool with options to keep the input file in memory
|
||||||
|
instead of reloading it for repeated parses, and to only benchmark scanning time
|
||||||
|
instead of the entire parser.
|
||||||
|
- The ``yaml_gen`` example/tool can now generate strings from user-specified alphabets
|
||||||
|
which may contain non-ASCII characters.
|
||||||
|
|
||||||
|
|
||||||
^^^^^^^^
|
^^^^^^^^
|
||||||
|
|
Loading…
Reference in a new issue