Uppdateringar

Vad är nytt?

Alla uppdateringar, nya funktioner och förbättringar i Asamla – samlade på ett ställe.

2026.10.14

This release includes 28 new features, 60 bug fixes and 4 improvements.

Nytt
  • **mailbox:** one list with Alla / Mottagna / Skickade instead of a Skickat tab
  • **mailbox:** tag conversations with groups and with members who read the mailbox
  • **booking:** the presentation shows more pictures with captions, and fact rows in the association's own words
  • **discover:** the visitor guide says it is an AI
  • **mailbox:** conversations are deleted 24 months after their last mail
  • **privacy:** a daily purge-retention job ends what was kept forever
  • **privacy:** the data export includes mail, payments, invoices, bookings, payroll and assistant threads
  • **members:** a member the books point at can be anonymised instead of removed
  • **bank-papers:** say the PDF carries the board's personnummer
  • **legal:** a data processing agreement and one subprocessor list
  • **legal:** acceptance of the terms, the privacy policy and the data processing agreement is recorded
  • **security:** a security contact in SECURITY.md and /.well-known/security.txt
  • **meetings:** participants are told before a meeting is transcribed
  • **mail:** Sök i mejlen finds what the mails say, not only their subjects
  • **booking:** a late cancellation pays back a share, and opening hours can be kept for members
  • **booking:** "Bara för medlemmar" on the one-window opening hours, not only per day
  • **booking:** a pass that never regains its host is called off and paid back; a cancelled paid place says it is refunded
  • **events:** ask whether an event repeats inside the event, not with a second create button
  • **legal:** new terms that match the price list and the Ping agreement
  • **events:** tickets as one clear choice, with fields that say what they mean
  • **accounting:** sent documents are stored exactly as sent and served from the stored bytes
  • **accounting:** a systemdokumentation per association, versioned and in the hand-over
  • **tenant:** leaving Asamla follows the PUB-avtal: an archive, a read-only state, deletion at keep-until
  • **events:** picture, repetition and sales links on the event page say what they do
  • **payments:** send aktiebolag their own Ping KYC agreement template
  • **payments:** speak to aktiebolag as a company in the payments onboarding
  • **payments:** fill in Ping's company KYC agreement for aktiebolag
  • **payments:** receipts carry a number, Asamla's service fee as its own line with VAT, and donors can ask for one
Ändrat
  • **mailbox:** draw the mailbox with Asamla's own patterns
  • **events:** the event editor as settings rows, like the Boka & hyr editor
  • **events:** the edit drawer gets the same settings rows as the event page
  • **BREAKING:** **roles:** the member role no longer reads the books, invoicing or payments
Fixat
  • **mailbox:** let bookkeeping inbox aliases on asamla.com reach the inbox
  • **mailbox:** scope drafts by association, let the address be chosen, tidy the screens
  • **users:** a user row cannot be deleted over REST
  • **privacy:** rate-limit counters with caller IPs are removed after two days
  • **payroll:** only Asamla staff can switch Lön on while it is under test
  • **access:** tenant scoping lifts for super-admins only in the Payload admin panel
  • **privacy:** error reports to Sentry are scrubbed, and Speed Insights waits for consent
  • **mcp-public:** each caller has its own day caps, asked before the shared ones
  • **auth:** sign-in attempts are counted in the database, shared by every instance
  • **privacy:** the privacy policy and the subprocessor list say files are stored in Stockholm
  • **mail:** an address typed before the page finishes loading stays in Till
  • **mail:** the 24-month retention keeps Dokument files and files a newer conversation carries
  • **mail:** typecheck the mailbox against the regenerated payload types
  • **mail:** hold a mail whose SPF fails when nothing else passes
  • **mail:** every member who may read the mail is found, not the newest 500
  • **mail:** a retried send no longer reports sent for a mail still queued; no Cc to the person answered
  • **mail:** two notes added at once both stay
  • **mail:** a report attached from the books is for the board, not every member
  • **mail:** pnpm tool:inbound runs again
  • **mail:** a forward with no words of its own previews as what it forwards
  • **mail:** a refused attachment keeps its name on a phone
  • **mail:** a file uploaded in the composer is for the board, not every member
  • **api:** a savepoint opened from a REST request can read its own headers
  • **booking:** an event respects a closed period, and a pass under an event has no places
  • **events:** a room change keeps the old room until the new one is held, and a moved booking moves its event
  • **mail:** a mail nothing could check waits under Väntar instead of passing as the sender's
  • **booking:** a half Swish refund is booked as half, and the drivers walk late cancellations
  • **booking:** a member's Avboka cancels instead of deleting, and both bookers see the late share first
  • **booking:** the late-cancellation help no longer points at a field that is not there yet
  • **events:** deleting a whole series no longer leaves one occurrence behind
  • **events:** the date field shows the event's own day, and the lone Evenemang tab is gone
  • **ai:** the credit banner no longer sells AI Pro
  • **ai:** out-of-credits messages no longer tell people to upgrade
  • **events:** the public event page prints the event's own day and times
  • **booking:** the booking dialog's month fills the dialog, each day under its weekday
  • **my-memberships:** stop logging the cookie header and user email
  • **privacy:** public feed items carry no author, and linked events only what a stranger may see
  • **privacy:** honour showContributors on the public crowdfunding page
  • **discover:** a public post's page keeps the association's visibility gate
  • **payments:** fill in the förening's address on the Ping KYC agreement
  • **security:** another association's tenant record shows only its public fields
  • **security:** a poll vote is the signed-in member's own, and touches nobody else's
  • **security:** the Slack install only saves to the association whose admin started it
  • **security:** a project's Drive document is created only in the caller's own association
  • **security:** the legacy invites collection is closed to everyone but staff
  • **security:** listing Slack channels and choosing the notification channel need an admin of the association
  • **security:** member invite codes come from a secure random source
  • **security:** the legacy-account check and reset are rate-limited and reveal nothing
  • **security:** sessions are rechecked every five minutes, and a social login cannot join an unverified password account
  • **org:** link crowdfunding campaigns to the page that exists
  • **membership:** stop showing an arbitrary förening's plans at /membership
  • **payments:** the pay page stops polling after five minutes, and status polls ask Ping at a bounded rate
  • organization follows are readable and creatable only by their owner
  • a join request is created only by its requester, pending and unanswered
  • **notifications:** a notification is read only by its recipient
  • **assistant:** gate the income reads on the role at the mount
  • **roles:** rental presets read only what the member role reads
  • **a11y:** icon-only buttons say what they do to screen readers and voice control
  • **i18n:** the sign-in, forgot-password and reset screens speak the reader's language
  • **i18n:** booking sessions, the privacy page, project funding and other screens go through the message catalogue

2026.10.13

This release includes 1 bug fix.

Fixat
  • **accounting:** bring back the Funktioner settings page

2026.10.12

This release includes 1 bug fix.

Fixat
  • **mcp:** the public MCP server describes itself as needing no sign-in

2026.10.11

This release includes 1 bug fix.

Fixat
  • **mcp:** public tools declare that they need no sign-in

2026.10.10

This release includes 1 new feature.

Nytt
  • **mcp:** serve OpenAI's domain verification token for the ChatGPT plugin

2026.10.9

This release includes 1 bug fix.

Fixat
  • **foreningskunskap:** read the reference through a literal path so the tracer can follow it

2026.10.8

This release includes 19 new features, 12 bug fixes and 1 improvement.

Nytt
  • **mail:** moving the mail address belongs to the organisation's admins
  • **mail:** E-post's settings tab becomes Kontakter, the address goes to the header
  • **mail:** E-post is live for every association, whatever its plan
  • **app:** E-post in the Asamla app
  • **mcp:** a public MCP server for ChatGPT, no account needed
  • **mcp:** a draft made in ChatGPT can be saved and claimed into Asamla
  • **onboarding:** accounts and associations remember the door they came in through
  • **mail:** E-post is the board's and theirs given it, nobody else's
  • **app:** E-post takes the tab bar's third place; Inlägg moves to Mer
  • **mail:** E-post's header is the title, Nytt mejl and the tabs
  • **mail:** Kontakter shows the address on top and the board first
  • **nav:** prompt to activate payments in the sidebar's Ekonomi section
  • **booking:** the cancellation deadline is set and said in hours, days or weeks
  • **booking:** the shortest booking is a slider in the option form, not minutes
  • **public-booking:** a card says how a space is let, and prices say inkl. moms
  • **public-booking:** the sauna's page shows the passes to come, and why they wait
  • **booking:** confirming a let can send its invoice, and tell whoever confirmed if it cannot
  • **booking:** members can see who has the room, behind the association's own switch
  • **booking:** Presentera mer om lokalen — the facts a renter compares venues on, behind a switch
Ändrat
  • **nav:** quieten the sidebar's activate-payments prompt
Fixat
  • **mail:** E-post holds still on a phone
  • **editor:** no iOS zoom when a text editor takes focus on a phone
  • **assistant:** ship the föreningskunskap files in the serverless bundle
  • **utkast:** the draft preview renders after mount and clears the fixed header
  • **foreningskunskap:** the section whose heading answers the question comes first
  • **public-drafts:** a claim cannot spend the link without creating anything
  • **pwa:** stop showing "Ny version tillgänglig" on a fresh visit
  • **mail:** Kontakter's add row keeps Lägg till beside the name on a phone
  • **booking:** a room whose hours were written twice can be edited again
  • **booking:** one word per concept in the editor and its errors
  • **migrations:** purge-public-drafts in both job enums
  • **release:** classify public-drafts for access and list the new routes

2026.10.7

This release includes 141 new features, 115 bug fixes and 16 improvements.

Nytt
  • **admin:** a usage console that traces where people go and what fails, with fix-todos over MCP
  • **assistant:** usage telemetry counts opening the assistant and its failed turns
  • **members:** one form for the personnummer, so a person can be found by it
  • **auth:** connect every way to sign in to one account, and BankID behind its settings
  • **accounting:** the record history from Fortnox arrives into
  • **accounting:** strict SIE4 reader and the import plan
  • **accounting:** stage, commit and prove an import from Fortnox
  • **accounting:** the reskontras and the matcher read invoices open at the move
  • **accounting:** Flytta från Fortnox, a screen to bring the books in
  • **assistant:** stage a move from Fortnox from uploaded SIE files
  • **organisation-links:** a byrå creates the client it moves, in trust
  • **accounting:** one place to import SIE, reachable from the missing-year screen
  • **shell:** the member's Asamla — Inlägg in the column, a member dashboard, a social menu
  • **accounting:** read the skattekonto from Skatteverket
  • **home:** the member's Hem in the public page's look, newsletter first
  • **members:** join a public group yourself, and no AI for plain members
  • **accounting:** read SIE 4I vouchers that leave their number to the receiver
  • **accounting:** make the bokslut in another program and read it back
  • **assistant:** prepare the bokslut from another program and the lock
  • **reconciliation:** periods and verdicts, pure
  • **reconciliation:** account-reconciliations record, migration, roles, period setting
  • **reconciliation:** the period read with its witnesses
  • **reconciliation:** routes replace the bank panel and the month's bank review
  • **reconciliation:** the Avstämning tab
  • **reconciliation:** doors — bokslut item, bilaga line, assistant tools, period setting
  • **import:** bring Fortnox's Filexport underlag onto the imported vouchers
  • **reconciliation:** periods and verdicts, pure
  • **reconciliation:** account-reconciliations record, migration, roles, period setting
  • **reconciliation:** the period read with its witnesses
  • **reconciliation:** routes replace the bank panel and the month's bank review
  • **reconciliation:** the Avstämning tab
  • **reconciliation:** doors — bokslut item, bilaga line, assistant tools, period setting
  • **import:** carry Fortnox's own series and attachments of any size
  • **import:** bring Fortnox's Filexport underlag onto the imported vouchers
  • **import:** carry Fortnox's own series and attachments of any size
  • **payroll:** SKV_REDIRECT_URI sends the registered callback from a local run
  • **reconciliation:** save the statement, fix the difference, or accept it
  • **reconciliation:** save the statement, fix the difference, or accept it
  • **mailbox:** give every association a stored post.asamla.se address
  • **mailbox:** add the mail-threads and mail-messages collections
  • **mailbox:** receive mail into the association mailbox
  • **mailbox:** send from the association mailbox
  • **payroll:** log in to Skatteverket with BankID when sending, and come back to the month
  • **import:** place invoice files by the invoice's number, read the period export
  • **import:** place invoice files by the invoice's number, read the period export
  • **import:** bring the invoices open at the move from Fortnox's customer list
  • **import:** bring the invoices open at the move from Fortnox's customer list
  • **import:** bring the supplier list too, with credit notes still open
  • **import:** bring the supplier list too, with credit notes still open
  • **import:** bring Fortnox's customer and supplier registers
  • **import:** bring Fortnox's customer and supplier registers
  • **import:** open customer invoices from Fortnox under Fakturering, guarded
  • **import:** open customer invoices from Fortnox under Fakturering, guarded
  • **mailbox:** add the E-post screens
  • **mailbox:** move the association mailbox to asamla.com
  • **import:** ask which supplier invoices Fortnox already sent to the bank
  • **import:** ask which supplier invoices Fortnox already sent to the bank
  • **accounting:** IBAN and BIC on suppliers
  • **accounting:** IBAN and BIC on suppliers
  • **invoicing:** the association's IBAN and BIC on invoices
  • **invoicing:** the association's IBAN and BIC on invoices
  • **invoicing:** customer invoices in EUR, USD, GBP, NOK and DKK, booked in kronor
  • **invoicing:** customer invoices in EUR, USD, GBP, NOK and DKK, booked in kronor
  • **invoicing:** EU sales under reverse charge and the periodisk sammanställning
  • **invoicing:** EU sales under reverse charge and the periodisk sammanställning
  • **invoicing:** kreditfakturor, a country picker, and other currencies behind a switch
  • **invoicing:** kreditfakturor, a country picker, and other currencies behind a switch
  • **mailbox:** write mail with Utskick's editor, emoji, reply all and quoting
  • **emoji:** every emoji in the mail composer and in reactions
  • **invoicing:** fold a recurring plan's setup away from its rows, and copy a plan
  • **import:** open kundfakturor in another currency follow the move, and customers keep their payment terms
  • **import:** open kundfakturor in another currency follow the move, and customers keep their payment terms
  • **invoicing:** Kopiera on each recurring plan row; folding hides the whole setup
  • **invoicing:** a folded plan setup says who and when, and unfolds when a save needs it
  • **import:** split 2893 at the move among the people it was owed to
  • **import:** split 2893 at the move among the people it was owed to
  • **invoicing:** a plan with no recipient opens its setup unfolded
  • **booking:** letting forms drive the picker; weekdays per form; fixed-time blocks
  • **accounting:** the skattekonto's coming rows beside 1630, and Lön's OCR read off the saldo
  • **accounting:** the skattekonto's coming rows beside 1630, and Lön's OCR read off the saldo
  • **invoicing:** on a phone, a recurring plan's rarer actions sit behind ⋯
  • **invoicing:** on a phone, a recurring plan's rarer actions sit behind ⋯
  • **invoicing:** on a phone, a recurring plan row's actions sit behind ⋯
  • **invoicing:** on a phone, a recurring plan row's actions sit behind ⋯
  • **invoicing:** on a phone, an invoice's rarer actions sit behind ⋯
  • **assistant:** the assistant uses the stage — charts and long lists take the window, openView puts one thing there
  • **invoicing:** a ⋯ on each invoice row on a phone
  • **invoicing:** a ⋯ on each invoice row on a phone
  • **invoicing:** a ⋯ on each customer row on a phone
  • **invoicing:** a ⋯ on each customer row on a phone
  • **invoicing:** a ⋯ on each article card on a phone
  • **invoicing:** a ⋯ on each article card on a phone
  • **mcp:** the rest of Asamla through list_actions and run_action
  • **mcp:** the rest of Asamla through list_actions and run_action
  • **assistant:** membership fees, applications, a task's comments and poll results
  • **assistant:** ticked rows and open drawers tell the assistant what they hold
  • **assistant:** membership fees, applications, a task's comments and poll results
  • **assistant:** ticked rows and open drawers tell the assistant what they hold
  • **booking:** a space let through forms has opening hours, not a booking mode
  • **booking:** the room editor loads as its own page, not a bare spinner
  • **meetings:** protocols a bank will accept, and bank profiles as data
  • **assistant:** add interactive membership fee scenarios to the stage
  • **meetings:** pick the board election and the bank decision, and notice a bank decision being written
  • **bank-pack:** Handlingar till banken, one PDF for the bank and a row on Hem when one is due
  • **bank-pack:** upload protocols and bylaws that were never written in Asamla, and say what banks require
  • **accounting:** explore result changes and their vouchers in the assistant stage
  • **booking:** the room's cover and gallery share a row in the editor
  • **assistant:** knows Handlingar till banken and the new protocol points
  • **assistant:** choose the bank's certifiers and mark the papers handed in
  • **ui:** covers without a photo show a soft wash of the tenant's colour
  • **ui:** a cover placeholder fades toward the page on hover
  • **booking:** the booking dialog names a letting form without its price
  • **booking:** new rooms from templates, made in the page body
  • **booking:** name the new room in the first row
  • **booking:** the assistant beside the new-room page knows the draft and can change it
  • **booking:** the per-day hours warning opens the hours it warns about
  • **booking:** the new room's name, pictures and words in one box at the top
  • **inbox:** the association's email address is {alias}@asamla.com
  • **booking:** the room's editor is laid out as the page it was made on
  • **events:** create and edit an event in the page body, laid out like a room
  • **inbox:** underlag go to {alias}-underlag@asamla.com, the plain alias is left for E-post
  • **shell:** E-post in the sidebar next to Utskick
  • **booking:** Redigera on a room's public page opens the full editor, not a drawer
  • **mailbox:** one list with Alla / Mottagna / Skickade instead of a Skickat tab
  • **mailbox:** tag conversations with groups and with members who read the mailbox
  • **mailbox:** mail settings, contact names, and an address that can move
  • **mailbox:** free unused and long-retired mailbox addresses
  • **mailbox:** a conversation that reads like a mail app, with forwarding
  • **mailbox:** an inbox list that reads and works like a mail app
  • **mailbox:** put a mail's attachments in the bookkeeping inbox
  • **mailbox:** notes, mentions, tasks, the agenda and suggested replies
  • **mailbox:** archived conversations are a filter, not a tab
  • **mailbox:** one filter row, and "Taggade med mig" as a tag
  • **assistant:** read the mailbox and prepare replies, mails and archiving
  • **mailbox:** attach from Dokument and reports from the books
  • **mailbox:** mail notifications in the settings, and the doc lines
  • **assistant:** the whole mailbox for the assistant and over MCP
  • **assistant:** open a mail conversation on the stage, and E-post's starters
  • **assistant:** a mail conversation takes the stage as soon as it is read
  • **booking:** the opening-hours slider spans the whole day, from 00:00
  • **assistant:** answer a mail in one go, in E-post's own reading pane
Ändrat
  • **payroll:** the employee editor saves through Lön's routes, as the assistant's card does
  • **payroll:** one Skatteverket session per association, and each API's own correlation header
  • **accounting:** drop the carve-out for vouchers booked under the one-öre rule
  • **reports:** balance derivations take an as-of date
  • **reconciliation:** one writer for the press, read by the routes and the driver
  • **reports:** balance derivations take an as-of date
  • **reconciliation:** one writer for the press, read by the routes and the driver
  • **accounting:** let the buttons do the talking across Bokföring
  • **invoicing:** one rule for what an invoice lets you do
  • **invoicing:** one rule for what an invoice lets you do
  • **assistant:** Bokföring's rarer writes wait for a reason, and setup reads less
  • **assistant:** Bokföring's rarer writes wait for a reason, and setup reads less
  • **bank-pack:** Handlingar till banken in Asamla's own shapes
  • **share:** every public detail cover is 16:9 on a narrow screen
  • **mailbox:** draw the mailbox with Asamla's own patterns
  • **booking:** the room's create and edit pages in the app's settings rows
Fixat
  • **admin:** the usage console type-checks, and its scrubbing regexes are linear
  • **assistant:** a Swedish chip verb for each invoicing tool
  • **shell:** the stage holds what it covers, shows without the assistant, and gives way to Göm
  • **transactions:** a voucher's address keeps it open, and one that cannot be read says why
  • **ai-console:** the association filter travels as `org`, not `tenant`
  • **ai-console:** a row's cost is a known subtotal, said to be partial
  • **admin:** the usage console opens in development; its action names nest
  • **admin:** switching to Tidslinje no longer crashes on the previous tab's report
  • **admin:** an association's timeline reads again
  • **admin:** the usage console's association filter travels as `org`
  • **accounting:** month close, series gaps and the year lock after a move
  • **payroll:** the employee editor splits by the page's width, not the viewport's
  • **admin:** Asamla's own tenant is an organisation, not a förening
  • **assistant:** beside a press, what the assistant read folds into one line
  • **assistant:** the card says it waits, so the answer stops saying it
  • **admin:** the error drawer's tenant button reads "Organisationen"
  • **accounting:** the import proof reads the chart in the reports' shape
  • **invite-links:** check the association's roles before minting, listing or deleting a link
  • **members:** removing a member and re-sending an invite check the caller's role there
  • **users:** a user cannot make themselves super admin or an association's admin
  • **payload:** the lock relation fits in one Postgres call again
  • **assistant:** the dock offers Inlägg only where the feed is switched on
  • **home:** the member's Hem shows only what has something in it
  • **accounting:** read SIE files the way other programs write them
  • **accounting:** open the year a SIE file's balances belong to
  • **accounting:** write SIE exports as PC8 that other programs read
  • **accounting:** date a voucher by its day, never by an instant
  • **accounting:** require booked vouchers to balance to the öre
  • **accounting:** keep a closed year's opening balances
  • **accounting:** keep a year the årsmöte adopted closed at the record
  • **reports:** show each huvudbok row's voucher with its series
  • **accounting:** refresh the queue after confirming a pairing in the Inkorg
  • **accounting:** stop calling every directionless row a transfer
  • **members:** what a plain member sees agrees with what they may do
  • **accounting:** gate classify and matching/run on the booking role
  • **accounting:** count drafted payments without a receipt as missing one
  • **accounting:** match Översikt's money in and out to Rapporter's lines
  • **accounting:** stop counting a proposed receipt twice on Översikt
  • **reports:** say the figures are complete only when the Inkorg is empty too
  • **accounting:** freeze a closing year's opening balances at the record
  • **accounting:** tell a whole-year bokslut file by its balances
  • **payroll:** the AGI file validates against Skatteverket's XSD 1.1
  • **payroll:** read the kontrollrapport and the receipts as Skatteverket's RAML defines them
  • **mailbox:** keep mail attachments from members who cannot read mail
  • **reconciliation:** say why no bank row can explain a difference
  • **reconciliation:** the pane says it with figures and buttons
  • **reconciliation:** the pane says it with figures and buttons
  • **import:** count the register notes in singular and plural
  • **import:** count the register notes in singular and plural
  • **mailbox:** fit the E-post views to the assistant's checks; no push from the simulator
  • **mailbox:** close the holes a review of the mailbox found
  • **mailbox:** send a composed mail once, however often Skicka is pressed
  • **invoicing:** name the folded section "Upplägg för återkommande faktura"
  • **invoicing:** head the folded section "Mottagare, schema och betalning"
  • **invoicing:** wrap a recurring plan row's actions on a phone
  • **invoicing:** wrap a recurring plan row's actions on a phone
  • **booking:** a booking waiting for approval says so, and can be answered from Veckan
  • **assistant:** read what is on screen, and send the model less per step
  • **mcp:** gate ledger reads on the role, hint reads, and lighten each request
  • **assistant:** read what is on screen, and send the model less per step
  • **mcp:** gate ledger reads on the role, hint reads, and lighten each request
  • **accounting:** what a walk through Bokföring found
  • **accounting:** what a walk through Bokföring found
  • **accounting:** keep a stray press off a rule, and a card number out of a payee
  • **accounting:** keep a stray press off a rule, and a card number out of a payee
  • **accounting:** the phone says what a press does, and a suggestion does not claim to be booked
  • **accounting:** the phone says what a press does, and a suggestion does not claim to be booked
  • **shell:** open the member card with ?profile=, not ?member=
  • **shell:** open the member card with ?profile=, not ?member=
  • **payroll:** what a walk through Lön found
  • **payroll:** what a walk through Lön found
  • **accounting:** say where Att göra is, and name the Godkänn that book nothing
  • **accounting:** say where Att göra is, and name the Godkänn that book nothing
  • **payroll:** an approved or paid run cannot be deleted, and the driver drafts only its own month
  • **payroll:** an approved or paid run cannot be deleted, and the driver drafts only its own month
  • **accounting:** line-strike picks the open year by its status
  • **accounting:** line-strike picks the open year by its status
  • **mcp:** the todo bot's habits only on Asamla's own board
  • **invoicing:** what a walk through Fakturering found
  • **invoicing:** what a walk through Fakturering found
  • **accounting:** the Huvudbok fits beside the assistant without scrolling sideways
  • **accounting:** the Huvudbok fits beside the assistant without scrolling sideways
  • **accounting:** booking an utlägg says what the association will owe, not which account to check
  • **accounting:** booking an utlägg says what the association will owe, not which account to check
  • **accounting:** what a walk through Flytta från Fortnox found
  • **accounting:** what a walk through Flytta från Fortnox found
  • **accounting:** Översikt opens where the work is, and knows a moved association has books
  • **accounting:** Översikt opens where the work is, and knows a moved association has books
  • **accounting:** a liability's bilaga reads in the balance sheet's own sign
  • **accounting:** a liability's bilaga reads in the balance sheet's own sign
  • **accounting:** Avstämning names a posting's payee, not the bank's raw string
  • **accounting:** Avstämning names a posting's payee, not the bank's raw string
  • **accounting:** the company wording follows Bokföring's copy
  • **accounting:** the company wording follows Bokföring's copy
  • **mcp:** the todo bot's habits only on Asamla's own board
  • **shell:** organisation switcher lists all of the member's associations
  • **booking:** the week editor no longer paints over the sticky page header
  • **meetings:** an annual meeting's empty point reads "Årsmötet beslutar att…", and each elected person gets a row of their own
  • **booking:** the public room page crops its cover to 16:9 on a narrow screen
  • **drivers:** throwaway associations are taken down when the run ends
  • **drivers:** a teardown refused under CI fails dev:fortnox-import
  • **public-org:** the edit drawer covers the whole page on a narrow screen
  • **ui:** asChild renders the child it was given when that child comes from the server
  • **booking:** the booking dialog no longer says "Bokning bekräftad!" before anything is booked
  • **booking:** the new-room page is headed with the button's own words
  • **booking:** the new room's hours fold is the week and nothing else
  • **booking:** a price the assistant sets shows on its line, and the slider renders no script
  • **booking:** the assistant says what it changed in a new room's draft, and the line reads as a change
  • **booking:** say so before the opening slider replaces hours set per day
  • **booking:** no Bilder label inside the row already called Bild och beskrivning
  • **mailbox:** let bookkeeping inbox aliases on asamla.com reach the inbox
  • **mailbox:** scope drafts by association, let the address be chosen, tidy the screens
  • **mailbox:** fit the inbox-alias guards to {alias}-underlag addresses
  • **mailbox:** classify mailbox-former-addresses for the access coverage check
  • **assistant:** mail cards can be pressed — add 'mail' to the operations enum

