What's Changed
- Add 'me' MCP tool for user identity by @asim in #453
- Return 401 for unauthenticated wallet_balance by @asim in #454
- Add OAuth 2.1 with PKCE for MCP authentication by @asim in #455
- Add OAuth client management UI by @asim in #456
- Fix API Credentials page template by @asim in #457
- Fix OAuth issuer URL behind reverse proxy by @asim in #458
- Fix OAuth client secret exposed in URL params by @asim in #459
- Design coherence: remove emojis, standardise colours by @asim in #460
- Remove thinking label and remaining emojis from agent by @asim in #461
- Strip controls to edit/delete only by @asim in #462
- Add apps_test: real API testing instead of AI guessing by @asim in #463
- Full page apps: no iframe, native SDK, typed platform APIs by @asim in #464
- Add synchronous agent endpoint, MCP tool, and SDK function by @asim in #465
- Add error capture and eval to SDK by @asim in #466
- Agent workspace: bidirectional browser agent with exec by @asim in #467
- Fix workspace eval: async/await, strip code fences by @asim in #468
- Fix workspace planner: tools for data, exec for rendering by @asim in #469
- Fix workspace: always synthesise tool results by @asim in #470
- Fix workspace: iframe preview, step tracking by @asim in #471
- Don't save workspace sessions as agent flows by @asim in #472
- Workspace: tabs, save as app, better layout by @asim in #473
- Merge workspace into agent: exec, preview, save by @asim in #474
- Rename feedback to exec/result by @asim in #475
- Rename /agent/exec/result to /agent/exec by @asim in #476
- Remove workspace.go by @asim in #477
- Skip planner for build requests by @asim in #478
- /apps/slug serves the app directly by @asim in #479
- Fix broken app icons by @asim in #480
- Faster app builds, fix icons at save time by @asim in #481
- Fix app builder: correct response shapes, Opus by @asim in #483
- Fix mobile rendering, edit page launch/delete by @asim in #484
- Configurable slugs, app forking via MCP by @asim in #485
- SDK templates + auto-match for weather/markets/news by @asim in #486
- Use existing apps as templates in builder by @asim in #487
- Server-side app verification with auto-fix by @asim in #488
- Remove server-side auto-fix by @asim in #489
- App build 100 credits, edit 50 credits by @asim in #490
- Work task credit per step: 100 by @asim in #491
- Add missing costs to wallet page by @asim in #492
- Composite templates: dashboard, search, places, portfolio by @asim in #493
- Mu App framework, templates, static serving by @asim in #494
- Consolidated SDK + framework mode with blocks by @asim in #495
- Fix API credentials page mobile overflow by @asim in #496
- Real API sample responses in builder prompt by @asim in #497
- Fix app top bar overlapping content by @asim in #498
- Fix top bar overlap for 100vh apps by @asim in #499
- Minimal edits rule for app builder by @asim in #500
- Remove app top bar, full screen apps by @asim in #501
- Patch-based editing + app context for edits by @asim in #502
- Sonnet for edits (faster), Opus for builds by @asim in #503
- Auto-growing textarea for prompts by @asim in #504
- Spam actions on email detail view by @asim in #505
- JSON API for system logs by @asim in #506
- Mail search by @asim in #507
- Increase LLM timeout to 120s by @asim in #508
- Block /audio/ bot spam by @asim in #509
- Fix SMTP domain spoofing via forged From header by @asim in #510
- Fix SPF: handle -all hard fail and CIDR matching by @asim in #511
- Fix oversized app icons on profile page by @asim in #512
- Show own status in home list, fix mobile app icons by @asim in #513
- Claude/add wallet transfers 74 phc by @asim in #514
- Restore own status under date + keep in stream by @asim in #515
- Redesign home status as card with avatars by @asim in #516
- Compact single-row status entries by @asim in #517
- Skip digest regen on startup if already exists by @asim in #518
- Status: two-line layout with colored avatars by @asim in #519
- Increase status avatar to 32px by @asim in #520
- Pastel status avatars with outline by @asim in #521
- Fix avatar colors: no black fallback, better palette order by @asim in #522
- Mobile mail indicator in header, softer badge color by @asim in #523
- Status avatars: muted flat color with white letter by @asim in #524
- Fix avatar color: asim gets blue by @asim in #525
- Move status card into left column by @asim in #526
- Mail envelope icon + badge in mobile header by @asim in #527
- Overlay mail badge on envelope icon by @asim in #528
- Hide mail icon when no unread mail by @asim in #529
- Match envelope stroke to nav icon weight by @asim in #530
- Add share button to blog posts by @asim in #531
- Daily digest: inline source links by @asim in #532
- Add /wallet/pricing endpoint with JSON API by @asim in #533
Full Changelog: v0.18.0...v0.19.0