| .. |
|
Actions
|
fix(register): don't block signup on unrecognized browser timezone (#462)
|
2026-06-01 09:03:15 +02:00 |
|
Console/Commands
|
feat(discord): enrich Stripe event messages and dedupe deliveries (#460)
|
2026-05-31 12:50:37 +02:00 |
|
Contracts
|
feat(banking): add banking:backfill-ibans command to populate missing IBANs (#221)
|
2026-03-12 10:58:55 +00:00 |
|
Enums
|
feat(cashflow): add savings and period views (#424)
|
2026-05-25 16:41:00 +02:00 |
|
Events
|
Add Budgeting Feature to Track and Manage Spending (#36)
|
2026-01-21 15:25:50 +01:00 |
|
Exceptions/Banking
|
Handle transient EnableBanking sync failures (#358)
|
2026-05-06 09:24:05 +02:00 |
|
Features
|
feat(import): calculate balances from transactions (#403)
|
2026-05-20 10:29:14 +01:00 |
|
Http
|
refactor(requests): share category cashflow direction resolution (#479)
|
2026-06-03 17:39:40 +02:00 |
|
Jobs
|
feat(settings): let users disable bank transactions email (#472)
|
2026-06-02 12:24:39 +02:00 |
|
Listeners
|
feat(discord): enrich Stripe event messages and dedupe deliveries (#460)
|
2026-05-31 12:50:37 +02:00 |
|
Mail
|
feat(leads): add user lead re-invite campaign (#432)
|
2026-05-26 08:35:31 +02:00 |
|
Models
|
feat(settings): let users disable bank transactions email (#472)
|
2026-06-02 12:24:39 +02:00 |
|
Notifications
|
feat: selective retry of failed lead email jobs (#286)
|
2026-04-15 08:00:29 +01:00 |
|
Policies
|
refactor(policies): extract HandlesUserOwnership trait (#478)
|
2026-06-03 17:43:30 +02:00 |
|
Providers
|
feat: add Discord admin feed for daily stats and Stripe events (#458)
|
2026-05-30 18:14:46 +02:00 |
|
Services
|
feat(budgets): track multiple categories and labels per budget (#466)
|
2026-06-01 12:32:23 +02:00 |