)]}'
{
  "log": [
    {
      "commit": "d8a14ec5c052c81ae3b27bf54ae9e9e42cbbfb4b",
      "tree": "9c739f13e3717322a4b1e0f4958d19bc5883e2d9",
      "parents": [
        "7fa3b821c1698155f54545abe6f06ff1e634253c"
      ],
      "author": {
        "name": "Anahita Goljahani",
        "email": "anahita.goljahani@gmail.com",
        "time": "Tue Oct 20 12:32:22 2026 +0200"
      },
      "committer": {
        "name": "Anahita Goljahani",
        "email": "anahita.goljahani@gmail.com",
        "time": "Tue Oct 20 14:12:37 2026 +0200"
      },
      "message": "Remove Janrain integration\n"
    },
    {
      "commit": "7fa3b821c1698155f54545abe6f06ff1e634253c",
      "tree": "6f5ced5a2b5ce5f25311c1eac2b2d873f745bc16",
      "parents": [
        "2afd9f164072fc0442895c6c25cd26b080787bd0"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Tue Oct 20 13:40:50 2026 +0530"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Tue Oct 20 13:50:36 2026 +0530"
      },
      "message": "Fixed: A database error while indexing adds an incomplete product or content document to the Lucene index (OFBIZ-13700)\n\n- ContentDocument looks up the content ancestors itself instead of calling ContentWorker.getContentAncestryAll(), which logged database errors, so a database error is thrown and the content is no longer indexed without its site.\n- ProductDocument rethrows a GenericEntityException raised while rendering a product content as text, instead of indexing the product without that text. Other rendering errors are still logged, so that a broken content does not block the re-indexing of the product.\n"
    },
    {
      "commit": "2afd9f164072fc0442895c6c25cd26b080787bd0",
      "tree": "abf730ce59736b17313bf0c2f7b16c4081510aa0",
      "parents": [
        "8f6d60a628412b92bf095fce0e632ce7d98d3ba3"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Thu Oct 15 19:19:47 2026 +0530"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Mon Oct 19 23:27:46 2026 +0530"
      },
      "message": "Fixed: Stop the Lucene document indexers before OFBiz closes the datasources (OFBIZ-13686)\n\nThe new lucene-container stops the document indexers when OFBiz shuts down, waiting at most 3 seconds, so that they are done with the database before the framework closes the datasources. As before, the documents still queued at that point are not indexed; what changes is that an indexer no longer tries to prepare documents from a closed datasource, which failed with errors in the log.\n"
    },
    {
      "commit": "8f6d60a628412b92bf095fce0e632ce7d98d3ba3",
      "tree": "3350e501b6c7d4cd2b66d2f69c4159f7e88f63f9",
      "parents": [
        "5fced40594b7c1db9b85e7f8bd8c7a3f844e468e"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Mon Oct 19 21:16:09 2026 +0530"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Mon Oct 19 21:27:41 2026 +0530"
      },
      "message": "Fixed: A database error while indexing deletes the product or content from the Lucene index (OFBIZ-13698)\n\nProductDocument and ContentDocument returned null when the record could not be read, which DocumentIndexer took as a removed record, deleting its document from the index. prepareDocument() now throws when the document cannot be prepared, and DocumentIndexer logs the error and leaves the index unchanged for that record.\n"
    },
    {
      "commit": "5fced40594b7c1db9b85e7f8bd8c7a3f844e468e",
      "tree": "39a04079e025dbecd94d9dff0e58a19a56bf1c2e",
      "parents": [
        "82cf68763836835752530abbb917191b675d9ea2"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Oct 19 12:10:34 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Mon Oct 19 15:20:15 2026 +0200"
      },
      "message": "Bump react-dom from 19.3.0 to 19.3.1 in /example/vite-react-app\n\nBumps [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) from 19.3.0 to 19.3.1.\n- [Release notes](https://github.com/react/react/releases)\n- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/react/react/commits/v19.3.1/packages/react-dom)\n\n---\nupdated-dependencies:\n- dependency-name: react-dom\n  dependency-version: 19.3.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "82cf68763836835752530abbb917191b675d9ea2",
      "tree": "227597cff78febf92a48e448f233529a27c58d1d",
      "parents": [
        "a3808d71e9ee54b9e347ce7f7e60c2e3c205c093"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Oct 19 04:06:15 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Mon Oct 19 11:16:52 2026 +0200"
      },
      "message": "Bump react from 19.3.0 to 19.3.1 in /example/vite-react-app\n\nBumps [react](https://github.com/react/react/tree/HEAD/packages/react) from 19.3.0 to 19.3.1.\n- [Release notes](https://github.com/react/react/releases)\n- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/react/react/commits/v19.3.1/packages/react)\n\n---\nupdated-dependencies:\n- dependency-name: react\n  dependency-version: 19.3.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "a3808d71e9ee54b9e347ce7f7e60c2e3c205c093",
      "tree": "9eda1eef84ef129b75880c25f9bb9eff6b57bd05",
      "parents": [
        "a52df347ce101aa4a91c688ac0e22f667165a318"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Sun Oct 18 11:38:23 2026 +0530"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Sun Oct 18 11:54:48 2026 +0530"
      },
      "message": "Fixed: ExampleJupiterTests.shouldExpirePreviousStatusOnCreateExampleStatus fails intermittently with a duplicate key on ExampleStatus (OFBIZ-13697)\n\nThe createExample ECA creates the first ExampleStatus row and the test then immediately calls createExampleStatus again. Both rows take the current time as statusDate, which is part of the ExampleStatus primary key, so when both calls happen in the same millisecond the second insert fails with a duplicate key. The test now waits until the clock has moved past the statusDate of the row created by the ECA before the second call.\n"
    },
    {
      "commit": "a52df347ce101aa4a91c688ac0e22f667165a318",
      "tree": "baa9e95103129712dd253d3282e513d406d6ccea",
      "parents": [
        "a22e3da43a3ca55ba3491253bd06bab6c7ced124"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Fri Oct 16 16:48:48 2026 +0530"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Fri Oct 16 17:05:48 2026 +0530"
      },
      "message": "Fixed: Plugin demo DataResources of type LOCAL_FILE are rejected by the LOCAL_FILE allow-list (OFBIZ-13691)\n\n- ecommerce: TPL_XML_MB is now an OFBIZ_FILE pointing at plugins/ecommerce/template/content/TplMbContent.ftl, so it is checked against content.data.ofbiz.file.allowed.paths and the ECMC demo content renders with its template again.\n- scrum: the DemoContentProduct, DemoContentBacklog and DemoContentProject demo contents are now stored as ELECTRONIC_TEXT, since the DEMO-CONTENT.xml file they pointed to was removed in OFBIZ-11587.\n"
    },
    {
      "commit": "a22e3da43a3ca55ba3491253bd06bab6c7ced124",
      "tree": "ad6f192e297271e3ae5d6c744d8e1750a6555e1f",
      "parents": [
        "1bfd940f320afe434cd3f9e8cc9a5aad6b2d5141"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Oct 14 16:16:10 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Thu Oct 15 07:01:51 2026 +0200"
      },
      "message": "Bump prettier from 3.9.9 to 3.9.10 in /example/vite-react-app\n\nBumps [prettier](https://github.com/prettier/prettier) from 3.9.9 to 3.9.10.\n- [Release notes](https://github.com/prettier/prettier/releases)\n- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/prettier/prettier/compare/3.9.9...3.9.10)\n\n---\nupdated-dependencies:\n- dependency-name: prettier\n  dependency-version: 3.9.10\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "1bfd940f320afe434cd3f9e8cc9a5aad6b2d5141",
      "tree": "c45ab96c601fc2fe52f409233e4f25ea5f48f3b8",
      "parents": [
        "f0a93d8dca7f45c425eb595c7d76266cc3ef04bb"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Oct 14 16:17:36 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Thu Oct 15 06:58:47 2026 +0200"
      },
      "message": "Bump org.apache.tomcat.embed:tomcat-embed-websocket in /example\n\nBumps org.apache.tomcat.embed:tomcat-embed-websocket from 9.0.122 to 9.0.123.\n\n---\nupdated-dependencies:\n- dependency-name: org.apache.tomcat.embed:tomcat-embed-websocket\n  dependency-version: 9.0.123\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "f0a93d8dca7f45c425eb595c7d76266cc3ef04bb",
      "tree": "ef1201961d507c244ae87a80f6afdc8e254b1278",
      "parents": [
        "e4599c139ee7ca44822baeb7ca18b382acbc64fe"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Oct 12 10:47:35 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Tue Oct 13 12:02:25 2026 +0200"
      },
      "message": "Bump vite from 8.3.2 to 8.3.4 in /example/vite-react-app\n\nBumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.3.2 to 8.3.4.\n- [Release notes](https://github.com/vitejs/vite/releases)\n- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite/commits/v8.3.4/packages/vite)\n\n---\nupdated-dependencies:\n- dependency-name: vite\n  dependency-version: 8.3.4\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "e4599c139ee7ca44822baeb7ca18b382acbc64fe",
      "tree": "0fea87e2e37ef57d09788b8af940a0ebc02fff37",
      "parents": [
        "c3cdd60372a751fa4bbef9fb4dc5865eaac964da"
      ],
      "author": {
        "name": "Devanshu Vyas",
        "email": "62797272+vyasdevanshu@users.noreply.github.com",
        "time": "Fri Oct 09 17:16:09 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 09 17:16:09 2026 +0530"
      },
      "message": "Fixed: Administrator profile on ecommerce shows FTL error (OFBIZ-13475) (#358)\n\n### Description\nWhen logged in using the admin user on the Ecommerce homepage, the\nviewprofile screen throws an FTL error because of the deprecated\n`maritalStatusEnumId` field on the `Person` entity (which was deprecated\nin OFBIZ-13329 and replaced with `maritalStatusTypeId`).\n\n### Changes\n- Updated `ViewProfile.ftl` to use `person.maritalStatusTypeId` and\nquery entity `MaritalStatusType`.\n- Updated `EditPerson.ftl` to query `MaritalStatusType` and name the\nselect element `maritalStatusTypeId`.\n- Updated `CustomerEvents.xml` map processor to process\n`maritalStatusTypeId`."
    },
    {
      "commit": "c3cdd60372a751fa4bbef9fb4dc5865eaac964da",
      "tree": "88bd88e66109fe9f80cc280428c2173a5d50c4d7",
      "parents": [
        "cc5b103c202a4caaedadb9474a50c08dac27a824"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Fri Oct 09 12:26:05 2026 +0530"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Fri Oct 09 12:31:08 2026 +0530"
      },
      "message": "Fixed: Vulnerable source-map-js in example/vite-react-app flagged by Dependabot security alert\n\nUpdated the lockfile entry for source-map-js from 1.2.1 to 1.2.2, fixing an event-loop denial of service through indexed source-map section offsets. The dependency is pulled in transitively by postcss, whose declared range already permits the fixed version, so only the lockfile needed refreshing.\n"
    },
    {
      "commit": "cc5b103c202a4caaedadb9474a50c08dac27a824",
      "tree": "a553322434c0f118db0e4906a522cbbf151ae24c",
      "parents": [
        "107a662b5bc41ac9e15ccd69969fc70daaccf913"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Oct 09 03:53:50 2026 +0000"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Fri Oct 09 12:01:04 2026 +0530"
      },
      "message": "Bump @vitejs/plugin-react from 6.1.1 to 6.1.2 in /example/vite-react-app\n\nBumps [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) from 6.1.1 to 6.1.2.\n- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)\n- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.1.2/packages/plugin-react)\n\n---\nupdated-dependencies:\n- dependency-name: \"@vitejs/plugin-react\"\n  dependency-version: 6.1.2\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "107a662b5bc41ac9e15ccd69969fc70daaccf913",
      "tree": "397f585f313f61637437d4221d3ae3e3d87542cd",
      "parents": [
        "db6bf3a7db99c784cc3962ad4699bb67fc846694"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Wed Oct 07 23:41:26 2026 +0530"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Thu Oct 08 00:21:07 2026 +0530"
      },
      "message": "Improved: Generate a longer password for the users created by the LinkedIn and GitHub login of the passport plugin (OFBIZ-13658)\n\nGitHubEvents and LinkedInEvents set a generated password on the user login created for an external account, and the password had only as many characters as password.length.min (5 by default), which is much weaker than needed for a credential that stays valid on the account after the login.\n\nThe password is now generated with StringUtil.randomString and a fixed length of 16 characters, independent of password.length.min. The now unused RandomStringUtils and EntityUtilProperties imports and the private ALPHANUMERIC constant are removed.\n"
    },
    {
      "commit": "db6bf3a7db99c784cc3962ad4699bb67fc846694",
      "tree": "593fd523d3647fe8ea4ffb48b64c67f434f29023",
      "parents": [
        "8d96336b3a20e6ca648006a90f535ed7c2c8f5dd"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Mon Oct 05 12:39:01 2026 +0530"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Mon Oct 05 20:04:41 2026 +0530"
      },
      "message": "Improved: Remove the declaration of the unused http view handler (OFBIZ-13648)\n\nThe framework removes the http view type (HttpViewHandler), which nothing uses, so this controller no longer declares it. This change has to be merged before the one in the framework (apache/ofbiz-framework, OFBIZ-13648), otherwise the ecommerce web application fails to start when it loads the view handlers.\n"
    },
    {
      "commit": "8d96336b3a20e6ca648006a90f535ed7c2c8f5dd",
      "tree": "f3dc8771db35641658b68ef4fd02ae4924099fce",
      "parents": [
        "cfa2131abc06814fe3474fdbf06403e035547d63"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Oct 05 03:53:12 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Mon Oct 05 15:42:30 2026 +0200"
      },
      "message": "Bump vite from 8.3.1 to 8.3.2 in /example/vite-react-app\n\nBumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.3.1 to 8.3.2.\n- [Release notes](https://github.com/vitejs/vite/releases)\n- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite/commits/v8.3.2/packages/vite)\n\n---\nupdated-dependencies:\n- dependency-name: vite\n  dependency-version: 8.3.2\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "cfa2131abc06814fe3474fdbf06403e035547d63",
      "tree": "64fe8b4e92e59eff92eae883cff6a182bae55155",
      "parents": [
        "32ef2044683470df85eaf1ae1da742c8c9f20830"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Sep 28 03:53:10 2026 +0000"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Mon Sep 28 10:40:26 2026 +0530"
      },
      "message": "Bump vite from 8.3.0 to 8.3.1 in /example/vite-react-app\n\nBumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.3.0 to 8.3.1.\n- [Release notes](https://github.com/vitejs/vite/releases)\n- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite/commits/v8.3.1/packages/vite)\n\n---\nupdated-dependencies:\n- dependency-name: vite\n  dependency-version: 8.3.1\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "32ef2044683470df85eaf1ae1da742c8c9f20830",
      "tree": "6d9c8412a01ce7588b642843726f01487019a40c",
      "parents": [
        "1f036f65e47b57969b6632637d80471fcd1e6b18"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Sep 28 03:52:55 2026 +0000"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Mon Sep 28 10:40:19 2026 +0530"
      },
      "message": "Bump prettier from 3.9.8 to 3.9.9 in /example/vite-react-app\n\nBumps [prettier](https://github.com/prettier/prettier) from 3.9.8 to 3.9.9.\n- [Release notes](https://github.com/prettier/prettier/releases)\n- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/prettier/prettier/compare/3.9.8...3.9.9)\n\n---\nupdated-dependencies:\n- dependency-name: prettier\n  dependency-version: 3.9.9\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "1f036f65e47b57969b6632637d80471fcd1e6b18",
      "tree": "4d45c15cfb61305bcff96647509e2de3faf96cec",
      "parents": [
        "d75ca0ad45a3d3be9669b8710a65d29e7d017ba3"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Mon Sep 21 17:45:52 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 21 17:45:52 2026 +0530"
      },
      "message": "Add ASF license header to secretshub config files (#419)\n\n## Summary\n- Add the standard Apache Software Foundation license header to\nsecretshub/config/azure-keyvault.properties and\nsecretshub/config/gcp-secret-manager.properties, matching the other\n*-secrets-manager.properties config files in the same directory."
    },
    {
      "commit": "d75ca0ad45a3d3be9669b8710a65d29e7d017ba3",
      "tree": "2189f914f58827f18795dc2e3209269fbb28fdb3",
      "parents": [
        "5df45ae0fd4124ac92d5133d0caa4039c98188d4"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Sep 21 03:52:53 2026 +0000"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Mon Sep 21 12:53:44 2026 +0530"
      },
      "message": "Bump prettier from 3.9.6 to 3.9.8 in /example/vite-react-app\n\nBumps [prettier](https://github.com/prettier/prettier) from 3.9.6 to 3.9.8.\n- [Release notes](https://github.com/prettier/prettier/releases)\n- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/prettier/prettier/compare/3.9.6...3.9.8)\n\n---\nupdated-dependencies:\n- dependency-name: prettier\n  dependency-version: 3.9.8\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "5df45ae0fd4124ac92d5133d0caa4039c98188d4",
      "tree": "8a98f2fb9174f9795d69b3ba07229d3bc302d140",
      "parents": [
        "bb3b224d1f958e704b37635e84501b341d8fee78"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Sun Sep 20 10:37:29 2026 +0530"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Sun Sep 20 10:41:52 2026 +0530"
      },
      "message": "Fixed: Multiple regressions in the minilang-to-Groovy conversion of ProjectServicesScript.groovy (OFBIZ-13607)\n\n- createProject()/updateProject() no longer fire the work-effort e-mail address services asynchronously, which silently swallowed validation/creation errors and deferred persistence past the caller\u0027s transaction.\n- updateTaskAssigment() now preserves delegateReasonEnumId/comments/assignedByUserLoginId on the assignment record it closes, clears the PAS_ENDED sentinel before persisting (it is not a real StatusItem and violates the statusId FK otherwise), and persists a PAS_COMPLETED status update before handing off to updateTaskStatusToComplete() instead of returning early and skipping the persist.\n- updateTaskStatusToComplete() compared a queryOne() GenericValue to 0, which is never true; switched to queryCount() so the completion cascade is reachable at all.\n- getProjectsByParties()/getTasksByParties() fixed the post-loop flush of the last accumulated party group, which was previously dropped or, for a single-party result, returned empty.\n- createTimeEntryInTimesheet() fixed the inverted if (roleTypeId) condition that made the auto role lookup/assignment run only when it wasn\u0027t needed (and NPE when it was), and fixed a separate bug where the service never returned timeEntryId despite the servicedef requiring it as OUT, so the service failed validation on every call.\n- addProjectTimeToInvoice()/addProjectTimeToNewInvoice() fixed the inverted createInvoice flag so addProjectTimeToNewInvoice reuses/repopulates an existing invoice on reCreate\u003d\u0027Y\u0027 instead of always minting a new one, and so addProjectTimeToInvoice (add to an existing invoice) never creates a new one as its own description promises; restored the two services\u0027 independent reCreate defaults in servicedef to match their original (pre-conversion) behavior.\n- addValidationPartiesToTask() queried a nonexistent \"addValidationPartiesToTask\" entity instead of WorkEffortPartyAssignment, so this SECA threw every time a task assignment was completed.\n- combineActualHours() fixed an Elvis/plus operator-precedence bug that silently dropped the rated-hours portion whenever the unrated hours were non-zero.\n- getHours() fixed a write to a nonexistent actualHours field on the TimeEntry entity (it only has hours), which threw whenever a matching PartyRate applied.\n"
    },
    {
      "commit": "bb3b224d1f958e704b37635e84501b341d8fee78",
      "tree": "9f4576e6c7d0dc37cfb21de51f6f0644a06f8f4e",
      "parents": [
        "725e5957beb46d221dd245734f38e3c08922455b"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Fri Sep 18 18:03:40 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 18 18:03:40 2026 +0530"
      },
      "message": "Fixed: replace duplicated EXST_DEFINED literal with a constant in ExampleJupiterTests (#414)\n\n## Summary\n- SonarCloud flagged a code-smell on PR #412 (Adopt update() DSL\norderBy()/first()/ifExists() in createExampleStatus()): the status\nliteral `EXST_DEFINED` was duplicated 4 times in new code.\n- Introduces a `STATUS_DEFINED` constant and replaces all 4 occurrences.\nNo behavior change.\n\n## Test plan\n- [x] compileTestGroovy passes\n- [x] checkstyleTest passes\n- [x] codenarcTest passes"
    },
    {
      "commit": "725e5957beb46d221dd245734f38e3c08922455b",
      "tree": "cbf7f967ef72dfba10c6fa2fb6d6ec0b24e2729d",
      "parents": [
        "a2be2accb06d66f9e9bd23286d61b6ad1a71b726"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Fri Sep 18 17:56:57 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 18 17:56:57 2026 +0530"
      },
      "message": "Fixed: double-negation footgun in ProjectServicesScript.groovy timesheet status check (#413)\n\nFixing the double negation condition."
    },
    {
      "commit": "a2be2accb06d66f9e9bd23286d61b6ad1a71b726",
      "tree": "20d20afd380deac6471f499c8f9ec4f8ff3126b1",
      "parents": [
        "543f2015bff2273db3699b0c0d76b4abbf4ed57f"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Fri Sep 18 14:24:49 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 18 14:24:49 2026 +0530"
      },
      "message": "Adopt update() DSL orderBy()/first()/ifExists() in createExampleStatus() (#412)\n\nReplaces the manual orderBy(\u0027-statusDate\u0027).queryFirst() + if/store()\nguard with the update() DSL, now that EntityUpdateBuilder supports\norderBy(). Preserves the existing \"expire only the most recent status,\nsilently no-op if none exists\" behavior exactly. No behavior change."
    },
    {
      "commit": "543f2015bff2273db3699b0c0d76b4abbf4ed57f",
      "tree": "dfe3b75dbf9f024b5ff4eabd23afdcfc38246691",
      "parents": [
        "dfc9fcbea453af8c432425d9265b91afac49676f"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Wed Sep 16 23:37:27 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 16 23:37:27 2026 +0530"
      },
      "message": "Groovy dsl enhancement applied (#411)\n\nGroovy DSL enhancement applied in the plugins folder."
    },
    {
      "commit": "dfc9fcbea453af8c432425d9265b91afac49676f",
      "tree": "26d74043d79b1355182354e4d65d3e3f7791f4c6",
      "parents": [
        "d722f6f6665b3ff83ba348885cfb74cd05eff6bc"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Sep 16 03:53:27 2026 +0000"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Wed Sep 16 12:26:09 2026 +0530"
      },
      "message": "Bump org.apache.tomcat.embed:tomcat-embed-websocket in /example\n\nBumps org.apache.tomcat.embed:tomcat-embed-websocket from 9.0.121 to 9.0.122.\n\n---\nupdated-dependencies:\n- dependency-name: org.apache.tomcat.embed:tomcat-embed-websocket\n  dependency-version: 9.0.122\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "d722f6f6665b3ff83ba348885cfb74cd05eff6bc",
      "tree": "7fbd73a3cefa59bb5920481cbfc1feb5c40b677a",
      "parents": [
        "7062e3cc7542cdc061b6a7fbd8d43a2df65430f3"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Sep 14 11:53:17 2026 +0000"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Mon Sep 14 17:25:38 2026 +0530"
      },
      "message": "Bump vite from 8.2.2 to 8.3.0 in /example/vite-react-app\n\nBumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.2.2 to 8.3.0.\n- [Release notes](https://github.com/vitejs/vite/releases)\n- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite/commits/create-vite@8.3.0/packages/vite)\n\n---\nupdated-dependencies:\n- dependency-name: vite\n  dependency-version: 8.3.0\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "7062e3cc7542cdc061b6a7fbd8d43a2df65430f3",
      "tree": "6875b32be40cc5587e9fb999e330609497945f09",
      "parents": [
        "ac32aafb0f467670fc29667d6c510e4254a9810c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Sep 14 03:53:25 2026 +0000"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Mon Sep 14 17:20:51 2026 +0530"
      },
      "message": "Bump react-dom and @types/react-dom in /example/vite-react-app\n\nBumps [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) and [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom). These dependencies needed to be updated together.\n\nUpdates `react-dom` from 19.2.8 to 19.3.0\n- [Release notes](https://github.com/react/react/releases)\n- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/react/react/commits/v19.3.0/packages/react-dom)\n\nUpdates `@types/react-dom` from 19.2.7 to 19.3.0\n- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)\n- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)\n\n---\nupdated-dependencies:\n- dependency-name: react-dom\n  dependency-version: 19.3.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n- dependency-name: \"@types/react-dom\"\n  dependency-version: 19.3.0\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\n"
    },
    {
      "commit": "ac32aafb0f467670fc29667d6c510e4254a9810c",
      "tree": "d48f28638d50a831bfe3a8925323a2472c6a59b7",
      "parents": [
        "a1bcd7bd0494442e175cc1dd4b41084b2f61cd1e"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Sep 14 03:53:12 2026 +0000"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Mon Sep 14 15:20:26 2026 +0530"
      },
      "message": "Bump react and @types/react in /example/vite-react-app\n\nBumps [react](https://github.com/react/react/tree/HEAD/packages/react) and [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react). These dependencies needed to be updated together.\n\nUpdates `react` from 19.2.8 to 19.3.0\n- [Release notes](https://github.com/react/react/releases)\n- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/react/react/commits/v19.3.0/packages/react)\n\nUpdates `@types/react` from 19.2.18 to 19.3.0\n- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)\n- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)\n\n---\nupdated-dependencies:\n- dependency-name: react\n  dependency-version: 19.3.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n- dependency-name: \"@types/react\"\n  dependency-version: 19.3.0\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "a1bcd7bd0494442e175cc1dd4b41084b2f61cd1e",
      "tree": "bdf0a511c374e0609771eb8d1f5f04700de43dd6",
      "parents": [
        "12a1c428646b7a8262b6bb08e7ca7f721bb4b6f7"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Sun Sep 13 12:16:52 2026 +0530"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Mon Sep 14 14:40:22 2026 +0530"
      },
      "message": "Removed: obsolete screenxls-typed example demo view-maps and UI entry points (OFBIZ-13578)\n\n- Removed the ListExampleExport and ExampleReportXls screenxls-typed request-maps/view-maps, leaving their existing screenxlsx-typed replacements in place\n- Removed the now-dead UI entry points that targeted them: the old button-bar link and the old JS export button, both already superseded by equivalents added alongside them in OFBIZ-13567\n"
    },
    {
      "commit": "12a1c428646b7a8262b6bb08e7ca7f721bb4b6f7",
      "tree": "e07083122b7714545e583b5de514c2e91513a511",
      "parents": [
        "7d1054a0e7156127553d56c521a3b4fcfecbefae"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Tue Sep 08 16:56:00 2026 +0530"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Sat Sep 12 20:45:51 2026 +0530"
      },
      "message": "Added: ListExampleExportXlsx and ExampleReportXlsx demo view-maps for the new screenxlsx handler (OFBIZ-13567)\n\n- Adds two demo view-maps pointing the example plugin\u0027s existing ListExampleExport and ExampleReport screens at the new screenxlsx view-handler type, alongside their existing screenxls-based counterparts\n- Proves out framework\u0027s new real .xlsx export mechanism end-to-end, producing real, correctly-typed workbooks with the correct content type and filename\n- Adds matching UI entry points alongside the existing Xls links: a \"View as spreadsheet (.xlsx)\" button-bar link next to ExampleReportXls\u0027s, and a matching export button on the ListExampleExport search form next to its existing Export button\n"
    },
    {
      "commit": "7d1054a0e7156127553d56c521a3b4fcfecbefae",
      "tree": "f9405c460376416a0aa46c9337ab4062ce1573aa",
      "parents": [
        "b34f87ebc21de9bc893f63dc2db7dfa02a59cbf9"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Thu Sep 10 15:51:23 2026 +0530"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Thu Sep 10 15:55:13 2026 +0530"
      },
      "message": "Fixed: FactServices child invoice item filtering and order lookup regressions (OFBIZ-13536)\n\n- Filter child invoice items by invoiceItemTypeId for taxes (ITM_SALES_TAX) and discounts (ITM_PROMOTION_ADJ) in loadSalesInvoiceItemFact\n- Assign lookup results back to orderHeader and orderItem in loadSalesOrderItemFact\n"
    },
    {
      "commit": "b34f87ebc21de9bc893f63dc2db7dfa02a59cbf9",
      "tree": "3306cd2c4814b2625c24da7210b983707579a382",
      "parents": [
        "4cf48915d595f934e114428e24d5acd1f7a0f2b0"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Thu Sep 10 13:31:35 2026 +0530"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Thu Sep 10 13:39:25 2026 +0530"
      },
      "message": "Fixed: ProjectServices regressions in date combining and project scheduling (OFBIZ-13529)\n\n- Restore empty check fallback in combineDatesAndPlannedHoursInfo when highInfo.actualStartDate is null\n- Correct iteration element property access when clearing estimated dates in scheduleProject\n- Fix predecessor lookup condition (workEffortIdTo) and hours extraction from nested taskInfo\n- Fix predecessor ID resolution and advance taskId to prevent infinite loop\n- Correct parent workEffort field lookup to workEffortParentId\n"
    },
    {
      "commit": "4cf48915d595f934e114428e24d5acd1f7a0f2b0",
      "tree": "e8134869a9f3f14a8a74ec3f134e3bc35cbff6a4",
      "parents": [
        "807c5a019872586e7e86a10f7a3c86fb0ff941a6"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Sep 07 03:53:11 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Mon Sep 07 09:45:51 2026 +0200"
      },
      "message": "Bump @types/react-dom from 19.2.5 to 19.2.7 in /example/vite-react-app\n\nBumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 19.2.5 to 19.2.7.\n- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)\n- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)\n\n---\nupdated-dependencies:\n- dependency-name: \"@types/react-dom\"\n  dependency-version: 19.2.7\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "807c5a019872586e7e86a10f7a3c86fb0ff941a6",
      "tree": "28bea38856018c3e0d67b9523925e35fa928d587",
      "parents": [
        "b302de0a62d181e5b3b0d2a71a7b97cae1de90b5"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Tue Sep 01 19:39:58 2026 +0530"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Wed Sep 02 19:48:34 2026 +0530"
      },
      "message": "Improved: Replaced flaky fixed sleep in LuceneTests with a bounded polling loop (OFBIZ-13516)\n\nLuceneTests.groovy slept a fixed 3 seconds after indexContentTree to let the indexer catch up before searching, but indexContentTree only enqueues documents onto a background thread\u0027s queue and returns immediately, so the wait was inherently racy (could fail under a slow/busy run) and wasteful (padded every run even when indexing finished early). Replaced the fixed sleep with a bounded polling loop that retries the search until the expected hit appears or a generous timeout elapses, verified stable across repeated local test runs.\n"
    },
    {
      "commit": "b302de0a62d181e5b3b0d2a71a7b97cae1de90b5",
      "tree": "126ffe8182612d5e81c3b9ba71db11f89e967ea0",
      "parents": [
        "5bf882944a7a8452fd7d07b66b16b33d83eb6349"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Mon Aug 31 20:12:56 2026 +0530"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Mon Aug 31 20:20:43 2026 +0530"
      },
      "message": "Fixed: myportal login view-map missing auth\u003d\"false\" (OFBIZ-13511)\n"
    },
    {
      "commit": "5bf882944a7a8452fd7d07b66b16b33d83eb6349",
      "tree": "902e6e9fc137136712432a3614f0ef27a1c1fb3b",
      "parents": [
        "7877e474914fe53ec62129c6d275a41111e1d247"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Aug 31 03:53:55 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Mon Aug 31 08:24:17 2026 +0200"
      },
      "message": "Bump @vitejs/plugin-react from 6.1.0 to 6.1.1 in /example/vite-react-app\n\nBumps [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) from 6.1.0 to 6.1.1.\n- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)\n- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.1.1/packages/plugin-react)\n\n---\nupdated-dependencies:\n- dependency-name: \"@vitejs/plugin-react\"\n  dependency-version: 6.1.1\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "7877e474914fe53ec62129c6d275a41111e1d247",
      "tree": "f19e80497b6e34bd75e569c8b3c0f8e282b67cf8",
      "parents": [
        "db1e3b95119da7c110566812df9ab10cd2cf7c87"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Aug 27 03:53:35 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Thu Aug 27 10:25:41 2026 +0200"
      },
      "message": "Bump @types/react-dom from 19.2.4 to 19.2.5 in /example/vite-react-app\n\nBumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 19.2.4 to 19.2.5.\n- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)\n- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)\n\n---\nupdated-dependencies:\n- dependency-name: \"@types/react-dom\"\n  dependency-version: 19.2.5\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "db1e3b95119da7c110566812df9ab10cd2cf7c87",
      "tree": "60d7d7898c4d5655935cfd869b8955cee2d8f85f",
      "parents": [
        "be0b270c40aef8495bb182089abfbd8ee5c44bee"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Aug 24 03:57:46 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Wed Aug 26 17:23:45 2026 +0200"
      },
      "message": "Bump @vitejs/plugin-react from 6.0.5 to 6.1.0 in /example/vite-react-app\n\nBumps [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) from 6.0.5 to 6.1.0.\n- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)\n- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.1.0/packages/plugin-react)\n\n---\nupdated-dependencies:\n- dependency-name: \"@vitejs/plugin-react\"\n  dependency-version: 6.1.0\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "be0b270c40aef8495bb182089abfbd8ee5c44bee",
      "tree": "9b4163ea76bc412d21f384876e8da8e1c50e448a",
      "parents": [
        "a7863fba269522a2c246eb8f853038446223a65b"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Aug 24 03:57:38 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Wed Aug 26 17:23:19 2026 +0200"
      },
      "message": "Bump vite from 8.2.1 to 8.2.2 in /example/vite-react-app\n\nBumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.2.1 to 8.2.2.\n- [Release notes](https://github.com/vitejs/vite/releases)\n- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite/commits/v8.2.2/packages/vite)\n\n---\nupdated-dependencies:\n- dependency-name: vite\n  dependency-version: 8.2.2\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "a7863fba269522a2c246eb8f853038446223a65b",
      "tree": "301fdd0ea75695db64eb1b221e8e3f651afe2f01",
      "parents": [
        "c479b5a603a358b4b59de083420c90e77f2878b0"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Aug 19 03:53:18 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Wed Aug 26 17:22:54 2026 +0200"
      },
      "message": "Bump org.apache.tomcat.embed:tomcat-embed-websocket in /example\n\nBumps org.apache.tomcat.embed:tomcat-embed-websocket from 9.0.120 to 9.0.121.\n\n---\nupdated-dependencies:\n- dependency-name: org.apache.tomcat.embed:tomcat-embed-websocket\n  dependency-version: 9.0.121\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "c479b5a603a358b4b59de083420c90e77f2878b0",
      "tree": "56005251b9993710f9c32215491156040e6691ba",
      "parents": [
        "4c9f7327b8cb49d1677021d555e5c82d41409258"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Sat Aug 22 22:06:55 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 22 22:06:55 2026 +0530"
      },
      "message": "Fix CodeNarc violations in scrum and assetmaint Jupiter test fixtures (#375)\n\nUse BigDecimal instead of Double for plan/actual hours in MyWorkTests,\nmatching the underlying service field types and fixing the NoDouble rule\nviolation.\n\nSuppress PublicMethodsBeforeNonPublicMethods and\nJUnitTestMethodWithoutAssert in MyWorkTests, ProductBacklogTests,\nScrumProjectTests, and FixedAssetMaintTests. Both are false positives\nhere: the flagged test methods delegate to a private helper that holds\nthe real assertion, a pattern CodeNarc doesn\u0027t trace into."
    },
    {
      "commit": "4c9f7327b8cb49d1677021d555e5c82d41409258",
      "tree": "c10ce19b89babb36e2bae5ee8593a0bd431d3318",
      "parents": [
        "2bb2e9400d43c19ed48fc93f142f13ecd26e3c81"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Sat Aug 22 17:18:36 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 22 17:18:36 2026 +0530"
      },
      "message": "Remove per-component test-run REST wrappers, superseded by the generic testtools endpoint (#374)\n\nDeletes the per-component test-run REST wrapper pattern from example, ecommerce, assetmaint,\nlucene, and scrum:\n\n- the groovy wrapper class in each component (e.g. ExampleTestRunServices.groovy)\n- the two duplicated \u003cservice\u003e definitions each wrapper needed, in each component\u0027s\n  servicedef/services.xml\n- each component\u0027s own test-run *.rest.xml (for example, this is the TestRunResource block\n  removed from its shared rest.xml, since that file also carries example\u0027s own business-service\n  REST resource; for the other four it is the entire file, since they had nothing else in it)\n\necommerce\u0027s servicedef/services.xml and its ofbiz-component.xml service-resource entry are\nremoved entirely - that file existed solely to declare the two now-deleted services.\n\nWhy\n\nSuperseded by a new, generic, framework-owned REST endpoint added in the companion\nofbiz-framework pull request, which takes componentName as a URL path parameter and needs no\nper-component files at all. All five components\u0027 tests remain reachable, now via\n\n  POST /rest/testtools/testruns/{componentName}\n  GET  /rest/testtools/testruns/{runId}\n\ninstead of each component\u0027s own separately-branded URL.\n\nNo changes to any component\u0027s actual test suites, Jupiter test classes, or testdef files - this\nis REST/service wiring only.\n\nTesting\n\n- gradlew classes testClasses passes after each component\u0027s change.\n- Full sweep against a running server: all five old branded URLs (example-rest, ecommerce-rest,\n  assetmaint-rest, lucene-rest, scrum-rest) confirmed gone (404); all five components\u0027 real test\n  suites confirmed passing end-to-end through the new generic endpoint.\n- Full testIntegration run across the whole codebase: 658/658 tests passing, zero regressions.\n\nDependency on the companion pull request\n\nThis should merge together with, or before, the companion ofbiz-framework pull request (apache/ofbiz-framework#1699). This PR\nremoves the last callers of TestRunServices.runScopedTestSuite/getScopedTestRunStatus, which the\nframework PR deletes. Merging the framework PR first while these wrapper scripts are still\npresent would leave them calling methods that no longer exist."
    },
    {
      "commit": "2bb2e9400d43c19ed48fc93f142f13ecd26e3c81",
      "tree": "4e6ac03beb29ceae44d825bd95101205634ce008",
      "parents": [
        "8555155a8c6451ad57b28396c0a72b7d446b3438"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Sat Aug 22 00:37:30 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 22 00:37:30 2026 +0530"
      },
      "message": "Documented: per-component test.api.enabled gate on runExampleTestSuite (#373)\n\nDocumented: per-component test.api.enabled.example gate on\nrunExampleTestSuite\n\nFixed: CodeNarc BlockStartsWithBlankLine violations in\nExampleJupiterTests\n\nExplanation\nCompanion to the ofbiz-trunk PR adding a per-component override of the\nREST-triggered test-run API\u0027s global test.api.enabled flag (new property:\ntest.api.enabled.\u003ccomponentName\u003e). No behavior change to anything in\nthis repo - runExampleTestSuite already inherits the new gate automatically through\nTestRunServices.runScopedTestSuite, with zero code change needed. This\nPR only updates its service description, which previously mentioned the global\ntest.api.enabled flag and the TESTEXEC_ADMIN permission but not the per-component override - even\nthough runExampleTestSuite is the exact service that override gates in\npractice, since it\u0027s permanently scoped to the example component.\n\nAlso fixes 3 pre-existing CodeNarc BlockStartsWithBlankLine violations\nin ExampleJupiterTests (each test method opened with a blank line right\nafter its brace)."
    },
    {
      "commit": "8555155a8c6451ad57b28396c0a72b7d446b3438",
      "tree": "5ac9ba24809a1f9493ee39e8e70fbbffe8c7e0a6",
      "parents": [
        "d8d453efc97d21df8963f2be9019aa3ccc59c3bc"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Fri Aug 21 21:39:15 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 21 21:39:15 2026 +0530"
      },
      "message": "Restructure example component\u0027s test files and rename JUnit3-style test class (#372)"
    },
    {
      "commit": "d8d453efc97d21df8963f2be9019aa3ccc59c3bc",
      "tree": "139f9faecc68aeb4f1e67c533b12fc2ea7c9e5bb",
      "parents": [
        "fcb6e3a26eeafd2ec7118a64914756c3ff2e0193"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Thu Aug 20 19:08:35 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 20 19:08:35 2026 +0530"
      },
      "message": "Fix ExampleJupiterTests CodeNarc violations and invalid status transition (#371)\n\n### Problem\n\nTrunk CI (`ofbizTrunkFrameworkPlugins` builder, [build\n1756](https://ci2.apache.org/#/builders/46/builds/1756)) started failing\nright after the REST API test-cases-api-support merge (#370), on two\nindependent issues in `ExampleJupiterTests.groovy`:\n\n1. **`check` step** — `codenarcTest` failed with 4 violations (2\npriority-2, 2 priority-3), exceeding the allowed threshold:\n- `shouldCreateExample()` / `shouldCreateExampleWithParams()` — flagged\nby `JUnitTestMethodWithoutAssert` because they only assert indirectly,\nthrough the private `createAndAssertExample()` helper\n- `createAndAssertExample(...)` — wrong indentation (`Indentation` rule)\n- `exampleCreationCases()` — private static method declared after a\nprivate instance method (`StaticMethodsBeforeInstanceMethods` rule)\n\n2. **`testIntegration` step** — `shouldUpdateExample()` asserted a\ndirect `EXST_IN_DESIGN -\u003e EXST_APPROVED` status update, which isn\u0027t a\nvalid transition per `ExampleDemoData.xml`\u0027s `StatusValidChange` rows\n(the valid path is `IN_DESIGN -\u003e DEFINED -\u003e APPROVED`), so\n`updateExample` correctly errored and the assertion failed.\n\n### Fix\n\n- Added a direct assert in `shouldCreateExample()` /\n`shouldCreateExampleWithParams()` on the returned `Example`\n- Fixed `createAndAssertExample`\u0027s indentation\n- Reordered `exampleCreationCases()` before `createAndAssertExample()`\n- Changed `shouldUpdateExample()`\u0027s default `updatedStatusId` from\n`EXST_APPROVED` to `EXST_DEFINED`, a transition that\u0027s actually\nreachable from the default initial `EXST_IN_DESIGN` status in one call\n\n### Verification\n\n- `./gradlew codenarcTest` passes (previously failed with the exact\nviolations CI reported)\n- `./gradlew compileTestGroovy` compiles clean\n- Confirmed `EXST_IN_DESIGN -\u003e EXST_DEFINED` is a valid transition by\ninspecting `StatusValidChange` seed data in `ExampleDemoData.xml`"
    },
    {
      "commit": "fcb6e3a26eeafd2ec7118a64914756c3ff2e0193",
      "tree": "a6941288f4920c08b3c96365f859418a0cf84488",
      "parents": [
        "00c272082092138ac339fccfdccaba7ece610034"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Thu Aug 20 17:01:32 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 20 17:01:32 2026 +0530"
      },
      "message": "REST API Support for Running and Monitoring OFBiz Test Cases(example component sample code) (#370)\n\nPushing the sample code from plugins-\u003eexample component, this will help\nothers to see the patterns like how we can enable rest support for other\ncomponent\u0027s test cases.\n\nofbiz-framework PR:\nhttps://github.com/apache/ofbiz-framework/pull/1690"
    },
    {
      "commit": "00c272082092138ac339fccfdccaba7ece610034",
      "tree": "996db0111ea13fd7c2962dd1ddf4bf8d9d4a038f",
      "parents": [
        "76198c6d8e39e29262be7c59531158d1ce080489"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Sun Aug 16 15:39:05 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 16 15:39:05 2026 +0530"
      },
      "message": "Retry Lucene index writer lock acquisition instead of dropping the document (#367)\n\nDocumentIndexer\u0027s indexing thread gave up and terminated the moment it\nfailed to obtain the Lucene index write lock, silently dropping the\ndocument it had already dequeued. Under concurrent test execution this\nwas observed happening repeatedly against the products index.\n\nNow it retries with a short delay a bounded number of times before\ngiving up, and the in-flight document is still indexed once the lock\nbecomes available instead of being lost.\n\nVerified by re-running testIntegration: build stays successful, no suite\nregressions, lucenetests still passes."
    },
    {
      "commit": "76198c6d8e39e29262be7c59531158d1ce080489",
      "tree": "2c207ea86c25d82f5c72b3efff9245fd3668a0bb",
      "parents": [
        "5df5be5f88a8f51b7e55bd17129e057f313334aa"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Sun Aug 16 14:53:07 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 16 14:53:07 2026 +0530"
      },
      "message": "Fix Lucene IndexWriter write.lock conflicts during testIntegration (#366)\n\nDuring `testIntegration`, each test suite gets its own uniquely-named\ndelegator, and `DocumentIndexer.getInstance()` keyed its singleton map\nby `delegatorName + \"_\" + indexName`. Since all of these delegators\npoint at the same physical Lucene index path, every suite spawned its\nown `DocumentIndexer` thread competing for the same on-disk\n`write.lock`.\n\nThat contention was made worse by two other bugs:\n`ProductDocument.prepareDocument()` could pass a null\n`productFeatureCategoryId` into Lucene\u0027s `StringField`, which requires\nnon-null values, throwing an uncaught `IllegalArgumentException`; and\n`DocumentIndexer.run()` called `prepareDocument()` outside any\ntry/catch, so that exception killed the indexer thread while its\n`IndexWriter` was still open, leaving the write lock held with nothing\nleft alive to release it. Once the first thread died holding the lock,\nevery later thread failed immediately with `LockObtainFailedException`.\n\nChanges:\n- `ProductDocument.java` — guard the three feature fields with the\nclass\u0027s existing `checkValue()` helper (already used elsewhere in the\nsame file) instead of passing raw nullable values into `StringField`.\n- `DocumentIndexer.java` — key the singleton map on\n`SearchWorker.getIndexPath(indexName)` (the resolved physical path)\ninstead of delegator name, with an `!isAlive()` check so a dead thread\ngets replaced instead of cached forever; wrap the indexing loop in\ntry/finally so `IndexWriter.close()` runs on any exit path.\n\nVerified with a full `./gradlew testIntegration` run: no more\nlock-related errors, and indexing completes successfully (309\nindex/delete operations logged in this run) with no failing suites."
    },
    {
      "commit": "5df5be5f88a8f51b7e55bd17129e057f313334aa",
      "tree": "b37e46f4bae9abb4c19871c17ca517243d8fb20d",
      "parents": [
        "0822201108411cc3637f9ec8adddfc7ff27a2fe8"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Fri Aug 14 09:48:18 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 14 09:48:18 2026 +0530"
      },
      "message": "Added: manage-contribution-workflow skill; renamed precommit-readiness to prepush-readiness (#360)\n\nAdds a manage-contribution-workflow skill covering the OFBiz contribution lifecycle - fork/upstream sync, branching, optional worktree setup, the framework/plugins repo pairing, testing against real data, backporting, and PR conventions - that wasn\u0027t covered by the existing domain-pattern skills. Also corrects precommit-readiness, which mischaracterized the repository\u0027s git hook as pre-commit when it\u0027s actually pre-push (Checkstyle and CodeNarc only); renamed to prepush-readiness with accurate config paths and commands, and cross-referenced it with coding-standards."
    },
    {
      "commit": "0822201108411cc3637f9ec8adddfc7ff27a2fe8",
      "tree": "5773e08369cf53037b1a20e8e994e5d04543add1",
      "parents": [
        "8787c8b0f045863a5c10a81258d42b45a9a54842"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Tue Aug 11 17:50:43 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 17:50:43 2026 +0530"
      },
      "message": "Migrate lucene Jupiter integration test from Java to Groovy (#365)\n\nPorts LuceneTests under plugins/lucene from Java to Groovy, matching the\nequivalent trunk-side migration. Class name and package are unchanged,\nso the testdef XML needed no changes.\n\nThe always-failing assertion for a search-index open failure is\nexpressed as a thrown AssertionError rather than a JUnit fail() call,\nconsistent with the plain-assert Groovy style used elsewhere in this\ncodebase."
    },
    {
      "commit": "8787c8b0f045863a5c10a81258d42b45a9a54842",
      "tree": "e31b7f906bc4efbfda955a80e3bf1746da361900",
      "parents": [
        "710d53ea9771fc80be8a44345b8ee9c46c59efb1"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Tue Aug 11 11:17:43 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 11:17:43 2026 +0530"
      },
      "message": "Plugins various secret managers - AWS Secrets Manager, GCP(Google Cloud Platform) Secret Manager, Azure Key Vault, HashiCorp Vault by IBM, 1Password, and Bitwarden Secrets Manager. (#291)\n\nAdding support for various secrets managers as a plugin in the plugins\nfolder: AWS Secrets Manager, GCP(Google Cloud Platform) Secret Manager,\nAzure Key Vault, HashiCorp Vault by IBM, 1Password, and Bitwarden\nSecrets Manager."
    },
    {
      "commit": "710d53ea9771fc80be8a44345b8ee9c46c59efb1",
      "tree": "c1fff34a6de8d2955ea28547ab40243658e81b7d",
      "parents": [
        "57e662e7a83a43e788e40c0bf22a7c14ad41f996"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Mon Aug 10 18:23:47 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 18:23:47 2026 +0530"
      },
      "message": "Clarify devreload\u0027s JBR/DCEVM version coverage and IDE-agnostic setup (#364)"
    },
    {
      "commit": "57e662e7a83a43e788e40c0bf22a7c14ad41f996",
      "tree": "8f6f57427f9ca8cf489e51289c46304f4eeb93ef",
      "parents": [
        "17fabede59771e47685bbbc48d39064ef2040ba7"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Aug 10 06:57:05 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Mon Aug 10 08:58:34 2026 +0200"
      },
      "message": "Bump vite from 8.1.5 to 8.2.1 in /example/vite-react-app\n\nBumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.1.5 to 8.2.1.\n- [Release notes](https://github.com/vitejs/vite/releases)\n- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite/commits/v8.2.1/packages/vite)\n\n---\nupdated-dependencies:\n- dependency-name: vite\n  dependency-version: 8.2.1\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "17fabede59771e47685bbbc48d39064ef2040ba7",
      "tree": "9a8f3bc8abd71a7b0c2090326d783fac29d170e2",
      "parents": [
        "320189c8061e6edd1ca6e1d69e0eae5feffc3054"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Aug 10 06:53:22 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Mon Aug 10 08:54:36 2026 +0200"
      },
      "message": "Bump @types/react-dom from 19.2.3 to 19.2.4 in /example/vite-react-app\n\nBumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 19.2.3 to 19.2.4.\n- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)\n- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)\n\n---\nupdated-dependencies:\n- dependency-name: \"@types/react-dom\"\n  dependency-version: 19.2.4\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "320189c8061e6edd1ca6e1d69e0eae5feffc3054",
      "tree": "b0c859970ac97dac5d123c5d4f31b84b103eb1bd",
      "parents": [
        "83847acebf6bcc61d2fd6eefa6a91eb64f09407d"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Aug 10 06:50:00 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Mon Aug 10 08:51:04 2026 +0200"
      },
      "message": "Bump @types/react from 19.2.17 to 19.2.18 in /example/vite-react-app\n\nBumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 19.2.17 to 19.2.18.\n- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)\n- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)\n\n---\nupdated-dependencies:\n- dependency-name: \"@types/react\"\n  dependency-version: 19.2.18\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "83847acebf6bcc61d2fd6eefa6a91eb64f09407d",
      "tree": "cbf9961f34672a4c7f00ad3ce6259d9ee624c8d0",
      "parents": [
        "154c3baa014351cf2a87aaa97676edbc796b4d00"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Aug 03 03:56:31 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Mon Aug 10 08:47:48 2026 +0200"
      },
      "message": "Bump @vitejs/plugin-react from 6.0.4 to 6.0.5 in /example/vite-react-app\n\nBumps [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) from 6.0.4 to 6.0.5.\n- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)\n- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.0.5/packages/plugin-react)\n\n---\nupdated-dependencies:\n- dependency-name: \"@vitejs/plugin-react\"\n  dependency-version: 6.0.5\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "154c3baa014351cf2a87aaa97676edbc796b4d00",
      "tree": "8ccd71e21ce9691c388cbd33a8ce1db45ced2341",
      "parents": [
        "f73ad4da74837fd2b019951443425e33c91252e9"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Sat Aug 08 14:22:14 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 08 14:22:14 2026 +0530"
      },
      "message": "Add a @MethodSource @ParameterizedTest example to ExampleJupiterTests (#359)\n\nDemonstrates a multi-column, table-driven parameterized test alongside\nthe existing single-column @CsvSource example, covering both a success\npath across the Example component\u0027s valid types/statuses and a failure\npath via missing required service parameters."
    },
    {
      "commit": "f73ad4da74837fd2b019951443425e33c91252e9",
      "tree": "41bc38cfa57b93c2caf46a0b942c0de12a6e2196",
      "parents": [
        "f2cb897306cc648be583af0f686df175a958fa62"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Thu Aug 06 16:37:45 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 16:37:45 2026 +0530"
      },
      "message": "Remove a real test coupling in SprintTests and pin @Order on three flagged classes (#354)\n\nRemove a real test coupling in SprintTests and pin @Order on three\nflagged classes\n\ntestAddSprintMember and testRemoveSprintMember (scrum\u0027s SprintTests)\nwere two\nseparately @Order-pinned methods that only passed in one specific order\n-\nassignPartyToWorkEffort\u0027s de-dup check rejects a second active\nassignment\nfor the same (workEffortId, partyId, roleTypeId), so\ntestAddSprintMember\u0027s\nassignment had to run after testRemoveSprintMember\u0027s own\nassign-then-remove\npair, not before. Merged the two into one scenario - add a sprint\nmember,\nthen remove that same member - so the coupling is actually removed\ninstead\nof pinned in the one @Order that happened to avoid tripping it.\n\nOrderNotificationTests, ExampleJupiterTests, and FixedAssetMaintTests\neach\nhad more than one test method and no @Order at all, flagged by the new\nflagUnorderedJupiterTests task on the framework side. Checked each for\ninter-test coupling first - none found, every method sets up and asserts\non\nits own data - so this just pins the existing declaration order with\n@Order, same convention as SprintTests. No behavior change.\n\nVerified: testIntegration component\u003dscrum suitename\u003dscrumtests, and the\necommercetests/example-tests/assetmainttests suites (covering all three\nnewly-@Order\u0027d classes), all pass with 0 errors/0 failures; codenarcTest\nclean."
    },
    {
      "commit": "f2cb897306cc648be583af0f686df175a958fa62",
      "tree": "94e160c24f830cdb1c44b9bb380ebf47f35a02f6",
      "parents": [
        "4df73d7c564f3c3c07be7c8db8816ab7101ffb2c"
      ],
      "author": {
        "name": "toaditi",
        "email": "154910926+toaditi@users.noreply.github.com",
        "time": "Wed Aug 05 13:50:00 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 13:50:00 2026 +0530"
      },
      "message": "Improved: Add a multi parameter dependent drop-down example (OFBIZ-11724) (#353)\n\nThanks to Pierre Smits for reporting OFBIZ-11724 and for identifying\nthat only the first parameter of the list was being used.\n\n### ⚠️ Please merge apache/ofbiz-framework#1547 first\n\nThis is not merely inert without the framework fix — it is actively\nmisleading. Against unfixed framework code the screen still renders and\nstill looks like it works, but the generated selector is:\n\n```\n#DependentDropDownMultiParamExampleForm_exampleId,asOfDate\n```\n\n`asOfDate` there parses as a CSS *type* selector, matches nothing, and\nthe date is silently never sent, so the service quietly falls back to\n\"now\". Merged on its own, this would ship a demo screen that documents\nthe bug rather than the fix.\n\n### Why an example was needed\n\nThe reason OFBIZ-11724 sat open since 2020 is that nothing in OFBiz\npasses two parameters to a dependent drop-down, so there was nothing to\nclick that failed. All 14 existing callers pass a single\n`countryGeoId`-style value.\n\nThe `example` component even told readers, in\n`FormWidgetExampleScreens.xml`, to look at `EditProductPriceRules` if\nthey needed more than one drop-down — and that screen sidesteps the\ntemplate entirely, hand-writing the `getDependentDropdownValues` calls\nwith fully-qualified ids. The workaround had quietly become the\ndocumented path. This PR updates that comment to point at the new\nexample instead.\n\n### What it does\n\nPick an Example and an \"as of\" date; the feature drop-down lists only\nthe features applied to that Example on that date. `ExampleFeatureAppl`\nis date-ranged, so this exercises `filterByDate` for real rather than\njust passing two arbitrary values — which is the case the issue is\nactually named after.\n\n- `getAssociatedExampleFeatures` service (`exampleId` + `asOfDate` →\n`exampleFeatureList`), with a JSON request-map\n- `DependentDropDownMultiParamExampleForm` and its screen section, using\n`paramKey` and `mainId` of `exampleId,asOfDate`\n- `ExampleFeature` / `ExampleFeatureAppl` demo rows with deliberately\nnon-overlapping date ranges, so changing the date visibly changes the\nresult: EX01 shows \"Colour: red\" in 2011, \"Colour: blue\" in 2013, and\n\"Size: large\" today\n- `testGetAssociatedExampleFeaturesFiltersByDate`, which asserts that\ntwo different dates return two different non-empty lists, plus an empty\none outside both ranges — so a service that ignored the date would fail\nit\n\nThe screen comment also spells out something the existing example does\nnot: `paramKey` and `mainId` are paired **by position**, so the two\nlists must be given in the same order. Getting that wrong swaps values\nsilently with no error.\n\n### Testing\n\n`gradlew \"ofbiz --test component\u003dexample --test\nsuitename\u003dexample-tests\"` — 27 tests, 0 failures, 0 errors.\n\nVerified on a local instance that the generated script now prefixes both\nfield names, that the service returns different features for 2011, 2013\nand today over HTTP, and that the pre-existing single-parameter example\non the same page is byte-identical to before the framework change.\n\n### Known limitation\n\nPicking a date from the **calendar** refreshes the drop-down;\n**hand-typing** a date does not. This is pre-existing, framework-wide\n`date-time` behaviour rather than anything this change introduces: the\ndatepicker is bound to the hidden canonical input and fires `change` on\nit, but the typed-input path in `OfbizUtil.js` has no\n`.trigger(\u0027change\u0027)`. Fixing it would change behaviour for every date\nfield in OFBiz, so it does not belong in this issue — I will raise it\nseparately and link it.\n\nTo be precise about the evidence: I established the calendar path by\nreading the vendored `jquery-ui.js` `_selectDate` and the rendered\nmarkup, not by observing it in a browser.\n\nHappy to adjust any of this if a different approach is preferred."
    },
    {
      "commit": "4df73d7c564f3c3c07be7c8db8816ab7101ffb2c",
      "tree": "ef0dfab52d9c11ee82ab7baf00f8095c34daeb1d",
      "parents": [
        "0cf87bde73e8ea92205375adf7fe58f005c4528d"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Fri Jul 31 12:16:27 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 12:16:27 2026 +0530"
      },
      "message": "Added: Demo copyMe survey question for gift card purchase (OFBIZ-13464) (#342)\n\nAdded: Demo copyMe survey question for gift card purchase\n(OFBIZ-13464)\n\nWires up a BOOLEAN copyMe question into the demo store\u0027s gift card\npurchase survey so the fixed BCC-purchaser feature (OFBIZ-13464) is\nactually exercised end-to-end in the demo data."
    },
    {
      "commit": "0cf87bde73e8ea92205375adf7fe58f005c4528d",
      "tree": "0545f4bb5ff96479a3ae7f9e5d4e8019672f5e19",
      "parents": [
        "da46b4ca3ad7e3acd79a4c6f7e73ada7fffc27ed"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Fri Jul 31 10:26:42 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 10:26:42 2026 +0530"
      },
      "message": "JUnit3 to JUnit5(Jupiter) Runner Migration for OFBiz Test Cases/ Integration Tests - Migration of plugins test cases (#344)\n\nJUnit3 to JUnit5(Jupiter) Runner Migration for OFBiz Test Cases/\nIntegration Tests - Migration of plugins test cases\n\n1) Migrated the last 12 real (non-example) JUnit3 test files to Jupiter\n- assetmaint\u0027s FixedAssetMaintTests, ecommerce\u0027s OrderNotificationTests,\nlucene\u0027s LuceneTests, and all 10 scrum test files - dropping each file\u0027s\n(String name) constructor, implementing JupiterTestHelper instead of\nextending OFBizTestCase, annotating methods @Test, and moving sources\nfrom src/main to src/test to match the convention already used by other\ncomponents\u0027 test files.\n\n2) Swapped each migrated file\u0027s testdef entry from \u003cjunit-test-suite\u003e to\n\u003cjupiter-test-suite\u003e (assetmainttests.xml, EcommerceTest.xml,\nlucenetests.xml, scrumTests.xml), and reordered LuceneTests.java\u0027s\nassertion calls from JUnit3/4\u0027s (message, expected, actual) argument\norder to JUnit 5\u0027s (expected, actual, message).\n\n3) Added @Order to every @Test method in scrum\u0027s multi-method files,\nproven necessary because JUnit 5\u0027s own default ordering ran\ntestAddSprintMember before testRemoveSprintMember and tripped a real,\npre-existing de-dup check in assignPartyToWorkEffort on a stale,\nnon-expiring WorkEffortPartyAssignment; files verified order-independent\nby inspection (assetmaint\u0027s FixedAssetMaintTests, ecommerce\u0027s\nOrderNotificationTests, lucene\u0027s single-method LuceneTests) were left\nwithout @Order.\n\n4) plugins/example gained a new ExampleJupiterTests.groovy\n(parameterized-test and @Disabled demo) wired through a new\nexample-tests-jupiter test-case, kept side-by-side with the untouched\nJUnit 3 ExampleTests.groovy as the old/new reference pair; both branches\nwere verified together with a full cleanAll/loadAll plus testIntegration\nrun, with every suite passing, including all four migrated plugin suites\n- assetmainttests, ecommercetests, lucenetests, and scrumtests."
    },
    {
      "commit": "da46b4ca3ad7e3acd79a4c6f7e73ada7fffc27ed",
      "tree": "9eca017d6f1e24eeb9453fa20a67dae4b750be32",
      "parents": [
        "74995eb70d191696b022661a36832662f7d7db3c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jul 27 09:21:29 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Mon Jul 27 11:27:35 2026 +0200"
      },
      "message": "Bump @vitejs/plugin-react from 6.0.3 to 6.0.4 in /example/vite-react-app\n\nBumps [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) from 6.0.3 to 6.0.4.\n- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)\n- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.0.4/packages/plugin-react)\n\n---\nupdated-dependencies:\n- dependency-name: \"@vitejs/plugin-react\"\n  dependency-version: 6.0.4\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "74995eb70d191696b022661a36832662f7d7db3c",
      "tree": "0c14525772e8e2f35f4e3a0f7c864d1475b3a66d",
      "parents": [
        "15619e6abfeea2b2bc0e220dda8e03b2a33734b7"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jul 27 09:24:12 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Mon Jul 27 11:25:21 2026 +0200"
      },
      "message": "Bump react-dom from 19.2.7 to 19.2.8 in /example/vite-react-app\n\nBumps [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) from 19.2.7 to 19.2.8.\n- [Release notes](https://github.com/react/react/releases)\n- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/react/react/commits/v19.2.8/packages/react-dom)\n\n---\nupdated-dependencies:\n- dependency-name: react-dom\n  dependency-version: 19.2.8\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "15619e6abfeea2b2bc0e220dda8e03b2a33734b7",
      "tree": "31440a6f46075fe16069d761ec478055938f1fe1",
      "parents": [
        "f069ffb276454ec1d5c2218fb6ebf15ee14da084"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 22 03:53:15 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Mon Jul 27 11:17:02 2026 +0200"
      },
      "message": "Bump react from 19.2.7 to 19.2.8 in /example/vite-react-app\n\nBumps [react](https://github.com/react/react/tree/HEAD/packages/react) from 19.2.7 to 19.2.8.\n- [Release notes](https://github.com/react/react/releases)\n- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/react/react/commits/v19.2.8/packages/react)\n\n---\nupdated-dependencies:\n- dependency-name: react\n  dependency-version: 19.2.8\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "f069ffb276454ec1d5c2218fb6ebf15ee14da084",
      "tree": "9da7b19a1092025944be460073c7850714fb36b3",
      "parents": [
        "64118be339b49ea2483d48a6a1e853e1604b5b54"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 22 03:53:07 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Mon Jul 27 11:15:18 2026 +0200"
      },
      "message": "Bump prettier from 3.9.5 to 3.9.6 in /example/vite-react-app\n\nBumps [prettier](https://github.com/prettier/prettier) from 3.9.5 to 3.9.6.\n- [Release notes](https://github.com/prettier/prettier/releases)\n- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/prettier/prettier/compare/3.9.5...3.9.6)\n\n---\nupdated-dependencies:\n- dependency-name: prettier\n  dependency-version: 3.9.6\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "64118be339b49ea2483d48a6a1e853e1604b5b54",
      "tree": "97161e05b5ddc5c7c0ce9f028db0913870994c31",
      "parents": [
        "ded9ebcc84440c9459afa2bb1d7bdcf8d2599949"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.pathak@hotwaxsystems.com",
        "time": "Wed Jul 22 15:30:40 2026 +0530"
      },
      "committer": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Fri Jul 24 13:51:00 2026 +0530"
      },
      "message": "Remove defunct eBay integration and its references (OFBIZ-13454)\n"
    },
    {
      "commit": "ded9ebcc84440c9459afa2bb1d7bdcf8d2599949",
      "tree": "9cba4f72d3cd579c6675ecb0c84574ae65f340cf",
      "parents": [
        "f04806e055e08b70b482f671ea07830e9066c6a7"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jul 17 03:53:01 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Fri Jul 17 08:39:17 2026 +0200"
      },
      "message": "Bump vite from 8.1.4 to 8.1.5 in /example/vite-react-app\n\nBumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.1.4 to 8.1.5.\n- [Release notes](https://github.com/vitejs/vite/releases)\n- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite/commits/v8.1.5/packages/vite)\n\n---\nupdated-dependencies:\n- dependency-name: vite\n  dependency-version: 8.1.5\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "f04806e055e08b70b482f671ea07830e9066c6a7",
      "tree": "870df3046cea86252b1b7668c83c732ceccf3e27",
      "parents": [
        "1931a30183cfe7d68fb3892f77cc2c351e9ead93"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 15 10:16:34 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Wed Jul 15 12:24:09 2026 +0200"
      },
      "message": "Bump vite from 8.1.3 to 8.1.4 in /example/vite-react-app\n\nBumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.1.3 to 8.1.4.\n- [Release notes](https://github.com/vitejs/vite/releases)\n- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite/commits/v8.1.4/packages/vite)\n\n---\nupdated-dependencies:\n- dependency-name: vite\n  dependency-version: 8.1.4\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "1931a30183cfe7d68fb3892f77cc2c351e9ead93",
      "tree": "5cae44032d8c03b492bb4c3d179a1d1b2a5cf862",
      "parents": [
        "5b7465a20a740a6ccf429e5ee064159afc4905f0"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 15 10:11:03 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Wed Jul 15 12:11:55 2026 +0200"
      },
      "message": "Bump prettier from 3.9.4 to 3.9.5 in /example/vite-react-app\n\nBumps [prettier](https://github.com/prettier/prettier) from 3.9.4 to 3.9.5.\n- [Release notes](https://github.com/prettier/prettier/releases)\n- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/prettier/prettier/compare/3.9.4...3.9.5)\n\n---\nupdated-dependencies:\n- dependency-name: prettier\n  dependency-version: 3.9.5\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "5b7465a20a740a6ccf429e5ee064159afc4905f0",
      "tree": "5fd4c6f49cdec27f52c7f224c50750784715e9d3",
      "parents": [
        "2e65551de85a1e29204df77f228483d74ea95988"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 08 04:05:11 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Wed Jul 15 11:50:23 2026 +0200"
      },
      "message": "Bump org.apache.tomcat.embed:tomcat-embed-websocket in /example\n\nBumps org.apache.tomcat.embed:tomcat-embed-websocket from 9.0.119 to 9.0.120.\n\n---\nupdated-dependencies:\n- dependency-name: org.apache.tomcat.embed:tomcat-embed-websocket\n  dependency-version: 9.0.120\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "2e65551de85a1e29204df77f228483d74ea95988",
      "tree": "c14e6813f511e283d614682ad89e59e9c4f4bb15",
      "parents": [
        "80b1e3afab8812f0dfec2baded84d41fef8bc94f"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jul 09 03:53:24 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Wed Jul 15 11:49:51 2026 +0200"
      },
      "message": "Bump typescript from 6.0.3 to 7.0.2 in /example/vite-react-app\n\nBumps [typescript](https://github.com/microsoft/TypeScript) from 6.0.3 to 7.0.2.\n- [Release notes](https://github.com/microsoft/TypeScript/releases)\n- [Commits](https://github.com/microsoft/TypeScript/commits)\n\n---\nupdated-dependencies:\n- dependency-name: typescript\n  dependency-version: 7.0.2\n  dependency-type: direct:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "80b1e3afab8812f0dfec2baded84d41fef8bc94f",
      "tree": "6661359e540fd4550f308bfdcc39e938f1d0eb44",
      "parents": [
        "db54dcfd86b95faa7a99faf9875d21e2dc88d9c9"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Sun Jul 12 12:28:20 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 12 12:28:20 2026 +0530"
      },
      "message": "Add label/properties hot-reload to devreload, fixing a stale-classpath-copy bug found via live validation (#329)\n\n1) Extends devreload with a fifth watch path covering every component\u0027s\nconfig/*Labels.xml and *.properties files, discovered by convention like\nJava sources since ofbiz-component.xml has no manifest entry for them,\nand matched by a precise Labels.xml/.properties suffix rather than a\ngeneric .xml check so unrelated restart-only files like entityengine.xml\nand serviceengine.xml are left untouched.\n\n2) Unlike entitydef reload, no new reflection-based reloader class is\nneeded: UtilProperties never holds a direct reference to a parsed\nbundle, so clearing its two properties.* UtilCache entries is enough\nonce the changed file is actually visible on the classpath.\n\n3) That classpath visibility needed a real fix: build.gradle copies\nevery component\u0027s config/ directory into build/resources/main at build\ntime, and that stale copy, not the live source file, is what the running\nJVM actually resolves, so the changed file is now copied into\ndevreload\u0027s own hotReloadOutputDir before the cache is cleared,\nmirroring how Java source already wins over Gradle\u0027s own compiled\noutput.\n\n4) Live validation against the example and ofbizDemo plugins caught that\nexact bug on the very first test run, confirmed the fix afterward, and\nverified a brand-new label key, an edited properties value, and an\nunrelated config XML file are all handled correctly with no restart.\n\n5) Two static snapshots taken once at class-load time, Debug\u0027s log-level\ncache and HashCrypt\u0027s PBKDF2_ITERATIONS, remain restart-only and are\ndocumented as such rather than patched via reflection.\n\n6) Added my notes in the README.md file."
    },
    {
      "commit": "db54dcfd86b95faa7a99faf9875d21e2dc88d9c9",
      "tree": "7544dfeb29effd27bcbfc9b73a26881a65bf402c",
      "parents": [
        "41a07286b8926cf622ab859ea25b1975536f6169"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Sat Jul 11 22:53:57 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 11 22:53:57 2026 +0530"
      },
      "message": "Adding support of entitydef/entitygroup hot-reload to devreload component (#328)\n\nAdd support for another important entitydef/entitygroup hot-reload to\ndevreload, with opt-in schema sync."
    },
    {
      "commit": "41a07286b8926cf622ab859ea25b1975536f6169",
      "tree": "9db7143301237c2af524d579d77ed0aab5474fd3",
      "parents": [
        "a8f8539ae40abf7708719516966931436603a181"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Sat Jul 11 17:44:13 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 11 17:44:13 2026 +0530"
      },
      "message": "Devreload dev notes (#327)\n\nFixing the buildbot failure for the below command:\n./gradlew --no-daemon --stacktrace check"
    },
    {
      "commit": "a8f8539ae40abf7708719516966931436603a181",
      "tree": "4d3155a1ab750b79af1aaacea56bb0d5eb57db45",
      "parents": [
        "fe1a266d60425b3b73469f185cb68bc27012495d"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Sat Jul 11 15:51:39 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 11 15:51:39 2026 +0530"
      },
      "message": "devreload dev notes, optmisation (#326)\n\nAdding dev notes in the bottom part of the README.md files.\n\nDone code optimisation. \n\nSplit the code into multiple files."
    },
    {
      "commit": "fe1a266d60425b3b73469f185cb68bc27012495d",
      "tree": "ad9db71112316b0bd762d90400a43911a6791577",
      "parents": [
        "bcfce34fb0d21b19e24f488a161afaabf74be1dd"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Fri Jul 10 19:16:19 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 19:16:19 2026 +0530"
      },
      "message": "Add devreload plugin inside plugins directory (#316)\n\ndevreload plugin will give us option to work in Java files(events and\nservices) and services.xml files without restarting ofbiz."
    },
    {
      "commit": "bcfce34fb0d21b19e24f488a161afaabf74be1dd",
      "tree": "b736a95391a14afd65ff16cc6cc8a848aac970dd",
      "parents": [
        "ffe4230166a8422a3216e16de143a68792f82a31"
      ],
      "author": {
        "name": "Divesh Dutta",
        "email": "124163540+diveshdut@users.noreply.github.com",
        "time": "Fri Jul 10 16:02:22 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 16:02:22 2026 +0530"
      },
      "message": "OFBIZ-13367 - Add REST API and service-contract guidance to AI agent skills (#325)\n\n## What changed\n- updated the existing AI agent skill files so REST guidance now points\nto the OFBiz framework REST support\n- added a dedicated `manage-rest-api` skill for REST API design,\nwrapper-service decisions, composite key handling, and contract-safe API\nchanges\n- improved related REST guidance in `manage-api-integration`\n- added supporting improvements in:\n  - `manage-services`\n  - `manage-groovy`\n  - `coding-standards`\n  - `manage-cache-and-performance`\n- updated `README.md` to clarify that these skills work best with Apache\nOFBiz `trunk`\n- updated `SKILLS_SUMMARY.md` to include the new REST skill\n\n## Why\nSince the REST feature moved from the OFBiz plugins repository into the\nOFBiz framework, the existing skill guidance needed to be updated so it\nrefers to REST support from the framework instead of treating it as a\nplugin-local capability.\n\nThis PR also adds a dedicated REST skill based on practical experience\nbuilding APIs for Manufacturing PWA applications. That guidance is\nintended to help agents make better decisions around:\n- when to expose native OFBiz services directly\n- when to introduce thin wrapper services\n- how to preserve stable API contracts\n- how to handle multi-column keys and typed service boundaries\n\nIn addition, this PR includes related improvements in the\nservice-definition and Groovy skill files so the guidance is more\nconsistent across REST, service, and query implementation patterns.\n\n## Impact\nThese changes should help AI agents produce OFBiz code that is more\naccurate and more maintainable when working with:\n- framework REST APIs\n- service definitions and typed contracts\n- Groovy service implementations\n- query efficiency and cache-related decisions"
    },
    {
      "commit": "ffe4230166a8422a3216e16de143a68792f82a31",
      "tree": "6495aa30329eb8c603644a3b74568a1be23358a3",
      "parents": [
        "7b8df47ce684ec8a90d12624fc9eb63256e4188b"
      ],
      "author": {
        "name": "toaditi",
        "email": "154910926+toaditi@users.noreply.github.com",
        "time": "Fri Jul 10 15:33:09 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 15:33:09 2026 +0530"
      },
      "message": "Fixed: Type mismatch when filtering InventoryItem by availableToPromiseTotal in FixedAssetMaintServices (OFBIZ-13448) (#309)\n\nJira: https://issues.apache.org/jira/browse/OFBIZ-13448\n\n## Problem\nIn `FixedAssetMaintServices.issueInventory`, the InventoryItem lookup\nbuilds a condition comparing `availableToPromiseTotal` against the\n**String** literal `\"0\"`:\n\n```java\nEntityCondition.makeCondition(\"availableToPromiseTotal\", EntityOperator.GREATER_THAN, \"0\")\n```\n\n`InventoryItem.availableToPromiseTotal` is a `fixed-point` field\n(`java.math.BigDecimal`, `NUMERIC(18,6)`). When the query executes,\n`SqlJdbcUtil` binds the value by casting it to `java.math.BigDecimal`,\nso passing a `String` throws a `ClassCastException` (String cannot be\ncast to BigDecimal). The equivalent EECA (`product/entitydef/eecas.xml`)\navoids this by declaring `type\u003d\"BigDecimal\"` on the value; the Java path\nhad no such coercion.\n\n## Fix\nUse `BigDecimal.ZERO` instead of the string `\"0\"`, and add the\n`java.math.BigDecimal` import.\n\n## Verification\n- `./gradlew compileJava` → BUILD SUCCESSFUL.\n\nThis is the same fix proposed on the Jira issue, corrected: the issue\ntext used `BigDecimal.Zero` (does not compile) and omitted the required\nimport.\n\nThanks Tomek for reporting issue and Aditi Patel for providing PR. "
    },
    {
      "commit": "7b8df47ce684ec8a90d12624fc9eb63256e4188b",
      "tree": "ed5b22c9c33ed491a24cd69b180ebe69ec4a605e",
      "parents": [
        "2aace743558365f38c079637ef043d7036763692"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jul 03 03:52:51 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Fri Jul 03 19:23:10 2026 +0200"
      },
      "message": "Bump vite from 8.1.2 to 8.1.3 in /example/vite-react-app\n\nBumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.1.2 to 8.1.3.\n- [Release notes](https://github.com/vitejs/vite/releases)\n- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite/commits/v8.1.3/packages/vite)\n\n---\nupdated-dependencies:\n- dependency-name: vite\n  dependency-version: 8.1.3\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "2aace743558365f38c079637ef043d7036763692",
      "tree": "24bdde62f81d341a1fc4182ce2ecadbbe87099d0",
      "parents": [
        "3e9cec86321acd12916f73cbb5074b03f6b3b3b9"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Fri Jul 03 16:41:39 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 16:41:39 2026 +0530"
      },
      "message": "Fixed: First Data config form non-functional and Java integration quality issues (OFBIZ-11837) (#312)\n\nFixed: First Data config form non-functional and Java integration\nquality issues\n(OFBIZ-11837)\n\nUI \u0026 Configuration\n- Fixed duplicate \"Main\" nav item inherited from CommonAppBarMenu\n- Added create and delete entity-auto services for full CRUD; fixed form\nwith alt-target routing and \"Add\" button so it works without a\npre-existing config record\n- Added controller request-maps for create and delete actions\n- Removed non-existent appId from FirstDataDemoData.xml\n- Replaced firstdata.properties with FirstDataSystemPropertyData.xml\n(SystemProperty seed data)\n\nJava Integration\n- Fixed resource leaks: HTTP client and response now closed via\ntry-with-resources\n- Fixed NPEs on null paymentGatewayResponse and null processor map\nacross all service methods\n- Removed static fdProperties cache; config loaded fresh per call\n(thread-safe, reflects DB changes)\n- Fixed ccRefund missing orderPaymentPreferenceId filter in gateway\nresponse query\n- Removed redundant condition in ccAuth, unused orderId variable, and\ndead FirstDataSaleTemplate.json.ftl"
    },
    {
      "commit": "3e9cec86321acd12916f73cbb5074b03f6b3b3b9",
      "tree": "19169350203e10753a7fa1cded23c24d75603418",
      "parents": [
        "69eb3376116c13cafdbcb60a31ff8a5bc57923ae"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 01 07:21:41 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Wed Jul 01 09:23:06 2026 +0200"
      },
      "message": "Bump vite from 8.1.0 to 8.1.2 in /example/vite-react-app\n\nBumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.1.0 to 8.1.2.\n- [Release notes](https://github.com/vitejs/vite/releases)\n- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite/commits/v8.1.2/packages/vite)\n\n---\nupdated-dependencies:\n- dependency-name: vite\n  dependency-version: 8.1.2\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "69eb3376116c13cafdbcb60a31ff8a5bc57923ae",
      "tree": "0c04456ebca28d68eba409f53498cb542756c555",
      "parents": [
        "26cd62516620a7817fec6f3e128f117178f96810"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jun 30 03:52:36 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Wed Jul 01 09:19:33 2026 +0200"
      },
      "message": "Bump prettier from 3.9.1 to 3.9.4 in /example/vite-react-app\n\nBumps [prettier](https://github.com/prettier/prettier) from 3.9.1 to 3.9.4.\n- [Release notes](https://github.com/prettier/prettier/releases)\n- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/prettier/prettier/compare/3.9.1...3.9.4)\n\n---\nupdated-dependencies:\n- dependency-name: prettier\n  dependency-version: 3.9.4\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "26cd62516620a7817fec6f3e128f117178f96810",
      "tree": "3f031e8bf5e14e0c755d40e8ad49df9380e4503a",
      "parents": [
        "9153cab41ba2cf5b67fcc188afc55352fea52844"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 29 03:52:53 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Mon Jun 29 10:46:57 2026 +0200"
      },
      "message": "Bump prettier from 3.8.4 to 3.9.1 in /example/vite-react-app\n\nBumps [prettier](https://github.com/prettier/prettier) from 3.8.4 to 3.9.1.\n- [Release notes](https://github.com/prettier/prettier/releases)\n- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/prettier/prettier/compare/3.8.4...3.9.1)\n\n---\nupdated-dependencies:\n- dependency-name: prettier\n  dependency-version: 3.9.1\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "9153cab41ba2cf5b67fcc188afc55352fea52844",
      "tree": "02a3476910f25d5f9cc53e925eae97fd3416d707",
      "parents": [
        "52a9baa1b3c11dcacd010ad0c24909809919a9e6"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Fri Jun 26 15:57:28 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 15:57:28 2026 +0530"
      },
      "message": "Remove deprecated and defunct third-party payment gateway integrations and their references (OFBIZ-13446) (#295)\n\nImproved: Remove deprecated and defunct third-party payment gateway\nintegrations and their references\n(OFBIZ-13446)\n\nChanges include:\n- Removed 11 PayPal and WorldPay controller request-maps from\necommerce/webapp/ecommerce/WEB-INF/controller.xml (callPayPal,\npayPalNotify, payPalCancel, setPayPalCheckout, payPalCheckoutRedirect,\npayPalCheckoutReturn, payPalCheckoutCancel, payPalCheckoutUpdate,\ncallWorldPay, worldPayNotify) along with their references in\nsetPaymentInformation and checkExternalPayment request-maps\n- Removed PayPal Express Checkout button from\necommerce/template/cart/MicroCart.ftl\n- Removed broken EXT_PAYPAL and EXT_WORLDPAY ProductStorePaymentSetting\ndemo data rows from ecommerce/data/DemoRentalProduct.xml that referenced\ndeleted gateway configs"
    },
    {
      "commit": "52a9baa1b3c11dcacd010ad0c24909809919a9e6",
      "tree": "b8a181995a4a578aabda131e237d40c90d7e80f4",
      "parents": [
        "d2c887beca87a4c8ea8eaea6ffb5193a413b45fd"
      ],
      "author": {
        "name": "Mridul Pathak",
        "email": "mridul.72@gmail.com",
        "time": "Fri Jun 26 15:46:04 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 15:46:04 2026 +0530"
      },
      "message": "Fixed: Remove leftover references from deleted shipping carrier integrations (OFBIZ-7935) (#297)\n\nFixed: Remove leftover references from deleted shipping carrier\nintegrations\n(OFBIZ-7935)\n\nFollow-up cleanup after PR #1335 removed DHL, FedEx, UPS, and USPS\nshipping carrier integrations. Removes:\n- Dead UspsMockApiServlet definition and mapping from birt plugin\nweb.xml\n- Stale TODO comment referencing UPS/FedEx in ecommerce OrderHeader.ftl"
    },
    {
      "commit": "d2c887beca87a4c8ea8eaea6ffb5193a413b45fd",
      "tree": "b5d16feb9db477bcc7ec18a542e4ba5c4bcf7d1d",
      "parents": [
        "de4972e2a5ab7f048f612b9d60bf3687abb9d695"
      ],
      "author": {
        "name": "Arun Patidar",
        "email": "arun.patidar@hotwax.co",
        "time": "Fri Jun 26 14:22:02 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 14:22:02 2026 +0530"
      },
      "message": "Removed the WebPOS plugin. The current WebPOS implementation appears to be based on an architectural approach that is no longer aligned with modern POS development practices (#304)\n\nRemoved: The current WebPOS implementation appears to be based on an\narchitectural approach that is no longer aligned with modern POS\ndevelopment practices.Instead of continuing to maintain WebPOS, the\ncommunity could focus on strengthening API capabilities and integration\npatterns, enabling developers to build modern POS applications using the\nfrontend technology of their choice.\n(OFBIZ-13445)\n\nCo-authored-by: arunpatidar \u003carunpatidar@apache.org\u003e"
    },
    {
      "commit": "de4972e2a5ab7f048f612b9d60bf3687abb9d695",
      "tree": "628e01d6a1e3f93118cc5034eee31f621cfefb92",
      "parents": [
        "a6913862c02ed9b044fb5c1fbf307da2f08378a5"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jun 24 03:52:59 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Wed Jun 24 16:42:44 2026 +0200"
      },
      "message": "Bump vite from 8.0.16 to 8.1.0 in /example/vite-react-app\n\nBumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.0.16 to 8.1.0.\n- [Release notes](https://github.com/vitejs/vite/releases)\n- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite/commits/create-vite@8.1.0/packages/vite)\n\n---\nupdated-dependencies:\n- dependency-name: vite\n  dependency-version: 8.1.0\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "a6913862c02ed9b044fb5c1fbf307da2f08378a5",
      "tree": "93643bd0ddb701c3fa5c25bc82ef13c6993bbc43",
      "parents": [
        "2844730abd7e1597331ea4164ee1ca04b28c1e74"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jun 24 03:52:50 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Wed Jun 24 16:41:33 2026 +0200"
      },
      "message": "Bump @vitejs/plugin-react from 6.0.2 to 6.0.3 in /example/vite-react-app\n\nBumps [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) from 6.0.2 to 6.0.3.\n- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)\n- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.0.3/packages/plugin-react)\n\n---\nupdated-dependencies:\n- dependency-name: \"@vitejs/plugin-react\"\n  dependency-version: 6.0.3\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "2844730abd7e1597331ea4164ee1ca04b28c1e74",
      "tree": "7cb3c02ae5d76a9b89c2a670c00a1c379db8b999",
      "parents": [
        "b670222a60380271d2c73db4b53d1315137920b5"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jun 24 03:53:39 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Wed Jun 24 16:40:45 2026 +0200"
      },
      "message": "Bump org.apache.tomcat.embed:tomcat-embed-websocket in /example\n\nBumps org.apache.tomcat.embed:tomcat-embed-websocket from 9.0.118 to 9.0.119.\n\n---\nupdated-dependencies:\n- dependency-name: org.apache.tomcat.embed:tomcat-embed-websocket\n  dependency-version: 9.0.119\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "b670222a60380271d2c73db4b53d1315137920b5",
      "tree": "417baecdecfe50b33a1a644e271acc52cafad2c5",
      "parents": [
        "9cbb5d5f614a471839ab105a4c98590e27c11b56"
      ],
      "author": {
        "name": "Anahita Goljahani",
        "email": "anahita.goljahani@gmail.com",
        "time": "Tue Jun 23 13:37:28 2026 +0200"
      },
      "committer": {
        "name": "Anahita Goljahani",
        "email": "anahita.goljahani@gmail.com",
        "time": "Tue Jun 23 16:05:16 2026 +0200"
      },
      "message": "Fixed: Add missing license header\n\nThis commit fixes an \"unapproved license\" issue reported in the RAT report\"\n"
    },
    {
      "commit": "9cbb5d5f614a471839ab105a4c98590e27c11b56",
      "tree": "e69504716e7b3c566db29ac28d07f53fe3d00ef2",
      "parents": [
        "6b5de303651520f733fe00843941cde3e72e5b39"
      ],
      "author": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Tue Jun 16 11:57:16 2026 +0200"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Tue Jun 16 11:58:41 2026 +0200"
      },
      "message": "Restore /rest-api directory in dependabot.yml for release24.09 branch\n\nThe rest-api plugin was moved into the framework only on the trunk branch; it still exists as a standalone plugin in the release24.09 branch.\n"
    },
    {
      "commit": "6b5de303651520f733fe00843941cde3e72e5b39",
      "tree": "863a618fb72fb5171e9ecf9468bdb2202e3d9f60",
      "parents": [
        "c9eb464698212cd9269b67546ebfd76b641e2d2b"
      ],
      "author": {
        "name": "Deepak Dixit",
        "email": "deepak.dixit@hotwax.co",
        "time": "Tue Jun 16 10:50:58 2026 +0530"
      },
      "committer": {
        "name": "Deepak Dixit",
        "email": "deepak.dixit@hotwax.co",
        "time": "Tue Jun 16 10:50:58 2026 +0530"
      },
      "message": "Removed rest-api references from dependabot.yml, SKILL.md and plugins-user-manual.adoc (OFBIZ-13415)\n"
    },
    {
      "commit": "c9eb464698212cd9269b67546ebfd76b641e2d2b",
      "tree": "25ee034fda8d0d12e29835e36049dfb6aa60367b",
      "parents": [
        "0dbe57219c06165d94a57822e372d1e568843762"
      ],
      "author": {
        "name": "Deepak Dixit",
        "email": "deepak.dixit@hotwax.co",
        "time": "Tue Jun 16 10:17:58 2026 +0530"
      },
      "committer": {
        "name": "Deepak Dixit",
        "email": "deepak.dixit@hotwax.co",
        "time": "Tue Jun 16 10:17:58 2026 +0530"
      },
      "message": "Removed rest-api code from plugins repo, rest-api has been moved to framework\n"
    },
    {
      "commit": "0dbe57219c06165d94a57822e372d1e568843762",
      "tree": "c895250f6e8af410369db5bc88e3bfbdd2305fdf",
      "parents": [
        "2cbdd8ac0daadd2345952a4a71adff19b5c89466"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jun 10 07:57:47 2026 +0000"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Fri Jun 12 11:16:26 2026 +0200"
      },
      "message": "Bump @types/react from 19.2.16 to 19.2.17 in /example/vite-react-app\n\nBumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 19.2.16 to 19.2.17.\n- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)\n- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)\n\n---\nupdated-dependencies:\n- dependency-name: \"@types/react\"\n  dependency-version: 19.2.17\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "2cbdd8ac0daadd2345952a4a71adff19b5c89466",
      "tree": "9c56f82e8e5f4eb8c3ca0ef2f6806320c3aab16d",
      "parents": [
        "112fbeab61f23bc5af2daa039d42f072c295ff19"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jun 10 09:43:12 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 10 09:43:12 2026 +0200"
      },
      "message": "Bump prettier from 3.8.3 to 3.8.4 in /example/vite-react-app (#279)\n\nBumps [prettier](https://github.com/prettier/prettier) from 3.8.3 to\n3.8.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/prettier/prettier/releases\"\u003eprettier\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.8.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Fix blank lines between list items and nested sub-lists\nbeing removed in Markdown/MDX (\u003ca\nhref\u003d\"https://redirect.github.com/prettier/prettier/pull/17746\"\u003eprettier/prettier#17746\u003c/a\u003e\nby \u003ca\nhref\u003d\"https://github.com/byplayer\"\u003e\u003ccode\u003e@​byplayer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca\nhref\u003d\"https://github.com/prettier/prettier/blob/3.8.4/CHANGELOG.md#384\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.8.4\u003c/h1\u003e\n\u003cp\u003e\u003ca\nhref\u003d\"https://github.com/prettier/prettier/compare/3.8.3...3.8.4\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Fix blank lines between list items and nested sub-lists\nbeing removed in Markdown/MDX (\u003ca\nhref\u003d\"https://redirect.github.com/prettier/prettier/pull/17746\"\u003e#17746\u003c/a\u003e\nby \u003ca\nhref\u003d\"https://github.com/byplayer\"\u003e\u003ccode\u003e@​byplayer\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003cp\u003ePrettier was removing blank lines between list items and their nested\nsub-lists, converting loose lists into tight lists and changing their\nsemantic meaning.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang\u003d\"markdown\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n- a\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eb\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ec\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ed\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.8.3 --\u0026gt;\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ea\n\u003cul\u003e\n\u003cli\u003eb\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ec\n\u003cul\u003e\n\u003cli\u003ed\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.8.4 --\u0026gt;\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ea\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eb\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ec\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ed\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/prettier/prettier/commit/1c6ba5539141552e0e8e22d401ea620d8fdff468\"\u003e\u003ccode\u003e1c6ba55\u003c/code\u003e\u003c/a\u003e\nRelease 3.8.4\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/prettier/prettier/commit/4a673dc9b59ddf7296bbab9822093d2971da84a8\"\u003e\u003ccode\u003e4a673dc\u003c/code\u003e\u003c/a\u003e\nFix blank lines between list items and nested sub-lists being removed in\nMark...\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/prettier/prettier/commit/074aaedbb052a288e89d15eb0a4214de37a08866\"\u003e\u003ccode\u003e074aaed\u003c/code\u003e\u003c/a\u003e\nReplace \u003ccode\u003emain\u003c/code\u003e branch in changelog link with tags (\u003ca\nhref\u003d\"https://redirect.github.com/prettier/prettier/issues/19054\"\u003e#19054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/prettier/prettier/commit/c22a003ae97917c5043e8685b4fdff0f93e978f9\"\u003e\u003ccode\u003ec22a003\u003c/code\u003e\u003c/a\u003e\nBump Prettier dependency to 3.8.3\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/prettier/prettier/commit/07bad1f04536e9799927007baf466e67151576f0\"\u003e\u003ccode\u003e07bad1f\u003c/code\u003e\u003c/a\u003e\nClean changelog_unreleased\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/prettier/prettier/compare/3.8.3...3.8.4\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dprettier\u0026package-manager\u003dnpm_and_yarn\u0026previous-version\u003d3.8.3\u0026new-version\u003d3.8.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "112fbeab61f23bc5af2daa039d42f072c295ff19",
      "tree": "d4213820179a1498f1e0f3bd6840e90570443425",
      "parents": [
        "a04675615cd9b7e19ae24970981301c03d6d2b6c"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Sun Jun 07 18:35:21 2026 +0530"
      },
      "committer": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Sun Jun 07 18:35:21 2026 +0530"
      },
      "message": "Revert \"Adding all the newly created Secret Manager Plugins. Currently testing is being done with AWS Secret Manager plugin. For other plugins, I need to create account at all the providers then will update the code if required.\"\n\nThis reverts commit a04675615cd9b7e19ae24970981301c03d6d2b6c.\n"
    },
    {
      "commit": "a04675615cd9b7e19ae24970981301c03d6d2b6c",
      "tree": "5a65421e2d067eb77a320d3b3a09a914415f0fb4",
      "parents": [
        "7839182a982fd67840b41bfca1424230e018d841"
      ],
      "author": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Sun Jun 07 18:13:16 2026 +0530"
      },
      "committer": {
        "name": "Ashish Vijaywargiya",
        "email": "ashish@apache.org",
        "time": "Sun Jun 07 18:15:07 2026 +0530"
      },
      "message": "Adding all the newly created Secret Manager Plugins. Currently testing is being done with AWS Secret Manager plugin. For other plugins, I need to create account at all the providers then will update the code if required.\n"
    },
    {
      "commit": "7839182a982fd67840b41bfca1424230e018d841",
      "tree": "d4213820179a1498f1e0f3bd6840e90570443425",
      "parents": [
        "816b2192c90c21933ef164380c070a030cb06885"
      ],
      "author": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Thu Jun 04 10:20:34 2026 +0200"
      },
      "committer": {
        "name": "Jacopo Cappellato",
        "email": "jacopo.cappellato@gmail.com",
        "time": "Thu Jun 04 10:24:51 2026 +0200"
      },
      "message": "Bump react and @types/react to latest versions in package-lock.json\n"
    }
  ],
  "next": "816b2192c90c21933ef164380c070a030cb06885"
}