2026.10.6

This release includes 84 new features, 105 bug fixes and 58 improvements.

Nytt
  • **booking:** add multiple photos when creating and editing a resource
  • **invoicing:** edit recurring invoices in the page and select members
  • **invoicing:** separate recurring billing periods from invoice dates
  • **invoicing:** end recurring invoices now or on a chosen date
  • **invoicing:** choose recurring start month and invoice day separately
  • **invoicing:** preview recurring invoices and collapse scheduling settings
  • **invoicing:** offer billing months with a custom period start option
  • **booking:** add visual weekly resource availability editor
  • **booking:** fit the full day and add zoom with finer drag steps
  • **invoicing:** support separate registered and postal sender addresses
  • **booking:** merge visual resource week editor with adaptive zoom
  • **payments:** activate card for each förening when its Ping merchant is approved
  • **booking:** edit resource availability inline on the room page
  • **invoicing:** add sandbox Ping payments for invoices and recurring plans
  • **membership:** welcome new members on the förening's own page after paying
  • **membership:** ask for address and optional birth date when joining
  • **membership:** connect memberships automatically on Google or Apple sign-in
  • **membership:** make the Asamla account an optional step after joining
  • **invoicing:** always issue Ping invoices with bankgiro and OCR
  • **meeting:** open the protocol PDF in the browser's own viewer
  • **meeting:** show what is recorded with a signature before signing
  • **invoicing:** explain Ping fees using the shared price list
  • **invoicing:** support recurring invoices and invoice management in assistant and MCP
  • **links:** choose a byrå's app access separately for each client
  • **booking:** edit week editor blocks in a popover on the calendar
  • **links:** choose app permissions when inviting or accepting a byrå
  • **links:** add full app access preset for agencies
  • **home:** show incoming client requests on the agency start page
  • **events:** schedule early-bird and regular ticket sales
  • **events:** automatically remind ticket holders before events
  • **events:** notify waiting lists when sold-out tickets reopen
  • **events:** book mixed tickets with individual attendee answers
  • **accounting:** open manual bookkeeping directly from overview
  • **events:** verify membership for personal ticket discounts
  • **events:** track ticket sales by campaign links and QR codes
  • **accounting:** show inbox receipts and uploads in manual entry
  • **accounting:** accept dropped receipts in the manual entry inbox
  • **accounting:** create missing accounts from the booking picker
  • **invoicing:** offer the full Asamla personalization palette
  • **invoicing:** add classic, soft and bold invoice designs
  • **invoicing:** personalize invoice typography and rounded corners
  • **accounting:** edit draft categories inside the inbox panel
  • **accounting:** bring unposted entries into the receipt workspace
  • **invoicing:** simplify invoice descriptions and article bookkeeping
  • **invoicing:** show recurring run summary and missing setup
  • **invoicing:** create recurring invoices for several members at once
  • **booking:** rename lokal to fastighet and resources to utbud
  • **payroll:** Lön foundation — employees, terms, registered days, engine, runs and the bridge
  • **payroll:** payout file, arbetsgivardeklaration, Skatteverket adapter, reminders and assistant tools
  • **payroll:** the month's run on screen, the lönebesked drawer and PDF, and the employee's own read
  • **invoicing:** default invoice accent to the organization's brand colour
  • **invoicing:** ask what an invoice is for in plain words, with a suggestion
  • **invoicing:** save a new recurring plan without starting it
  • **invoicing:** association pays the Ping service fee on invoices
  • **booking:** let a resource be set up manually from the create drawer
  • **payroll:** the month is there when Lön opens, and the screens follow the month's order
  • **payroll:** the personnummer is typed in Lön's own editor, and the person opens from there
  • **payroll:** the tax choice is a visible pair beside the table
  • **assistant:** a drift check and a weekly sync that keep the assistant in step with the product
  • **payroll:** Frånvaro och tid registers a stretch in one press, and the screens read the records as they are
  • **payroll:** a lönebesked that says which sick days each line is about and fits one page
  • **payroll:** procentregeln reads the intjänandeår, and sick and parental days stop earning semester at the 17 § caps
  • **payroll:** Frånvaro och tid shows one person's month as a calendar
  • **accounting:** the underlag box, the draft pane and the inbox pane explain nothing until asked
  • **shell:** the stage — what a screen selects fills the assistant window
  • **shell:** outside pages and files open on the stage
  • **shell:** stage views are a table, and say what they show
  • **shell:** Drive documents and PDFs open on the stage
  • **shell:** an invoice opens on the stage as its paper
  • **shell:** a year's statement opens on the stage
  • **shell:** Visa större puts a chart or a long list on the stage
  • **shell:** a drafted document is read as a page on the stage
  • **shell:** web sources are rows that open on the stage
  • **shell:** a report on the stage is the short version, with the full one a press away
  • **payroll:** the assistant runs the whole month — recalculate, undo approval, utlägg, resend, days
  • **payroll:** the assistant files the arbetsgivardeklaration — read, send, receipt, unlock, files
  • **payroll:** the assistant keeps Anställda, Lön's settings and the semesterår
  • **meeting:** track a revision on every meeting change
  • **meeting:** merge meeting edits per section on the server
  • **meeting:** show other members' meeting edits without reloading
  • **meeting:** push meeting changes over a per-meeting realtime channel
  • **meeting:** show who is editing which agenda item
  • **ping:** route Ping API calls through a static-IP proxy
  • **ping:** route Ping API calls through a static-IP proxy
Ändrat
  • **meeting:** move meeting settings from Organisation into Möten
  • **invoicing:** clarify the collapsible recurring settings header
  • **invoicing:** show sender contact details only in invoice footer
  • **payments:** offer card wherever the förening's activation is complete
  • **jobs:** load heavy job dependencies only when the job runs
  • **membership:** fix spacing and consent row in join and apply dialogs
  • **invoicing:** drop PING_DEPOSIT_ENABLED and always use the Ping pay link
  • **meeting:** run bottom menu edge to edge with section label inline
  • **meeting:** space the bottom menu away from the card above it
  • **meeting:** use the shared page header with a pinned title row
  • **meeting:** give every header fact one shape and surface PDF as a button
  • **shell:** keep only Assistent and Inlägg in the assistant column
  • **meeting:** harmonize the protocol review drawer layout
  • **meeting:** give the agenda its own window beside the app rail
  • **meeting:** calmer, aligned agenda sidebar
  • **meeting:** drop row fill in agenda sidebar
  • **meeting:** tint agenda panel with faded primary colour
  • **meeting:** align the protocol with its header and run every footer edge to edge
  • **meeting:** approve and sign buttons use the primary colour
  • **meeting:** let agenda panel sit directly on the frame
  • **meeting:** align agenda panel spacing and add hairline border
  • **meeting:** narrow agenda panel to give the meeting more room
  • **meeting:** narrow agenda panel further to 200px
  • **meeting:** move agenda panel to the right of the meeting
  • **meeting:** hide desktop agenda panel for now
  • **meeting:** approve drawer buttons use the primary colour
  • **meeting:** typed signatures use the Momo Signature handwriting font
  • **meeting:** tidy the sign-and-approve panel
  • **booking:** show the time block panel above the week calendar
  • **invoicing:** condense Ping pricing into an expandable summary
  • **assistant:** reduce response setup delays without weakening access checks
  • **links:** select the byrå before configuring app access
  • **links:** move agency invitations into the page with access review
  • **accounting:** remove document type selector from manual bookkeeping
  • **accounting:** keep inbox rows compact and easier to scan
  • **accounting:** combine inbox payment and status columns
  • **accounting:** use compact inline confirmation in inbox rows
  • **invoicing:** refine invoice personalization and live preview
  • **accounting:** use one journal editor for manual bookkeeping
  • **invoicing:** remove repeated recurring invoice summary
  • **invoicing:** calmer, Luma-style recurring invoice editor
  • **invoicing:** line items laid out as aligned columns
  • **invoicing:** internal plan name as a quiet row, not a headline
  • **invoicing:** align recurring invoice form with the page header
  • **invoicing:** clearer typed fields and schedule notice on recurring invoices
  • **invoicing:** plainer wording in the recurring invoice editor
  • **invoicing:** choose delivery before the recurring invoice preview
  • **invoicing:** redesign the invoice editor as calm settings rows
  • **invoicing:** keep invoice appearance preview in view while scrolling
  • **invoicing:** rewrite settings tab copy in plainer language
  • **invoicing:** pick the invoice accent colour from a compact popover
  • **invoicing:** show invoice options as chips and edit one at a time in a dialog
  • **inbox:** the document pane's boxes sit tighter
  • **inbox:** the pairing panel is a bar with what fits under it
  • **inbox:** the proposal block is the payment and the press
  • **reports:** the income statement fills the content column
  • **shell:** drop the unread view size
  • **meeting:** tidy the bottom of the meeting editor
Fixat
  • **invoicing:** title invoice category settings "Fakturakategorier"
  • **invoicing:** explain missing payment setup on recurring invoices
  • **invoicing:** preserve recipient selections when switching customer and person
  • **payments:** take card payments through QuickPay, the card provider Ping enabled
  • **invoicing:** select billing month separately from invoice start date
  • **invoicing:** expose customer creation and 14-day payment terms
  • **booking:** replace the non-word "pulj" in session place copy
  • **booking:** tidy the room page's assignment and availability sections
  • **meeting:** offer drawn signatures when approving a protocol in review
  • **payments:** explain missing Ping connection when starting setup
  • **payments:** restore original Ping setup availability
  • **invoicing:** clarify team member recipient labels
  • **links:** find client-accepting byrås regardless of public profile visibility
  • **links:** hide management actions users cannot perform
  • **links:** notify agency administrators who also sent the client request
  • **links:** describe agency collaboration beyond bookkeeping
  • **accounting:** show standard date format in manual bookkeeping
  • **events:** reuse checkout retries and require member price review
  • **accounting:** show incoming documents while they are being read
  • **events:** confirm paid ticket orders atomically
  • **events:** keep advance ticket payments refundable through the event
  • **events:** restrict check-in to event managers and valid tickets
  • **events:** block payments for cancelled or expired reservations
  • **events:** retry failed reminders and waiting-list emails
  • **events:** include every registration in attendance and exports
  • **events:** finish ticket refunds when Ping retries interrupted updates
  • **events:** refund payments received after ticket reservations lapse
  • **accounting:** open receipt inbox beside manual bookkeeping
  • **accounting:** preserve original filenames in the receipt inbox
  • **accounting:** respect disabled supplier invoice workflow in inbox
  • **accounting:** keep suggestion editing available for linked drafts
  • **accounting:** hide disabled VAT and dimension columns in journal
  • **accounting:** retain and select the date after manual booking
  • **accounting:** keep transaction queue open and mark the selected entry
  • **accounting:** name the combined side panel Bookkeeping
  • **invoicing:** preserve recurring payment terms on sent invoices
  • **invoicing:** explain articles and invoice categories in settings
  • **invoicing:** clarify category fallback for articles without accounts
  • **members:** remove chat action while messaging is hidden
  • **ui:** fade muted icons with opacity so crossing strokes do not darken
  • **invoicing:** say what the recurring invoice save button does
  • **invoicing:** restore the Swedish explanation of how invoice options are booked
  • **invoicing:** print Ping's bankgiro and OCR as our own invoice's payment details
  • **invoicing:** format bankgiro numbers and point Ping drafts to the OCR
  • **payroll:** migrations for the enum values, the derived tax column and the registration month
  • **payroll:** compare values, not key presence, when guarding payslips and pay items
  • **payroll:** approve the month as the records are, own the bank row, one press wins
  • **payroll:** the 2026 bands read against Skatteverket, the 15-18 band, the real engångsbelopp table
  • **payroll:** ask for the table, derive the column, pay a part month by its days, carry a sick period over the month end
  • **payroll:** a registered employer from a month, not forever
  • **audience:** the default roles read in the person's language, a company's Lön says person
  • **payroll:** the person picker lists everyone before a letter is typed
  • **payroll:** Lön reads as the organisation it is in, and the month sees a new employee at once
  • **audience:** the Team page says people, not members, in a company
  • **payroll:** a chosen sidoinkomst is a setting, not a warning, and sits beside the tax table
  • **payroll:** a lönebesked that reads cleanly
  • **payroll:** the QA walk's fixes on the run, the AGI, the absence grid and the vacation report
  • **payroll:** the run's writes hold at the record — no utlägg paid twice, a cancelled month drafts again
  • **payroll:** the sick sentence counts this month's days, not last month's carried ones
  • **payroll:** the month's run and the semesterår's close are read like the employee register
  • **payroll:** a lönebesked keeps its id when the draft is computed again
  • **payroll:** Hämta lönebesked saves the PDF where you are instead of opening a window
  • **payroll:** a helgdag is no work day, and semesterlön leaves the procentregeln basis
  • **payroll:** a part day is said in words, and Godkänn waits while the draft is behind
  • **payroll:** the run card names the declaration's real due day, and the journal counts days in Swedish
  • **payroll:** the month's list sits beside the calendar, and the cells are lower
  • **payroll:** the person row shows from the first employee, and the list keeps to wide screens
  • **inbox:** the pairing bar shows only payments the evidence identifies
  • **inbox:** the pairing bar skips the payment the foot already proposes
  • **payroll:** the semesterår card answers for a year before the first salary
  • **payroll:** Arbetsgivardeklaration opens on the first month owed
  • **payroll:** the phone's desk notice describes Lön, and steps aside where Lön is off
  • **accounting:** Översikt's skeleton has no line the page does not have
  • **budget:** no second subtitle, and no note about a column that is not there
  • **transactions:** Ny verifikation and the ⋯ menu wrap as one group
  • **payroll:** a Lön that is switched off says so, not that the role may not
  • **inbox:** the receipt on stage tells the assistant its date
  • **accounting:** the row open on the stage is said to a screen reader
  • **payroll:** the run's three figures add up
  • **assistant:** a question about cost finds the price list
  • **shell:** the thing on stage keeps most of the window under an answer
  • **inbox:** the pane's tools move up so the receipt shows on the stage
  • **inbox:** no Bokförs som box when nothing is known and the foot says so
  • **budget:** the stage holds the budget panel only when there is a budget
  • **shell:** a document on the stage fits the window and is not repeated
  • **phone:** the card in front is said to a screen reader
  • **transactions:** the pane on the stage gives its height to the receipt
  • **transactions:** the question pane's date is never cut by a long payee
  • **transactions:** the posted voucher pane gives the stage its kontering
  • **assistant:** a result is read by the feature whose door it came through
  • **assistant:** a card drawn twice is one card, and a draft carries its press
  • **shell:** the stage names what it shows, and an invoice is readable there
  • **invoicing:** the invoice paper keeps dark ink in dark mode
  • **shell:** a statement on the stage fits its window
  • **shell:** a chart at the window's size has a scale
  • **accounting:** Rapporter puts no rail on the stage without a year
  • **accounting:** a standing rail on the stage has no bar above it
  • **supplier-invoices:** the pane on the stage keeps its height for the invoice
  • **payroll:** the assistant's Lön reads need the payroll read role, and mil/traktamente cards pass
  • **assistant:** a proposal is recorded under the feature that admits its fields, and MCP never prints a lost ref
  • **payroll:** the assistant's Lön tools fit the tool budget and emit no schema format
  • **payroll:** opening balances a paid month stands on are refused before the card, by name
  • **meeting:** stop simultaneous editors overwriting each other's sections
  • **meeting:** keep editor saves when points are added to the agenda from chat
  • **meeting:** fetch a missed meeting change once after reconnecting

2026.10.5

This release includes 1 bug fix.

Fixat
  • **invoicing:** show Skicka… in the header only while editing an invoice

2026.10.4

This release includes 6 new features, 16 bug fixes and 8 improvements.

Nytt
  • **public-booking:** list upcoming passes as cards instead of one day at a time
  • **payments:** charge the serviceavgift on Swish payments as a fee item
  • **payments:** let members pay by card on the pay page
  • **invoicing:** look up new customers in Bolagsverket by organisationsnummer
  • **onboarding:** show what the lookup has found while it is still working
  • **invoicing:** simplify the invoice editor's actions and drop the preview column
Ändrat
  • **dev:** warm accounting routes once at startup, not on every save
  • **pay:** give the Swish pay page the förening's look and a receipt
  • **editor:** make the editor action bar a full-width sticky bar
  • **invoicing:** give the invoice editor more room and put line items last
  • **invoicing:** set the category and references apart in the invoice editor
  • **invoicing:** widen the space around the category and references section
  • **invoicing:** add breathing room below the invoice total
  • **invoicing:** keep the invoice drawer's actions on one row
Fixat
  • **booking:** lighten the resource availability editor
  • **shell:** narrow the sidebar and space out the collapsed rail
  • **auth:** send a truly expired session to /login instead of a stuck toast
  • **shell:** give the expanded sidebar the rail's side padding
  • **shell:** space out the sidebar's group headings
  • **membership:** show an open avisering as unpaid on the member's own join page
  • **pay:** settle Swish payments even when Ping's webhook never arrives
  • **payments:** send payer details to Ping on every Swish payment
  • **payments:** settle Ping payment orders so föreningar get paid out
  • **public-booking:** hide the members' availability card from a guest booking passes
  • **org:** make förening addresses unique so /org links open the right förening
  • **booking:** drop the reach line from the resource editor's save bar
  • **onboarding:** keep 'Aktivera funktioner' unchecked until features are reviewed
  • **onboarding:** stop the lookup curtain from blinking the form through
  • **invoicing:** open the send dialog after pressing Skicka… in the invoice editor
  • **invoicing:** show the send dialog above the invoice drawer

2026.10.3

This release includes 1 new feature, 6 bug fixes and 3 improvements.

Nytt
  • **onboarding:** fill the public profile from the whole site, not just its text
Ändrat
  • **onboarding:** make the name step fit any kind of organisation
  • **groups:** load a team's members page much faster
  • **media:** let browsers keep avatars and logos instead of refetching
Fixat
  • **discover:** say Följ when logged out and return to the page after login
  • **discover:** tighten the join panel's sticky offset and make its button a link
  • **discover:** round feed cards like the other cards on the org profile
  • **chat:** open the side panel on Assistent instead of Inlägg
  • **org:** show the organisation's website on its public page
  • **onboarding:** keep the found profile across a refresh and a new search

2026.10.2

This release includes 4 new features, 7 bug fixes and 3 improvements.

Nytt
  • **onboarding:** capture tax-register status and deregistration reason from the register
  • **booking:** passes from a timetable, and public places on them for non-members
  • **onboarding:** pick the association's own site and anchor enrichment in the register
  • **onboarding:** change or remove the logo on the review step
Ändrat
  • **members:** unify role editing into access + position sections
  • **onboarding:** auto-apply register data into the live preview instead of an accept-box
  • **onboarding:** neutral website placeholder on the intake step
Fixat
  • **onboarding:** clear previous organisation's data when identity changes
  • **onboarding:** let users exit the organisation creator
  • **onboarding:** make Bolagsverket org lookup work against the live API
  • **members:** prevent self-promotion and gate access-role assignment
  • **onboarding:** drop fetched preview data when the identity behind it changes
  • **onboarding:** find the association's own website when search ranks it low
  • **onboarding:** never take a platform's logo for an association hosted on it

2026.10.1

This release includes 3 new features, 8 bug fixes and 5 improvements.

Nytt
  • **onboarding:** use the association's own logo, or its initials, instead of a random icon
  • **onboarding:** read the organisationsnummer off the association's own site
  • **onboarding:** ask for org number and website as two separate fields
Ändrat
  • **onboarding:** cut the repeated text on the review step
  • **onboarding:** merge keywords and categories into one field
  • **onboarding:** normalize type sizes on the review step
  • **onboarding:** drop the address line above the profile preview
  • **onboarding:** let the preview cover overhang the text column
Fixat
  • **seo:** make sitemap lastmod truthful and stop submitting unrankable URLs
  • **seo:** point the authors metadata URL at the canonical www origin
  • **onboarding:** keep the web answer when the model misfills one field
  • **onboarding:** stop the enrichment curtain hanging and remember its answer
  • **onboarding:** stop the preview's logo tint spilling under the cover
  • **onboarding:** make Back from the review step show the name step again
  • **onboarding:** stop clipping focus rings at the wizard column edge
  • **onboarding:** re-run web lookup when the association's name changes

2026.09.33

This release includes 58 new features, 168 bug fixes and 21 improvements.

