Skip to content

Releases: pomelohq/pomelo

v0.8.9

Choose a tag to compare

@github-actions github-actions released this 08 Oct 20:35
3c09838

Changed

  • A browser opening a service that is starting, stopped or not answering gets a page saying what is wrong and how to start it, and it reloads by itself once the service is up. (#232)

Fixed

  • Markdown preview tables size their columns to the content and wrap cell text, instead of running text into the next column. (#231)

What's Changed

  • Bump taiki-e/install-action from 2.87.22 to 2.87.25 in the actions group by @dependabot[bot] in #230
  • Wrap Markdown table cells inside their columns by @toantran292 in #231
  • Show a page that explains a proxy error and reloads when the service answers by @toantran292 in #232

Full Changelog: v0.8.8...v0.8.9

v0.8.8

Choose a tag to compare

@github-actions github-actions released this 05 Oct 22:06
ae0ef43

Added

  • Drive Pomelo from the keyboard: context menus, the file tree, the Git, Services and Database panels and the Settings window move with arrows, Enter and Escape. (#218, #219, #221, #222, #225)
  • ctrl-tab switches to recent tabs, cmd-alt-up / cmd-alt-down to the previous or next workspace, and cmd-alt-a to one whose agent waits for you. (#220)
  • Answer agents and notices from the keyboard: cmd-k y / cmd-k n allow or deny, cmd-k o takes over, cmd-k enter runs a notice's action. (#223)
  • Close tab sets (cmd-alt-t, cmd-k e / t / u), move between regions with cmd-k tab and cmd-escape, and see each button's key in its tooltip. (#224)
  • Vim mode (Settings > Keymap): Normal, Insert and Visual modes, motions, operators, registers, . repeat, search, and vim keys in panel lists. (#226, #227, #228, #229)

What's Changed

Full Changelog: v0.8.7...v0.8.8

v0.8.7

Choose a tag to compare

@github-actions github-actions released this 02 Oct 15:37
395cbd3

Added

  • Settings > Agents > Open Agents In: open agents as a tab next to your code instead of in the agent dock. (#217)

What's Changed

Full Changelog: v0.8.6...v0.8.7

v0.8.6

Choose a tag to compare

@github-actions github-actions released this 02 Oct 03:41
6afa667

Added

  • Database snapshots for a workspace: pom db snapshot, restore, snapshots and snapshot drop cover every database at once; a restore stops and restarts the workspace's services. (#210)
  • prepare-main keeps a main__baseline and new workspaces copy from it without disconnecting main, then keep a ws__baseline; pom db baseline and pom db reseed rebuild them, also as MCP tools. (#211)
  • Service healthchecks (healthcheck: http | cmd), pom start --wait and pom status -o json with up, ready and healthy. (#213)
  • pom mark with pom logs --since and pom db stats --since to read one test step's logs and queries, repeated queries included; describe workspace and env ls print JSON. (#214)
  • pom queue wait-idle and queue counts for Sidekiq and BullMQ queues in the workspace's Redis. (#215)
  • pom proxy fault add injects errors and delays into one workspace's proxied requests, with rules that expire. (#216)

Fixed

  • Redis slots are kept per project, a released slot's data is cleared, slots of workspaces deleted by hand are reclaimed, and unused Redis containers go away; one Redis now holds 64 workspaces. (#212)

What's Changed

  • Snapshot and restore every database of a workspace by @toantran292 in #210
  • Start workspaces from main__baseline and keep a ws__baseline by @toantran292 in #211
  • Wait for services to be ready and report it as JSON by @toantran292 in #213
  • Keep shared slots per project and empty a slot before it is reused by @toantran292 in #212
  • Mark a test step and read back its logs, queries and addresses by @toantran292 in #214
  • Wait for a worker's job queue to drain by @toantran292 in #215
  • Inject faults into a workspace's requests through the dev proxy by @toantran292 in #216

Full Changelog: v0.8.5...v0.8.6

v0.8.5

Choose a tag to compare

@github-actions github-actions released this 01 Oct 22:21
900d5f5

Added

  • pom agent lets scripts, orchestrators and other agents drive the coding agents of one workspace: start, send, wait, ask, read, watch, interrupt, approve, take over and release, with stable JSON and exit codes. (#202, #203, #204, #205, #208)
  • Agents get agent_* MCP tools to list and message the other sessions of their own workspace, with limits on rate and depth. (#206)
  • A workspace policy (agents.policy in pom.yml) can allow, deny or ask before each tool call an agent makes; a failing policy denies. (#202, #204)
  • An agent tab shows who drives it with Take over, lists pending approvals with Allow / Deny, and the workspace dot reflects every session. (#207)
  • Every language has its own file icon in the file tree, tabs and language picker, and .env, Dockerfile, Makefile and git message files get one by name. (#201)

Fixed

  • Two agent sessions in one workspace, or the same branch in two projects, no longer overwrite each other's state. (#202)
  • Skills that run their own scripts work in agent tabs. (#209)

What's Changed

  • Give every language its own file icon by @toantran292 in #201
  • Keep agent state per session, tell agents from operators, and ask a workspace policy by @toantran292 in #202
  • Read an agent's turns from its transcript, and drive it through a per-CLI driver by @toantran292 in #203
  • Add pom agent ls, start, read, watch and stop, with hooks attached per session by @toantran292 in #204
  • Send, wait on, ask, interrupt and approve agent turns, with a lease on who drives by @toantran292 in #205
  • Give agents the agent_* MCP tools to work with the other sessions of their workspace by @toantran292 in #206
  • Show who drives an agent tab, take it over, answer its approvals, and dot every session by @toantran292 in #207
  • Fix what pom agent got wrong against a real agent by @toantran292 in #208
  • Let agents read the user's skills folder so skill scripts run by @toantran292 in #209

Full Changelog: v0.8.4...v0.8.5

v0.8.4

Choose a tag to compare

@github-actions github-actions released this 01 Oct 19:06
c2561da

Added

  • Pick the active file's language from the status bar, cmd-k m or the command palette ("Select a language..."); a language that comes as a package installs first. (#198)

Changed

  • Service tab controls light up on hover and press, and the pointer turns into a hand over them. (#199)

What's Changed

  • Pick the active file's language from the status bar by @toantran292 in #198
  • Light up service tab controls on hover and press, with a pointing hand by @toantran292 in #199
  • Pin one dependency feature set so every cargo command reuses one build by @toantran292 in #200

Full Changelog: v0.8.3...v0.8.4

v0.8.3

Choose a tag to compare

@github-actions github-actions released this 01 Oct 17:55
1ba62e2

Added

  • Agents can read the full pom.yml and template reference with the new config_reference MCP tool. (#195)

Fixed

  • Service URLs no longer end in "backend not reachable" while the service runs: every process now shares one port per service, the proxy follows the port the service really listens on (IPv4 or IPv6), and leftover port leases are cleaned up. (#197)
  • A stopped or still-building service now says so in the browser instead of "backend not reachable". (#197)
  • Resolving a port conflict restarts the services it moves. (#197)
  • Opening a high-resolution image no longer crashes or freezes Pomelo; it is shown scaled down with its original size in the tab. (#196)

What's Changed

  • docs_gen: Generate the settings and key bindings reference pages by @toantran292 in #191
  • docs_gen: Generate the pom CLI and MCP tools reference pages by @toantran292 in #192
  • docs_gen: Generate the languages and language servers reference pages by @toantran292 in #193
  • Make the pom.yml schema and variables docs match the code by @toantran292 in #194
  • Open large images without crashing or freezing by @toantran292 in #196
  • Document every pom.yml key and template in one place and generate the references from it by @toantran292 in #195
  • Keep one port lease per service and route to where it really listens by @toantran292 in #197

Full Changelog: v0.8.2...v0.8.3

v0.8.2

Choose a tag to compare

@github-actions github-actions released this 01 Oct 15:21
f9becdf

Added

  • After a crash at launch, Pomelo looks for a fixed release first and reopens windows without the tabs that crashed it, with Reopen Tabs. (#190)
  • Settings > General > Restore on Startup chooses whether the last session's tabs reopen. (#190)
  • A shared service can be a command (cmd:) run once for every workspace, like a mock auth server; agents start and stop it with the new shared_* tools. (#188)

Fixed

  • Symbols the Claude Code TUI draws as text, such as its line markers, showed as color emoji in the terminal. (#185)
  • Scrolling over a service tab's header scrolled its log. (#186)
  • Stop Agent in an agent tab's menu pinned the tab instead of stopping the agent. (#187)

What's Changed

  • Retry creating the DMG when the runner reports the volume busy by @toantran292 in #184
  • Draw symbols meant as text in a text font, not as color emoji by @toantran292 in #185
  • Give the tab menu's Pin Tab its own id by @toantran292 in #187
  • Scroll a service tab's log only from the log itself by @toantran292 in #186
  • Let a shared service be a command run once for every workspace by @toantran292 in #188
  • Let grammar download tests take turns with the install slots by @toantran292 in #189
  • Recover from a crash at startup and look for a fixed release first by @toantran292 in #190
  • Bump the actions group across 1 directory with 7 updates by @dependabot[bot] in #181

New Contributors

Full Changelog: v0.8.1...v0.8.2

v0.8.1

Choose a tag to compare

@github-actions github-actions released this 01 Oct 08:49
ec66699

Fixed

  • 0.8.0 quit as soon as a file opened: the release is now signed so language packages can run, and built-in languages no longer depend on them. (#183)

What's Changed

  • Sign releases so wasm grammars can run, and parse built-in grammars without wasm by @toantran292 in #183

Full Changelog: v0.8.0...v0.8.1

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 08:13
daf91b7

Added

  • Settings > Languages & Tools: turn language servers on or off and choose them per language. (#146)
  • The status bar lists the running language servers with their progress, and downloads missing npm servers. (#147)
  • Each file runs every server its language uses, each in its project's own folder (nearest Gemfile, package.json, Cargo.toml...). (#157)
  • Tailwind CSS and ESLint language servers for web projects. (#157, #168)
  • Ruby files run solargraph, or ruby-lsp when chosen in settings. (#155)
  • A Project Diagnostics tab lists every error and warning; open it from the status bar or Cmd+Shift+M. (#156)
  • Language server messages and questions show as notifications; a too-large Ruby workspace offers to switch to ruby-lsp. (#161)
  • View Logs for each language server, a notice with the install command when one is missing, and a note when it can't go to a definition. (#166)
  • Preview tabs: a single click in the file tree opens an italic preview that the next one replaces; edit or double-click to keep it. (#165)
  • Editors get a breadcrumb bar with search and editor controls, and an optional minimap. (#141, #142, #145)
  • Cursor shape, blink and animation, the multi-cursor modifier and reduce motion are settings. (#136)
  • Shared service tabs show the status, image, port, connection URL and users above their logs. (#170)
  • Rarely used languages (Kotlin, Swift, OCaml, Lua and 17 more) install their highlighting on first use and update themselves. (#175, #178, #182)
  • Stop an agent from its tab's menu, and choose what closing an agent tab does. (#135)

Changed

  • The app is about 30 MB smaller, now that rare languages' grammars are downloads. (#178)
  • Edit in settings.json opens the file in a Pomelo tab, and hand edits apply as soon as you save. (#158, #159)
  • Settings keep keys they don't know, so an older version no longer drops a newer version's settings. (#162)
  • Clicking another workspace's ticket switches to that workspace first; only the ticket status opens it. (#165, #171)
  • Long tab titles trail off, and file finder paths shorten to fit their row. (#163, #165)
  • Highlighting follows each grammar's own queries, and the editor's text size is set apart from the UI's. (#138, #140)
  • Status bar buttons can each be turned off in Settings, and every font setting sits under Appearance. (#139, #143)
  • Completions fade a long label's tail and show the details a server adds. (#151)

Fixed

  • The Start, Stop and Restart buttons of a service tab could stop responding. (#169)
  • Typing into the command palette went to the console of the tab under it. (#160)
  • Holding Cmd+V, Cmd+X or Cmd+Z stuttered instead of repeating smoothly. (#152)
  • Shift+click extends the selection, and Cmd+click follows a link on release instead of selecting it. (#153, #154)
  • Items of a submenu opened to the left could not be clicked. (#148)
  • Gitignored files showed a git gutter. (#150)
  • Indent guides drew over the gutter when the editor scrolled sideways. (#137)
  • A window moved to another display redraws at that display's scale. (#134)
  • Updates install by rename and say why an install failed. (#133)

What's Changed

  • auto_update: Install by rename and say why an install failed by @toantran292 in #133
  • Redraw at the new scale when a window moves to another display by @toantran292 in #134
  • Stop an agent from its tab's menu, and choose what closing its tab does by @toantran292 in #135
  • Keep indent guides out of the gutter when the editor scrolls sideways by @toantran292 in #137
  • Highlight code the way the grammars' own queries mean it by @toantran292 in #138
  • Add cursor shape, blink, animation, multi-cursor modifier and reduce motion by @toantran292 in #136
  • Keep the editor's text in its own size, apart from the UI font size by @toantran292 in #140
  • Toggle each status bar button in Settings, and apply them live by @toantran292 in #139
  • Gather every font setting under Appearance by @toantran292 in #143
  • Add a breadcrumb bar with search, selection and editor controls to editors by @toantran292 in #141
  • Add a minimap to editors, from Editor Controls by @toantran292 in #142
  • Keep the minimap smooth and let the editor's scrollbars be dragged by @toantran292 in #145
  • Apply a submenu's item under the submenu that owns it by @toantran292 in #148
  • Show no git gutter for ignored files by @toantran292 in #150
  • Add the Languages & Tools settings page by @toantran292 in #146
  • Show language servers in the status bar and download missing ones by @toantran292 in #147
  • Fade a completion's tail and show the detail a server resolves by @toantran292 in #151
  • Keep held edit keys drawing every frame by @toantran292 in #152
  • Extend the selection on Shift+click by @toantran292 in #153
  • Follow a Cmd+click link on release by @toantran292 in #154
  • Run solargraph for Ruby files by @toantran292 in #155
  • Add a project diagnostics tab by @toantran292 in #156
  • settings_ui: Open settings.json in an editor tab by @toantran292 in #158
  • Run several language servers per file, each in its project's folder by @toantran292 in #157
  • Apply hand edits of settings.json while the app runs by @toantran292 in #159
  • Show language server messages and questions as notifications by @toantran292 in #161
  • Type into the command palette over a console tab by @toantran292 in #160
  • Keep settings keys an app does not know when saving by @toantran292 in #162
  • Fit file finder paths in the row and give Ruby files an icon by @toantran292 in #163
  • Use plain sample strings in tests by @toantran292 in #164
  • Open files from the tree as preview tabs and trail off long tab titles by @toantran292 in #165
  • Give every tab its own block of toolbar ids by @toantran292 in #169
  • Cache our own crates in CI and rebuild only what changed by @toantran292 in #167
  • Add View Logs for language servers and say when one is missing or can't help by @toantran292 in #166
  • Run the ESLint language server for TypeScript, JavaScript and Svelte by @toantran292 in #168
  • Give shared service tabs the header, facts and logs of a service tab by @toantran292 in #170
  • Open a workspace's ticket in that workspace by @toantran292 in #171
  • editor: Look languages and grammars up in a registry by @toantran292 in #172
  • Load grammar packages as wasm, compiled off the UI thread by @toantran292 in #173
  • Build grammar packages in CI and prepare their release by @toantran292 in #174
  • Download, verify and install grammar packages, and suggest them for files by @toantran292 in #175
  • Carry every query and the editing config in grammar packages by @toantran292 in #176
  • Turn on grammar downloads with the grammars key and the published index by @toantran292 in #177
  • Move 21 grammars out of the app into downloadable packages by @toantran292 in #178
  • Harden the workflows and check the CHANGELOG before a release by @toantran292 in #180
  • Publish changed grammar packages from main and embed the published index in releases by @toantran292 in #179
  • Update installed grammar packages when a newer one is published by @toantran292 in #182

Full Changelog: v0.7.7...v0.8.0