

89b034b925
Release v0.51.232 — Release GZ (stage-q2) (#3485)
## Release v0.51.232 — Release GZ (stage-q2)
Two low-risk fixes batched into one release. All gates green.
### Fixes
| PR | Author | Fix |
|----|--------|-----|
| #3473 | @Mubashirrrr | Guard malformed/negative numeric query params on the cron endpoints (`/api/crons/output`, `/api/crons/recent`) — no more 500 on `?limit=abc`, no oldest-entry drop on a negative limit |
| #3480 | @koshikai | Translate 80 previously-untranslated Japanese (`ja`) locale strings (MCP controls, tool summaries, toasts) — interpolation placeholders preserved, no keys added/removed |
### Gate results
- **Full pytest suite**: 7446 passed, 7 skipped, 3 xpassed, **0 failed**
- **ESLint runtime gate**: CLEAN
- **ruff forward gate**: CLEAN
- **browser-smoke gate**: CLEAN (`/`, `/#settings`, `/#sessions` — zero console errors)
- **Codex (regression)**: SAFE TO SHIP (flagged a CHANGELOG endpoint-path typo `/api/cron/` → `/api/crons/`, fixed)
- **Opus (correctness)**: SAFE TO SHIP (flagged an inline-comment imprecision about which entries a negative slice drops — fixed in both the comment and CHANGELOG)
Co-authored-by: Mubashirrrr <Mubashirrrr@users.noreply.github.com>
Co-authored-by: koshikai <koshikai@users.noreply.github.com>
2026-06-03 09:24:51 -07:00
..
2026-03-31 07:02:47 +00:00
2026-06-02 18:56:25 -07:00
2026-05-28 00:51:12 +02:00
2026-05-28 13:38:50 -04:00
2026-04-24 01:24:51 +00:00
2026-05-30 19:40:40 +00:00
2026-05-11 17:53:02 +00:00
2026-05-28 13:38:06 -06:00
2026-06-02 20:58:22 -07:00
2026-05-19 21:35:10 -04:00
2026-05-02 03:49:40 +00:00
2026-06-02 19:42:14 +00:00
2026-04-29 19:54:07 -07:00
2026-05-10 15:21:24 +08:00
2026-06-02 17:33:49 +00:00
2026-05-24 18:26:56 +00:00
2026-05-04 21:26:43 +00:00
2026-06-02 17:35:18 -07:00
2026-05-07 02:47:19 +00:00
2026-05-15 08:51:30 +08:00
2026-05-25 00:14:38 +00:00
2026-06-01 05:05:16 +00:00
2026-06-02 03:58:02 +00:00
2026-06-01 18:38:39 +00:00
2026-05-30 02:18:06 +00:00
2026-05-08 15:37:08 +00:00
2026-05-01 17:19:53 +00:00
2026-06-03 09:24:51 -07:00
2026-06-01 20:07:16 +00:00
2026-05-31 17:49:26 +00:00
2026-05-21 17:43:54 +00:00
2026-05-28 17:47:33 +00:00
2026-05-20 08:18:56 -06:00
2026-05-17 05:04:57 -06:00
2026-05-25 21:21:15 +08:00
2026-05-20 23:43:30 +08:00
2026-05-27 20:57:32 +08:00
2026-05-01 12:10:48 +00:00
2026-06-01 17:20:17 +00:00
2026-06-02 22:48:35 -07:00
2026-05-05 17:30:56 +00:00
2026-05-25 20:45:17 +05:00
2026-06-02 17:33:49 +00:00
2026-05-30 11:15:35 +02:00
2026-06-02 17:33:49 +00:00
2026-06-02 16:56:30 -07:00
2026-05-19 02:27:12 -06:00
2026-05-20 11:02:45 +00:00
2026-06-03 09:13:01 -07:00
2026-05-13 09:49:15 +08:00