Nytt
  • **email:** send real mail from localhost, redirected to one development address
  • **seo:** verify domain ownership in Search Console via meta tag
  • **images:** add a custom static aurora header studio
  • **images:** expand header creation into Asamla Studio
  • **studio:** add fractal artwork and portable editable designs
  • **studio:** add customizable shape layers and static blur effects
  • **accounting:** add fiscal year presets and custom date periods
  • **accounting:** separate fiscal year selection from period presets
  • **accounting:** edit fiscal years in a focused drawer
  • **assistant:** confirm the queue's own suggestions from a card
  • **assistant:** make a standing rule from a card, not a private memory
  • **assistant:** answer 'stämmer banken mot böckerna' from the Avstämning pane's own read
  • **accounting:** pick a month on Transaktioner from a Period select
  • **meeting:** sign the protocol by drawing it, with BankID on the way
  • **meeting:** add suggested agenda items to the add menu
  • **onboarding:** map Swedish registry data to organisation type and categories
  • **accounting:** a picked month on Transaktioner follows the year
  • **meeting:** pick summons recipients by group instead of the whole register
  • **onboarding:** prefill organisation details from the company register
  • **onboarding:** keep the company register invisible until its keys are live
  • **onboarding:** enrich organisation suggestions from the web
  • **forms:** explain what an optional field is for, under the field
  • **onboarding:** ask for ort and hemsida on the first step
  • **onboarding:** describe the organisation from its own website, automatically
  • **onboarding:** cover the wait after step 1 with a full-screen curtain
  • **accounting:** start a new budget from last year's utfall
  • **chat:** bring group feeds into the assistant side panel
  • **onboarding:** infer legal form from the organisationsnummer itself
  • **onboarding:** add a name-search capability to the register seam
  • **onboarding:** record the two-beat wizard's steps on the tenant
  • **mcp:** reach every bookkeeping act of the assistant from the treasurer's own Claude
  • **accounting:** the month close, the year-end documents and a statement as assistant acts
  • **links:** link two organisations and let the one whose books they are grant access
  • **links:** let an association manage its linked organisations under Inställningar
  • **links:** show a byrå's person whose association they are in, and for whom
  • **links:** give a byrå and a förbund a register of the organisations linked to them
  • **onboarding:** redraw the live preview as the association's public page
  • **links:** name the organisation a person acts for in the behandlingshistorik
  • **onboarding:** make the enrichment curtain finish visibly and auto-fill tags
  • **onboarding:** pre-pick interest categories even when the web pass is empty
  • **links:** tell the other end, invite organisations by e-mail, and let a byrå be found
  • **accounting:** let the association accept or block who mails underlag to its inbox address
  • **accounting:** open the hand-over and the eSKD file with a signed download link
  • **links:** let a byrå choose which of its people work on each client
  • **mcp:** give the hand-over and the eSKD file to the treasurer's own Claude as a link
  • **mcp:** give the SIE4 file to the treasurer's own Claude as a download link too
  • **links:** let the förbund and the byrå decide who may ask them
  • **links:** let a byrå with the right role change Bokföring's settings (D33)
  • **accounting:** let the assistant and the treasurer's own Claude reopen a month
  • **mcp:** send a customer invoice from the treasurer's own Claude, drafted so it can be booked
  • **invoicing:** mark a customer invoice paid or void it, from the assistant and over MCP
  • **links:** offer membership applications only to an organisation set up as a förbund
  • **invoicing:** mark a customer invoice paid on the day the money came
  • **mcp:** hand in a receipt from the treasurer's own Claude, through a signed upload link
  • **arcade:** add Fikapaus games and organisation leaderboards
  • **arcade:** suggest first names and let players choose to save scores
  • **arcade:** start games immediately and show instructions on demand
  • **onboarding:** open free-form tags alongside the category filter facet
Ändrat
  • move Better Auth and vector schema setup out of cold-start boot
  • **ai:** stop polling credit status in background tabs
  • stop running middleware on API routes
  • **tenant:** resolve deep-link and last-used tenant in parallel
  • **tenant:** prefetch the signed-in member with the tenant
  • **auth:** land on the first page in one hop after signing in
  • **api:** ask the database once whether a caller belongs here, not twenty times
  • **ai:** fetch the credit balance once for every surface that shows it
  • **ai:** read several pages of a site for the price of one
  • **onboarding:** let each enrichment outcome render only itself
  • **onboarding:** advance to the next step without waiting for the save
  • **onboarding:** make the step transitions real and quiet the rail
  • **onboarding:** centre the phase list in the enrichment curtain
  • **feed:** label the side panel Posts with its matching navigation icon
  • **chat:** keep Assistant and Posts tabs visible in every panel view
  • **feed:** remove the assistant entry from the Posts list
  • **navigation:** hide the sidebar feed when posts are available in the dock
  • **onboarding:** collapse the seven-step wizard into name, then review
  • **onboarding:** float the review step on the association's own colour
  • **arcade:** give games a slimmer classic arcade look
  • **arcade:** move Fikapaus into personal profile settings
Fixat
  • **forms:** read the optional label from the right namespace
  • **tenant:** restore the corrected multi-tenant cleanup hook
  • **studio:** keep aurora artwork smooth at every rotation and export size
  • **studio:** preserve artwork proportions when rotating wide images
  • **accounting:** hide unavailable bank connection options
  • **inbox:** hide email intake until production is ready
  • **accounting:** hide bank connection card from income sources
  • **accounting:** clarify Asamla invoicing and manual payment follow-up
  • **accounting:** wrap income source descriptions instead of truncating
  • **accounting:** show manual verification creation in every transaction view
  • **accounting:** refresh transfer choices when bank accounts change
  • **accounting:** show the selected entry in the transaction panel
  • **accounting:** suggest tax account for unclassified bank payments
  • **accounting:** allow editing counterparty rules and posting accounts
  • **accounting:** prevent editing and reposting locked verifications
  • **accounting:** apply standing rules to waiting transaction suggestions
  • **accounting:** edit rule keywords across counterparty records
  • **accounting:** match Swedish rule keywords in ASCII bank descriptions
  • **accounting:** retain rule match history after keyword edits
  • **accounting:** remove redundant rule keyword explanation
  • **accounting:** record a treasurer's answer as posted by a person
  • **accounting:** stamp the machine's proposal so confirmed-unchanged is measured
  • **assistant:** keep a trimmed tool call's input so the thread stays valid
  • **accounting:** say 'på förslag' for the year's confirmed suggestions
  • **accounting:** leave a research institute's payment to the question
  • **accounting:** do not call a loading account list the first statement
  • **accounting:** record what happened to a rule, not 'återupptagen' for everything
  • **accounting:** keep the bank row's account through the bookkeeping form
  • **accounting:** read an opening balance the way she types it
  • **accounting:** show the reason for money in, not the bank line's note
  • **accounting:** do not count the glance's headline twice on the phone
  • **accounting:** size the balance sheet's floor by the columns it draws
  • **assistant:** title a short conversation in the member's own words
  • **accounting:** one answer at a time, and the record's reason when it refuses
  • **accounting:** wait for a slow confirm chunk instead of reporting it as failed
  • **assistant:** a card press with no answer is spent, not refused
  • **accounting:** on the phone, 'Något annat' opens the chart instead of failing
  • **accounting:** an edit no longer promotes a rule over the ones it overlaps
  • **accounting:** make a rule's text a phrase its own payment contains
  • **accounting:** a stopped or narrowed rule takes its waiting suggestions back
  • **assistant:** a suggested payment is not a booked one
  • **assistant:** count the Inkorg's open documents the way the Inkorg does
  • **accounting:** read the payee past Swish's direction word, a masked card and a giro number
  • **accounting:** one Inkorg document per photographed receipt
  • **accounting:** link the receipt dropped on a voucher, not the Inkorg's first row
  • **accounting:** a posted voucher keeps its payment and its record
  • **accounting:** read Handelsbanken's signed Insättning/Uttag column as one amount
  • **accounting:** the pane offers to link a payment that is already booked
  • **assistant:** never draft a receipt the bank already shows as paid
  • **accounting:** look for suggestions a few rows at a time
  • **accounting:** say that suggestions are coming after an import
  • **accounting:** trust the association's own record, and book utilities and insurance right
  • **accounting:** refuse a correction that changes nothing
  • **accounting:** no month to close before anything has arrived
  • **accounting:** never leave the bank-account read unhandled when no payment is found
  • **accounting:** keep 'Ändra' on a suggestion recorded as a rejected suggestion
  • **accounting:** a suggestion she changed is not called booked on the suggestion
  • **accounting:** the model's accounts follow the association's VAT registration
  • **accounting:** a question with one alternative can be answered no
  • **accounting:** read the savings side of an own transfer as a transfer
  • **accounting:** make 'Varför?' name the right evidence, in her words
  • **accounting:** say what a suggestion books as without the tax qualifier
  • **accounting:** match the tax qualifier without a nested quantifier
  • **accounting:** an empty year is not 'Allt är bokfört'
  • **accounting:** count and describe what the queue's toasts and dialogs report
  • **accounting:** truncate a long payee in the payment pane's header
  • **accounting:** offer 'Något annat…' only where the pane can ask instead
  • **accounting:** keep a bank line's sentence as the reason when it is the only one
  • **accounting:** count what the treasurer did with a rule's suggestions
  • **accounting:** read momsfri sales back as 'Försäljning'
  • **accounting:** name what a rule books in her words, as the row does
  • **accounting:** say when an earlier rule takes the payments a rule matches
  • **accounting:** merge a payee the register split into rows
  • **accounting:** rename a rule for the text it now matches
  • **accounting:** a rule suggests; stop calling it automatic
  • **accounting:** undo a rule stopped from the row, and let the list follow
  • **accounting:** do not offer a payment for a receipt already on another voucher
  • **accounting:** an answered payment carries the receipt she paired with it
  • **accounting:** say where the receipt went when it is paired by hand
  • **accounting:** a receipt paid from the till is not called an outlay
  • **accounting:** the drop zone under Att göra takes receipt photos
  • **accounting:** a payment held by a draft is not called booked in the Inkorg
  • **accounting:** a payment with a found receipt is not listed as without one
  • **accounting:** confirm a receipt on its payment's draft where it is shown
  • **accounting:** count linked vouchers in words, not 'verifikation(er)'
  • **accounting:** a suggestion from a receipt cites the receipt, not an invoice
  • **accounting:** count a receipt on a queued suggestion once in the overview
  • **accounting:** the phone does not offer to pair a receipt already on its suggestion
  • **accounting:** documents being read are not counted as linked in the Inkorg
  • **accounting:** an Inkorg whose receipts are all booked says so
  • **accounting:** list under Saknar underlag only what still needs paper
  • **accounting:** offer 'Behövs inte' on a posted voucher's payment
  • **accounting:** keep the statement's own balance and compare the books with it
  • **accounting:** keep last year's imported opening balances editable
  • **accounting:** ask for opening balances by the association's own account names
  • **accounting:** stop promising the opening difference disappears at the close
  • **accounting:** sign the booked list's amounts the way the voucher pane does
  • **accounting:** wrap a voucher's account names at their slashes
  • **accounting:** offer only places money sits under 'Betalades med'
  • **accounting:** say so when no account matches the search
  • **accounting:** announce the account picker as a combobox with options
  • **accounting:** bind the manual voucher form's labels to their fields
  • **accounting:** do not offer the kontering grid on a posted voucher
  • **accounting:** name the struck voucher by its number in the history
  • **accounting:** list a correction once in the processing history
  • **accounting:** name a voucher's history events as the processing history does
  • **accounting:** on the phone, 'Något annat' says it is done at the desk instead of failing
  • **accounting:** ask what the money was on the phone, and stop saying Klart while work waits
  • **accounting:** let the phone's account search take words, and stop claiming habits a new association has not formed
  • **accounting:** give every Inkorg row on the phone a way forward
  • **accounting:** do not tell the phone a queued read could not be read
  • **accounting:** say on the phone that an answer books the payment
  • **accounting:** after Ändra on the phone, give the line her reason instead of the ladder's
  • **accounting:** name the receipt the phone's booking sheet books, and keep Avbryt on screen
  • **accounting:** count the phone's Bekräfta N up as the chunks post
  • **accounting:** show the phone's read failure in full with what to do, and qualify a member's claim
  • **accounting:** drop the phone glance's unreachable browser branch, and say where the phone screens show
  • **accounting:** make the phone's small controls thumb-sized and stop iOS zooming into its fields
  • **assistant:** never draft a bank line beside a payment the bank already shows
  • **assistant:** say what a card books in the queue's words, not in account codes
  • **assistant:** answer a month close in words, and name the screen it opens
  • **assistant:** a budget card is a whole year's plan, shown beside what is booked so far
  • **accounting:** remember a 'no' to treating the payee the same way next time
  • **assistant:** name the bank reconciliation read in the tool's running line
  • **accounting:** the month close's waiting line opens Transaktioner on that month
  • **accounting:** do not name a rule after one month's payment
  • **accounting:** Att göra's status line counts the rows on screen
  • **seo:** stop the signed-in app being indexed as thin duplicate pages
  • **meeting:** approving a protocol alone no longer answers 400
  • **meeting:** Punkt always adds a main point, wherever the cursor is
  • **accounting:** export real opening, closing and result balances in SIE4
  • **accounting:** open the huvudbok where the period starts, in each account's own direction
  • **accounting:** let last year's column add up, and end a period on its own result
  • **accounting:** say which year is not closed when this year's opening balances do not balance
  • **onboarding:** classify the org registry cache in the access registry
  • **accounting:** offer the association's own fiscal years in the SIE4 export
  • **onboarding:** turn on web enrichment wherever Tavily is configured
  • **accounting:** open Transaktioner on the year of the period a link names
  • **accounting:** name the month and the dates in the month close's bank review
  • **accounting:** specify the bank accounts from the statement typed at the last month close
  • **accounting:** close into the equity block the opening balances already use
  • **accounting:** stop masking dates as account numbers in counterparty names
  • **accounting:** label every source Varför? shows, and send a locked year's changes through the reopen
  • **accounting:** let a year be closed again after its close is corrected
  • **accounting:** say a date is in a locked year at the date, and in words to every caller
  • **accounting:** keep å, ä and ö in the hand-over's lists, and list vouchers in number order
  • **accounting:** name the document the årsmöte adopts, and stop offering to reopen an adopted year
  • **accounting:** offer the result disposition whatever document the årsmöte adopts
  • **accounting:** show how far the result came from the budget, and say what the budget is seeded with
  • **onboarding:** stop each step from wiping the public profile the one before it saved
  • **onboarding:** a provider outage no longer costs a new association its enrichment
  • **onboarding:** translate the finish button's working state
  • **accounting:** refuse to adopt an annual report for a year that is not declared
  • **chat:** keep assistant access visible above group conversations
  • **chat:** keep panel tabs stationary when switching views
  • **accounting:** refuse to save an annual report for a year that is not declared
  • **accounting:** refuse the annual report save for an undeclared year, as described in ab4fa75f6
  • **mcp:** let commit_operation perform a proposal with the connection's own credential
  • **mcp:** give get_financial_report's balansräkning the year's opening balances
  • **links:** give the linked member type a badge so every member type has one
  • **onboarding:** stop the enrichment curtain hanging on "Sammanställer"
  • **assistant:** give the month-close, year-end and file acts their Swedish verbs
  • **invites:** accepting a member invite no longer hangs, and the page names the association
  • **links:** say which organisations the byrå and membership searches can find
  • **accounting:** a voided customer invoice takes its draft receivable with it
  • **arcade:** use left and right arrows to control Fikabreak
  • **bank:** let only a member whose role allows it connect a bank feed to an association
  • **arcade:** fit Fikapaus to the available panel width

2026.09.32

This release includes 1 new feature, 1 bug fix and 1 improvement.

Nytt
  • **Ping Onboarding** — Added clear indicators for required and optional fields to make the setup process faster and more intuitive.
Ändrat
  • **Interface Clarity** — Improved the visual distinction between labels and values in data fields for better readability.
Fixat
  • **Payment Setup** — Fixed an issue where users could lose their place during Ping onboarding, ensuring a seamless path to resume the process.

2026.09.31

This release includes 8 new features, 6 bug fixes and 5 improvements.

Nytt
  • **AI-Powered Booking Setup** — New AI assistance to propose resource configurations and a streamlined "describe-and-preview" flow for creating bookable spaces.
  • **Advanced Membership Management** — Ability to invite new members, track membership periods and payment states directly in the register, and manage board roles and *firmatecknare* via the AI assistant.
  • **Enhanced Fee Handling (*Medlemsavgift*)** — A new two-step process to write, preview, and test *avisering* emails using the association's own branding and wording before sending.
  • **AI Assistant Integration** — The assistant can now handle meeting roles, attendance, sending *kallelse* and *protokoll* for *justering*, preparing member mailings (*utskick*), and closing meetings.
  • **Expanded Booking Capabilities** — Support for weekly series of passes, equipment rentals, and the ability to assign resources to specific premises and responsible members.
  • **Customized Organization Branding** — A new collection of header backgrounds that automatically adapt to your association's theme colors.
  • **Public Page Editor** — New tools to edit organization content directly within Asamla, including a dedicated field for *verksamhetsbeskrivning*.
  • **SEO & Discoverability** — New guides for associations and a comparison tool to improve visibility in AI search engines and traditional search.
Ändrat
  • **Member Register UI** — Polished member cards with improved layouts for wide screens, badge-based status indicators, and better search field focus.
  • **Booking Interface** — Simplified rental options and a more intuitive resource editor with a standardized drawer layout.
  • **Public Organization Pages** — Improved visual consistency with full-viewport color fills and a repositioned "Join" panel.
  • **User Interface Polish** — Introduced "frosted glass" buttons and updated styling for the dashboard and start page for a more modern look.
  • **Pricing Transparency** — Published a new four-tier pricing model (including a Free tier) on a dedicated pricing page.
Fixat
  • **Booking Logic** — Resolved issues where hourly rentals weren't bookable on public pages and fixed VAT calculation displays for monthly rents.
  • **Membership Accuracy** — Fixed a bug where members with no payment history were incorrectly flagged as "unpaid."
  • **Email Reliability** — Corrected the *avisering* recipient picker and ensured mock emails are clearly labeled as such.
  • **Meeting Calendar** — Fixed a display issue where the meeting location was missing from calendar entries.
  • **Theme Legibility** — Improved contrast for button labels on warm brand colors to ensure accessibility.
  • **Session Security** — Enhanced security for session cookies based on the connection address.

2026.09.30

This release includes 28 new features, 40 bug fixes and 28 improvements.

Nytt
  • **booking:** a session is a set of places, not a window with bookings in it
  • **booking:** the rules of a pass, and the fork that reaches them
  • **booking:** tell everyone holding a place when a pass loses its host
  • **booking:** Kommande pass, and the one number a member types
  • **booking:** a place on a pass is paid for at the booking
  • **accounting:** let a sale carry the VAT rate it was actually made at
  • **booking:** release the places nobody paid for
  • **booking:** send a paying booker to Swish, and give them a way back
  • **booking:** a space says every way it is let, not one
  • **booking:** a space let by the month can be booked by the hour too
  • **booking:** write the contract a recurring time always was
  • **booking:** the resource editor says how a space is let, in sentences
  • **booking:** let a booker say which way they are hiring
  • **booking:** a request is a booking that holds nothing
  • **booking:** one answer to whether a space is free
  • **booking:** a space's real terms travel with it
  • **booking:** every space, one week, one screen — and bookable from it
  • **booking:** an hourly let is charged, on an invoice
  • **booking:** a stranger can book a space
  • **leasing:** a contract can cover several units
  • **leasing:** a space's delegate reads and writes its contracts
  • **leasing:** whoever signs a contract is owed a share of its rent
  • **booking:** notifications follow the decision, not the record
  • **booking:** a pass's hosting can be handed over
  • **meeting:** add a dedicated shortcut for creating a new punkt
  • **assistant:** the one assistant handles projects, instead of a second chat beside it
  • **assistant:** hide and show the assistant column
  • **membership:** add open public link button to plan quick view
Ändrat
  • **sidebar:** letting has no row of its own beside Boka och hyr
  • **editor:** drop the paper frame and give the document and project editors a real header
  • **assistant:** open the dock at its minimum width by default
  • **documents:** rename a document by typing in its title
  • **meeting:** make the meeting header fit narrow widths
  • **nav:** move Projekt out of the Ekonomi fold into Verksamhet
  • **meeting:** compact meeting header, remove large attendees box
  • **assistant:** the grant tools carry their own card instead of the legacy adapter
  • **assistant:** take the memory and proposal panels out of the header
  • **feed:** replace native confirm dialogs with AlertDialog
  • **ui:** consolidate tab systems on AppTabs and Page tabs
  • compose classNames with cn() instead of template literals
  • replace remaining native confirm prompts with AlertDialog
  • **ui:** entity panels and the mobile todo switch use the standard components
  • **ui:** one empty state, able to say what is missing and why
  • **ui:** hand-rolled empty states use the shared component
  • **ui:** the card prompts use the one empty state too
  • **accounting:** the year picker's empty door reads as a control, not a headline
  • **meeting:** fit three template cards in narrower content columns
  • **drawer:** widen desktop drawers and deepen the backdrop
  • **ui:** one eyebrow and one field label, everywhere
  • **booking:** drop the hint under a greyed Nästa on the name step
  • **drawer:** trim the desktop drawer width to 48rem
  • set page and banner titles in the display face
  • ease the display-face titles from 900 to 800
  • **dashboard:** consolidate start-page type scale onto standard tokens
  • **payments:** use a real switch for the membership payments toggle
  • **membership:** cap plan image picker width in create drawer
Fixat
  • **booking:** give an enquiry a home, and a way to be written
  • **booking:** confirming a public booking is a press, not an arrival
  • **booking:** an enquiry can be answered, with what the answer needs
  • **leasing:** a manager may correct the contract she wrote
  • **booking:** seed the grants letting forms and passes shipped without
  • **dev:** take a throwaway association down whole, and measure it
  • **booking:** moving a booking to another pool re-runs the pool rules
  • **booking:** opening a booking from a room's public page no longer crashes
  • **booking:** a space let through forms can be booked by strangers and members
  • **booking:** letting-form selects show their labels, not their values
  • **booking:** opening-hours lines are keyed by their window as well as their days
  • **booking:** opening hours list a day's passes on one line
  • **booking:** opening-hours windows are plain text, not pills
  • **booking:** opening-hours days head their windows, three to a row
  • **booking:** a room's facts sit in a row, and its hours columns hug their clocks
  • **booking:** the booking area is named Boka och hyr, and its header offers Administrera
  • **ci:** run the nightly E2E deep tests instead of silently skipping them
  • **assistant:** keep the column attached to the page while it is resized
  • **nav:** point the Projekt row at Projekt, not Insamling
  • size card grids and column layouts off the content column, not the viewport
  • **projects:** stop the new project document repeating the project's name
  • **assistant:** make grant results in the chat readable and clickable
  • **meeting:** restore height of empty section body so placeholder stays inside the section
  • **sidebar:** make section labels click-through in the icon rail
  • **projects:** add missing labels for project rename and date fields
  • **navigation:** Projekt in the sidebar always opens the projects view
  • **ui:** selects show their label when closed, and group their items
  • **ui:** loading buttons say what they are doing
  • **accounting:** the finance overview stops ending a sentence on a dangling 'för'
  • **income:** the year scope card shows the standard prompt when there is no year
  • **booking:** keep the resource drawer's actions on the bottom edge
  • **inbox:** keep an inbox item's actions on the drawer's bottom edge
  • **discover:** make the logoless avatar opaque over the cover photo
  • **ping:** send the KYC agreement for signing without Ping's own participant
  • **payments:** read Ping merchant status back from Ping on refresh
  • a toast no longer crashes the page it is raised on
  • **membership:** close the plan drawer before the saved toast
  • **membership:** the public join page no longer says who is a member, and a member can pay
  • **booking:** the booking notices job can run in production
  • **release:** load env files so release notes get their LLM polish

