)]}'
{
  "log": [
    {
      "commit": "26a744c64d3896cd82c5700088f2eb592905df3a",
      "tree": "89d760676f6c5321cc11afd2970c6fd814b07b93",
      "parents": [
        "71e6959f35734261c949fc41d691bacfb8334c53"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Fri Apr 24 11:16:45 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 24 11:16:45 2026 -0400"
      },
      "message": "fix: Fix 2 erroneous tests in CollectionServiceIntegrationTest (#93)\n\n* test: update assertion in CollectionServiceIntegrationTest to check for null errors\n\n* test: update assertion in CollectionServiceIntegrationTest to check for null timeouts"
    },
    {
      "commit": "71e6959f35734261c949fc41d691bacfb8334c53",
      "tree": "a0d6f699521be7dcd323e4337d194668cd368d95",
      "parents": [
        "6ccade5e3a9354a3dae5d3f18c1804b08762fa87"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Thu Apr 23 15:14:29 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 23 15:14:29 2026 -0400"
      },
      "message": "feat: GraalVM native image support (#92)\n\nUsing GraalVM to provide fast start up.\n\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "6ccade5e3a9354a3dae5d3f18c1804b08762fa87",
      "tree": "96b9121bca007a6da329d32b568f819713038ebb",
      "parents": [
        "cb04f63fdd4e5f6190ae04df3b4525c78e8c9b1b"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Thu Apr 23 14:50:49 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 23 14:50:49 2026 -0400"
      },
      "message": "test: add MCP client integration test and reorganize test structure (#91)\n\n* docs: update Spring AI version reference in AGENTS.md\n\nhttps://claude.ai/code/session_018sFVmRBfFQ3aaU8yyPDvCG\n\n* test: add MCP client integration test\n\nAdd McpClientIntegrationTest that exercises the MCP server through a real\nMCP client over HTTP. Boots the app in HTTP mode on a random port with\nSolr via Testcontainers, connects an McpSyncClient, and tests the full\ncreate-collection → index → search workflow via MCP tool calls.\n\nTests cover: ping, tool discovery, collection creation, listing,\nJSON/CSV indexing, search (all docs, filter query, keyword, pagination,\nfacets), health check, collection stats, and schema introspection.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\n\n* refactor(test): reorganize tests into unit and integration classes\n\nEstablish consistent test naming convention:\n- *ServiceTest.java \u003d unit tests (mocked dependencies, fast)\n- *ServiceIntegrationTest.java \u003d integration tests (Testcontainers, real Solr)\n\nSearch tests:\n- SearchServiceTest: unit tests with mocked SolrClient (replaces SearchServiceDirectTest)\n- SearchServiceIntegrationTest: real Solr via Testcontainers (new)\n\nIndexing tests:\n- IndexingServiceTest: unit tests with mocked SolrClient (replaces nested UnitTests + DirectTest)\n- IndexingServiceIntegrationTest: real Solr via Testcontainers (new)\n\nAlso:\n- Delete redundant *DirectTest.java files\n- Fix TestcontainersConfiguration default Solr image to \"solr:9.9-slim\"\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\n\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "cb04f63fdd4e5f6190ae04df3b4525c78e8c9b1b",
      "tree": "378c09d8691d202fa93707ca9e71292f9ee3f02e",
      "parents": [
        "1b73064d0bd684cc54b012b4465dc88f0829f524"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Thu Apr 23 14:49:43 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 23 14:49:43 2026 -0400"
      },
      "message": "feat(compat): Solr 10 support with metrics API migration (#61)\n\nComprehensive Solr 10 compatibility PR that consolidates the metrics API migration,\ncreate-collection tool, CI matrix expansion, and code review hardening into a single\nreviewable changeset.\n\nMetrics API migration: getCacheMetrics() and getHandlerMetrics() now use\n/admin/metrics (available since Solr 7.1+) instead of the removed /admin/mbeans\nCreate-collection MCP tool: New create-collection tool with authentication,\nconfigSet/numShards/replicationFactor defaults\nCI matrix: Tests now run against Solr 8.11, 9.4, 9.9, 9.10, and 10\nCode review fixes:\nFix ClassCastException risk in CollectionUtils.getFloat — added instanceof\ncheck and String fallback parsing\nAdd extractCollectionName() to checkHealth for shard name support\nPopulate collection field in SolrHealthStatus response\nEliminate 3 redundant listCollections() round-trips per getCollectionStats call\nReturn null instead of 0.0f from getFloat for missing values (consistent\nwith getLong/getInteger)\nIntegration tests rewritten: Setup indexes 50 documents and runs 15 warm-up\nqueries (with filter queries) against real Solr via Testcontainers. Tests assert\nactual non-zero metric values:\nnumDocs \u003d\u003d 50, totalResults \u003d\u003d 50, totalDocuments \u003d\u003d 50\nqueryResultCache.lookups \u003e 0, documentCache.lookups \u003e 0, filterCache.lookups \u003e 0\nselectHandler.requests \u003e 0, updateHandler.requests \u003e 0\nSystem.out.println replaced with SLF4J, @BeforeEach/static-boolean replaced\nwith @BeforeAll/@TestInstance(PER_CLASS)"
    },
    {
      "commit": "1b73064d0bd684cc54b012b4465dc88f0829f524",
      "tree": "930d6b5d104f8bbb9da76e24f63e94f13934df4d",
      "parents": [
        "56c634daf0d584b303ca69e811ea4e1cd68a3bfd"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Wed Apr 15 15:29:45 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 15:29:45 2026 -0400"
      },
      "message": "chore(deps): bump Error Prone Plugin from 4.2.0 to 5.1.0 (#84)\n\n\nMajor version upgrade of the Error Prone Gradle plugin.\n\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Eric Pugh \u003cepugh@opensourceconnections.com\u003e"
    },
    {
      "commit": "56c634daf0d584b303ca69e811ea4e1cd68a3bfd",
      "tree": "4b981ac7027e7aaec5a041ff322a9b8f62de1a05",
      "parents": [
        "f380ec2698f3a2c449c3059452979209b145f1a8"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Wed Apr 15 15:27:16 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 15:27:16 2026 -0400"
      },
      "message": "chore(deps): bump Error Prone Core from 2.38.0 to 2.48.0 (#81)\n\n\n* chore(deps): bump Error Prone Core from 2.38.0 to 2.48.0\n\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Eric Pugh \u003cepugh@opensourceconnections.com\u003e"
    },
    {
      "commit": "f380ec2698f3a2c449c3059452979209b145f1a8",
      "tree": "79c08e932a97ef5db2d010931e5edaff44c4d46f",
      "parents": [
        "3fd9909519c36397fa34a1268cf593117856b536"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Wed Apr 15 15:25:29 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 15:25:29 2026 -0400"
      },
      "message": "chore(deps): bump Jib from 3.4.5 to 3.5.3 (#78)\n\n\n* chore(deps): bump Jib from 3.4.5 to 3.5.3\n\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Eric Pugh \u003cepugh@opensourceconnections.com\u003e"
    },
    {
      "commit": "3fd9909519c36397fa34a1268cf593117856b536",
      "tree": "598c9c75b2bf38e8abd7187ac4f659581b1be9c3",
      "parents": [
        "60286ad6ff099c28078f0f3df49b588ef5da435b"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Wed Apr 15 15:24:34 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 15:24:34 2026 -0400"
      },
      "message": "chore(deps): bump Awaitility from 4.2.2 to 4.3.0 (#76)\n\n\n* chore(deps): bump Awaitility from 4.2.2 to 4.3.0\n\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Eric Pugh \u003cepugh@opensourceconnections.com\u003e"
    },
    {
      "commit": "60286ad6ff099c28078f0f3df49b588ef5da435b",
      "tree": "d3af6dd29db8d8d775b944ab58d50831f2d1020c",
      "parents": [
        "116881661efd5670962b011b44cea5e876614bf9"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Wed Apr 15 15:23:02 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 15:23:02 2026 -0400"
      },
      "message": "chore(deps): bump MCP Server Security from 0.0.4 to 0.0.6 (#77)"
    },
    {
      "commit": "116881661efd5670962b011b44cea5e876614bf9",
      "tree": "c2c95e0174a916d8cca0d1b9cb4b750a1217d007",
      "parents": [
        "06563e1cf787985d2a2fc22976c3b66e80c252f2"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Wed Apr 15 15:13:02 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 15:13:02 2026 -0400"
      },
      "message": "chore(deps): bump Commons CSV from 1.10.0 to 1.14.1 (#79)\n\n\n* chore(deps): bump Commons CSV from 1.10.0 to 1.14.1\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Eric Pugh \u003cepugh@opensourceconnections.com\u003e"
    },
    {
      "commit": "06563e1cf787985d2a2fc22976c3b66e80c252f2",
      "tree": "16724b3445fd53b43a19f9ad652d3c1ed9832029",
      "parents": [
        "d06a35cc7fc0397b076edb5b068a34f11c000e3d"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Wed Apr 15 15:11:44 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 15:11:44 2026 -0400"
      },
      "message": "chore(deps): bump NullAway from 0.12.7 to 0.13.1 (#80)\n\n\n* chore(deps): bump NullAway from 0.12.7 to 0.13.1\n\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Eric Pugh \u003cepugh@opensourceconnections.com\u003e"
    },
    {
      "commit": "d06a35cc7fc0397b076edb5b068a34f11c000e3d",
      "tree": "d8eba0f5dfb3fb24eb8654d9c246aeb1a4239767",
      "parents": [
        "d456e54e04ce76630bb0cb099b8b251ca9c5e6c0"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Wed Apr 15 15:10:37 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 15:10:37 2026 -0400"
      },
      "message": "chore(deps): bump OpenTelemetry Instrumentation BOM from 2.11.0 to 2.26.1 (#82)\n\n\n* chore(deps): bump OpenTelemetry Instrumentation BOM from 2.11.0 to 2.26.1\n\nIncludes fix for CVE-2026-33701 (unsafe deserialization in RMI instrumentation).\n\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Eric Pugh \u003cepugh@opensourceconnections.com\u003e"
    },
    {
      "commit": "d456e54e04ce76630bb0cb099b8b251ca9c5e6c0",
      "tree": "5dc5df7c7ea1e496fc21f8ffbc114a12651946bd",
      "parents": [
        "a6481c40c3b13ca0a2abe8c78cea379245510811"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Wed Apr 15 15:09:07 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 15:09:07 2026 -0400"
      },
      "message": "chore(deps): upgrade Gradle Wrapper from 9.2.1 to 9.4.1 (#83)\n\n\n* chore(deps): upgrade Gradle Wrapper from 9.2.1 to 9.4.1\n\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Eric Pugh \u003cepugh@opensourceconnections.com\u003e"
    },
    {
      "commit": "a6481c40c3b13ca0a2abe8c78cea379245510811",
      "tree": "2e6dfdc3c54a53d8dd1267787cdb583a175a42b1",
      "parents": [
        "0d734da2f0c19c165942e66a47aafc87508bf563"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Wed Apr 15 15:07:24 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 15:07:24 2026 -0400"
      },
      "message": "chore(deps): bump Spring AI from 1.1.3 to 1.1.4 (#75)\n\n\n* chore(deps): bump Spring AI from 1.1.3 to 1.1.4\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "0d734da2f0c19c165942e66a47aafc87508bf563",
      "tree": "d6e14c0030e63d1e12828507f03d2ed0488f2f97",
      "parents": [
        "60092131b67b61ac886cf39d3fe1bc2ef1ace3b4"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Wed Apr 15 15:06:47 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 15:06:47 2026 -0400"
      },
      "message": "chore(deps): bump Spring Boot from 3.5.11 to 3.5.13 (#74)\n\n\n* chore(deps): bump Spring Boot from 3.5.11 to 3.5.13\n\n--\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Eric Pugh \u003cepugh@opensourceconnections.com\u003e"
    },
    {
      "commit": "60092131b67b61ac886cf39d3fe1bc2ef1ace3b4",
      "tree": "8010c1b3979fbcfe8d3886c2c87aa7bb0606ab4e",
      "parents": [
        "dbecfb3525975f950ae4910880f04ab1a463236d"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Mar 24 14:51:42 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 24 14:51:42 2026 -0400"
      },
      "message": "feat(deps): upgrade solr-solrj from 9.9.0 to 10.0.0 (#58)\n\nUpgrades solrj to 10, but with an eye towards backwards compatilbity by leveraging the json wire format we already merged.  \n\nNote: SolrInfoMBeanHandler (and thus the /admin/mbeans endpoint) was removed in\nSolr 10. When getCacheMetrics() or getHandlerMetrics() call this endpoint on\na Solr 10 server, SolrJ throws RemoteSolrException (a RuntimeException) because\nthe server returns an HTML 404 page instead of JSON.\n\nAdd Solr 9.10 and 10 to the CI compatibility matrix, running integration\ntests against all supported versions (8.11, 9.4, 9.9, 9.10, 10) on every\nPR and push to main.\n\nAlso update AGENTS.md to document Solr 10 compatibility status: the\n/admin/mbeans endpoint removal is handled gracefully, and all other\nfunctionality is verified working with solr:10-slim.\n\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nSigned-off-by: Aditya Parikh \u003cadityamparikh@apache.org\u003e\nCo-authored-by: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "dbecfb3525975f950ae4910880f04ab1a463236d",
      "tree": "fb8f2ace7a988a3f741dfad66d7c913043db2df3",
      "parents": [
        "44f4c7978d8e2e563488bd5258fcef4c066bda0a"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Mar 24 14:35:39 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 24 14:35:39 2026 -0400"
      },
      "message": "feat(config): switch Solr wire format from JavaBin to JSON (#55)\n\nReplace the default BinaryResponseParser (wt\u003djavabin) with a custom\nJsonResponseParser (wt\u003djson) for future-proofing and improved\ndebuggability.\n\nThe JsonResponseParser converts Solr\u0027s JSON response envelope into the\nNamedList\u003cObject\u003e tree that SolrJ typed response classes expect:\n- JSON objects → SimpleOrderedMap (extends NamedList, implements Map,\n  satisfying both QueryResponse\u0027s NamedList casts and SchemaResponse\u0027s\n  Map cast)\n- JSON objects with numFound+docs → SolrDocumentList\n- Flat alternating arrays [String, non-String, ...] → SimpleOrderedMap\n  (Solr\u0027s json.nl\u003dflat encoding for facet counts)\n- All other arrays → List\n- Decimal numbers → Float (matching JavaBin\u0027s float type, required by\n  SchemaResponse\u0027s (Float) version cast)\n- Small integers → Integer, large integers → Long\n\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nSigned-off-by: Aditya Parikh \u003cadityamparikh@gmail.com\u003e\nCo-authored-by: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "44f4c7978d8e2e563488bd5258fcef4c066bda0a",
      "tree": "fd7bb3c6ed79f661cb64905a5ec7707a830a471e",
      "parents": [
        "4fa5de23ffe1319f6f89196603b978d509a370ef"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Mar 24 14:34:52 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 24 14:34:52 2026 -0400"
      },
      "message": "feat(config): enable Docker Compose auto-start in HTTP mode only (#70)\n\nSpring Boot Docker Compose integration now starts automatically when running\nlocally with the HTTP profile (PROFILES\u003dhttp ./gradlew bootRun). In STDIO\nmode, Docker Compose is explicitly disabled because STDIO requires a clean\nstdout channel and container management is not useful for that transport.\n\nThe Jib container image already disables Docker Compose via\nSPRING_DOCKER_COMPOSE_ENABLED\u003dfalse; an expanded comment explains why.\n\nAlso updates all documentation to prefer the PROFILES environment variable\nover the --spring.profiles.active flag for consistency with the runtime\nconfiguration approach used by Docker and the JAR launcher.\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "4fa5de23ffe1319f6f89196603b978d509a370ef",
      "tree": "04f32964c93df5c58fe3477fd5f359ca2c773eb4",
      "parents": [
        "168a72ead601e46818e3d7887ab0cd9c748915a0"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Mar 24 14:23:20 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 24 14:23:20 2026 -0400"
      },
      "message": "chore: remove @version and @since javadoc tags (#60)\n\n* chore: remove @version and @since javadoc tags\n\nThe Apache Solr community does not use @version and @since tags in\njavadocs. Remove all occurrences of @version 1.0.0 and @since 1.0.0\nfrom 13 source files.\n\n---------\n\nSigned-off-by: Aditya Parikh \u003cadityamparikh@gmail.com\u003e\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "168a72ead601e46818e3d7887ab0cd9c748915a0",
      "tree": "9befaa06d7815d1617132429c051a67dd754794a",
      "parents": [
        "ea2dff8400f15488d352eba2513d8f22238e3d3d"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Mar 24 14:11:22 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 24 14:11:22 2026 -0400"
      },
      "message": "feat: enable virtual threads (#67)\n\nEnable Java virtual threads globally via spring.threads.virtual.enabled\u003dtrue.\nVirtual threads are lightweight and have negligible overhead for STDIO mode\nwhile improving concurrency for HTTP mode where multiple MCP clients can\nconnect and each request blocks on Solr I/O.\n\nSigned-off-by: Aditya Parikh \u003cadityamparikh@gmail.com\u003e\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e"
    },
    {
      "commit": "ea2dff8400f15488d352eba2513d8f22238e3d3d",
      "tree": "c033085eb7c7608c38c0dad8ace73e21d01da95f",
      "parents": [
        "c203b3fe46e2b29274ba2bd16076534f49f706ca"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Mar 24 14:10:41 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 24 14:10:41 2026 -0400"
      },
      "message": "chore: add .worktrees/ to .gitignore for isolated workspaces (#63)\n\nSigned-off-by: Aditya Parikh \u003cadityamparikh@gmail.com\u003e\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "c203b3fe46e2b29274ba2bd16076534f49f706ca",
      "tree": "ee59b82393a8b4445df5d675cbd780fed2597332",
      "parents": [
        "71e0031634895c806056c64a3c01e6e439823d5d"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Mar 24 14:10:10 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 24 14:10:10 2026 -0400"
      },
      "message": "refactor: remove standalone Solr support, require SolrCloud (#71)\n\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "71e0031634895c806056c64a3c01e6e439823d5d",
      "tree": "09fbebcf3216c394c861619adeff818830f35afe",
      "parents": [
        "2ffda8aba56bae8930e741fa60caa61d87b4658a"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Mar 24 14:08:55 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 24 14:08:55 2026 -0400"
      },
      "message": "refactor(security): move security configs to dedicated package (#56)\n\n* refactor(security): move security configs to dedicated package\n\nRename McpServerConfiguration to HttpSecurityConfiguration and move both\nHttpSecurityConfiguration and MethodSecurityConfiguration from\norg.apache.solr.mcp.server.config to org.apache.solr.mcp.server.security.\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\n\n* fix(security): rename spring.security.enabled to http.security.enabled\n\n- Rename configuration property from `spring.security.enabled` to\n  `http.security.enabled` to avoid collision with Spring Boot\u0027s own\n  `spring.security.*` namespace\n- Rename corresponding environment variable from `SECURITY_ENABLED`\n  to `HTTP_SECURITY_ENABLED` for consistency\n- Update application-http.properties, HttpSecurityConfiguration,\n  MethodSecurityConfiguration, and keycloak.md\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\n\n* docs(security): move auth0 and keycloak docs to security-docs folder\n\nConsolidate security-related documentation into a dedicated\nsecurity-docs directory for better organization.\n\nCo-Authored-By: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\n\n* fix(quality): resolve SonarQube violations in security-refactor\n\nSigned-off-by: Aditya Parikh \u003caditya.m.parikh@gmail.com\u003e\n\nCo-Authored-By: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\n\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "2ffda8aba56bae8930e741fa60caa61d87b4658a",
      "tree": "14c498bd6658d70b904b07e7169c626337eb64f8",
      "parents": [
        "17f090711e703fceeac25e8370402cb0dc4c3f50"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Mar 24 14:04:13 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 24 14:04:13 2026 -0400"
      },
      "message": "feat(deps): upgrade Spring AI to 1.1.3 (#72)\n\nhttps://claude.ai/code/session_01Y97sRpKoHT66ADqmEGu8at\n\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "17f090711e703fceeac25e8370402cb0dc4c3f50",
      "tree": "4ebe6414b95672cd81d3b7ffeec747ba86783f96",
      "parents": [
        "e4f223e3552086d57f3b8730198e283e76790d57"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Mar 24 14:03:55 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 24 14:03:55 2026 -0400"
      },
      "message": "feat(deps): upgrade Spring Boot to 3.5.11 (#73)\n\nhttps://claude.ai/code/session_01Y97sRpKoHT66ADqmEGu8at\n\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "e4f223e3552086d57f3b8730198e283e76790d57",
      "tree": "7b7ede6e6201c034a2b581a703521de8344e41f3",
      "parents": [
        "375a7106efd0fd518c9d08b864bd89578f21dc7e"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Mon Mar 09 17:11:07 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 17:11:07 2026 -0400"
      },
      "message": "feat(collection): add create-collection tool and dedicated collection package (#57)\n\n* feat(collection): add create-collection tool and dedicated package\n\nMove CollectionService, CollectionUtils, and Dtos from the metadata\npackage into a new dedicated collection package. This separates\ncollection management from schema introspection (SchemaService stays\nin metadata).\n\nAdd create-collection MCP tool to CollectionService:\n- Accepts name (required), configSet, numShards, replicationFactor\n- Defaults: configSet\u003d_default, numShards\u003d1, replicationFactor\u003d1\n- Uses CollectionAdminRequest.createCollection() for both SolrCloud\n  and standalone Solr via Http2SolrClient\n- Returns CollectionCreationResult DTO with name, success, message,\n  and createdAt timestamp\n\nAdd CollectionCreationResult record to Dtos.java.\n\nUpdate unit tests with correct 2-arg Mockito stubs to match\nCollectionAdminRequest.process() call signature.\nAdd integration test asserting the new collection appears in\nlistCollections() after creation.\n\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nSigned-off-by: Aditya Parikh \u003cadityamparikh@gmail.com\u003e\nCo-authored-by: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "375a7106efd0fd518c9d08b864bd89578f21dc7e",
      "tree": "687b3f3bd0f776d125ad45dbfc1e44e6758b3243",
      "parents": [
        "002ea0cebefd93a95b0ce67392634a3e61bd86f6"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Mon Mar 09 16:49:00 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 16:49:00 2026 -0400"
      },
      "message": "feat: add observability with OpenTelemetry Spring Boot Starter (#41)\n\n* feat: implement observability with OpenTelemetry and Micrometer, add logging configuration, and enable tracing with annotation support\n\n* test(observability): implement distributed tracing tests for Spring Boot 3.5\n\nAdd comprehensive distributed tracing test suite using SimpleTracer from\nmicrometer-tracing-test library. This is the Spring Boot 3-native approach\nfor testing observability without requiring external infrastructure.\n\nKey changes:\n- Add DistributedTracingTest with 6 passing tests for @Observed methods\n- Add OpenTelemetryTestConfiguration providing SimpleTracer as @Primary bean\n- Add OtlpExportIntegrationTest (disabled due to Jetty dependency issue)\n- Add LgtmAssertions and TraceAssertions utility classes\n- Add micrometer-tracing-bridge-otel to bridge Observation API to OpenTelemetry\n- Add spring-boot-starter-aop for @Observed annotation support\n- Add test dependencies: micrometer-tracing-test, awaitility, Jetty modules\n\nTest results:\n- DistributedTracingTest: 6/6 tests passing\n- Spans successfully captured from @Observed annotations\n- Build: SUCCESS (219 tests passing, 0 failures)\n\nSpring Boot 3.5 uses Micrometer Observation → Micrometer Tracing → OpenTelemetry\nbridge, which differs from Spring Boot 4\u0027s direct OpenTelemetry integration.\n\nAdapted from PR #23 (Spring Boot 4 implementation) with modifications for\nSpring Boot 3.5 architecture and APIs.\n\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "002ea0cebefd93a95b0ce67392634a3e61bd86f6",
      "tree": "60eefda1f61c8a51e615964bbc9d7ae7829ef95c",
      "parents": [
        "ba020edd211e20e801fb7e4b386c8386b3f0f8cf"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Mon Mar 09 16:17:41 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 16:17:41 2026 -0400"
      },
      "message": "fix(docs): use \"collections\" consistently instead of \"cores\" (#51)\n\nReplace references to \"cores\" with \"collections\" in CollectionService\njavadoc so AI agents see consistent terminology when interacting with\nMCP tool descriptions.\n\n\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "ba020edd211e20e801fb7e4b386c8386b3f0f8cf",
      "tree": "59090ef9a8e9abd62bcdf462568ccc699031bf45",
      "parents": [
        "ef1bac053e3cf9a35a275852cf616411ce2681dc"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Thu Feb 26 11:07:02 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 26 06:07:02 2026 -0500"
      },
      "message": "docs: add Claude Code onboarding instructions (#49)\n\n* docs: add Claude Code onboarding instructions for MCP server setup\n\nAdd a Claude Code section to the README covering all transport modes:\n- STDIO with Docker (CLI and .mcp.json)\n- STDIO with JAR (CLI and .mcp.json)\n- HTTP mode (CLI and .mcp.json)\n\nSigned-off-by: Aditya Parikh \u003cadityamparikh@gmail.com\u003e\n\nCo-Authored-By: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\n\n* fix(docs): use -e short flag for claude mcp add env vars\n\nThe --env long form with variadic args greedily consumes the next\npositional argument (the server name), causing a parse error. Use the\n-e short form which works correctly.\n\nCo-Authored-By: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\n\n---------\n\nSigned-off-by: adityamparikh \u003caditya.m.parikh@gmail.com\u003e\nCo-authored-by: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "ef1bac053e3cf9a35a275852cf616411ce2681dc",
      "tree": "38dcb6f0d86c6a74e47ccfadf682f50fdfbcf0c5",
      "parents": [
        "1f4eca2785f76ce3b693a73fbfd9d4ff11c4ba9b"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Feb 21 16:11:49 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 21 16:11:49 2026 -0500"
      },
      "message": "test: make Solr version configurable for compatibility testing (#50)\n\n"
    },
    {
      "commit": "1f4eca2785f76ce3b693a73fbfd9d4ff11c4ba9b",
      "tree": "eb3e4bb34f26a33926ca7b715a9ada15775935da",
      "parents": [
        "38e3d10cb0ffe1f8e9ec5ecb10b5c288b6ee2b57"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Wed Feb 04 16:21:27 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 04 16:21:27 2026 -0500"
      },
      "message": "feat: change MCP server protocol from streamable to stateless (#42)\n\n\n\nCo-authored-by: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "38e3d10cb0ffe1f8e9ec5ecb10b5c288b6ee2b57",
      "tree": "9ab2b678aebb990af55183a1977db4909e2f91f4",
      "parents": [
        "c1016b5652f1a0800d19141b28e976ca346ff4b2"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Wed Feb 04 16:20:20 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 04 16:20:20 2026 -0500"
      },
      "message": "feat(security): add configurable security bypass for HTTP mode (#44)\n\nAdd ability to disable OAuth2 security in HTTP mode for local development\nand testing scenarios. Security can be toggled via spring.security.enabled\nproperty:\n\n- spring.security.enabled\u003dtrue (default): Full OAuth2 authentication\n- spring.security.enabled\u003dfalse: All requests permitted, @PreAuthorize bypassed\n\nComprehensive guide for setting up Keycloak as OAuth2/OIDC identity\nprovider for Solr MCP Server in HTTP mode.\n\n---------\n\nCo-authored-by: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "c1016b5652f1a0800d19141b28e976ca346ff4b2",
      "tree": "d5d27cbc684729ac4ab27292deb64766a9f88965",
      "parents": [
        "acdfb188985b7fcce5a840030868cb9b03077906"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Wed Feb 04 11:16:41 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 04 11:16:41 2026 -0500"
      },
      "message": "fix: standardize MCP tool names to kebab-case (#43)\n\n"
    },
    {
      "commit": "acdfb188985b7fcce5a840030868cb9b03077906",
      "tree": "14fae92ca3918a99952a96ef9dba1c974664da37",
      "parents": [
        "705bc5f74ca73f1592a19062fb310e81d6942601"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Feb 03 17:03:49 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 03 17:03:49 2026 -0500"
      },
      "message": "chore: centralize Java version configuration in composite action (#38)\n\nCreate a reusable composite action (.github/actions/setup-java) to\ncentralize Java version configuration across all workflows. This\neliminates duplication and makes future Java version updates\nsingle-point changes.\n\nChanges:\n- Add .github/actions/setup-java/action.yml with Java 25 + Temurin\n- Update build-and-publish.yml to use composite action\n- Update release-publish.yml to use composite action\n- Update nightly-build.yml to use composite action\n- Update atr-release.yml to use composite action\n- Update atr-release-test.yml to use composite action\n- Remove redundant env variables (JAVA_VERSION, JAVA_DISTRIBUTION)\n- Remove duplicate chmod +x gradlew steps (now in composite action)\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-authored-by: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "705bc5f74ca73f1592a19062fb310e81d6942601",
      "tree": "a931b098ba5029211ab00629b3413ae961353c26",
      "parents": [
        "e13eef870011005545aa3581e4b383a48a6b72d5"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Feb 03 17:03:03 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 03 17:03:03 2026 -0500"
      },
      "message": "feat(security): add configurable security bypass for HTTP mode (#40)\n\nAdd ability to disable OAuth2 security in HTTP mode for local development\nand testing scenarios. Security can be toggled via spring.security.enabled\nproperty:\n\n- spring.security.enabled\u003dtrue (default): Full OAuth2 authentication\n- spring.security.enabled\u003dfalse: All requests permitted, @PreAuthorize bypassed\n\nChanges:\n- Add @ConditionalOnProperty to SecurityFilterChain beans\n- Extract @EnableMethodSecurity to separate MethodSecurityConfiguration\n- Add unsecured() filter chain for when security is disabled\n- Default to security disabled in application-http.properties\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-authored-by: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "e13eef870011005545aa3581e4b383a48a6b72d5",
      "tree": "8d27b9e3e0ea2bd5c9292bba4c600bc17c823ff7",
      "parents": [
        "8e7f53f1fe2dcd560853f1fdd351bd2c49e835f8"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Feb 03 17:01:50 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 03 17:01:50 2026 -0500"
      },
      "message": "chore: bump project version to 1.0.0-SNAPSHOT (#33)\n\nUpdate version references across all project files:\n- build.gradle.kts: version \u003d \"1.0.0-SNAPSHOT\"\n- application.properties: spring.ai.mcp.server.version\u003d1.0.0\n- server.json: package versions updated\n- Documentation files updated with new version examples\n- Java source files @version/@since annotations updated\n- Workflow comments updated\n\nPreparing for 1.0.0 release milestone.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-authored-by: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Eric Pugh \u003cepugh@opensourceconnections.com\u003e"
    },
    {
      "commit": "8e7f53f1fe2dcd560853f1fdd351bd2c49e835f8",
      "tree": "6c66b0186eba2279d2426797af580af4efd7511d",
      "parents": [
        "c6dff38c90adefce4b41125795fae6776534ee00"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Feb 03 17:00:09 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 03 17:00:09 2026 -0500"
      },
      "message": "docs: add AGENTS.md for AI coding assistants with CLAUDE.md symlink (#39)\n\nAdd AGENTS.md as the primary guidance file for all AI coding assistants\n(Copilot, Junie, Cursor, Claude Code, etc.) with CLAUDE.md as a symlink.\n\n- Includes common commands (build, test, format)\n- Documents architecture overview and MCP tools\n- Explains transport modes (STDIO vs HTTP) and testing structure\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-authored-by: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "c6dff38c90adefce4b41125795fae6776534ee00",
      "tree": "cdad4b6b91bbfce872bc26b069d0c34fce418112",
      "parents": [
        "f7786b5eb5e9d36754557fd0d551df3446302e51"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Wed Jan 07 12:26:08 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 07 11:26:08 2026 -0500"
      },
      "message": "fix: remove SNAPSHOT suffix from GA release in MCP Registry (#37)\n\n"
    },
    {
      "commit": "f7786b5eb5e9d36754557fd0d551df3446302e51",
      "tree": "d33e948d81e1261acfda9af23f7bb239b4cfab3a",
      "parents": [
        "f7c02d2cb466a69d1b5c93fce0224818aa4ebf8d"
      ],
      "author": {
        "name": "Eric Pugh",
        "email": "epugh@opensourceconnections.com",
        "time": "Wed Jan 07 11:24:36 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 07 11:24:36 2026 -0500"
      },
      "message": "remove unneeded files (#36)\n\n"
    },
    {
      "commit": "f7c02d2cb466a69d1b5c93fce0224818aa4ebf8d",
      "tree": "8c3e6e4f28e667b931998246c4395246a678bf9f",
      "parents": [
        "4e628fba895594fbc05168c542fcc7bcfe36532b"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Wed Jan 07 06:38:46 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 07 05:38:46 2026 -0500"
      },
      "message": "feat: add MCP resource and completion for listing Solr collections and their schema (#31)\n\n* feat: add MCP Resources for collections and schema\n\nAdd @McpResource and @McpComplete annotations from spring-ai-mcp-annotations\nlibrary to expose Solr metadata as MCP Resources:\n\n- solr://collections: Lists all available Solr collections\n- solr://{collection}/schema: Returns schema definition for a collection\n\nThe schema resource supports autocompletion for the {collection} parameter\nusing @McpComplete, allowing MCP clients to discover available collections.\n\nAlso adds JsonUtils utility class for consistent JSON serialization in\nMCP Resource responses.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n\n* docs: add MCP Inspector screenshots for resources\n\nAdd screenshots showing:\n- MCP Inspector listing available resources\n- Resource autocompletion for collection names\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n\n* chore: remove useless comments\n\n---------\n\nCo-authored-by: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "4e628fba895594fbc05168c542fcc7bcfe36532b",
      "tree": "aab98136a70f4d9e3f3101e83782f2734cc6bb20",
      "parents": [
        "8f386620ea185b8c36ef1b6d6f4f930dadb4489e"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Jan 06 18:54:03 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 06 17:54:03 2026 -0500"
      },
      "message": "build: add maven-publish plugin for local artifact publishing (#32)\n\nEnable publishing of project artifacts to Maven repositories with\nsources and javadoc JARs.\n\nChanges:\n- Add maven-publish plugin to build.gradle.kts\n- Configure publishing block with detailed comments\n- Add withSourcesJar() and withJavadocJar() for artifact generation\n- Update CONTRIBUTING.md with publishToMavenLocal instructions\n\nUsage:\n  ./gradlew publishToMavenLocal\n\nThis publishes to ~/.m2/repository/org/apache/solr/solr-mcp/{version}/:\n- solr-mcp-{version}.jar (main artifact)\n- solr-mcp-{version}-sources.jar (source code)\n- solr-mcp-{version}-javadoc.jar (API documentation)\n- solr-mcp-{version}.pom (Maven POM)\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-authored-by: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "8f386620ea185b8c36ef1b6d6f4f930dadb4489e",
      "tree": "1af5f96893544831e685efa7dc9d094845b1ab63",
      "parents": [
        "1cce791982daedf0d6b1611f26035696e6b7d7e5"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Jan 06 14:23:13 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 06 13:23:13 2026 -0500"
      },
      "message": "deps: upgrade Spring Boot to v3.5.8 and Spring AI to v1.1.2 (#22)\n\n"
    },
    {
      "commit": "1cce791982daedf0d6b1611f26035696e6b7d7e5",
      "tree": "22b1871842be05e5d86308a6daba54a397c0c5c4",
      "parents": [
        "3a1e2d843a63fb9b1e9c52f96825927dff48e980"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Jan 06 14:20:44 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 06 13:20:44 2026 -0500"
      },
      "message": "test: disable tests requiring testcontainers when docker is not available (#29)\n\n* chore: fix spotless checks to work with java 25\n\n* test: disable tests requiring testcontainers when docker is not available"
    },
    {
      "commit": "3a1e2d843a63fb9b1e9c52f96825927dff48e980",
      "tree": "ffa067e78ebac57e55efc86d2771b425a047569f",
      "parents": [
        "fcb546c8114c3061678ca6e038aaef3039f7601a"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Dec 16 16:47:30 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 16 16:47:30 2025 -0500"
      },
      "message": "chore: fix spotless checks to work with java 25 (#28)\n\n"
    },
    {
      "commit": "fcb546c8114c3061678ca6e038aaef3039f7601a",
      "tree": "fbc75abaf646a2fd0a71688231e64462e03a10a2",
      "parents": [
        "2cd4a799a2a879c8a2dabf7161e06baf7ac6a003"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Dec 16 16:02:45 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 16 16:02:45 2025 -0500"
      },
      "message": "chore: spotless apply (#27)\n\n"
    },
    {
      "commit": "2cd4a799a2a879c8a2dabf7161e06baf7ac6a003",
      "tree": "014854eb83530662804f159ff551ab1334234d9c",
      "parents": [
        "37d26400fc79fd21d71b75815f07a40219b5ae67"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Dec 16 15:54:36 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 16 15:54:36 2025 -0500"
      },
      "message": "chore: spotless apply (#26)\n\n"
    },
    {
      "commit": "37d26400fc79fd21d71b75815f07a40219b5ae67",
      "tree": "0bb66e99d2448b8b5273ffd92c17c4443f2681a8",
      "parents": [
        "dde0ab9abcd30dfe035fea8ca60e56cdb1709cba"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Dec 16 15:41:16 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 16 15:41:16 2025 -0500"
      },
      "message": "Change upload action version (#25)\n\n* feat: update upload-artifact action to version 6.0.0"
    },
    {
      "commit": "dde0ab9abcd30dfe035fea8ca60e56cdb1709cba",
      "tree": "7decfc0843b8b5278146236ebdc2ba2f0f94b752",
      "parents": [
        "366022f411ad113a1bac9d73da00e0dcaf37c80f"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Dec 16 15:27:54 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 16 15:27:54 2025 -0500"
      },
      "message": "feat: simplify ATR upload conditions by removing ASF_USERNAME requirement (#24)\n\n"
    },
    {
      "commit": "366022f411ad113a1bac9d73da00e0dcaf37c80f",
      "tree": "f584327a094082330d8aa3dbee003b3c4f5f880e",
      "parents": [
        "9f4761643ebfe9d7d1de105d24b6e06849081c42"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Dec 16 15:04:42 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 16 15:04:42 2025 -0500"
      },
      "message": "feat: Add security and docs  (#17)\n\n"
    },
    {
      "commit": "9f4761643ebfe9d7d1de105d24b6e06849081c42",
      "tree": "b09a69cef44a80ad4736c61214dcb6b881a44cc8",
      "parents": [
        "f9668e24482740b43371478c14b2f82c47738cca"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sun Nov 16 12:47:13 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 16 18:47:13 2025 +0100"
      },
      "message": "deps: Spring Boot v3.5.7, Spring AI v1.1.0 GA (#20)\n\n"
    },
    {
      "commit": "f9668e24482740b43371478c14b2f82c47738cca",
      "tree": "2682a8d5ca08217d77ffb00e17cac282183aba39",
      "parents": [
        "e68709b8471b365a47c6bc933e012392005bed89"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Nov 04 20:59:11 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 20:59:11 2025 -0500"
      },
      "message": "docs: enhance README with comprehensive STDIO and HTTP mode setup instructions (#16)\n\n"
    },
    {
      "commit": "e68709b8471b365a47c6bc933e012392005bed89",
      "tree": "d7f21c90a2f4dad7a495bd914dba8a61d10f937a",
      "parents": [
        "3b71d122ae29156b02c9fbe65eeee1a31890ecde"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Nov 04 09:20:20 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 09:20:20 2025 -0500"
      },
      "message": "docs: Break up readme (#14)\n\n"
    },
    {
      "commit": "3b71d122ae29156b02c9fbe65eeee1a31890ecde",
      "tree": "c2dbe7d1b819f85c9db1213a148e4fcd6a94ba74",
      "parents": [
        "d924d424a5316623aa4735e4e059a2dee7bf2571"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Nov 04 07:23:53 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 07:23:53 2025 -0500"
      },
      "message": "refactor: Fix jib build and docs (#13)\n\n* chore: bump Jib to 3.4.5 and update Docker-related README sections for clarity\n\n* Add Docker support with Jib and GitHub Actions CI/CD\n\n* test: add Docker integration tests for MCP server under both STDIO and HTTP modes\n\n* Add Docker support with Jib and GitHub Actions CI/CD\n\n* refactor: centralize build info retrieval logic and update tests and docs accordingly. remove buildTar instructions.\n\n* feat: configure Docker executable path for Jib with OS-specific defaults and customizability\n\n* feat: add MCP Registry publishing configuration and automation\n\n- Add server.json for MCP registry metadata\n- Add publish-mcp.yml GitHub Actions workflow for automated publishing\n- Add MCP label to Docker image for registry discovery\n- Uses GitHub OIDC for authentication (no secrets required)\n- Supports both STDIO and HTTP transport modes"
    },
    {
      "commit": "d924d424a5316623aa4735e4e059a2dee7bf2571",
      "tree": "4f07df48124a5805869cd4f8b6054beeeda3adf3",
      "parents": [
        "c8fba2db67472fc3d515cbe5fad55e068cd97233"
      ],
      "author": {
        "name": "Eric Pugh",
        "email": "epugh@opensourceconnections.com",
        "time": "Fri Oct 31 10:18:39 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 31 10:18:39 2025 -0400"
      },
      "message": "Fix yaml, learn lesson on what review matters! (#9)\n\n"
    },
    {
      "commit": "c8fba2db67472fc3d515cbe5fad55e068cd97233",
      "tree": "80264a339f361553fc1222a7184eef16aa010eb1",
      "parents": [
        "fe514d6100866faa92d26e67512a62accda7fffa"
      ],
      "author": {
        "name": "Eric Pugh",
        "email": "epugh@opensourceconnections.com",
        "time": "Fri Oct 31 07:24:58 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 31 07:24:58 2025 -0400"
      },
      "message": "Add GH issues (#8)\n\n"
    },
    {
      "commit": "fe514d6100866faa92d26e67512a62accda7fffa",
      "tree": "917578a1eab26c9b1069eb8e457c5b802be9af42",
      "parents": [
        "e7642e713b506316f1e7a54f797cf0cb9d2fec93"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Fri Oct 31 07:23:59 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 31 07:23:59 2025 -0400"
      },
      "message": "chore: Rename repo (#7)\n\n* Add Docker support with Jib and GitHub Actions CI/CD\n\n* Add Docker support with Jib and GitHub Actions CI/CD\n\n# Conflicts:\n#\tbuild.gradle.kts\n#\tgradle/libs.versions.toml\n\n* Update the repo name pattern.\n\n* Add Docker support with Jib and GitHub Actions CI/CD\n\n# Conflicts:\n#\tbuild.gradle.kts\n#\tgradle/libs.versions.toml\n\n* test: add Docker integration tests for MCP server under both STDIO and HTTP modes\n\n* refactor: rename project from solr-mcp-server to solr-mcp\n\n---------\n\nCo-authored-by: Eric Pugh \u003cepugh@opensourceconnections.com\u003e"
    },
    {
      "commit": "e7642e713b506316f1e7a54f797cf0cb9d2fec93",
      "tree": "726ca21f2ca56f5dd808f1feab2fe4e51b63e57d",
      "parents": [
        "0db92d15827f12dbde68a637cd309f252148cd8a"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Fri Oct 31 07:15:22 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 31 07:15:22 2025 -0400"
      },
      "message": "feat: Add Docker support with Jib and GitHub Actions CI/CD (#6)\n\n* Add Docker support with Jib and GitHub Actions CI/CD\n\n* Minimal .asf.yaml to get correct github notifications in place\n\n* Apply spotless plugin (#5)\n\n* Add Docker support with Jib and GitHub Actions CI/CD\n\n# Conflicts:\n#\tbuild.gradle.kts\n#\tgradle/libs.versions.toml\n\n* Update the repo name pattern.\n\n* Add Docker support with Jib and GitHub Actions CI/CD\n\n# Conflicts:\n#\tbuild.gradle.kts\n#\tgradle/libs.versions.toml\n\n* test: add Docker integration tests for MCP server under both STDIO and HTTP modes\n\n---------\n\nCo-authored-by: Chris Hostetter \u003chossman@apache.org\u003e\nCo-authored-by: Eric Pugh \u003cepugh@opensourceconnections.com\u003e"
    },
    {
      "commit": "0db92d15827f12dbde68a637cd309f252148cd8a",
      "tree": "e2ca5053d4e6201e48978a746725223cb0ab87b7",
      "parents": [
        "4adefba837b5e5653f52c89bd1d1a1d8505a1708"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Tue Oct 28 17:27:02 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 29 02:57:02 2025 +0530"
      },
      "message": "Apply spotless plugin (#5)\n\n"
    },
    {
      "commit": "4adefba837b5e5653f52c89bd1d1a1d8505a1708",
      "tree": "1d7f9ecfee127843bc1e960051288ac9e099d111",
      "parents": [
        "cda37f2964195c6d2734899234faeff2a4bc71d4"
      ],
      "author": {
        "name": "Chris Hostetter",
        "email": "hossman@apache.org",
        "time": "Mon Oct 27 09:22:44 2025 -0700"
      },
      "committer": {
        "name": "Chris Hostetter",
        "email": "hossman@apache.org",
        "time": "Mon Oct 27 09:22:44 2025 -0700"
      },
      "message": "Minimal .asf.yaml to get correct github notifications in place\n"
    },
    {
      "commit": "cda37f2964195c6d2734899234faeff2a4bc71d4",
      "tree": "f7b8a840baa5522bfb774935d1e302a1adc24cbd",
      "parents": [
        "b9b89abdf013b81bd52d05a963d13d6e48c51038",
        "c6714c45a60eb4a957397abeffb9b613b2094f48"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Thu Oct 16 22:17:34 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 16 22:17:34 2025 -0400"
      },
      "message": "Merge pull request #30 from adityamparikh/initial\n\nfeat: update Solr dependency to version 9.9.0 and remove SonarQube pl…"
    },
    {
      "commit": "c6714c45a60eb4a957397abeffb9b613b2094f48",
      "tree": "f7b8a840baa5522bfb774935d1e302a1adc24cbd",
      "parents": [
        "1fdf7da13bf1c96ae145df57af654c2847a75244"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Thu Oct 16 22:17:09 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Thu Oct 16 22:17:09 2025 -0400"
      },
      "message": "feat: update Solr dependency to version 9.9.0 and remove SonarQube plugin\n"
    },
    {
      "commit": "b9b89abdf013b81bd52d05a963d13d6e48c51038",
      "tree": "1ae7a4fc50479f6517a0528d7c7a752534d0f345",
      "parents": [
        "66a4ed94b27680187192678453fb94e4c56f89a6",
        "1fdf7da13bf1c96ae145df57af654c2847a75244"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Thu Oct 16 22:09:42 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 16 22:09:42 2025 -0400"
      },
      "message": "Merge pull request #29 from adityamparikh/license\n\nfeat: add Apache License 2.0 header to multiple Java files"
    },
    {
      "commit": "1fdf7da13bf1c96ae145df57af654c2847a75244",
      "tree": "1ae7a4fc50479f6517a0528d7c7a752534d0f345",
      "parents": [
        "acb36a9f1ffc6262c9c22795a0d0a65455a541c5"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Thu Oct 16 22:08:10 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Thu Oct 16 22:08:10 2025 -0400"
      },
      "message": "feat: remove SonarQube plugin and related configurations from build files\n"
    },
    {
      "commit": "acb36a9f1ffc6262c9c22795a0d0a65455a541c5",
      "tree": "9d28ae28296001d9a8070acebe0ca6354f5314de",
      "parents": [
        "66a4ed94b27680187192678453fb94e4c56f89a6"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Thu Oct 16 22:07:08 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Thu Oct 16 22:07:08 2025 -0400"
      },
      "message": "feat: add Apache License 2.0 header to multiple Java files\n"
    },
    {
      "commit": "66a4ed94b27680187192678453fb94e4c56f89a6",
      "tree": "0d39f2f40eaf37971afa3e373fb085732abad47e",
      "parents": [
        "4f361b334dca1d994daa6cf72a0f15e04ea382f3",
        "f698bd6205e7083b66fad7d3bac18c24cdfa56df"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sun Oct 12 19:47:44 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 12 19:47:44 2025 -0400"
      },
      "message": "Merge pull request #27 from adityamparikh/spring-ai-upgrade\n\nstateless-webmvc-http"
    },
    {
      "commit": "f698bd6205e7083b66fad7d3bac18c24cdfa56df",
      "tree": "0d39f2f40eaf37971afa3e373fb085732abad47e",
      "parents": [
        "57050374feb75d63bdd9dae839fea981d4cf79d5"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sun Oct 12 19:44:09 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sun Oct 12 19:44:09 2025 -0400"
      },
      "message": "docs: update README to replace SSE with HTTP mode and highlight relevant security measures\n"
    },
    {
      "commit": "57050374feb75d63bdd9dae839fea981d4cf79d5",
      "tree": "4db4d75d1ed5f6077a62227011a0d92e34e8d5d9",
      "parents": [
        "a4b63179260dbce54cccbd841f5343e661e7ca68"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sun Oct 12 17:17:19 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sun Oct 12 17:17:19 2025 -0400"
      },
      "message": "docs: update README to replace SSE with HTTP mode and highlight relevant security measures\n"
    },
    {
      "commit": "4f361b334dca1d994daa6cf72a0f15e04ea382f3",
      "tree": "2a24fdb4bc1ca5903cf8e45eb8d22b8839ca285d",
      "parents": [
        "5a28f2629c6db3e666f17dfc788641d0d860b017",
        "a4b63179260dbce54cccbd841f5343e661e7ca68"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Oct 11 20:14:25 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 11 20:14:25 2025 -0400"
      },
      "message": "Merge pull request #26 from adityamparikh/spring-ai-upgrade\n\nspring-ai-upgrade"
    },
    {
      "commit": "a4b63179260dbce54cccbd841f5343e661e7ca68",
      "tree": "2a24fdb4bc1ca5903cf8e45eb8d22b8839ca285d",
      "parents": [
        "bd4932e69211c76b813b2760892c871b4db8bbff"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Oct 11 20:03:18 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Oct 11 20:03:18 2025 -0400"
      },
      "message": "feat: http mode upgrade\n"
    },
    {
      "commit": "bd4932e69211c76b813b2760892c871b4db8bbff",
      "tree": "05efb3935813873a2025a4115ea4de08a638114f",
      "parents": [
        "33e6ebc5d328f8fb800f8f731b9c079d8d1c9ef8"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Fri Oct 10 21:17:25 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Fri Oct 10 21:17:25 2025 -0400"
      },
      "message": "feat: update Gradle wrapper to 9.1.0 and Java requirement to 25\n"
    },
    {
      "commit": "5a28f2629c6db3e666f17dfc788641d0d860b017",
      "tree": "29f2acd185c6fc992dd288ba65183de05cc5b0d2",
      "parents": [
        "30586d1f046d19b15e9a1b4e3f28c89f58136e57",
        "0bdc6c1d8a43c58497728f9abb2041f54a3ea479"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Fri Oct 10 21:07:56 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 10 21:07:56 2025 -0400"
      },
      "message": "Merge pull request #25 from adityamparikh/testcontainers-testconfig\n\ntestcontainers-testconfig"
    },
    {
      "commit": "33e6ebc5d328f8fb800f8f731b9c079d8d1c9ef8",
      "tree": "97031a502118ad8dc6f2dab8efec8651a7d7a25a",
      "parents": [
        "fe6a200aeed229f926ac0f44cb42e16c315d9a2e"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Fri Oct 10 21:06:00 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Fri Oct 10 21:06:00 2025 -0400"
      },
      "message": "feat: upgrade spring-ai to 1.1.0-M3\n"
    },
    {
      "commit": "fe6a200aeed229f926ac0f44cb42e16c315d9a2e",
      "tree": "8bd1bf51b1d44d33192bd9fd5bf2e42dec647ada",
      "parents": [
        "75c40bd1d70d06f09bca697aaed0d30659586677"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Fri Oct 10 20:08:36 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Fri Oct 10 20:08:36 2025 -0400"
      },
      "message": "feat: upgrade spring-ai to 1.1.0-M3\n"
    },
    {
      "commit": "75c40bd1d70d06f09bca697aaed0d30659586677",
      "tree": "afb3d30de3b96a05505a96d235b51009f9628c72",
      "parents": [
        "0bdc6c1d8a43c58497728f9abb2041f54a3ea479"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Fri Oct 10 19:47:51 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Fri Oct 10 19:47:51 2025 -0400"
      },
      "message": "feat: upgrade Java toolchain to 25, Gradle to 8.14.3\n"
    },
    {
      "commit": "0bdc6c1d8a43c58497728f9abb2041f54a3ea479",
      "tree": "29f2acd185c6fc992dd288ba65183de05cc5b0d2",
      "parents": [
        "f51b360de9df9cb1bf3b6386b888c65bb2cda0c2"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Fri Oct 10 19:32:26 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Fri Oct 10 19:32:26 2025 -0400"
      },
      "message": "test: expand CollectionServiceTest coverage with additional health, cache, handler, and collection tests\n"
    },
    {
      "commit": "f51b360de9df9cb1bf3b6386b888c65bb2cda0c2",
      "tree": "236da406b5ef5fb47372f0974f6948854f6a33cc",
      "parents": [
        "b3a41fbbf12639a04d9afdfc67592d852e41dcd8"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Mon Oct 06 18:54:28 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Mon Oct 06 18:54:28 2025 -0400"
      },
      "message": "feat: remove lombok and refactor DTOs to use Java records for improved immutability\n"
    },
    {
      "commit": "b3a41fbbf12639a04d9afdfc67592d852e41dcd8",
      "tree": "6d4c43af484582bcc72ed87780b689af9cf097ef",
      "parents": [
        "441d6d0852b2b07694eb80f60eb15a2115fb3ede"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Mon Oct 06 00:41:46 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Mon Oct 06 00:41:46 2025 -0400"
      },
      "message": "test: fix tests. Use TestcontainersConfiguration. Use constants\n"
    },
    {
      "commit": "441d6d0852b2b07694eb80f60eb15a2115fb3ede",
      "tree": "acbf913432da0180ff3b3ee3bbff528de4b6399f",
      "parents": [
        "30586d1f046d19b15e9a1b4e3f28c89f58136e57"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Mon Oct 06 00:36:46 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Mon Oct 06 00:36:46 2025 -0400"
      },
      "message": "test: fix tests. Use TestcontainersConfiguration. Use constants\n"
    },
    {
      "commit": "30586d1f046d19b15e9a1b4e3f28c89f58136e57",
      "tree": "e37bc2f9e13b452fd6833651dc9db8f82525b4aa",
      "parents": [
        "5e8c786f2404aaecec28f5d9ebe59c75cd317533",
        "7ece3d5b305efc783e710058ce4a4bed552c0609"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sun Oct 05 17:16:50 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 05 17:16:50 2025 -0400"
      },
      "message": "Merge pull request #23 from adityamparikh/web\n\nfeat: add support for STDIO and SSE transport modes in Solr MCP server"
    },
    {
      "commit": "7ece3d5b305efc783e710058ce4a4bed552c0609",
      "tree": "e37bc2f9e13b452fd6833651dc9db8f82525b4aa",
      "parents": [
        "11a042ff6103942f56f0ad21a30ea549e0a431d8"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sun Oct 05 16:24:33 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sun Oct 05 16:24:33 2025 -0400"
      },
      "message": "feat: add support for STDIO and SSE transport modes in Solr MCP server\n"
    },
    {
      "commit": "5e8c786f2404aaecec28f5d9ebe59c75cd317533",
      "tree": "f904c9b5cda2ca67a719a139a33da99fe4f188fe",
      "parents": [
        "e774a00da70c1f96aca905d839cd87a5ee72f958",
        "11a042ff6103942f56f0ad21a30ea549e0a431d8"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sun Oct 05 13:07:41 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 05 13:07:41 2025 -0400"
      },
      "message": "Merge pull request #22 from adityamparikh/web\n\nweb"
    },
    {
      "commit": "11a042ff6103942f56f0ad21a30ea549e0a431d8",
      "tree": "f904c9b5cda2ca67a719a139a33da99fe4f188fe",
      "parents": [
        "4aaf4aaa4a78bd9521d886fe7ea4d6014fd16cdd"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sun Oct 05 12:58:30 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sun Oct 05 12:58:30 2025 -0400"
      },
      "message": "refactor: clean up import statements in service and test classes\n"
    },
    {
      "commit": "4aaf4aaa4a78bd9521d886fe7ea4d6014fd16cdd",
      "tree": "b7b6b5788c5b73ba1372e182853d8efed9a66ba3",
      "parents": [
        "b701a46e3ad77b3544ae2fba67cfb09c8fb5e9f8"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sun Oct 05 12:49:55 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sun Oct 05 12:49:55 2025 -0400"
      },
      "message": "refactor: remove unused SolrConfigurationProperties from services and tests\n"
    },
    {
      "commit": "e774a00da70c1f96aca905d839cd87a5ee72f958",
      "tree": "a86846a7905d93405d2f243b72db96d33c8d4c71",
      "parents": [
        "fdbae7962d32383c1a4fa71a8333b0e40361caf7",
        "b701a46e3ad77b3544ae2fba67cfb09c8fb5e9f8"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Mon Sep 29 11:07:05 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 29 11:07:05 2025 -0400"
      },
      "message": "Merge pull request #19 from adityamparikh/author\n\nauthor"
    },
    {
      "commit": "b701a46e3ad77b3544ae2fba67cfb09c8fb5e9f8",
      "tree": "a86846a7905d93405d2f243b72db96d33c8d4c71",
      "parents": [
        "99aa36f787eb67f13dcb1f5f110c49f4e9160f26"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Mon Sep 29 10:53:04 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Mon Sep 29 10:53:04 2025 -0400"
      },
      "message": "feat: update author and version information in Java files\n"
    },
    {
      "commit": "99aa36f787eb67f13dcb1f5f110c49f4e9160f26",
      "tree": "6635bb6c12173a24c22228112480b9e92b4bcd67",
      "parents": [
        "fdbae7962d32383c1a4fa71a8333b0e40361caf7"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Mon Sep 29 10:48:49 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Mon Sep 29 10:48:49 2025 -0400"
      },
      "message": "feat: update author and version information in Java files\n"
    },
    {
      "commit": "fdbae7962d32383c1a4fa71a8333b0e40361caf7",
      "tree": "99dd31d8da698b6c03f97497d5c5834484477b56",
      "parents": [
        "fe1a9e14e95c8efd69865b4f7f25fef343130782",
        "cb4d1655802ec830163068dda77740b6ba56dfba"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sun Sep 28 00:08:11 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 28 00:08:11 2025 -0400"
      },
      "message": "Merge pull request #18 from adityamparikh/films\n\nfeat: add script enhancements for films collection setup in Solr"
    },
    {
      "commit": "cb4d1655802ec830163068dda77740b6ba56dfba",
      "tree": "99dd31d8da698b6c03f97497d5c5834484477b56",
      "parents": [
        "fe1a9e14e95c8efd69865b4f7f25fef343130782"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sun Sep 28 00:02:13 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sun Sep 28 00:03:15 2025 -0400"
      },
      "message": "feat: add script enhancements for films collection setup in Solr\n"
    },
    {
      "commit": "fe1a9e14e95c8efd69865b4f7f25fef343130782",
      "tree": "e91816b60e9e0ab3089db41e6d238844d874a330",
      "parents": [
        "2be559ffde01efb5cfc7f5a0a2d60ebe00ee7c17",
        "1ef2b80c8b0c55d30e86457fe427e83bf9f4a319"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 23:53:00 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 27 23:53:00 2025 -0400"
      },
      "message": "Merge pull request #17 from adityamparikh/version-catalogs\n\nfeat: refactor build.gradle.kts to use version catalog for dependency…"
    },
    {
      "commit": "1ef2b80c8b0c55d30e86457fe427e83bf9f4a319",
      "tree": "e91816b60e9e0ab3089db41e6d238844d874a330",
      "parents": [
        "dffabeaa11c372cd766e1afc044ed552596eeecb"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 23:48:45 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 23:48:45 2025 -0400"
      },
      "message": "docs: update README.md to specify Gradle version and enhance build instructions\n"
    },
    {
      "commit": "dffabeaa11c372cd766e1afc044ed552596eeecb",
      "tree": "2e9cdfc81f64c7dd08d00f20dd8d7ce5c6bf452f",
      "parents": [
        "375465b6be9bf2e9cbe045c4c2995f21f4660ce5"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 23:42:16 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 23:42:16 2025 -0400"
      },
      "message": "feat: refactor build.gradle.kts to use version catalog for dependency management\n"
    },
    {
      "commit": "2be559ffde01efb5cfc7f5a0a2d60ebe00ee7c17",
      "tree": "cc53f465890ac5ee614c4f281b2cfec803e6ba1b",
      "parents": [
        "5772718fb56d1c6a4b09f9d3cfe7027fcc5f502c",
        "375465b6be9bf2e9cbe045c4c2995f21f4660ce5"
      ],
      "author": {
        "name": "Aditya Parikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 23:32:55 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 27 23:32:55 2025 -0400"
      },
      "message": "Merge pull request #16 from adityamparikh/indexing-formats\n\nIndexing formats"
    },
    {
      "commit": "375465b6be9bf2e9cbe045c4c2995f21f4660ce5",
      "tree": "cc53f465890ac5ee614c4f281b2cfec803e6ba1b",
      "parents": [
        "1c9eb53434ce52e81832dcb952805b3cd7ec72e7"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 23:26:34 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 23:26:34 2025 -0400"
      },
      "message": "feat: add ClientStdio and SampleClient for MCP server interaction and validation\n"
    },
    {
      "commit": "1c9eb53434ce52e81832dcb952805b3cd7ec72e7",
      "tree": "2268c391bc579046385c9c51bb897ab4ce2d4fa7",
      "parents": [
        "a55ce2cd96eb7e6393806c41e103029ea4af8e43"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 23:22:47 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 23:22:47 2025 -0400"
      },
      "message": "feat: add ClientStdio and SampleClient for MCP server interaction and validation\n"
    },
    {
      "commit": "a55ce2cd96eb7e6393806c41e103029ea4af8e43",
      "tree": "2e0e62d1e4d1b73c8fcabcf615681d217e2dca1a",
      "parents": [
        "370a7ab0d09fbf65b8d31a79ed26f15175b4e20b"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 23:02:33 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 23:02:33 2025 -0400"
      },
      "message": "feat: add integration tests for CollectionService and enhance unit tests\n"
    },
    {
      "commit": "370a7ab0d09fbf65b8d31a79ed26f15175b4e20b",
      "tree": "5772ca743410b9f43944fd0891e5d78bf7872e4b",
      "parents": [
        "ecd68fc28896e92b121994d9b6484ad6b31732b9"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 19:38:37 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 19:38:37 2025 -0400"
      },
      "message": "feat: remove default field name handling in sanitizeFieldName method\n"
    },
    {
      "commit": "ecd68fc28896e92b121994d9b6484ad6b31732b9",
      "tree": "ef65ae5bb5548dcd8e8cdfb1948e8abc31038b98",
      "parents": [
        "3e7eb2d19952ea9119cec2930607690dabfd4dcf"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 19:34:35 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 19:34:35 2025 -0400"
      },
      "message": "feat: integrate JSpecify Error Prone and NullAway for enhanced null safety analysis\n"
    },
    {
      "commit": "3e7eb2d19952ea9119cec2930607690dabfd4dcf",
      "tree": "5cb8d6e7c88065ad7203a3007082d5d5553b1d94",
      "parents": [
        "142e6d71d13a856fb328ef7009f70dddfc16776e"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 19:11:34 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 19:11:34 2025 -0400"
      },
      "message": "feat: change DocumentProcessingException to extend RuntimeException and update tests accordingly\n"
    },
    {
      "commit": "142e6d71d13a856fb328ef7009f70dddfc16776e",
      "tree": "dbd2d94b98a964b57227036bc3ea43284c0c6fd0",
      "parents": [
        "fd5b53757c66d04a43d1b1f82fdc7b40e763b743"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 19:06:55 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 19:06:55 2025 -0400"
      },
      "message": "feat: introduce DocumentProcessingException for improved error handling in document creators\n"
    },
    {
      "commit": "fd5b53757c66d04a43d1b1f82fdc7b40e763b743",
      "tree": "7acd9724bad0ce85c6fe146e682cd536bbabd31a",
      "parents": [
        "6980391ace7e9cde160af68b50cc85a32e04a7d3"
      ],
      "author": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 19:03:44 2025 -0400"
      },
      "committer": {
        "name": "adityamparikh",
        "email": "aditya.m.parikh@gmail.com",
        "time": "Sat Sep 27 19:03:44 2025 -0400"
      },
      "message": "feat: update document creators to throw DocumentProcessingException for error handling and input validation\n"
    }
  ],
  "next": "6980391ace7e9cde160af68b50cc85a32e04a7d3"
}
