Taler - Roadmap
Scheduled For Release 2025-08-15
Features that are not in scope for 1.0 but we still want to keep track of.
- 0008443: [other] upgrade to ES2023 with latest QuickJS
- 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
- 0008988: [merchant backoffice SPA] Better handling of large images in product creation (avalos)
- 0008916: [libeufin-bank] Idle logout of demo bank website (Antoine A)
- 0007662: [libeufin-bank] error does not provide the field where the validation is made (Antoine A)
- 0007721: [sandcastle (containerized demo deployment)] Do not use pip3 with --break-system-packages (Florian Dold)
- 0009001: [libeufin (general)] Abort early when a user cancel it's request (Antoine A)
- 0007339: [wallet (WebExtension)] withdrawal triggered on insufficient balance does not work in demo (due to fees) (Florian Dold)
- 0006664: [documentation] clarify normalization algorithm of contract terms and backup blob (Florian Dold)
- 0005973: [libeufin-bank] report more information about a user's state (Antoine A)
- 0008877: [deployment and operations] Make CI containers use ramdisk/tmpfs [estimate: 5h] (dvn)
- 0008827: [wallet (Android App)] Fastline app description translation missing on Weblate (avalos)
- 0007598: [wallet-core] review and revise backup APIs
- 0008033: [other] i18n langs should not be part of the js bundle
- 0008662: [wallet-core] implement background task to validate future exchange denominations / signing keys early (Florian Dold)
- 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
- 0009049: [exchange] fakebank: support Extended Wire Gateway API
- 0009316: [auditor] pending deposits not exposed via REST 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
- 0008761: [mechant backend] Merchant backend instances for Woocommerce and Joomla
- 0008964: [wallet (Android App)] implement mock banking app for Android to demonstrate wallet integration (avalos)
- 0008137: [Merchant frontends (Python3)] simplify merchant frontend order creation (sebasjm)
- 0008901: [wallet (Android App)] Create Buildbot test/deployment pipeline for the Android wallet (and other apps) [estimate: 8h] (avalos)
- 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
- 0007949: [specification] unified set of parameters for endpoint with pagination
- 0007448: [wallet-core] wallet operation that receive amount in the request should specify if the amount include fee (sebasjm)
- 0009336: [libeufin-bank-ui (SPA)] hard to copy from mobile to webpage when they are in the same network (sebasjm)
- 0009080: [wallet (WebExtension)] Missing taxes information for order (sebasjm)
- 0007855: [wallet-core] All transactions should have a separate "finished" timestamp, sorting should be possible by this finished timestamp (Florian Dold)
- 0008379: [wallet (iOS App)] link payment and refund (~ 1 day) (MarcS)
- 0009093: [wallet (WebExtension)] show spinning wheel in webextension wallet when waiting for background task (sebasjm)
- 0009229: [wallet (Android App)] Allow to enter Taler-URI instead of scanning QR-code (avalos)
- 0009177: [merchant backoffice SPA] guide the merchant trought the bank account activation (sebasjm)
- 0009225: [wallet-core] consider adding wallet feature to upload diagnostics for last $N transaction to service provider after user consent (Florian Dold)
- 0009224: [Web site(s)] add list of exchange operators to web site (Stefan)
- 0008651: [merchant-pos-terminal (Android App)] Refund doesn't show in payment history (grote)
- 0009089: [deployment and operations] remove netzbon relicts from main.sh (avalos)
- 0008586: [Web site(s)] Weblate Spanish translation - Taler Systems - 0% (avalos)
- 0008253: [documentation] Translation into Spanish of tutorial-videos.git (avalos)
- 0009067: [wallet (WebExtension)] importing a function breaks the taler support (sebasjm)
- 0009081: [wallet (Android App)] Missing taxes information for order (avalos)
- 0009087: [deployment and operations] CI helper script broken in some projects (dvn)
- 0009100: [wallet (WebExtension)] Styling in "GET DIGITAL CASH" flow is inconsistent (nullptrderef)
- 0009050: [wallet-core] Implement checkDeposit with gros/net switch (Florian Dold)
- 0006588: [wallet-core] wallet-core should support range queries for the transactions list (sebasjm)
- 0008775: [wallet-core] consider allowing all non-final wallet-core states to be suspended/resumed (Florian Dold)
- 0008748: [wallet-core] Transactions should always include an Exchange info [2h] (Florian Dold)
- 0007558: [qtart] bundle TLS CA certs and re-enable TLS peer+host verification for libcurl HTTP client implementation (Florian Dold)
- 0009028: [wallet-core] Fee computing should accept an optional bool 'amountIsNet' parameter (Florian Dold)
- 0008280: [specification] update dd53 with the behavior after payment (MarcS)
- 0008680: [deployment and operations] CI projects not always picking up latest nightly packages (dvn)
- 0008428: [sandcastle (containerized demo deployment)] sandcastle-ng should use nightly pacakges instead of compiling [estimate: 3h] (dvn)
- 0008652: [merchant-pos-terminal (Android App)] same amounts can have different fees (grote)
- 0008440: [Web site(s)] Add news section on the NGI Taler page to have links to news items related to the project (hga3)
- 0008406: [wallet (iOS App)] Let the user copy the DB to the public folder (MarcS)
- 0008642: [specification] design document for extend access token API (sebasjm)
- 0008842: [wallet (WebExtension)] add support for safari (sebasjm)
- 0008688: [wallet-core] wallet doesn't validate exchange signing keys, doesn't use them much [estimate: 5h] (Florian Dold)
- 0008006: [wallet (WebExtension)] Accessibility Taler demo website (sebasjm)
- 0008687: [documentation] Taler Ops WWW uses Bitmaps (PNGs) where SVGs would be more applicable (nullptrderef)
- 0009018: [documentation] document (new) NFC communication approach between apps (avalos)
- 0007981: [libeufin-bank-ui (SPA)] pressing enter should move to the next field (sebasjm)
- 0007698: [qtart] qtart should support opening a unix domain socket for the daemonized wallet (Florian Dold)
- 0008319: [libeufin-nexus] Unify Depo/Nexus schema and use a common wire gateway implementation (Antoine A)
- 0008947: [libeufin-bank-ui (SPA)] fix public accounts page (sebasjm)
- 0007854: [qtart] strip absolute pathname from stacktraces (sebasjm)
- 0008538: [wallet-core] consider removing exchange details pointer in the wallet-core DB (Florian Dold)
- 0008767: [wallet (WebExtension)] observavility events: add a filter to show events trigger by actions called in the current screen. [6hs] (sebasjm)
- 0009014: [libeufin-bank-ui (SPA)] export activity log (sebasjm)
- 0009026: [libeufin-bank] Support memory-hard password hashing method (Antoine A)
- 0008488: [deployment and operations] investigate git hook to avoid submodule rewind (sebasjm)
- 0008515: [qtart] upgrade to 2024-01-13 release of QuickJs [estimate: 16h] (avalos)
- 0008954: [release] Non-systemd reliance (nullptrderef)
- 0008963: [wallet (iOS App)] implement mock banking app for iOS to demonstrate wallet integration (MarcS)
- 0008999: [libeufin-bank] Set limits to all variable size user inputs (Antoine A)
- 0008546: [specification] design new wallet onboarding screen (MarcS)
- 0008633: [specification] specify metrics and health checks we want for Taler server-side components [estimate: 6h] (Florian Dold)
- 0008524: [qtart] resolve include path issues in QuickJS-rt.xcodeproj (MarcS)
- 0008866: [wallet-core] consider garbage-collecting expired merchant payment transactions in state `dialog(proposed)` (Florian Dold)
- 0008231: [exchange] Update README in exchange (oec)
- 0008594: [wallet-core] do consistency checks when updating denominations (Florian Dold)
- 0008519: [merchant backoffice SPA] add test bank account button (sebasjm)
- 0008682: [wallet (WebExtension)] WebExtension on chrome spell-checks entered taler://-URIs (sebasjm)
- 0008248: [wallet-core] get wallet-core codebase ready for code review [60+h] (Florian Dold)
- 0008690: [wallet-core] reinstate balance from denom-loss transactions when denomination becomes available again (Florian Dold)
- 0008589: [wallet-core] do GANA pass over wallet-core [estimate: 12h] (Florian Dold)
- 0007988: [wallet-core] clean up TypeScript declarations and parsers for protocol types (Florian Dold)
- 0008982: [wallet-core] refactor DB transactions [5+d] (Florian Dold)
- 0008980: [deployment and operations] lcov.taler.net is very outdated (dvn)
- 0008437: [wallet-core] implement tests for transaction filtering [estimate: 3h] (Florian Dold)
- 0008258: [wallet-core] consider providing fluent interface for amount/date types, review date and amount type hierarchy [12h] (Florian Dold)
- 0007916: [wallet-core] support STEFAN parameters [estimate: 20h] (Florian Dold)
- 0008112: [mechant backend] Merchant security review (fefe)
- 0008384: [wallet (iOS App)] Localization (MarcS)
- 0008383: [wallet (iOS App)] complete accessibility (MarcS)
- 0008711: [libeufin-nexus] get nexus to work with EBICS dialect of Raiffeisen bank (Antoine A)
- 0008543: [wallet (Android App)] Implement wallet-core integration tests as unit/UI tests. (avalos)
- 0008942: [libeufin-bank-ui (SPA)] check /config when doing a request to account-info-endpoint returns 400 [4hs] (sebasjm)
- 0009020: [wallet (Android App)] Unify progress bar handling (avalos)
- 0008923: [wallet (Android App)] allow retrying after scanning (peer-push-credit) QR code (avalos)
- 0008922: [wallet (iOS App)] allow retrying after scanning (peer-push-credit) QR code (MarcS)
- 0008859: [mechant backend] it should honor age restriction from template (oec)
- 0009004: [documentation] document wallet-browser integration (sebasjm)
- 0008769: [specification] document possible error codes in wallet-core API docs (Florian Dold)
- 0009010: [libeufin-nexus] Payments status API (Antoine A)
- 0008476: [documentation] regio: improve user manual with detailed steps after installation (Stefan)
- 0008881: [wallet-core] add better/high-level wallet-core request to check B-i withdrawal status (Florian Dold)
- 0008868: [wallet-core] consider throttling concurrency in shepherd and refresh groups [3h] (Florian Dold)
- 0007593: [qtart] implement TALER_WALLET_destroy (avalos)
- 0008943: [wallet-core] integration test for recoup-refresh is incomplete (Florian Dold)
- 0008894: [wallet (iOS App)] Pull-to-Refresh (if no pending transactions exist) (MarcS)
- 0006721: [libeufin-nexus] consider a way to synchronize the row_id with the TWG (Florian Dold)
- 0007868: [wallet-core] recoup transaction not spec'ed in DD37 (Florian Dold)
- 0008624: [libeufin-bank-ui (SPA)] need account setup meta-SPA (sebasjm)
- 0008710: [wallet-core] validate exchange coin history [estimate: 8h] (Florian Dold)
- 0008268: [wallet-core] consider surfacing more information about transaction-related retries to UIs (Florian Dold)
- 0008134: [wallet-core] wallet-core should use typed HTTP client implementations [estimate: 20h] (Florian Dold)
- 0006565: [wallet-core] wallet should try recoup when payment fails with certain error codes (Florian Dold)
- 0007951: [merchant backoffice SPA] make merchant backend truly multi-currency capable (sebasjm)
- 0008614: [libeufin-bank] allow different fee classes for cashout (Antoine A)
- 0007848: [wallet-core] wallet-core should return maximum expiration time for purse based on available coins (Florian Dold)
- 0008576: [wallet-core] handle change of master public key (as well as currency, fees, ...) gracefully [estimate: 8d+] (Florian Dold)
- 0008375: [taler-harness] implement test for exchange that changes its currency (Florian Dold)
- 0008014: [wallet-core] optimize denomination selection by using denomination families (Florian Dold)
- 0008441: [wallet-core] wallet-core should long-poll withdrawal operation *and* reserve at the same time (Florian Dold)
- 0008378: [wallet (iOS App)] Payment: Detail view should show deadlines (MarcS)
- 0008366: [wallet-core] add support for recurring payments (Florian Dold)
- 0008337: [specification] Review/revise Section 4.4 of DD35 (Florian Dold)
- 0008318: [wallet-core] Improve the security of P2P send (Florian Dold)
- 0008310: [libeufin-nexus] does ebics-submit support DB notification? (Antoine A)
- 0007998: [wallet-core] Accountless registration broken repurchase detection for GNS delegations (Florian Dold)
- 0008029: [merchant backoffice SPA] when showing order details, SPA should update when order status changes (sebasjm)
- 0008271: [merchant backoffice SPA] merchant backend SPA detail view page for an order does not long-poll (sebasjm)
- 0008270: [wallet (WebExtension)] currency is not sticky (sebasjm)
- 0008259: [wallet-core] move out SPA from wallet-core repo (sebasjm)
- 0008232: [other] tooling to remove duplicated config options (oec)
- 0008172: [libeufin-bank-ui (SPA)] import payto URI should allow QR codes (sebasjm)
- 0008073: [specification] Age restriction support in GNU Taler (oec)
- 0007278: [exchange] Common handling of age restriction verification for withdraw and reward needed (oec)
- 0008074: [wallet-core] Add support for age-withraw in wallet-core (oec)
- 0008059: [libeufin-bank-ui (SPA)] new wire transfers do not show in SPA until explicit 'reload' (sebasjm)
- 0007881: [wallet (WebExtension)] make Wallet Web Extension compatible with Tor private browsing (sebasjm)
- 0007997: [libeufin-bank] user should create admin account to setup libeufin bank (Antoine A)
- 0007847: [wallet-core] DoS when all wallet try to refresh coins at the same time (Florian Dold)
- 0007561: [qtart] make taler-wallet-cli runnable under qtart (Florian Dold)
- 0007309: [libeufin-bank-ui (SPA)] improve language switcher integration (sebasjm)
- 0006696: [documentation] discuss better structure for LibEuFin docs (Antoine A)
- 0007807: [documentation] document conventions/guidelines for source-level dependencies (i.e. prebuilt branches and submodules) (Florian Dold)
- 0007434: [wallet (WebExtension)] icons in transaction history unclear (sebasjm)
- 0005953: [libeufin (general)] generate code documentation with Dokka (dvn)
- 0007518: [wallet (WebExtension)] search transaction (sebasjm)
- 0007952: [merchant backoffice SPA] implement dd51 (sebasjm)
- 0006977: [wallet-core] make wallet-core more resistant against node supply chain attacks (Florian Dold)
- 0007806: [wallet (Android App)] Lots of 'complaints' when compiling wallet (avalos)
- 0007699: [wallet-core] wallet should support different types of instructed amounts (before and after fees) (Florian Dold)
- 0006248: [libeufin-nexus] test error handling during subscriber initialization (Antoine A)
- 0007726: [sandcastle (containerized demo deployment)] sandcastle should run services on unix domain sockets instead of ports (dvn)
- 0006259: [libeufin-nexus] error log in database (Antoine A)
- 0005936: [libeufin-sandbox] version / revision / other globals / should be available from context (Antoine A)
- 0007983: [challenger] wallet-core must template generation is lacking (sebasjm)
- 0007978: [wallet-core] store transaction events when changing transaction details (Florian Dold)
- 0007886: [wallet-core] consider adding log categories instead of file-based log tags (Florian Dold)
- 0007780: [taler-harness] taler-harness lint should check exchange ToS markdown syntax (Florian Dold)
- 0007452: [wallet-core] extend GetExchangeTos wallet operation to be reuse for backup or auditor (sebasjm)
- 0007321: [wallet-core] "pnpm install" complains about unmet peer dependencies (sebasjm)
- 0007484: [wallet (WebExtension)] Usability problem with Bitcoin amounts (MarcS)
- 0007485: [wallet (WebExtension)] check navigator.share and share_target for adoption (sebasjm)
- 0006951: [documentation] document state machine for payment process (oec)
0 of 217 issue(s) resolved View Issues