2026.09.29

This release includes 35 new features, 53 bug fixes and 22 improvements.

Nytt
  • **page:** a tab row that puts what does not fit behind Mer
  • **accounting:** Översikt answers is the association all right, on arrival
  • **discover:** use category routes instead of query filters
  • **posts:** publish an utskick as a public post with its own page
  • **event:** edit an evening on its own public page
  • **membership:** edit a plan on the page people join through
  • **feed:** edit a public post on its own page
  • **event:** address an evening by a short public id
  • **event:** Skapa evenemang mints the draft and opens its page
  • **event:** the page under the edit drawer updates as you type
  • **posts:** every utskick carries a way out of it
  • **settings:** members manage utskick themselves, senders see who left
  • **invoicing:** filter and total the invoice list, send from the editor
  • **accounting:** two groups in Transaktioner's ⋯ menu
  • **accounting:** the band's Bekräfta alla leads Att göra
  • **groups:** posts live in Inlägg, a group's page under Grupper
  • **invoicing:** page the invoice list and count it on the server
  • **todo:** a new task is one form, and it needs a description
  • **accounting:** the pane asks what the money was, with every answer
  • **posts:** Inlägg lives at /feed on the website
  • **invoicing:** save every settings card the same way
  • **accounting:** the pane asks the follow-up where she answered
  • **accounting:** setting a payment aside is in view, and says on whom
  • **accounting:** the default path names accounts in words
  • **accounting:** the loop says its keys, and Enter only opens
  • **accounting:** one filled button per Inkorg pane, and its doors named
  • **invoicing:** a draft is deleted, not voided
  • **accounting:** the Inkorg asks the history conflict as a question
  • **accounting:** one status line over the Inkorg, the stranded banner above it
  • **accounting:** an Inkorg pairing carries its reasons, and one press confirms it
  • **accounting:** the Inkorg row can be weighed and confirmed, and fits its column
  • **accounting:** Rapporter exports from its own toolbar, and statement rows read name first
  • **accounting:** Bokslut closes a year only when nothing dated in it waits in Att göra
  • **accounting:** Bokslut's document choice and Fastställ stand in step 3
  • **accounting:** the Inkorg's status line names the documents being read
Ändrat
  • **accounting:** where you are, then where to go, then what to change
  • **marketing:** make start page login button more prominent
  • **discover:** soften public org accent tint and controls
  • **discover:** move org-page discover navigation into top bar
  • **discover:** align top chrome with public pages and soften hero
  • **discover:** remove top discover controls
  • **discover:** rename org top-nav link to Upptäck föreningar
  • **nav:** rename discover top-nav label to Upptäck föreningar
  • **discover:** reduce curated section heading sizes
  • **discover:** strengthen page title contrast
  • **discover:** keep page heading above chrome gradient
  • **discover:** make top navbar sticky
  • **discover:** make org avatar overlay circular
  • **discover:** make sticky navbar more transparent
  • **event:** Fler åtgärder is a section like the rest, and Detaljer opens
  • **event:** shorten the unpublished registration notice
  • **event:** make unpublished preview notice read as a badge
  • **accounting:** lift Transaktioner's pane and menu out of the page
  • **ui:** drop the asChild the sidebar wrappers ignored
  • **notifications:** scale unread badge to fit the sidebar bell
  • **accounting:** give each bookkeeping setting its own page
  • **assistant:** tighten chat message spacing
Fixat
  • **accounting:** keep the queue's keys off the list while a payment is open
  • **accounting:** make the Kontoplan pane fit its column
  • **marketing:** smooth header border transition while scrolling
  • **posts:** drop the utskick label from public posts
  • **shell:** reserve the assistant's width from the first paint
  • **accounting:** call the chart of accounts Kontoplan everywhere
  • **feed:** hide utskick's internal name on public posts
  • **event:** resolve an evening by id when it has no slug yet
  • **event:** an unpublished evening cannot be answered
  • **event:** keep date tile in sync with event headline
  • stop nagging fresh tabs to reload after a deploy
  • **accounting:** drop the Avancerade inställningar heading
  • **accounting:** settings rows select, they do not navigate
  • **booking:** render the sync warning's description as a div
  • **booking:** call BookingEditPage's hooks before its early returns
  • **booking:** show a real message when a booking is not found
  • **drawer:** keep bottom sheets clear of the keyboard in phone browsers
  • **accounting:** queue rows read their payee in full on a laptop
  • **accounting:** In and Ut stand with the account select
  • **marketing:** make the navbar's app link the menu item itself
  • **todo:** name the assignee from the first frame, and fit the title on phones
  • **accounting:** the strings the pane's follow-up asks with
  • **calendar:** Swedish month and weekday names on the web, weeks from Monday
  • **hooks:** call every hook before the early returns
  • **hooks:** call Effect Events only from effects
  • **a11y:** name every switch after what it switches
  • **page:** whole page titles beside the header button on a phone
  • **accounting:** one word for each act, one sign and one date
  • **audience:** a company's groups are channels on every screen
  • **todo:** search for the assignee on the server, and save the first change
  • **invoicing:** fit the preview's invoice lines to the drawer
  • **ui:** a customer picker that lists names, and comboboxes that read right
  • **todo:** bulk unassign, remove a last attachment, one save per change
  • **app:** Hem names the posts area Inlägg
  • **todos:** bring back Redigera, and with it the bulk bar
  • **app:** the gate for a switched-off area says Inlägg
  • **todo:** name creators and comment authors outside the newest 100 members
  • **accounting:** the direct form asks how it was paid first, in words
  • **settings:** the groups switch is named Inlägg
  • **inbox:** hide the email door until mail sent to it arrives
  • **onboarding:** the groups product is named Inlägg when choosing it too
  • **app:** point administrators to Organisation > Appar to switch areas on
  • **invoicing:** a sent invoice keeps what the customer was sent
  • **todo:** clean a comment's HTML before it is rendered
  • **todo:** comment buttons for phones, a delete that asks, an edit without HTML
  • **posts:** stop using the inbox address as reply-to on post e-mails
  • **todos:** list every open task, not the 100 newest
  • **mentions:** search members as the name is typed
  • **accounting:** a stalled Inkorg read says Läs om, and the pairing search is live
  • **accounting:** the company wording for a refused Excel export follows its key
  • **ci:** create payload_migrations in the first migration so a fresh database can be built
  • **ci:** trust 127.0.0.1 as an auth origin so E2E logins stop being rejected
  • **ai:** the AI rows nobody chose follow the seed onto Berget

2026.09.28

This release includes 7 new features, 9 bug fixes and 27 improvements.

Nytt
  • **settings:** autosave appearance color on selection
  • **organization:** autosave appearance settings, remove Save button
  • **booking:** edit a resource on its own page, in a drawer
  • **booking:** a lokal's public page is where members book it and the förening edits it
  • **booking:** book a room from one button, in a three-step dialog
  • **marketing:** highlight bokföring on the start page
  • **theme:** unify tenant branding to one accent color setting
Ändrat
  • **theme:** tint the shell's paper and greys with the organization's colour
  • **marketing:** rebuild the start page as a centred hero in a ring of tiles
  • **booking:** a room's page resolves who is looking, not just whether a stranger may look
  • **start:** lighten Asamla wordmark weight in hero logo
  • **start:** turn capability pills into a colour-accented card grid
  • lighten Asamla wordmark weight app-wide
  • **start:** drop the 'Allt på ett ställe' eyebrow
  • **start:** scale up the capability section headline
  • **start:** replace mid-page login band with a centred team quote
  • **booking:** /booking/<id> hands a room over to its public page
  • **booking:** the resource drawer's settings rows split on their own width
  • **start:** remove dashes from start page copy
  • **booking:** give lokaler a short public id instead of a counter
  • **assistant:** draw thread public ids from the CSPRNG
  • **marketing:** rewrite start page copy in a plainer voice
  • **booking:** take the book button out of its card and say how booking works
  • **drive:** make a share link the token and nothing else
  • **marketing:** rebalance the landing footer
  • **booking:** say what booking commits you to beside the opening hours
  • **booking:** move a member's own bookings into a dialog on the resource page
  • **discover:** move opening hours above the booking button
  • **home:** bolden the overview greeting
  • **discover:** set org page title to black weight
  • **discover:** render org page title in the display face
  • **discover:** soften org page title from black to bold
  • **discover:** set org page title to extrabold
  • **membership:** give the public join page the same layout as a bookable room
Fixat
  • **discover:** hide the guide button while a page's edit drawer is open
  • **drawer:** make expanded groups scrollable in edit drawers
  • **booking:** stop offering 'skapa evenemang' on bookings that have already ended
  • **membership:** keep join CTA plain and make plan images publicly readable
  • **membership:** hide back link when org has a single join plan
  • **bookings:** remove card wrapper from tenant-switch booking prompt
  • **discover:** keep Redigera in top bar on booking and join pages
  • **membership:** open existing side drawer from public join edit
  • **membership:** use public edit sidebar pattern on join pages

2026.09.27

This release includes 16 new features, 26 bug fixes and 54 improvements.

Nytt
  • **payments:** add placeholder text to Ping bank account fields
  • **payments:** add placeholder text to Ping bank name field
  • **db:** evidence-based tenant classification and cleanup tooling
  • **membership:** ship the schema for fee runs (aviseringar)
  • **membership:** collect the year's fee from imported members
  • **members:** import medlemsplan and betald t.o.m. from a spreadsheet
  • **posts:** add a medlemsavgift block to newsletters
  • **membership:** choose whether a plan follows the calendar year
  • **public-page:** rebuild the förening page as one stacked public page
  • **sidebar:** group navigation items under section labels
  • **drive:** show folder contents summary and fit the grid to the panel width
  • **public-page:** draft the "Om oss" text from the förening's own documents
  • **public-page:** give the förening a Redigera button on its own page
  • **public-page:** live preview in its own window while editing
  • **public-page:** edit the page in a drawer on the page itself
  • **members:** restructure /members into a task-based workspace
Ändrat
  • let right-side drawers reach the bottom of the frame
  • **payments:** frame payments as 'aktivera betalningar' rather than a provider
  • **dashboard:** let the hero cover run edge to edge on desktop
  • **grants:** rename Bidrag to Projekt and move Insamling there
  • **dashboard:** lead Hem with the förening below its cover, not on it
  • **membership:** send an avisering in bounded rounds instead of one request
  • **dashboard:** match the banner's type and chips to the design
  • **public-page:** put the förening's page in the design's voice
  • **sidebar:** tighten nav row spacing and height
  • **sidebar:** make Uthyrning a sub-item of Bokning
  • **dashboard:** run the cover edge to edge and keep the banner on one row
  • **dashboard:** give Hem one full-width column and mark the urgent row
  • **sidebar:** group the economy areas under one Ekonomi disclosure
  • **dashboard:** open the public page in a new tab, and say so
  • **public-page:** drop the app header from a förening's page
  • **public-page:** let the cover and the name read as one block
  • **sidebar:** keep Uthyrning a row beside Bokning
  • **public-page:** run the wordmark line edge to edge
  • **org:** let the cover reach past the text column
  • **org:** state a förening's place once, not behind two map pins
  • **org:** match the Följ button to the call to action beside it
  • **org:** make the accent wash at the top of a public page carry
  • **org:** take the raw URL out of the public page's top line
  • **org:** give a förening's sub-pages the same page as its front page
  • **public-page:** drop the tabs and put the whole förening on one page
  • **public-page:** set the förening's name and section titles in the brand face
  • **public:** Luma-style layout for shared event and booking pages
  • **public-page:** take the förening's name back down a size
  • **public-page:** drop the count beside section titles and settle their size
  • swap brand display font from Bricolage Grotesque to Cabinet Grotesk
  • **public:** drop the org hero from event and booking detail pages
  • **theme:** make Asamla's default theme colour-neutral
  • **public-page:** bring the mark and the share button up to full strength
  • **dashboard:** remove 'Ny bokning' quick action
  • **public-page:** push the page aside when the edit drawer opens
  • **public-page:** collapse the edit drawer into four groups and a publish bar
  • **public-page:** run the edit drawer the full height of the window
  • **public-page:** one colour control, and no icon when there is a logo
  • **public-page:** save and cancel the page edits instead of auto-saving
  • **dashboard:** move organisation identity into the hero cover
  • **dashboard:** strengthen hero name, logo ring and greeting
  • **income:** tidy up connect payments banner feature list
  • **members:** unify register search and filter toolbar
  • **public-org:** harmonize typography and refine membership panel
  • **public-org:** simplify typography system and tone down member panel styling
  • **public-org:** move to a more minimal type hierarchy
  • **public-org:** make typography more minimal and adjust sticky member card
  • **public-org:** refine heading scale and move social links into header facts
  • **public-org:** render support campaigns in cards
  • **booking:** expand resource editor and remove card container
  • **booking:** align resource editor canvas with standard setup
  • **booking:** remove nested paper card in resource editor
  • **booking:** use normal background for resource editor canvas
  • **booking:** autosave the resource editor instead of Spara/Avbryt
Fixat
  • **payments:** name Ping Payments instead of implying a provider choice
  • **ci:** migrate the E2E database before running browser tests
  • **ci:** refuse to migrate a database that has not declared itself disposable
  • **payments:** add standard page header and fix footer spacing on Ping onboarding
  • **ci:** stop E2E tests navigating to localhost while the server binds 127.0.0.1
  • **jobs:** stop a job whose task was removed from retrying for ever
  • **db:** refuse cleanup runs when the checkout is ahead of the target
  • **db:** cascade locked-document rows when a fee run is deleted
  • **accounting:** stop Transaktioner counting forever with no räkenskapsår
  • **membership:** send a receipt when a fee is marked paid externally
  • **membership:** stop a failed avisering leaving an unusable draft
  • **membership:** stop a påminnelse looping over the same members
  • **chat:** bring the openView tool back under its size ceiling
  • **public-page:** show a förening's sections without asking it to opt in
  • make the tab favicon legible in dark mode
  • **org:** show the förening's colour at the top of its public page
  • let font utilities override the global heading font
  • **dashboard:** name the unit in band counters and drop the doubled divider
  • **drive:** count documents in every folder card, not just the open one
  • **members:** improve edit drawer clarity on narrow widths
  • **members:** restore primary add CTA in header
  • **members:** stabilize workspace tabs and keep actions in content
  • **members:** keep invite/import actions grouped on register header row
  • **members:** improve board/fees CTAs and applications filter UI
  • **page-header:** start tab indicator animation from active tab
  • **public-org:** improve membership card copy and plan text layout

2026.09.26

This release includes 19 new features, 44 bug fixes and 6 improvements.

Nytt
  • **organization:** adapt wording and suggestions for companies
  • **organization:** add foundation as an organization type
  • adapt company wording and suggestions to organization type
  • **navigation:** focus Inlägg on posts and move group management under Team
  • **onboarding:** make the AI assistant an explicit feature choice
  • **posts:** use compact channel selection for businesses
  • **invoicing:** give invoices and recurring plans their own navigation
  • **payments:** enable the shared Ping onboarding flow for companies
  • **payments:** choose signatories from team and member registers
  • **invoicing:** personalize invoice headings with a business name
  • **invoicing:** add restrained invoice branding and closing messages
  • **invoicing:** edit shared organization details in invoice settings
  • **invoicing:** create and edit invoices in the page body
  • **invoicing:** default VAT-registered organizations to prices excluding VAT
  • **invoicing:** add reusable articles and invoice row selection
  • **invoicing:** show live invoice preview beside the editor
  • **invoicing:** let organisations customise invoice categories and accounts
  • **invoicing:** add advanced income account selection per row
  • **invoicing:** move optional income account overrides to articles
Ändrat
  • **business:** consolidate funding and hide membership payment navigation
  • **invoicing:** place invoice appearance below payment and terms settings
  • **invoicing:** show organization details as a summary until edited
  • **invoicing:** make invoice editing more compact
  • **invoicing:** shorten the preview label
  • **invoicing:** use one invoice message field
Fixat
  • **auth:** restore the Android app's OAuth client in the token audience
  • **organization:** derive company wording from organization type
  • **meeting:** use company agendas in built-in template suggestions
  • **meeting:** enforce tenant and collection access during creation
  • **onboarding:** separate creator permissions from organizational role
  • **meeting:** use company defaults across meeting creation flows
  • **documents:** adapt built-in company templates and generated content
  • **payments:** prevent company onboarding with association agreements
  • **posts:** keep team mailings private and enforce public feed visibility
  • **communications:** authorize custom send actions before sending mail
  • **meeting:** include teammates in invitations and preserve board suggestions
  • **email:** report provider failures and preserve delivery progress on retry
  • **email:** preserve the mail client response contract for existing callers
  • **onboarding:** protect draft setup and resume failed invitations and imports
  • **business:** complete company wording for events mailings and invoice output
  • **privacy:** exclude legacy team mailings from public discovery
  • **email:** align mock responses and verify partial mailing sends
  • **onboarding:** retain selected products and deduplicate imported files on resume
  • **communications:** distinguish retries from resends and avoid duplicate notifications
  • **mailings:** serve private email files through scoped signed links
  • **onboarding:** avoid database lock when enabling groups
  • **onboarding:** adapt setup and preview to the selected organization type
  • **accounting:** start new organizations without fiscal years
  • **income:** hide membership payment controls for companies
  • **team:** remove association membership controls from business teams
  • **profile:** adapt company roles and signing authority wording
  • **invoicing:** restore mobile invoice actions and accurate delivery feedback
  • **onboarding:** leave signing rules empty until supplied
  • **business:** remove membership-only paths from team profiles and app shortcuts
  • **business:** complete shared workspace wording across feature surfaces
  • **business:** name the shared invoicing app consistently in feature settings
  • **business:** tailor public-page and board-role suggestions to companies
  • **invoicing:** describe saving unsent mobile invoices as drafts
  • **reports:** stop deriving association narratives for company year-end drafts
  • **payments:** preserve manually entered signatories during onboarding
  • **business:** remove membership counts from company public headers
  • **navigation:** start tenant menus expanded and remember each user's choice
  • **payments:** show team members immediately in the signatory picker
  • **invoicing:** remove business name examples from settings hints
  • **invoicing:** use inclusive wording for association invoice settings
  • **invoicing:** explain invalid invoice fields before submitting drafts
  • **invoicing:** preview fixed A4 pages from the invoice PDF
  • **auth:** accept the Apple key as a bare base64 body
  • **ci:** the four checks the business work left red

2026.09.25

This release includes 2 new features, 2 bug fixes and 1 improvement.

Nytt
  • **feed:** show comments and replies immediately across web and app
  • **feed:** publish and manage group posts optimistically
Ändrat
  • **accounting:** adapt full bookkeeping screens for mobile web
Fixat
  • **accounting:** enable full accounting in mobile website view
  • **dashboard:** split Hem's rows on column width, not viewport

2026.09.24

This release includes 1 new feature, 3 bug fixes and 3 improvements.

Nytt
  • **mobile:** refresh navigation and offer the app experience in browsers
Ändrat
  • **mobile:** compact the menu and app view switch
  • **mobile:** place a smaller view switch above the profile
  • **app:** preload home details and prepare the feed before its first tap
Fixat
  • **navigation:** label the home menu item Hem instead of Upptäck
  • **mobile:** fit home quick actions on one row
  • **mobile:** preserve quick action labels in the existing translation block

2026.09.23

This release includes 3 bug fixes and 2 improvements.

Ändrat
  • **native-app:** Inlägg wears two bubbles, not one
  • **native-app:** Inlägg opens the group it is already in
Fixat
  • **auth:** sign back in to the association you were last on
  • **native-app:** Hem appears once, whole, instead of assembling on screen
  • **nav:** the two-bubble icon is a Tabler icon, not a plain function

2026.09.22

This release includes 2 new features, 2 bug fixes and 3 improvements.

Nytt
  • **feed:** a comment's like tells who gave it, as a post's reaction does
  • **native-app:** the welcome card stays until it is closed, and returns when Hem is empty
Ändrat
  • **native-app:** the welcome card's title fits one line
  • **native-app:** the welcome card only ever takes the top slot
  • **native-app:** the welcome card is for an empty Hem only
Fixat
  • **todos:** Klar keeps only what was just finished, and the setup card waits for its counts
  • **todos:** a drop on Klar lands when its finished cards are hidden

2026.09.21

This release includes 3 new features and 2 bug fixes.

Nytt
  • **feed:** reactions show at once, and a pill tells who gave it
  • **auth:** Google id tokens from the Android app are accepted
  • **auth:** Sign in with Apple on the website
Fixat
  • **nav:** Utskick gets its paper plane back
  • **feed:** a like on a comment shows at once too

2026.09.20

This release includes 2 new features and 2 bug fixes.

Nytt
  • **accounting:** the app's receipt button opens the phone's scanner
  • **accounting:** the receipt you just photographed can be opened
Fixat
  • **members:** delete no longer hangs on the general group, and the refusal reaches the toast
  • **pwa:** bring the installable web app up to the current brand

2026.09.19

This release includes 2 bug fixes and 1 improvement.

Ändrat
  • lighter first load for the app's pages
Fixat
  • **app:** loading, error and touch details on the app's screens
  • **app:** the feed no longer shakes after a tap into the composer

2026.09.18

This release includes 1 new feature.

Nytt
  • **app:** write posts inline, lighter Hem actions, the website's reaction chips

2026.09.17

This release includes 10 new features, 4 bug fixes and 6 improvements.

Nytt
  • **drive:** Bokföring and Projekt stay visible but cannot be deleted, renamed or moved
  • **groups:** members are added and removed on the group's member tab
  • **native-app:** Hem arrives rendered, and redesigned around one card
  • **feed:** links in group posts are clickable and the first one is unfurled into a card
  • **organization:** edit the cover picture from Utseende, and the dashboard's pencil leads there
  • **native-app:** Inlägg reads like a chat, the way to write docked at the bottom
  • **feed:** posts take the chat's eight reactions
  • **feed:** the group stream reads like a chat
  • **native-app:** reacting moves into the post's sheet, the list shows only what a post has
  • **native-app:** a "+ smiley" beside a post's reactions, as in Slack
Ändrat
  • **native-app:** the app stops asking for what its screens never read
  • **shell:** one button on the nameplate, not two
  • **native-app:** the composer's destination row loses its group avatar
  • **feed:** the composer is one box with its tools along the bottom
  • **native-app:** the post card takes Slack's shape, the group's bell moves into its header
  • **native-app:** the reactions are drawn from vector files, sharp on every phone
Fixat
  • **native-app:** choosing another group in the composer sticks
  • **native-app:** the assistant button also shuts the sheet it opened
  • **home:** the website's start page no longer renders the app's Hem
  • **home:** the website's Hem stays the overview; the app's Hem is the start page's server branch

2026.09.16

This release includes 15 new features, 14 bug fixes and 4 improvements.

Nytt
  • **groups:** on the website the group is a filter on one feed
  • **native-app:** the groups are chosen top right, for Inlägg and Uppgifter alike
  • **organization:** one place to edit the public page, with the page itself as the preview
  • **native-app:** the group choice is on every page and remembered
  • **membership:** applications a board approves, and a join mode per plan
  • **membership:** apply for membership from the public page
  • **feed:** @-mention a member in a group post
  • **members:** the board decides on applications from /members/applications
  • **native-app:** the group choice drops down from the pill
  • **native-app:** the composer says where the post goes, even tab gaps, the group's name in Hem
  • **feed:** @-mention a member in a comment too
  • **native-app:** the badges follow the groups chosen, and the menu marks a group with something waiting
  • **ai:** a visitor's guide on Upptäck — read-only tools bound to what the visitor may see
  • **discover:** "Fråga guiden" on Upptäck and every förening's page
  • **shell:** the column stays when the assistant is switched off
