)]}'
{
  "commit": "1372a681f33d861fa8908b11e1d17f9086ab2556",
  "tree": "88532c4cd744d6ddcb8caeaf6b1a0e5e1a4ddf97",
  "parents": [
    "f32f6221eca8b3e49d1d3a4509a18a6c5a4fc757"
  ],
  "author": {
    "name": "Guillaume Nodet",
    "email": "gnodet@gmail.com",
    "time": "Tue May 19 21:28:11 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue May 19 21:28:11 2026 +0200"
  },
  "message": "Replace JDOM2 with DomTrip for lossless POM XML editing (#1466)\n\n* Replace JDOM2 with DomTrip for lossless POM XML editing\n\nDomTrip provides lossless XML round-tripping, preserving comments,\nwhitespace, attribute order, quote styles, CDATA sections, and entity\nencoding. This eliminates the intro/outtro hacks required by JDOM2.\n\n- Replace `org.jdom:jdom2` with `eu.maveniverse.maven.domtrip:domtrip-core:1.1.0`\n- Implement 16 DomTrip wrapper classes mirroring the previous JDOM2 wrappers\n- Delete all JDOM2 source (18 files) and test (8 files) classes\n- Switch default ModelETL from `jdom2` to `domtrip`\n- Add 8 new unit test classes (147 tests) covering all DomTrip wrappers\n- Add formatting preservation IT with byte-for-byte comparison\n- Fix `DomTripProperties.put()` to return previous value per `Hashtable.put` contract\n\nCo-Authored-By: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e\n\n* Bump domtrip-core from 1.1.0 to 1.4.0\n\nCo-Authored-By: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e\n\n* Fix spotless formatting violations in DomTrip test files\n\nCo-Authored-By: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e\n\n---------\n\nCo-authored-by: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d1252e7ce83f590620fd62d8a3cfbbb2e700504b",
      "old_mode": 33188,
      "old_path": "maven-release-manager/pom.xml",
      "new_id": "7b58f7e20e1df6999645ef1032fcdbea71a71b5c",
      "new_mode": 33188,
      "new_path": "maven-release-manager/pom.xml"
    },
    {
      "type": "modify",
      "old_id": "3407b4ef6d9836e61977543f5269709f66972d31",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java",
      "new_id": "7420fb777d9fdb760417705b59e2006b8a3b81a6",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java"
    },
    {
      "type": "rename",
      "old_id": "74ed10c22e4d75da7435a0601bb4f9a77810cac9",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomBuild.java",
      "new_id": "7e904fa7459e842594747c3881295fa8cd3c3f28",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/domtrip/DomTripBuild.java",
      "score": 77
    },
    {
      "type": "rename",
      "old_id": "9bc7b6e96ba5ed365f227b84bb7e3800427f8b19",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomDependency.java",
      "new_id": "1d819763ce28af83bb7630af38136d4b68bdc1c2",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/domtrip/DomTripDependency.java",
      "score": 86
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bece5bc6bca0e8183b01502f0bf8722b7a7aaf9b",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/domtrip/DomTripDependencyManagement.java"
    },
    {
      "type": "rename",
      "old_id": "2a08c35cab9cf7f0f85d259bc1f2d811ed44e4cf",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomExtension.java",
      "new_id": "e93f51d8df094280c21e3483c07be626f98fe867",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/domtrip/DomTripExtension.java",
      "score": 77
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b1ec8fcd848e70ff083aa786b089e0215b061c33",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/domtrip/DomTripMavenCoordinate.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c04f001aa51f49da5fd9ce065ce7a6529ea75679",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/domtrip/DomTripModel.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "363823e06c967e6d0a9e5c8d2a8898f7f1a745b8",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/domtrip/DomTripModelBase.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d3a16f6fbccbc80bb7d0ea2d56d5b113259f062a",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/domtrip/DomTripModelETL.java"
    },
    {
      "type": "rename",
      "old_id": "cb9045551aa093747445860678db6cc143b0dd64",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomModelETLFactory.java",
      "new_id": "01790adbda8d46962c56634d2648ffaf54f9fadd",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/domtrip/DomTripModelETLFactory.java",
      "score": 72
    },
    {
      "type": "rename",
      "old_id": "bb078be81864d0d0120e2995c981bc8119950429",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomParent.java",
      "new_id": "80756f368b90c26b0b9c2cf53cb811c5f91435bb",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/domtrip/DomTripParent.java",
      "score": 76
    },
    {
      "type": "rename",
      "old_id": "60b65252c6516b0ca11959e1507ad90657397193",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomPlugin.java",
      "new_id": "e8479af408e33a20027b8fac0b33eaab8142359e",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/domtrip/DomTripPlugin.java",
      "score": 76
    },
    {
      "type": "rename",
      "old_id": "00e331832c8caff84cd62ad195db7a1ea876cf88",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomPluginManagement.java",
      "new_id": "49214cae59025f62c398c3d9573f486d9fecc774",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/domtrip/DomTripPluginManagement.java",
      "score": 63
    },
    {
      "type": "rename",
      "old_id": "343f0678bb067a49dc5e6bcc0b19e074450b73e6",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomProfile.java",
      "new_id": "5ffc5525360f0789fe6878e4a09b64f5f158573e",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/domtrip/DomTripProfile.java",
      "score": 73
    },
    {
      "type": "rename",
      "old_id": "bb6f590876835d5fe47f8aa0f0d465adcfa2fbd7",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomProperties.java",
      "new_id": "367f0874053479bf8eec6459ce5df7f125da3053",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/domtrip/DomTripProperties.java",
      "score": 75
    },
    {
      "type": "rename",
      "old_id": "da418b56ca0f4340423cf287a6490ae6b66b0e08",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomReportPlugin.java",
      "new_id": "90863af4bb5498cde188d63f21e7a81df670fe30",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/domtrip/DomTripReportPlugin.java",
      "score": 86
    },
    {
      "type": "rename",
      "old_id": "bef77f514547a4617489f9b6d85f71f7aa1e55cd",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomReporting.java",
      "new_id": "64523d007a8b6efd16da158c6011889ef24cf057",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/domtrip/DomTripReporting.java",
      "score": 70
    },
    {
      "type": "rename",
      "old_id": "f15fa84692181a893cb1f3283cc96ba0ee5995dc",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomScm.java",
      "new_id": "82232bc925a41d6a267e964cd1169fec5ca24cf3",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/domtrip/DomTripScm.java",
      "score": 70
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c5c9d28e388b7c0de9016fb85f3104665d3c9943",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/domtrip/DomTripUtils.java"
    },
    {
      "type": "delete",
      "old_id": "cfe6e921605711a810519a434025c14d4e680b83",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomDependencyManagement.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "7f431d8161b0bb51f7ad6c6e5bf020085cc95614",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomMavenCoordinate.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "d5811b5f1f7b2b54a5d3230709826d820a037144",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomModel.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "209af354c93f83303d258498b9233dadb74477e9",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomModelBase.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "10e2a11ed33b4848c7c54db36e2042911e3d6fdc",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomModelETL.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "e29b2c8c9441ca02444b1b15b28e188f042e5a84",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/main/java/org/apache/maven/shared/release/transform/jdom2/JDomUtils.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "efa316db40faa22ba0430307657cf77f0247fe26",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java",
      "new_id": "cd66471cd3d223c6fbe97020b78bb00c3a542957",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java"
    },
    {
      "type": "modify",
      "old_id": "aa386c6bcd1b5ca1fe4b6d053ea47b2d53471d43",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhaseTest.java",
      "new_id": "af0efe72fde72ed81e5040d6cd34ce2cec0aa8a5",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhaseTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b36ba76317978a6f7b557c1c1cc256261f6fc951",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/transform/domtrip/DomTripBuildTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9741e60196715bf84fcc793eb15d15504ab0f662",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/transform/domtrip/DomTripDependencyManagementTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a1898c7f05c8c9b0f598cab75a0692e9150aa852",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/transform/domtrip/DomTripDependencyTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4ea91a17f7102c7220aed3bcf2af39f9e4e663b3",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/transform/domtrip/DomTripExtensionTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "faf74b46c9064773f348d4681b827913c3861e7d",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/transform/domtrip/DomTripModelTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "aa3c9705b11cca35dcd230ebb0870af191e96d07",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/transform/domtrip/DomTripParentTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "99b0412479d90f308525d8ce24bd8f5d4299e43c",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/transform/domtrip/DomTripPropertiesTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4362992430b2f9d53f83cc2c41a399e423b8a32c",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/transform/domtrip/DomTripScmTest.java"
    },
    {
      "type": "delete",
      "old_id": "b8255d12b8dadd89d70ecb4e7a5fc16ebc9ec65d",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/transform/jdom2/JDomBuildTest.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "b5c101bc1bec48b785e84fa2f3935050908845e8",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/transform/jdom2/JDomDependencyManagementTest.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "008744a6ce72f1c5690b47a93cb69943be442851",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/transform/jdom2/JDomDependencyTest.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "c3db301fb1ebcaa84bce7c652ac39be18c38adae",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/transform/jdom2/JDomExtensionTest.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "242008de14fe445271908bfa31c2eb1cf698612f",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/transform/jdom2/JDomModelTest.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "856ff8480d0d15851d3446127d6b53e20c14fed9",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/transform/jdom2/JDomParentTest.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "58540c3b0caba0d212bd8e1dfc8366534afc866c",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/transform/jdom2/JDomPropertiesTest.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "e6a94530b4dd225e2d7aeea90623fd181120c6ed",
      "old_mode": 33188,
      "old_path": "maven-release-manager/src/test/java/org/apache/maven/shared/release/transform/jdom2/JDomScmTest.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0686f23a2a91fb853d4211222b04f762459c6b65",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/test/resources/projects/rewrite-for-release/formatting-preservation/expected-pom.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b4e66319e26d384c395304026bd7a1db3defbc72",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/test/resources/projects/rewrite-for-release/formatting-preservation/pom.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4ba1988b3acb7186b9119d1ea2abfe4e8e72282c",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/test/resources/projects/rewrite-for-release/formatting-preservation/subproject1/expected-pom.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a3905249c9037b161dbc6d6bbfab30bdfe1e9fee",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/test/resources/projects/rewrite-for-release/formatting-preservation/subproject1/pom.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "79c67f878bbaff998e67df40e8ada53c35c79747",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/test/resources/projects/rewrite-for-release/formatting-preservation/subproject2/expected-pom.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5859e765710387be5161ca298868b246b36fff75",
      "new_mode": 33188,
      "new_path": "maven-release-manager/src/test/resources/projects/rewrite-for-release/formatting-preservation/subproject2/pom.xml"
    },
    {
      "type": "modify",
      "old_id": "18f7e59d15d366d07b9918154f69b45ee3141f7e",
      "old_mode": 33188,
      "old_path": "pom.xml",
      "new_id": "f59dcb680c647436c0b23052710b73664eea52cf",
      "new_mode": 33188,
      "new_path": "pom.xml"
    }
  ]
}
