Skip to content

Commit 634ba24

Browse files
authored
Update README.md
1 parent 949a9d4 commit 634ba24

1 file changed

Lines changed: 27 additions & 96 deletions

File tree

README.md

Lines changed: 27 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -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,
2928
Clang, 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

3936
JsonCpp remains a primary choice for developers who require comment preservation and support for
4037
legacy toolchains where modern C++ standards are unavailable. The library is intended to be a
4138
reliable 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

Comments
 (0)