Skip to content

Commit e5e97f8

Browse files
authored
Specify requirements for code changes and pull requests
Added requirements for code changes and pull requests to ensure backward compatibility and proper issue reporting.
1 parent 406abf8 commit e5e97f8

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

‎README.md‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,24 @@ For more information on contributions, please see [CONTRIBUTING.md](https://gith
5151

5252
Bug fixes, code improvements, and unit test coverage changes are welcome! Because this project is currently in the maintenance phase, the kinds of changes that can be accepted are limited. For more information, please read the [FAQ](https://github.com/stleary/JSON-java/wiki/FAQ).
5353

54+
The project has recently received a number of pull requests that each make a small change to existing behavior. Most come from reading the code or a specification, many apparently with the help of AI tools, and not from a problem that someone met in use. Each change is small, but together they put backward compatibility at risk. For that reason, the requirements below now apply.
55+
56+
# Requirements for code changes
57+
58+
These requirements apply to every pull request that changes code under src/main:
59+
60+
**1. File an issue first.** The issue must come from someone who hit the problem in real use. It should describe what you were doing, the input, the result you got, and the result you expected. A difference from a specification that was found by reading the code is not enough on its own.
61+
62+
**2. State which inputs change, and how.** The pull request description must link the issue and list the inputs that behave differently, with the result before and after the change. If no existing behavior changes, say so.
63+
64+
Pull requests that do not meet these requirements may be closed without review.
65+
66+
Pull requests that only change unit tests or documentation do not need an issue. Security vulnerabilities are handled separately; please report them as described in SECURITY.md.
67+
68+
**JSONPointer is frozen**
69+
70+
Several fixes that bring JSONPointer in line with RFC 6901 ship in the release that follows 20260814. Once that release is published, JSONPointer is frozen. It will be reopened only for bugs that users report, under the requirements above. Its behavior is pinned by JSONPointerConformanceTest (**TBD**).
71+
5472
# Build Instructions
5573

5674
The org.json package can be built from the command line, Maven, and Gradle. The unit tests can be executed from Maven, Gradle, or individually in an IDE e.g. Eclipse.

0 commit comments

Comments
 (0)