Skip to content

Commit 653eac9

Browse files
committed
v0.10.0
1 parent 4abe5e3 commit 653eac9

17 files changed

Lines changed: 73 additions & 73 deletions

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ project(ryml
66
LANGUAGES CXX)
77
include(./compat.cmake)
88

9-
c4_project(VERSION 0.9.0 STANDALONE
9+
c4_project(VERSION 0.10.0 STANDALONE
1010
AUTHOR "Joao Paulo Magalhaes <dev@jpmag.me>")
1111

1212

changelog/0.10.0.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
### Extra event handlers
2+
3+
[PR#536](https://github.com/biojppm/rapidyaml/pull/536) adds a new major extra feature: a parser event handler that creates a compact representation of the YAML tree in a buffer of integers containing masks (to represent events) and offset+length (to represent strings in the source buffer).
4+
5+
This handler is meant for use by other programming languages, and it supports container keys (unlike the ryml tree). You can find this handler among the other headers in the [new `src_extra` folder](https://github.com/biojppm/rapidyaml/tree/master/src_extra).
6+
7+
8+
### Changes
9+
10+
- In [PR#536](https://github.com/biojppm/rapidyaml/pull/536) the location functions were moved from `ParserEngine` to `Tree` and `ConstNodeRef`. The parser engine is now fully agnostic vis-a-vis the type of the event-handler. (The location functions in the parser engine were a legacy of the initial implementation of the parser which was meant to create only ryml trees).
11+
- The tool ryml-yaml-events was updated to also dump integer events (and its command line options were changed to enable the different choices).
12+
13+
14+
### Fixes
15+
16+
- Fix [#524](https://github.com/biojppm/rapidyaml/issues/524) ([PR#525](https://github.com/biojppm/rapidyaml/pull/525)): problem parsing nested map value in complex map. Kudos to @MatthewSteel!
17+
- [PR#542](https://github.com/biojppm/rapidyaml/pull/542): `\x` Unicode sequences were not decoded. Thanks to @mutativesystems!
18+
- [PR#541](https://github.com/biojppm/rapidyaml/pull/541): `std::is_trivial` deprecated in c++26. Thanks to @P3RK4N!
19+
- Fix [#529](https://github.com/biojppm/rapidyaml/issues/529) ([PR#530](https://github.com/biojppm/rapidyaml/pull/530)): double-quoted `"<<"` was mistaken for an inheriting reference.
20+
- [PR#543](https://github.com/biojppm/rapidyaml/pull/543): improvements to experimental style API:
21+
- Add getters to `NodeType`, `Tree`, `NodeRef`, and `ConstNodeRef`:
22+
- `.key_style()`: get the style flags in a node's key
23+
- `.val_style()`: get the style flags in a node's val
24+
- `.container_style()`: get the style flags in a node's container
25+
- Add style modifiers to `NodeType`, `Tree`, `NodeRef`, and `ConstNodeRef`:
26+
- `.clear_style(bool recurse)`
27+
- `.set_style_conditionally(bool recurse)`
28+
- Fix argument handling in ryml-parse-emit.
29+
30+
31+
### Thanks
32+
33+
- @MatthewSteel
34+
- @mutativesystems
35+
- @P3RK4N

changelog/current.md

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +0,0 @@
1-
### Extra event handlers
2-
3-
[PR#536](https://github.com/biojppm/rapidyaml/pull/536) adds a new major extra feature: a parser event handler that creates a compact representation of the YAML tree in a buffer of integers containing masks (to represent events) and offset+length (to represent strings in the source buffer).
4-
5-
This handler is meant for use by other programming languages, and it supports container keys (unlike the ryml tree). You can find this handler among the other headers in the [new `src_extra` folder](https://github.com/biojppm/rapidyaml/tree/master/src_extra).
6-
7-
8-
### Changes
9-
10-
- In [PR#536](https://github.com/biojppm/rapidyaml/pull/536) the location functions were moved from `ParserEngine` to `Tree` and `ConstNodeRef`. The parser engine is now fully agnostic vis-a-vis the type of the event-handler. (The location functions in the parser engine were a legacy of the initial implementation of the parser which was meant to create only ryml trees).
11-
- The tool ryml-yaml-events was updated to also dump integer events (and its command line options were changed to enable the different choices).
12-
13-
14-
### Fixes
15-
16-
- Fix [#524](https://github.com/biojppm/rapidyaml/issues/524) ([PR#525](https://github.com/biojppm/rapidyaml/pull/525)): problem parsing nested map value in complex map. Kudos to @MatthewSteel!
17-
- [PR#542](https://github.com/biojppm/rapidyaml/pull/542): `\x` Unicode sequences were not decoded. Thanks to @mutativesystems!
18-
- [PR#541](https://github.com/biojppm/rapidyaml/pull/541): `std::is_trivial` deprecated in c++26. Thanks to @P3RK4N!
19-
- Fix [#529](https://github.com/biojppm/rapidyaml/issues/529) ([PR#530](https://github.com/biojppm/rapidyaml/pull/530)): double-quoted `"<<"` was mistaken for an inheriting reference.
20-
- [PR#543](https://github.com/biojppm/rapidyaml/pull/543): improvements to experimental style API:
21-
- Add getters to `NodeType`, `Tree`, `NodeRef`, and `ConstNodeRef`:
22-
- `.key_style()`: get the style flags in a node's key
23-
- `.val_style()`: get the style flags in a node's val
24-
- `.container_style()`: get the style flags in a node's container
25-
- Add style modifiers to `NodeType`, `Tree`, `NodeRef`, and `ConstNodeRef`:
26-
- `.clear_style(bool recurse)`
27-
- `.set_style_conditionally(bool recurse)`
28-
- Fix argument handling in ryml-parse-emit.
29-
30-
31-
### Thanks
32-
33-
- @MatthewSteel
34-
- @mutativesystems
35-
- @P3RK4N

doc/Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ PROJECT_NAME = rapidyaml
4848
# could be handy for archiving the generated documentation or if some version
4949
# control system is used.
5050

51-
PROJECT_NUMBER = 0.9.0
51+
PROJECT_NUMBER = 0.10.0
5252

5353
# Using the PROJECT_BRIEF tag one can provide an optional one line description
5454
# for a project that appears at the top of each page and should give viewer a

doc/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
project = 'rapidyaml'
1111
copyright = '2018-2024 Joao Paulo Magalhaes <dev@jpmag.me>'
1212
author = 'Joao Paulo Magalhaes <dev@jpmag.me>'
13-
release = '0.9.0'
13+
release = '0.10.0'
1414

1515
# -- General configuration ---------------------------------------------------
1616
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

doc/doxy_main.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# rapidyaml
22

3-
* Begin by looking at the [project's README](https://github.com/biojppm/rapidyaml/blob/v0.9.0/README.md)
3+
* Begin by looking at the [project's README](https://github.com/biojppm/rapidyaml/blob/v0.10.0/README.md)
44
* [Documentation page](https://rapidyaml.readthedocs.org)
55
* Next, skim the docs for the @ref doc_quickstart sample.
66
* Good! Now the main ryml topics:

doc/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ API teaser
7272
Here's a short teaser from the API quickstart overview (`see on
7373
doxygen <doxygen/group__doc__quickstart.html>`_ / `see full code on
7474
github
75-
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/quickstart.cpp>`_):
75+
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/quickstart.cpp>`_):
7676

7777
.. code-block:: c++
7878

doc/sphinx_is_it_rapid.rst

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ faster.
2525
nicely as claimed here, we would definitely like to see it! Please
2626
open an issue, or submit a pull request adding the file to
2727
`bm/cases
28-
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/bm/cases>`__, or
28+
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/bm/cases>`__, or
2929
just send us the files.
3030

3131
`Here’s a parsing benchmark
32-
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/bm/bm_parse.cpp>`__. Using
32+
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/bm/bm_parse.cpp>`__. Using
3333
different approaches within ryml (in-situ/read-only vs. with/without
3434
reuse), a YAML / JSON buffer is repeatedly parsed, and compared
3535
against other libraries.
@@ -40,7 +40,7 @@ Comparison with yaml-cpp
4040

4141
The first result set is for Windows, and is using a `appveyor.yml
4242
config file
43-
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/bm/cases/appveyor.yml>`__. A
43+
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/bm/cases/appveyor.yml>`__. A
4444
comparison of these results is summarized on the table below:
4545

4646
=========================== ===== ======= ==========
@@ -52,11 +52,11 @@ appveyor / vs2017 / Debug 6.4 0.0844 76x / 1.3%
5252

5353
The next set of results is taken in Linux, comparing g++ 8.2 and
5454
clang++ 7.0.1 in parsing a YAML buffer from a `travis.yml config file
55-
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/bm/cases/travis.yml>`__
55+
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/bm/cases/travis.yml>`__
5656
or a JSON buffer from a `compile_commands.json file
57-
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/bm/cases/compile_commands.json>`__. You
57+
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/bm/cases/compile_commands.json>`__. You
5858
can `see the full results here
59-
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/bm/results/parse.linux.i7_6800K.md>`__. Summarizing:
59+
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/bm/results/parse.linux.i7_6800K.md>`__. Summarizing:
6060

6161
========================== ===== ======= ========
6262
Read rates (MB/s) ryml yamlcpp compared
@@ -89,9 +89,9 @@ So how does ryml compare against other JSON readers? Well, it may not
8989
be the fastest, but it's definitely ahead of the pack!
9090

9191
The benchmark is the `same as above
92-
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/bm/bm_parse.cpp>`__,
92+
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/bm/bm_parse.cpp>`__,
9393
and it is reading the `compile_commands.json
94-
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/bm/cases/compile_commands.json>`__,
94+
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/bm/cases/compile_commands.json>`__,
9595
The ``_arena`` suffix notes parsing a read-only buffer (so buffer
9696
copies are performed), while the ``_inplace`` suffix means that the
9797
source buffer can be parsed in place. The ``_reuse`` means the data
@@ -131,7 +131,7 @@ Performance emitting
131131
--------------------
132132

133133
`Emitting benchmarks
134-
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/bm/bm_emit.cpp>`__
134+
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/bm/bm_emit.cpp>`__
135135
also show similar speedups from the existing libraries, also
136136
anecdotally reported by some users `(eg, here’s a user reporting 25x
137137
speedup from yaml-cpp)

doc/sphinx_other_languages.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,11 @@ are string views into the source buffer, and not typed. With that
7070
said, it is really fast, and once you have the tree, you can still walk
7171
over the tree to create the native python structure. Have a look at
7272
this `test file
73-
<https://github.com/biojppm/rapidyaml/tree/v0.9.0/api/python/tests/test_readme.py>`__
73+
<https://github.com/biojppm/rapidyaml/tree/v0.10.0/api/python/tests/test_readme.py>`__
7474
to see how the python API works, and to judge whether it may be useful to your
7575
case.
7676

77-
As for performance, in a `timeit benchmark <https://github.com/biojppm/rapidyaml/tree/v0.9.0/api/python/bm/parse_bm.py>`__ comparing against
77+
As for performance, in a `timeit benchmark <https://github.com/biojppm/rapidyaml/tree/v0.10.0/api/python/bm/parse_bm.py>`__ comparing against
7878
`PyYaml <https://pyyaml.org/>`__ and
7979
`ruamel.yaml <https://yaml.readthedocs.io/en/latest/>`__, ryml parses
8080
quicker by generally 100x and up to 400x:

doc/sphinx_quicklinks.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ Quick links
1515

1616
* `Kanban board <https://github.com/users/biojppm/projects/1/views/1>`_
1717

18-
* Latest release: `0.9.0 <https://github.com/biojppm/rapidyaml/releases/tag/v0.9.0>`_
18+
* Latest release: `0.10.0 <https://github.com/biojppm/rapidyaml/releases/tag/v0.10.0>`_
1919

20-
* `Release page [0.9.0] <https://github.com/biojppm/rapidyaml/releases/tag/v0.9.0>`_
20+
* `Release page [0.10.0] <https://github.com/biojppm/rapidyaml/releases/tag/v0.10.0>`_
2121

22-
* `README [0.9.0] <https://github.com/biojppm/rapidyaml/blob/v0.9.0/README.md>`_
22+
* `README [0.10.0] <https://github.com/biojppm/rapidyaml/blob/v0.10.0/README.md>`_
2323

2424
* Since latest release (master branch):
2525

0 commit comments

Comments
 (0)