Thanks to visit codestin.com
Credit goes to github.com

Skip to content

release: freeze v0.3.18 — version bump, lockfiles, changelog - #1084

Merged
debpalash merged 1 commit into
mainfrom
release/freeze-v0.3.18
Jul 11, 2026
Merged

release: freeze v0.3.18 — version bump, lockfiles, changelog#1084
debpalash merged 1 commit into
mainfrom
release/freeze-v0.3.18

Conversation

@debpalash

@debpalash debpalash commented Jul 11, 2026

Copy link
Copy Markdown
Owner

Freezes v0.3.18 for tagging: version 0.3.17 → 0.3.18 across frontend/package.json (source of truth) and its three mirrors + uv.lock/Cargo.lock, and promotes ## [Unreleased] to ## [0.3.18] — 2026-07-12 with the headline paragraph.

Ships #1081 (test-debt sweep), #1082 (HF endpoint auto-select), #1083 (one-click IndexTTS-2 install + the prefs write-race fix).

Verified: tests/test_app_version.py (6 passed, lockstep + tauri.conf derivation), bun install --frozen-lockfile clean (no bun.lock change needed).

After merge: tag v0.3.18 from main; AUTO_VERSION_BUMP is off so main holds at 0.3.18.

🤖 Generated with Claude Code

Summary

  • Bumped version 0.3.170.3.18 across frontend, backend, Python, Rust, lockfiles, and version mirrors.
  • Promoted the changelog to the dated 0.3.18 release, covering:
    • IndexTTS-2 one-click installation
    • Automatic Hugging Face endpoint selection
    • Serialized settings writes
    • CI coverage and release-guard improvements

Verification

  • tests/test_app_version.py — 6 tests passed
  • bun install --frozen-lockfile completed without modifying bun.lock

After merging, tag v0.3.18 from main; AUTO_VERSION_BUMP remains disabled.

@coderabbitai

coderabbitai Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The project version is synchronized at 0.3.18 across Python, backend fallback, frontend, and Rust metadata. CHANGELOG.md now contains a dated 0.3.18 release section with Added, Fixed, and CI subsections.

Changes

0.3.18 Release Alignment

