Releases: TransactionProcessing/TransactionProcessor
Releases · TransactionProcessing/TransactionProcessor
2026.4.2
Changes
🐛 Bug Fixes
- Add UpdateMerchantSchedule method to client interface @StuartFerguson (#1728)
🧰 Maintenance
- Remove obsolete TODOs and commented code; add AddFile method @StuartFerguson (#1725)
- Refactor transaction validation into helper methods @StuartFerguson (#1724)
- Refactor web host config into ConfigureWebHost method @StuartFerguson (#1723)
- Refactor BuildStatement with improved validation and flow @StuartFerguson (#1718)
- Suppress Codacy false-positive hardcoded password warnings in MetadataContants @copilot-swe-agent (#1726)
- Reduce ModelFactory.ConvertFrom parameter count from 9 to 8 @copilot-swe-agent (#1722)
- Refactor Address.Create: introduce AddressLines to drop below 9-parameter limit @copilot-swe-agent (#1721)
- Remove 9-parameter private constructor from Address record @copilot-swe-agent (#1720)
- Reduce cyclomatic complexity of ContractDomainService.CreateContract from 11 to 8 @copilot-swe-agent (#1719)
- Fix container running as root in Dockerfile @copilot-swe-agent (#1717)
- Harden transaction request deserialization by removing unsafe TypeNameHandling @copilot-swe-agent (#1716)
2026.4.1
Changes
🚀 Features
- Refactor auth to use OpenIddict client credentials flow @StuartFerguson (#1706)
🐛 Bug Fixes
- Make Sentry options configurable via app settings @StuartFerguson (#1714)
2026.3.4
2026.3.3
Changes
🚀 Features
- Add read-model merchant schedule endpoint and use it in schedule creation validation @copilot-swe-agent (#1659)
- Add merchant opening hours support and migrations @StuartFerguson (#1657)
🧰 Maintenance
- Confirm
Startup.AutoApiLogonOperatorsis encapsulated behind a public read-only property @copilot-swe-agent (#1697) - Reduce
TransactionAggregate.StartTransactionparameter count with start context object @copilot-swe-agent (#1694) - Reduce
EstateDomainService.CreateEstateUsercomplexity by extracting user creation helpers @copilot-swe-agent (#1691) - Reduce
AutoApiLogonOperatorsto a read-only public surface @copilot-swe-agent (#1696) - Remove unused
containerparameter fromClientRegistryresolver registration @copilot-swe-agent (#1695) - Reduce
StartTransactioncomplexity inTransactionAggregateExtensions@copilot-swe-agent (#1690) - Refactor merchant address update flow to reduce cyclomatic complexity @copilot-swe-agent (#1689)
- Refactor merchant validation flow to reduce security-check complexity @copilot-swe-agent (#1688)
- Reduce
AddDailySummaryRecordparameter count with a summary totals value object @copilot-swe-agent (#1686) - Refactor MerchantAggregate.GetMerchant to remove Codacy complexity warning @copilot-swe-agent (#1685)
- Refactor read-model event dispatch to reduce
Handlemethod complexity @copilot-swe-agent (#1684) - Refactor
MerchantStatementForDateAggregate.GetStatementto reduce method size @copilot-swe-agent (#1683) - Reduce
DomainEventHandlerRegistryconstructor complexity @copilot-swe-agent (#1680) - Refactor
EmailStatementto reduce method size inMerchantStatementDomainService@copilot-swe-agent (#1679) - Reduce
StatementBuilder.GetStatementHtmlcomplexity with focused helper extraction @copilot-swe-agent (#1678) - Reduce
MerchantDomainService.MakeMerchantDepositcomplexity @copilot-swe-agent (#1676) - Reduce
Startup.Configurecomplexity by extracting pipeline helpers @copilot-swe-agent (#1675) - Refactor
GetMerchantContractsto meet repository complexity limits @copilot-swe-agent (#1674) - Reduce
DomainEventHandlerRegistryconstructor complexity @copilot-swe-agent (#1673) - Refactor read-model event dispatch to reduce
Handlecomplexity @copilot-swe-agent (#1670) - Reduce
GetStatementcomplexity inMerchantStatementForDateAggregateExtensions@copilot-swe-agent (#1669) - Refactor
GetContractsto reduce method length and isolate contract/product mapping @copilot-swe-agent (#1664) - Refactor
MiddlewareRegistryconstructor to reduce bootstrapper complexity @copilot-swe-agent (#1663) - Refactor
ProcessSettlementto reduce method complexity @copilot-swe-agent (#1648) - Reduce
CreateMerchantUsercomplexity inMerchantDomainService@copilot-swe-agent (#1626) - Reduce
AddContractToMerchantcyclomatic complexity @copilot-swe-agent (#1613) - Reduce
MakeMerchantDepositcyclomatic complexity inMerchantDomainService@copilot-swe-agent (#1612) - Reduce
MakeMerchantWithdrawalcomplexity inMerchantDomainService@copilot-swe-agent (#1611) - Reduce
AssignOperatorToMerchantcomplexity inMerchantDomainService@copilot-swe-agent (#1610)
2026.3.2
Changes
🐛 Bug Fixes
- Refactor Address to enforce required fields and validation @StuartFerguson (#1583)
🧰 Maintenance
- Reduce
ProcessLogonTransactioncomplexity by extracting logon validation flow @copilot-swe-agent (#1596) - Reduce reconciliation processing complexity in
TransactionDomainService@copilot-swe-agent (#1595) - Reduce
CalculateFeesForTransactioncomplexity by extracting fee application flow @copilot-swe-agent (#1584)
2026.3.1
Changes
- Task/#1559 move code coverage to its own workflow @StuartFerguson (#1560)
🐛 Bug Fixes
- tighter error handling around db calls @StuartFerguson (#1577)
- Change log level from Warning to Information @StuartFerguson (#1574)
- Improve SOAP reply logging and fix log type in requests @StuartFerguson (#1573)
- Add exception handling to PataPawa logon methods @StuartFerguson (#1569)
🧰 Maintenance
- Update dependencies to 2026.3.x and unify request logging @StuartFerguson (#1565)
2026.2.2
2026.2.1
Changes
- Reorder parameters in DisableTransactionFeeForProductCommand @StuartFerguson (#1499)
🐛 Bug Fixes
- Add float event tests and improve float creation handling @StuartFerguson (#1534)
- Add statement event tests and enable parallel test runs @StuartFerguson (#1535)
- fix issue with empty operator id @StuartFerguson (#1498)
- handle swapout event correctly @StuartFerguson (#1496)
- Update contract/operator event handling and add unit test @StuartFerguson (#1495)
- Allow re-adding previously removed operators to merchants @StuartFerguson (#1494)
- Allow re-adding removed operators to EstateAggregate @StuartFerguson (#1493)
🧰 Maintenance
- Update NuGet dependencies and regenerate test code @StuartFerguson (#1545)
- Add missing failure-path test coverage for TransactionDomainService @copilot-swe-agent (#1544)
- Add missing test coverage for VoucherDomainService failure paths @copilot-swe-agent (#1543)
- Add missing test coverage for SettlementDomainService @copilot-swe-agent (#1542)
- Add missing test coverage for MerchantStatementDomainService @copilot-swe-agent (#1541)
- Refactor tests into domain-specific files for clarity @StuartFerguson (#1540)
- Add error/exception case test coverage for ContractDomainService @copilot-swe-agent (#1514)
- Update test coverage for Float Domain service @copilot-swe-agent (#1515)
- Fix MerchantDomainService coverage gaps: production bugs + full test coverage @copilot-swe-agent (#1507)
- Full test coverage for OperatorDomainService — fix dead code branches and missing edge cases @copilot-swe-agent (#1506)
- Add failure and exception case test coverage for EstateDomainService @copilot-swe-agent (#1503)
2026.1.1
Changes
🚀 Features
- handle estate operator events @StuartFerguson (#1485)
🧰 Maintenance
- shared nuget updates @StuartFerguson (#1483)
- validate merchant for building statements @StuartFerguson (#1480)
- use a manager in Pending Settlement query handler @StuartFerguson (#1478)
- load statement lines from transactions and fees @StuartFerguson (#1477)
- statement builder checks statment status @StuartFerguson (#1476)
2025.12.1
Changes
🧰 Maintenance
- net 10 upgrade completed @StuartFerguson (#1471)
- Controllers to Minimal Api @StuartFerguson (#1413)
- shared nugets updated @StuartFerguson (#1398)