Important
New Contributors
- @Yashgoswami-ds made their first contribution in #6142
- @dr-fuch made their first contribution in #6087
- @Samer-Melhem-FOO made their first contribution in #6165
- @itheakhilesh3301 made their first contribution in #6061
- @aditya-786 made their first contribution in #6192
- @SaaiAravindhRaja made their first contribution in #6186
- @aya-abdallah-FOO made their first contribution in #6207
- @Lea-Fan made their first contribution in #6208
- @DhroovSankla made their first contribution in #6240
- @Bhavya-Sonigra made their first contribution in #6267
- @mtalhasid made their first contribution in #6367
- @Eyad-Sharkawy made their first contribution in #6365
- @kadyrbekovhamit-cyber made their first contribution in #6409
- @TianHengZhuang made their first contribution in #6391
- @jaysharmagithub made their first contribution in #6310
- @oscerd made their first contribution in #6498
- @vaibhav8a made their first contribution in #6335
- @mariowise made their first contribution in #6352
- @jenny1371 made their first contribution in #6587
- @mkb2001 made their first contribution in #6570
- @naman2627 made their first contribution in #6547
- @ImalkaPerera made their first contribution in #6645
- @cmandib made their first contribution in #6656
- @abhinavjha0239 made their first contribution in #6665
- @jdailey made their first contribution in #6674
What's Changed
- FINERACT-2684: Verify that the PR stories exist and are open by @adamsaghy in #6129
- FINERACT-2684: Upgrade dependencies by @adamsaghy in #6127
- FINERACT-2684: Update renovate and dependabot configuration by @adamsaghy in #6131
- FINERACT-2455: WC - Transaction Type - GoodWill Credit - Payment Allocation handling by @mariiaKraievska in #6098
- FINERACT-2678: Release Apache Fineract 1.15.0 by @meonkeys in #6132
- FINERACT-2686: update docs and build for next release by @meonkeys in #6123
- FINERACT-2593: Fix NullPointerException in DelinquencyReadPlatformServiceImpl when loan product is null by @AshharAhmadKhan in #6134
- FINERACT-2284: Enforce Charge Rounding using Money rounding rules by @Dhanno98 in #5940
- FINERACT-2455: Working Capital Goodwill Credit backdated, undo and close by @oleksii-novikov-onix in #6103
- FINERACT-2455: Add charge adjustment unified undo functionality by @Cocoa-Puffs in #6105
- FINERACT-2684: Manual workflow execution by @adamsaghy in #6118
- FINERACT-2455: WC - Accounting Entries - GoodWill Credit Transaction - closed / overpaid by @mariiaKraievska in #6119
- FINERACT-2689: Fix NPE in deposit withholding tax when net interest posted is zero by @oluexpert99 in #6126
- FINERACT-2684: Bump actions/setup-java from 5.4.0 to 5.5.0 by @dependabot[bot] in #6130
- FINERACT-2455: WC - Inherit partial reschedule params from prior actions and cap delinquency minimum payment at remaining balance by @oleksii-novikov-onix in #6122
- FINERACT-2455: Fix loan transaction command processing result, add testing for overpaid loan repayment accounting - E2E tests by @peter-kovacs-dpc in #6135
- FINERACT-2687: Remove DISCLAIMER references by @Yashgoswami-ds in #6142
- FINERACT-2693: improve threat model by @meonkeys in #6148
- FINERACT-2649: Migrate Tier 3 loan integration tests to Feign client by @DeathGun44 in #6084
- FINERACT-2455: working capital charges after maturity by @budaidev in #6111
- FINERACT-2455: WC charge adjustment on closed/overpaid loans by @budaidev in #6125
- FINERACT-2455: Working Capital Loan Transaction - Payout Refund by @somasorosdpc in #6077
- FINERACT-2455: Add breach past due calculation to wc loans by @Cocoa-Puffs in #6083
- FINERACT-2455: Working Capital - Delinquency Reset by @somasorosdpc in #6104
- FINERACT-2684: AbstractLockingService - update queries to use ANY() instead of IN for loan_ids clause by @mariiaKraievska in #6154
- FINERACT-2455: WC - Transaction Type - Accrual and accrual handling by @mariiaKraievska in #6117
- FINERACT-2455: Working Capital Delinquency Disable and Enable by @alberto-art3ch in #6072
- FINERACT-2455: Working Capital Loan - Delinquency Reset - Start New Period by @somasorosdpc in #6138
- FINERACT-2421: Github Actions CI - Clean up ALL artifacts by @adamsaghy in #5930
- FINERACT-2455: Working Capital - Delinquency and Breach handling - Uniform behaviour by @adamsaghy in #6161
- FINERACT-2665: Fix NPE modifying a loan application when schedule fields are omitted by @oluexpert99 in #6059
- FINERACT-535: Allow the same name of teller if its from different bra… by @dr-fuch in #6087
- FINERACT-2684: Bump actions/stale from 10.3.0 to 10.4.0 by @dependabot[bot] in #6137
- FINERACT-2455: working capital breach start date type by @budaidev in #6147
- FINERACT-2684: Bump actions/setup-node from 6.4.0 to 7.0.0 by @dependabot[bot] in #6150
- FINERACT-2684: Enhance Search API by @adamsaghy in #6153
- FINERACT-2684: Bump actions/setup-java from 5.5.0 to 5.6.0 by @dependabot[bot] in #6156
- FINERACT-2684: Bump zizmorcore/zizmor-action from 0.5.7 to 0.6.0 by @dependabot[bot] in #6160
- FINERACT-2013: Fix case-sensitive limit offset removal in count query by @Yashgoswami-ds in #6146
- FINERACT-2691: Bind group summary report parameters as numeric by @AnvayKharb in #6139
- FINERACT-2625: Dependency cleanup — remove hardcoded versions and unu… by @SamaSVM in #5932
- FINERACT-2700: executable .java source files by @meonkeys in #6164
- FINERACT-2695: enable dismiss stale reviews for PRs by @meonkeys in #6155
- FINERACT-2696: scrap unfinished Antora docs migration by @meonkeys in #6159
- FINERACT-2702: Make client search case-insensitive by @Samer-Melhem-FOO in #6165
- FINERACT-2684: Fix duplicate installment periods after advance repayment and adjust schedule by @mariiaKraievska in #6152
- FINERACT-2706: Remove stale auto-generated TODO stub comments by @AshharAhmadKhan in #6178
- FINERACT-2707: Email campaign JSON parsing failures are silently swallowed instead of logged by @AshharAhmadKhan in #6179
- FINERACT-2693: evolve proper reporting guidance by @meonkeys in #6173
- FINERACT-2455: working capital eir validation by @budaidev in #6163
- FINERACT-2455: Add backdated delinquency pause support by @Cocoa-Puffs in #6157
- FINERACT-2697: Intermediate to Final Owner Accelerated Buydown Fee / Capitalized Income Amortization with Owner by @mariiaKraievska in #6166
- FINERACT-2698: (Progressive) Loan originators - Updating Originators during disbursement by @mariiaKraievska in #6169
- FINERACT-2455: Working Capital CBR reprocessing by @budaidev in #6081
- FINERACT-2722: Remove orphaned CashierWritePlatformService and ModifyCashierCommandHandler by @AshharAhmadKhan in #6198
- FINERACT-1556: Resolve officeId placeholder for current user by @itheakhilesh3301 in #6061
- FINERACT-2684: Bump actions/checkout from 7.0.0 to 7.0.1 by @dependabot[bot] in #6168
- FINERACT-2711: Fix shared-account template named-range bounds built by string concat by @oluexpert99 in #6183
- FINERACT-2712: Fix duplicate defined name 500 in loan and savings opening templates by @oluexpert99 in #6184
- FINERACT-754: Preserve transfer links during overdraft recalculation by @aditya-786 in #6192
- FINERACT-2715: Mark Activation Date as required in Client Entity import template by @Samer-Melhem-FOO in #6189
- FINERACT-2703: Validate required datatables based on legal form during client creation by @Samer-Melhem-FOO in #6172
- FINERACT-2710: Fix NPE downloading the recurring-deposit template without a term type by @oluexpert99 in #6182
- FINERACT-2723: Rename ambiguous domain-enum getters in StandingInstructionData by @Samer-Melhem-FOO in #6199
- FINERACT-2684: Bump zizmorcore/zizmor-action from 0.6.0 to 0.6.1 by @dependabot[bot] in #6202
- FINERACT-2455: Working Capital - Charge Adjustment Accounting Entries by @somasorosdpc in #6162
- FINERACT-2709: Fix chart-of-accounts template guarding the wrong variable by @oluexpert99 in #6181
- FINERACT-2708: Fix duplicate defined name 500 in bulk-import transaction templates by @oluexpert99 in #6180
- FINERACT-2165: Migrate Schedulerjobhelper internals to typed Feign cl… by @elnafateh in #6115
- FINERACT-2165: Migrate AuditHelper to fineract-client-feign by @elnafateh in #6100
- FINERACT-2729: Accept .xlsx files in bulk import, not just legacy .xls by @rymghosn in #6210
- FINERACT-2443: Test client listing report output by @SaaiAravindhRaja in #6186
- FINERACT-2725: Fix case-insensitive LIMIT/OFFSET removal in countQueryResult by @aya-abdallah-FOO in #6207
- FINERACT-2475: Add client lifecycle business events by @Lea-Fan in #6208
- FINERACT-2684: Update actions/checkout digest to d23441a by @renovate-bot in #6213
- FINERACT-2684: Update actions/setup-java digest to b6effb0 by @renovate-bot in #6214
- FINERACT-2699: Future dated Accrual Activity created during loan re-open and re-close by @mariiaKraievska in #6200
- FINERACT-2455: Add WC loan details business events by @oleksii-novikov-onix in #6140
- FINERACT-2455: Add IRR based calculation for working capital schedule model, fix amortization rounding drift, add multiple payment rate change support by @Cocoa-Puffs in #6171
- FINERACT-2716: Log SMS campaign preview JSON parsing failure instead of silently swallowing it by @AshharAhmadKhan in #6190
- FINERACT-2455: Working Capital Loan Charge-Off by @alberto-art3ch in #6143
- FINERACT-2455: Rework transaction reprocessing by @Cocoa-Puffs in #6151
- FINERACT-2455: Working Capital loan mark as fraud by @alberto-art3ch in #6133
- FINERACT-2455: WC - Accounting Entries - Charge-Off Transaction by @mariiaKraievska in #6218
- FINERACT-2733: add optional payment details to transfer transactions by @AnvayKharb in #6219
- FINERACT-2726: Saving accounts - Unable to create, edit a saving product by @rymghosn in #6206
- FINERACT-2739: Buydown Fee Amortization Adjusmtent after Loan Sale when Loan has Buydown Fee Adjustment by @mariiaKraievska in #6233
- FINERACT-2730: add loan and savings transaction search by @AnvayKharb in #6211
- FINERACT-2730: add loan and savings transaction search by @EmanuelCR03 in #6247
- FINERACT-2747: Add unit tests for FrequencyTypeUtil by @shubhamchaudhary29 in #6244
- FINERACT-2455: WC - Breach reset: Split current period by @mariiaKraievska in #6236
- FINERACT-2741: Standardize email address column length across most tables by @AshharAhmadKhan in #6234
- FINERACT-2745: Deprecate and remove obsolete MIX XBRL reporting module by @DhroovSankla in #6240
- FINERACT-2455: Add integration testing for monetary transaction after charge-off for WC loans by @Cocoa-Puffs in #6242
- FINERACT-2455: Working Capital - Breach - Past Due Amount calculation... by @somasorosdpc in #6239
- FINERACT-2754: Drop orphaned request_audit_table left behind by self-service removal by @AshharAhmadKhan in #6256
- FINERACT-2750: Search by cheque number, routing code and receipt number by @AnvayKharb in #6249
- FINERACT-2746: migrate organisation tests to feign by @DeathGun44 in #6246
- FINERACT-2735: Validate datatables order input on actual columns by @terencemo in #6230
- FINERACT-2165: Migrate event, provisioning, and standing instruction helpers to fineract-client-feign by @elnafateh in #5946
- FINERACT-2718: Migrate group center tests to feign by @DeathGun44 in #6194
- FINERACT-2455: WC breach/delinquency reschedule, re-date current period on frequency change + endDate validation by @oleksii-novikov-onix in #6205
- FINERACT-2165: Staticify SchedulerJobHelper and update all callers to… by @elnafateh in #6225
- FINERACT-2756: Workaround Eclipse Link Cache initialization issue + Favour explicit JPQL queries over derived queries by @adamsaghy in #6266
- FINERACT-2699: Fix non-interest bearing loans not aligning with paid amounts when last period is fully paid after recalculation by @Cocoa-Puffs in #6238
- FINERACT-2455: Add support for payment rate modification with effective date instead of business date by @Cocoa-Puffs in #6232
- FINERACT-2755: Remove unimplemented Teller/Cashier read endpoints by @AshharAhmadKhan in #6258
- FINERACT-2738: Add warning when Idempotency-Key header is missing (config-gated) by @AshharAhmadKhan in #6228
- FINERACT-2455: WC - Charge-off - Backdated Repayment/reversals Handling by @mariiaKraievska in #6259
- FINERACT-2758: Add missing fields for an Address by @AnvayKharb in #6273
- FINERACT-2123: Fix Incorrect Accrual Accounting for Refund For Active Loan by @Bhavya-Sonigra in #6267
- FINERACT-2455: Working Capital Loan - Write-Off by @alberto-art3ch in #6223
- FINERACT-2684: Order integration tests: Run tests first which executes long running jobs by @adamsaghy in #6271
- FINERACT-2455: Working Capital - Delinquency & Breach Grace Day calc by @somasorosdpc in #6257
- FINERACT-2649: batch migrate Tier 4 loan tests to feign by @DeathGun44 in #6158
- FINERACT-2455: Fix projected amorzitation schedule issues by @Cocoa-Puffs in #6263
- FINERACT-2759: Add issuance and expiry dates to client identifiers by @AnvayKharb in #6279
- FINERACT-2761: Added orderBy validation for centers with tests by @terencemo in #6277
- FINERACT-2455: Working Capital - Delinquency Loan Level Override by @somasorosdpc in #6270
- FINERACT-2748: Tax Group – Adjust error message by @rymghosn in #6245
- FINERACT-2455: Add WC loan details business events by @oleksii-novikov-onix in #6254
- FINERACT-2760: Add issuance date and expiry date to document management by @Bhavya-Sonigra in #6278
- FINERACT-2621: Fix SchedulerJobsTest business date job race by @avivijay19 in #6176
- FINERACT-2621: Add CI-only diagnostics for missing external events in e2e by @avivijay19 in #6175
- FINERACT-2774: Increase note length limit to TEXT by @Bhavya-Sonigra in #6296
- FINERACT-1932: Move accounting related classes into
fineract-accountingmodule by @adamsaghy in #6297 - FINERACT-2455: Move working capital related classes into
fineract-working-capital-loanmodule by @adamsaghy in #6298 - FINERACT-2644: Add event-driven modularization design doc (FSIP-12) by @mansi75 in #6031
- FINERACT-2244: New command processing - Floating Rate by @aditinikam in #6013
- FINERACT-2684: Fix failing IT tests by @adamsaghy in #6312
- FINERACT-2773: Add template API for Asset externalization product attributes by @adamsaghy in #6295
- FINERACT-2645: add Spring Modulith cross-feature boundary test for al… by @mansi75 in #6044
- FINERACT-2455: WC - projected amortization schedule after payment rate change - E2E tests by @oleksii-novikov-onix in #6280
- FINERACT-2455: verify delinquency pause works as expected by @budaidev in #6269
- FINERACT-2756: Add jobStatus to retained earning job execution summary log by @somasorosdpc in #6316
- FINERACT-2757: modular design developer documentation by @mansi75 in #6315
- FINERACT-2684: Allow PR update by @adamsaghy in #6318
- FINERACT-1950: Global configuration to disallow backdated transactions by @Abhishek6122008 in #6124
- FINERACT-2694: Return validation errors instead of 500 NPE when type parameters are omitted by @Abhishek6122008 in #6149
- FINERACT-2692: Fix missing externalId for Groups and Centers by @rymghosn in #6141
- FINERACT-2683: Fix date filters and add username filter on Maker-Checker inbox endpoin by @aya-abdallah-FOO in #6120
- Revert "FINERACT-2684: Allow PR update" by @adamsaghy in #6329
- FINERACT-2455: Add remaining wc loan business events by @Cocoa-Puffs in #6276
- FINERACT-2742: Journal Entry Aggregation - update reader query to default to null instead of '' by @somasorosdpc in #6317
- FINERACT-2777: Remove obsolete dead code block in TellerWritePlatformServiceJpaImpl.java by @DhroovSankla in #6308
- FINERACT-2734: Upgrade to JDK 25 LTS by @IOhacker in #6222
- FINERACT-2684: Allow manual full CI execution with logs by @adamsaghy in #6333
- FINERACT-2455: working capital principal balance fields adjustments by @budaidev in #6305
- FINERACT-2165: Migrate SavingsAccountChargeRoundingTest to Feign by @Dhanno98 in #6306
- FINERACT-2786: Fix NullPointerException on /v1/email CREATE by @AshharAhmadKhan in #6331
- FINERACT-2864: Turn off auto PR update by @adamsaghy in #6336
- FINERACT-2455: WC - created and submitted date of all features supported in WCP should follow business date or system date based on configuration by @mariiaKraievska in #6299
- FINERACT-2455: Fix amortization accumulated rounding, wc loans without accounting not amortizing discount fee from last payment by @Cocoa-Puffs in #6319
- FINERACT-2455: Rework WorkingCapitalLoanAddChargeBusinessEvent by @Cocoa-Puffs in #6294
- FINERACT-2732: migrate the savings and deposit integration tests to the Feign client (Tier 1) by @DeathGun44 in #6241
- FINERACT-2779: Remove restassured from feign loan helper by @DeathGun44 in #6321
- FINERACT-2455: Missing TestRailIds and Skipped scenarios in E2E tests by @peter-kovacs-dpc in #6341
- FINERACT-2455: working capital discount fee fix by @budaidev in #6338
- FINERACT-2684: WC - Ensure consistent disbursement date handling by @adamsaghy in #6348
- FINERACT-2684: Remove unnecessary rounding by @adamsaghy in #6350
- FINERACT-2736: Remove unused FineractEntityAccess (createEntityAccess/addNewEntityAccess dead since 2014/2016, no callers, no test coverage) by @AshharAhmadKhan in #6217
- FINERACT-2785: Fix EmailDataValidator to validate against EmailApiConstants instead of ScheduledEmailConstants by @AshharAhmadKhan in #6330
- FINERACT-2455: working capital loan object parity refactor by @budaidev in #6303
- FINERACT-2455: Add WC business events for transactions by @oleksii-novikov-onix in #6300
- FINERACT-2455: Add final discount fee amortization on charge-off and reversal by @Cocoa-Puffs in #6281
- FINERACT-2455: WC - Amortization schedule under-bills when a large overpayment leaves discount fee unearned by @mariiaKraievska in #6339
- FINERACT-2782: Add UpdateEmailCommandHandler for /v1/email UPDATE endpoint by @AshharAhmadKhan in #6325
- FINERACT-2781: Feign integration test guardrails by @DeathGun44 in #6324
- FINERACT-2749: ft v2 paginated endpoints to resolve ambiguous OpenAPI response typing by @elnafateh in #6262
- FINERACT-2684: Remove incorrect E2E tag by @adamsaghy in #6334
- FINERACT-2792: Add integration test coverage for /v1/email CRUD lifecycle by @AshharAhmadKhan in #6360
- FINERACT-2455: enforce NOT NULL on WC submitted_on_date columns by @mariiaKraievska in #6327
- FINERACT-2795: Unwrap AsciiDoc paragraphs in architecture chapter by @mtalhasid in #6367
- FINERACT-2455: WC - Loan Details API - Expose Payment date / Payment amount by @somasorosdpc in #6349
- FINERACT-2788: Optimize E2E test execution by shortening time jumps by @adamsaghy in #6337
- FINERACT-2455: WC - Trigger Inline COB Before Monetary Activity by @somasorosdpc in #6351
- FINERACT-2799: Upgrade to Gradle 9 by @adamsaghy in #6364
- FINERACT-2713: Bind untyped report parameters numerically so Postgres cascades work by @oluexpert99 in #6185
- FINERACT-2717: Check all currency usages before allowing currency removal by @Samer-Melhem-FOO in #6191
- FINERACT-2724: Allocate Cash - Adjust the error message when amount is not an integer by @rymghosn in #6203
- FINERACT-2684: Bump actions/stale from 10.4.0 to 11.0.0 by @dependabot[bot] in #6216
- FINERACT-2684: Bump actions/checkout from 6.1.0 to 7.0.1 by @dependabot[bot] in #6224
- FINERACT-2684: Bump zizmorcore/zizmor-action from 0.6.1 to 0.6.2 by @dependabot[bot] in #6250
- FINERACT-2684: Bump gradle/actions/wrapper-validation from 6.2.0 to 6.3.0 by @dependabot[bot] in #6251
- FINERACT-2684: Bump gradle/actions/setup-gradle from 6.2.0 to 6.3.0 by @dependabot[bot] in #6252
- FINERACT-2766: Tax Component - User should be able to edit a tax component by @rymghosn in #6287
- FINERACT-2776: Add entitySubType to GetDataTablesResponse schema by @oluexpert99 in #6307
- FINERACT-2780: Remove obsolete MIX tables from static database SQL dumps by @DhroovSankla in #6320
- FINERACT-2455: WC - Charge table remove unused calculation_on_amount column by @somasorosdpc in #6342
- FINERACT-2784: Migrate NotesTest integration tests to Feign by @DhroovSankla in #6328
- FINERACT-2806: Fix IndexOutOfBoundsException in JournalEntryWritePlatformServiceImpl.revertJournalEntry when no unreversed manual journal entries exist by @AshharAhmadKhan in #6395
- FINERACT-2793: migrate loan money movement tests to feign by @DeathGun44 in #6355
- FINERACT-2788: Optimize E2E test execution of WorkingCapitalLoanChargeAfterMaturity.feature by @Cocoa-Puffs in #6359
- FINERACT-2790: Progressive Loan - MIR after ReAge causes NoSuchElementException by @alberto-art3ch in #6347
- FINERACT-2802: Progressive Loan charge-off crashes with NoSuchElementException for loans with an "additional" installment by @AshharAhmadKhan in #6372
- FINERACT-2684: Bump actions/setup-java from 5.7.0 to 6.0.0 by @dependabot[bot] in #6389
- FINERACT-2788: Optimize E2E test execution of WorkingCapitalLoanScheduleBusinessEvents.feature by @Cocoa-Puffs in #6396
- FINERACT-2788: Optimeze execution time E2E - Breach and NearBreach by @alberto-art3ch in #6386
- FINERACT-2804: Fix IndexOutOfBoundsException in SavingsAccountAssembler when no transactions exist after relaxed pivot date by @AshharAhmadKhan in #6390
- FINERACT-2808: NullPointerException in GroupingTypesWritePlatformServiceJpaRepositoryImpl when GroupLevel is missing by @AshharAhmadKhan in #6397
- FINERACT-817: Provide values of entity property for Entity Data Table Checks by @Eyad-Sharkawy in #6365
- FINERACT-2684: Fix sonarqube execution with Gradle 9 by @adamsaghy in #6400
- FINERACT-405: Centralize mobile number validation for Client and Staff by @AshharAhmadKhan in #6403
- FINERACT-2788: Optimize E2E test execution of WorkingCapitalDelinquencyReset.feature by @ruzeynalov in #6401
- FINERACT-2455: Rework WC loan schedule model to use recurrent calculations by @Cocoa-Puffs in #6369
- FINERACT-2791: Fix re-age sometimes using downpayment installments and ensure lifted mappings by @Cocoa-Puffs in #6345
- FINERACT-2455: Working Capital Loan - Recovery payment transaction by @alberto-art3ch in #6301
- FINERACT-2798: Fix bulk event recording window by @Cocoa-Puffs in #6363
- FINERACT-2809: Correct nop to invert pmt by @kadyrbekovhamit-cyber in #6409
- FINERACT-2788: Optimize E2E test execution of WorkingCapitalDelinquency.feature by @ruzeynalov in #6414
- FINERACT-2800: add ai policy by @meonkeys in #6366
- FINERACT-2455: WC - Introduce Loan OverpaidOnDate by @somasorosdpc in #6346
- FINERACT-2455: Updated e2e tests for rework WC loan schedule model to use recurrent calculations by @ruzeynalov in #6415
- FINERACT-2455: Add e2e scenario asserting the full WC projected amortization schedule for a loan disbursed with a discount by @oleksii-novikov-onix in #6268
- FINERACT-2788: Optimize execution time E2E - Delinquency Reschedule by @alberto-art3ch in #6411
- FINERACT-2455: Working capital charge product disbursement by @budaidev in #6370
- FINERACT-2455: working capital breach reset split period undo by @budaidev in #6283
- FINERACT-2788: Optimize execution time E2E - Breach Pause by @alberto-art3ch in #6412
- FINERACT-2684: Fix typo 'occured' -> 'occurred' in accounting, core and rates modules by @TianHengZhuang in #6391
- FINERACT-2684: Fix typo 'occured' -> 'occurred' in infrastructure module by @TianHengZhuang in #6392
- FINERACT-2684: Fix typo 'occured' -> 'occurred' in portfolio module by @TianHengZhuang in #6393
- FINERACT-2684: Fix typo 'occured' -> 'occurred' in organisation, adhocquery, interoperation and useradministration modules by @TianHengZhuang in #6394
- FINERACT-2684: Fix typos in logs and comments by @TianHengZhuang in #6402
- FINERACT-789: Fix fee accounting for disbursements to savings by @udayagiri-sivasai-dev in #6368
- FINERACT-2805: Correct parameter comparison in updatePostDatedChecks validation by @jaysharmagithub in #6310
- FINERACT-2455: payment rate change EIR history by @budaidev in #6264
- FINERACT-2812: Github Actions memory optimization by @adamsaghy in #6413
- FINERACT-2455: WC - Real-time accrual posting for charges by @somasorosdpc in #6332
- FINERACT-2807: Fix fixed interest scaling when in the middle of period by @Cocoa-Puffs in #6417
- FINERACT-2455: WC - Reject discount fee on a charged-off loan by @oleksii-novikov-onix in #6431
- FINERACT-2455: WC - Write-off does not release the remaining deferred discount fee by @mariiaKraievska in #6428
- FINERACT-2455: WC - Amortization schedule and EIR calculation testing by @peter-kovacs-dpc in #6432
- FINERACT-2684: Add "App is ready" message to log by @adamsaghy in #6387
- FINERACT-2455: Fix discount fee validations on WC loans by @Cocoa-Puffs in #6430
- FINERACT-2790: Progressive loan MIR with ReAge allocation loop by @alberto-art3ch in #6416
- FINERACT-2455: Store and return annual effective interest rate on WC loans by @oleksii-novikov-onix in #6343
- FINERACT-2794: - Add license checks and validation for pull requests (Catagory X or unknown dependencies) by @Aman-Mittal in #6340
- FINERACT-2811: Remove Cargo and Cargo plugin by @adamsaghy in #6410
- FINERACT-2790: Fix negative balance on accelerated-maturity charge-off by @alberto-art3ch in #6444
- FINERACT-2455: WC - allow business step update by resolving the step family per COB job by @oleksii-novikov-onix in #6423
- FINERACT-2455: working capital flat amortization by @budaidev in #6429
- FINERACT-2455: WC - Transaction - Prepay Loan by @somasorosdpc in #6385
- FINERACT-2455: WC - Discount fee adjustment followed by charge-off or write-off before the next COB strands the income correction by @mariiaKraievska in #6434
- FINERACT-2455: WC - Do not allow to create backdated delinquency pause earlier than any reset by @somasorosdpc in #6442
- FINERACT-2684: Skip Allure report generation in regression safety workflow by @oleksii-novikov-onix in #6452
- FINERACT-2621: Upgrade dependencies to Spring Boot 4.1 by @avivijay19 in #6069
- FINERACT-2839: retained earning persist originator external ids by @budaidev in #6474
- FINERACT-2455: WC - Disbursement Accounting by @somasorosdpc in #6458
- FINERACT-2684: Assert buy down fee amortization event before the event store is reset by @oleksii-novikov-onix in #6473
- FINERACT-2840: Detect CI via GITHUB_ACTIONS for Develocity build scans by @clayburn in #6461
- FINERACT-2684: Fix sonarqube by @adamsaghy in #6470
- FINERACT-2684: Update Github Actions versions by @adamsaghy in #6471
- FINERACT-2684: Create indexes concurrently (postgres) by @adamsaghy in #6481
- FINERACT-2845: Register the JPA auditing handler as a singleton by @alberto-art3ch in #6485
- FINERACT-2455: WC - Backdated discount fee adjustment on a re-charged-off loan by @somasorosdpc in #6466
- FINERACT-2455: WC - Allow to send and set datatable entries for Working Capital loan at loan creation by @mariiaKraievska in #6465
- FINERACT-2838: Transaction summary report - Exclude re-age and fix amortization mapping sign by @oleksii-novikov-onix in #6463
- FINERACT-2455: Working Capital - Consistent breach reprocessing & No backdated breach pause before reset by @alberto-art3ch in #6436
- FINERACT-2684: Do not include request payload in authentication error messages by @oscerd in #6498
- FINERACT-2455: Working Capital Loan product payment amount calculation strategy - Annual EIR by @mariiaKraievska in #6398
- FINERACT-2455: WC - Transaction Type - Charge Waiver by @oleksii-novikov-onix in #6399
- FINERACT-2455: WC - No accruals in case no accounting is configured by @oleksii-novikov-onix in #6440
- FINERACT-2813: Add excluded transaction types config to loan product attributes by @Cocoa-Puffs in #6439
- FINERACT-2684: Prioritize Post interest job execution by @adamsaghy in #6505
- FINERACT-2455: WC - Add missing permissions for transaction undo and charge creation by @oleksii-novikov-onix in #6449
- FINERACT-2814: Buy down fee amortization strategy loan product attribute config by @oleksii-novikov-onix in #6445
- FINERACT-2455: WC - Accrual transaction shall have an external id by @oleksii-novikov-onix in #6455
- FINERACT-2455: Fix WorkingCapitalPeriodPaymentRate.feature long cob runs, attempt to fix flaky CobPartitioningTest by @Cocoa-Puffs in #6479
- FINERACT-2455: WC - Undo disbursal reverses the discount fee and amortization journal entries by @somasorosdpc in #6457
- FINERACT-2455: WC - Loan Product Template Update Advanced Payment Allocation Transaction Type List by @somasorosdpc in #6467
- FINERACT-2842: Move away from JDK8 in avro and fineract-client by @adamsaghy in #6468
- FINERACT-2455: WC - delinquency bucket for regular loan shouldn't be available on WC loan product creation by @mariiaKraievska in #6477
- FINERACT-2455: Fix COB amortizing discount fee before payment, fix WC loan closedOnDate wrong when backdated transaction closes by @Cocoa-Puffs in #6469
- FINERACT-2853: Enable Gradle configuration cache for local builds by @adamsaghy in #6501
- FINERACT-2824: Migrate loan lifecycle and product integration tests to the Feign client by @DeathGun44 in #6433
- FINERACT-2732: migrate savings deposit tests to feign (tier2) by @DeathGun44 in #6419
- FINERACT-2455: WC - Support discount fee and discount fee adjustment by transaction external id by @oleksii-novikov-onix in #6480
- FINERACT-2455: WC product payment amount calculation strategy: payment amount by @budaidev in #6446
- FINERACT-2813: Excluded transaction types loan product attribute business logic by @Cocoa-Puffs in #6456
- FINERACT-2817: Allow future date contract termination by @budaidev in #6499
- FINERACT-2455: Fix WorkingCapitalBreach feature files long cob runs by @Cocoa-Puffs in #6488
- FINERACT-2455: Fix e2e execution times of DelinquencyPause and GoodwillCreditPaymentAllocation features by @Cocoa-Puffs in #6497
- FINERACT-2455: Working Capital - Delinquency Effective Date by @alberto-art3ch in #6476
- FINERACT-2455: Working Capital - Breach Effective Date by @alberto-art3ch in #6482
- FINERACT-2455: WC - Support for breach and delinquency schedules in batch by @somasorosdpc in #6519
- FINERACT-2814: Investor - CAPITALIZED_INCOME_AMORTIZATION_STRATEGY loan product attribute by @somasorosdpc in #6441
- FINERACT-2455: Fix WorkingCapitalLoanRepayment and WorkingCapitalNearBreachEvaluation features by @Cocoa-Puffs in #6534
- FINERACT-2455: Working Capital single active delinquency tag by @budaidev in #6502
- FINERACT-2684: Upgrade versions by @adamsaghy in #6548
- FINERACT-2684: Upgrade versions by @adamsaghy in #6552
- FINERACT-2684: Decrease the waiting time on business events by @adamsaghy in #6551
- FINERACT-2858: Improve check for blocking new restassured code by @DeathGun44 in #6513
- FINERACT-2690: Fix undo account transfer to resolve and scope by tran… by @Samer-Melhem-FOO in #6136
- FINERACT-2684: Fix month-end failure in RecurringDepositTest by @alberto-art3ch in #6556
- FINERACT-2859: migrate client charges accounting tests to feign by @DeathGun44 in #6516
- FINERACT-2684: Upgrade versions by @adamsaghy in #6557
- FINERACT-2803: fix performance typo in fineract-command/README.md by @vaibhav8a in #6335
- FINERACT-2846: Disable (unreliable) Gradle Configuration cache by @adamsaghy in #6565
- FINERACT-2684: Fix two flaky integration tests by @alberto-art3ch in #6562
- FINERACT-2886: Re-aged installment due dates follow the repayment frequency from the start date by @oleksii-novikov-onix in #6564
- FINERACT-2455: WC - Allow backdated discount fee transaction by @oleksii-novikov-onix in #6496
- FINERACT-2789: Balloon loan not working as expected by @mariowise in #6352
- FINERACT-2856: PL - Chargeback interest Handling Improvements by @mariiaKraievska in #6511
- FINERACT-2684: Working Capital discount fee cannot exceed the principal by @alberto-art3ch in #6514
- FINERACT-2684: Working Capital batcheable breach and delinquency actions by @alberto-art3ch in #6515
- FINERACT-2684: Gate adjust events by transaction type event by @alberto-art3ch in #6568
- FINERACT-2684: Fix enum fromInt inconsistency by @Cocoa-Puffs in #6599
- FINERACT-2455: Delinquency / breach disable is a global freeze; enable is a full recalculation by @Cocoa-Puffs in #6550
- FINERACT-2455: WC - Introduce new field which reflects the current payment rate by @mariiaKraievska in #6510
- FINERACT-2455: Remove unused e2e step definitions by @ruzeynalov in #6598
- FINERACT-2814: Investor immediate buy down fee amortization by @mariiaKraievska in #6489
- FINERACT-2857: Allow to reverse Chargeback transaction by @oleksii-novikov-onix in #6541
- FINERACT-2455: Fix applyRecordedPauses to handle resets as well by @Cocoa-Puffs in #6597
- FINERACT-2455: Working Capital - Undo disbursal with Delinquency reset by @alberto-art3ch in #6555
- FINERACT-2895: Keep original WAIVE_CHARGES transaction on reverse-replay by @pwargulak in #6575
- FINERACT-2897: Make processPaymentAllocation overridable by @pwargulak in #6580
- FINERACT-2898: Replay same-day charges in due-date order by @pwargulak in #6581
- FINERACT-2907: Return clientNonPersonDetails from GET /clients/{clientId} by @samchinmaya in #6603
- FINERACT-2831: Document missing center OpenAPI fields by @Ashutosh-Panda2004 in #6594
- FINERACT-2828: Fix Admin Organisation OpenAPI gaps and staff joining date update by @avivijay19 in #6593
- FINERACT-2829: Add role disabled flag to OpenAPI responses by @avivijay19 in #6592
- FINERACT-2829: Document disabled field in roles OpenAPI responses by @jenny1371 in #6587
- FINERACT-2684: Bump gradle/actions/wrapper-validation from 6.3.0 to 6.4.0 by @dependabot[bot] in #6574
- FINERACT-1162: Fix NPE when managing notes on group savings accounts by @mkb2001 in #6570
- FINERACT-2885: Fix applying holidays to loans stamps holiday dates correctly by @Cocoa-Puffs in #6563
- FINERACT-2684: Bump gradle/actions/setup-gradle from 6.3.0 to 6.4.0 by @dependabot[bot] in #6573
- FINERACT-2872: Fix listing centers by meeting date on PostgreSQL by @rymghosn in #6536
- FINERACT-2864: Serialize appUsers of the audit search templates by @Samer-Melhem-FOO in #6527
- FINERACT-2893: Apply relationshipId when updating a client family member by @rymghosn in #6583
- FINERACT-2894: Persist the ad-hoc query isActive flag on create and update by @rymghosn in #6576
- FINERACT-2881: use posting-period overlap instead of month equality when splitting overdraft interest by @naman2627 in #6547
- FINERACT-2841: Fix silent data loss and NPE in SavingsAccountCharge#update by @SamaSVM in #6520
- FINERACT-2863: Null-guard accountingRule in SavingsProductData getters by @Samer-Melhem-FOO in #6526
- FINERACT-2867: Fix NPE submitting a savings application with a FLAT charge by @Samer-Melhem-FOO in #6530
- FINERACT-2900: Fix SmsDataValidator accepting explicit null staffId by @SamaSVM in #6602
- FINERACT-2850: Fix data validators reporting the wrong parameter name by @SamaSVM in #6503
- FINERACT-2882: Fix off-by-one in EnumOptionData id for loan schedule enums by @SamaSVM in #6549
- FINERACT-2684: Fix testPostInterestNotZero by @mariiaKraievska in #6608
- FINERACT-2910: Fix stale installment interest after add-charge and undo-waive when external events are disabled by @galovics in #6606
- FINERACT-2833: Document missing client template OpenAPI fields by @Ashutosh-Panda2004 in #6616
- FINERACT-2827: Document missing savings product and charge template OpenAPI fields by @Ashutosh-Panda2004 in #6615
- FINERACT-2911: Fix recording attendance for center meetings by @samchinmaya in #6621
- FINERACT-2688: Fix loan disbursement for checker-only users via maker-checker permission check by @aya-abdallah-FOO in #6128
- FINERACT-2720: Scope entity-to-entity mapping results to user office hierarchy by @aya-abdallah-FOO in #6197
- FINERACT-2737: Return collateral name, unit price and percentage on l… by @rymghosn in #6226
- FINERACT-2743: Fix standing instruction not created at loan disbursem… by @rymghosn in #6235
- FINERACT-2752: Charge - Income from charge list is not the same on add and edit mode by @rymghosn in #6253
- FINERACT-2455: WC - Charge Waiver - E2E checks of journal entries by @oleksii-novikov-onix in #6596
- FINERACT-2455: WC - Allow transaction adjustment by @mariiaKraievska in #6454
- FINERACT-2917: Fix updating attendance on existing meetings by @samchinmaya in #6627
- FINERACT-2753: Improve Maker-Checker Action Endpoint Handling and Permission Responses by @rymghosn in #6255
- FINERACT-2768: Tax Group cannot be edited once a linked Tax Component has ended by @rymghosn in #6289
- FINERACT-2770: Tax - Unable to edit a tax group by @rymghosn in #6291
- FINERACT-2771: Tax - User should be able to set end date for a tax group by @rymghosn in #6292
- FINERACT-2772: Tax group - User should be able to set end date if start date was in the past by @rymghosn in #6293
- FINERACT-2871: Fix collection sheet generation on PostgreSQL by @rymghosn in #6535
- FINERACT-2873: Bind the audits status filter as an integer by @rymghosn in #6537
- FINERACT-2874: Support Entity Data Table Checks for Loan Product by @rymghosn in #6538
- FINERACT-2875: Take the template id from the path on update by @rymghosn in #6539
- FINERACT-2876: Serialize standing instruction template options by @rymghosn in #6540
- FINERACT-2879: Fix guarantor duplicate message and guarantor list retrieval by @rymghosn in #6544
- FINERACT-2890: Keep accounting rule tags in AccountRuleRequest by @rymghosn in #6577
- FINERACT-2892: Return Loan Product CREATE-check datatables in the template by @rymghosn in #6582
- FINERACT-2455: Verify charge is cleared after undo disbursal and does not reappear after re-disbursal by @mariiaKraievska in #6612
- FINERACT-2684: Update dependency com.squareup.okhttp3:okhttp-bom to v5 by @renovate-bot in #6437
- FINERACT-2931: Fix creating a Web hook whose Payload URL doesn't end with "/" by @samchinmaya in #6630
- FINERACT-2917: Document the attendance list of the update attendance request by @samchinmaya in #6628
- FINERACT-2923: Execute missed scheduler job runs after restart or resume by @galovics in #6629
- FINERACT-2933: List a client's collaterals when no loan product is given by @samchinmaya in #6632
- FINERACT-2762: Add integration coverage for checker-only approval via the action endpoint by @rymghosn in #6282
- FINERACT-2769: Tax group – Start Date field validation/behavior issues on edit mode if the group is unlinked by @rymghosn in #6290
- FINERACT-2870: Check READ_ENTITYMAPPING on entity mapping read endpoints by @rymghosn in #6533
- FINERACT-2878: Fix loan bulk-import template download on charge and office defined names, require dateFormat by @rymghosn in #6543
- FINERACT-2904: Fix entity datatable check subtype matching, checkable entities and String length message by @rymghosn in #6609
- FINERACT-2905: Name the blocked action in the datatable check message by @rymghosn in #6611
- FINERACT-2944: Create the loan repayments of a saved individual collection sheet by @samchinmaya in #6644
- FINERACT-2924: Allow keeping a suspended scheduler suspended across restarts by @galovics in #6638
- FINERACT-2926: Do not wait forever for a killed COB partition on startup, and keep recovering other tenants by @galovics in #6639
- FINERACT-2945: Resolve [unchecked] compilation warnings in fineract-loan tests by @ImalkaPerera in #6645
- FINERACT-2951: Fix charge deactivation on PostgreSQL by @cmandib in #6656
- FINERACT-2684: Bump actions/setup-node from 7.0.0 to 7.1.0 by @dependabot[bot] in #6655
- FINERACT-2684: Bump actions/upload-artifact from 7.0.1 to 7.0.2 by @dependabot[bot] in #6654
- FINERACT-2947: Show linked staff outside the caller's office hierarchy on users by @rymghosn in #6648
- FINERACT-2925: Catch up COB after a replayed run and keep the date and COB jobs in order by @galovics in #6640
- FINERACT-2883: migrate organisation config tests to feign by @DeathGun44 in #6559
- FINERACT-752: Fix duplicate manual interest posting when posting at period end by @abhinavjha0239 in #6665
- FINERACT-2684: Fix move originator linking before disbursement by @Cocoa-Puffs in #6652
- FINERACT-2880: Add E2E coverage for undoing a savings-to-savings transfer that drained the source account by @shubhamchaudhary29 in #6658
- FINERACT-2684: Full term tranche: late disbursement duplicates schedule for repayment days 29–31 by @mariiaKraievska in #6635
- FINERACT-2883: migrate the teller, email, credit bureau and scheduler job result tests to feign by @DeathGun44 in #6561
- FINERACT-2860: Handle JSON null members in report parameters by @Samer-Melhem-FOO in #6521
- FINERACT-2861: Apply interest waivers once in Creocore and HeavensFamily processors by @Samer-Melhem-FOO in #6524
- FINERACT-2869: Post interest on idle savings accounts in pivot-date mode by @Samer-Melhem-FOO in #6532
- FINERACT-2946: Order same-date loan term variations deterministically by @Samer-Melhem-FOO in #6646
- FINERACT-2963: Fix Progressive Loan Adjust Transaction When Payment Type Is Changed by @somasorosdpc in #6624
- FINERACT-2684: Delinquency reset inside active pause by @alberto-art3ch in #6604
- FINERACT-2684: WC undo disbursal reverses rate changes, undo approval drops projection by @alberto-art3ch in #6586
- FINERACT-2684: Fix re-age on zero interest loan merging or removing down payment installments by @oleksii-novikov-onix in #6589
- FINERACT-2684: Gate WC grace days and start type overrides by @alberto-art3ch in #6636
- FINERACT-2455: WC near-breach re-evaluation on monetary events and COB by @budaidev in #6601
- FINERACT-2835: improve testing docs since cargo removal by @meonkeys in #6680
- FINERACT-2455: WC - Support dynamic repayment frequency type and repa… by @budaidev in #6554
- FINERACT-2887: migrate retrofit tests to feign by @DeathGun44 in #6676
- FINERACT-2962: Upgrade Spring Boot to 4.1.1 by @alberto-art3ch in #6679
- FINERACT-2814: Investor - Immediate Capitalized Income Amortization by @somasorosdpc in #6509
- FINERACT-2960: Documentation change by @jdailey in #6674