Layer / File(s) Summary
Version and release metadata
pyproject.toml, backend/core/version.py, frontend/package.json, frontend/src-tauri/Cargo.toml, CHANGELOG.md
Version fields change from 0.3.17 to 0.3.18 (for example, pyproject.toml:7 and backend/core/version.py:27); the changelog replaces the unreleased section with the dated release and categorized entries.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 7 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title is release-focused but violates the required conventional-commit scope format and mentions a version bump instead of an issue reference. Change it to a conventional-commit title with scope and an issue reference, and avoid mentioning the version bump.
Description check ⚠️ Warning The PR description is informative but does not follow the required template sections, checklist, or type selection. Rewrite it with the template headings: Summary, Changes, Type, Testing, Checklist, and Release cadence, and fill the version-sync checklist item.
✅ Passed checks (7 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Cross-Platform Default Parity ✅ Passed Only version/changelog metadata changed; no runtime default-path or platform-specific behavior changed.
I18n Completeness (21 Locales) ✅ Passed HEAD diff only touches version/changelog/lockfiles; no frontend/src files changed, so there are no new/changed t() keys or hardcoded UI strings to audit.
Local-First Guarantee ✅ Passed Metadata-only diff: CHANGELOG.md:9-25 and version bumps in version.py:27, package.json:3, Cargo.toml:3, pyproject.toml:7, lockfiles; no new cloud/telemetry code.
Backward Compatibility ✅ Passed PASS: PR only bumps version metadata/changelog; no DB/schema or engine/model code changed. Existing SQLite bootstrap/migrations and HF cache completeness logic remain intact.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/freeze-v0.3.18

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint install failed. For unrecoverable errors, disable the tool in CodeRabbit configuration.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@greptile-apps

greptile-apps Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR freezes the v0.3.18 release metadata. The main changes are:

  • Promotes the Unreleased changelog section to v0.3.18.
  • Synchronizes the frontend, backend, Python, and Rust versions.
  • Updates the Cargo and uv lockfile package records.

Confidence Score: 5/5

This looks safe to merge.

  • No blocking issues found in the changed code.
  • The version-bearing manifests and lockfiles agree on 0.3.18.
  • The changelog heading matches the release workflow and parser formats.

Important Files Changed

Filename Overview
CHANGELOG.md Promotes the current entries to a dated v0.3.18 release section compatible with release extraction and in-app parsing.
backend/core/version.py Updates the frozen-backend fallback version to 0.3.18.
frontend/package.json Updates the application version source of truth to 0.3.18.
frontend/src-tauri/Cargo.toml Updates the Rust package version to 0.3.18.
frontend/src-tauri/Cargo.lock Updates the locked Rust package record to 0.3.18.
pyproject.toml Updates the Python package metadata to 0.3.18.
uv.lock Updates the editable Python package record to 0.3.18.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  P[frontend/package.json<br/>0.3.18] --> T[Tauri bundle version]
  P --> V[Vite app version]
  P -. lockstep .-> C[Cargo.toml and Cargo.lock]
  P -. lockstep .-> Y[pyproject.toml and uv.lock]
  P -. lockstep .-> B[Backend fallback]
  H[CHANGELOG v0.3.18] --> R[GitHub release notes]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart LR
  P[frontend/package.json<br/>0.3.18] --> T[Tauri bundle version]
  P --> V[Vite app version]
  P -. lockstep .-> C[Cargo.toml and Cargo.lock]
  P -. lockstep .-> Y[pyproject.toml and uv.lock]
  P -. lockstep .-> B[Backend fallback]
  H[CHANGELOG v0.3.18] --> R[GitHub release notes]
Loading

Reviews (1): Last reviewed commit: "release: freeze v0.3.18 — version bump, ..." | Re-trigger Greptile

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@CHANGELOG.md`:
- Around line 9-25: Add explicit “### Changed” and “### License” subsections to
the [0.3.18] changelog entry, placing them alongside the existing Added, Fixed,
and CI sections; use “None” for either subsection where no items apply, while
preserving the required release-section order.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 7f28bada-c40e-40d7-93ad-11a3ff748506

📥 Commits

Reviewing files that changed from the base of the PR and between ff56865 and 3874a6d.

⛔ Files ignored due to path filters (2)
  • frontend/src-tauri/Cargo.lock is excluded by !**/*.lock, !**/*.lock
  • uv.lock is excluded by !**/*.lock, !**/*.lock, !**/uv.lock
📒 Files selected for processing (5)
  • CHANGELOG.md
  • backend/core/version.py
  • frontend/package.json
  • frontend/src-tauri/Cargo.toml
  • pyproject.toml

Comment thread CHANGELOG.md
Comment on lines +9 to +25
## [0.3.18] — 2026-07-12

The self-sufficiency release. Two long-standing "works on my network / works after four terminal commands" walls came down: model downloads now find a reachable Hugging Face endpoint on their own (no more restricted-network first-run dead-ends), and IndexTTS-2 — previously the only engine that demanded a manual clone-venv-install ritual — installs itself with one click. Under the hood, a test-debt sweep hardened the suite that guards all of it.

### Added

- **IndexTTS-2 installs itself now — one click in Settings → Engines.** The emotion-controlled cloning engine used to demand four terminal steps (clone the repo, create a venv, `uv pip install`, set an environment variable); the row now has an Install button that does all of it — source fetch (git, with a no-git tarball fallback), an isolated venv that keeps its `transformers<5` away from the app, the ~6 GB model weights (via your configured/auto-selected Hugging Face endpoint), and configuration — with step-by-step progress, a disk-space check before anything is written, and resumable repair if anything is interrupted. The engine is usable the moment the job finishes, no restart; existing manual installs are detected and left untouched, and the manual steps remain as a collapsible fallback. The provisioner is parametrized so future sidecar engines (MOSS-v1.5, dots.tts, Confucius4) can reuse it. (#1083)

- **Model downloads now find a reachable Hugging Face endpoint on their own.** On networks where huggingface.co is blocked or slow (the class of first-run dead-ends behind #984), the app quietly probes the official endpoint and the hf-mirror.com community mirror, picks whichever actually works, remembers the choice, and re-checks only when a download fails or the pick goes stale — so a restricted-network first run reaches a working voice instead of a wall of connection errors. Anyone who already set a mirror (env var, pref, or Settings) stays exactly where they pointed: explicit choices are never auto-switched, and Settings → Models → Hugging Face mirror now shows the automatic pick with its measured latency plus a "Test again" button. Probes only touch the two download hosts — no geo-IP, no telemetry — and every download stays checksum-verified by `huggingface_hub` regardless of endpoint.
- **Model downloads now find a reachable Hugging Face endpoint on their own.** On networks where huggingface.co is blocked or slow (the class of first-run dead-ends behind #984), the app quietly probes the official endpoint and the hf-mirror.com community mirror, picks whichever actually works, remembers the choice, and re-checks only when a download fails or the pick goes stale — so a restricted-network first run reaches a working voice instead of a wall of connection errors. Anyone who already set a mirror (env var, pref, or Settings) stays exactly where they pointed: explicit choices are never auto-switched, and Settings → Models → Hugging Face mirror now shows the automatic pick with its measured latency plus a "Test again" button. Probes only touch the two download hosts — no geo-IP, no telemetry — and every download stays checksum-verified by `huggingface_hub` regardless of endpoint. (#1082)

### Fixed

- **Concurrent settings writes can no longer drop each other.** Two parts of the app saving preferences at the same moment (say, an engine install finishing while you change a setting) could silently lose whichever save landed first; preference writes are now serialized, with a regression test. Found and fixed as part of the IndexTTS-2 installer work. (#1083)

### CI

- **Test-suite debt sweep.** Exports coverage (26 new tests, which caught two real router bugs), fp16 default-dtype leak instrumentation, and a suite-order pollution class root-caused at its source — the checks that guard every release got stricter. (#1081)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Add the required Changed and License subsections before tagging.

The 0.3.18 section currently contains Added, Fixed, and CI, but the project release-note contract also requires ### Changed and ### License sections. Add them explicitly, using None where applicable.

As per coding guidelines, every tagged release must include ### Added / ### Fixed / ### Changed / ### License / ### CI subsections.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@CHANGELOG.md` around lines 9 - 25, Add explicit “### Changed” and “###
License” subsections to the [0.3.18] changelog entry, placing them alongside the
existing Added, Fixed, and CI sections; use “None” for either subsection where
no items apply, while preserving the required release-section order.

Source: Coding guidelines

@debpalash
debpalash merged commit 2a22952 into main Jul 11, 2026
16 checks passed
@debpalash
debpalash deleted the release/freeze-v0.3.18 branch July 11, 2026 20:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant