Scheduled For Release 2025-05-31
  • 0009948: [merchant backoffice SPA] Activate Content-Security-Policy default-src: 'none' for SPA
  • 0009598: [wallet (Android App)] Impossible to transfer all the money to the bank (Emmanuel)
  • 0009243: [wallet-core] When an Exchange is not reachable, wallet-core should return "not reachable" instead of some JSON error (MarcS)
  • 0009919: [merchant backoffice SPA] Per default the one can not enter a "simple" new order
  • 0008155: [quality checkpoint] acceptance testing of SPA with MG
  •        0009917: [exchange AML backoffice (SPA)] AML SPA must be able to create PDF with entire AML file(s) (Florian Dold)
  •        0009918: [exchange AML backoffice (SPA)] implement VQF-compliant GwG file listing (Florian Dold)
  •        0009875: [exchange AML backoffice (SPA)] FORM_IDs for challenger forms (sebasjm)
  •        0009639: [exchange] spec and implement transaction risk monitoring (Florian Dold)
  •        0009905: [exchange AML backoffice (SPA)] cannot enter multi-line values in context (sebasjm)
  •        0009777: [exchange AML backoffice (SPA)] implement derived properties (sebasjm)
  •        0009677: [exchange AML backoffice (SPA)] force manual AML_INVESTIGATION_STATE on 'other' (sebasjm)
  •        0009778: [exchange AML backoffice (SPA)] implement derived events (sebasjm)
  •        0009736: [exchange AML backoffice (SPA)] Design change (?): need to be able to provide context when adding measure (sebasjm)
  •        0009810: [exchange AML backoffice (SPA)] wild form for custom measure (sebasjm)
  •        0009877: [exchange AML backoffice (SPA)] MROS confirmation required without MROS event? (sebasjm)
  •        0009906: [exchange AML backoffice (SPA)] "add custom measure" does not actually add the measure to active measures (sebasjm)
  •        0009866: [exchange KYC SPA] missing obvious validations to the vqf forms (sebasjm)
  •        0009868: [exchange AML backoffice (SPA)] wizard forget the values when moving in and out the section (sebasjm)
  • 0009940: [deployment and operations] migrate pre 1.0 deployments to 1.0 setup (Christian Grothoff)
  • 0008614: [libeufin-bank] allow different fee classes for cashout (Antoine A)
  • 0009945: [merchant backoffice SPA] better error message when there is no wire transfer delay (sebasjm)
  • 0009935: [wallet (iOS App)] updated all outdated screenshots and keep them up-to-date (MarcS)
  • 0009934: [wallet (all platforms)] (re-)design currency selection in cta-withdraw wallet dialogue (vlada.svirsh)
  • 0009932: [wallet (iOS App)] iOS wallet should use "withdraw from bank" instead of plain "withdraw" on cta-withdraw (MarcS)
  • 0009930: [deployment and operations] test backups also on rusty (Florian Dold)
  • 0009926: [exchange] Fix incorrect SQL statement, parameters and callback signature in exchangedb/pg_select_withdrawals_above_serial_id.c (Christian Grothoff)
  • 0009922: [libeufin-nexus] get wallet tests to work with libeufin (Florian Dold)
  • 0009053: [exchange] add support for automated sanction list processing [4d] (Christian Grothoff)
  • 0009900: [auditor] Adapt auditor/taler-helper-auditor-coins to new refresh (Christian Grothoff)
  • 0009819: [libeufin-bank] cannot cashout (Antoine A)
  • 0008351: [Web site(s)] Get screenshots from the latest actual mobile apps and the CHF exchange just before going live (MarcS)
  • 0009334: [wallet-core] wallet does not automatically handle expired pay-merchant transactions, payment-expired test also only handles manual case (MarcS)
  • 0009646: [documentation] Merchant authentication/token API not (fully documented) (schanzen)
  • 0009536: [wallet (WebExtension)] two CHF exchanges and weirdness everywhere (also: global vs. regional exchange settings borked) (sebasjm)
  • 0009007: [wallet (iOS App)] iOS wrongly reports a network failure when wallet-core cancels a long-poll network call (~ 4-6 hours) (MarcS)
  • 0008999: [libeufin-bank] Set limits to all variable size user inputs (Antoine A)
  • 0009873: [merchant backoffice SPA] kyc is not yellow while the kyc is still pending (sebasjm)
  • 0009943: [merchant backoffice SPA] Webhook creation page has different event types and fields than webhook edit/update page (sebasjm)
  • 0009713: [wallet (WebExtension)] on invoice: QR code should be shown by default (sebasjm)
  • 0009728: [wallet (WebExtension)] qr code should be shown by default in P2P (sebasjm)
  • 0009858: [wallet (Android App)] migrate qtart away from legacy Maven publishing API (avalos)
  • 0009947: [exchange] search_path does not work for some triggers (Christian Grothoff)
  • 0009946: [wallet (Android App)] No info if QR already was claimed by another wallet (avalos)
  • 0009933: [wallet (Android App)] Android wallet should use "withdraw from bank" instead of plain "withdraw" cta-withdraw (avalos)
  • 0009944: [exchange] secmod pthread_detach is unclean (Christian Grothoff)
  • 0009923: [deployment and operations] uptimekuma failed to alert when we took spec down (Christian Grothoff)
  • 0009939: [merchant-pos-terminal (Android App)] Update dependency for QR code recognition on PoS app (Bohdan)
11 of 48 issue(s) resolved View Issues

Taler - 1.1

