v1.5.0
Release date: 2026-11-11
The release adds the local AI core ai-core, extended LDAP sign-in, the space document registry, polls, slides and HTML blocks on the board. The license key format has changed.
New features
- AI features through the local AI core ai-core: image generation in the «flip AI» panel, «Edit with AI» and «Remove Background» for images on the board. ai-core is an optional component; connection and requirements are described in ai-core configuration.
- LDAP and Active Directory sign-in: several domain controllers, an additional account filter
UserFilter, automatic addition of a user to the space on first sign-in, and binding of a flip profile to a persistent directory account identifier (for example,objectGUID). (backend) - Space document registry: the «All documents» section in the left menu, a document list with filters by team, creator, tag, folder and flip, a document trash and document search.
- The «Structure» panel on a flip: a tree of the space's teams, folders, flips and documents with search and a tag filter.
- «Read only» mode for a document and the «Linked documents» block in the document card with incoming and outgoing links.
- The «Poll» element in the «Facilitator tools» menu: «Anonymous voting», «Multiple answers», «Correct answer» and «Space members only» settings.
- The «Slides» tool: a slide deck made of frames on the board with templates, «Fullscreen» mode with presenter notes and a show started with «Start presentation». Only space members can start a show.
- The «HTML block» tool: an HTML page on the board in an isolated frame with the «Edit HTML» editor. HTML size is up to 2 MB.
- «Checkbox» and «Dropdown» table cell formats in the «Cell format» menu; when a row or column has repeated values, «Make a dropdown?» is suggested. (frontend)
- New MCP server tools: image generation and background removal (
get_image_generation_info,generate_image,place_generated_image,remove_background), polls (add_poll), the space document registry (list_space_docs,list_space_doc_filters,get_space_docs_structure), slides (add_slide_deck,add_slide) and HTML blocks (add_html_block,update_html_block). (mcp-server)
Improvements
- New license key format. A previously activated key remains valid; a new key is activated only in the new format, and a key in the old format is rejected. (backend)
- If the PostgreSQL server time is behind the last time recorded by the application by more than 14 hours, the license is treated as expired until the time is corrected. (backend)
- With LDAP enabled, sign-in with a flip password is disabled; the administrator specified during installation signs in with their password. (backend)
- Accounts disabled in Active Directory cannot sign in when
Attributes.AccountStatus: userAccountControlis set; LDAP sign-in attempts are limited to 10 per minute per login. (backend) - Permission and tag cache reset no longer scans all Valkey keys: removing a member from a team does not block Valkey. (backend)
- The «Rounding corners» setting for images in the «Border» menu. (frontend)
- A frame drawn inside another frame takes the elements under it. (frontend)
- Apple Pencil support on iPad: palm touches are ignored while drawing with the pen, and the board does not follow a pen hovering without touching the screen. (frontend)
- The team list in the left menu is split into «My teams» and «I'm a member». (frontend)
- The space profile overview shows the number of flips created, members, teams and license usage. (frontend)
- The interface
index.htmlfile is served with theCache-Control: no-cacheheader: after an update, the browser loads the new interface version without clearing the cache. (frontend) - The
get_elementstool returns at most 500 elements and 256 KiB per call with thetruncatedflag and thenextOffsetoffset;search_elementsalso returns thetruncatedflag. (mcp-server) - A request to
/mcpwith a body larger than 8 MiB is rejected with code 413. (mcp-server) - The Go runtime memory limit (
GOMEMLIMIT) is set automatically to 80% of the container memory limit if theGOMEMLIMITvariable is not set. (mcp-server)
Configuration changes
backend
AI.LocalCore.BaseURL— added. ai-core API address: scheme, host and port, without a path; an empty value or a missingAIsection disables AI features. Example:http://flip-ai-core:9100. See backend configuration.AI.LocalCore.Token— added. ai-core access token, at least 32 characters; matchesAuth.Local.Tokenin the ai-core configuration. Example: the output ofopenssl rand -hex 32. See backend configuration.Auth.LdapAuthConfig.Address— format changed: a list of domain controller addresses tried in order when one is unavailable. A string with one address or comma-separated addresses is supported. Example:["ldaps://dc-1.example.ru:636", "ldaps://dc-2.example.ru:636"]. See backend configuration.Auth.LdapAuthConfig.UserFilter— behavior changed: the filter is applied when searching for an account (previously it was not used). RFC 4515 LDAP filter syntax without placeholders; a syntax error is a startup error. Example:(memberOf=CN=allow-flip,OU=Groups,DC=example,DC=ru). See backend configuration.Auth.LdapAuthConfig.LoginAttributes— added. LDAP attributes used to find an account by the entered login; defaults to the attribute fromAttributes.Mail. Example:[userPrincipalName, mail]. See backend configuration.Auth.LdapAuthConfig.AutoJoinSpace— added. Withtrue, a user who passesUserFilterbecomes a space member on first sign-in without an invitation. Example:true. See backend configuration.Auth.LdapAuthConfig.Attributes.ID— added. Attribute with a persistent account identifier used to bind the flip profile. Example:objectGUID. See backend configuration.Auth.LdapAuthConfig— startup validation added:Attributes.Mailis required, addresses use only theldap://orldaps://scheme,UseTLS: truecannot be combined withldaps://. On error, backend does not start. See backend configuration.
Upgrade steps
- Connect ai-core or disable it. ai-core is enabled in the Helm chart (
values.yaml) anddocker-compose.yamltemplates:- to connect it, create the
flip_ai_coredatabase, set the connection string (AI_CORE_POSTGRES_DSNin.envfor Docker Compose, theai-core-configsecret for Kubernetes), fill in the ai-core configuration and theAIsection of the backend configuration as described in the instructions; provide outbound HTTPS access toai.flip-chart.ru; - to disable it, set
ai-core.enabled: falseinvalues.yamlor remove theflip-ai-coreservice fromdocker-compose.yaml(see Disabling).
- to connect it, create the
- If LDAP sign-in is used, check the
Auth.LdapAuthConfigsection of the backend configuration before the update:- set
Attributes.Mail; - remove
UseTLS: trueforldaps://addresses; - check
UserFilter: the filter is now applied; remove it if no restriction is needed.
- set
- Check time synchronization (NTP) on the PostgreSQL server — the license validity check depends on it.
- To renew a license, request a key in the new format: a key in the old format is not activated.
- Do not interrupt the first backend start after the update. If the start was interrupted, check for invalid indexes with
SELECT indexrelid::regclass FROM pg_index WHERE NOT indisvalid;, drop the indexes found withDROP INDEX CONCURRENTLY <index>;and restart backend; if an index is not recreated, run itsCREATE INDEX CONCURRENTLYstatement from the migration file in the/flip/migrationsdirectory of the backend container.
Database migrations
On the first start, backend builds indexes on the elements and flips tables (CREATE INDEX CONCURRENTLY). On large databases backend takes longer to start; writes to the tables are not blocked while the indexes are built. If a migration fails on a lock timeout, restart the backend container.