Skip to content

v1.6.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 17:55
· 92 commits to develop since this release
de77c9a

Added

  • Integrations: several companies can connect the same Slack workspace or
    Microsoft 365 organization, as peers. Each reaches only the channels connected
    to it, a shared channel starts each company's own triggers and answers /help
    once, /run offers the workflows of every company of yours that connected the
    workspace, and an agent changes only the bot messages posted for its company.
    Disconnecting one company leaves the others working; uninstalling the app in
    Slack stops it for all of them, and reinstalling from any restores it.
  • Integrations: Slack and Microsoft Teams channels are connected to a
    company from inside the channel: ask for a code in Flow for a named channel,
    then mention the app with connect <code> there, and the app confirms it in
    the channel, naming the company and what starts the trigger. Posted in any
    other channel the code connects nothing, and a refused code is shown only to
    whoever posted it. A channel can be connected for posting only, and
    disconnected from the Slack or Teams row.
  • Admin: a Feature flags page lists every declared flag with where its
    value comes from. Super admins can set a flag's global value, turn it off
    everywhere, and add or remove company overrides, each with a required reason
    recorded in the flag's history. Flags locked by FEATURE_<KEY> are read-only.
    A company's admin page lists its feature overrides.

Changed

  • Triggers & gates: a chat trigger listens in exactly one channel connected
    to the company and cannot be switched on without one; a channel id can no
    longer be typed, and conditions cannot name a channel. Existing triggers keep
    their channel; one that fired from several channels is split into one trigger
    per channel, and one that never fired, or listened to Slack direct messages,
    is switched off as "Needs a channel". A 1:1 Teams chat starts no trigger;
    /run still works there.
  • Workflows: agents post, read, edit and delete chat messages only in
    channels connected to the company and in the thread their run came from. When
    Slack rate-limits the app, chat_* tools answer rate_limited with
    retry_after instead of a plain failure.
  • Integrations: Slack asks for channels:read and groups:read to show a
    connected channel's name, and users:read to name the app the way Slack
    completes a mention of it and to name who connected a channel. Operators: add
    them (and the channel_rename and group_rename events) to the Slack app, and
    set them in SLACK_SCOPES if you override it; each workspace reinstalls the
    app once to pick them up.
  • Company settings: in an AWS Marketplace installation a company has at
    least 3 workers. A new company starts at 3, and a lower number is refused; a
    company that already has fewer keeps them until its number is changed.
  • Overview: the project's "Total Spend" card is now called "Token Cost" —
    it shows what the tokens agents consumed cost, not everything you spend.

Fixed

  • Tasks: agents can attach files of several megabytes to a task, and an
    attachment no longer slows other agents down. Reading a file out of an agent's
    container cost seconds of server CPU per megabyte, so a file over about 4 MB
    timed out unattached, and every tool call served alongside it waited.
  • Admin: a super admin can sign out. Every admin page has a Sign out
    button that ends the session and returns to the admin sign-in; before, the
    admin had none, and a sign-out request sent a super admin back into the admin
    still signed in. Back to app now shows only while impersonating someone.
  • Repositories: an agent's first commit no longer fails with "Author
    identity unknown" on GitHub, GitLab, Bitbucket or Azure DevOps. Every agent
    commit is authored and committed by Aixle Flow with the address
    noreply@<DOMAIN> of your deployment, instead of a name the agent chose.
  • Triggers & gates: an agent can gate a task on a GitLab merge request's
    pipeline without help. pull_request_checks now returns the merge request's
    head pipeline with its id, which gitlab_pipeline_completed takes, and links
    each CI job to its job page instead of leaving the link empty.
  • Admin: Permanently delete on a user's page works again. It was refused
    with "a database constraint prevented removal" for anyone who had signed in
    since sign-in methods began to be recorded per session.
  • Sign-in & onboarding: signing in no longer fails with a server error once
    one of your earlier sessions ended more than 30 days ago.
  • Admin: in the dark theme, form fields stay dark after moving between
    admin pages; they turned white with light grey text, so typed values were
    barely readable. The "No limit — unbilled" badge and the permanent-delete
    section on a user's page follow the theme as well.
  • Admin: the buttons at the top of a record's page fit the page when its
    name is long. On a user with a long name and email, "Destroy" overlapped the
    edit button and "Sign out everywhere" ran off the right edge.
  • Profile: a personal MCP token that none of your companies accepts now
    answers with an error telling you to sign in and regenerate it, instead of
    empty company and project lists.
  • Profile: an operator impersonating someone can no longer regenerate or
    disable that person's personal MCP token. A token issued that way reached
    none of their companies, and replacing it cut off their own clients.
  • Tasks: the board settings gear stays with Bulk, Collapse all and Activity
    at the right of the filter row instead of dropping onto a line of its own.
  • Workflows: Run workflow no longer offers Fully automatic when a
    session has Auto-run available turned off: the option is greyed out, says
    how many sessions need input and names them on hover, and the drawer starts
    in Interactive instead. A Custom run can no longer start such a session
    automatically, whether from the drawer or the API.

Images

Published as ghcr.io/aixlehq/flow-<name>:1.6.0: flow-web, flow-otlp-ingest, flow-agent-base-core, flow-claude-code, flow-cursor-cli, flow-codex, flow-gemini-cli, flow-antigravity-cli, flow-grok, flow-kiro-cli. Web 1.6.0 launches the agent images of the same version.

What's Changed

  • docs(research): feature flags system design by @aixle-com[bot] in #525
  • docs(research): feature flags are platform-only by @aixle-com[bot] in #527
  • feat(feature-flags): registry, resolver and Feature facade (1/7) by @aixle-com[bot] in #526
  • fix(mcp): refuse token changes while impersonating; error on a token no company accepts by @artempartos in #528
  • feat(capacity): give every AWS Marketplace company at least 3 workers by @artempartos in #531
  • fix(board): keep the board settings gear on the toolbar row by @dvislov in #524
  • fix(admin): preload company session limits on the companies index by @Hitin in #523
  • feat(overview): rename Total Spend card to Token Cost by @artempartos in #532
  • fix(admin): keep form fields dark after a Turbo visit by @artempartos in #533
  • fix(admin): keep record header actions inside the page by @artempartos in #534
  • fix(workflows): disable Fully automatic when a session has auto-run off by @Hitin in #529
  • feat(feature-flags): storage, snapshot store and cache invalidation (2/7) by @aixle-com[bot] in #530
  • feat(feature-flags): admin pages, writes and audit (3/7) by @aixle-com[bot] in #536
  • fix(sessions): preload session_admission in session_list MCP tool by @Hitin in #542
  • fix(deps): weekly dependency batch — inertia_rails 3.23, mcp 1.8, Sentry 11.8, Mantine 9.7.3, prosemirror-view advisory by @artempartos in #543
  • fix(auth): delete session proofs with their session by @artempartos in #544
  • fix(pull-requests): return the GitLab head pipeline from pull_request_checks by @artempartos in #546
  • fix(sessions): commit as the deployment's bot in every agent session by @artempartos in #545
  • feat(chat): channel-bound chat triggers; share a Slack workspace or Teams tenant among companies by @artempartos in #537
  • fix(admin): let a super admin sign out by @artempartos in #547
  • fix(runtime): read pod exec output in chunks, not byte by byte by @artempartos in #549
  • chore(release): 1.6.0 by @artempartos in #550

Full Changelog: v1.5.0...v1.6.0