Skip to content

Play JSON 3.0.6

Latest

Choose a tag to compare

@github-actions github-actions released this 10 Oct 11:58
· 6 commits to 3.0.x since this release
3.0.6
82e5894

Noteworthy improvements

  • #1228 [3.0.x] Avoid running out of memory when parsing heavily nested arrays or objects (backport #1226) by @mkurz
    • We now limit the maximum allowed nesting depth of JSON structures (arrays, objects, or a mix of both) to 1000.
      This limit can be adjusted using the system property play.json.parser.maxNestingDepth.
      We assume a depth of 1000 should be more than sufficient for virtually all real-world use cases.

      This change helps prevent both potential OutOfMemoryErrors and StackOverflowErrors.
      The latter, however, is not a concern for Play JSON, since it already uses a @tailrec-optimized parsing method.
      As a result, Play JSON is not affected by CVE-2025-52999, which specifically addresses StackOverflowError risks.
      This improvement is simply an additional safety measure.

Changes

❤️ Thanks to our premium sponsors!

If you find this OSS project useful for work, please consider asking your company to support it by becoming a sponsor.
You can also individually sponsor the project by becoming a backer.

🙇 Thanks to our contributors

Finally, thanks to the community for their help with detailed bug reports, discussions about new features and pull request reviews. This project is only possible due to the help we had from amazing contributors.
Special thanks to all code contributors who helped with this particular release (they are listed below)!