)]}'
{
  "log": [
    {
      "commit": "61c6bde7948cd986d598324a98fa6a7378b7df66",
      "tree": "b33e40cbedd0d92dcc769d05fd19bd8e4513b395",
      "parents": [
        "6a15358a4bd9a80a6f64d53887c4ed087ebf5f3b",
        "f9e8e45806c94622722881fc1dcc15fdffc87c0b"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Mon Sep 07 20:07:57 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 07 20:07:57 2026 +0200"
      },
      "message": "Merge pull request #6414\n\nFINERACT-2788: Optimize E2E test execution of WorkingCapitalDelinquency.feature"
    },
    {
      "commit": "f9e8e45806c94622722881fc1dcc15fdffc87c0b",
      "tree": "0efc638126d88fcaa144ecccc1e22f1f135e9168",
      "parents": [
        "e4474a0f4a4c65a75e7758e47db1fd277e5fcfef"
      ],
      "author": {
        "name": "Rustam Zeinalov",
        "email": "truezeynalov@gmail.com",
        "time": "Mon Sep 07 16:50:06 2026 +0200"
      },
      "committer": {
        "name": "Rustam Zeinalov",
        "email": "truezeynalov@gmail.com",
        "time": "Mon Sep 07 16:50:06 2026 +0200"
      },
      "message": "FINERACT-2788: Optimize E2E test execution of WorkingCapitalDelinquency.feature\n"
    },
    {
      "commit": "6a15358a4bd9a80a6f64d53887c4ed087ebf5f3b",
      "tree": "425f4a1cb5bde2621ed0d28556482e7e14451ffa",
      "parents": [
        "4dc2b8b6c39c303c18eb9219866ec2916e6bf949",
        "e7bdad1155b761556fd7cffb50e5d3ba9fe19eac"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Mon Sep 07 15:30:19 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 07 15:30:19 2026 +0200"
      },
      "message": "Merge pull request #6409\n\nFINERACT-2809: Correct nop to invert pmt"
    },
    {
      "commit": "4dc2b8b6c39c303c18eb9219866ec2916e6bf949",
      "tree": "8003e62bf99c994a52348c7397cc3d7d3fe2023b",
      "parents": [
        "f881b8eddb14e1d4c26531a93f19b39dc3dd238d",
        "0f46e35aa64d3b0e35d8b78891f45264fb7ce3ea"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Mon Sep 07 15:22:00 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 07 15:22:00 2026 +0200"
      },
      "message": "Merge pull request #6363\n\nFINERACT-2798: Fix bulk event recording window"
    },
    {
      "commit": "f881b8eddb14e1d4c26531a93f19b39dc3dd238d",
      "tree": "5a3ff3ce1a9e6e5d3a40cb7f92f139bb43c507c0",
      "parents": [
        "302de9ac7ac025829a524a990a52446bf7273b85",
        "022fd6ecd960263eb85c21f85bf0f5c3423c4060"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Mon Sep 07 15:11:11 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 07 15:11:11 2026 +0200"
      },
      "message": "Merge pull request #6301\n\nFINERACT-2455: Working Capital Loan - Recovery payment transaction"
    },
    {
      "commit": "302de9ac7ac025829a524a990a52446bf7273b85",
      "tree": "a77da1a81b7a4a2df14c899c40dd74c3a3723996",
      "parents": [
        "0d295e8d59622a980eea1cfa2249af618e718d10",
        "bd3bd4c141eb00fe5d25e0a6e5edd29e6c85af0a"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Mon Sep 07 14:39:13 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 07 14:39:13 2026 +0200"
      },
      "message": "Merge pull request #6345\n\nFINERACT-2791: Fix re-age sometimes using downpayment installments and ensure lifted mappings"
    },
    {
      "commit": "0d295e8d59622a980eea1cfa2249af618e718d10",
      "tree": "5f08905992345f8c22838281f97de095f07fd027",
      "parents": [
        "e4474a0f4a4c65a75e7758e47db1fd277e5fcfef",
        "3dc42289dff56e9ca669337bb4a24a2a77c1b721"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Mon Sep 07 14:37:03 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 07 14:37:03 2026 +0200"
      },
      "message": "Merge pull request #6369\n\nFINERACT-2455: Rework WC loan schedule model to use recurrent calculations"
    },
    {
      "commit": "3dc42289dff56e9ca669337bb4a24a2a77c1b721",
      "tree": "5f08905992345f8c22838281f97de095f07fd027",
      "parents": [
        "a1e3c127ac08ec66f8225a9118b060a87de49bec"
      ],
      "author": {
        "name": "mariiaKraievska",
        "email": "riaskay3@gmail.com",
        "time": "Mon Sep 07 14:44:30 2026 +0300"
      },
      "committer": {
        "name": "mariiaKraievska",
        "email": "riaskay3@gmail.com",
        "time": "Mon Sep 07 14:44:30 2026 +0300"
      },
      "message": "FINERACT-2455: Rework WC loan schedule model to use recurrent calculations - E2E tests\n"
    },
    {
      "commit": "a1e3c127ac08ec66f8225a9118b060a87de49bec",
      "tree": "651a7f5302cf42421e9b3a7c2758fbeb33059334",
      "parents": [
        "e4474a0f4a4c65a75e7758e47db1fd277e5fcfef"
      ],
      "author": {
        "name": "mark.vituska",
        "email": "vitu966@gmail.com",
        "time": "Wed Sep 02 14:03:38 2026 +0200"
      },
      "committer": {
        "name": "mark.vituska",
        "email": "vitu966@gmail.com",
        "time": "Mon Sep 07 12:36:30 2026 +0200"
      },
      "message": "FINERACT-2455: Rework WC loan schedule model to use recurrent calculations\n"
    },
    {
      "commit": "e7bdad1155b761556fd7cffb50e5d3ba9fe19eac",
      "tree": "53a194343242169abb0bbb03ca6e6fd4147f6686",
      "parents": [
        "e4474a0f4a4c65a75e7758e47db1fd277e5fcfef"
      ],
      "author": {
        "name": "kadyrbekovhamit-cyber",
        "email": "kadyrbekovhamit@gmail.com",
        "time": "Mon Sep 07 14:25:42 2026 +0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 07 14:25:42 2026 +0500"
      },
      "message": "FINERACT-2809: Correct nop to invert pmt\n\nSolve the PMT equation for the number of payments and round to the nearest whole payment. Add regressions for zero/non-zero rates, both payment timings and non-zero future value.\n\nResearch and correction: Xamit Kadirbekov / GERO Research.\nhttps://issues.apache.org/jira/browse/FINERACT-2809"
    },
    {
      "commit": "e4474a0f4a4c65a75e7758e47db1fd277e5fcfef",
      "tree": "583af22ac2478811c6791b0be7e42eb78006a927",
      "parents": [
        "1b0aedf5aeb4cbd73b62b90d29a345a575cdbdb6",
        "e214fa8f805f096482e5a837bc680b60f5948f15"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Mon Sep 07 10:51:07 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 07 10:51:07 2026 +0200"
      },
      "message": "Merge pull request #6401\n\nFINERACT-2788: Optimize E2E test execution of WorkingCapitalDelinquencyReset.feature"
    },
    {
      "commit": "1b0aedf5aeb4cbd73b62b90d29a345a575cdbdb6",
      "tree": "cdf4140855fe152f149389f29d21a81294378baf",
      "parents": [
        "4e6e8216e89dc49b49a0255d86622c72affa87d8",
        "c7b1d366890504d173a1f80b473debeb2bce47dc"
      ],
      "author": {
        "name": "Víctor Romero",
        "email": "46640258+IOhacker@users.noreply.github.com",
        "time": "Sun Sep 06 12:04:56 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 06 12:04:56 2026 -0600"
      },
      "message": "Merge pull request #6403 from AshharAhmadKhan/FINERACT-405-centralize-phone-validation\n\nFINERACT-405: Centralize mobile number validation for Client and Staff"
    },
    {
      "commit": "4e6e8216e89dc49b49a0255d86622c72affa87d8",
      "tree": "384573c709b53179ee243f524df04e84a673f70f",
      "parents": [
        "74099701987ccb4755706d9a3de9fbbd3576ea1b",
        "cab12d7183618b527cf5ec1a7d7e7eeaf29a2a01"
      ],
      "author": {
        "name": "Víctor Romero",
        "email": "46640258+IOhacker@users.noreply.github.com",
        "time": "Sun Sep 06 12:01:30 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 06 12:01:30 2026 -0600"
      },
      "message": "Merge pull request #6400 from adamsaghy/FINERACT-2684/upgrade-latest-gradle\n\nFINERACT-2684: Fix sonarqube execution with Gradle 9"
    },
    {
      "commit": "c7b1d366890504d173a1f80b473debeb2bce47dc",
      "tree": "c3e41bd56a1159af0bd0128e2f2408edca0958bd",
      "parents": [
        "74099701987ccb4755706d9a3de9fbbd3576ea1b"
      ],
      "author": {
        "name": "Ashhar Ahmad Khan",
        "email": "145142826+AshharAhmadKhan@users.noreply.github.com",
        "time": "Sat Sep 05 13:33:23 2026 +0530"
      },
      "committer": {
        "name": "Ashhar Ahmad Khan",
        "email": "145142826+AshharAhmadKhan@users.noreply.github.com",
        "time": "Sat Sep 05 13:33:23 2026 +0530"
      },
      "message": "FINERACT-405: Centralize mobile number validation for Client and Staff\n\nClientDataValidator and the @Pattern annotations on Staff\ncreate/update requests all hardcoded the same mobile number regex\nindependently (^\\+?[0-9]{7,15}$). This regex was duplicated in three\nplaces with no single source of truth, making it impossible to change\nwithout editing multiple files and risking drift between them.\n\nThis PR centralizes the regex into a single configurable property and\na shared validation service used by both Client and Staff.\n\nChanges\n- Added fineract.phone.regex property under FineractProperties\n  (FineractPhoneProperties), defaulting to the existing regex.\n- Added PhoneNumberValidationService as the single source of truth for\n  phone regex validation.\n- Added @ValidPhoneNumber constraint and PhoneNumberValidator\n  (Jakarta Bean Validation) for use on Staff create/update requests.\n- Updated ClientDataValidator to take PhoneNumberValidationService as\n  a constructor dependency, replacing the hardcoded\n  MOBILE_NUMBER_REGEX constant on both the create and update paths.\n- Updated ClientDataValidatorTest for the new constructor.\n- Added PhoneNumberValidationServiceTest and PhoneNumberValidatorTest.\n- Added ClientTest integration tests\n  (testClientCreateWithInvalidMobileNoValidationError,\n  testClientUpdateWithInvalidMobileNoValidationError) that exercise\n  real Spring @ConfigurationProperties binding end to end, not just\n  mocked unit tests.\n\nThis does not close FINERACT-405, which also covers UI validation and\na dedicated PhoneNumber value object. This PR is scoped to\ncentralizing the existing backend regex validation only.\n\nPrior attempts\nTwo previous PRs attempted this same centralization and were not\nmerged: #5964 and #6177.\n\n- #5964 built PhoneNumberValidationService but never wired it into\n  ClientDataValidator, which kept using FineractProperties directly.\n  Failed on compileJava after a force push.\n- #6177 wired PhoneNumberValidationService into ClientDataValidator,\n  but had a duplicate FineractPhoneValidationProperties class\n  definition in FineractProperties.java, and @ValidPhoneNumber\u0027s\n  default message() was a literal string (\"Invalid phone number\")\n  instead of the original i18n message key. Failed on CI checks and\n  had merge conflicts.\n\nNeither PR\u0027s unit tests caught a runtime bug in this design: Spring\u0027s\n@ConfigurationProperties only instantiates a nested object\n(FineractPhoneProperties) if a matching property key exists in the\nenvironment. Without fineract.phone.regex set anywhere, getPhone()\nreturns null and getRegex() throws a NullPointerException. This only\nsurfaces with real Spring binding, not with unit tests that manually\nconstruct FineractProperties. Confirmed via a real integration test\nrun (StaffTest) against a Docker-built server from this branch, which\nfailed 3 of 17 tests with HTTP 500 until fineract.phone.regex was\nadded to application.properties with a default value.\n\nVerified locally end to end (unit tests, integration tests for both\nStaff and Client, against a real running server).\n\nSee https://issues.apache.org/jira/browse/FINERACT-405\n"
    },
    {
      "commit": "e214fa8f805f096482e5a837bc680b60f5948f15",
      "tree": "de6c4fa0ae8acc4b7557bd02763e037d1c828b1e",
      "parents": [
        "fb9f87ec8fdc4e93c37571a80b434ed3ab86ad7d"
      ],
      "author": {
        "name": "Rustam Zeinalov",
        "email": "truezeynalov@gmail.com",
        "time": "Fri Sep 04 18:30:10 2026 +0200"
      },
      "committer": {
        "name": "Rustam Zeinalov",
        "email": "truezeynalov@gmail.com",
        "time": "Fri Sep 04 18:30:10 2026 +0200"
      },
      "message": "FINERACT-2788: Optimize E2E test execution of WorkingCapitalDelinquencyReset.feature\n"
    },
    {
      "commit": "cab12d7183618b527cf5ec1a7d7e7eeaf29a2a01",
      "tree": "1b1a56296f2573466913d858501d64372fac9448",
      "parents": [
        "fb9f87ec8fdc4e93c37571a80b434ed3ab86ad7d"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 18:01:53 2026 +0200"
      },
      "committer": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 18:01:53 2026 +0200"
      },
      "message": "FINERACT-2684: Fix sonarqube execution with Gradle 9\n"
    },
    {
      "commit": "74099701987ccb4755706d9a3de9fbbd3576ea1b",
      "tree": "e5bc2ec21d9cff975b41f5dafe3cf2215116f7e6",
      "parents": [
        "fb9f87ec8fdc4e93c37571a80b434ed3ab86ad7d",
        "aef3bab0f7ae4cb32154fbc3916c3b6859598850"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 17:45:43 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 17:45:43 2026 +0200"
      },
      "message": "Merge pull request #6365\n\nFINERACT-817: Provide values of entity property for Entity Data Table Checks"
    },
    {
      "commit": "bd3bd4c141eb00fe5d25e0a6e5edd29e6c85af0a",
      "tree": "422c9fe3079e2fdb13c2628a1a9ce0bc7501e817",
      "parents": [
        "a70af4ba8ce27855c563561663df520728908acb"
      ],
      "author": {
        "name": "MarianaDmytrivBinariks",
        "email": "mdmytriv@binariks.com",
        "time": "Fri Sep 04 16:59:32 2026 +0300"
      },
      "committer": {
        "name": "MarianaDmytrivBinariks",
        "email": "mdmytriv@binariks.com",
        "time": "Fri Sep 04 16:59:32 2026 +0300"
      },
      "message": "FINERACT-2791: e2e test scenarios with re-age of progressive loan with downpayment\n"
    },
    {
      "commit": "0f46e35aa64d3b0e35d8b78891f45264fb7ce3ea",
      "tree": "58c2ef4474b6cc0e720fac0b441c06efcc415779",
      "parents": [
        "fb9f87ec8fdc4e93c37571a80b434ed3ab86ad7d"
      ],
      "author": {
        "name": "mark.vituska",
        "email": "vitu966@gmail.com",
        "time": "Tue Sep 01 11:23:30 2026 +0200"
      },
      "committer": {
        "name": "mark.vituska",
        "email": "vitu966@gmail.com",
        "time": "Fri Sep 04 15:56:34 2026 +0200"
      },
      "message": "FINERACT-2798: Fix bulk event recording window\n"
    },
    {
      "commit": "aef3bab0f7ae4cb32154fbc3916c3b6859598850",
      "tree": "e5bc2ec21d9cff975b41f5dafe3cf2215116f7e6",
      "parents": [
        "fb9f87ec8fdc4e93c37571a80b434ed3ab86ad7d"
      ],
      "author": {
        "name": "Eyad-Sharkawy",
        "email": "eyad.m.sharkawy@gmail.com",
        "time": "Wed Sep 02 17:32:04 2026 +0300"
      },
      "committer": {
        "name": "Eyad-Sharkawy",
        "email": "eyad.m.sharkawy@gmail.com",
        "time": "Fri Sep 04 16:09:18 2026 +0300"
      },
      "message": "FINERACT-817: Provide values of entity property for Entity Data Table Checks\n"
    },
    {
      "commit": "fb9f87ec8fdc4e93c37571a80b434ed3ab86ad7d",
      "tree": "6080e81fd8fb4362f0a5e9ff7db604c3af3d5d79",
      "parents": [
        "44d519c641899916fdbeb4c326c686ecd83bf7d7",
        "9b079149441eda54dd0f97c53e8a6c0b686d4831"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 13:55:43 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 13:55:43 2026 +0200"
      },
      "message": "Merge pull request #6397\n\nFINERACT-2808: NullPointerException in GroupingTypesWritePlatformServiceJpaRepositoryImpl when GroupLevel is missing"
    },
    {
      "commit": "44d519c641899916fdbeb4c326c686ecd83bf7d7",
      "tree": "05450c0cf2fecf9391320c977f84a3ac0873d964",
      "parents": [
        "8bb1d4440e3b88282ac2fdd01d7a9d834cd3c120",
        "025015ac56caf16ef0a9b13fa6fc88a7d1b052c8"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 13:52:45 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 13:52:45 2026 +0200"
      },
      "message": "Merge pull request #6390\n\nFINERACT-2804: Fix IndexOutOfBoundsException in SavingsAccountAssembler when no transactions exist after relaxed pivot date"
    },
    {
      "commit": "8bb1d4440e3b88282ac2fdd01d7a9d834cd3c120",
      "tree": "923d380b86c5288ce1d7aafcf3e5a9b2608a25d5",
      "parents": [
        "e31e68c4b1ea5f7fe5fd1b706f54e672257a6c28",
        "0009457d4a4ddff1782aaf11eb12e9aa65835313"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 13:51:39 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 13:51:39 2026 +0200"
      },
      "message": "Merge pull request #6386\n\nFINERACT-2788: Optimeze execution time E2E - Breach and NearBreach"
    },
    {
      "commit": "e31e68c4b1ea5f7fe5fd1b706f54e672257a6c28",
      "tree": "7ce1420cf02d6fddba017c9d21fcedf155e5ea9f",
      "parents": [
        "99be02eae00c9d2e084dff2c4bf334c87cbbe9cb",
        "ac8ced96336048547b047516929ea9ec24e043e6"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 13:42:33 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 13:42:33 2026 +0200"
      },
      "message": "Merge pull request #6396\n\nFINERACT-2788: Optimize E2E test execution of WorkingCapitalLoanScheduleBusinessEvents.feature"
    },
    {
      "commit": "99be02eae00c9d2e084dff2c4bf334c87cbbe9cb",
      "tree": "117afc84a1d4b2858f9185caec0cd70453f2d833",
      "parents": [
        "1c9b04f38dcb6631f7d443f32f06334a8512746c",
        "47b6ec6e62d6a5addd0c435caa13f12c9c4fc99a"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 13:41:52 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 13:41:52 2026 +0200"
      },
      "message": "Merge pull request #6389\n\nFINERACT-2684: Bump actions/setup-java from 5.7.0 to 6.0.0"
    },
    {
      "commit": "1c9b04f38dcb6631f7d443f32f06334a8512746c",
      "tree": "dad2f36eae04be633d778cab71dd3b1902f48089",
      "parents": [
        "fe803089c76319f2179d4a4c0c7a8545aa478472",
        "df640b3f92834aad5c7656f6e6e4c07d3fc50fcb"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 13:41:02 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 13:41:02 2026 +0200"
      },
      "message": "Merge pull request #6372\n\nFINERACT-2802: Progressive Loan charge-off crashes with NoSuchElementException for loans with an \"additional\" installment"
    },
    {
      "commit": "fe803089c76319f2179d4a4c0c7a8545aa478472",
      "tree": "71f8e6aa70fbe4766f1d6b0f1c490375608a8aa2",
      "parents": [
        "326d2c68c66050328496cdffbb078c737df20dc3",
        "263235a46148a1cd16ebfe2d6797ca0ba0cd5831"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 13:33:25 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 13:33:25 2026 +0200"
      },
      "message": "Merge pull request #6347\n\nFINERACT-2790: Progressive Loan - MIR after ReAge causes NoSuchElementException"
    },
    {
      "commit": "326d2c68c66050328496cdffbb078c737df20dc3",
      "tree": "94dc0e850243b86b72e1f2f6606cd9bbdd6e89d1",
      "parents": [
        "8d7260ba013d5745defae9491bea3e68afdb36a4",
        "c7c00ff869d49d05f750b8ebec7d1b23a080b106"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 13:24:46 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 13:24:46 2026 +0200"
      },
      "message": "Merge pull request #6359\n\nFINERACT-2788: Optimize E2E test execution of WorkingCapitalLoanChargeAfterMaturity.feature"
    },
    {
      "commit": "8d7260ba013d5745defae9491bea3e68afdb36a4",
      "tree": "f4092276b987f4adbc5480185ea7771016eee0ae",
      "parents": [
        "f2b2981f3aa49c9efdc2827e74d79e3392a948dd",
        "1ceb096f39350a7c6df77dea3ad620e439ea2b58"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 13:18:28 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 13:18:28 2026 +0200"
      },
      "message": "Merge pull request #6355\n\nFINERACT-2793: migrate loan money movement tests to feign"
    },
    {
      "commit": "f2b2981f3aa49c9efdc2827e74d79e3392a948dd",
      "tree": "5c18a6eeb16666e55592e81feb055eb2ee55426e",
      "parents": [
        "fa4adfff9462e74b4de476c74308c0592244de58",
        "6a68770037c97d2fbade9a1d2005c90fef32365c"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 13:05:58 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 13:05:58 2026 +0200"
      },
      "message": "Merge pull request #6395\n\nFINERACT-2806: Fix IndexOutOfBoundsException in JournalEntryWritePlatformServiceImpl.revertJournalEntry when no unreversed manual journal entries exist"
    },
    {
      "commit": "9b079149441eda54dd0f97c53e8a6c0b686d4831",
      "tree": "6d362475d372c6bce4aa423cbd7c88c1e61cf514",
      "parents": [
        "92739084c05d8815df94c0e2da34e59ffd8fd7f5"
      ],
      "author": {
        "name": "Ashhar Ahmad Khan",
        "email": "145142826+AshharAhmadKhan@users.noreply.github.com",
        "time": "Fri Sep 04 16:00:16 2026 +0530"
      },
      "committer": {
        "name": "Ashhar Ahmad Khan",
        "email": "145142826+AshharAhmadKhan@users.noreply.github.com",
        "time": "Fri Sep 04 16:23:14 2026 +0530"
      },
      "message": "FINERACT-2808: NullPointerException in GroupingTypesWritePlatformServiceJpaRepositoryImpl when GroupLevel is missing\n"
    },
    {
      "commit": "022fd6ecd960263eb85c21f85bf0f5c3423c4060",
      "tree": "2279c432c006f6bd0c11e92435d563a110c71e2f",
      "parents": [
        "bb72fb8c266597b9591ed38cad6dbf3993dcd058"
      ],
      "author": {
        "name": "Peter Kovacs",
        "email": "peter.kovacs@dpc.hu",
        "time": "Wed Aug 26 10:38:08 2026 +0200"
      },
      "committer": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 12:53:01 2026 +0200"
      },
      "message": "FINERACT-2455: Working Capital Loan - Recovery payment transaction - E2E tests\n"
    },
    {
      "commit": "fa4adfff9462e74b4de476c74308c0592244de58",
      "tree": "5f7086b8842ef42160757a0e07d9f74e33479ab6",
      "parents": [
        "9bc9a867b887b3c0ba3d25d731c7fb1284126163",
        "895ab9e56506eb585f6c6798ac993dff9e193200"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 11:52:59 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 11:52:59 2026 +0200"
      },
      "message": "Merge pull request #6328\n\nFINERACT-2784: Migrate NotesTest integration tests to Feign"
    },
    {
      "commit": "bb72fb8c266597b9591ed38cad6dbf3993dcd058",
      "tree": "795fef14ac7b5bb7333dc8c6d3f88bf615b15bb2",
      "parents": [
        "9bc9a867b887b3c0ba3d25d731c7fb1284126163"
      ],
      "author": {
        "name": "Jose Alberto Hernandez",
        "email": "alberto@art3ch.solutions",
        "time": "Thu Aug 20 12:08:44 2026 -0500"
      },
      "committer": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 11:43:49 2026 +0200"
      },
      "message": "FINERACT-2455: Working Capital Loan - Recovery payment transaction\n"
    },
    {
      "commit": "9bc9a867b887b3c0ba3d25d731c7fb1284126163",
      "tree": "06117f5fe52ca836051f5497d16e699fa4115215",
      "parents": [
        "e126a176d6321d2aef4970b1b9b722457ea3308e",
        "a0aa977e2a22afde13e448f91364f9b5bbef6e54"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 11:37:41 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 11:37:41 2026 +0200"
      },
      "message": "Merge pull request #6342\n\nFINERACT-2455: WC - Charge table remove unused calculation_on_amount column"
    },
    {
      "commit": "e126a176d6321d2aef4970b1b9b722457ea3308e",
      "tree": "7a717c26eb65c2bf8109584c7a8ba6ecf6cfac01",
      "parents": [
        "4ff197b31b0e2de5dddbffec1012be5401ae1a05",
        "d78a3f59f405fa1926b1fe30346bc50ccb601234"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 11:32:45 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 11:32:45 2026 +0200"
      },
      "message": "Merge pull request #6320\n\nFINERACT-2780: Remove obsolete MIX tables from static database SQL dumps"
    },
    {
      "commit": "ac8ced96336048547b047516929ea9ec24e043e6",
      "tree": "47856367f96c57f0d06a3eb46ea4ef8b2f87341c",
      "parents": [
        "4ff197b31b0e2de5dddbffec1012be5401ae1a05"
      ],
      "author": {
        "name": "mark.vituska",
        "email": "vitu966@gmail.com",
        "time": "Fri Sep 04 11:27:19 2026 +0200"
      },
      "committer": {
        "name": "mark.vituska",
        "email": "vitu966@gmail.com",
        "time": "Fri Sep 04 11:27:19 2026 +0200"
      },
      "message": "FINERACT-2788: Optimize E2E test execution of WorkingCapitalLoanScheduleBusinessEvents.feature\n"
    },
    {
      "commit": "6a68770037c97d2fbade9a1d2005c90fef32365c",
      "tree": "de84fdf3c1066562220f40cda1b4aa3745b290af",
      "parents": [
        "92739084c05d8815df94c0e2da34e59ffd8fd7f5"
      ],
      "author": {
        "name": "Ashhar Ahmad Khan",
        "email": "145142826+AshharAhmadKhan@users.noreply.github.com",
        "time": "Fri Sep 04 14:53:17 2026 +0530"
      },
      "committer": {
        "name": "Ashhar Ahmad Khan",
        "email": "145142826+AshharAhmadKhan@users.noreply.github.com",
        "time": "Fri Sep 04 14:53:17 2026 +0530"
      },
      "message": "FINERACT-2806: Fix IndexOutOfBoundsException in JournalEntryWritePlatformServiceImpl.revertJournalEntry when no unreversed manual journal entries exist\n"
    },
    {
      "commit": "025015ac56caf16ef0a9b13fa6fc88a7d1b052c8",
      "tree": "c2a2176c06fe9ea631fe41b2ce1e1cfc26d2b56b",
      "parents": [
        "92739084c05d8815df94c0e2da34e59ffd8fd7f5"
      ],
      "author": {
        "name": "Ashhar Ahmad Khan",
        "email": "145142826+AshharAhmadKhan@users.noreply.github.com",
        "time": "Fri Sep 04 13:29:21 2026 +0530"
      },
      "committer": {
        "name": "Ashhar Ahmad Khan",
        "email": "145142826+AshharAhmadKhan@users.noreply.github.com",
        "time": "Fri Sep 04 14:47:58 2026 +0530"
      },
      "message": "FINERACT-2804: Fix IndexOutOfBoundsException in SavingsAccountAssembler when no transactions exist after relaxed pivot date\n"
    },
    {
      "commit": "4ff197b31b0e2de5dddbffec1012be5401ae1a05",
      "tree": "8bf4aaabc6ffd39df6fbaabf4ab57f63d2014048",
      "parents": [
        "92739084c05d8815df94c0e2da34e59ffd8fd7f5",
        "992651060d7b16f641b304b98ce2d0847de97cb4"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Fri Sep 04 10:58:26 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 10:58:26 2026 +0200"
      },
      "message": "Merge pull request #6307\n\nFINERACT-2776: Add entitySubType to GetDataTablesResponse schema"
    },
    {
      "commit": "a0aa977e2a22afde13e448f91364f9b5bbef6e54",
      "tree": "d2e08f2ac4b86b2f394e4ad402ed331709a1dea3",
      "parents": [
        "92739084c05d8815df94c0e2da34e59ffd8fd7f5"
      ],
      "author": {
        "name": "Soma Sörös",
        "email": "soma.soros@dpc.hu",
        "time": "Thu Aug 27 16:32:57 2026 +0200"
      },
      "committer": {
        "name": "Soma Sörös",
        "email": "soma.soros@dpc.hu",
        "time": "Fri Sep 04 10:14:29 2026 +0200"
      },
      "message": "FINERACT-2455: WC - Charge table update to remove unused calculation_on_amount column\n"
    },
    {
      "commit": "47b6ec6e62d6a5addd0c435caa13f12c9c4fc99a",
      "tree": "b20ad24c20ae3b081f550b03fc09058ac85ccd10",
      "parents": [
        "92739084c05d8815df94c0e2da34e59ffd8fd7f5"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Sep 04 05:03:36 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 05:03:36 2026 +0000"
      },
      "message": "FINERACT-2684: Bump actions/setup-java from 5.7.0 to 6.0.0\n\nBumps [actions/setup-java](https://github.com/actions/setup-java) from 5.7.0 to 6.0.0.\n- [Release notes](https://github.com/actions/setup-java/releases)\n- [Commits](https://github.com/actions/setup-java/compare/b6effb05e454b25005698d916606bdc6ffcbf961...dd06d9cba3e5552c54d9f8ea23572deb30010f7c)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-java\n  dependency-version: 6.0.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "92739084c05d8815df94c0e2da34e59ffd8fd7f5",
      "tree": "c00e2dfe6604997e80b82dae6ca329872cfe7fe4",
      "parents": [
        "bd3aa7028cadea68326884ace1523848f6b8f1d6",
        "16c4066427f797a4b270c7e5b0e45ac4bb9238bb"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Thu Sep 03 17:35:13 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 17:35:13 2026 +0200"
      },
      "message": "Merge pull request #6287\n\nFINERACT-2766: Tax Component - User should be able to edit a tax component"
    },
    {
      "commit": "0009457d4a4ddff1782aaf11eb12e9aa65835313",
      "tree": "4f3c012afca7430409dcfac21da72816fef01151",
      "parents": [
        "a6818b556a16e6d266ebe83a3c947cb6401a12db"
      ],
      "author": {
        "name": "Jose Alberto Hernandez",
        "email": "alberto@art3ch.solutions",
        "time": "Thu Sep 03 08:18:14 2026 -0500"
      },
      "committer": {
        "name": "Jose Alberto Hernandez",
        "email": "alberto@art3ch.solutions",
        "time": "Thu Sep 03 09:38:25 2026 -0500"
      },
      "message": "FINERACT-2788: Optimeze execution time E2E - Breach and NearBreach\n"
    },
    {
      "commit": "bd3aa7028cadea68326884ace1523848f6b8f1d6",
      "tree": "f112b373eebe9e90724bbb606175e45b43f88316",
      "parents": [
        "76cbbb883093280cc21e3c6e87d598c63824be36",
        "cd310735bc65d55b07399116419140245352ea1c"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Thu Sep 03 16:24:32 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 16:24:32 2026 +0200"
      },
      "message": "Merge pull request #6252\n\nFINERACT-2684: Bump gradle/actions/setup-gradle from 6.2.0 to 6.3.0"
    },
    {
      "commit": "76cbbb883093280cc21e3c6e87d598c63824be36",
      "tree": "ed72445f39392be624f40de6ed6b09c1df28e972",
      "parents": [
        "4eb31faadeaa8b3a7ec900bdfcc3fdf6c84c751e",
        "a383ef2ab724f852968beca80a793f3f88b5b587"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Thu Sep 03 16:23:50 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 16:23:50 2026 +0200"
      },
      "message": "Merge pull request #6251\n\nFINERACT-2684: Bump gradle/actions/wrapper-validation from 6.2.0 to 6.3.0"
    },
    {
      "commit": "4eb31faadeaa8b3a7ec900bdfcc3fdf6c84c751e",
      "tree": "21f53a8e9e4ee55f4761f4b706f9875664d5afed",
      "parents": [
        "391922f1f75c888307c7afa2e9b6adad7e8675e4",
        "d96222c955a9b4aaa204e83e870f66e862fe7534"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Thu Sep 03 16:23:23 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 16:23:23 2026 +0200"
      },
      "message": "Merge pull request #6250\n\nFINERACT-2684: Bump zizmorcore/zizmor-action from 0.6.1 to 0.6.2"
    },
    {
      "commit": "391922f1f75c888307c7afa2e9b6adad7e8675e4",
      "tree": "98e83ed2933e7571229444d3eea089a78fc05a6b",
      "parents": [
        "eb142b90752e0fa0e3c04d666e389134aebfa781",
        "ba9d007a593a6407b826418728e4f84490413012"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Thu Sep 03 16:06:31 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 16:06:31 2026 +0200"
      },
      "message": "Merge pull request #6224\n\nFINERACT-2684: Bump actions/checkout from 6.1.0 to 7.0.1"
    },
    {
      "commit": "eb142b90752e0fa0e3c04d666e389134aebfa781",
      "tree": "d481ced5a28521fef9c838b68545c38253758e6a",
      "parents": [
        "7298a6f1e8057b2e7236b6a7440599f40c37a8e7",
        "b5deb2e791b3bd4a725262b8a635107c4cb80b20"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Thu Sep 03 16:06:08 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 16:06:08 2026 +0200"
      },
      "message": "Merge pull request #6216\n\nFINERACT-2684: Bump actions/stale from 10.4.0 to 11.0.0"
    },
    {
      "commit": "7298a6f1e8057b2e7236b6a7440599f40c37a8e7",
      "tree": "19690f52e155dee60b1a486b85645801e4c177e5",
      "parents": [
        "02636cc5dfcb65f3b7a8d6a9fe3682dcbd72ed21",
        "cf2222fde41afca3d7281225630505156eaba2d9"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Thu Sep 03 15:54:51 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 15:54:51 2026 +0200"
      },
      "message": "Merge pull request #6203\n\nFINERACT-2724: Allocate Cash - Adjust the error message when amount is not an integer"
    },
    {
      "commit": "02636cc5dfcb65f3b7a8d6a9fe3682dcbd72ed21",
      "tree": "4bacdbcfd8173cc893f74bfa1f050fd37f07f6b3",
      "parents": [
        "ced3bb57f5cb0fc4beb495f5289cf63cafe11db4",
        "2f996ec603753a00a63dc61a0b612283a6794e4a"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Thu Sep 03 15:41:56 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 15:41:56 2026 +0200"
      },
      "message": "Merge pull request #6191\n\nFINERACT-2717: Check all currency usages before allowing currency removal"
    },
    {
      "commit": "ced3bb57f5cb0fc4beb495f5289cf63cafe11db4",
      "tree": "99eb033e49be277456f9abf91d49b92651228b13",
      "parents": [
        "a6818b556a16e6d266ebe83a3c947cb6401a12db",
        "15dcba55ec87d6cc5058ed711496615f0929cccc"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Thu Sep 03 15:37:17 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 15:37:17 2026 +0200"
      },
      "message": "Merge pull request #6185\n\nFINERACT-2713: Bind untyped report parameters numerically so Postgres cascades work"
    },
    {
      "commit": "df640b3f92834aad5c7656f6e6e4c07d3fc50fcb",
      "tree": "e08e3dfce97c81ce97cafb801f04af24cd776930",
      "parents": [
        "a6818b556a16e6d266ebe83a3c947cb6401a12db"
      ],
      "author": {
        "name": "Ashhar Ahmad Khan",
        "email": "145142826+AshharAhmadKhan@users.noreply.github.com",
        "time": "Thu Sep 03 17:12:30 2026 +0530"
      },
      "committer": {
        "name": "Ashhar Ahmad Khan",
        "email": "145142826+AshharAhmadKhan@users.noreply.github.com",
        "time": "Thu Sep 03 17:53:23 2026 +0530"
      },
      "message": "FINERACT-2802: Guard charge-off paths against additional installments\n\nAdditional installments (isAdditional()\u003d\u003dtrue) are excluded from\nProgressiveLoanInterestScheduleModel.repaymentPeriods() and therefore\ncannot be looked up by raw from/due dates. Two call sites in\nAdvancedPaymentScheduleTransactionProcessor were passing additional\ninstallments\u0027 dates directly to getPeriodInterestTillDate(), which\ncalled findRepaymentPeriodByFromAndDueDate().orElseThrow() and crashed\nwith NoSuchElementException.\n\nA second, previously-unguarded lookup was found one level deeper in\nProgressiveEMICalculator#recalculateScheduleModelTillDate(): a target\ndate falling inside an additional installment\u0027s range is neither\nbefore the first disbursement nor after the maturity date, so\nfindRepaymentPeriod(targetDate).orElseThrow() also threw an unwrapped\nNoSuchElementException, even after the two call-site guards below were\nadded, since this method runs earlier in the call chain.\n\nFix:\n- handleAccelerateMaturityDate(): add !currentInstallment.isAdditional()\n  guard before the getPeriodInterestTillDate() call.\n- handleZeroInterestChargeOff(): add !installment.isAdditional() to the\n  stream filter before the getPeriodInterestTillDate() call.\n- ProgressiveEMICalculator.getPeriodInterestTillDate(): harden the bare\n  orElseThrow() to throw LoanTransactionProcessingException with a\n  descriptive message.\n- ProgressiveEMICalculator.recalculateScheduleModelTillDate(): harden\n  a second, previously-unguarded orElseThrow() the same way.\n\nReproducer: unit tests in AdvancedPaymentScheduleTransactionProcessorTest\nand ProgressiveEMICalculatorTest.\n\nRelated: FINERACT-2790.\n"
    },
    {
      "commit": "a6818b556a16e6d266ebe83a3c947cb6401a12db",
      "tree": "8e39c95878356363f43eedebff795508f27a39f1",
      "parents": [
        "7b569156eaac50d7f8dcd365b7db12249f3913e8",
        "32d774912bbc571829af8c88c37816b824f38b10"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Wed Sep 02 15:58:34 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 02 15:58:34 2026 +0200"
      },
      "message": "Merge pull request #6364\n\nFINERACT-2799: Upgrade to Gradle 9"
    },
    {
      "commit": "7b569156eaac50d7f8dcd365b7db12249f3913e8",
      "tree": "31c5fa17f7956c857f2b895dca3a1acc0a92c4a7",
      "parents": [
        "2bcba4e6180557f000bbd3f60eb9915af1ba1260",
        "789e080ead2e2527dba3f0847c284457e02967d6"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Wed Sep 02 15:58:10 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 02 15:58:10 2026 +0200"
      },
      "message": "Merge pull request #6351\n\nFINERACT-2455: WC - Trigger Inline COB Before Monetary Activity"
    },
    {
      "commit": "789e080ead2e2527dba3f0847c284457e02967d6",
      "tree": "31c5fa17f7956c857f2b895dca3a1acc0a92c4a7",
      "parents": [
        "391151da424fe07fd99c70311374a41236c027eb"
      ],
      "author": {
        "name": "Peter Kovacs",
        "email": "peter.kovacs@dpc.hu",
        "time": "Tue Sep 01 15:26:27 2026 +0200"
      },
      "committer": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Wed Sep 02 14:54:15 2026 +0200"
      },
      "message": "FINERACT-2455: WC - Trigger Inline COB Before Monetary Activity - E2E tests\n"
    },
    {
      "commit": "391151da424fe07fd99c70311374a41236c027eb",
      "tree": "549a76c2ac5462485764087ec9bd528e8ebd95c4",
      "parents": [
        "2bcba4e6180557f000bbd3f60eb9915af1ba1260"
      ],
      "author": {
        "name": "Soma Sörös",
        "email": "soma.soros@dpc.hu",
        "time": "Fri Aug 28 17:37:36 2026 +0200"
      },
      "committer": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Wed Sep 02 14:38:26 2026 +0200"
      },
      "message": "FINERACT-2455: WC - Trigger Inline COB before monetary activity\n"
    },
    {
      "commit": "2bcba4e6180557f000bbd3f60eb9915af1ba1260",
      "tree": "d93dfddc763d5743796fdfb8ea1879adddcaa69e",
      "parents": [
        "f1379a5dc4e1392b51f75eb6c5400f214f426e37",
        "4f3886aaadf6b511e6a472a03883dba2f3ed6397"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Wed Sep 02 14:02:15 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 02 14:02:15 2026 +0200"
      },
      "message": "Merge pull request #6337\n\nFINERACT-2788: Optimize E2E test execution by shortening time jumps"
    },
    {
      "commit": "f1379a5dc4e1392b51f75eb6c5400f214f426e37",
      "tree": "b7cfe67c59cda6e35eb40ec5a2900d859a13e872",
      "parents": [
        "bc7854d51ecc3ecbe33999e2bda14d23cb874e20",
        "6889c06302227a7916938ae2904e6bd9a98eb60d"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Wed Sep 02 13:44:27 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 02 13:44:27 2026 +0200"
      },
      "message": "Merge pull request #6349\n\nFINERACT-2455: WC - Loan Details API - Expose Payment date / Payment amount"
    },
    {
      "commit": "6889c06302227a7916938ae2904e6bd9a98eb60d",
      "tree": "8dbbac8cb0b2346f5671a37366d02d89d4e3bd5d",
      "parents": [
        "1f46605ff5afa9d091115a6ea15e26ce457e23eb"
      ],
      "author": {
        "name": "Soma Sörös",
        "email": "soma.soros@dpc.hu",
        "time": "Tue Sep 01 17:32:59 2026 +0200"
      },
      "committer": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Wed Sep 02 12:08:44 2026 +0200"
      },
      "message": "FINERACT-2455: WC - Loan Details API - Expose Payment date / Payment amount\n"
    },
    {
      "commit": "bc7854d51ecc3ecbe33999e2bda14d23cb874e20",
      "tree": "d75362ce7ccd98615840ee0d41f0b89d8be380c9",
      "parents": [
        "53c25055c56dafd76be5018e18eeb7644c1865ce",
        "5f9812dd91d8d444ad9efab4dbea3daa08858d4e"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Tue Sep 01 17:14:37 2026 -0700"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Tue Sep 01 17:14:37 2026 -0700"
      },
      "message": "Merge pull request #6367 from talhadevelopes/FINERACT-2795-unwrap-asciidoc-hardbreaks\n\nFINERACT-2795: Unwrap AsciiDoc paragraphs in architecture chapter\n"
    },
    {
      "commit": "5f9812dd91d8d444ad9efab4dbea3daa08858d4e",
      "tree": "d75362ce7ccd98615840ee0d41f0b89d8be380c9",
      "parents": [
        "09ece49d00836fe4b74b76cccb6a0eb2e538b98e"
      ],
      "author": {
        "name": "Talha Ahmed",
        "email": "talha.codes970@gmail.com",
        "time": "Wed Sep 02 05:13:02 2026 +0530"
      },
      "committer": {
        "name": "Talha Ahmed",
        "email": "talha.codes970@gmail.com",
        "time": "Wed Sep 02 05:13:02 2026 +0530"
      },
      "message": "FINERACT-2795: Also unwrap list items and admonitions\n"
    },
    {
      "commit": "09ece49d00836fe4b74b76cccb6a0eb2e538b98e",
      "tree": "91963ae9faad299eee03ed5c5184f424d27248f9",
      "parents": [
        "53c25055c56dafd76be5018e18eeb7644c1865ce"
      ],
      "author": {
        "name": "Talha Ahmed",
        "email": "talha.codes970@gmail.com",
        "time": "Wed Sep 02 03:19:12 2026 +0530"
      },
      "committer": {
        "name": "Talha Ahmed",
        "email": "talha.codes970@gmail.com",
        "time": "Wed Sep 02 03:19:12 2026 +0530"
      },
      "message": "FINERACT-2795: Unwrap AsciiDoc paragraphs in architecture chapter\n"
    },
    {
      "commit": "32d774912bbc571829af8c88c37816b824f38b10",
      "tree": "505bfc7f798479fa153f180620a7f941d6f3abfb",
      "parents": [
        "ef8ae79d4e39cca9a503a19e62b94efc6c7140e2"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Tue Sep 01 16:01:06 2026 +0200"
      },
      "committer": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Tue Sep 01 18:49:08 2026 +0200"
      },
      "message": "FINERACT-2799: Upgrade to Gradle 9\n"
    },
    {
      "commit": "1f46605ff5afa9d091115a6ea15e26ce457e23eb",
      "tree": "ee5dbabf8a9c87deeedf807eff2da40a6aef7e07",
      "parents": [
        "d2b38e9b5f7e1a6cdea9f4dcc754942fd0c153a9"
      ],
      "author": {
        "name": "Peter Kovacs",
        "email": "peter.kovacs@dpc.hu",
        "time": "Tue Sep 01 10:42:45 2026 +0200"
      },
      "committer": {
        "name": "Soma Sörös",
        "email": "soma.soros@dpc.hu",
        "time": "Tue Sep 01 16:23:21 2026 +0200"
      },
      "message": "FINERACT-2455: WC - Loan Details API - Expose Payment date / Payment amount - E2E tests\n"
    },
    {
      "commit": "d2b38e9b5f7e1a6cdea9f4dcc754942fd0c153a9",
      "tree": "d46186a976485ed1111a0c529d2f077644f18806",
      "parents": [
        "53c25055c56dafd76be5018e18eeb7644c1865ce"
      ],
      "author": {
        "name": "Soma Sörös",
        "email": "soma.soros@dpc.hu",
        "time": "Fri Aug 28 16:50:22 2026 +0200"
      },
      "committer": {
        "name": "Soma Sörös",
        "email": "soma.soros@dpc.hu",
        "time": "Tue Sep 01 16:23:20 2026 +0200"
      },
      "message": "FINERACT-2455: WC - Loan Details API - Expose Payment date / Payment amount\n"
    },
    {
      "commit": "53c25055c56dafd76be5018e18eeb7644c1865ce",
      "tree": "d21d1dbf3d67a10a779273dd51efaacb2fc62aa5",
      "parents": [
        "868ea206409e8421baf47b7a0414e3fccb0dcc96",
        "08b54ec9e6003176c5e803b94f9d80272a955662"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Tue Sep 01 12:03:56 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 12:03:56 2026 +0200"
      },
      "message": "Merge pull request #6327\n\nFINERACT-2455: enforce NOT NULL on WC submitted_on_date columns"
    },
    {
      "commit": "868ea206409e8421baf47b7a0414e3fccb0dcc96",
      "tree": "fe5f6755dcbc6bc9c6077d3e2c17f522aecad937",
      "parents": [
        "ef8ae79d4e39cca9a503a19e62b94efc6c7140e2",
        "d2802feb23b57905eb7e7e15fb6d53b2c6c791a2"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Tue Sep 01 10:51:56 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 10:51:56 2026 +0200"
      },
      "message": "Merge pull request #6360\n\nFINERACT-2792: Add integration test coverage for /v1/email CRUD lifecycle"
    },
    {
      "commit": "08b54ec9e6003176c5e803b94f9d80272a955662",
      "tree": "1550b7218809bd54c99c21a7989c34ab505a6b5c",
      "parents": [
        "ef8ae79d4e39cca9a503a19e62b94efc6c7140e2"
      ],
      "author": {
        "name": "mariiaKraievska",
        "email": "riaskay3@gmail.com",
        "time": "Wed Aug 26 16:35:17 2026 +0300"
      },
      "committer": {
        "name": "mariiaKraievska",
        "email": "riaskay3@gmail.com",
        "time": "Tue Sep 01 11:17:44 2026 +0300"
      },
      "message": "FINERACT-2455: Enforce NOT NULL on WC submitted_on_date columns\n"
    },
    {
      "commit": "d2802feb23b57905eb7e7e15fb6d53b2c6c791a2",
      "tree": "8853248e52a9ab66b0794f05051fd4499318fc4d",
      "parents": [
        "0984841c1229e99e82d540f6b501ec73418d648d"
      ],
      "author": {
        "name": "Ashhar Ahmad Khan",
        "email": "145142826+AshharAhmadKhan@users.noreply.github.com",
        "time": "Sat Aug 29 06:51:19 2026 +0530"
      },
      "committer": {
        "name": "Ashhar Ahmad Khan",
        "email": "145142826+AshharAhmadKhan@users.noreply.github.com",
        "time": "Tue Sep 01 01:49:36 2026 +0530"
      },
      "message": "FINERACT-2792: Add integration test coverage for /v1/email CRUD lifecycle\n"
    },
    {
      "commit": "ef8ae79d4e39cca9a503a19e62b94efc6c7140e2",
      "tree": "b1a47b193dd16b8ab0ac54523c0f9ea99256c6b4",
      "parents": [
        "0984841c1229e99e82d540f6b501ec73418d648d",
        "9fa843eaf0e575f25a71782c24b5e566fc70adc0"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Mon Aug 31 18:00:34 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 18:00:34 2026 +0200"
      },
      "message": "Merge pull request #6334\n\nFINERACT-2684: Remove incorrect E2E tag"
    },
    {
      "commit": "9fa843eaf0e575f25a71782c24b5e566fc70adc0",
      "tree": "b1a47b193dd16b8ab0ac54523c0f9ea99256c6b4",
      "parents": [
        "0984841c1229e99e82d540f6b501ec73418d648d"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Wed Aug 26 13:41:48 2026 +0200"
      },
      "committer": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Mon Aug 31 14:16:43 2026 +0200"
      },
      "message": "FINERACT-2684: Remove incorrect E2E tag\n"
    },
    {
      "commit": "0984841c1229e99e82d540f6b501ec73418d648d",
      "tree": "ef5feb3518bf560fb708fe3558161ed08ecf683e",
      "parents": [
        "1741c84fc49d761fea73b648b4b205df5d583034",
        "b77253d3582632c3864827cbec2dbc413e4840fc"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Mon Aug 31 14:06:19 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 14:06:19 2026 +0200"
      },
      "message": "Merge pull request #6262\n\nFINERACT-2749: ft v2 paginated endpoints to resolve ambiguous OpenAPI response typing"
    },
    {
      "commit": "1741c84fc49d761fea73b648b4b205df5d583034",
      "tree": "25251bfa8053a82a6f95ee68c254e4fc20f2eab9",
      "parents": [
        "351f2cb6500aa91c6ba7ec5df5bfac6557be2d0d",
        "d7b8e13af14ed1ad0ab80523ec07470b5bc331e5"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Mon Aug 31 13:57:37 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 13:57:37 2026 +0200"
      },
      "message": "Merge pull request #6324\n\nFINERACT-2781: Feign integration test guardrails"
    },
    {
      "commit": "c7c00ff869d49d05f750b8ebec7d1b23a080b106",
      "tree": "2cff8bb0554a74816e731c4d989d278f99db537c",
      "parents": [
        "6d57c6d74ae83e226e6f9ce3f88d6659da3cc1dd"
      ],
      "author": {
        "name": "mark.vituska",
        "email": "vitu966@gmail.com",
        "time": "Mon Aug 31 12:00:23 2026 +0200"
      },
      "committer": {
        "name": "mark.vituska",
        "email": "vitu966@gmail.com",
        "time": "Mon Aug 31 13:08:26 2026 +0200"
      },
      "message": "FINERACT-2788: Optimize E2E test execution of WorkingCapitalLoanChargeAfterMaturity.feature\n"
    },
    {
      "commit": "351f2cb6500aa91c6ba7ec5df5bfac6557be2d0d",
      "tree": "fe3573c78b504e5b7917b9f3d73b406f2dea0483",
      "parents": [
        "6d57c6d74ae83e226e6f9ce3f88d6659da3cc1dd",
        "badb657f6f688610ebdcf954cc73169215845f67"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Mon Aug 31 12:21:19 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 12:21:19 2026 +0200"
      },
      "message": "Merge pull request #6325\n\nFINERACT-2782: Add UpdateEmailCommandHandler for /v1/email UPDATE endpoint"
    },
    {
      "commit": "6d57c6d74ae83e226e6f9ce3f88d6659da3cc1dd",
      "tree": "f4c0566204074b5281cdc4670a3a003b80c4b904",
      "parents": [
        "3c1e69add5eeaef9b15b18d4a99bf09fe1beee7c",
        "11f13acec9871d49a58070d1284a7ebc82d73e61"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Mon Aug 31 12:15:51 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 12:15:51 2026 +0200"
      },
      "message": "Merge pull request #6339\n\nFINERACT-2455: WC - Amortization schedule under-bills when a large overpayment leaves discount fee unearned"
    },
    {
      "commit": "3c1e69add5eeaef9b15b18d4a99bf09fe1beee7c",
      "tree": "57af29f8c3e1744af1ad0e8cb9ac6ca326ca6b92",
      "parents": [
        "15284b8fc9ab26d431a00656010f3994d5e47e54",
        "28b8cebbf88f5f77d11152f9d1bd0f9a3d4abdd6"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Mon Aug 31 12:13:22 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 12:13:22 2026 +0200"
      },
      "message": "Merge pull request #6281\n\nFINERACT-2455: Add final discount fee amortization on charge-off and reversal"
    },
    {
      "commit": "11f13acec9871d49a58070d1284a7ebc82d73e61",
      "tree": "3c6f25fbb531ef606da085581bf84387500382fa",
      "parents": [
        "92b6dbe16c511f2265e61c8ea3ed34f906cfc85a"
      ],
      "author": {
        "name": "Rustam Zeinalov",
        "email": "truezeynalov@gmail.com",
        "time": "Thu Aug 27 18:32:02 2026 +0200"
      },
      "committer": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Mon Aug 31 00:53:21 2026 +0200"
      },
      "message": "FINERACT-2455: added e2e tests for validating WC - Amortization schedule under-bills when a large overpayment leaves discount fee unearned\n"
    },
    {
      "commit": "92b6dbe16c511f2265e61c8ea3ed34f906cfc85a",
      "tree": "f56f7dee8d95ec38969de17b5bea8c1d9e620707",
      "parents": [
        "15284b8fc9ab26d431a00656010f3994d5e47e54"
      ],
      "author": {
        "name": "mariiaKraievska",
        "email": "riaskay3@gmail.com",
        "time": "Thu Aug 27 02:15:07 2026 +0300"
      },
      "committer": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Mon Aug 31 00:53:19 2026 +0200"
      },
      "message": "FINERACT-2455: WC - Amortization schedule under-bills when a large overpayment leaves discount fee unearned\n"
    },
    {
      "commit": "28b8cebbf88f5f77d11152f9d1bd0f9a3d4abdd6",
      "tree": "57af29f8c3e1744af1ad0e8cb9ac6ca326ca6b92",
      "parents": [
        "abe80e60e4be1c6380ccc5f7db6fcca756d16db8"
      ],
      "author": {
        "name": "MarianaDmytrivBinariks",
        "email": "mdmytriv@binariks.com",
        "time": "Fri Aug 21 17:35:57 2026 +0300"
      },
      "committer": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Mon Aug 31 00:49:31 2026 +0200"
      },
      "message": "FINERACT-2455: e2e test scenarios for discount fee amortization on charge-off\n"
    },
    {
      "commit": "abe80e60e4be1c6380ccc5f7db6fcca756d16db8",
      "tree": "9eedfb5035486ded2479e369c836cf133f5272bf",
      "parents": [
        "15284b8fc9ab26d431a00656010f3994d5e47e54"
      ],
      "author": {
        "name": "mark.vituska",
        "email": "vitu966@gmail.com",
        "time": "Tue Aug 18 13:40:29 2026 +0200"
      },
      "committer": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Sun Aug 30 23:30:34 2026 +0200"
      },
      "message": "FINERACT-2455: Add final discount fee amortization on charge-off and reversal\n"
    },
    {
      "commit": "15284b8fc9ab26d431a00656010f3994d5e47e54",
      "tree": "9eb0f00c0a43d96a6b4a2faa3532d28c61f14c10",
      "parents": [
        "d4ded370d1df760bfb83323aaa6d50da277a233e",
        "3d060c9e42322ffb4e99a7e3c7d2b282fbb97130"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Sun Aug 30 23:15:58 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 23:15:58 2026 +0200"
      },
      "message": "Merge pull request #6300\n\nFINERACT-2455: Add WC business events for transactions"
    },
    {
      "commit": "3d060c9e42322ffb4e99a7e3c7d2b282fbb97130",
      "tree": "9eb0f00c0a43d96a6b4a2faa3532d28c61f14c10",
      "parents": [
        "c5669f9116122f1b2e37c4748c940892e44eb78e"
      ],
      "author": {
        "name": "MarianaDmytrivBinariks",
        "email": "mdmytriv@binariks.com",
        "time": "Wed Aug 26 20:20:30 2026 +0300"
      },
      "committer": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Sun Aug 30 22:13:07 2026 +0200"
      },
      "message": "FINERACT-2455: additional steps with checks for WC loan trn biz events\n"
    },
    {
      "commit": "c5669f9116122f1b2e37c4748c940892e44eb78e",
      "tree": "15a052ab6b1eef120a123e51f5dcba5fa299d669",
      "parents": [
        "d4ded370d1df760bfb83323aaa6d50da277a233e"
      ],
      "author": {
        "name": "Oleksii Novikov",
        "email": "alexey.novikov@onix-systems.com",
        "time": "Wed Aug 19 20:15:55 2026 +0300"
      },
      "committer": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Sun Aug 30 22:05:47 2026 +0200"
      },
      "message": "FINERACT-2455: Add WC business events for transactions\n"
    },
    {
      "commit": "d4ded370d1df760bfb83323aaa6d50da277a233e",
      "tree": "51a4eae9b1f5f7b4b18c878b5756244a3db5e696",
      "parents": [
        "9493c8b71f439db26dfa0006547ab1e0992ced4b",
        "2bc369a5a6c321a49a8f15aa2aa096b0ef0d47c5"
      ],
      "author": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Sun Aug 30 22:03:10 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 22:03:10 2026 +0200"
      },
      "message": "Merge pull request #6303\n\nFINERACT-2455: working capital loan object parity refactor"
    },
    {
      "commit": "2bc369a5a6c321a49a8f15aa2aa096b0ef0d47c5",
      "tree": "51a4eae9b1f5f7b4b18c878b5756244a3db5e696",
      "parents": [
        "9493c8b71f439db26dfa0006547ab1e0992ced4b"
      ],
      "author": {
        "name": "Attila Budai",
        "email": "budai.attila.istvan@gmail.com",
        "time": "Fri Aug 21 09:37:24 2026 +0200"
      },
      "committer": {
        "name": "Adam Saghy",
        "email": "adamsaghy@gmail.com",
        "time": "Sun Aug 30 20:07:46 2026 +0200"
      },
      "message": "FINERACT-2455: working capital loan object parity refactor\n\nCo-authored-by: Adam Saghy \u003cadamsaghy@gmail.com\u003e\n"
    },
    {
      "commit": "1ceb096f39350a7c6df77dea3ad620e439ea2b58",
      "tree": "61ed13f096ef0496ff9f7d01279c6230e5486b53",
      "parents": [
        "e93393c5bcb6170d14d678e1c902a64e9a38ce29"
      ],
      "author": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Sat Aug 29 13:13:11 2026 +0530"
      },
      "committer": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Sat Aug 29 15:06:19 2026 +0530"
      },
      "message": "FINERACT-2793: retire the RestAssured loan test base class\n\nBaseLoanIntegrationTest has no subclasses left. It carried its own RestAssured\nrequest and response specifications, a LoanTransactionHelper and the loan\ndomain constants, all of which the Feign loan tests now get from\nFeignLoanTestBase.\n\nDeleting it orphans two helpers that nothing else called, ExternalEventHelper\nand InlineLoanCOBHelper; both already have Feign counterparts in\nFeignExternalEventHelper and FeignCobHelper, so they go with it.\n\nSigned-off-by: DeathGun44 \u003ckrishnamewara841@gmail.com\u003e\n"
    },
    {
      "commit": "e93393c5bcb6170d14d678e1c902a64e9a38ce29",
      "tree": "2ea597a79cf5e8a4945e8e3153fa1ee890ad6568",
      "parents": [
        "5b55bf9fbc4d6e320e76cb58d3fd4914532438e5"
      ],
      "author": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Sat Aug 29 13:13:05 2026 +0530"
      },
      "committer": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Sat Aug 29 15:06:18 2026 +0530"
      },
      "message": "FINERACT-2793: migrate the group summary report test to feign\n\nGroupSummaryReportsIntegrationTest was the last subclass of the RestAssured\nBaseLoanIntegrationTest, and it used nothing from it: the test builds its own\nrequest specification and only creates a group and runs three reports.\n\nWhat the inheritance did carry was two extensions, and neither has anything to\ndo for this test. LoanTestLifecycleExtension closes every open loan in the\ndatabase before and after each test, and the test creates no loans.\nExternalEventsExtension snapshots the external event configuration and restores\nwhatever the test changed, and the test changes none of it. Extending\nFeignIntegrationTest instead drops both.\n\nThe reports are read with genericResultSet\u003dfalse, the shape the test asserted\non, so FeignReportHelper gains the row-array read next to the generic\nresultset one it already had.\n\nSigned-off-by: DeathGun44 \u003ckrishnamewara841@gmail.com\u003e\n"
    },
    {
      "commit": "5b55bf9fbc4d6e320e76cb58d3fd4914532438e5",
      "tree": "a5bc09d0cac061d8ec18c59774dc8d2925a79700",
      "parents": [
        "7a5bec0aff8428057d885d61ca4c25eb48058fe6"
      ],
      "author": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Wed Aug 26 12:56:28 2026 +0530"
      },
      "committer": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Sat Aug 29 15:06:18 2026 +0530"
      },
      "message": "FINERACT-2793: migrate the tranche and variable installment tests to feign\n\nLoanDisbursementDetailsIntegrationTest (16 tests) and\nVariableInstallmentsIntegrationTest (13 tests) move onto the typed client.\n\nThe disbursement detail test read its tranches out of a raw JSON array and\nformatted the dates back with SimpleDateFormat; it now reads the typed\nGetLoansLoanIdDisbursementDetails. Its three error paths assert the exact\nstatus and globalisation code instead of a ResponseSpecification.\n\nThe variable installment test built every term variation as a nested HashMap\nacross two near-identical helper classes. Both are now expressed through\nVariableInstallmentsRequestBuilders, which keeps the flat and declining\nbalance variants apart.\n\nSigned-off-by: DeathGun44 \u003ckrishnamewara841@gmail.com\u003e\n"
    },
    {
      "commit": "7a5bec0aff8428057d885d61ca4c25eb48058fe6",
      "tree": "2c9d3103d8ece1ab600a078ad7abfcf80d6dfdea",
      "parents": [
        "172afd7c41886bd372e7c3934deb28d9b9109bad"
      ],
      "author": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Wed Aug 26 12:56:20 2026 +0530"
      },
      "committer": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Sat Aug 29 15:06:17 2026 +0530"
      },
      "message": "FINERACT-2793: add a feign helper for variable installment loans\n\nThe legacy VariableIntallmentsTransactionHelper is REST-assured and builds its\nterm variations out of raw maps. Its Feign counterpart drives the same three\ncommands through the loan rescheduling API, and the request builders make the\ndistinction the two product types need explicit: a declining balance product\ndrives the schedule by installmentAmount, a flat one by principal.\n\nSigned-off-by: DeathGun44 \u003ckrishnamewara841@gmail.com\u003e\n"
    },
    {
      "commit": "172afd7c41886bd372e7c3934deb28d9b9109bad",
      "tree": "ee7e12c4de95380ad8d2dbe95c93d4fa066f7703",
      "parents": [
        "6af2cec7d90582f8d9524f2985dd43c2d6525996"
      ],
      "author": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Wed Aug 26 12:56:13 2026 +0530"
      },
      "committer": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Sat Aug 29 15:06:17 2026 +0530"
      },
      "message": "FINERACT-2793: complete the loan request models the tests drive\n\nSeveral loan endpoints could not be driven from the generated client, so the\ntests that exercise them had to hand-build JSON.\n\nPostLoansLoanIdScheduleRequest was an empty class, so the variable installment\ncommands (calculateLoanSchedule, addVariations) had no body to send, and the\nresponse carried no periods to read back. Add the exceptions the command\naccepts and the schedule it answers with.\n\nPUT /loans/{loanId}/disbursements/{disbursementId} declared no request body at\nall, so the generated client took a bare String. Add the request the tranche\nupdate accepts.\n\nPostLoanProductsRequest was missing six fields the product create endpoint\naccepts and validates: minimumGap and maximumGap, which a variable installment\nproduct needs; syncExpectedWithDisbursementDate; and the three guarantee\npercentages a hold-funds product needs. The loan product builder has a JSON\npath and a typed path, and only the JSON one could send them, so a product\nbuilt the typed way came back without its configuration.\n\nGetLoansLoanIdResponse.disbursementDetails was a Set even though the endpoint\nanswers an ordered array whose order carries meaning - tranches come back in\nexpected disbursement date order and callers read them by position. List is\nwhat the neighbouring transactions and charges fields already use.\n\nSigned-off-by: DeathGun44 \u003ckrishnamewara841@gmail.com\u003e\n"
    },
    {
      "commit": "6af2cec7d90582f8d9524f2985dd43c2d6525996",
      "tree": "1c2dab9000d30348f0fb7040be26bad3ba4ed010",
      "parents": [
        "9f6e3c8229712d9cc49bae51e4f4f6867ba875df"
      ],
      "author": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Tue Aug 25 14:58:29 2026 +0530"
      },
      "committer": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Sat Aug 29 15:06:16 2026 +0530"
      },
      "message": "FINERACT-2793: migrate the loan guarantor tests to feign\n\nA group savings account can back a guarantee, but PostSavingsAccountsRequest\nonly carried clientId even though the savings validator accepts groupId, so\nadd it. Recovering guarantees was only reachable by loan external id; add the\nloan id form the tests need.\n\nThe approval failures here return several validation codes at once, which the\nsingle-code helper on the base class cannot express, so the test reads every\nglobalisation code out of the errors array.\n\nSigned-off-by: DeathGun44 \u003ckrishnamewara841@gmail.com\u003e\n"
    },
    {
      "commit": "9f6e3c8229712d9cc49bae51e4f4f6867ba875df",
      "tree": "e9f2db638ff77d2e4bf1e84f020ac05387baa3e4",
      "parents": [
        "7d5c48722b65b0ba118a79ba8535c1dad219b358"
      ],
      "author": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Tue Aug 25 14:44:28 2026 +0530"
      },
      "committer": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Sat Aug 29 15:06:16 2026 +0530"
      },
      "message": "FINERACT-2793: add a feign helper for loan guarantors\n\nSigned-off-by: DeathGun44 \u003ckrishnamewara841@gmail.com\u003e\n"
    },
    {
      "commit": "7d5c48722b65b0ba118a79ba8535c1dad219b358",
      "tree": "c582138e57ae35d7a1f381955d960a404d098f19",
      "parents": [
        "50d54496f9ac23adf7af7a66929571c6dd27d010"
      ],
      "author": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Tue Aug 25 14:44:28 2026 +0530"
      },
      "committer": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Sat Aug 29 15:06:15 2026 +0530"
      },
      "message": "FINERACT-2793: migrate the group meeting driven loan schedule tests to feign\n\nCovers skipping a repayment falling on the first day of a month, the minimum\ndays between disbursal and the first repayment, and the JLG loan schedule\nfollowing a group meeting change.\n\nSigned-off-by: DeathGun44 \u003ckrishnamewara841@gmail.com\u003e\n"
    },
    {
      "commit": "50d54496f9ac23adf7af7a66929571c6dd27d010",
      "tree": "a624a5b2e3856ec18187ffc83352a212fab07c7d",
      "parents": [
        "f4ebdf89a73b9b8c5986ef408c99fcce328bc774"
      ],
      "author": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Tue Aug 25 14:44:28 2026 +0530"
      },
      "committer": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Sat Aug 29 15:06:15 2026 +0530"
      },
      "message": "FINERACT-2793: migrate the disbursement and amortization loan tests to feign\n\nCovers the disbursal date validation, the undo of the last tranche of a\nmulti-disbursement loan, the fixed principal percentage amortization\nschedules, the waive interest and write-off flow, and the repayment with\npost dated checks.\n\nSigned-off-by: DeathGun44 \u003ckrishnamewara841@gmail.com\u003e\n"
    },
    {
      "commit": "f4ebdf89a73b9b8c5986ef408c99fcce328bc774",
      "tree": "339b739b15a57a032947ed8ade34cfcd04ee4136",
      "parents": [
        "04823533a1678e98fc6d9982564d83a25c8d906a"
      ],
      "author": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Tue Aug 25 14:44:13 2026 +0530"
      },
      "committer": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Sat Aug 29 15:06:14 2026 +0530"
      },
      "message": "FINERACT-2793: migrate the charge-off accounting and transaction summary tests to feign\n\nCovers the charge-off accounting scenarios, the paid-off loan charge refund,\nthe last repayment details, the transaction summary totals and the blocked\ntransactions on closed or overpaid loans.\n\nSigned-off-by: DeathGun44 \u003ckrishnamewara841@gmail.com\u003e\n"
    },
    {
      "commit": "04823533a1678e98fc6d9982564d83a25c8d906a",
      "tree": "bf72fe3f507bdf35b57a1427e7f3142cc206dbde",
      "parents": [
        "5688058983289bda306eaeb8b77dd2ac696c90a4"
      ],
      "author": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Tue Aug 25 14:44:00 2026 +0530"
      },
      "committer": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Sat Aug 29 15:06:14 2026 +0530"
      },
      "message": "FINERACT-2793: model the post dated checks a disbursement carries\n\nA loan disbursement can be backed by post dated checks, but the disburse\nrequest model had no field for them, so a test could only send them as\nhand-written JSON. The template that lists the installments those checks\nattach to, and the tranche amount the undo-last-disbursal response reports,\nwere missing for the same reason.\n\nGET /loans/{loanId}/postdatedchecks/{installmentId} returns a single check\nwhile declaring an array of them, so no generated client could deserialise\nthe reply. Correct the declared response and give the loan helper a typed\nread of one check.\n\nLoanReschedulingWithinCenterTest took its repayment strategy constant from\nLoanApplicationTestBuilder. The identical constant on LoanProductTestBuilder\nlets the migrated test drop its last import of the JSON builder.\n\nSigned-off-by: DeathGun44 \u003ckrishnamewara841@gmail.com\u003e\n"
    },
    {
      "commit": "5688058983289bda306eaeb8b77dd2ac696c90a4",
      "tree": "b88b71c95c32bd663197b12cbb4b02ba77f486c4",
      "parents": [
        "b77b3a51f9619fd2ed9a0b5f63771e16c1c55832"
      ],
      "author": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Tue Aug 25 03:58:59 2026 +0530"
      },
      "committer": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Sat Aug 29 15:06:13 2026 +0530"
      },
      "message": "FINERACT-2793: migrate the loan charge refund test to feign\n\nThe last of the classes that extended FeignLoanTestBase while keeping a REST\nAssured stack, and the one that leaned on it hardest: two LoanTransactionHelpers\n(one wired to a 200 response spec, one to a bare spec for the error cases), an\nAccountHelper, a JournalEntryHelper, and twelve reads that pulled single fields\nout of the loan JSON by name.\n\nThose reads are the bulk of the change. getLoanDetail(spec, spec, id, \"summary\")\nfollowed by get(\"totalOutstanding\") becomes\ngetLoanDetails(id).getSummary().getTotalOutstanding(), and the three status\nconstants the test carried (\"active\", \"overpaid\", \"closedObligationsMet\") were\nonly ever keys into that map, so they give way to LoanStatus and the base\u0027s\nverifyLoanStatus.\n\nSetting the product\u0027s penalty income account was a hand-built PUT through\nUtils.performServerPut; PutLoanProductsProductIdRequest already models\nincomeFromPenaltyAccountId, so it goes through updateLoanProduct instead.\n\nloanChargePaidByList is a Set on the generated model and the server declares no\norder for it, so the two-entry assertion now matches on sign rather than on\nposition. The original indexed get(0)/get(1) but then branched on the sign of\neach, so it was already order-tolerant; this makes that explicit.\n\nThe three error cases used the second helper and asserted on a parsed error list.\nThey now assert the globalisation code off CallFailedRuntimeException.\n\ninstallmentNumber was passed to every loanChargeRefund call and was null every\ntime, so the typed request omitting it sends the same body.\n\nSigned-off-by: DeathGun44 \u003ckrishnamewara841@gmail.com\u003e\n"
    },
    {
      "commit": "b77b3a51f9619fd2ed9a0b5f63771e16c1c55832",
      "tree": "9385537078c6aef7fd20e5bc14603a59a9f1c8b7",
      "parents": [
        "af7a1bbbb3d2394b1d0d4ba43fc4ead2b81febb1"
      ],
      "author": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Tue Aug 25 03:24:35 2026 +0530"
      },
      "committer": {
        "name": "DeathGun44",
        "email": "krishnamewara841@gmail.com",
        "time": "Sat Aug 29 15:06:13 2026 +0530"
      },
      "message": "FINERACT-2793: migrate the down-payment schedule and backdated disbursement tests to feign\n\nSame shape as the previous commit: both classes already extended\nFeignLoanTestBase but kept a REST Assured stack for a legacy\nLoanTransactionHelper. Disbursements, repayments, loan reads, business\ndates and client creation all move to the base\u0027s typed equivalents, and\nthe loan product and application are built with buildRequest() and\nLoanRequestBuilders.\n\nLoanAccountRepaymentCalculationTest also carried a JournalEntryHelper\nfield that nothing referenced; it goes with the stack.\n\nThe disbursement-before-submission case used a second LoanTransactionHelper\nwired to a 403 response spec and asserted on a parsed error list. It now\nasserts the status the response spec pinned, the globalisation code and the\nuser message off CallFailedRuntimeException, so the expected 403 is still\nchecked rather than being reduced to \"something threw\".\n\nSigned-off-by: DeathGun44 \u003ckrishnamewara841@gmail.com\u003e\n"
    }
  ],
  "next": "af7a1bbbb3d2394b1d0d4ba43fc4ead2b81febb1"
}
