Skip to content

Commit e65999d

Browse files
committed
v0.8.0
1 parent 03fdd42 commit e65999d

File tree

17 files changed

+78
-74
lines changed

17 files changed

+78
-74
lines changed

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.7.2 STANDALONE
9+
c4_project(VERSION 0.8.0 STANDALONE
1010
AUTHOR "Joao Paulo Magalhaes <dev@jpmag.me>")
1111

1212

changelog/0.8.0.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
## Breaking changes
2+
3+
- [BREAKING] Fix [#480](https://github.com/biojppm/rapidyaml/issues/480) ([PR#489](https://github.com/biojppm/rapidyaml/pull/489)):
4+
- Deserializing an empty quoted string *will not* cause an error.
5+
- Deserializing an empty string *will* cause an error: the empty string is read in as an empty scalar.
6+
- Ensure keys are deserialized using all the rules applying to vals.
7+
- Added `KEYNIL` and `VALNIL` to `NodeType_e`, used by the parser to mark the key or val as empty. This changed the values of the `NodeType_e` enumeration.
8+
- Added `NodeType::key_is_null()` and `NodeType::val_is_null()`.
9+
- [BREAKING] Fix [#477](https://github.com/biojppm/rapidyaml/issues/477) ([PR#479](https://github.com/biojppm/rapidyaml/pull/479)): changed `read<std::map>()` to overwrite existing entries. The provided implementations had an inconsistency between `std::map` (which wasn't overwriting) and `std::vector` (which *was* overwriting).
10+
11+
12+
## Fixes
13+
14+
- [PR#488](https://github.com/biojppm/rapidyaml/pull/488):
15+
- add workarounds for problems with codegen of gcc 11,12,13.
16+
- improve CI coverage of gcc and clang optimization levels.
17+
- [PR#496](https://github.com/biojppm/rapidyaml/pull/496) and [c4core PR#148](https://github.com/biojppm/c4core/pull/148): Add CI-proven support for CPU architectures:
18+
- mips, mipsel, mips64, mips64el
19+
- sparc, sparc64
20+
- riscv64
21+
- loongarch64
22+
- Fix [#476](https://github.com/biojppm/rapidyaml/issues/476) ([PR#493](https://github.com/biojppm/rapidyaml/pull/493)): add handling of Byte Order Marks.
23+
- [PR#492](https://github.com/biojppm/rapidyaml/pull/492): fix emit of explicit keys when indented:
24+
```yaml
25+
fixed:
26+
? explicit key
27+
: value
28+
previously:
29+
? explicit key
30+
: value # this was not indented
31+
```
32+
- [PR#492](https://github.com/biojppm/rapidyaml/pull/492): fix parser reset for full reuse (`m_doc_empty` was not resetted), which would cause problems under specific scenarios in subsequent reuse.
33+
- [PR#485](https://github.com/biojppm/rapidyaml/pull/485): improve the CI workflows (thanks to @ingydotnet):
34+
- amazing code reuse and organization, thanks to the use of YamlScript to generate the final workflows
35+
- all optimization levels are now covered for gcc, clang and Visual Studio.
36+
- [PR#499](https://github.com/biojppm/rapidyaml/pull/499): fix warnings with `-Wundef`.
37+
38+
39+
## Thanks
40+
41+
- @ingydotnet
42+
- @perlpunk
43+
- @Delian0

changelog/current.md

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +0,0 @@
1-
## Fixes
2-
3-
- [PR#496](https://github.com/biojppm/rapidyaml/pull/496) and [c4core PR#148](https://github.com/biojppm/c4core/pull/148): Add CI-proven support for CPU architectures:
4-
- mips, mipsel, mips64, mips64el
5-
- sparc, sparc64
6-
- riscv64
7-
- loongarch64
8-
- Fix [#480](https://github.com/biojppm/rapidyaml/issues/480) ([PR#489](https://github.com/biojppm/rapidyaml/pull/489)):
9-
- Deserializing an empty quoted string *will not* cause an error.
10-
- Deserializing an empty string *will* cause an error.
11-
- Ensure keys are deserialized using all the rules applying to vals.
12-
- Added `KEYNIL` and `VALNIL` to `NodeType_e`, used by the parser to mark the key or val as empty. This changed the values of the `NodeType_e` enumeration.
13-
- Added `NodeType::key_is_null()` and `NodeType::val_is_null()`.
14-
- [PR#488](https://github.com/biojppm/rapidyaml/pull/488):
15-
- add workarounds for problems with codegen of gcc 11,12,13.
16-
- improve CI coverage of gcc and clang optimization levels.
17-
- [BREAKING] Fix [#477](https://github.com/biojppm/rapidyaml/issues/477) ([PR#479](https://github.com/biojppm/rapidyaml/pull/479)): changed `read<std::map>()` to overwrite existing entries. The provided implementations had an inconsistency between `std::map` (which wasn't overwriting) and `std::vector` (which *was* overwriting).
18-
- Fix [#476](https://github.com/biojppm/rapidyaml/issues/476) [PR#493](https://github.com/biojppm/rapidyaml/pull/493): add handling of Byte Order Marks.
19-
- [PR#492](https://github.com/biojppm/rapidyaml/pull/492): fix emit of explicit keys when indented:
20-
```yaml
21-
fixed:
22-
? explicit key
23-
: value
24-
previously:
25-
? explicit key
26-
: value # this was not indented
27-
```
28-
- [PR#492](https://github.com/biojppm/rapidyaml/pull/492): fix parser reset for full reuse (`m_doc_empty` was not resetted), which would cause problems under specific scenarios in subsequent reuse.
29-
- [PR#485](https://github.com/biojppm/rapidyaml/pull/485): improve the CI workflows (thanks to @ingydotnet):
30-
- amazing code reuse and organization, thanks to the use of YamlScript to generate the final workflows
31-
- all optimization levels are now covered for gcc, clang and Visual Studio.
32-
- [PR#499](https://github.com/biojppm/rapidyaml/pull/499): fix warnings with `-Wundef`.
33-
34-
35-
## Thanks
36-
37-
- @ingydotnet
38-
- @Delian0
39-
- @perlpunk

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.7.2
51+
PROJECT_NUMBER = 0.8.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.7.2'
13+
release = '0.8.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.7.2/README.md)
3+
* Begin by looking at the [project's README](https://github.com/biojppm/rapidyaml/blob/v0.8.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.7.2/samples/quickstart.cpp>`_):
75+
<https://github.com/biojppm/rapidyaml/blob/v0.8.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.7.2/bm/cases>`__, or
28+
<https://github.com/biojppm/rapidyaml/blob/v0.8.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.7.2/bm/bm_parse.cpp>`__. Using
32+
<https://github.com/biojppm/rapidyaml/blob/v0.8.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.7.2/bm/cases/appveyor.yml>`__. A
43+
<https://github.com/biojppm/rapidyaml/blob/v0.8.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.7.2/bm/cases/travis.yml>`__
55+
<https://github.com/biojppm/rapidyaml/blob/v0.8.0/bm/cases/travis.yml>`__
5656
or a JSON buffer from a `compile_commands.json file
57-
<https://github.com/biojppm/rapidyaml/blob/v0.7.2/bm/cases/compile_commands.json>`__. You
57+
<https://github.com/biojppm/rapidyaml/blob/v0.8.0/bm/cases/compile_commands.json>`__. You
5858
can `see the full results here
59-
<https://github.com/biojppm/rapidyaml/blob/v0.7.2/bm/results/parse.linux.i7_6800K.md>`__. Summarizing:
59+
<https://github.com/biojppm/rapidyaml/blob/v0.8.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.7.2/bm/bm_parse.cpp>`__,
92+
<https://github.com/biojppm/rapidyaml/blob/v0.8.0/bm/bm_parse.cpp>`__,
9393
and it is reading the `compile_commands.json
94-
<https://github.com/biojppm/rapidyaml/blob/v0.7.2/bm/cases/compile_commands.json>`__,
94+
<https://github.com/biojppm/rapidyaml/blob/v0.8.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.7.2/bm/bm_emit.cpp>`__
134+
<https://github.com/biojppm/rapidyaml/blob/v0.8.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_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.7.2 <https://github.com/biojppm/rapidyaml/releases/tag/v0.7.2>`_
18+
* Latest release: `0.8.0 <https://github.com/biojppm/rapidyaml/releases/tag/v0.8.0>`_
1919

20-
* `Release page [0.7.2] <https://github.com/biojppm/rapidyaml/releases/tag/v0.7.2>`_
20+
* `Release page [0.8.0] <https://github.com/biojppm/rapidyaml/releases/tag/v0.8.0>`_
2121

22-
* `README [0.7.2] <https://github.com/biojppm/rapidyaml/blob/v0.7.2/README.md>`_
22+
* `README [0.8.0] <https://github.com/biojppm/rapidyaml/blob/v0.8.0/README.md>`_
2323

2424
* Since latest release (master branch):
2525

doc/sphinx_try_quickstart.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
include(FetchContent)
1212
FetchContent_Declare(ryml
1313
GIT_REPOSITORY https://github.com/biojppm/rapidyaml.git
14-
GIT_TAG v0.7.2
14+
GIT_TAG v0.8.0
1515
GIT_SHALLOW FALSE # ensure submodules are checked out
1616
)
1717
FetchContent_MakeAvailable(ryml)

0 commit comments

Comments
 (0)