What's new in v0.3.0
🎯 Deploy board — drag & drop
A new non-modal board under ⚙️ Crossplane ▸ 🎯 Deploy board (drag & drop).
Drag a Marketplace Configuration / Provider / Function from the palette onto one or more kube-context lanes, then press Deploy. Each drop installs into that context — so you can fan one package out to several clusters at once, with live per-drop status (⏳ queued → ⚙️ installing → ✅/❌).
Why it's more than a UI trick: every other install path in the app targets your current context. The deploy board is the one place that installs into an explicit context, so "roll this Configuration to dev, staging, and prod" becomes three drags and one click — no context switching.
🐛 Marketplace kind filter — fixed
The Upbound /v2/search API silently ignores its packageType filter and caps a page at 500 while the catalog is ~800 packages. As a result, browsing Configurations or Functions was actually showing the provider-dominated first page. up-tray now paginates the full catalog and filters by kind client-side (74 Configurations / 612 Providers / 104 Functions), caching it so listing all kinds is a single fetch. This also fixes the existing Browse Marketplace dialogs and server-side search.
🩹 Stability
- Fixed a SIGSEGV (use-after-free): menu rebuilds are now deferred while a modal dialog is open.
🌍 Internationalization
- Translated all v0.2.2 strings — including the entire Modelplane Getting Started Guide, which had been falling back to English — across all 16 locales.
- Added
tools/i18n_check.pyand a CI gate that fails the build on any missing translation key or broken%-placeholder.
Install: pip install up_tray-0.3.0-py3-none-any.whl
Translations are machine-generated following each locale's existing terminology; native-speaker review is welcome.
🤖 Generated with Claude Code