0%
Scheduled For Release 2025-06-30
Last-minute changes for GLS public beta
  • 0009929: [merchant backend] improve onboarding flow
  • 0009892: [merchant backend] make retry timeouts in taler-merchant-kyccheck configurable for better testability (Florian Dold)
  • 0009942: [wallet-core] node implementation of dns lookup broke my internet
  • 0009756: [deployment and operations] alertmanager in ansible-taler-exchange
  • 0009890: [exchange] exchange has no API for AML officer to get default rules
  • 0009815: [merchant backend] Backend as a Service (EASE) durch GLS Bank: self-provisioning / Erfassung von Email Adresse und Telefonnummer
  • 0009764: [deployment and operations] ansible deployment scripting for GLS
  •        0009641: [deployment and operations] create ansible playbook for deploying GLS prod locked down base system
  • 0009941: [deployment and operations] enable hack to migrate BFH from CHF to CHFᛒᚠᚺ (or CHFB) (Florian Dold)
  • 0009931: [wallet (Android App)] Protect access to Android wallet (avalos)
  • 0009920: [merchant backend] Auto-update not working for debian apt findout why and fix it (Bohdan)
  • 0009572: [exchange AML backoffice (SPA)] automatic logout (sebasjm)
  • 0009647: [merchant backend] Scope in tokens / authorizations needs rework (schanzen)
  •        0009556: [specification] address merchant auth token weirdness (schanzen)
  •        0009620: [merchant backend] Restrict public instance access and replace token-based authentication with username and password
  • 0009754: [merchant backoffice SPA] admin should be able to reset/change password of other instances (sebasjm)
  • 0009724: [wallet (iOS App)] Use FaceID/TouchID to enable using the app (MarcS)
  • 0009258: [wallet (Android App)] Informationen über erfolgreiche Aufladung / Information about successful top-up (avalos)
  • 0009257: [wallet (all platforms)] Cancellation of the e-money contract / Kündigung des E-Geld Vertrages (MarcS)
0 of 19 issue(s) resolved View Issues

Taler - 1.2

0%
Scheduled For Release 2025-07-31
Subscriptions and discount tokens
  • 0009057: [wallet (all platforms)] support subscription and discount tokens (avalos)
  •        0009434: [merchant backend] insert_spent_token fails to increment token family token counter
0 of 2 issue(s) resolved View Issues

Taler - 1.3

0%
Scheduled For Release 2025-08-31
User experience
  • 0009613: [merchant backend] View total revenue from Orders (Christian Grothoff)
  • 0009361: [merchant backend] transaction overviews for the merchants / Abrechnung für die Händler*innen (Damian Pilka)
  • 0009078: [merchant backend] Default wire transfer delay should be absolute (how)
  • 0007948: [merchant backoffice SPA] add pagination API for inventory management
  • 0008989: [merchant backoffice SPA] Better pagination in merchant SPA
  • 0009055: [merchant backoffice SPA] Merchant SPA is not mobile-friendly
  • 0009619: [merchant backoffice SPA] Move add Orders button on top of the page
  • 0009681: [merchant backoffice SPA] while viewing order details page, SPA does not long-poll, shows stale data
  • 0009177: [merchant backoffice SPA] guide the merchant trought the bank account activation
  • 0009772: [merchant backoffice SPA] template "print" button
  • 0009766: [merchant backoffice SPA] merchant pop-up with KYC-auth wire transfer instructions lacks QR codes
  • 0009741: [merchant backoffice SPA] Different quick editing for products with finite and infinite stock
  • 0009499: [merchant-pos-terminal (Android App)] need easier way to activate account
  • 0009515: [merchant backoffice SPA] QR code for PoS setup
  • 0009748: [merchant backend] improve selection of bank account on order creation
  • 0009511: [merchant backend] Add product_name field
  • 0009148: [merchant backend] merchant should have a default refund deadline
  • 0009360: [merchant backend] consider computing refund deadline based on payment deadline, not order creation timestamp
  • 0009454: [merchant backend] import transaction settlement data from exchange without wire transfer confirmation
  • 0009038: [merchant backend] fix category CRUD api
  • 0007949: [specification] unified set of parameters for endpoint with pagination
  • 0009525: [merchant backoffice SPA] 'Passwort' instead of 'Zugangstoken' in Merchant Backend (Stefan)
0 of 22 issue(s) resolved View Issues

Taler - 1.4

0%
Scheduled For Release 2025-09-30
DONAU
  • 0009059: [merchant backend] support donation receipts (Bohdan)
  • 0009058: [wallet (all platforms)] support donation receipts (avalos)
  •        0009435: [donau] Donau lacks authorization checks
0 of 3 issue(s) resolved View Issues

Taler - 1.6

0%
Scheduled For Release 2025-11-30
Magnet public beta
  • 0009530: [wallet (all platforms)] Support both BBAN and IBAN input for IBAN payto
  • 0009060: [libeufin-nexus] finish support for Magnet bank core banking (Antoine A)
