Skip to content

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: userAccountControl is 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.html file is served with the Cache-Control: no-cache header: after an update, the browser loads the new interface version without clearing the cache. (frontend)
  • The get_elements tool returns at most 500 elements and 256 KiB per call with the truncated flag and the nextOffset offset; search_elements also returns the truncated flag. (mcp-server)
  • A request to /mcp with 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 the GOMEMLIMIT variable 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 missing AI section disables AI features. Example: http://flip-ai-core:9100. See backend configuration.
  • AI.LocalCore.Token — added. ai-core access token, at least 32 characters; matches Auth.Local.Token in the ai-core configuration. Example: the output of openssl 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 from Attributes.Mail. Example: [userPrincipalName, mail]. See backend configuration.
  • Auth.LdapAuthConfig.AutoJoinSpace — added. With true, a user who passes UserFilter becomes 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.Mail is required, addresses use only the ldap:// or ldaps:// scheme, UseTLS: true cannot be combined with ldaps://. On error, backend does not start. See backend configuration.

Upgrade steps ​

  1. Connect ai-core or disable it. ai-core is enabled in the Helm chart (values.yaml) and docker-compose.yaml templates:
    • to connect it, create the flip_ai_core database, set the connection string (AI_CORE_POSTGRES_DSN in .env for Docker Compose, the ai-core-config secret for Kubernetes), fill in the ai-core configuration and the AI section of the backend configuration as described in the instructions; provide outbound HTTPS access to ai.flip-chart.ru;
    • to disable it, set ai-core.enabled: false in values.yaml or remove the flip-ai-core service from docker-compose.yaml (see Disabling).
  2. If LDAP sign-in is used, check the Auth.LdapAuthConfig section of the backend configuration before the update:
    • set Attributes.Mail;
    • remove UseTLS: true for ldaps:// addresses;
    • check UserFilter: the filter is now applied; remove it if no restriction is needed.
  3. Check time synchronization (NTP) on the PostgreSQL server — the license validity check depends on it.
  4. To renew a license, request a key in the new format: a key in the old format is not activated.
  5. 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 with DROP INDEX CONCURRENTLY <index>; and restart backend; if an index is not recreated, run its CREATE INDEX CONCURRENTLY statement from the migration file in the /flip/migrations directory 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.

flip on-premise and cloud documentation