Ändrat
  • **discover:** Upptäck and the förening's page in the house language
  • **discover:** every visitor-facing string through next-intl
  • **discover:** the category filter is a picker beside kommun, not nineteen pills
  • **discover:** the dashboard keeps its banner, the public page's identity row stops squeezing
Fixat
  • **deploy:** fixed "Groups on the phone and the website" - The general-group release finally reaches production: Grupper opens on one group, switched from its name, and an association that switches Grupper on gets its Allmänt.
  • **booking:** make Hantera the header's primary CTA
  • **discover:** one visibility rule, and the legacy flag no longer lists private associations
  • **discover:** the förening's page can be followed, hides empty tabs, and Upptäck pages
  • **feed:** a mentioned name is coloured text, without a background
  • **discover:** activity-type message keys without dots
  • **native-app:** the tab bar's badge counts the previous commit left out
  • **i18n:** the group menu's hint no longer promises Möten
  • **ai:** the guide reads each plan's resolved join mode before saying how to join
  • **ai:** the visitor's guide is held to the public page, mechanically
  • **discover:** a link in the guide's answer opens here, and the conversation survives it
  • **documents:** the document panel shares the assistant's column, not a left sidebar of its own
  • **shell:** three more screens share the assistant's column instead of their own sidebar
  • **ci:** four release-blocking gaps, none of them a real regression

2026.09.15

This release includes 1 bug fix.

Fixat
  • **groups:** the general-group migration adds the column and nothing else

2026.09.14

This release includes 1 new feature and 2 bug fixes.

Nytt
  • **groups:** Grupper on the website opens on one group, switched from its name
Fixat
  • **groups:** the general-group migration is three SQL statements
  • **assistant:** the Grupper view's description fits the tool budget

2026.09.13

This release includes 4 new features and 1 bug fix.

Nytt
  • **native-app:** a new task is created from the corner, and can belong to a group
  • **native-app:** Hem lists the member's own tasks
  • **groups:** every association with Grupper has a general group, Allmänt
  • **native-app:** Grupper opens on one group, switched like the association
Fixat
  • **native-app:** the open page loads first, the rest after it has settled

2026.09.12

This release includes 7 new features and 1 bug fix.

Nytt
  • **native-app:** the picker asks once, then the phone remembers
  • **native-app:** every tab is warm before it is tapped
  • **native-app:** the post composer is laid out like a phone's
  • **native-app:** inside a feature, the next tap is warm too
  • **native-app:** the composer shows the post as it will look
  • **native-app:** Nytt möte offers AI, a previous meeting or a blank one
  • **native-app:** the once-over after a protocol becomes an agenda
Fixat
  • **native-app:** a meeting made on the phone shows up in its lists

2026.09.11

This release includes 8 new features, 1 bug fix and 3 improvements.

Nytt
  • **meeting:** pure helpers for the app's meeting list
  • **native-app:** Möten lists what waits, what is coming and what has been
  • **native-app:** Hem surfaces protocols to justera and sign
  • **native-app:** a meeting reads as one document on the phone
  • **native-app:** one point at a time fills the screen, swipe to the next
  • **native-app:** justera and sign a protocol from the phone
  • **native-app:** a point reads large, and a tap makes it larger
  • **native-app:** the point asks the shell to let the phone turn
Ändrat
  • **payments:** retire the platform fee percentage and the last Stripe wording
  • **native-app:** the point's buttons float like the tab bar
  • **native-app:** the app's chrome keeps clear of the notch when the phone lies down
Fixat
  • **native-app:** three things the first justering on a phone showed

2026.09.10

This release includes 25 new features, 21 bug fixes and 14 improvements.

Nytt
  • **assistant:** name Swedish verbs for the classification and stadgar tools
  • **payments:** book every completed Swish payment into the ledger
  • **ai:** switch AI off platform-wide or per area
  • **payments:** send the Swish payer onward, with a receipt, and let a declined attempt be retried
  • **ai:** let an association switch AI off, and rate-limit AI routes
  • **payments:** refund a Swish payment through Ping, with its credit note
  • **ai:** fence document text in single-shot prompts and prove the fence holds
  • **privacy:** keep assistant conversations 180 days and describe AI data flows truthfully
  • **membership:** remind members to renew with a Swish link, and mark ended periods past due
  • **ai:** mask written personal identity numbers before the assistant's model
  • **events:** sell priced tickets with Swish through Ping, and refund them the same way
  • **transcription:** stop sending member names to ElevenLabs
  • **crowdfunding:** take donations with Swish through Ping
  • **native-app:** toasts drop from the top in the app
  • **native-app:** whole task titles in the app's task list
  • **native-app:** a floating tab bar
  • **native-app:** choose the association at sign-in
  • **membership:** renew automatically with a Swish consent
  • **privacy:** log who saw a personnummer and who changed a member or user
  • **kyc:** a partner-neutral KYC package, with Ping as its first adapter
  • **booking:** Min plats is the renter's tab on Boka
  • **booking:** administration moves a level below Boka
  • **booking:** the Uthyrning entry appears where letting is the job
  • **booking:** Hantera opens for resource managers
  • **native-app:** Möten is an area of the app
Ändrat
  • **income:** say Swish where the payment screens still said Stripe
  • **native-app:** drop the unused keyterms field from recording:start
  • **roles:** use the one isTenantAdmin in the assistant contexts
  • **native-app:** the association picker in the app's own list language
  • **native-app:** the sign-in association picker is the app's own "Välj förening"
  • **payments:** the connection says which rail pays, not four call sites
  • **native-app:** a soft shadow under the floating tab bar
  • **native-app:** the floating tab bar stands on plain background
  • **native-app:** the page keeps scrolling under the floating tab bar
  • **ping:** single-column onboarding instead of a side info panel
  • **native-app:** the assistant gets a button of its own beside the tabs
  • **native-app:** the sign-in picker sits in the middle of the screen
  • **native-app:** the sign-in picker wears the Asamla mark
  • **native-app:** Hem reads a task in full too
Fixat
  • **accounting:** read multi-group thousand separators in bank amounts
  • **privacy:** stop writing a removed Dintero field on account deletion
  • **payments:** refuse another association's plan at Swish checkout
  • **ai:** require association membership on every AI route
  • **assistant:** search returns only what the member may open
  • **assistant:** mount the books only for a role that reads them
  • **assistant:** say AI is switched off instead of offering a retry
  • **native-app:** the post composer keeps clear of the status bar while typing
  • **meetings:** guard the meeting AI server actions like the AI routes
  • **roles:** keep a user's tenant role in step with their member role
  • **members:** keep members' personal details from the whole association
  • **access:** tenant-wide writes to documents need a role that grants them
  • **membership:** check the plan at signup and the member at checkout
  • **booking:** an administrator sees group-restricted resources too
  • **booking:** one answer to "is this person an administrator"
  • **ai:** keep KYC material out of the index and away from the assistant
  • **notifications:** a push says the same thing as the bell and the digest
  • **notifications:** every hook writes Swedish, and quotes content as text
  • **notifications:** the last two previews are read as text too
  • **ai:** count the AI rate limit where every server instance sees it
  • **booking:** the way out of the resource editor is the way in

2026.09.9

This release includes 218 new features, 229 bug fixes and 89 improvements.

Nytt
  • **dashboard:** rework the home overview – greeting, quick actions, todos and calmer lists
  • **calendar:** render multi-day events on every day they span
  • **calendar:** create events by clicking empty space in the grid
  • **calendar:** add the calendar-connection schema
  • **bookings:** add Leasing sub-feature switch for rental businesses
  • **bookings:** Leasing data model — offices, desk inventory and rent contracts
  • **bookings:** Leasing switch in the feature settings
  • **bookings:** renter and instructor role presets for leasing tenants
  • **bookings:** Leasing tab — offices, desk inventory, leases and hourly pricing
  • **bookings:** lease model refactor to single space relationship
  • **ping:** add merchant creation and lookup helpers
  • **ping:** add payment order and Swish payment helpers
  • **ping:** record Swish payments and advance membership on webhook
  • **bookings:** recurring-slot leases — one weekly window in a shared room
  • **bookings:** create recurring-slot contracts from the Leasing tab
  • **bookings:** Min plats — the renter's own side of a lease
  • **ping:** add hosted Swish pay page for medlemsavgifter
  • **bookings:** leased time is not open for booking
  • **bookings:** call it Uthyrning, and give rooms a way in
  • **bookings:** show that the hours are let, and say why
  • **calendar:** an Uthyrning layer, computed from the contracts
  • **events:** an administrator can hold an event for the renter of the space
  • **bookings:** what a paid event owes its renter — the rule and the ledger
  • **bookings:** the payout list — what the association owes, and to whom
  • **ping:** add KYC agreement API client
  • **bookings:** settle a renter's earnings, gated on a company with F-skatt
  • **ping:** map förening data onto the KYC agreement fields
  • **ping:** track KYC agreement status and file the signed avtal in Drive
  • **ping:** add the KYC onboarding endpoint
  • **bookings:** set the hourly price and the association's share in the app
  • **bookings:** a renter sees what she has earned, not only what she pays
  • **ping:** guided payments onboarding in Betalningsinställningar
  • **events:** "Skapa evenemang" opens on the space and the window the lease grants
  • **bookings:** make Uthyrning answer the questions it is opened with
  • **bookings:** the renter's evenings, on the page that is hers
  • **assistant:** the assistant can give an event or a resource a photograph
  • **assistant:** Uthyrning, for the assistant
  • **assistant:** Kalendern och årshjulet, for the assistant
  • **share:** a link a förening can paste, that looks like the förening
  • **events:** delete a series from the list, and say how many that is
  • **leasing:** the renter's own hours, where the event is made
  • **bookings:** every road to a free hour knows what is let
  • **leasing:** one home for the renter, and a let window you can open
  • **bookings:** the rules a resource is booked by can be changed after it exists
  • **leasing:** a renter learns what is holding up her money before the treasurer does
  • **bookings:** whether a space may be booked from outside is a question you can answer
  • **events:** making an evening happens inside Evenemang, not somewhere that links back to it
  • **events:** the right column is wide enough, resizable, and holds what the drawers held
  • **leasing:** the assistant sits on Uthyrning too
  • **leasing:** the assistant does what the admin does by hand
  • **leasing:** a resource can be let by the month and never booked
  • **accounting:** the phone's one tap says how much money it moves
  • **accounting:** månadsavslut — är augusti klar?
  • **income:** replace the Ping onboarding dialog with a full-page review-first flow
  • **members:** hide sidebar apps the member's role may not read
  • **assistant:** en assistent som minns — per medlem, per funktion
  • **assistant:** ett ställe som bestämmer hur ett verktygssvar ser ut
  • **shell:** ett samtal för hela föreningen, bakom en spak
  • **shell:** skärmarna blir vyer, utan att skrivas om
  • **shell:** inga återvändsgränder — assistenten öppnar skärmen eller ställer frågan
  • **shell:** en startsida som visar föreningen, inte en tom ruta
  • **shell:** assistenten blir en panel bredvid skärmen, inte ett eget skal
  • **assistant:** uppgifter, medlemmar, möten, Drive, inlägg, grupper och omröstningar
  • **assistant:** säg att delen är avstängd — och erbjud administratören att slå på den
  • **assistant:** släpp ett kvitto i chatten — och öppna vyn direkt
  • **shell:** knapparna vet vilken skärm du står på
  • **assistant:** dagordningens punkter, i det möte som är öppet
  • **shell:** en spalt till höger, inte två
  • **accounting:** en spalt till höger här också
  • **shell:** redigerarna delar spalt med assistenten
  • **assistant:** assistenten slås på och av där föreningens andra delar gör det
  • **shell:** / i skrivrutan — skärmarna direkt, meningarna påbörjade
  • **shell:** / vet var du står, och varje del av föreningen har sin rad
  • **assistant:** diagram som ritas ur böckerna
  • **assistant:** diagram för hela föreningen, och för året man tittar på
  • **shell:** ⌘J tar dig till samtalet
  • **assistant:** ta bort ett möte — kortet säger vad som försvinner
  • **assistant:** felet stannar i samtalet, och rullningen lyder läsaren
  • **assistant:** det man är van vid från en chatt
  • **bank:** Open Payments blir bankflödet
  • **assistant:** läsverktygen ritar kort i stället för att låta modellen rabbla raderna
  • **assistant:** en rad krom, och en tom ruta som vet vad som väntar
  • **shell:** the assistant exists on a phone
  • **assistant:** trim the thread's history, refund a turn that fell over
  • **shell:** ⌘J closes the column too — but only from inside it
  • **ai:** en plats bestämmer vilken modell som svarar
  • **ai:** välj modell per område i asamla-admin/ai
  • **bokföring:** en billig modell först, en kunnigare bakom
  • **ai:** every model call records how long it took and how it ended
  • **ai:** the AI console becomes five tabs, with charts, sorting and latency
  • **assistant:** a super-admin can ask the assistant what Asamla's own AI costs
  • **accounting:** the behandlingshistorik is append-only at the database
  • **assistant:** an act the assistant proposes is now a record, not a chat bubble
  • **accounting:** limb (b) of the behandlingshistorik records itself
  • **accounting:** a recorded event has a name a revisor can read
  • **accounting:** the verifications hooks name their own events
  • **accounting:** the export and import routes name their own events
  • **assistant:** every act the chat proposes is recorded before the turn ends
  • **accounting:** the document flow records itself, at the record
  • **assistant:** a record now says whether an assistant proposed it
  • **accounting:** the chase flow records itself
  • **accounting:** the close routes name what they closed
  • **accounting:** underlag arriving on a voucher and leaving it, both ways in
  • **accounting:** pairing a receipt with a payment leaves a line
  • **assistant:** a proposed act can be approved from an MCP client, and never twice
  • **accounting:** every name in the catalogue now reaches a row
  • **assistant:** the conversation window can be undocked, and stops squeezing the page
  • **accounting:** the association's behandlingshistorik, as a read model
  • **accounting:** the hand-over carries a chain a stranger can recompute
  • **shell:** every detail screen now carries its own way back
  • **shell:** the sidebar now carries the controls the topbar held
  • **accounting:** an event can name the event it followed from
  • **shell:** the rail is dragged rather than toggled
  • **accounting:** ask whether the app's own role can remove the record
  • **shell:** the rail is toggled rather than resized
  • **assistant:** tool output reaches the model as data, and bounded
  • **accounting:** the year's behandlingshistorik has a screen
  • **accounting:** the behandlingshistorik door moves to Verifikationer, and the record filters by who
  • **assistant:** a card says what drafted it, and memory stops moving the prompt
  • **assistant:** a setting is a switch in the conversation
  • **accounting:** the hand-over checks that the files are still the files
  • **assistant:** a refused tool call says which call would have worked
  • **assistant:** the association's language and logo shape are switches too
  • **assistant:** what the assistant has proposed, and what you answered, has a screen
  • **assistant:** records say when the assistant proposed them
  • **assistant:** a slash row that leads somewhere goes there
  • **shell:** the association and the member move into a nameplate under the conversation
  • **shell:** the nameplate opens into itself rather than popping over the page
  • **reports:** periods that compare like with like, a balance sheet with last year, and Excel
  • **accounting:** a supplier invoice's life on one ladder, paid by hand, with attest as an option
  • **year-end:** a bokslut checklist per year that remembers what was answered
  • **accounting:** a Leverantorsfakturor tab, and Bokforing's switches in Bokforing's settings
  • **year-end:** forutbetalda kostnader proposed from the paperwork
  • **inbox:** split the list by kind only while the supplier invoice tab is on
  • **matching:** link a near-miss payment to its invoice and book the gap in one press
  • **year-end:** mark a year closed in the previous bookkeeping program without a closing voucher
  • **documents:** supplier credit notes are read, paired with the invoice they credit and booked against it
  • **invoicing:** an invoice's voucher names its customer as the motpart
  • **ai-console:** say what calls a model outside the selector
  • **ai:** every AI choice is a row on the console, and nothing is picked in code
  • **accounting:** Verifikationer becomes Transaktioner's Bokförda chip
  • **accounting:** correct extracted document details from the inbox
  • **accounting:** reuse a booking choice for matching payments and future rules
  • **accounting:** save month-end bank reviews with month closes
  • **accounting:** explain how to attach supporting documents now or later
  • **ai:** record call diagnostics and explicit completion outcomes
  • **ai:** add filtered call investigation and responsive performance charts
  • **ai:** review call quality separately from technical success
  • **accounting:** make report drill-down easier to follow
  • **todos:** add icons to the page tabs
  • **shell:** keep the assistant column permanently open on desktop
  • **accounting:** carry opening balances forward automatically
  • **groups:** choose cover photos from Unsplash
  • **groups:** add task summaries and pinned posts to the group feed
  • **booking:** edit a resource's rules in drawers instead of a side column
  • **accounting:** complete the supplier invoice review workspace
  • **feed:** add post editing and deletion with author permissions
  • **feed:** support comment threads and protected group images
  • **feed:** add comment likes, replies and image sharing
  • **dashboard:** tell the waiting rows apart on the start page
  • **native-app:** recognise the Asamla app and prepare pages for its webview
  • **native-app:** keep pinned bars clear of the status bar and home indicator
  • **native-app:** hand the signed-in session between the app and its webview
  • **native-app:** talk to the Asamla app from every page
  • **native-app:** leave desktop administration out of the Asamla app
  • **native-app:** keep the app's menu to its core areas
  • **native-app:** bottom tab bar and slim top bar in the Asamla app
  • **todos:** a phone layout for Uppgifter
  • **native-app:** Hem as the app's start page, phone layouts for the app only
  • **native-app:** keep Hem short and leave finished tasks out
  • **native-app:** phone layouts for Möten and a single meeting
  • **native-app:** leave omröstningar out of the app
  • **native-app:** drop the notification bell from the app's top bar
  • **native-app:** association list and theme switch in the Mer sheet
  • **native-app:** a floating assistant button, and the assistant told it is on a phone
  • **native-app:** the app carries Hem, Uppgifter, the assistant and Bokföring
  • **native-app:** Hem, Uppgifter and receipts for the app's narrower scope
  • **booking:** answer one-choice resource rules in their row
  • **booking:** switch a resource's leasing on in its row
  • **accounting:** give AI document evidence and filter impossible account suggestions
  • **assistant:** include page filters and selected records in chat context
  • **assistant:** recognize open meetings events posts and bookings
  • **auth:** accept Sign in with Apple from the Asamla app
  • **native-app:** register the app's push token from the page, and say where a push belongs
  • **native-app:** Apple's association file for universal links into the app
  • **assistant:** prepare adding members to existing groups
  • **native-app:** the assistant in the app sticks to Uppgifter and Bokföring
  • **native-app:** downloads in the app open the phone's share sheet
  • **native-app:** tell an app build that is too old for the web to update
  • **privacy:** delete an account at once, reachable from the app's Mer sheet
  • **native-app:** say when an association does not use Uppgifter or Bokföring
  • **native-app:** no prices or upgrade prompts for Asamla's plans in the app
  • **groups:** notify group members about posts, comments and replies
  • **groups:** member-only posting, paged feed, cached images and unread posts
  • **native-app:** group posts on the phone, and Grupper in the app
  • **native-app:** the assistant knows the groups, and Grupper can be switched off in the app
  • **native-app:** a phone group list, and Mer marked while Bokföring is open
  • **push:** a phone hears from every association the person is a member of
  • **groups:** a calmer web feed, with comments in the open
  • **app:** a member card to show, and a QR that brings a new member in
  • **app:** the member card takes the whole screen
  • **groups:** the description in the header, nothing between the tabs and the posts
  • **dashboard:** show member count and organisationsnummer in the hero
  • **assistant:** keep the prompt prefix stable within a turn and record per-step usage
  • **eval:** score the assistant's behaviour on fixed cases
  • **assistant:** front-door reads and a size budget for tool definitions
  • **privacy:** mask member names on the assistant and classifier paths
  • **eval:** score the classifier's model rung
  • **onboarding:** route payments onboarding to Ping only
  • **payments:** remove Stripe integration surfaces
  • **payments:** remove Dintero integration surfaces
  • **native-app:** the app's bundle identifier is se.asamla.app
  • **stadgar:** read the bylaws once, by paragraph, and let the assistant cite them
  • **assistant:** explain a classification from the classifier's own evidence
  • **eval:** mine candidate words for the two thin word rungs
  • **events:** an event on a weekly contract opens on the contract's time
  • **events:** make the public ticket box read as somewhere to buy
  • **payments:** drop Stripe and Dintero from the schema
Ändrat
  • **calendar:** reuse the server prefetch instead of refetching on mount
  • **calendar:** stop paying for drawer data while the calendar page loads
  • **dashboard:** show the five nearest annual-plan events, not the first five
  • **calendar:** hover highlight with double-click to create
  • **accounting:** the sync-failure counter is typed, not cast
  • **bookings:** Uthyrning becomes its own level at /leasing
  • **bookings:** one answer to "is this space taken", and four files nobody imported
  • **bookings:** Boka is what a member does, Lokaler is what the association keeps
  • **leasing:** the kontorshotell becomes a setting
  • **leasing:** Uthyrning, because a bicycle is not a lokal
  • **leasing:** a resource is edited inside Uthyrning, and deleting one is findable
  • **bookings,events:** every screen stays inside its feature
  • **leasing:** Resurser for the many, Uthyrning for the ones who let
  • **accounting:** one type family for every figure a person reads
  • **assistant:** en assistent — de fyra funktionsassistenterna tas bort
  • **assistant:** bort med /assistant — en chatt räcker
  • **accounting:** one owner for öre arithmetic, held by a sweep arm
  • **deploy:** run the functions in Frankfurt, beside the database
  • **accounting:** the four hooks that bypassed React Query now share its cache
  • **accounting:** six verification queries above the queue become one route
  • **accounting:** the pairings route asks its six questions in two waits
  • **accounting:** three lists stop paying for a count nobody prints
  • **accounting:** the rule scan waits for the rows, instead of racing them
  • **accounting:** every bookkeeping route paints its silhouette while it loads
  • **accounting:** four dialogs leave the route's bundle, and refocus stops stampeding
  • **accounting:** a tab clicked twice in half a minute does not ask the server twice
  • **shell:** the app now floats as a window on a frame
  • **assistant:** the conversation is now its own window beside the page
  • **shell:** the desktop topbar is gone; the rail holds what it held
  • **shell:** the rail's lower third is no longer links out of the association
  • **tenant:** one function decides which field holds the org number
  • **shell:** the rail swaps between its two widths without a pause
  • **grants:** the new-project button is in the header, not halfway down the page
  • **leasing:** each tab's create action is the header CTA
  • **inbox:** Inkorg wears the same header as every other page
  • **shell:** one size of header CTA, and Boka's secondary link sits below the title
  • **accounting:** Verifikationer's own-voucher button is the header CTA
  • **reports:** delete the result-per-activity computation nothing read
  • **queue:** split the queue and its row by act
  • **accounting:** simplify payment questions and booking reuse options
  • **accounting:** replace the long report period menu with a compact picker
  • **accounting:** make the cost wheel readable and add category comparison bars
  • **accounting:** capitalize suggested payment answers
  • **accounting:** clarify transaction selection and receipt actions
  • **accounting:** sharpen report navigation and printed statements
  • **accounting:** focus report sidebar on insights
  • **accounting:** improve verification detail panel readability
  • **tabs:** replace underline tab indicator with rounded pill
  • **tabs:** tint the active tab pill with the brand color
  • **accounting:** skip empty inbox classification and parallelize document reads
  • **accounting:** load import and reference dialogs only when opened
  • **accounting:** share chart queries across accounting pages
  • **accounting:** fetch only the data needed by the selected report
  • **accounting:** parallelize and deduplicate year-end report reads
  • **accounting:** defer settings panels and inactive detail surfaces
  • **accounting:** load year-end balance evidence concurrently
  • **accounting:** fetch supplier invoice supporting data concurrently
  • **accounting:** resolve empty tabs without unrelated background reads
  • **accounting:** deliver initial tab data with the page
  • **features:** connect organization and menu app lists to one catalog
  • **accounting:** remove blocking server prefetch from accounting tabs
  • **accounting:** keep headers available across every accounting tab
  • **accounting:** show inbox rows before matching and posting suggestions
  • **accounting:** show transaction rows before pairing checks finish
  • **accounting:** reveal overview sections as their data arrives
  • **drawers:** match assistant panel and adapt forms to narrow widths
  • **groups:** edit group details directly on the settings page
  • **drawers:** fit header actions and footer buttons in narrow drawers
  • **groups:** align settings actions with the form fields
  • **dev:** prepare accounting routes before navigation
  • **accounting:** simplify the overview header
  • **navigation:** stop blocking page loads on server-side prefetch
  • **navigation:** paint a skeleton shell on every page instead of waiting
  • **navigation:** paint a skeleton on the dashboard instead of waiting
  • **feed:** bring conversations forward and clarify posting actions
  • **dashboard:** classify what waits by whose move it is
  • **dashboard:** answer "what waits" once on the start page
  • **dashboard:** let the start page own the shortcut row's spacing
  • **feed:** simplify image attachments to an icon button
  • **chat:** replace sending text with a subtle pulsing dot
  • **chat:** redesign messaging with bubbles and a compact inbox
  • **accounting:** reuse identical AI classifications within an import batch
  • **assistant:** focus feature instructions and prioritize relevant tools
  • **assistant:** compact model tool results and bound replayed history
  • **assistant:** load relevant memories with bounded context and explicit recall
  • **groups:** a smaller web feed
  • **groups:** air around a post's author line
  • **groups:** no member faces above the posts
  • **app:** one screen for the card and the invite code
