)]}'
{
  "commit": "ed08cb7c2412433141c4b8f1d34a92f114142a0c",
  "tree": "4eb505d6960cbee533424193afa90140d5c0981e",
  "parents": [
    "2c1ab368da4fd3f93aa5207ef4fef33d1275b68d"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Tue Oct 06 23:53:01 2026 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Wed Oct 07 12:31:13 2026 -0700"
  },
  "message": "Update documentation and version history for 2.3.0\n\n- Populate 2.3.0 release notes in docs/source/version_history.rst covering all new features, API changes, and bug fixes since 2.2.0 with contributor credits.\n- Overhaul docs/source/installation.rst for 2.3.0: document Abseil, GoogleTest, Google Benchmark, and cuDSS dependencies, submodule workflow, WITH_* CMake options, Config-mode dependency discovery, Bzlmod Bazel build, and 2.3 migration notes; modernize CMake CLI invocations and consolidate build-tree export guidance.\n- Document CUDA_SPARSE (cuDSS) in docs/source/nnls_solving.rst.\n- Update tutorial code snippets and solver summaries in docs/source/nnls_tutorial.rst and docs/source/gradient_tutorial.rst for Abseil logging and 2.3.0.\n- Add abseil_cpp dependency to package.xml.\n- Fix broken and redirected external URLs across docs/source/*.rst.\n\nChange-Id: I1a356c4ffe4a91d4384816c4e7a83d1cc4566346\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cba274cd71b332259306f25bb765f651c3c127d3",
      "old_mode": 33188,
      "old_path": "docs/source/contributing.rst",
      "new_id": "39e9d00535933a53839e0f3df5fce562cf31eab7",
      "new_mode": 33188,
      "new_path": "docs/source/contributing.rst"
    },
    {
      "type": "modify",
      "old_id": "609f41c2edec0485692ab1fe4f0b44afeb02f6fe",
      "old_mode": 33188,
      "old_path": "docs/source/features.rst",
      "new_id": "6a962fa6b3f1e0426c79bc148b6bcbbdab897923",
      "new_mode": 33188,
      "new_path": "docs/source/features.rst"
    },
    {
      "type": "modify",
      "old_id": "6f7508bfca68b595f04e0b759bcda7ea3f570cb9",
      "old_mode": 33188,
      "old_path": "docs/source/gradient_tutorial.rst",
      "new_id": "c6829e34806f6aa400e7a1ffd3cc3bf51583bc2d",
      "new_mode": 33188,
      "new_path": "docs/source/gradient_tutorial.rst"
    },
    {
      "type": "modify",
      "old_id": "ad9384d86a4f60df639e572c9c8083a1d9f0c1bd",
      "old_mode": 33188,
      "old_path": "docs/source/installation.rst",
      "new_id": "3c88f7f39eeea5f85b5456d1f3cff04fe2887df1",
      "new_mode": 33188,
      "new_path": "docs/source/installation.rst"
    },
    {
      "type": "modify",
      "old_id": "b51380a07210b6b73020294e3052efae8c8aa491",
      "old_mode": 33188,
      "old_path": "docs/source/modeling_faqs.rst",
      "new_id": "b6cafcfce193bebca79e2ced45eb2679eaf2cfdc",
      "new_mode": 33188,
      "new_path": "docs/source/modeling_faqs.rst"
    },
    {
      "type": "modify",
      "old_id": "f95d246c66c43f4e8b608922d6371111f70fc279",
      "old_mode": 33188,
      "old_path": "docs/source/nnls_covariance.rst",
      "new_id": "8b8288750f8b77da6a8a7130752b6c9542b3cc92",
      "new_mode": 33188,
      "new_path": "docs/source/nnls_covariance.rst"
    },
    {
      "type": "modify",
      "old_id": "004ccbdf88d5115fa0ed19373547a3367946c084",
      "old_mode": 33188,
      "old_path": "docs/source/nnls_modeling.rst",
      "new_id": "975056e2c6ba9582bfdf926ef46d92c4e1684e3c",
      "new_mode": 33188,
      "new_path": "docs/source/nnls_modeling.rst"
    },
    {
      "type": "modify",
      "old_id": "3d58a7006570ec07f6c0402f1974704e00364df2",
      "old_mode": 33188,
      "old_path": "docs/source/nnls_solving.rst",
      "new_id": "8e2b2d460847c0c4f67aa3a4cec2485c1778a9db",
      "new_mode": 33188,
      "new_path": "docs/source/nnls_solving.rst"
    },
    {
      "type": "modify",
      "old_id": "2304e70a108a6fc78b6ea812d6cef85c36126f59",
      "old_mode": 33188,
      "old_path": "docs/source/nnls_tutorial.rst",
      "new_id": "a2be7de45f61cb54af202354e806123548e6fb1e",
      "new_mode": 33188,
      "new_path": "docs/source/nnls_tutorial.rst"
    },
    {
      "type": "modify",
      "old_id": "29cd06c535ffb4ad7b65d9d3f5dc96dce806e087",
      "old_mode": 33188,
      "old_path": "docs/source/version_history.rst",
      "new_id": "8f3736784743a95d5da85b1fecc3743116c2d0cf",
      "new_mode": 33188,
      "new_path": "docs/source/version_history.rst"
    },
    {
      "type": "modify",
      "old_id": "7e9aeb3a36b4e40804fb15de11fc692231f29445",
      "old_mode": 33188,
      "old_path": "package.xml",
      "new_id": "e94bdb5081644f10e9e77edce0d912cd52558e47",
      "new_mode": 33188,
      "new_path": "package.xml"
    }
  ]
}
