Changes
- JdbcTransactionProvider: Migrated from JSON-blob
JdbcStateProvider to ColumnMappedJdbcStateProvider with 42 typed columns, using case class TransactionRow to bypass Scala 2's 22-element tuple limit
- paymentAccountToJdbcProcessorStream: Made optional (default
None) in SoftPayApi — downstream projects (e.g., license-server) that don't need payment account JDBC no longer need to provide one
- TransactionToJdbcProcessorStream: Updated to use
State2ExternalProcessorStream pattern with Flyway migration
- StripeEventHandler: LRU dedup set (LinkedHashMap) replaces ConcurrentHashMap half-clear strategy
- StripeRecurringPaymentApi: automatic_tax opt-in via metadata + metadata propagation to Stripe subscription
- Version: 0.9.3, genericPersistence → 0.8.4
Flyway Migration
db/migration/transaction/V1__create_transaction.sql — 42-column CREATE TABLE with indexes
Part of Story 5.11 (SoftPayment & Stripe Integration).
Changes
JdbcStateProvidertoColumnMappedJdbcStateProviderwith 42 typed columns, using case classTransactionRowto bypass Scala 2's 22-element tuple limitNone) inSoftPayApi— downstream projects (e.g., license-server) that don't need payment account JDBC no longer need to provide oneState2ExternalProcessorStreampattern with Flyway migrationFlyway Migration
db/migration/transaction/V1__create_transaction.sql— 42-column CREATE TABLE with indexesPart of Story 5.11 (SoftPayment & Stripe Integration).