Fixat
  • **payments:** add missing migration for tenant Ping columns
  • **grants:** allow ideell_organisation filter and recurring-invoice jobs
  • **ci:** read only up() when checking migration order
  • **ci:** create payload_migrations before replaying the chain
  • **marketing:** land on dashboard after registering a förening
  • **calendar:** flush pending text edits on save and close
  • **calendar:** stop losing group when editing a populated event
  • **calendar:** point booking drawer to the real booking route
  • **bookings:** stop double-indexing bookings in the calendar
  • **wheel:** derive rings for template-imported annual-plan items
  • **permissions:** consult role config for calendar events, scope deletion
  • **meetings:** link template-created meetings and verify calendar-event ownership
  • **wheel:** repair merged line in ring settings dialog
  • **accounting:** add missing extractID import in verification detail
  • **calendar:** treat missing group as null when syncing the edit form
  • **calendar:** compute date ranges in local time, not UTC string cuts
  • **wheel:** unblock current-month clicks, hide cancelled items, use UI locale
  • **wheel:** make annual-plan template application idempotent
  • **wheel:** add missing formatter imports in circular calendar views
  • **ci:** fail the deploy when the schema is not the one the code expects
  • **bookings:** registration schema for leases — role columns and lock-rels
  • type errors from stale validation runs — ICS status, event-booking connect, group access
  • **bookings:** leasing sub-feature description in feature settings
  • **bookings:** leasing dialogs read the general namespace, not common.general
  • **bookings:** a room with weekly slots is not "Hyrd"
  • **bookings:** booking tabs sit in the page container, and Leasing stops saying "kontor"
  • **ping:** parse JSON responses regardless of content-type
  • **accounting:** a concurrent writer can no longer erase a document's underlag link
  • **bookings:** a lokal is not something you book
  • **bookings:** the desks in a lokal can be leased, and admins can see contracts
  • **events:** only an administrator may hold an event in someone else's name
  • **bookings:** find yourself in the renter list
  • **bookings:** a hall let two hours a week is not "Hyrd", and says so on the card
  • **bookings:** an hourly cut counted zero hours when the event had no end time
  • **bookings:** the payout list shows what a settled row was paid against
  • **bookings:** three holes in the money path the end-to-end test could not see
  • **events:** you can see your own drafts
  • **events:** the assistant can act on a series, and can explain a leased time
  • **events:** an Unsplash cover is actually shown
  • **assistant:** tell the assistants what they can now do
  • **assistant:** the payout tool exists when the press would work, and asks less
  • **events:** remove a series in one act, and stop offering lokaler as bookable
  • **assistant:** a ticket priced at 125 kr costs 125 kr
  • **leasing:** the instructor owns her own evening, and the ledger is the treasurer's
  • **leasing:** a contract cannot be written over hours people have already booked
  • **events:** the event page renders again
  • **bookings:** the price a booker is quoted is not the cut taken from a renter
  • **leasing:** a förening with one house should not have to think about kontorshotell
  • **bookings:** the public list stops advertising rooms nobody outside can have
  • **events:** the screens agree with the door about whose event it is
  • **ui:** the image picker's two sources say which is which
  • **bookings:** the new-resource wizard stops offering a step it cannot finish
  • **leasing:** a new contract opens on the room, not on a desk in a building you may not have
  • **leasing:** a renter can read her own contract, and a refusal stops looking like loading
  • **bookings:** the tutorial says where resources live now, and the suite stops fighting overlays
  • **assistant:** opening the assistant no longer scrolls the page away
  • **events,bookings:** the list gets its margins back, the cards stop shouting
  • **bookings:** the day is said once, and the toggles say what they are
  • **events,e2e:** the publish state is not called "Granska", and the suite stops racing itself
  • **leasing:** stop the hydration mismatch on every Uthyrning tab
  • **leasing:** the resource row wraps on a phone
  • **bookings,events:** one heading per screen, the days by name, a way out of a dead end
  • **bookings:** Boka is where you book, and the public room page reads like one
  • **bookings,events:** one spelling of a duration, two telling icons, and the missing start times
  • **bookings:** one dash for a time range, and a disabled button you can see
  • **events:** an evening with no cover shows its date, not an empty frame
  • **leasing:** the space decides how it is let, and Uthyrning asks who you are the way the rail does
  • **leasing:** without the letting extra, Uthyrning stops advertising it
  • **bookings:** the greyed Nästa says what it is waiting for
  • **events:** the door screen is full width, names its evening, and Radera reads as final
  • **assistant:** a resource let by the month is still a resource
  • **accounting:** five things the screens said that were not true
  • **accounting:** the two panes over one voucher now agree
  • **accounting:** the phone refusal agrees with the screen it names
  • **accounting:** two more sentences that inflect around a name they do not know
  • **accounting:** Bokfört and Bank say kr, like every figure around them
  • **migrations:** register the seven event-earnings migrations that were never added to the chain
  • **income:** stop telling Ping-onboarded föreningar to connect Stripe
  • **ping:** send the required body when deleting an agreement
  • **email:** stop local e2e runs from sending real emails
  • **security:** bind the member cookie to the authenticated user
  • **security:** only tenant admins may update or delete a tenant
  • **security:** stop serving every member's personnummer to every member
  • **security:** require super admin on the grant discovery and scrape routes
  • **security:** send baseline security headers on every app response
  • **security:** rate limit login, password reset and public member signup
  • **booking:** deleting a resource deletes its bookings, as the confirm said
  • **booking:** selected time slot values map to correct labels
  • **security:** cap blob CDN cache at one hour
  • **roles:** audit role-registry coverage and repair projects access
  • **security:** close the publicly open user-creation endpoint
  • **security:** stop serving the Stripe webhook ledger publicly
  • **assistant:** säg vad rollen inte räcker till, i stället för att låtsas
  • **assistant:** verktygsväljaren läste fel meddelandeform — inga skrivverktyg nådde modellen
  • **assistant:** `z.string().email()` tystade hela svaret — nu stoppas det av ett test
  • **assistant:** historiken sparades aldrig — `asamla` saknades i två enum
  • **assistant:** protokollet skrivs i Möten, inte i chatten
  • **assistant:** "jag har öppnat" — när kortet inte ens var tryckt
  • **assistant:** knappen ritas, den skrivs inte — och "gå dit" går dit
  • **assistant:** en uppgift är en uppgift — inte tio, inte daterad åt dem
  • **shell:** det man klickar på hamnar framför en, inte bakom assistenten
  • **assistant:** varje del av föreningen får sina egna knappar
  • **assistant:** en serie kräver att medlemmen sagt det, med ord
  • **shell:** Evenemang hörde ingenstans
  • **assistant:** ingen bild skriven med ord, och formen får väljas
  • **assistant:** ett kort från igår är ett minne, inte ett erbjudande
  • **assistant:** ett å där det skulle stå ä tömde inte längre listan
  • **shell:** sidhuvudets knappar radbryts under rubriken i stället för att trycka ihop den
  • **assistant:** chatthistoriken tog medlemmen ur en kaka vem som helst kan skriva
  • **assistant:** "nothing is waiting" was a claim about everything, and it read four modules
  • **assistant:** drop the waiting list from the chat's empty state — the screen already has it
  • **assistant:** "lägg upp ett möte" on Kalendern is a calendar entry, not a styrelsemöte
  • **ai:** loggen namnger modellen som faktiskt svarade, och korta svar får tankero
  • **ai console:** the tabs fit, the rows are slim, and Per modell means per model
  • **ai console:** Modeller keeps only what the row is for
  • **accounting:** the Varför? panel no longer shows a confidence percentage
  • **migrations:** the index references a migration it never imports
  • **accounting:** the close no longer empties the year's result reports
  • **accounting:** an enskild firma closes into its own equity, not an aktiebolag's
  • **shell:** one column on the right, one width — and no card for lookupAccount
  • **assistant:** the budget ends in a card, pressed against the door the screen uses
  • **shell:** nothing on the screen moves when the assistant is toggled
  • **accounting:** seventeen call sites said "refresh the vouchers" and refreshed nothing
  • **build:** the production build compiles again
  • **assistant:** a route refusing an agent operation no longer destroys it
  • **accounting:** the guard driver reads the database's own refusal, not the wrapper
  • **db:** the drift check now reports enum labels the database has and Payload declares nowhere
  • **db:** the drift check no longer calls the calendar sync slug an orphan
  • **shell:** full-height screens no longer overrun the page window by two pixels
  • **assistant:** recording a proposed act no longer fails on the member check
  • **accounting:** the hash chain was a fan, and the verifier is what found it
  • **bank:** an association that filled in its organisation number can connect a bank
  • **tenant:** an older association's organisation number is not missing
  • **accounting:** an unpicked transactions pane gives its column to the assistant
  • **accounting:** a document's last page is read, and an unreadable image says so
  • **assistant:** stop rendering an empty 'Föreningsrätt' card for knowledge-base lookups
  • **accounting:** a photographed receipt is straightened, and HEIC is refused by name
  • **accounting:** the inbox names its date, and a later read is offered not applied
  • **assistant:** an operation can be committed again, so the record stops saying "väntar"
  • **lists:** a list keeps its rows while the next answer loads
  • **booking:** the calendar opens a let window, and event rows show their edit action again
  • **shell:** the messaging panel's resize cannot outlive the gesture
  • **assistant:** ⌘J never closes the column, it swaps the tab
  • **shell:** the way out of the app switches sits in its header, not below the fold
  • **shell:** the nameplate fits what it opens, and its shadow falls the way it grew
  • **accounting:** the Leverantorsfakturor list offers Att attestera only when attest is on
  • **accounting:** Vantar pa kontoutdraget follows Att betala in the Leverantorsfakturor filters
  • **accounting:** the paid-and-awaiting-the-statement filter reads Under betalning
  • **classification:** a learned answer is not carried across a change of direction
  • **year-end:** a year locks only with its result in equity, and a credit note's pane asks what the booking needs
  • **pwa:** the service worker's cache key moves on every deploy again
  • **home:** the dashboard's empty headline names what it looked at
  • **collections:** nested hook writes join the caller's transaction without taking it down
  • **embeddings:** the E5 instruct variant gets a task line on the query, not role prefixes
  • **embeddings:** a text longer than the model's window is split and pooled, not refused
  • **accounting:** include corrections across report period boundaries
  • **accounting:** reject impossible report dates and invalid year bounds
  • **accounting:** identify the inbox detail pane by document ID
  • **menu:** keep feedback open when dismissing the member menu
  • **accounting:** keep unposted results out of balance sheet equity
  • **accounting:** preserve refund and invoice direction in matching and suggestions
  • **accounting:** match invoices by due date and dateless receipts by arrival
  • **accounting:** share account-selection rules across AI models
  • **accounting:** map actual gym membership fees to account 6982
  • **accounting:** expand shared account guidance and remove conflicting prompts
  • **accounting:** use neutral organization wording in AI suggestions
  • **accounting:** ask for evidence before guessing from generic bank labels
  • **accounting:** share evidence-first guidance across accounting prompts
  • **accounting:** simplify inbox corrections and respect tenant VAT registration
  • **ai:** align filtered comparisons and calculate exact response percentiles
  • **ai:** validate price overrides and compare live quotes by currency
  • **ai:** keep missing diagnostics unknown and expose assistant controls
  • **accounting:** show all income statement changes in SEK
  • **tabs:** size the active pill to the tab after webfont load
  • **accounting:** surface missing opening balances on balance reports
  • **accounting:** show titles and navigation before data loads
  • **features:** enable complete income and booking apps with separate accounting
  • **features:** show independent accounting switch in bottom-right app menu
  • **accounting:** remove prior-year column from balance report
  • **accounting:** contain opening balance preview and dialog scrolling
  • **accounting:** explain rejected opening balance imports
  • **accounting:** preserve SIE signs when carrying balances forward
  • **accounting:** identify carried preliminary results on balance reports
  • **groups:** remove unavailable chat actions from group screens
  • **groups:** enforce private membership across groups and shared content
  • **groups:** make personal archiving work from group settings
  • **groups:** show populated members on the group overview
  • **groups:** clarify visibility and keep group navigation consistent
  • **groups:** keep new tasks linked to their group
  • **navigation:** align the active tab highlight with its label
  • **drawers:** restore footer button height in narrow drawers
  • **accounting:** isolate supplier invoice actions when switching rows
  • **accounting:** keep older supplier invoices visible in status filters
  • **accounting:** account for credits and partial supplier invoice payments
  • **booking:** put the booking mode beside the availability it shapes
  • **feed:** preserve concurrent interactions and prevent repeated submissions
  • **feed:** prevent bypassing post ownership through type changes
  • **api:** preserve request headers inside database transactions
  • **chat:** restore reliable messaging and reduce send delays
  • **native-app:** open on the first tab without Uppgifter, keep the tab bar on Chatt
  • **native-app:** fit a chat conversation between the top bar and the tab bar
  • **drawers:** keep nested footer actions within slim panels
  • **dashboard:** limit action and in-progress lists to five items
  • **native-app:** keep the app's dark mode and status bar in step with the page
  • **native-app:** leave the website's theme colours and provider as they were
  • **accounting:** refund unusable AI responses and avoid charges for skipped calls
  • **assistant:** charge only after setup and refund failed streams once
  • **native-app:** task sheets that work with the keyboard, and no zoom
  • **native-app:** Hem and Uppgifter agree on which tasks are late
  • **native-app:** Bokföring's phone screens agree, and supplier invoices stay on the desk
  • **native-app:** the assistant knows it is in the app and waits for a tap
  • **native-app:** Swedish dates, the association's name on every tab, and plainer copy
  • **assistant:** normalize optional page context and preserve tool typing
  • **native-app:** the assistant stays readable while typing
  • **groups:** prevent activity feed failures from undoing group creation
  • **assistant:** replay recorded action outcomes in follow-up answers
  • **assistant:** prioritize current action status over stale chat replies
  • **assistant:** preserve action status through model message conversion
  • **privacy:** make the GDPR data export query fields that exist
  • **assistant:** follow the answer after a sent question and when the transcript shrinks
  • **assistant:** keep model instructions out of member-facing tool errors
  • **queries:** stop asking for meetings an association does not have
  • **assistant:** a Swedish verb for recallMemories
  • **payments:** align payments UI props after Stripe/Dintero removal
  • **eval:** offer the model rung the chart production offers
  • **stadgar:** leave the text before § 1 out of search results
  • **leasing:** clear a contract's slot rule with empty fields, not null
  • **assistant:** type the tool-part list the chat renders
  • **marketing:** advertise Swish instead of Stripe

2026.09.8

This release includes 5 new features, 5 bug fixes and 3 improvements.

Nytt
  • **Enhanced Booking Rules** — Booking now includes secure rules, approval processes, and reminders, improving event management efficiency.
  • **Assistant Bookkeeping Tools** — The general organization assistant now has access to bookkeeping tools, including income management through invoices and payments.
  • **Accounting Settings Integration** — Bookkeeping settings are now accessible via the assistant, streamlining financial management.
  • **Recurring Events Management** — Users can now manage recurring events as a series, enhancing event planning capabilities.
  • **Ping Payments Foundation** — Integration with Ping Payments has been established, allowing for seamless payment processing.
Ändrat
  • **Budget PDF Export** — The budget PDF export now separates the À-pris and Finansieras av columns for clearer financial reporting.
  • **Booking Tools Update** — The booking tools have been improved to allow linked bookings to move their events while verifying rules in real-time.
  • **User Interface Enhancements** — The login and registration pages have been updated with a new look, improving user experience.
Fixat
  • **Chat Request Error Handling** — Users are now informed when a chat request fails, enhancing communication reliability.
  • **Booking Event Movement** — Fixed an issue preventing linked bookings from moving their events correctly, ensuring smoother event management.
  • **VAT Period Registration** — Corrected the process for unregistered associations to register by choosing a VAT period, simplifying compliance.
  • **Hydration Error in Login** — Resolved a nested anchor issue in the login header, eliminating display errors during page load.
  • **Header Login Button Functionality** — The header login button now correctly scrolls to the start page form, improving navigation.

2026.09.7

This release includes 1 new feature, 1 bug fix, 1 improvement and 1 removal.

Nytt
  • **Pre-Populated User Information** — The onboarding process now automatically fills in the current user's first and last name during the team setup step, streamlining user experience.
Ändrat
  • **Bank and Fiscal-Year Settings** — Moved bank and fiscal-year settings into the Bokföring section for better organization and accessibility.
Fixat
  • **Grant Dialog Positioning** — The add-to-project dialog now opens above the grant drawer, improving usability and visibility.
Borttaget
  • **Orphaned User Settings Pages** — Removed unnecessary user settings pages and consolidated the profile drawer for a cleaner interface.

2026.09.5

This release includes 2 new features, 5 bug fixes, 2 improvements and 1 removal.

Nytt
  • **Grant Link Verification** — Introduced a link verification process for already-seeded grants to ensure users access valid application links.
  • **Organisation Metadata Injection** — Enhanced the project and grant assistants by injecting organisation metadata, improving context and relevance in responses.
Ändrat
  • **Project Budget Summary** — Updated the project budget summary to now display unspecified funding, providing clearer financial insights.
  • **Assistant Performance** — Improved the project assistant's efficiency by trimming the tool set and enabling prompt caching, resulting in faster and more responsive interactions.
Fixat
  • **Dead Application Links** — Resolved an issue where the assistant provided dead application links, ensuring users receive accurate information.
  • **Inactive Grant Filtering** — Fixed the verification process to skip inactive grants, streamlining the user experience.
  • **Budget Source Labels** — Corrected a bug that caused budget rows to lose their funding source labels, maintaining clarity in financial reporting.
  • **Assistant Timeout** — Addressed a timeout issue that caused the project assistant to stop responding mid-answer, enhancing reliability.
  • **Grant URL Scraping** — Fixed the catalog scraper to prevent it from inventing grant URLs, ensuring users access legitimate links.
Borttaget
  • **Obsolete Scripts** — Removed outdated scripts and temporary README files to declutter the codebase.

2026.09.4

This release includes 3 new features, 1 bug fix and 2 improvements.

Nytt
  • **New Grant Sources** — Boverket and Riksidrottsförbundet anläggningsstöd are now available as grant scraping sources, expanding your funding opportunities.
  • **PDF Guidelines Integration** — Grants now automatically read linked PDF riktlinjer, ensuring you have the latest guidelines at your fingertips.
  • **Recipient-Adapted Project Export** — You can now export projects as PDFs tailored to specific recipients, making sharing information easier and more effective.
Ändrat
  • **Improved Grant Scraping** — Grants now accurately decode numeric HTML entities, enhancing the clarity of the information retrieved.
  • **Enhanced Ideella Riksförbund Handling** — The system now correctly identifies ideella riksförbund and defaults to their application route, streamlining the application process.
Fixat
  • **Text Task Routing Enhancement** — Text tasks are now efficiently routed to Claude Sonnet 4.5 and Haiku 4.5, improving performance and response times.

2026.09.3

This release includes 8 new features, 5 bug fixes and 2 improvements.

Nytt
  • **Multiple PDF Uploads** — Users can now upload multiple PDFs at once, streamlining document management.
  • **Enhanced Invoicing Features** — Create invoices directly from the phone, ensuring flexibility and convenience for users on the go.
  • **Recurring Invoices** — Set up plans that automatically generate invoices on their due dates, simplifying billing processes.
  • **Invoice Document Improvements** — Invoices now include essential details like sender information, terms, and customer numbers, enhancing clarity and professionalism.
  • **Member Payment Confirmation** — Members can now indicate if they paid for something themselves, improving transaction transparency.
  • **Account Suggestions** — The system now suggests accounts based on previous entries, making data entry faster and more intuitive.
  • **Improved Invoice Copying** — Users can easily copy an existing invoice into a new draft, saving time on repetitive tasks.
  • **Phone Interface Enhancements** — The phone interface now includes a suggestion feature that can be modified, improving user experience.
Ändrat
  • **Invoice Layout Design** — The invoice design has been refined for better readability, featuring clearer identification and organized information.
  • **Swedish Copy Improvements** — The Swedish text throughout the platform has been polished for a more natural and professional tone.
Fixat
  • **PDF Export Issues** — Signer names are now correctly printed on exported PDFs, ensuring accuracy in documentation.
  • **Invoice Errors** — Resolved various reported console errors and defects, enhancing overall stability and performance.
  • **Upload Functionality** — Fixed an issue where only one file could be uploaded at a time, improving the media upload experience.
  • **Invoice Draft Issues** — Addressed a problem where copied invoices lacked necessary fields, ensuring completeness in drafts.
  • **Assistant Pane Rendering** — Stopped the assistant pane's render loop, improving performance and responsiveness.

2026.09.2

This release includes 2 new features and 4 bug fixes.

Nytt
  • **Batch Assistant Cards** — Users can now process an entire batch of assistant cards with a single press, streamlining their workflow in Swedish.
  • **Opt-in Document Signing** — Document signing is now optional, allowing users to designate specific signers for enhanced control.
Fixat
  • **PDF Conversion Hang** — Resolved an issue where PDF-to-document conversion would hang for five minutes, improving efficiency.
  • **Rename Dialog Reset** — Fixed a bug that caused the rename dialog to reset input while typing, ensuring a smoother user experience.
  • **Search Queue Embedding** — Corrected the queue embedding process to ensure jobs are properly managed within their respective transactions, enhancing reliability.
  • **Correction in Register List** — The register list now accurately reflects corrections made to accounts, ensuring users have the correct information.

2026.09.1

This release includes 5 new features, 5 bug fixes and 3 improvements.

Nytt
  • **Dintero Payment Integration** — The platform now supports routing platform fees through Dintero splits, enhancing payment management.
  • **AI Bookkeeping Assistant** — Introduced an AI-powered assistant that helps with batch booking, outlay rules, and member awareness, streamlining accounting tasks.
  • **Tutorial Pop-ups** — First-visit tutorial pop-ups added to Bokföring, guiding new users through essential features.
  • **Enhanced Document Handling** — Users can now book inbox documents directly from chat with receipts attached, simplifying the documentation process.
  • **AI Model Usage Benchmark Page** — A new page for super-admins to monitor AI model usage, improving oversight and performance tracking.
Ändrat
  • **Payment Status Poller** — Improved functionality to ensure the payment status poller can be queued effectively, enhancing payment tracking reliability.
  • **Assistant Interaction** — The assistant now prepares every manual action and does not post anything itself, giving users more control over their entries.
  • **Document Type Correction** — Treasurers can now correct misread document types in the inbox, reducing errors in financial records.
