Image2Tools v0.2.0 (unsigned preview)
Pre-releaseImage2Tools v0.2.0 Release Notes
Status: unsigned preview prerelease. macOS and Windows artifacts are published for evaluation. macOS builds are ad-hoc signed and not Apple-notarized, so Gatekeeper may warn on first launch (right-click > Open, or remove the quarantine attribute). Developer ID signed and notarized distribution is tracked for a future release.
Highlights
- Multi-model workspace for GPT Image 2, Nano Banana 3, and General launch flows.
- Refined left sidebar with separate model configuration, launch model, parameter configuration, draft, notice, and update areas.
- Model configuration now runs automatic connection checks on startup and after saved API config changes. The UI shows connection status beside the model configuration title and surfaces friendly failure guidance.
- Model discovery can infer provider/model availability from the configured API and enables launch families based on discovered models rather than only the selected provider label.
- OpenAI provider path keeps GPT Image 2 generation, editing, exact-mask inpainting, streaming partial previews, downloads, and history.
- GPT Image 2 multi-output generation now uses non-stream requests when count is greater than one, backfills providers that return fewer images than requested, and shows selectable final-result thumbnails in the canvas.
- Gemini provider path adds the app's Nano Banana 3 launch target for discovered Gemini image models such as
gemini-3.1-flash-imageandgemini-3-pro-image, withgenerateContentimage generation, reference-image editing, guided-region editing, and Gemini-specific controls. - Launch model buttons now include concrete discovered-model choices when multiple compatible models are available under the same launch family.
- General launch mode is a minimal fallback for discovered non-focused image models. Gemini General supports prompt and reference images; OpenAI and Custom General use a prompt-only OpenAI-compatible
/images/generationscontract. - History entries now retain provider/model context so reused prompts restore the matching launch model and parameters.
- Clearing all recent-task history now requires explicit confirmation.
- Update checks now default to the raw GitHub manifest URL to avoid the previous GitHub Pages 404. The sidebar shows an automatic up-to-date status, saves the current draft before update launch, and starts the Windows NSIS installer in silent mode with app restart after installation.
Verification Gates
Before publishing v0.2.0, run:
pnpm build
pnpm verify:mock-api
pnpm verify:mock-gemini-api
pnpm verify:mock-model-discoveryOpenAI real API acceptance is cost-gated through:
IMAGE2TOOLS_API_KEY=sk-... IMAGE2TOOLS_REAL_API_ACCEPT_COST=1 pnpm verify:real-apiGemini / Nano Banana 3 real API acceptance is cost-gated through:
IMAGE2TOOLS_GEMINI_API_KEY=... IMAGE2TOOLS_REAL_GEMINI_API_ACCEPT_COST=1 pnpm verify:real-gemini-apiThe verifier covers discovery, generation, reference editing, and guided-region editing. Do not mark Gemini real acceptance complete until the verifier and app-level history/download checks pass with a real Gemini key.
Release package verification remains platform-specific:
pnpm verify:release:mac
pnpm verify:release:windows
pnpm verify:release:linuxRe-run the secret scan in SECURITY.md after every release-note or packaging metadata update.
The app package metadata is 0.2.0. For this unsigned preview, docs/updates/latest.json
publishes the darwin (arm64 dmg) and win32 (x64 installer) assets with verified URL,
sha256, and sizeBytes metadata generated from the exact uploaded artifacts. When
Developer ID signed and notarized macOS artifacts become available, regenerate the
manifest from the signed build and supersede this preview.
What's Changed
- Document multi-model v0.2 plan by @Bliveren in #71
- Stabilize Windows silent installer verification by @Bliveren in #75
- Add multi-model contracts and state migration by @Bliveren in #73
- Add Gemini image mock verifier by @Bliveren in #72
- Add expandable model-aware history panel by @Bliveren in #74
- Update multi-model progress checklist by @Bliveren in #76
- Extract OpenAI image provider adapter by @Bliveren in #77
- docs: update multi-model phase 3 progress by @Bliveren in #78
- Add Gemini image adapter runtime by @Bliveren in #80
- Add model discovery UI slice by @Bliveren in #79
- docs: update multi-model phase 2 and 4 progress by @Bliveren in #81
- Add Gemini renderer parameter controls by @Bliveren in #82
- docs: update Nano UI progress by @Bliveren in #83
- Add General fallback mode by @Bliveren in #84
- docs: update General fallback progress by @Bliveren in #85
- Add mock model discovery verifier by @Bliveren in #86
- docs: update multi-model release security docs by @Bliveren in #87
- Add renderer multi-model smoke tests by @Bliveren in #88
- Add provider-aware General fallback by @Bliveren in #89
- docs: sync multi-model smoke evidence by @Bliveren in #90
- docs: sync final General fallback status by @Bliveren in #91
- Add real Gemini API verifier by @Bliveren in #92
- Require explicit Gemini real API cost gate by @Bliveren in #93
- Add renderer UI acceptance smoke coverage by @Bliveren in #94
- Stage v0.2.0 release metadata by @Bliveren in #95
- Require update manifest asset sizes by @Bliveren in #96
- Add update manifest asset helper by @Bliveren in #97
- Add release evidence validation by @Bliveren in #98
- Guard release checklist evidence alignment by @Bliveren in #99
- Refresh completion audit for v0.2.0 by @Bliveren in #100
- Refresh multi-model plan status by @Bliveren in #101
- Link release evidence gates to trackers by @Bliveren in #104
- Clarify v0.2.0 release blockers by @Bliveren in #105
- Record Windows full-install evidence by @Bliveren in #106
- Record Windows native release completion by @Bliveren in #107
- Enable capability-based model launches by @Bliveren in #108
- Add model variants and robust Gemini image parsing by @Bliveren in #109
- Parse Gemini text data URL images by @Bliveren in #110
- Refine sidebar settings workflow by @Bliveren in #111
- Refresh README and release notes by @Bliveren in #112
Full Changelog: v0.1.0...v0.2.0