Commit Graph

  • a80ce54b78 fix(mcp): eager-auth flag on the Grok connector links so Grok starts OAuth (#2167) Mattsson 2026-09-02 16:55:23 +02:00
  • f1230282a9 feat(bookkeeping): verifikationsserie per bankkonto for bank-transaction bookings (#2160) Mattsson 2026-09-02 15:25:34 +02:00
  • 678acfe7ef fix(mcp): eager-auth flag so claude.ai's connector dialog detects OAuth, not "None" (#2159) Jakob Wennberg 2026-09-02 14:51:32 +02:00
  • 6a85efb00a feat(mcp): allowlist Grok's connector callback and document the Grok path (#2158) Mattsson 2026-09-02 14:42:39 +02:00
  • 61a76b1669 feat(parties): phase 0 prerequisites, pg_trgm and golden-set draw (#2157) Jakob Wennberg 2026-09-02 14:33:45 +02:00
  • f266c386f3 chore: repo-wide bloat sweep, remove dead code and fold duplicate helpers (#2150) Jakob Wennberg 2026-09-02 11:51:16 +02:00
  • 18cbc4c30a fix(security): audit remediation 2026-09-01: api_keys identity, viewer gates, OAuth binding, XSS, MFA gate (#2155) Jakob Wennberg 2026-09-02 11:38:30 +02:00
  • 6e8d76a9cb fix(skattekonto): remove the drift email, its event and the unused drift route (#2149) Jakob Wennberg 2026-09-02 11:28:55 +02:00
  • 5b64df9c80 build(deps-dev): bump browserslist from 4.28.1 to 4.28.8 (#2151) dependabot[bot] 2026-09-02 11:28:32 +02:00
  • 2b8e0f2d66 build(deps): bump dompurify from 3.4.12 to 3.4.14 (#2154) dependabot[bot] 2026-09-02 11:28:09 +02:00
  • 3b7d2f89f2 build(deps-dev): bump flatted from 3.3.3 to 3.4.4 (#2153) dependabot[bot] 2026-09-02 11:27:46 +02:00
  • 73897c3d1a build(deps): bump brace-expansion (#2152) dependabot[bot] 2026-09-02 11:27:22 +02:00
  • 3100161e7b docs(sovereign): mark Skatteverket connector client wiring as shipped (#2156) Mattsson 2026-09-02 11:16:16 +02:00
  • 867767a22f feat(inbox): document-type badge and filter, +lev/+ver plus-addressing (#2129) (#2148) Mattsson 2026-09-02 08:50:42 +02:00
  • 4c76fb10d7 feat(transactions): "Ta bort underlag" detach action on a transaction (#2132) (#2144) Mattsson 2026-09-02 00:29:22 +02:00
  • 4f33184a9a fix(mcp): explain the Claude-side steps after "Anslut till Claude" and tick the checklist on a real connection (#2133) (#2147) Mattsson 2026-09-02 00:04:31 +02:00
  • 8b09b06e14 feat(skatteverket): ombudsregister grant verification, honest session expiry, daily ombud sync (#2130) Mattsson 2026-09-01 23:42:23 +02:00
  • d8cf78330e docs(self-hosting): own-credentials section, stale connector lines, complete .env.example (#2146) Mattsson 2026-09-01 23:08:47 +02:00
  • 97107398c0 fix(import): fit the account mapping table at 100 % zoom (#2125) (#2138) Jakob Wennberg 2026-09-01 22:55:23 +02:00
  • 823a0f73d8 feat(transactions): select and bulk-ignore any unbooked skattekonto row (#2127) (#2140) Jakob Wennberg 2026-09-01 22:44:52 +02:00
  • ea45e9dc2f fix(invoices): say what payment detail is missing, per currency (#2126) (#2139) Jakob Wennberg 2026-09-01 22:38:01 +02:00
  • 4e1f739913 docs(decisions): rescue nine unrecorded entries stranded in a working tree since 2026-08-21 (#2136) Jakob Wennberg 2026-09-01 22:18:35 +02:00
  • dd84d6c1bb fix(mcp): tag unmapped tool failures with their cause vocabulary (#2051) (#2135) Jakob Wennberg 2026-09-01 22:07:46 +02:00
  • 191fb2cfce fix(audit): alias learning is not a rule change, stop logging it (BFNAR noise) (#2134) Jakob Wennberg 2026-09-01 21:58:02 +02:00
  • 53c9c0c4f9 feat(mcp): second examples batch: five more tools, seven examples, 80 tokens (#2137) Jakob Wennberg 2026-09-01 21:45:31 +02:00
  • 8d9bf383d1 perf(mcp): trim the one schema 58 catalogued tools share, reclaiming 2 552 tokens (#2123) Jakob Wennberg 2026-09-01 21:30:37 +02:00
  • b56da5d6c5 feat(api): expose bank-connection freshness in MCP and v1 REST (#2124) Mattsson 2026-09-01 20:54:55 +02:00
  • a08bf51ced feat(reports): log behandlingsregler changes and program versions (BFNAR 2013:2 p. 9.16) (#2097) Jakob Wennberg 2026-09-01 20:31:10 +02:00
  • 169e7eaf4e feat(mcp): worked examples on five high-traffic tools, and in the error that rejects a call (#2100) Jakob Wennberg 2026-09-01 20:18:19 +02:00
  • e5fba9471e feat(bookkeeping): verifikationsserie dropdown, wider Ny verifikat modal, balancing amount on focus (#2120) Jakob Wennberg 2026-09-01 20:05:36 +02:00
  • 0406e628e1 fix(settings): scope cross-field VAT validations to saves that touch them (#2121) Mattsson 2026-09-01 19:30:25 +02:00
  • b5da51ea0a feat(settings): API & MCP tab: correct connector URL namespace, plugin path, Swedish guide (#2105) Jakob Wennberg 2026-09-01 16:56:19 +02:00
  • cd40127f0e feat(bank): expose bank-reported balance (booked + available) in UI, reconciliation, MCP and v1 API (#2118) Mattsson 2026-09-01 16:16:29 +02:00
  • a57a8d968b fix(webshop-orders): stop syncing failed WooCommerce orders, remove stale unpaid rows (#2119) Mattsson 2026-09-01 15:55:36 +02:00
  • fa69174aa0 fix(bank): never pre-check or mirror another company's accounts in the EB callback (#2116) Mattsson 2026-09-01 15:24:10 +02:00
  • b1f7116231 fix(observability): clear the dead session on the first bounce, stop filing client disconnects as exceptions, scope the Hem probe (#2114) Jakob Wennberg 2026-09-01 15:03:23 +02:00
  • f1d76deaba fix(providers): stop dead-ending on a resource 403, and stop dropping every migrated kreditfaktura (#2113) Jakob Wennberg 2026-09-01 14:57:48 +02:00
  • 1c04262e06 fix(byra): stop passing a lucide icon across the server boundary on the KPI empty state (#2110) Jakob Wennberg 2026-09-01 14:51:03 +02:00
  • 4ec2ff4b4d fix(documents): name the journal_entries/fiscal_periods relationship so supplier-invoice underlag can anchor (#2109) Jakob Wennberg 2026-09-01 14:44:54 +02:00
  • 43341aa55c feat(ui): shift-click range selection on list row checkboxes (#2117) Mattsson 2026-09-01 14:37:25 +02:00
  • 237bdd0366 perf(db): index the foreign keys that actually carry delete fan-out, and event_log by company (#2115) Jakob Wennberg 2026-09-01 14:29:47 +02:00
  • 77becf3d65 fix(documents): record archive integrity checks in their own ledger so the nightly control advances again (#2108) Jakob Wennberg 2026-09-01 14:23:05 +02:00
  • 2c46d69d21 fix(sandbox): complete the teardown for the four FK and guard blockers added since August (#2112) Jakob Wennberg 2026-09-01 14:14:45 +02:00
  • 088754d61a fix(processing-history): register the missing event types, and strip the PII two of them carry (#2111) Jakob Wennberg 2026-09-01 14:14:09 +02:00
  • 21e6e2d314 fix(proxy): assert the production Supabase project for customer hosts instead of allowlisting them (#2107) Jakob Wennberg 2026-09-01 14:07:34 +02:00
  • 57d757192e fix(security): revoke anon EXECUTE on SECURITY DEFINER write RPCs (#2106) Jakob Wennberg 2026-09-01 14:00:36 +02:00
  • 08b1119c7d feat(connect): wire the SKV extension through the connector broker + data proxy (PR6b-2) (#2103) Mattsson 2026-09-01 12:11:34 +02:00
  • ee22c9c7b7 feat(connect): connector status + Synka nu row in Settings -> Abonnemang (PR6b-3) (#2104) Mattsson 2026-09-01 11:44:33 +02:00
  • aabddb592f feat(billing): multi-user paywall: multi_user capability, 20-day grace, owner-only dormancy (#2099) Mattsson 2026-09-01 11:29:12 +02:00
  • ca12b1855e fix(connect): PR #1758 CodeRabbit follow-up: connector status hardening, i18n strings, doc alignment (#2098) Mattsson 2026-09-01 11:16:37 +02:00
  • b74b5e3c0d fix(company): revoke store connections when archiving a company (#2096) Mattsson 2026-09-01 11:12:12 +02:00
  • 5f81c0638c fix(ui): make row selection checkboxes always visible at muted opacity (#2093) Mattsson 2026-09-01 10:39:34 +02:00
  • 05dce83a2b feat(connect): Enable Banking client routes through the hosted proxy in connector mode (PR6b-1) (#2094) Mattsson 2026-09-01 10:26:40 +02:00
  • e113e9c099 fix(vat,documents): EU reverse-charge packs feed ruta 20/21; daily reanchor cron for floating supplier-invoice underlag (#2095) Mattsson 2026-09-01 10:16:07 +02:00
  • 08dbfdc5c4 fix(kpi): reserve label headroom in monthly result bars so the endpoint value never clips (#2092) Mattsson 2026-09-01 09:52:54 +02:00
  • a47d54f1d7 feat(supplier-invoices): sortable list columns matching the customer invoice list (#2091) Mattsson 2026-09-01 09:23:31 +02:00
  • 50f13cf198 feat(connect): self-host connector enablement: EB/SKV in the preset, connector-mode seam, status endpoint (#1758) Jakob Wennberg 2026-08-31 23:18:43 +02:00
  • b643e6ce64 perf(mcp): demote ten unused catalog reads, reclaiming 3 763 tokens of budget (#2089) Jakob Wennberg 2026-08-31 23:01:17 +02:00
  • 37e50c272d feat(connect): Skatteverket broker + data proxy for self-hosted instances (tokens stay on the instance) (#1757) Jakob Wennberg 2026-08-31 22:40:55 +02:00
  • 5131ee9085 fix(errors): point payment-account-missing message at Installningar -> Fakturering (#2088) Mattsson 2026-08-31 22:26:14 +02:00
  • 10bbfb9d79 fix(mcp): make agent failures diagnosable from the log, not just from the source (#2087) Jakob Wennberg 2026-08-31 22:24:28 +02:00
  • 523beaa18b fix(mcp): give the missing-chart-accounts refusal a code agents can dispatch on (#2075) Jakob Wennberg 2026-08-31 22:01:27 +02:00
  • 413a0978c0 fix(v1): attribute every REST write to the API key that made it (#2074) Jakob Wennberg 2026-08-31 21:49:51 +02:00
  • 36123cef23 feat(connect): Enable Banking proxy for self-hosted instances, with a secret-free ownership ledger and a global rate budget (#1751) Jakob Wennberg 2026-08-31 21:46:50 +02:00
  • 0ff1b05553 feat(connect): hosted connector-key registry + validate RPC + entitlements endpoint; instance sync writes connector grants hourly (#1748) Jakob Wennberg 2026-08-31 19:51:17 +01:00
  • cfce2de925 feat(entitlements): partition the self-host bypass so connector capabilities fall through to grants; capability_grants.source accepts 'connector' (#1747) Jakob Wennberg 2026-08-31 16:55:29 +01:00
  • 1d63e0f72b fix(settings): reachable opt-in toggle for the bookkeeping digest (#2085) Mattsson 2026-08-31 17:39:29 +02:00
  • 9fe37b85b5 feat(agents): per-key approval authority, the amount an agent may post unattended (#2079) Jakob Wennberg 2026-08-31 15:53:53 +01:00
  • 2814d70cb4 feat(bookkeeping): Fortnox-style inline IB correction + cascade to later years (#2076) Mattsson 2026-08-31 16:01:11 +02:00
  • f216a60bf8 feat(invoices): per-line percentage discount and separate fakturamarkning (#2084) Mattsson 2026-08-31 15:34:06 +02:00
  • 84c8e1ce59 fix(inbox): never extract the receiving company as its own supplier (#2080) Mattsson 2026-08-31 15:13:14 +02:00
  • fc54e79e08 fix(auth): scope the home-domain ok cookie to the signed-in user (#2083) Mattsson 2026-08-31 14:58:17 +02:00
  • 6dfaa45061 feat(notifications): opt-in daily "nytt att bokföra" email digest (#2078) Mattsson 2026-08-31 14:15:31 +02:00
  • 024420d655 fix(auth): exempt allowlisted emails from home-domain brand-host bounce (#2077) Mattsson 2026-08-31 13:44:31 +02:00
  • 1a3686dd45 feat(inbox): promote a single prominent amount into the editable total (#2073) Mattsson 2026-08-31 11:40:30 +02:00
  • 6a40b3c0ef fix(inbox): name the FK in the underlag lock-state embed so locked items classify (#1548) (#2022) Jakob Wennberg 2026-08-31 10:16:21 +01:00
  • dd7a2eab5f fix(docker): bump node:22-alpine digest so the frozen apk-upgrade layer re-runs (CVE-2026-14456) (#2071) Jakob Wennberg 2026-08-31 09:58:55 +01:00
  • 502905e093 feat(fortnox): make scope-approval flags overridable via env for self-hosted apps (#2069) Jakob Wennberg 2026-08-31 09:27:31 +01:00
  • d67879b786 feat(onboarding): ChatGPT side door on the Connect to Claude step (#1981) Jakob Wennberg 2026-08-31 09:25:58 +01:00
  • 8b0aa80ea0 feat(arcim-migration): import the Fortnox asset register during migration (#1999) Pierre Grönberg 2026-08-31 10:25:55 +02:00
  • 6ac9679fb5 feat(auth): base available login methods off GoTrue providers (#1869) Goostaf 2026-08-31 10:13:39 +02:00
  • dc07ca8872 feat(transactions): steer private marking in locked periods to ignore, with v1 and MCP ignore verbs (#1661) (#2031) Jakob Wennberg 2026-08-31 08:39:04 +01:00
  • 79edee659f docs(self-host): sovereign Sverige guide, backup/restore scripts, Speed Insights gate (#1744) Jakob Wennberg 2026-08-31 08:18:14 +01:00
  • dd8c06a8fa fix(dashboard): offer bank connection in the all-clear Att gora state (#2049) Mattsson 2026-08-31 00:10:28 +02:00
  • 516e8b62ff feat(inbox): match non-invoice documents via prominent amounts (#2048) Mattsson 2026-08-30 23:52:29 +02:00
  • 84ba8323b4 fix(transactions): derive pre-migration marker cutoff from imported voucher dates, not fiscal_year_end (#2047) Mattsson 2026-08-30 23:16:34 +02:00
  • f43a6653f1 feat(salary): update_salary_run MCP tool and editable draft payment date (#2041) Mattsson 2026-08-30 21:43:23 +02:00
  • e92b5a59b2 fix(reminders): settings UI discloses that automatic sending is disabled (#2033) Mattsson 2026-08-30 21:43:19 +02:00
  • 341d61131a fix(auth): email-change recovery re-send and confirmation feedback (#2034) Mattsson 2026-08-30 20:21:16 +02:00
  • 9f8fa1b692 feat(invoices): draft invoice delete on v1 and MCP with staged approval (#2036) Mattsson 2026-08-30 16:57:28 +02:00
  • 32cb8a22ce feat(mcp): Swedish keyword synonyms in tool search index (#2043) Mattsson 2026-08-30 16:55:09 +02:00
  • 7162053e89 fix(bookkeeping): link RPCs settle cross-currency invoices with 7960/3960 FX residual (#2037) Mattsson 2026-08-30 16:54:35 +02:00
  • 15df4c741c feat(mcp): supplier and date filters on list_supplier_invoices (#2035) Mattsson 2026-08-30 16:53:45 +02:00
  • 8f68421fef feat(skatteverket): expose skattekonto row booking via MCP staged operations (#2039) Mattsson 2026-08-30 16:38:30 +02:00
  • 3cf2e10740 feat(reminders): per-company reminder text overrides with per-field reset (#2038) Mattsson 2026-08-30 16:06:00 +02:00
  • e313bfa8ec fix(invoices): ROT/RUT kontantmetoden invoices could not be marked paid (#2040) Mattsson 2026-08-30 15:12:37 +02:00
  • 355723c566 fix(import): make SIE upload Safari-safe with visible file-type errors (#2032) Mattsson 2026-08-30 12:25:30 +02:00
  • d39a9719a3 fix(peppol): say Peppol send is gated per company, never absent (#546) (#2021) Jakob Wennberg 2026-08-30 12:19:03 +02:00
  • d11d0a2e90 feat(reconciliation): match one bank event to several verifikationer (1:N) (#1553) (#2029) Jakob Wennberg 2026-08-30 11:56:15 +02:00
  • 749f90fe62 feat(inbox): direct-to-storage upload for files over the hosted body limit (#1551) (#2030) Jakob Wennberg 2026-08-30 11:55:42 +02:00