Fixat
  • **Background Polling Traffic** — Halved background polling traffic for notifications, improving overall system performance.
  • **Payment Processing Issues** — Resolved issues where the payment status poller was not functioning correctly, ensuring smoother payment processing.
  • **Document Uploads** — Fixed a problem where uploads were not converting into documents, ensuring all files are properly recorded.
  • **Assistant Chat Scroll** — Contained the assistant chat scroll within the dock, improving usability and navigation.
  • **Email Subject Field** — Made the email subject field responsive in the preview step, enhancing the user experience during email preparation.

2026.08.13

This release includes 2 new features, 4 bug fixes and 1 improvement.

Nytt
  • **Redesigned Accounting Reports** — Enhanced report rail now features monthly, cash, and cost charts for clearer financial insights.
  • **Sortable Verifikationer Register** — Users can now sort the verifikationer register by column for improved data management.
Ändrat
  • **Unified Report Card Visuals** — All report cards now share a consistent visual language, making it easier to read and understand financial statements.
Fixat
  • **PDF Conversion Improvement** — PDFs can now be converted to editable documents without the need for an AI round-trip, streamlining the process.
  • **Date Field Validation** — Date fields now correctly prevent six-digit year entries, ensuring accurate date input.
  • **PDF Import Timeout Resolution** — Fixed an issue that caused PDF imports to time out on long documents, enhancing user experience.
  • **Checkbox Visibility in Light Mode** — Unticked checkboxes are now visible in light mode, improving interface clarity.

2026.08.12

This release includes 1 improvement.

Ändrat
  • **Supplier Payment Account Selection** — Simplified the selection process for supplier payment accounts, making it easier for users to manage their payments.

2026.08.11

This release includes 1 new feature, 3 bug fixes and 1 improvement.

Nytt
  • **Banking Integration** — Users can now seamlessly connect with banking services through AIS alongside Tink and utilize PIS payment options for enhanced financial management.
Ändrat
  • **PDF Conversion Progress Indicator** — Introduced a progress toast that shows users the status while converting PDFs to editable formats, enhancing user awareness during the process.
Fixat
  • **Preview Step Save Loop** — Resolved an issue that caused an infinite save loop during the preview step, ensuring a smoother user experience.
  • **Document Structure Preservation** — Fixed a problem that disrupted document structure when converting PDFs to editable formats, maintaining the integrity of your files.
  • **Verification Status Enum Update** — Added a missing 'reversed' value to the verification status enum, improving clarity in status reporting.

2026.08.10

This release includes 6 new features, 4 bug fixes and 3 improvements.

Nytt
  • **Activity-Based Reporting** — Users can now classify postings and generate reports based on specific activities, enhancing financial tracking and analysis.
  • **Fiscal Year Management** — The fiscal year is now a real object that can be closed, making year-end processes more straightforward.
  • **VAT Reporting by Activity** — VAT reports can be derived from the activity's regime, allowing for more accurate financial reporting.
  • **Enhanced Invoice Management** — Users can now create PDFs from documents and convert PDFs to editable formats, streamlining invoicing processes.
  • **Secretary Signature Status** — The status of the secretary's signature is now visible in the review banner during meetings, improving transparency.
  • **Due Date Shortcuts for Invoices** — Users can quickly set due dates when creating invoices, saving time and reducing errors.
Ändrat
  • **Improved Document Access Control** — Document and folder cards now display access level badges, making it easier to manage permissions.
  • **Invoice Preview Hub** — The invoice preview has been enhanced to serve as a central hub for sending and editing invoices, improving user workflow.
  • **Activity Classification for Manual Entries** — Manual entries can now be classified by activity instead of free-text tags, simplifying data organization.
Fixat
  • **VAT Report Accessibility** — The VAT report is now easily reachable, ensuring users can access important financial data without hassle.
  • **Document Visibility Defaults** — New documents now default to organization visibility instead of private, enhancing collaboration.
  • **Email Sender Consistency** — All emails now use the organization's name as the sender, improving brand consistency.
  • **Meeting Card Signature Progress** — Duplicate signature progress badges on meeting cards have been removed, reducing confusion.

2026.08.9

This release includes 3 new features, 6 bug fixes and 1 improvement.

Nytt
  • **Dintero Payment Integration** — Streamlined payment processing with Dintero, including onboarding, checkout sessions, and recurring membership billing, enhancing user experience and payment security.
  • **External ID Field for Members** — Added a custom metadata field for member imports, allowing for better data management and organization.
  • **Assistant Enhancements** — The assistant now guides users step-by-step through readiness checks, making it easier to understand requirements.
Ändrat
  • **Membership Checkout Abstraction** — Improved the membership checkout process by abstracting it behind a provider interface, allowing for more flexible payment options.
Fixat
  • **Spotlight Arrow Rendering** — Corrected the rendering of spotlight arrows in tutorials for better visibility.
  • **Invite Link Copying** — Fixed the issue where only the invite code was copied, ensuring users can now copy the full invite link.
  • **Notification Translation** — Ensured that notification titles and messages in digest emails are correctly translated, improving user comprehension.
  • **Drive Layout Adjustments** — Restored the gap between header action buttons for a cleaner layout.
  • **Pending Invite Card Layout** — Redesigned the layout of pending invite cards for better usability.
  • **Cursor Indication on Action Buttons** — Enabled pointer cursor on action buttons to enhance user interaction feedback.

2026.08.8

This release includes 3 bug fixes and 1 improvement.

Ändrat
  • **User Terms Update** — Updated användarvillkor to include details about AI credits, a 5% fee, and Dintero, ensuring users are informed of the latest terms.
Fixat
  • **Description Saving** — The description now saves when you finish typing, rather than on every keystroke, improving performance and user experience.
  • **Completion Notifications** — Corrected issues with completion notification emails to ensure users receive accurate updates.
  • **Kanban Drag Stability** — Resolved an issue where rapid successive moves in the kanban board could cause items to revert unexpectedly, enhancing usability.

2026.08.7

This release includes 9 new features, 11 bug fixes and 2 improvements.

Nytt
  • **Document Signing** — Users can now lock documents with a signing feature, ensuring security and integrity.
  • **Meeting Member Picker Enhancements** — Board members are now prioritized at the top of meeting member pickers for easier access.
  • **Actionable Dashboard Columns** — Attention items on the dashboard are grouped into actionable columns, streamlining task management.
  • **AI Proposal Task Shortcuts** — Added shortcuts for assignees and deadlines in AI proposal tasks, enhancing efficiency in task management.
  • **Editable Proposal Text** — Users can now edit proposal text for tasks and decisions, allowing for better customization.
  • **Unlink Option for Section Items** — A new unlink option has been added when removing items from a section, providing more control over content management.
  • **Email Meeting Links** — Meeting links in emails now open in the meeting's own tenant, improving user experience.
  • **Notification Digest Redesign** — The notification digest email has been redesigned with tenant branding for a more personalized touch.
  • **Sort Selector for Member Lists** — Users can now sort member lists and view date columns, making it easier to manage members.
Ändrat
  • **AI Proposal Task Design** — AI proposal task shortcuts have been made more compact, improving layout and usability.
  • **Deep-Link Login Experience** — The deep-link login now appears as an overlay dialog over blurred content, enhancing visual clarity and user experience.
Fixat
  • **Dashboard Organization Fetching** — Fixed an issue where the dashboard would fetch organizations by tenant ID instead of slug, ensuring accurate data retrieval.
  • **Protocol Status Label Correction** — The misleading protocol status label has been corrected for better clarity.
  • **Dark Mode Compatibility** — AI-förslag drawer proposal rows are now compatible with dark mode, improving accessibility.
  • **Checkbox Toggling Restoration** — Checkbox toggling in AI proposal rows has been restored, enhancing interactivity.
  • **Duplicate Date Events** — Fixed an issue that caused duplicate date events in section scans, ensuring accurate event tracking.
  • **Missing Locale Key Restoration** — Restored the missing standardFormulation key in the en-US meeting locale for improved internationalization.
  • **Redundant Search Hint Removal** — The redundant search hint when the board section is shown has been hidden for a cleaner interface.
  • **Local Day Preservation** — Editing event dates now preserves the local day, ensuring accurate scheduling.
  • **List Rendering Fix** — Fixed rendering issues with list bullets and removed trailing gaps after lists for a cleaner presentation.
  • **Deep Link Preservation** — Deep links are now preserved through tenant-cookie restoration after login, improving user navigation.
  • **Email Preview Iframe** — Scripts are now allowed in the email preview iframe, enhancing functionality.

2026.08.6

This release includes 1 bug fix.

Fixat
  • **Media Resolution Restoration** — Restored batch media resolution for organization logos and hero images, enhancing visual quality across the platform.

2026.08.5

This release includes 2 bug fixes and 5 improvements.

Ändrat
  • **Roadmap Simplification** — The roadmap now features plain-language titles and dates, making it easier for users to understand upcoming changes.
  • **Roadmap Format Update** — The roadmap has been replaced with a compact timeline format for improved clarity.
  • **Language Tone Adjustment** — Informal language in the roadmap has been toned down for a more professional presentation.
  • **Platform Update** — Replaced Facebook with Discord in the roadmap, reflecting our current communication preferences.
  • **Slack Integration** — Added a Slack-formatted variant of the roadmap for better accessibility within team communications.
Fixat
  • **Review Email Handling** — Reviewers without accounts will now receive an auto-invite instead of a review email, streamlining the process.
  • **Duplicate Email Prevention** — Eliminated duplicate emails when sending materials for review, ensuring a cleaner communication experience.

2026.08.4

This release includes 1 new feature, 2 bug fixes and 1 improvement.

Nytt
  • **Document Creation Templates** — Users can now access templates and writing guides in Föringskunskap to streamline document creation for their associations.
Ändrat
  • **Meeting Signature List Layout** — Improved the layout of the signature list for a cleaner and more organized appearance.
Fixat
  • **Invite Card Display** — Fixed an issue where invite cards were not shown for members added without an invite, ensuring all members are properly acknowledged.
  • **Meeting Signers in PDF** — Resolved a problem where not all signers, including unsigned slots, were displayed in the meeting PDF, providing a complete record of participants.

2026.08.3

This release includes 5 new features, 5 bug fixes and 2 improvements.

Nytt
  • **Structured Transcripts** — Introduced structured transcript segments and section suggestion collections to enhance meeting documentation.
  • **Live AI Draft Suggestions** — Added a regenerate control for live AI draft suggestions, allowing users to refresh suggestions in real-time.
  • **Cookie Consent Banner** — Implemented a cookie consent banner along with an updated privacy policy to ensure compliance with GDPR.
  • **Self-Service Privacy Page** — Launched a self-service privacy page that enables users to export their data and delete their accounts.
  • **Document Creation Templates** — Added document creation templates and writing guides to foreningskunskap, streamlining the creation process for users.
Ändrat
  • **Email Preview Snippet** — Updated the email preview snippet to display content from the email body instead of the post title, improving relevance.
  • **Image Upload Optimization** — Enhanced image uploads to automatically generate email-optimized WebP sizes, improving loading times for recipients.
Fixat
  • **Live Transcription Stability** — Normalized AI draft output and improved the stability of live transcription, ensuring more accurate meeting records.
  • **Member Invitation Display** — Fixed an issue where members added without an invite would not show the invite card, improving user experience.
  • **Transcription Suggestion Localization** — Localized AI transcription suggestion notifications, ensuring users receive information in their preferred language.
  • **Section Control Functionality** — Resolved issues with marking sections as done, ensuring it no longer retriggers AI summaries and functions as intended.
  • **Post Preview Bug** — Fixed a bug that caused the post body to be overwritten with an empty string during the preview step, enhancing reliability.

2026.08.2

This release includes 1 new feature, 1 bug fix and 1 improvement.

Nytt
  • **Email Reach Summary** — Users can now view a summary of email reach and member emails during the recipient selection step, enhancing communication effectiveness.
Ändrat
  • **Email Image Constraints** — Email images are now constrained to a maximum width of 600px, ensuring a consistent and visually appealing layout across devices.
Fixat
  • **Display Glitch in Email Preview** — Resolved an issue that caused images to display incorrectly in email previews, improving the overall user experience.

2026.08.1

This release includes 1 new feature and 3 bug fixes.

Nytt
  • **Kulturbryggan Funding Integration** — Users can now access the Kulturbryggan funder and scrape sources for both Kulturrådet and Kulturbryggan, enhancing grant application capabilities.
Fixat
  • **Seed-Scrape-Sources Bug** — Resolved a destructuring issue in the seed-scrape-sources.ts file, improving the reliability of data scraping.
  • **AI Analysis Suggestion Cards** — Added dark mode variants to AI analysis suggestion cards, providing a better user experience in low-light environments.
  • **Duplicate Title Removal** — Eliminated duplicate title headings from post email bodies, ensuring clearer communication.

2026.07.15

This release includes 2 new features, 7 bug fixes and 1 improvement.

Nytt
  • **Enhanced Post Management** — Users can now sync names/titles, preview text, access a context menu, archive posts, and duplicate sections for improved content management.
  • **Breadcrumb Navigation** — A new breadcrumb-aware topbar and mobile sidebar action icons have been added for easier navigation.
Ändrat
  • **Content Preview Rendering** — Improved rendering of content previews using a shared component, enhancing the user experience.
Fixat
  • **Document Upload Restriction** — Users can now upload documents in PDF format only, ensuring compatibility and security.
  • **Post Media Visibility** — Media in posts is now correctly marked as public for email rendering, improving communication clarity.
  • **Section Duplication Process** — Fixed issues with ID generation and relationship normalization in duplicated sections, ensuring data integrity.
  • **Concurrent Save Prevention** — Fixed a stability issue that prevented concurrent saves from causing data loss.
  • **Image Serialization Handling** — Image serialization is now skipped when a media ID is unavailable, preventing unnecessary errors.
  • **Undefined Section Key Management** — Undefined section keys are now deleted instead of being set to undefined, streamlining data handling.
  • **Email Recipient Warning** — Users are now warned about members without email addresses in the recipient selector, improving communication accuracy.

2026.07.14

This release includes 1 new feature, 3 bug fixes and 1 improvement.

Nytt
  • **Re-sending Posts Feature** — Users can now easily resend posts that have a sent-status banner, enhancing communication efficiency.
Ändrat
  • **Title Sync Improvement** — The first heading in the title section now automatically syncs with the post title, ensuring consistency and clarity.
Fixat
  • **Data Loss Prevention** — Resolved an issue that could lead to data loss when the editor refetches after focusing on a tab, improving data integrity.
  • **Public Logo and Avatar Setting** — Ensured that logo and avatar files are always set to public upon saving, enhancing visibility for users.
  • **Drive Sidebar Removal** — Removed the folder tree sidebar and toggle in the drive, streamlining the user interface for a more focused experience.

2026.07.13

This release includes 3 bug fixes.

Fixat
  • **Improved Invite Process** — First name and last name are now automatically populated when joining via an invite link, enhancing user experience.
  • **Email Image Display** — Resolved an issue with email image URLs, ensuring they correctly display in production.
  • **KYC Requirements Update** — Relaxed Know Your Customer (KYC) field requirements for board members, simplifying the onboarding process.

2026.07.12

This release includes 8 new features, 4 bug fixes and 2 improvements.

Nytt
  • **AI Sidebar and Project Editor Redesign** — Experience a revamped project editor with an AI sidebar and main-area tabs, enhancing your workflow with AI tool support.
  • **Grant-Writing Expertise Integration** — Benefit from comprehensive grant-writing expertise injected into all AI grant agents, improving your chances of success.
  • **Conversation Persistence in AI Panel** — Keep track of your discussions with the new conversation button in the project AI panel, allowing for seamless collaboration.
  • **Winning Examples Database** — Access a new database of winning grant examples, complete with vector search and agent integration for better insights.
  • **Competitive Intelligence Tools** — Utilize new tools for tracking funder history and competitive intelligence, helping you make informed decisions.
  • **Enhanced FOA Scraping** — Get detailed evaluation criteria, tips, and attachment tracking with the improved FOA scraping feature.
  • **FOA Context in Grant Chat Agent** — The grant chat agent now provides contextual information and structured review behavior to support your grant applications.
  • **AI Credit-Based Monetization System** — Engage with a new credit-based system for AI usage, tailored to the decision cycles of Swedish associations.
Ändrat
  • **Invoice Preview Redesign** — The invoice preview now displays a customer-facing layout, making it easier for you to review drafts.
  • **Improved Chat Agent Responses** — The grant chat agent now enforces markdown formatting in responses, enhancing clarity and presentation.
Fixat
  • **Document Editor Rendering Issue** — Resolved a bug that caused compacted table rendering in the document editor, improving document readability.
  • **AI Integration Stability** — Fixed a stability issue by switching the grant chat agent to Claude Sonnet 4.5, ensuring smoother interactions.
  • **Missing Template Fix** — Corrected a missing closing backtick in the instructions template, preventing potential errors in usage.
  • **Select Component Improvement** — Added the items prop to remaining Select components, ensuring labels display correctly when popups are closed.

2026.07.11

This release includes 5 new features, 6 bug fixes and 2 improvements.

Nytt
  • **AI Chat Assistant Panel** — Users can now access an AI chat assistant directly within the document editor, enhancing support and productivity.
  • **Shareable Organization Invite Links** — Organizations can easily share invite links, simplifying the onboarding process for new members.
  • **AI-Powered Project Budget Builder** — Grant applications now feature an AI-driven tool to assist users in creating project budgets.
  • **Inline Document Editing for Project AI Assistant** — The project AI assistant can now edit documents directly within the project interface, streamlining workflow.
  • **Conversation History in Document Editor AI Chat** — Users can view previous interactions in the AI chat, making it easier to track discussions and decisions.
Ändrat
  • **Document Editor Loading State** — A new skeleton loading state has been added to the document editor, improving user experience during loading times.
  • **Project Editor Alignment** — The project editor's title and body padding have been aligned with the document page for a consistent user interface.
Fixat
  • **Improved Category Picker** — The category picker now correctly utilizes SelectValue, SelectGroup, and SelectLabel, enhancing usability.
  • **AI Edits Integration** — AI edits are now applied directly to the TipTap editor, ensuring smoother content updates.
  • **Document Search Access** — The document chat now has access to organization document searches, improving information retrieval.
  • **Dark Mode Rendering** — Fixed rendering issues in dark mode for chat and grant/project components, ensuring a better visual experience.
  • **Select Component Display** — All project Select components now show labels instead of raw values, making selections clearer for users.
  • **Inline Search Replace Fix** — Resolved an issue where inline searchReplace produced nested block HTML, improving document integrity.

2026.07.10

This release includes 1 new feature and 1 improvement.

Nytt
  • **Auto-Merge for Deployments** — Streamlined the deployment process by automatically merging pull requests from the release branch to the main branch after a successful release, ensuring smoother updates.
Ändrat
  • **Vercel Speed Insights Integration** — Added Vercel Speed Insights to gather real-user performance data across all pages, enhancing the overall user experience by optimizing load times.

2026.07.9

This release includes 3 new features, 6 bug fixes and 2 improvements.

Nytt
  • **Reusable AI Context for Grants** — You can now link Drive documents as reusable AI context for grant applications, enhancing your application process.
  • **Bidrag App Toggle** — The Bidrag app is now available as a toggleable option in Fler Appar and during onboarding, providing more flexibility in your app selection.
  • **Organisation Number in Dashboard** — Your organisation number is now displayed with a click-to-copy feature in the hero banner for easier access.
Ändrat
  • **Persistent Wizard State in Onboarding** — Introduced a draft-tenant architecture for maintaining persistent wizard states during onboarding, improving user experience.
  • **Document Type Display** — The document type dropdown now shows labels instead of values, making it clearer for users to select the correct type.
Fixat
  • **PDF Readability Detection** — Early detection of PDF readability issues has been added, alerting users at upload time for better document quality.
  • **Document Link Correction** — Fixed an issue where the saveTextToDrive tool generated incorrect document links, ensuring accurate file references.
  • **Onboarding Completion Logging** — Backfilled onboarding completion status for existing tenants and added logging for better tracking.
  • **User Menu Stability** — Resolved an issue where the user menu popover collapsed in icon mode, enhancing navigation reliability.
  • **Tenant Icon Alignment** — Aligned the TenantIcon color lookup order with the OrganizationSelector for consistent visual representation.
  • **Dashboard Hero Icon Update** — The dashboard hero now uses the correct organization icon and themePreset color, improving visual consistency.

2026.07.8

This release includes 4 new features, 2 bug fixes and 1 improvement.

Nytt
  • **Expanded Grants Database** — The seed database now includes 40 grants, providing users with more options for funding opportunities.
  • **AI Context Features** — Users can now generate AI context prompts, re-generate responses, and save results directly to Drive for enhanced productivity.
  • **Discord Community Button** — A new button in the sidebar footer allows users to easily join our Discord community for support and networking.
  • **Semantic Search for Meetings** — Users can now perform semantic searches for meetings and decisions, making it easier to find relevant information.
Ändrat
  • **Filter Result Count Enhancement** — Improved the filter result count display, allowing users to better understand the number of available grants.
Fixat
  • **Target Group Value Correction** — Replaced the invalid target group value 'kvinnor' with 'alla' to ensure accurate filtering.
  • **Thread Navigation Fix** — Resolved an issue where conversations would not load when navigating directly to a thread URL.

2026.07.7

This release includes 1 new feature and 2 bug fixes.

Nytt
  • **Server-Side Search Tools** — Enhanced the ability to search for meetings, decisions, and todos, making it easier for users to find relevant information quickly.
Fixat
  • **Assistant Tool Import Path** — Corrected the import path for IconSeedling in AssistantToolResult, ensuring proper functionality.
  • **PR/Preview Mode Range** — Fixed the range used for PR and preview modes to improve accuracy and reliability.

2026.07.6

This release includes 5 new features, 10 bug fixes and 2 improvements.

Nytt
  • **Actionable Board Member Overview** — The Utforska start page has been replaced with a new overview for board members, providing quick access to essential tasks and information.
  • **Ny Styrelse Board Succession Wizard** — A new interactive wizard to assist organizations in managing board succession effectively.
  • **AI Extraction of Board Composition** — Automatically extracts board composition details from meeting protocols, simplifying the transition process.
  • **SearchForeningskunskap Tool** — A new tool for on-demand access to association law information, enhancing compliance and knowledge.
  • **Grants Management Phases** — Introduced a comprehensive grants management system with features for funders, searching, filtering, and application tracking, including an AI draft writer.
Ändrat
  • **Dashboard Layout Restructure** — The dashboard and discover page layout have been improved for better navigation and user experience.
  • **Meeting Section Help Popover** — Enhanced titles and descriptions in the help popover for clearer guidance during meetings.
Fixat
  • **Self-assignment Notifications Suppressed** — Notifications for self-assigned tasks created by AI are now suppressed, reducing unnecessary alerts.
  • **Dashboard Overview Layout Tightened** — The layout has been refined, fixing empty state issues for a cleaner appearance.
  • **Todo Clickability Restored** — Todos are now clickable, improving usability and task management.
  • **Infinite Refetch Loop Resolved** — Fixed an issue causing infinite refetch loops in overview date queries, enhancing performance.
  • **Meeting Action Visibility** — All review and protocol meetings are now visible to admins in the action section, ensuring transparency.
  • **Draft Meetings Included in Queries** — Draft meetings are now included in action section queries, providing a complete view of pending tasks.
  • **Member Extraction Matching Enhanced** — Member extraction now matches names against all members, not just board members, improving accuracy.
  • **Email Notification Logic Fixed** — The system now correctly indicates when an email will be sent upon member removal, ensuring clarity.
  • **Stripe Onboarding Route Added** — A missing route for Stripe onboarding has been added, improving payment integration.
  • **Meeting Section Action Button Improvements** — Action buttons in meeting sections have been styled for better visibility and usability.

