Repository navigation
Releases: pomelohq/pomelo
Releases · pomelohq/pomelo
Release list
v0.8.9
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
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-tabswitches to recent tabs,cmd-alt-up/cmd-alt-downto the previous or next workspace, andcmd-alt-ato one whose agent waits for you. (#220)- Answer agents and notices from the keyboard:
cmd-k y/cmd-k nallow or deny,cmd-k otakes over,cmd-k enterruns a notice's action. (#223) - Close tab sets (
cmd-alt-t,cmd-k e/t/u), move between regions withcmd-k tabandcmd-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
- Drive context menus with the keyboard by @toantran292 in #218
- Drive the file tree with the keyboard by @toantran292 in #219
- Switch tabs and workspaces from the keyboard by @toantran292 in #220
- Drive the Git panel from the keyboard by @toantran292 in #221
- Drive the Services and Database panels from the keyboard by @toantran292 in #222
- Answer agents and notices from the keyboard by @toantran292 in #223
- Close tab sets, move between regions and show keys in tooltips by @toantran292 in #224
- Drive the Settings window from the keyboard by @toantran292 in #225
- Add vim mode: the setting, Normal and Insert modes, motions by @toantran292 in #226
- Add vim operators, Visual mode, registers and repeat by @toantran292 in #227
- Search from vim mode with / ? n N * # by @toantran292 in #228
- Move through panel lists with vim keys by @toantran292 in #229
Full Changelog: v0.8.7...v0.8.8
v0.8.7
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
- Let agents open as a tab next to the code by @toantran292 in #217
Full Changelog: v0.8.6...v0.8.7
v0.8.6
Added
- Database snapshots for a workspace:
pom db snapshot,restore,snapshotsandsnapshot dropcover every database at once; a restore stops and restarts the workspace's services. (#210) prepare-mainkeeps amain__baselineand new workspaces copy from it without disconnecting main, then keep aws__baseline;pom db baselineandpom db reseedrebuild them, also as MCP tools. (#211)- Service healthchecks (
healthcheck: http | cmd),pom start --waitandpom status -o jsonwith up, ready and healthy. (#213) pom markwithpom logs --sinceandpom db stats --sinceto read one test step's logs and queries, repeated queries included;describe workspaceandenv lsprint JSON. (#214)pom queue wait-idleandqueue countsfor Sidekiq and BullMQ queues in the workspace's Redis. (#215)pom proxy fault addinjects 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
Added
pom agentlets 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.policyin 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
Added
- Pick the active file's language from the status bar,
cmd-k mor 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
Added
- Agents can read the full pom.yml and template reference with the new
config_referenceMCP 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
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
- @dependabot[bot] made their first contribution in #181
Full Changelog: v0.8.1...v0.8.2
v0.8.1
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
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