0 of 2 issue(s) resolved View Issues
Scheduled For Release 2026-03-01
Features that are not in scope for 1.0 but we still want to keep track of.
  • 0009949: [merchant backend] Add control to exclude domains and IP-ranges for webhooks
  • 0009853: [exchange] nginx gives 499 when long polling
  • 0009370: [wallet (all platforms)] bank dialects: netzbon
  • 0009017: [other] test exchange business shutdown procedure, support alert in wallets
  • 0006396: [libeufin-nexus] Implement FinTS
  • 0006269: [libeufin-sandbox] sandbox should emit c52/c53 more like real banks do
  •        0006893: [libeufin-sandbox] Camt reports should respect time "chunking".
  • 0006268: [libeufin-sandbox] sandbox should support balances in c52/c53
  • 0007506: [libeufin (general)] Add helpers to generate test data.
  • 0006397: [documentation] write a good README(.md) file for LibEuFin
  • 0007344: [libeufin-bank] withdraw target unclear
  • 0006400: [libeufin-nexus] consider doing faster re-tries for some scheduled operations
  • 0006563: [documentation] document recommended rules for wallet's auto-refresh
  • 0007509: [documentation] libeufin-sandbox API doc lacks response status codes.
  • 0006399: [libeufin-nexus] review and document date/time/timezone handling
  • 0007592: [documentation] libeufin-sandbox implementation of Taler Bank Access API may omit HTTP status codes.
  • 0005962: [libeufin-nexus] find out details about EBICS case sensitivity
  • 0007507: [libeufin-sandbox] EBICS management spans two API routes.
  • 0006698: [libeufin (general)] general code cleanup required
  • 0006547: [libeufin-nexus] Offer raw EBICS upload for any message.
  • 0005955: [libeufin (general)] use EBICS return codes from EBICS spec, make sure correct codes are returned
  • 0006962: [libeufin (general)] CAMT reports need more structure to specify negative balances.
  • 0007569: [libeufin-sandbox] EBICS error codes should be fetched from the enum defined in Util.
  • 0006243: [libeufin-sandbox] sandbox filtering on EBICS date range is missing in C53 requests
  • 0006364: [libeufin (general)] Comments style.
  • 0007116: [libeufin-nexus] payment bouncing fee should be configurable
  • 0007339: [wallet (WebExtension)] withdrawal triggered on insufficient balance does not work in demo (due to fees)
  • 0005973: [libeufin-bank] report more information about a user's state
  • 0009884: [exchange] AML programs should receive requested config values from the exchange
  • 0006664: [documentation] clarify normalization algorithm of contract terms and backup blob
  • 0008740: [wallet-core] wallet core should return more specific error codes for failed HTTP requests [scope-unclear]
  • 0009697: [wallet (Android App)] Add bank accounts management shorcut in settings
  • 0007886: [wallet-core] consider adding log categories instead of file-based log tags
  • 0008268: [wallet-core] consider surfacing more information about transaction-related retries to UIs
  • 0008624: [libeufin-bank-ui (SPA)] need account setup meta-SPA
  • 0008775: [wallet-core] consider allowing all non-final wallet-core states to be suspended/resumed
  • 0009019: [specification] clarify usage of currency specification
  • 0009606: [exchange] consider also running AML measure program after form/attribute submission by AML officer
  • 0008827: [wallet (Android App)] Fastline app description translation missing on Weblate
  • 0008662: [wallet-core] implement background task to validate future exchange denominations / signing keys early
  • 0009686: [qtart] add build flag to disable libcurl support in quickjs-tart
  • 0009679: [exchange AML backoffice (SPA)] consider supporting multi-nationality / multi-country in risk assessment in VQF 902.4
  • 0009615: [merchant backend] Auto-Generate IDs for forms
  • 0007598: [wallet-core] review and revise backup APIs
  • 0008033: [other] i18n langs should not be part of the js bundle
  • 0008468: [deployment and operations] regio: consider configuring a systemd timer to re-run taler-exchange-offline
  • 0008004: [wallet-core] wallet core should accept prepare a transaction when there is no network
  • 0005972: [libeufin-nexus] Avoid sending signed data before key exchange
  • 0006073: [libeufin-nexus] serialize some transaction state to the database
  • 0007658: [qtart] support threaded crypto workers
  • 0006800: [wallet-core] wallet should support link protocol (for double spend error recovery after restore from backup)
  • 0005947: [libeufin-bank] spec and implement proper generation of EBICS Host "OrderID"
  • 0007719: [wallet (WebExtension)] withdraw call to action should check if mobile withdrawal has been initiated
  • 0006558: [wallet-core] transaction item for "lost coins due to expiration" needed
  • 0007298: [wallet-core] wallet should allow optionally specifying (and remembering) sender information for p2p payments
  • 0007866: [wallet-core] transactions should keep some history data
  • 0007850: [wallet-core] aborting: "revive" or "resurrect" back to pending
  • 0006077: [wallet-core] sync support needed in wallet core
  • 0006614: [wallet-core] consider using JSON-RPC instead of custom, slightly different format
  • 0006505: [wallet-core] define UX and API for "global errors/notifications"
  • 0006582: [wallet-core] checking for refunds of a purchase should be possible from within the wallet
  • 0006039: [wallet-core] consider using underscores for the "public API" exposed by wallet-core
  • 0007841: [specification] merchant should require wallet to accept or reject refund
  • 0009927: [libeufin (general)] make dist creates non-standard names
  • 0009898: [exchange] Parent issue for cleanup tasks post withdraw refactor and new refresh protocol
  •        0009828: [exchange] Redesign recoup to accomodate for changes in withdraw and refresh API's
  •              0007868: [wallet-core] recoup transaction not spec'ed in DD37
  •              0006565: [wallet-core] wallet should try recoup when payment fails with certain error codes
  •        0009901: [exchange] Adapt testing/test_exchange_api_twisted to new melt/reveal API
  •        0009899: [exchange] Rewrite exchangedb/test_exchange_db.c
  •        0009902: [exchange] util: phase out TALER_cs_withdraw_nonce_derive
  • 0009924: [auditor] strange valgrind failure in auditordb plugin
  • 0009921: [release] improve check-prebuilt
  • 0009761: [wallet (Android App)] android wallet should show kycPaytoHash in dev mode for transaction with pending KYC
  • 0009497: [libeufin-bank-ui (SPA)] Taler Bank SPA translation into German [May 2025]
  • 0009396: [wallet (iOS App)] Adding a known account during deposit create a navigation maze
  • 0008859: [merchant backend] it should honor age restriction from template
  • 0009406: [documentation] documentation for various hash codes are lacking details
  • 0009388: [documentation] Add semver information to REST-API endpoints
  • 0008916: [libeufin-bank] Idle logout of demo bank website
  • 0008383: [wallet (iOS App)] complete accessibility
  • 0008894: [wallet (iOS App)] Pull-to-Refresh (if no pending transactions exist)
  • 0009353: [wallet-core] check denomination revocation logic
  •        0008943: [wallet-core] integration test for recoup-refresh is incomplete
  •              0009828: [exchange] Redesign recoup to accomodate for changes in withdraw and refresh API's
  • 0008384: [wallet (iOS App)] Localization
  • 0007448: [wallet-core] wallet operation that receive amount in the request should specify if the amount include fee
  • 0008734: [wallet (WebExtension)] bulk deletion
  • 0009893: [wallet-core] purge old withdrawal/refresh protocol code from wallet-core
  • 0009829: [other] move buildPaginatedResult to util in taler-typescript-core.git
  • 0009887: [exchange AML backoffice (SPA)] we need a place for the VQF reporting in the UI
  • 0009820: [wallet-core] Inconsistentcy in denominations with and without age restrictions during refresh
  • 0009913: [exchange KYC SPA] inline translations for vqf forms in form definitions
  • 0009831: [wallet (Android App)] Android wallet should show state and error message for exchange entries
  • 0009882: [deployment and operations] use challenger converters from the exchange instead of ansible
  • 0009386: [auditor (SPA)] account for bank wire transfer fees (incoming/outgoing)
  • 0009141: [auditor (SPA)] Auditor SPA (reserve) reporting is missing important values
  • 0009862: [wallet (iOS App)] Copy+paste of paytoUri produces twice percent-encoded string on iOS 18.x
  • 0009760: [wallet (iOS App)] iOS wallet should show kycPaytoHash in dev mode for transaction with pending KYC
  • 0009835: [wallet-core] peer push payment initiation should fail when exchange entry is not in a ready state
  • 0009812: [wallet-core] wallet-core request confirmPay should not wait for payment success
  • 0009807: [quality checkpoint] QC wallet protocol version handling
  • 0009859: [taler-harness] extend balance threshold test with handling of multiple / subsequent balance thresholds, "verboten" limits
  • 0009785: [wallet (all platforms)] Unfinished transactions in history should lead to respective flows
  •        0009790: [wallet (WebExtension)] Unfinished transactions in history should lead to respective flows
  • 0009670: [wallet (all platforms)] More reactive payment flows flows
  • 0009885: [exchange] AML programs should validate the FORM_ID and form attributes
  • 0009814: [taler-harness] harness tests should clean up processes more thoroughly after test failure
  • 0009879: [exchange] voluntary measures not implemented
  • 0009048: [exchange] introduce a default check and support vATTEST API [4h]
  • 0009908: [libeufin-bank-ui (SPA)] consider asking for name in wire transfer form of the libeufin bank
  • 0009907: [exchange AML backoffice (SPA)] AML SPA does not show full AML decision impacts in terms of measures
  • 0009626: [taler-harness] Add planchet collision tests to harness
  • 0009895: [wallet (all platforms)] write DD to harmonize handling of unfinished payment transactions
  • 0009896: [wallet-core] muliple pending tx on the wallet
  • 0009897: [wallet (all platforms)] Encrypt mobile database
  • 0009874: [exchange] measures do not always have to have PROGRAMS
  • 0009867: [deployment and operations] rusty does not show up properly on monitoring
  • 0009842: [deployment and operations] improve packaging-ng
  • 0009864: [merchant backoffice SPA] space not tolerated in IBAN
  • 0009837: [wallet-core] consider implementing dev experiment to fake currency specifications
  • 0009830: [wallet (Android App)] in Android wallet, user should have to confirm after scanning a dev-experiment QR code
  • 0009834: [wallet (all platforms)] wallets should show spinner / animation in pending state
  • 0009825: [exchange KYC SPA] support VQF form 902.12 (foundations)
  • 0009826: [exchange KYC SPA] support VQF 902.15 (life insurance)
  • 0009827: [exchange KYC SPA] support VQF form 902.13 (trusts)
  • 0009817: [merchant backend] Backend as a Service (EASE) durch GLS Bank: self-provisioning / Prozess für Passwort Change
  • 0009816: [merchant backend] Backend as a Service (EASE) durch GLS Bank: self-provisioning / Validierung von Email Adresse und Telefonnummer
  • 0009811: [wallet (all platforms)] Support pagination / infinite scrolling
  • 0009818: [documentation] Point-of-Sales App documentation not helpful for setup
  • 0007561: [qtart] make taler-wallet-cli runnable under qtart
  • 0007698: [qtart] qtart should support opening a unix domain socket for the daemonized wallet
  • 0009801: [wallet (all platforms)] Add P2P mailbox payment request support
  • 0009802: [mailbox] Mailbox should honor a delivery period
  • 0009523: [other] Allow connecting the merchant backend to the bank revenue API via token in URI
  • 0009644: [libeufin-bank-ui (SPA)] bank ui should support listing and revoking tokens
  • 0009770: [merchant backend] merchant backend kyc state doesn't wait for longpolling
  • 0009793: [exchange] whe there is a missing attr in the context the exchange doesn't inform about it
  • 0009782: [merchant backoffice SPA] The Taler logo at the top of the page is not perfectly centered within the top bar. Instead, it appears to be centered relati
  • 0007981: [libeufin-bank-ui (SPA)] pressing enter should move to the next field
  • 0008874: [sandcastle (containerized demo deployment)] host systemd service should have health check for successful provisioning inside container
  • 0007807: [documentation] document conventions/guidelines for source-level dependencies (i.e. prebuilt branches and submodules)
  • 0008829: [wallet-core] wallet-core should handle deleted coins in deposit groups gracefully [5h]
  • 0009206: [specification] nirvana for regional currency setup
  • 0009774: [wallet-core] Extra property log file entries (1)
  • 0006951: [documentation] document state machine for payment process
  • 0008232: [other] tooling to remove duplicated config options
  • 0008378: [wallet (iOS App)] Payment: Detail view should show deadlines
  • 0008319: [libeufin-nexus] Unify Depo/Nexus schema and use a common wire gateway implementation
  • 0008881: [wallet-core] add better/high-level wallet-core request to check B-i withdrawal status
  • 0009567: [wallet-core] wallet-core should also report pay-merchant transactions in dialog state
  • 0009033: [wallet (Android App)] Investigate wallet app performance
  • 0009026: [libeufin-bank] Support memory-hard password hashing method
  • 0009222: [wallet (Android App)] interface between Android wallet and other apps should be documented
  • 0008748: [wallet-core] Transactions should always include an Exchange info [2h]
  • 0008868: [wallet-core] consider throttling concurrency in shepherd and refresh groups [3h]
  • 0008258: [wallet-core] consider providing fluent interface for amount/date types, review date and amount type hierarchy [12h]
  • 0005936: [libeufin-sandbox] version / revision / other globals / should be available from context
  • 0007997: [libeufin-bank] user should create admin account to setup libeufin bank
  • 0008576: [wallet-core] handle change of master public key (as well as currency, fees, ...) gracefully [estimate: 8d+]
  • 0009010: [libeufin-nexus] Payments status API
  • 0009081: [wallet (Android App)] Missing taxes information for order
  • 0009020: [wallet (Android App)] Unify progress bar handling
  • 0008687: [documentation] Taler Ops WWW uses Bitmaps (PNGs) where SVGs would be more applicable
  • 0009100: [wallet (WebExtension)] Styling in "GET DIGITAL CASH" flow is inconsistent
  • 0008379: [wallet (iOS App)] link payment and refund (~ 1 day)
  • 0009749: [wallet (Android App)] Error messages layout implementation
  • 0009287: [taler-harness] implement DB migration tests for libeufin (and others) in taler-harness
  • 0007903: [wallet-core] expose details about the amount lost (or final effective cost) after aborting transactions [16h]
  • 0008248: [wallet-core] get wallet-core codebase ready for code review [60+h]
  •        0009593: [wallet-core] Revisit lazy denomination validation logic [1-2d]
  • 0009763: [wallet (iOS App)] iOS wallet should show the *raw* amount as the maximum depositable amount
  • 0007699: [wallet-core] wallet should support different types of instructed amounts (before and after fees)
  • 0007806: [wallet (Android App)] Lots of 'complaints' when compiling wallet
  • 0006696: [documentation] discuss better structure for LibEuFin docs
  • 0008310: [libeufin-nexus] does ebics-submit support DB notification?
  • 0008375: [taler-harness] implement test for exchange that changes its currency
  • 0009566: [wallet (WebExtension)] iOS wallet should show unconfirmed pay-merchant transactions and allow confirming later
  • 0009460: [libeufin-nexus] General EBICS client
  • 0007273: [exchange] taler-bank-benchmark should be able to launch libeufin [4h]
  • 0009251: [wallet-core] increase max retry timeout for exchange entry when not required by any active tranaction [5h]
  • 0008982: [wallet-core] refactor DB transactions [5+d]
  • 0008437: [wallet-core] implement tests for transaction filtering [estimate: 3h]
  • 0007988: [wallet-core] clean up TypeScript declarations and parsers for protocol types
  • 0008546: [specification] design new wallet onboarding screen
  • 0008633: [specification] specify metrics and health checks we want for Taler server-side components [estimate: 6h]
  • 0009500: [libeufin-bank] desire to print to PDF
  • 0009542: [wallet (all platforms)] transaction history weirdness
  • 0009277: [other] harness should be able to simulate kyc
  • 0009696: [wallet-core] support for pending kyc on bank accounts
  • 0009654: [wallet-core] add TOPS and NetzBon exchange to builtin exchanges in wallet-core
  • 0009329: [wallet-core] wallet-core should support shopping URL
  • 0009276: [exchange] Exchange should expose internal transitions/events on KYC accounts [design-required]
  • 0008742: [wallet (all platforms)] i18n for all wallets [ongoing]
  • 0008848: [wallet-core] hide network errors for refresh transactions outside dev mode, show instead in dependent transactions [4h]
  • 0009699: [wallet (WebExtension)] Warn before forgetting a bank account
  • 0009698: [wallet-core] Detect bank account duplicate
  • 0007998: [wallet-core] Accountless registration broken repurchase detection for GNS delegations
  • 0007916: [wallet-core] support STEFAN parameters [estimate: 20h]
  • 0008014: [wallet-core] optimize denomination selection by using denomination families
  • 0009595: [wallet (WebExtension)] In the Firefox Wallet, no menu to add a new Exchange in the normal settings.
  • 0008172: [libeufin-bank-ui (SPA)] import payto URI should allow QR codes
  • 0008270: [wallet (WebExtension)] currency is not sticky
  • 0008271: [merchant backoffice SPA] merchant backend SPA detail view page for an order does not long-poll
  • 0008029: [merchant backoffice SPA] when showing order details, SPA should update when order status changes
  • 0007309: [libeufin-bank-ui (SPA)] improve language switcher integration
  • 0007434: [wallet (WebExtension)] icons in transaction history unclear
  • 0007518: [wallet (WebExtension)] search transaction
  • 0008942: [libeufin-bank-ui (SPA)] check /config when doing a request to account-info-endpoint returns 400 [4hs]
  • 0008682: [wallet (WebExtension)] WebExtension on chrome spell-checks entered taler://-URIs
  • 0008767: [wallet (WebExtension)] observavility events: add a filter to show events trigger by actions called in the current screen. [6hs]
  • 0008642: [specification] design document for extend access token API
  • 0009067: [wallet (WebExtension)] importing a function breaks the taler support
  • 0009663: [exchange AML backoffice (SPA)] we shoud be able to access the handler directly
  • 0009729: [exchange KYC SPA] maximum upload size is 16 MB
  • 0009568: [wallet (WebExtension)] webext wallet shows "already claimed" for a short time before showing article after purchase
  • 0009642: [merchant backoffice SPA] backend SPA should have option to show raw contract terms on order status
  • 0009342: [libeufin-bank-ui (SPA)] Support locked account and token creation 2FA challenges
  • 0009551: [exchange KYC SPA] 502 snack bar remains even after error was cleared
  • 0008526: [wallet-core] parsing taler:// and payto:// should also get errors
  • 0009032: [wallet (WebExtension)] review labels on transaction details screen
  • 0009690: [wallet (WebExtension)] Aborting a P2P payment does nothing in the UI
  • 0009758: [wallet (WebExtension)] tried to add TOPS exchange to WebExtension and failed
  • 0009771: [taler-harness] harness should not use deprecated /instances/admin/* endpoints
  • 0009775: [documentation] Write a design document on payment sharing/repurchase/replay from the wallet perspective
  • 0009773: [merchant backend] Duplicate bank accounts
  • 0009776: [exchange] add support the statistic of many events in the same request
  • 0009028: [wallet-core] Fee computing should accept an optional bool 'amountIsNet' parameter
  • 0009050: [wallet-core] Implement checkDeposit with gros/net switch
  • 0008866: [wallet-core] consider garbage-collecting expired merchant payment transactions in state `dialog(proposed)`
  • 0009671: [wallet (iOS App)] internal error on first withdraw...
  • 0008134: [wallet-core] wallet-core should use typed HTTP client implementations [estimate: 20h]
  • 0008337: [specification] Review/revise Section 4.4 of DD35
  • 0009004: [documentation] document wallet-browser integration
  • 0009080: [wallet (WebExtension)] Missing taxes information for order
  • 0007452: [wallet-core] extend GetExchangeTos wallet operation to be reuse for backup or auditor
  • 0009412: [sandcastle (containerized demo deployment)] add a status.html which list all the components with status + version
  • 0008594: [wallet-core] do consistency checks when updating denominations
  • 0008688: [wallet-core] wallet doesn't validate exchange signing keys, doesn't use them much [estimate: 5h]
  • 0008538: [wallet-core] consider removing exchange details pointer in the wallet-core DB
  • 0007558: [qtart] bundle TLS CA certs and re-enable TLS peer+host verification for libcurl HTTP client implementation
  • 0007855: [wallet-core] All transactions should have a separate "finished" timestamp, sorting should be possible by this finished timestamp
  • 0009650: [other] AML forms for trusts (vqf_902_13) and foundations (vqf_902_12)
  • 0009557: [wallet-core] consider automatically contacting global/regional exchanges from merchant contract terms
  • 0007485: [wallet (WebExtension)] check navigator.share and share_target for adoption
  • 0007951: [merchant backoffice SPA] make merchant backend truly multi-currency capable
  • 0008963: [wallet (iOS App)] implement mock banking app for iOS to demonstrate wallet integration
  • 0009691: [wallet (WebExtension)] Better network issue UI
  • 0007978: [wallet-core] store transaction events when changing transaction details
  • 0006977: [wallet-core] make wallet-core more resistant against node supply chain attacks
  • 0007847: [wallet-core] DoS when all wallet try to refresh coins at the same time
  • 0008441: [wallet-core] wallet-core should long-poll withdrawal operation *and* reserve at the same time
  • 0008652: [merchant-pos-terminal (Android App)] same amounts can have different fees
  • 0007726: [sandcastle (containerized demo deployment)] sandcastle should run services on unix domain sockets instead of ports
  • 0009014: [libeufin-bank-ui (SPA)] export activity log
  • 0006248: [libeufin-nexus] test error handling during subscriber initialization
  • 0006259: [libeufin-nexus] error log in database
  • 0009089: [deployment and operations] remove netzbon relicts from main.sh
  • 0008690: [wallet-core] reinstate balance from denom-loss transactions when denomination becomes available again
  • 0008589: [wallet-core] do GANA pass over wallet-core [estimate: 12h]
  • 0008769: [specification] document possible error codes in wallet-core API docs
  • 0007952: [merchant backoffice SPA] implement dd51
  • 0007848: [wallet-core] wallet-core should return maximum expiration time for purse based on available coins
  • 0008710: [wallet-core] validate exchange coin history [estimate: 8h]
  • 0007593: [qtart] implement TALER_WALLET_destroy
  • 0008543: [wallet (Android App)] Implement wallet-core integration tests as unit/UI tests.
  • 0006588: [wallet-core] wallet-core should support range queries for the transactions list
  • 0008651: [merchant-pos-terminal (Android App)] Refund doesn't show in payment history
  • 0009093: [wallet (WebExtension)] show spinning wheel in webextension wallet when waiting for background task
  • 0007780: [taler-harness] taler-harness lint should check exchange ToS markdown syntax
  • 0007321: [wallet-core] "pnpm install" complains about unmet peer dependencies
  • 0008318: [wallet-core] Improve the security of P2P send
  • 0009720: [sandcastle (containerized demo deployment)] add showDemo in settings
  • 0009688: [wallet (Android App)] P2P push not network improve UI
  • 0009689: [wallet (Android App)] P2P pull not network improve UI
  • 0009565: [wallet (WebExtension)] Webext wallet should show unconfirmed pay-merchant transactions and allow confirming later
  • 0009540: [exchange AML backoffice (SPA)] AML SPA throttled?
  • 0009190: [wallet-core] Check P2P-Expirations more often
  • 0008988: [merchant backoffice SPA] Better handling of large images in product creation
  • 0009700: [wallet (Android App)] Allow scanning QR code from file
  • 0005953: [libeufin (general)] generate code documentation with Dokka
  • 0009721: [deployment and operations] Improve Taler systemd service security
  • 0009586: [wallet-core] remove obsolete userAttention APIs
  • 0009249: [wallet-core] improve performance of backwards transaction iteration
  • 0008178: [documentation] specify and document AML SPA configuration in exchange handbook
  • 0009516: [merchant backoffice SPA] Verification OTP
  • 0009442: [libeufin-bank-ui (SPA)] cash acceptor flow
  • 0009508: [merchant backoffice SPA] Delete confirmation
  • 0007484: [wallet (WebExtension)] Usability problem with Bitcoin amounts
  • 0006721: [libeufin-nexus] consider a way to synchronize the row_id with the TWG
  • 0008954: [release] Non-systemd reliance
  • 0007854: [qtart] strip absolute pathname from stacktraces
  • 0008253: [documentation] Translation into Spanish of tutorial-videos.git
  • 0007881: [wallet (WebExtension)] make Wallet Web Extension compatible with Tor private browsing
  • 0009562: [specification] Add a batch transfer endpoint to the Wire Gateway API
  • 0009248: [merchant-pos-terminal (Android App)] Provide tax information in Point-of-Sales app
  • 0009693: [wallet-core] clause-schnorr support untested and likely incomplete
  • 0009121: [auditor (SPA)] remove *some* "suppress" buttons
  • 0009187: [exchange KYC SPA] export information about context requirements for each KYC form
  • 0009476: [wallet (Android App)] TOTP authenticator app with support for Taler amounts
  • 0008947: [libeufin-bank-ui (SPA)] fix public accounts page
  • 0009018: [documentation] document (new) NFC communication approach between apps
  • 0008006: [wallet (WebExtension)] Accessibility Taler demo website
  • 0008842: [wallet (WebExtension)] add support for safari
  • 0008586: [Web site(s)] Weblate Spanish translation - Taler Systems - 0%
  • 0008901: [wallet (Android App)] Create Buildbot test/deployment pipeline for the Android wallet (and other apps) [estimate: 8h]
  • 0008964: [wallet (Android App)] implement mock banking app for Android to demonstrate wallet integration
  • 0008137: [Merchant frontends (Python3)] simplify merchant frontend order creation
  • 0008899: [merchant backend] merchant backend should support bearer token authentication when talking to the bank
  • 0009315: [auditor] need tests for auditor KYC support
  • 0008995: [merchant backend] consider adding timing information to PoS confirmation codes
  • 0009284: [exchange] inefficient web serving in exchange mhd_spa
  • 0009027: [exchange] expose measures that have been triggered to AML staff [1d]
  • 0009747: [merchant backend] SPA should warn when adding a bank account of a type that no trusted exchange supports
  • 0009746: [merchant backend] improve error reporting when order can't be created due to wire method mismatch
  • 0009441: [documentation] Protocol version missing in public documentation
  • 0009247: [quality checkpoint] When ToS change in the Exchange, the user must be notified
  • 0009723: [exchange] exchange should set cache-control headers on GET requests to 'no-store' disable caching in some cases
  • 0009710: [exchange] post-kyc redirect is suboptimal
  • 0009662: [deployment and operations] set up ufw for persistent blocking on firefly
  • 0009702: [exchange] Broken SQL-logic in do_melt skips over nonce-reuse detection
  • 0009703: [exchange] taler-exchange-wire-gateway-client --debit-history fails with 404
  • 0009706: [specification] expose instance settings e-mail via contracts to customers
  • 0009668: [exchange] Potentially change the SQL versioning framework to use schema scopes for versions
  • 0009658: [exchange] expose customer statistics to AML SPA
  • 0009627: [exchange] bootstrap fails when submodules were renamed, should improve error message
  • 0009611: [merchant backend] Increased products images size support: From 1MB to 5MB
  • 0009573: [exchange] exchange kyc-check should support long-polling for withdrawals over specified amount
  • 0009510: [merchant backend] Products filtering, sorting and searching
  • 0008761: [sandcastle (containerized demo deployment)] sandcastle should integrate Woocommerce and Joomla demonstrators
  • 0009502: [deployment and operations] migrate weblate to firefly
  • 0009457: [merchant backend] scary comment about double payment
  • 0009453: [merchant backend] enable data export
  • 0009436: [auditor] early_aggregation table lacks REST API for inspection
  • 0009316: [auditor] pending deposits not exposed via REST API
  • 0009433: [auditor] auditor database garbage collection not implemented
  • 0009419: [exchange] some exchange database interactions lack transaction scopes
  • 0009373: [exchange] batch_ensure_coin_known not yet used [2d]
  • 0009407: [exchange] definition for various hash codes are lacking details
  • 0009049: [exchange] fakebank: support Extended Wire Gateway API
  • 0009207: [merchant-pos-terminal (Android App)] QR code generation reported as 'too slow'
  • 0008785: [deployment and operations] Update taler repository - Can't upgrade packages on anastasis.lu
  • 0008036: [Web site(s)] CSP shared between many *.taler.net-sites, should be made specific to each subdomain
  • 0009091: [deployment and operations] [regional currencies] required answers should be marked as such.
  • 0008858: [deployment and operations] Warning when git pushing, related with Python version
  • 0008229: [sandcastle (containerized demo deployment)] systemd timer to update exchange keys via taler-exchange-offline
  • 0008770: [specification] add taler error code in merchant/exchange spec
  • 0007707: [wallet-core] wallet should not allow certain operations if offline
  • 0007426: [Web site(s)] "public-accounts" link points at bank's homepage
  • 0007960: [documentation] taler-merchant-demos doesn't document config options
  • 0007985: [libeufin (general)] Not possible to generate unindented XML strings.
  • 0007950: [specification] add subject search to the transfer list endpoint
  • 0008440: [Web site(s)] Add news section on the NGI Taler page to have links to news items related to the project (hga3)
  • 0008476: [documentation] regio: improve user manual with detailed steps after installation (vlada.svirsh)
  • 0009651: [merchant backend] When changing the instance password we may want to revoke old access tokens (schanzen)
  • 0009762: [wallet (WebExtension)] webext wallet should show kycPaytoHash in dev mode for transaction with pending KYC
  • 0009869: [exchange KYC SPA] form should only include valid fields (sebasjm)
  • 0009838: [wallet-core] Clean P2P lifecycle (Antoine A)
  • 0009823: [wallet-core] Refactoring and cleaning (Antoine A)
  •        0009824: [wallet-core] Refactor transaction common logic (Antoine A)
  •        0009821: [wallet-core] Refactor notifications handling (Antoine A)
  •        0009822: [wallet-core] Refactor http impl (Antoine A)
  • 0009800: [wallet (all platforms)] Allow alias registration and discovery through taler directory. (schanzen)
  • 0008302: [deployment and operations] Current monitoring tools - Write documentation (dvn)
  • 0008922: [wallet (iOS App)] allow retrying after scanning (peer-push-credit) QR code (MarcS)
  • 0008923: [wallet (Android App)] allow retrying after scanning (peer-push-credit) QR code (avalos)
  • 0009645: [libeufin-bank] Lock account on password auth failure (Antoine A)
  • 0009547: [sandcastle (containerized demo deployment)] deploy up joomla in sandcastle-ng (dvn)
  • 0009546: [sandcastle (containerized demo deployment)] deploy up woocommerce in sandcastle-ng (dvn)
  • 0008980: [deployment and operations] lcov.taler.net is very outdated (schanzen)
  • 0008160: [wallet-core] Wallet UI: translation of UIs to DE/FR/IT [post-1.0] (Stefan)
  • 0008711: [libeufin-nexus] get nexus to work with EBICS dialect of Raiffeisen bank (Antoine A)
  • 0009422: [exchange] TALER_EXCHANGE_check_coin_conflict_ was never implemented (oec)
  • 0009224: [Web site(s)] add list of exchange operators to web site (Stefan)
  • 0008280: [specification] update dd53 with the behavior after payment (MarcS)
  • 0008406: [wallet (iOS App)] Let the user copy the DB to the public folder (MarcS)
  • 0008112: [merchant backend] Merchant security review (fefe)
  • 0008073: [specification] Age restriction support in GNU Taler (oec)
  •        0008074: [wallet-core] Add support for age-withraw in wallet-core (oec)
  • 0008680: [deployment and operations] CI projects not always picking up latest nightly packages (dvn)
1 of 379 issue(s) resolved View Issues
Scheduled For Release 2026-04-25
  • 0009844: [specification] consider improvements for KYC in deposit-to-own-account
  • 0007959: [other] taler-merchant-demos don't support full taler config
  • 0007858: [other] consider protocol extensions to shift around fees from customer to merchant
  • 0008836: [other] pretix integration does not work well with currency conversion
  • 0008648: [wallet (all platforms)] Preconfiguration of purposes
  • 0005686: [wallet (WebExtension)] Wallet feature request: silent payments.
  • 0008109: [exchange] feature request: reference counting is not atomic (fefe)
  • 0009355: [libeufin (general)] Enable Certificate Transparency support
  • 0008333: [libeufin-bank] do not use login name in x-taler-bank
  • 0009732: [wallet (all platforms)] allow user to choose what happens when reserve balance is higher than expected
  • 0007721: [sandcastle (containerized demo deployment)] Do not use pip3 with --break-system-packages
  • 0008110: [exchange] feature request: library functions should not abort the process
  • 0009225: [wallet-core] consider adding wallet feature to upload diagnostics for last $N transaction to service provider after user consent
  • 0009336: [libeufin-bank-ui (SPA)] hard to copy from mobile to webpage when they are in the same network
  • 0006562: [wallet-core] should wallet-core handle major system clock changes gracefully?
  • 0009427: [specification] decide what to do with the "history fee"
  • 0009462: [merchant backend] in-band signaling in the log
  • 0007316: [wallet-core] Get the 'taler' URI scheme into the HTML spec safe-list
  • 0004629: [other] certificates for merchant public keys aren't supported
  • 0003946: [wallet-core] storing merchant's key (and more?) in wallet's DB
  • 0006954: [merchant backoffice SPA] create sample deployment to test external authentication
  • 0007297: [wallet-core] add extension enabled into exchange info/database
  • 0007582: [wallet-core] implement user-initiated p2p kyc / KYCed reserve management
  • 0006914: [wallet-core] "annual fee for sync service" gets paid by another wallet, original wallet does not update provider status
  • 0007433: [wallet-core] wallet does not support invoicing with non-zero purse fees
  • 0007677: [wallet-core] consider having a recovery mode for the wallet
  • 0007862: [specification] exchange should return some hint about the kyc requirements
  • 0007365: [specification] KYC fee is never charged / not speced or implemented
  • 0008098: [wallet-core] After b-i-withdrawals, the Exchange should tell wallet-core that a bank supports Taler integration
  • 0005830: [merchant backend] implement request tunneling for wallets
  • 0007920: [wallet-core] Support for multiple accounts (private KYC, business KYB)
  • 0008282: [deployment and operations] different fee structures for demo/test/head
  • 0008540: [deployment and operations] automated browser-based testing of the regional currency deployment
  • 0008631: [deployment and operations] Fees charged to payer
  • 0006439: [wallet-core] wallet should support Anastasis
  • 0008519: [merchant backoffice SPA] add test bank account button
  • 0006843: [merchant backoffice SPA] every input type can be forgetable, handle UI to add checkbox
  • 0007697: [wallet-core] wallet is not GCing denominations
  • 0008366: [wallet-core] add support for recurring payments
  • 0006556: [wallet-core] have integration tests that mutate signatures to check that implementation checks all relevant signatures
  • 0009424: [auditor] taler-auditor-httpd incorrectly returns 404 when HTTP method does not match
  • 0009426: [specification] auditor lacks REST API to accept reports from merchants and wallets
  • 0008784: [deployment and operations] Write documentation - Anastasis backup program
  • 0004379: [wallet-core] error handling: exportable proof of e.g. double spending for auditor
  • 0007815: [exchange] exchange should have API to give refunds for purses in peer-pull payments
  • 0007917: [exchange] change applicablility of refresh fees
  • 0007174: [other] document conventions for HTTP Content-Type, consider allowing (or requiring?) document type versioning
  • 0003476: [wallet-core] evil exchange testsuite
  • 0005912: [e-commerce integrations] update django-payments/saleor plugin
  • 0007884: [exchange] exchange should have tooling to check consistency between DB and crypto helpers
  • 0007942: [libeufin-nexus] Design multiple bank accounts handling.
  • 0006564: [wallet-core] wallet-core API and UX design for auditor management needed
  • 0007271: [exchange] exchange-to-exchange wad transfers are not implemented
  • 0007467: [sandcastle (containerized demo deployment)] have more than one exchange in demo
  • 0008114: [exchange] review GC logic of exchange
  • 0005129: [other] suggest to the appropriate standard(s) to add certificate information to XMLHttpRequest
  • 0007671: [exchange] replace positional parameter for named parameters in taler-exchange-offline
  • 0008909: [merchant backend] merchant templates v2 should provide info about merchant and supported exchanges before instantiating order
  • 0008931: [merchant backend] support listing/querying the wire transfer status from the exchange for orders
  • 0008933: [merchant backend] consider reporting errors from the exchange in wire transfer checks
  • 0006941: [specification] design protocol / business procedure for validating the owner of an order via the nonce (oec)
  • 0008075: [specification] Extensions for GNU Taler (oec)
  •        0008001: [exchange] TEH_extension_post_handler: ensure idempotency
  •        0007270: [exchange] extension support is not implemented everywhere consistently
  • 0008077: [specification] Deposit Policy Extensions (oec)
  •        0007999: [exchange] Refine policy fulfillment handling (oec)
  • 0008076: [specification] Brandt-Vickrey Auctions (oec)
0 of 67 issue(s) resolved View Issues