2026.07.5

This release includes 5 new features, 5 bug fixes and 3 improvements.

Nytt
  • **AI-Generated Chat Titles and Enhanced Thread Routing** — Users can now enjoy automatically generated chat titles and improved navigation with URL-based thread routing for a smoother experience.
  • **Meeting Protocol Analysis and AI Proposal Review** — Introducing an AI-driven analysis tool for meeting protocols, along with a new proposal review drawer to streamline decision-making.
  • **Document Card Status Badges** — Users can now see the embedding and search status directly on document cards, providing instant feedback on document processing.
  • **Enhanced Meeting Interaction** — Users can now open action dialogs instead of expanding popovers, making it easier to manage tasks during meetings.
  • **Section Context and Scan Button** — A new context label and scan button have been added to the bottom menu for quick access to relevant information during meetings.
Ändrat
  • **Redesigned Protocol and Agenda Analyzer UX** — The user interface for analyzing protocols and agendas has been revamped with suggestion cards for a more intuitive experience.
  • **Unified Meeting Popover Style** — The Infoga popover style has been standardized to match the Skapa interface, enhancing visual consistency.
  • **Compact Date Display** — The date display has been streamlined, and the sign button variant is now configurable for better customization.
Fixat
  • **Improved Semantic Search Accuracy** — Smaller embedding chunks are now used for more precise search results, enhancing the overall search functionality.
  • **Assistant Layout and Scrolling Issues Resolved** — Layout and scrolling problems in the assistant chat page have been fixed, providing a smoother user experience.
  • **Protocol Analysis Prompt Correction** — Curly/fancy Unicode characters have been removed from the protocol analysis prompt, ensuring clarity and accuracy.
  • **Duplicate Button Removal** — The redundant "Avsluta möte" button in the header has been eliminated, reducing confusion during meetings.
  • **Focus Retention After Actions** — Users will now maintain focus on the current section after pressing the "Klar" button, improving navigation during meetings.

2026.07.3

This release includes 2 new features, 4 bug fixes and 2 improvements.

Nytt
  • **Contextual Action Picker** — Users can now easily insert palette items during möten with a new action picker for enhanced efficiency.
  • **Share Link in Gå Vidare Drawer** — A clickable step indicator has been added, allowing users to quickly access shared links in the gå vidare drawer.
Ändrat
  • **Sidebar Design Enhancements** — The sidebar now collapses by default with larger icons and improved profile visibility, providing a cleaner and more user-friendly interface.
  • **Meeting Section Typography** — Improved vertical spacing and text sizing in the public agenda view for better readability and consistency.
Fixat
  • **Cursor Jump Prevention** — Resolved an issue that caused the cursor to jump in the section body during auto-save, ensuring a smoother editing experience.
  • **Recipient Count Correction** — Fixed an error in the recipient count displayed in the send response for posts, ensuring accurate communication metrics.
  • **Production Origin for Org Logo** — Ensured that the correct production origin is used for organization logos in emails, enhancing brand consistency.
  • **Share Link Visibility** — The share link is now properly displayed in the drawer, matching the typography of subsections for a cohesive look.

2026.07.2

This release includes 5 new features, 3 bug fixes and 1 improvement.

Nytt
  • **Enhanced Meeting Protocols** — All board and admin members can now edit meeting protocols, improving collaboration and efficiency.
  • **Board Meeting Template Improvements** — Added starting body text and context-aware placeholders to the board meeting template, making it easier to create structured agendas.
  • **Persistent Chat History** — Users can now access their chat history, ensuring important conversations are easily retrievable.
  • **Streamlined Meeting Flow** — The transition from dagordning to protokoll has been simplified, and a public share link has been added for easier access to meeting outcomes.
  • **Expanded Todo Functionality** — Introduced an expandable view for todos in the Infoga popover, enhancing task management.
Ändrat
  • **Default PDF Import Mode** — The default setting for PDF imports is now 'Save only', optimizing user experience during document uploads.
Fixat
  • **Improved Mention Suggestions** — Board members are now prioritized in @ mention suggestions, making it easier to tag relevant participants.
  • **Text Embedding for AI Search** — PDF uploads in 'Save only' mode now correctly embed extracted text, enhancing AI search capabilities.
  • **Paragraph Number Display** — Fixed an issue where paragraph numbers displayed incorrectly as §0.0 when section lookup failed, ensuring clarity in documents.

2026.07.1

This release includes 3 new features, 8 bug fixes and 2 improvements.

Nytt
  • **Email Customization** — Users can now send utskick from their organization's branded email address, enhancing brand consistency in communications.
  • **Member Search** — A new MemberSearchCombobox feature allows for efficient remote searching of members, improving user experience in member management.
  • **Version Badge and Changelog Dialog** — A version badge and changelog dialog have been added to the sidebar footer for easy access to updates.
Ändrat
  • **Post Preview Enhancements** — The ämnesrad (subject line) has been moved to the preview step as a required inline field, streamlining the posting process.
  • **Email Rendering** — The email preview now uses a pixel-accurate iframe of the rendered email, ensuring users see exactly what recipients will receive.
Fixat
  • **Chat Input Stability** — The chat input is now sticky at the bottom of the viewport, improving usability during conversations.
  • **Image URL Resolution** — Fixed issues with image URLs in previews when sections store media as IDs, ensuring images display correctly.
  • **Email Content Rendering** — Resolved a problem where blank utskick emails were sent, ensuring that content is rendered properly with React Email.
  • **Tenant Logo Visibility** — Fixed an issue where the tenant logo was not showing in sent emails, ensuring brand visibility.
  • **Admin Panel Access** — Restricted access to the /admin panel to super-admins only, enhancing security.
  • **Validation Error Translations** — Required-field validation errors in the organization creation form are now properly translated, improving the onboarding experience.
  • **Stream Hang Prevention** — Prevented the stream from hanging after the first turn in organization chat, ensuring smooth communication.
  • **API Changelog Fix** — Replaced a broken API-based changelog with static data import, ensuring users have access to the latest updates.

2026.06.2

This release includes 1 bug fix.

Fixat
  • **PDF Export Font Issue** — Resolved an italic font error in PDF exports, ensuring documents appear as intended.

2026.06.1

This release includes 5 new features, 4 bug fixes, 3 improvements and 1 removal.

Nytt
  • **New User Organization Creation Flow** — Introduced an end-to-end smoke test to ensure a smooth onboarding experience for new users creating organizations.
  • **Organization Assistant Page** — Added a dedicated page for the Org Assistant, complete with navigation and translations to enhance user support.
  • **Public Organization Routes** — Moved public organization routes to a more intuitive structure for easier access.
  • **Changelog Notifications** — Implemented Slack notifications to keep users informed about new releases and changes.
  • **Edit Drawer for Membership Plans** — Streamlined the editing process by opening an edit drawer instead of redirecting to a separate page.
Ändrat
  • **Event Discovery Flow** — Migrated the event public flow to a more user-friendly route, improving navigation and accessibility.
  • **Membership Page Layout** — Removed hero sections from membership pages for a cleaner and more focused layout.
  • **Subpage Title Display** — Updated the organization header to show the subpage title instead of the full identity, enhancing clarity.
Fixat
  • **Organization Card Images** — Resolved issues with organization card images by ensuring the correct fallback and rendering, improving visual consistency.
  • **Membership Plan Editing** — Fixed a bug that caused a duplicate 'edit' key in Swedish translations, preventing confusion in the editing process.
  • **WebSocket Connection Stability** — Enhanced the reliability of the application by addressing connection issues and improving error handling.
  • **Membership Page Syntax Errors** — Corrected JSX syntax errors in membership pages to ensure proper functionality.
Borttaget
  • **Website Editor Feature** — Removed the website editor (hemsida) feature entirely to streamline the platform and focus on core functionalities.

2026.05.6

This release includes 1 new feature and 2 bug fixes.

Nytt
  • **User Email in Sidebar** — Users can now view their email address directly in the sidebar profile menu for easier account management.
Fixat
  • **Onboarding Improvements** — New users can now successfully create their first organization, ensuring a smoother onboarding experience.
  • **Payload Type Guarding** — Enhanced stability by preventing loss of type checks in the payload types, ensuring better error handling during development.

2026.05.5

This release includes 4 new features, 7 bug fixes and 1 improvement.

Nytt
  • **Persistent PDF Button in Meeting Header** — Users can now easily download meeting PDFs directly from the header on desktop.
  • **AI Document Type Suggestion on Import** — The platform now intelligently suggests document types during the import process, streamlining user workflows.
  • **Right-Click Context Menu for Document Categories** — Users can quickly set document categories via a new context menu, enhancing organization and accessibility.
  • **Vector Database for Semantic Document Search** — Improved search capabilities allow users to find documents more intuitively based on content relevance.
Ändrat
  • **Improved Agenda Analysis UX** — Users can now manually trigger agenda analysis, see a stadgar badge, and clear results on re-runs for a more user-friendly experience.
Fixat
  • **Prevent iOS Auto-Zoom on Mobile** — Resolved issues that caused unwanted zooming on mobile devices by ensuring all input fields use a minimum font size.
  • **Corrected PDF Content Fetching for Stadgar** — Fixed issues with fetching stadgar PDF content, ensuring reliable access to necessary documents.
  • **Stable Index Fallback for PDF Sections** — Improved PDF generation by using a stable index, preventing random errors during document creation.
  • **Resolved Translation Issues in Meeting Header** — Corrected translation namespace for the "View as PDF" button, ensuring clarity for users.
  • **Fixed Document Deletion Confirmation Dialog** — Improved user experience by accurately displaying document names in deletion confirmations.
  • **Resolved TypeScript Errors** — Fixed multiple TypeScript errors that were causing build issues, enhancing overall platform stability.
  • **Strict Tenant Isolation on Vector Search** — Ensured that users' search results are strictly isolated, maintaining data privacy and security.

2026.05.4

This release includes 1 new feature and 5 bug fixes.

Nytt
  • **ImagePicker in Membership Plans** — Users can now easily select images for membership plans using the new ImagePicker feature, simplifying the upload process.
Fixat
  • **Onboarding URL Correction** — The onboarding return URL has been corrected to ensure users are directed to the right page after completing Stripe onboarding.
  • **Meetings Cache Invalidation** — The meetings cache is now properly invalidated after a meeting is created, ensuring users see the most up-to-date information.
  • **Meetings Table Restoration** — The MeetingsTable has been restored to its original state, removing the draft filter for a more accurate view of meetings.
  • **Theme Color Flash Fix** — Eliminated the flash of default color on tenant pages, providing a smoother user experience.
  • **Version Flag Handling** — Fixed an issue where the empty `--version` flag caused problems, ensuring smoother workflow operations.

2026.05.3

This release includes 4 new features, 6 bug fixes and 3 improvements.

Nytt
  • **Ekonomisk rapport for Styrelsemöten** — Introduced a new section type for board meetings to enhance financial reporting.
  • **Avatar Crop Flow in Organization Settings** — Added a streamlined process for cropping avatars, improving user experience during customization.
  • **Disconnect from Stripe Button** — Users can now easily disconnect from Stripe directly within the payments settings tab.
  • **Link to Members Page in Board Info Card** — Improved navigation by adding a direct link to the members page from the board info card.
Ändrat
  • **Meeting Sidebar Enhancements** — The overview sidebar is now visible to non-editors, promoting better collaboration.
  • **Dashboard Urgent Items Update** — Removed todos from the urgent items banner for a cleaner dashboard experience.
  • **Improved Avatar Handling** — Cropped avatars are now displayed instead of original logos in the DiscoverOrgHeader, enhancing visual consistency.
Fixat
  • **Avatar Crop Edge Padding** — Resolved padding issues in the avatar crop feature, ensuring a better fit for images.
  • **Zoom Slider Functionality** — Fixed the zoom slider for very wide or tall images, allowing users to adjust images more effectively.
  • **Member List Query Invalidation** — Ensured that all member list queries are invalidated after a member is deleted, maintaining data accuracy.
  • **Transparent Logo Display** — Removed the white background from the avatar container for transparent logos, improving aesthetics.
  • **Onboarding Redirect** — Users are now redirected to the homepage upon exit if they have existing tenants, enhancing navigation.
  • **Version Detection and Workflow Permissions** — Improved robustness in version detection and permissions for workflows, ensuring smoother operations.

2026.05.1

This release includes 19 new features, 31 bug fixes and 14 improvements.

Nytt
  • **inbox:** add inbox-items collection with board notification hook
  • **inbox:** add inbound email webhook handler and tenant alias field
  • **meeting:** replace bottom-bar spinner with full-page PDF generation overlay
  • **inbox:** add inbox queries, icon, and translations
  • **inbox:** add inbox list page, card, and drawer with triage actions
  • **meeting:** add content palette sidebar translation keys
  • **meeting:** add paletteHelpers for content palette sidebar
  • **meeting:** add usePaletteContent hook for palette sidebar data fetching
  • **meeting:** add PaletteBlock draggable component for content palette
  • **meeting:** add ContentPaletteTab component with grouped palette blocks
  • **meeting:** add MeetingEditorSidebar with Innehåll/Översikt tabs
  • **meeting:** add usePaletteDragDrop hook and MeetingDndContext provider
  • **meeting:** wire up tabbed editor sidebar and lifted DnD context
  • **message:** add ChatTopbarButton component
  • **topbar:** add chat button to top navigation
  • **meeting:** show drop indicator line when dragging palette block over sections
  • **meeting:** show undo toast when palette block is dropped into agenda
  • **meeting:** support dragging sections back into content palette
  • **meeting:** drop-onto intent for subsection creation during drag
Ändrat
  • **meeting:** lift DnD ownership from MeetingSections to layout level
  • **meeting:** use pill segment tabs in editor sidebar
  • **meeting:** switch sidebar tabs to line variant with underline indicator
  • **meeting:** use AppTabs with icons for editor sidebar tabs
  • **meeting:** update sidebar tab icons to plus and list
  • **message:** remove unused variables in ChatTopbarButton
  • **message:** remove CollapsedChatStrip, chat trigger moved to topbar
  • **message:** remove mobile FAB, chat trigger moved to topbar
  • **meeting:** eliminate drag start lag by storing active block in state at drag start
  • **meeting:** make palette block drag feedback instant on pointer down
  • **meeting:** split DnD context to prevent all sections re-rendering on drag start
  • **meeting:** make sidebar tab bar edge-to-edge, remove top padding
  • **meeting:** make sidebar tabs fill full width edge-to-edge
  • **meeting:** changed "Based on previous meeting badge" \u2014 The badge in the meeting header now links directly to the previous meeting instead of trying to re-open a banner that no longer exists.
Fixat
  • **inbox:** add inbox-items to NotificationResourceType union
  • **inbox:** use raw body for webhook signature verification, add unique constraint to alias
  • **meeting:** improve PDF overlay step-matching robustness and type safety
  • **inbox:** add inbox-items to role registry and notification resource types, patch admin role in e2e setup
  • **inbox:** make e2e inbox triage tests pass reliably
  • **meeting:** hide AI rewrite actions (kortare/längre/formalisera) for non-dev tenants
  • **meeting:** restrict transcription features to asamla tenant only
  • **meeting:** add DragOverlay so palette blocks are visible while dragging
  • **meeting:** ignore palette drops outside of section targets
  • **meeting:** prevent palette drop and hide indicator when released outside sections
  • **meeting:** portal DragOverlay to document.body so it isn't clipped by editor layout
  • **meeting:** restore drag overlay for sidebar content palette blocks
  • **meeting:** fix palette drag activation by forwarding dnd-kit onPointerDown listener
  • **meeting:** fix palette block insert always bailing out on drop
  • **meeting:** use pointerWithin collision detection during palette drags
  • **meeting:** fix palette block drag UX and subline display
  • **decision:** clear all fields when opening create new decision drawer
  • **meeting:** show page header on 'from previous meeting' selection page
  • **meeting:** use basedOnMeeting reference for sidebar palette
  • **meeting:** always apply pinned-section filter when copying from previous meeting
  • **meeting:** treat tagged sections as structural when copying from previous meeting
  • **meeting:** use decision description as palette title
  • **meeting:** show drag overlay when reordering canvas sections
  • **meeting:** remove duplicate drag overlay and fix section opacity on reorder
  • **meeting:** eliminate drag lag and drop jump during section reorder
  • **meeting:** revert section reorder to local DnContext pattern from main
  • **meeting:** use lightweight drag preview inline with local DndContext
  • **meeting:** defer DOM reorder and add will-change hint for smoother drag
  • **meeting:** overhaul section reorder drag-and-drop UX
  • **meeting:** allow per-capsulam decision sections to be dropped back to palette
  • **ci:** correct YAML syntax error in release-publish deploy PR body

2026.04.2

This release includes 3 new features, 10 bug fixes and 2 improvements.

Nytt
  • add Payload migration handling to release flow
  • **e2e:** reorganize test suite with smoke/deep split and global teardown
  • **e2e:** add PDF extraction API test and fix missing import
Ändrat
  • **e2e:** trim smoke suite from 59 to 25 tests
  • **e2e:** trim smoke suite to 9 focused tests
Fixat
  • release script syntax error and changelog structure
  • **e2e:** create booking resource in unsplash image picker test
  • **e2e:** use apiEnsureRole memberId in urgent-banner tests
  • **meeting:** hide transcription button for non-dev tenants
  • **tenant:** sanitize user tenants array to prevent validation crashes
  • **e2e:** remove unused email-mock import after deleting mock module
  • **e2e:** reduce CI workers from 2 to 1 to prevent server overload
  • **e2e:** remove brittle step assertions from onboarding smoke test
  • **ci:** fix YAML syntax error in release-publish workflow
  • **ci:** use single-line PR body to fix YAML parse error

2026.04.1

This release includes 5 new features, 21 bug fixes, 7 improvements and 1 removal.

Nytt
  • **Section status in overview** — Meeting overview now shows section review status: amber for unresolved comments, green for all resolved, yellow for modified after review. Visible to all users during review state.
  • **Section adjustment tracking** — Added visual indicators for tracking review adjustments: sections now show comment counts, modification status, and allow marking comments as addressed. Includes lastEditedAt timestamp tracking for section content changes.
  • **Standard formulation helper for meeting sections** — Added info icon to meeting sections that shows the standard formulation template and allows inserting it when editing protocols
  • **Tenant circular logo in dashboard hero** — Dashboard hero banner now displays tenant logo with circular shape when configured
  • **Meeting fields: nextMeetingDate & nextMeetingTime** — Added `nextMeetingDate` (date) and `nextMeetingTime` (text) fields to the Meeting collection, resolving TypeScript errors in `scanSection.ts`, `NextMeetingDatePicker.tsx`, and `TodoDrawer.tsx`
Ändrat
  • **Sentry client config** — Migrated from sentry.client.config.ts to instrumentation-client.ts for Turbopack compatibility
  • **Simplified review status** — Removed 'modified after review' state from section tracking. Now only tracking: unresolved comments (amber) and resolved comments (green). Cleaner and less confusing.
  • **Standard formulation info visibility** — Info icon for standard formulations now only appears when a section is selected/focused
  • **Button styling** — Updated primary button with Better Stack-inspired design: added shadow-md, border-primary-lighter, and hover:bg-primary-darker for improved depth and interaction feedback
  • **Todo drawer layout** — Restructured todo drawer with tabs for Details, Attachments, and Comments. Moved creator info to header badge, removed card wrappers around sections, added priority icons to buttons
  • **Updated brand logos and icons** — Replaced all logos, favicons, and app icons with new blue flower symbol design
  • **Drive list view column reorganization** — Moved file type badge (DOC/PDF) from the Name column to the Typ column, moved the star toggle to the far right of each row, and adopted the Todo-style slide-in checkbox animation (width transition on hover instead of opacity fade). File badge remains visible in the Name column on mobile where the Typ column is hidden.
Fixat
  • **Email server URL** — Hardcoded www.asamla.se as the base URL for all email links to ensure emails sent from localhost use production URLs
  • **Sentry build timeouts on Vercel** — Disabled source map uploads to prevent build timeouts caused by Sentry webpack plugin
  • **Overview auto-update** — Fixed overview section to automatically update when sections are edited during review. Uses reactive form watching instead of static getValues.
  • **React hooks count mismatch in SectionStandardFormulationInfo** — Fixed additional Rules of Hooks violation by moving useMemo before all conditional return statements
  • **React hooks order bug in SectionStandardFormulationInfo** — Fixed React Rules of Hooks violation caused by early return statements before useWatch hooks
  • **Standard formulation ICU error** — Fixed FORMATTING_ERROR by using t.raw() for template strings with ICU variables like {persons}
  • **Section type auto-detection fallback** — Changed detectSectionType to return undefined instead of 'other-matters' when no keywords match. Sections like 'Kallelse till Årsmötet' now remain untyped instead of incorrectly becoming 'Övriga frågor'
  • **Comment resolution i18n and permissions** — Fixed hardcoded English toast messages when marking comments as resolved. Added proper i18n support. Also fixed permissions to allow meeting secretary to mark reviewer comments as addressed.
  • **getDiscoverOrgBySlug undefined ID error** — Fixed error when tenant ID is missing by adding proper ID validation with extractIDOrThrow
  • **Dagordning comment indicators** — Restored amber highlight in meeting overview sidebar to indicate sections with new comments during review state for secretaries
  • **Dark mode support for image picker buttons** — Byt bild button in image picker now properly adapts to light/dark theme
  • **Meeting drawer section preview missing newlines** — Newlines between paragraphs in meeting section bodies were lost in the drawer preview because `stripHtml()` removed all HTML tags without inserting whitespace. Now converts `<br>` and `</p><p>` boundaries to `\n` and renders with `whitespace-pre-line`.
  • **PDF meeting generation content disappearing** — Fixed a bug where meetings generated from uploaded PDFs would flash the correct content but then go empty. Root causes: (1) an effect ordering bug in `usePdfMeetingGeneration` was clearing form update refs on every streaming chunk instead of only on generation start, (2) the final form update used stale React state instead of the freshly parsed data, (3) auto-create could fire before the form was populated. Fixed by splitting the lifecycle effect, passing final parsed data directly, and gating auto-create on sections being present.
  • **Document editor title syncs to document name** — Editing the inline title heading in the document editor now also updates the document name when it still matches the default "Namnlöst dokument" or the previous title, so the breadcrumb and drive table reflect the new name immediately
  • **Rename dialog auto-selects text** — Opening the rename dialog for documents, folders, or media now auto-selects the text in the input field for quicker editing
  • **Meeting Review — Secretary comments** — Secretary section comments were silently dropped during the review round; the comment guard `!isSecretary` in `ReviewSectionComment` now allows secretary comments to be queued correctly
  • **Meeting Review — Secretary footer** — Secretary now has a dedicated "Skicka anteckningar" footer action (instead of the reviewer Approve/Sign footer) that saves section comments and starts a new review cycle, notifying all reviewers via email and in-app notifications
  • **Meeting Review — Secretary ReviewProvider** — Secretary was not wrapped in `ReviewProvider` during review state, causing the footer to be invisible; `MeetingLayoutContent` and `MeetingContainer` now include the secretary in the review layout when `meetingState === 'review'`
  • **Meeting Review — "Resend for review" button** — `useSendMeetingForReview` was calling a non-existent endpoint (`meeting-comments/send-for-review`); now correctly calls `meetings/send-for-adjustment`
  • **Meeting overview subsection font size** — Subsections (e.g. 5.1, 5.2) were rendering at 14px instead of 12px due to a Tailwind specificity issue with the sidebar's `data-[size=md]:text-sm` selector overriding the intended `text-[11px]` class
  • **Scan skips already-handled sections** — When pressing "Avsluta möte" and choosing to scan sections, only sections not yet marked as done are now scanned (previously all sections were re-scanned regardless of their handled status)
Borttaget
  • **Event log tab** — Hidden the "Evenemangslogg" tab from the Events page UI