)]}'
{
  "commit": "807f7bd8867831dca5b277cf8c7d487508a81a49",
  "tree": "6f066d3a1ccaaa41bfdbbc8b1a9c62f458ea007b",
  "parents": [
    "14856465c3e8cdf63c5e086df2b289ae6937634f"
  ],
  "author": {
    "name": "Lukasz Lenart",
    "email": "lukaszlenart@apache.org",
    "time": "Wed Jul 29 09:42:38 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Jul 29 09:42:38 2026 +0200"
  },
  "message": "docs: document ModelDriven parameter binding and authorization (#319)\n\n* docs: document ModelDriven parameter binding and authorization\n\nAn action implementing ModelDriven makes its model the target of\n@StrutsParameter authorization, so the model\u0027s members are bindable\nwithout the annotation. This holds on every input channel — request\nparameters, JSON bodies and REST bodies — since they all resolve the\nauthorization target through the same authorizer.\n\nDocument it on the @StrutsParameter page (canonical), with short notes\nand cross-links from the Model Driven Interceptor and REST plugin pages,\nplus guidance to shape a model as a request DTO rather than a domain or\npersistence entity.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n\n* Adds ToC\n\n* docs: correct version attribution for ModelDriven exemption\n\n@StrutsParameter was introduced in 6.4.0; the ModelDriven exemption\narrived separately in 7.0.0. The previous wording conflated the two and\nread as though the annotation itself were a 7.0.0 feature.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n\n* docs: drop 6.x reference from ModelDriven authorization note\n\n@StrutsParameter enforcement is supported from Struts 7.0.0; 6.x is not\na version the annotation\u0027s behavior should be characterised against.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n\n* docs: add ModelDriven binding note to the Model Driven page\n\nThe conceptual Model Driven page is the likelier landing spot for\nsomeone learning the feature, but said only that Struts populates the\nmodel\u0027s fields — with no mention that this lifts the @StrutsParameter\nrequirement, and no DTO guidance. Adds the same short note and\ncross-link the other pages carry.\n\nAlso corrects the interface\u0027s package: it is org.apache.struts2\n.ModelDriven in 7.x, not com.opensymphony.xwork2.ModelDriven.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n\n---------\n\nCo-authored-by: Claude Opus 5 \u003cnoreply@anthropic.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d551a72a0c7cc613322a68cbef0814d48e60645e",
      "old_mode": 33188,
      "old_path": "source/core-developers/logging-interceptor.md",
      "new_id": "9aa5d29376a974bdc06214df724edaf621278724",
      "new_mode": 33188,
      "new_path": "source/core-developers/logging-interceptor.md"
    },
    {
      "type": "modify",
      "old_id": "7b4ba6ff840e54a9f1a101f6b396b48d4fb280f5",
      "old_mode": 33188,
      "old_path": "source/core-developers/message-store-interceptor.md",
      "new_id": "6ee14adff53b845302e0d30ea7ebfaebd7b81cac",
      "new_mode": 33188,
      "new_path": "source/core-developers/message-store-interceptor.md"
    },
    {
      "type": "modify",
      "old_id": "be88020a0ed650640709d91f6200f2c3c7143519",
      "old_mode": 33188,
      "old_path": "source/core-developers/model-driven-interceptor.md",
      "new_id": "a2f309b0b53662ae8ff1d37dda159932e5b0ccb8",
      "new_mode": 33188,
      "new_path": "source/core-developers/model-driven-interceptor.md"
    },
    {
      "type": "modify",
      "old_id": "01319e01215bf42eb697ac9db5067bebe19b76a9",
      "old_mode": 33188,
      "old_path": "source/core-developers/model-driven.md",
      "new_id": "28fcf53bcb5baaa0419c27f26892f66fbfa552bb",
      "new_mode": 33188,
      "new_path": "source/core-developers/model-driven.md"
    },
    {
      "type": "modify",
      "old_id": "33d5dfdc6c973cbe216a534055a784c078a89602",
      "old_mode": 33188,
      "old_path": "source/core-developers/struts-parameter-annotation.md",
      "new_id": "97e3c37ff9b08de278d6d789ef6fd7f5c40b649d",
      "new_mode": 33188,
      "new_path": "source/core-developers/struts-parameter-annotation.md"
    },
    {
      "type": "modify",
      "old_id": "004d21c3481b28c3cbe187b6ec6ff8cbc9b5fc03",
      "old_mode": 33188,
      "old_path": "source/plugins/rest/index.md",
      "new_id": "ba77909302048a255e5527b22de4b7a121137eec",
      "new_mode": 33188,
      "new_path": "source/plugins/rest/index.md"
    }
  ]
}
