Skip to content

Commit bc889af

Browse files
committed
Merge branch 'release/3.11.2'
2 parents 69d7448 + 9d69186 commit bc889af

File tree

267 files changed

+3884
-1248
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

267 files changed

+3884
-1248
lines changed

Diff for: .github/CONTRIBUTING.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,17 @@ Clearly describe the issue:
2222
- If you propose a change or addition, try to give an **example** how the improved code could look like or how to use it.
2323
- If you found a compilation error, please tell us which **compiler** (version and operating system) you used and paste the (relevant part of) the error messages to the ticket.
2424

25-
Please stick to the provided issue templates ([bug report](https://github.com/nlohmann/json/blob/develop/.github/ISSUE_TEMPLATE/Bug_report.md), [feature request](https://github.com/nlohmann/json/blob/develop/.github/ISSUE_TEMPLATE/Feature_request.md), or [question](https://github.com/nlohmann/json/blob/develop/.github/ISSUE_TEMPLATE/question.md)) if possible.
25+
Please stick to the provided issue template ([bug report](https://github.com/nlohmann/json/blob/develop/.github/ISSUE_TEMPLATE/bug.yml) if possible. For questions, feature or support requests, please [open a discussion](https://github.com/nlohmann/json/discussions/new).
2626

2727
## Files to change
2828

29-
:exclamation: Before you make any changes, note the single-header file [`single_include/nlohmann/json.hpp`](https://github.com/nlohmann/json/blob/develop/single_include/nlohmann/json.hpp) is **generated** from the source files in the [`include/nlohmann` directory](https://github.com/nlohmann/json/tree/develop/include/nlohmann). Please **do not** edit file `single_include/nlohmann/json.hpp` directly, but change the `include/nlohmann` sources and regenerate file `single_include/nlohmann/json.hpp` by executing `make amalgamate`.
29+
:exclamation: Before you make any changes, note the single-header files [`single_include/nlohmann/json.hpp`](https://github.com/nlohmann/json/blob/develop/single_include/nlohmann/json.hpp) and [`single_include/nlohmann/json_fwd.hpp`](https://github.com/nlohmann/json/blob/develop/single_include/nlohmann/json_fwd.hpp) are **generated** from the source files in the [`include/nlohmann` directory](https://github.com/nlohmann/json/tree/develop/include/nlohmann). Please **do not** edit the files `single_include/nlohmann/json.hpp` and `single_include/nlohmann/json_fwd.hpp` directly, but change the `include/nlohmann` sources and regenerate the files by executing `make amalgamate`.
3030

3131
To make changes, you need to edit the following files:
3232

33-
1. [`include/nlohmann/*`](https://github.com/nlohmann/json/tree/develop/include/nlohmann) - These files are the sources of the library. Before testing or creating a pull request, execute `make amalgamate` to regenerate `single_include/nlohmann/json.hpp`.
33+
1. [`include/nlohmann/*`](https://github.com/nlohmann/json/tree/develop/include/nlohmann) - These files are the sources of the library. Before testing or creating a pull request, execute `make amalgamate` to regenerate `single_include/nlohmann/json.hpp` and `single_include/nlohmann/json_fwd.hpp`.
3434

35-
2. [`test/src/unit-*.cpp`](https://github.com/nlohmann/json/tree/develop/test/src) - These files contain the [doctest](https://github.com/onqtam/doctest) unit tests which currently cover [100 %](https://coveralls.io/github/nlohmann/json) of the library's code.
35+
2. [`tests/src/unit-*.cpp`](https://github.com/nlohmann/json/tree/develop/tests/src) - These files contain the [doctest](https://github.com/onqtam/doctest) unit tests which currently cover [100 %](https://coveralls.io/github/nlohmann/json) of the library's code.
3636

3737
If you add or change a feature, please also add a unit test to this file. The unit tests can be compiled and executed with
3838

Diff for: .github/ISSUE_TEMPLATE/bug.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ body:
7676
label: Library version
7777
description: >
7878
Which version of the library did you use? If it is a released version,
79-
please enter the version number (e.g., 3.11.1). Otherwise, please enter
79+
please enter the version number (e.g., 3.11.2). Otherwise, please enter
8080
the commit hash. If you got the library from another source as the
8181
GitHub repository (e.g., via a package manager), please also state
8282
this.

Diff for: .github/PULL_REQUEST_TEMPLATE.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Read the [Contribution Guidelines](https://github.com/nlohmann/json/blob/develop
99
- [ ] Changes are described in the pull request, or an [existing issue is referenced](https://github.com/nlohmann/json/issues).
1010
- [ ] The test suite [compiles and runs](https://github.com/nlohmann/json/blob/develop/README.md#execute-unit-tests) without error.
1111
- [ ] [Code coverage](https://coveralls.io/github/nlohmann/json) is 100%. Test cases can be added by editing the [test suite](https://github.com/nlohmann/json/tree/develop/test/src).
12-
- [ ] The source code is amalgamated; that is, after making changes to the sources in the `include/nlohmann` directory, run `make amalgamate` to create the single-header file `single_include/nlohmann/json.hpp`. The whole process is described [here](https://github.com/nlohmann/json/blob/develop/.github/CONTRIBUTING.md#files-to-change).
12+
- [ ] The source code is amalgamated; that is, after making changes to the sources in the `include/nlohmann` directory, run `make amalgamate` to create the single-header files `single_include/nlohmann/json.hpp` and `single_include/nlohmann/json_fwd.hpp`. The whole process is described [here](https://github.com/nlohmann/json/blob/develop/.github/CONTRIBUTING.md#files-to-change).
1313

1414
## Please don't
1515

Diff for: .github/external_ci/appveyor.yml

+14-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
version: '{build}'
22

3+
# only build PRs and commits to develop branch
4+
# (see https://help.appveyor.com/discussions/questions/55079-two-builds-per-commit-to-pull-request)
5+
branches:
6+
only:
7+
- develop
8+
9+
only_commits:
10+
files:
11+
- .github/external_ci/appveyor.yml
12+
- cmake/
13+
- include/
14+
- tests/
15+
- CMakeLists.txt
16+
317
environment:
418
matrix:
519
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
@@ -75,9 +89,3 @@ test_script:
7589
# occasional timeouts on AppVeyor.
7690
# More info: https://github.com/nlohmann/json/pull/1570
7791
- if "%configuration%"=="Debug" ctest --exclude-regex "test-unicode" -C "%configuration%" --parallel 2 --output-on-failure
78-
79-
# only build PRs and commits to develop branch
80-
# (see https://help.appveyor.com/discussions/questions/55079-two-builds-per-commit-to-pull-request)
81-
branches:
82-
only:
83-
- develop

Diff for: .github/labeler.yml

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
version: 1
2+
3+
labels:
4+
- label: "documentation"
5+
files:
6+
- "README.md"
7+
8+
- label: "documentation"
9+
files:
10+
- "docs/.*"
11+
12+
- label: "tests"
13+
files:
14+
- "tests/.*"
15+
16+
- label: "CMake"
17+
files:
18+
- ".*CMakeLists.txt"
19+
20+
- label: "CMake"
21+
files:
22+
- "cmake/.*"
23+
24+
- label: "CI"
25+
files:
26+
- "github/workflows/.*"
27+
28+
- label: "CI"
29+
files:
30+
- "github/external_ci/.*"
31+
32+
- label: "S"
33+
size-below: 10
34+
- label: "M"
35+
size-above: 9
36+
size-below: 100
37+
- label: "L"
38+
size-above: 100

Diff for: .github/workflows/codeql-analysis.yml

-23
Original file line numberDiff line numberDiff line change
@@ -23,38 +23,15 @@ jobs:
2323
steps:
2424
- name: Checkout repository
2525
uses: actions/checkout@v3
26-
with:
27-
# We must fetch at least the immediate parents so that if this is
28-
# a pull request then we can check out the head.
29-
fetch-depth: 2
30-
31-
# If this run was triggered by a pull request event, then checkout
32-
# the head of the pull request instead of the merge commit.
33-
- run: git checkout HEAD^2
34-
if: ${{ github.event_name == 'pull_request' }}
3526

3627
# Initializes the CodeQL tools for scanning.
3728
- name: Initialize CodeQL
3829
uses: github/codeql-action/init@v2
39-
# Override language selection by uncommenting this and choosing your languages
40-
# with:
41-
# languages: go, javascript, csharp, python, cpp, java
4230

4331
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
4432
# If this step fails, then you should remove it and run the build manually (see below)
4533
- name: Autobuild
4634
uses: github/codeql-action/autobuild@v2
4735

48-
# ℹ️ Command-line programs to run using the OS shell.
49-
# 📚 https://git.io/JvXDl
50-
51-
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
52-
# and modify them (or add more) to build your code if your project
53-
# uses a compiled language
54-
55-
#- run: |
56-
# make bootstrap
57-
# make release
58-
5936
- name: Perform CodeQL Analysis
6037
uses: github/codeql-action/analyze@v2

Diff for: .github/workflows/labeler.yml

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: "Pull Request Labeler"
2+
3+
on:
4+
pull_request_target:
5+
types: [opened, synchronize]
6+
7+
jobs:
8+
label:
9+
permissions:
10+
contents: read
11+
pull-requests: write
12+
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- uses: srvaroa/labeler@master
17+
env:
18+
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

Diff for: .github/workflows/macos.yml

+12-12
Original file line numberDiff line numberDiff line change
@@ -15,37 +15,37 @@ concurrency:
1515

1616
jobs:
1717
xcode_1:
18-
runs-on: macos-10.15
18+
runs-on: macos-11
1919
strategy:
2020
matrix:
21-
xcode: [12.4, 12.3, 12.2, 12.1.1, 12.1, 12, 11.7, 11.6, 11.5, 11.4.1, 11.3.1, 11.2.1, 10.3]
21+
xcode: ['11.7', '12.4', '12.5.1', '13.0']
2222
env:
2323
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer
2424

2525
steps:
2626
- uses: actions/checkout@v3
27-
- name: cmake
27+
- name: Run CMake
2828
run: cmake -S . -B build -D CMAKE_BUILD_TYPE=Debug -DJSON_BuildTests=On -DJSON_FastTests=ON
29-
- name: build
29+
- name: Build
3030
run: cmake --build build --parallel 10
31-
- name: test
31+
- name: Test
3232
run: cd build ; ctest -j 10 --output-on-failure
3333

3434
xcode_2:
3535
runs-on: macos-12
3636
strategy:
3737
matrix:
38-
xcode: [13.3.1, 13.3, 13.2.1, 13.2, 13.1]
38+
xcode: ['13.1', '13.2.1', '13.3.1', '13.4.1']
3939
env:
4040
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer
4141

4242
steps:
4343
- uses: actions/checkout@v3
44-
- name: cmake
44+
- name: Run CMake
4545
run: cmake -S . -B build -D CMAKE_BUILD_TYPE=Debug -DJSON_BuildTests=On -DJSON_FastTests=ON
46-
- name: build
46+
- name: Build
4747
run: cmake --build build --parallel 10
48-
- name: test
48+
- name: Test
4949
run: cd build ; ctest -j 10 --output-on-failure
5050

5151
xcode_standards:
@@ -58,9 +58,9 @@ jobs:
5858

5959
steps:
6060
- uses: actions/checkout@v3
61-
- name: cmake
61+
- name: Run CMake
6262
run: cmake -S . -B build -D CMAKE_BUILD_TYPE=Debug -DJSON_BuildTests=On -DJSON_TestStandards=${{ matrix.standard }}
63-
- name: build
63+
- name: Build
6464
run: cmake --build build --parallel 10
65-
- name: test
65+
- name: Test
6666
run: cd build ; ctest -j 10 --output-on-failure

Diff for: .github/workflows/publish_documentation.yml

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Publish documentation
2+
3+
# publish the documentation on every merge to develop branch
4+
on:
5+
push:
6+
branches:
7+
- develop
8+
paths:
9+
- docs/mkdocs/**
10+
- docs/examples/**
11+
workflow_dispatch:
12+
13+
# we don't want to have concurrent jobs, and we don't want to cancel running jobs to avoid broken publications
14+
concurrency:
15+
group: documentation
16+
cancel-in-progress: false
17+
18+
jobs:
19+
publish_documentation:
20+
if: github.repository == 'nlohmann/json'
21+
runs-on: ubuntu-22.04
22+
steps:
23+
- uses: actions/checkout@v3
24+
25+
- name: Install and update PlantUML
26+
run: sudo apt-get update ; sudo apt-get install -y plantuml
27+
28+
- name: Install virtual environment
29+
run: make install_venv -C docs/mkdocs
30+
31+
- name: Publish documentation
32+
run: make publish -C docs/mkdocs

0 commit comments

Comments
 (0)