What's Changed
- Add a server audit log to Server settings by @NorbertBodziony in #4527
- Show all agent settings for an agent on a joined server by @NorbertBodziony in #4540
- build(nix): install OpenBot 0.59.0 by @github-actions[bot] in #4549
- Fix Kimi code sign-in and preserve login errors by @Sniezka1927 in #4572
- Show the server audit log on mobile by @nrb-dev in #4615
- Pin OpenCode 2.2.5 by @NorbertBodziony in #4617
- Keep the Dock icon after the window closes on macOS by @NorbertBodziony in #4618
- Sign in to Kimi with kimi.ai and add a kimi.com menu item by @NorbertBodziony in #4622
- Show the Vault request card on mobile and type private answers in the composer by @nrb-dev in #4623
- Count only unfinished tasks toward the agent task limit by @NorbertBodziony in #4625
- Make chat bubbles wider on big screens by @NorbertBodziony in #4626
- Show one working loader in the sidebar by @NorbertBodziony in #4628
- Show nested chat list folders on the phone as on the desktop by @nrb-dev in #4627
- Send production email through a relay Worker near the mail host by @NorbertBodziony in #4629
- Move to the backup model when a credit balance or quota is spent by @Sniezka1927 in #4634
- Keep the files of a Discord mention in GitHub outputs by @NorbertBodziony in #4633
- Show the progress of a remote attachment download by @NorbertBodziony in #4624
- Read theme palette files, such as an Omarchy theme by @NorbertBodziony in #4636
- Let agents in a direct chat give work to a channel by @NorbertBodziony in #4635
- Explain the server name minimum in the new local server dialog by @Sniezka1927 in #4638
- Start Cursor again when its process loses its sign-in by @Sniezka1927 in #4639
- Bring the desktop workflow features to the mobile app by @nrb-dev in #4641
- End a Gemini session process that asks for a sign-in by @Sniezka1927 in #4640
- Log why a message did not start by @Sniezka1927 in #4651
- Warn when another program changes app.asar while OpenBot runs by @Sniezka1927 in #4500
- Show felt plush avatars on mobile and fix photos in the Dynamic Island by @nrb-dev in #4650
- Show New chat in the message box before the context ring by @Sniezka1927 in #4654
- Show the last drawer values on mobile at start by @nrb-dev in #4652
- Show Markdown links in agent question cards by @Sniezka1927 in #4655
- Hold a failed model until the reset that its error names by @Sniezka1927 in #4660
- Open file links in messages from another agent in a direct chat by @Sniezka1927 in #4661
- Build the iOS release with Xcode 27.1 so the app fills iPhone Duo by @nrb-dev in #4663
- Show Fast mode, the instructions file and compact in the mobile app by @nrb-dev in #4662
- Let agents delete a webhook routine with delete_routine by @Sniezka1927 in #4664
- Count only the answer in generations without tools by @Sniezka1927 in #4666
- Give the real reason when an attachment path fails by @Sniezka1927 in #4669
- Use UTC for a Marketplace agent when the device time zone is unknown by @Sniezka1927 in #4668
- Stop long settings row values covering the row name by @Sniezka1927 in #4677
- Send Pi agents to Pi's tool_search for MCP tools by @Sniezka1927 in #4678
- Let phones create and open the servers on this computer by @nrb-dev in #4667
- Make "Author is not a bot" refuse every bot, OpenBot's too by @NorbertBodziony in #4683
- Release every recorded provider session when an agent is deleted by @Sniezka1927 in #4685
- Add hold to dictate in the mobile chat composer by @nrb-dev in #4682
- Close idle provider sessions while a message waits for memory by @Sniezka1927 in #4680
- Show the images of a mobile message as a stack of cards by @nrb-dev in #4684
- Show agent avatars only when their body is ready by @NorbertBodziony in #4686
- Show upload chips with progress and Retry for attached files by @Sniezka1927 in #4681
- Start mobile server connections before the account service answers by @nrb-dev in #4670
- Show Claude API retries in the chat by @Sniezka1927 in #4691
- Show SVG attachments as images in the mobile app by @nrb-dev in #4692
- Let a person give a channel a picture by @NorbertBodziony in #4679
- Show other people on the workflow canvas in Storybook by @NorbertBodziony in #4694
- Show the images of a sending mobile message as a stack at once by @nrb-dev in #4695
- Move the GitHub star toast buttons nearer to the corner by @NorbertBodziony in #4697
- Load the main window again when its renderer stops by @Sniezka1927 in #4698
- Keep the working dots clear of the message above by @NorbertBodziony in #4699
- Add Kimi and Hermes to mobile and move provider sign-in to its own page by @nrb-dev in #4700
- Keep channel context small and correct, and add isolated channel memories by @NorbertBodziony in #4702
- Keep phones quiet while the computer has input in any app by @nrb-dev in #4701
- Show an answered secret form as rows of its values by @NorbertBodziony in #4706
- Let the Gemini server open its sign-in page on Windows by @Sniezka1927 in #4707
- Let admins choose the models of each provider, and show older models under a fold by @NorbertBodziony in #4704
- Keep words whole in streamed Claude thinking by @Sniezka1927 in #4710
- Open the reply preview together with the composer by @nrb-dev in #4709
- Add Reply to side thread messages by @Sniezka1927 in #4713
- Open mobile message actions in a sheet on touch and hold by @nrb-dev in #4718
- Play the chosen notification sound on Android by @nrb-dev in #4724
- Add the WhatsApp client package without copyleft code by @Sniezka1927 in #4078
- Add a WhatsApp connector by @Sniezka1927 in #4079
- Open each file in its own side panel tab by @NorbertBodziony in #4723
- Offer the next plan when the disk of a hosted server is almost full by @NorbertBodziony in #4729
- Return the reason for a refused channel handoff to the agent by @Sniezka1927 in #4733
- Scroll the model picker provider rail when it is full by @Sniezka1927 in #4735
- Separate dictation from the voice mode button in the mobile composer by @nrb-dev in #4734
- Give the new agent faces open eyes and make them larger by @NorbertBodziony in #4739
- Refuse skills that use the name of an OpenBot managed skill by @Sniezka1927 in #4740
- Give the agent the embeds of a Discord message by @Sniezka1927 in #4741
- Add Branch from here to the mobile app by @nrb-dev in #4737
- Show that OpenBot is free for personal use on the site and in first run by @NorbertBodziony in #4742
- Put mobile Server settings into category pages by @nrb-dev in #4746
- Add Telegram triggers and outputs to workflows by @NorbertBodziony in #4743
- Add Arabic with a right-to-left layout by @NorbertBodziony in #4744
- Prepare the mobile app 1.4.6 by @nrb-dev in #4748
- Make the three most active developers code owners by @NorbertBodziony in #4749
- Add Slack as a workflow trigger and output by @NorbertBodziony in #4747
- Add the missing Arabic text for Telegram workflows on desktop and web by @NorbertBodziony in #4751
- Mark spent plan limits in the model picker by @NorbertBodziony in #4754
- Translate interactive cards to Polish by @Sniezka1927 in #4756
- Let same-email Claude and Codex accounts in different organizations connect by @NorbertBodziony in #4757
- Verify browser submission outcomes before reporting them by @NorbertBodziony in #4762
- Show a full-window plush loading screen on start and first server load by @NorbertBodziony in #4758
- Show the Kimi Code plan usage in Usage and the usage rail by @NorbertBodziony in #4763
- Stop the scroll inside a long confirm card draft by @Sniezka1927 in #4760
- Attach long pasted text as a text file by @NorbertBodziony in #4764
- Add company sign-in with Entra ID and other OpenID Connect providers by @NorbertBodziony in #4759
- release: prepare v0.60.0 by @NorbertBodziony in #4768
- Add a playback speed for replies that are read aloud by @NorbertBodziony in #4767
- release: add company sign-in notes to v0.60.0 by @NorbertBodziony in #4770
Full Changelog: v0.59.0...v0.60.0