@@ -23,134 +23,65 @@ reliable JSON library for the long tail of C++ development.
2323
2424### Current Focus
2525
26- ** Security:** Addressing vulnerabilities and fuzzing results.
27-
28- ** Compatibility:** Ensuring the library builds without warnings on the latest versions of GCC,
26+ * ** Security:** Addressing vulnerabilities and fuzzing results.
27+ * ** Compatibility:** Ensuring the library builds without warnings on the latest versions of GCC,
2928Clang, and MSVC.
30-
31- ** Reliability:** Fixing regressions and critical logical bugs.
29+ * ** Reliability:** Fixing regressions and critical logical bugs.
3230
3331### Out of Scope
3432
35- ** Performance:** We are not competing with SIMD-accelerated or reflection-based parsers.
36-
37- ** Features:** We are generally not accepting requests for new data formats or major API changes.
33+ * ** Performance:** We are not competing with SIMD-accelerated or reflection-based parsers.
34+ * ** Features:** We are generally not accepting requests for new data formats or major API changes.
3835
3936JsonCpp remains a primary choice for developers who require comment preservation and support for
4037legacy toolchains where modern C++ standards are unavailable. The library is intended to be a
4138reliable dependency that does not require frequent updates or major migration efforts.
4239
43- ## Documentation
44-
45- [ JsonCpp documentation] [ JsonCpp-documentation ] is generated using [ Doxygen] [ ] .
46-
47- [ JsonCpp-documentation ] : http://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html
48- [ Doxygen ] : http://www.doxygen.org
49-
5040## A note on backward-compatibility
5141
52- * ` 1.y.z ` is built with C++11.
53- * ` 0.y.z ` can be used with older compilers.
54- * ` 00.11.z ` can be used both in old and new compilers.
55- * Major versions maintain binary-compatibility.
56-
57- > [ !NOTE]
58- > We are happy to take critical security features for any of these three branches, however at this
59- > point in the project only the ` 1.y.z ` is receiving somewhat regular updates.
42+ * ** ` 1.y.z ` (master):** Actively maintained. Requires C++11.
6043
61- ## Using JsonCpp in your project
44+ * ** ` 0.y.z ` : ** Legacy support for pre-C++11 compilers. Maintenance is limited to critical security fixes.
6245
63- ### The vcpkg dependency manager
64-
65- You can download and install JsonCpp using the [ vcpkg] ( https://github.com/Microsoft/vcpkg/ )
66- dependency manager, which has installation instruction dependent on your
67- build system. For example, if you are in a CMake project, the
68- [ CMake install tutorial] ( https://learn.microsoft.com/en-us/vcpkg/get_started/get-started?pivots=shell-powershell )
69- suggests the follow installation method.
70-
71- First, clone and set up ` vcpkg ` .
72-
73- ``` sh
74- git clone https://github.com/Microsoft/vcpkg.git
75- cd vcpkg
76- ./bootstrap-vcpkg.sh
77- ```
78-
79- Then, create a [ vcpkg.json manifest] ( https://learn.microsoft.com/en-us/vcpkg/reference/vcpkg-json ) ,
80- enabling manifest mode and adding JsonCpp to the manifest's dependencies list.
81-
82- ``` sh
83- vcpkg new --application
84- vcpkg add port jsoncpp
85- ```
46+ * ** ` 00.11.z ` :** Discontinued.
8647
87- > [ !NOTE ] : you can use vcpkg in either classic mode or manifest mode (recommended) .
48+ Major versions maintain binary compatibility. Critical security fixes are accepted for both the ` master ` and ` 0.y.z ` branches .
8849
89- #### Classic mode
50+ ## Integration
9051
91- If your project does not have a ` vcpkg.json ` ,
92- your project is in [ Classic mode] ( https://learn.microsoft.com/en-us/vcpkg/concepts/classic-mode )
93- you can install JsonCpp by directly invoking the ` install ` command:
52+ ### vcpkg
53+ Add ` jsoncpp ` to your ` vcpkg.json ` manifest:
9454
95- ``` sh
96- vcpkg install jsoncpp
55+ ``` json
56+ {
57+ "dependencies" : [" jsoncpp" ]
58+ }
9759```
9860
99- ### Manifest mode
100-
101- If your project * does* have a vcpkg.json manifest, your project is in [ Manifest mode] ( https://learn.microsoft.com/en-us/vcpkg/concepts/manifest-mode )
102- and you need to add JsonCpp to your package manifest dependencies, then invoke
103- install with no arguments.
104-
105- ``` sh
106- vcpkg add port jsoncpp
107- vcpkg install
108- ```
61+ Or install via classic mode: ` vcpkg install jsoncpp ` .
10962
110- Example manifest:
63+ ### Conan
11164
11265``` sh
113- {
114- " name" : " best-app-ever" ,
115- " dependencies" : [ " jsoncpp" ],
116- }
66+ conan install --requires=" jsoncpp/[*]" --build=missing
11767```
11868
119- > [ !NOTE] The JsonCpp port in vcpkg is kept up to date by Microsoft team members and community contributors.
120- > If the version is out of date, please [ create an issue or pull request] ( https://github.com/Microsoft/vcpkg )
121- > on the vcpkg repository.
122-
123- ### Conan package manager
124-
125- You can download and install JsonCpp using the [ Conan] ( https://conan.io/ )
126- package manager:
69+ ### Meson
12770
12871``` sh
129- conan install -r conancenter --requires= " jsoncpp/[*] " --build=missing
72+ meson wrap install jsoncpp
13073```
13174
132- The JsonCpp package in Conan Center is kept up to date by [ ConanCenterIndex] ( https://github.com/conan-io/conan-center-index )
133- contributors. If the version is out of date, please create an issue or pull request on the
134- Conan Center Index repository.
135-
13675### Amalgamated source
13776
138- See the [ Wiki entry on Amalgamated Source] ( https://github.com/open-source-parsers/jsoncpp/wiki/Amalgamated-(Possibly-outdated) ) .
139-
140- ### The Meson Build System
77+ For projects requiring a single-header approach, see the [ Wiki entry] ( https://github.com/open-source-parsers/jsoncpp/wiki/Amalgamated ) .
14178
142- If you are using the [ Meson Build System] ( http://mesonbuild.com ) , then you can
143- get a wrap file by downloading it from [ Meson WrapDB] ( https://mesonbuild.com/Wrapdb-projects.html ) ,
144- or simply use ` meson wrap install jsoncpp ` .
145-
146- ### Other ways
79+ ## Documentation
14780
148- If you have trouble, see the
149- [ Wiki] ( https://github.com/open-source-parsers/jsoncpp/wiki ) , or post a question
150- as an Issue.
81+ Documentation is generated via [ Doxygen] ( http://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html ) .
82+ Additional information is available on the [ Project Wiki] ( https://github.com/open-source-parsers/jsoncpp/wiki ) .
15183
15284## License
15385
154- See the [ LICENSE] ( ./LICENSE ) file for details. In summary, JsonCpp is licensed
155- under the MIT license, or public domain if desired and recognized in your
156- jurisdiction.
86+ JsonCpp is licensed under the MIT license, or public domain where recognized.
87+ See [ LICENSE] ( ./LICENSE ) for details.
0 commit comments