Skip to content

feat!: optimize startup and add Tauri SQLx profiler#9

Merged
f0rr0 merged 1 commit into
mainfrom
f0rr0/pglite-oxide-0-3-startup-tauri-sqlx
Apr 26, 2026
Merged

feat!: optimize startup and add Tauri SQLx profiler#9
f0rr0 merged 1 commit into
mainfrom
f0rr0/pglite-oxide-0-3-startup-tauri-sqlx

Conversation

@f0rr0

@f0rr0 f0rr0 commented Apr 26, 2026

Copy link
Copy Markdown
Owner

Summary

  • Release pglite-oxide as 0.3.0 with the optimized runtime path as the default.
  • Replace the old runtime asset layout with a zstd-compressed runtime archive plus an embedded prepopulated PGDATA template.
  • Add reusable runtime caching: in-process Engine/Linker/Module reuse, on-disk .cwasm caching, template manifest validation, and sinked WASI stdio by default.
  • Start the proxy through one interactive PGlite lifecycle instead of duplicating cluster setup work.
  • Harden the PostgreSQL proxy for split/coalesced frontend packets, SSLRequest, CancelRequest, and extended-query batching.
  • Add a real vanilla Tauri v2 + SQLx profiler example with conservative defaults and max_connections(1).
  • Modernize repo hygiene with prek, committed, release-plz trusted publishing, MSRV checks, feature-powerset checks, semver API checks, cargo-deny, actionlint, and GitHub branch-protection-friendly aggregate checks.
  • Streamline README/contributing/release/runtime docs and remove scratch/WIP docs.

Caching

  • Rust CI cache covers both the root crate target dir and the nested Tauri example target dir.
  • The latest CI log confirms the nested Tauri workspace resolves to examples/tauri-sqlx-vanilla/src-tauri/target and saved a cache for it.
  • Node setup uses npm cache keyed by examples/tauri-sqlx-vanilla/package-lock.json.
  • Workflow lint and cargo-semver-checks use their own action-level caches.

Validation

  • actionlint .github/workflows/ci.yml .github/workflows/release.yml .github/workflows/conventional-commits.yml
  • scripts/validate.sh pre-commit
  • Pre-push hook via git push --force-with-lease, which ran:
    • git diff --check
    • cargo clippy --all-targets --locked -- -D warnings
    • cargo test --all-targets --locked -- --nocapture
  • GitHub PR checks on latest pushed commit 2ef0837: all passed
    • Workflow lint
    • Rust checks (MSRV)
    • Feature powerset
    • Public API compatibility
    • Supply chain
    • Validate commit and PR title
    • Required checks

Release note

cargo package --locked --no-verify plus scripts/check-crate-size.sh --enforce now passes locally. The packaged crate is back under the crates.io limit; the latest dry run reported about 5.7MiB compressed.

@f0rr0 f0rr0 force-pushed the f0rr0/pglite-oxide-0-3-startup-tauri-sqlx branch from ca44b79 to e6cb2be Compare April 26, 2026 17:22
@f0rr0 f0rr0 changed the title Optimize PGlite startup and add Tauri SQLx profiler feat!: optimize startup and add Tauri SQLx profiler Apr 26, 2026
@f0rr0 f0rr0 force-pushed the f0rr0/pglite-oxide-0-3-startup-tauri-sqlx branch 13 times, most recently from 5c31cbc to 867fec7 Compare April 26, 2026 21:51
Release pglite-oxide 0.3.0 with the optimized runtime path as the default.

- use an embedded prepopulated PGDATA template and uncompressed runtime tar
- cache Wasmtime engines/modules and compiled .cwasm artifacts
- quiet WASI stdio by default and prefer Unix sockets where available
- harden proxy frontend framing for SSL, cancel, split/coalesced packets, and extended-query batching
- add a real Tauri v2 vanilla SQLx profiler example with release-mode workload reporting
- add repo hooks for Conventional Commits, pre-commit formatting, and pre-push validation
- streamline docs around the default path and template maintenance

BREAKING CHANGE: PgliteRuntimeOptions::default now selects the optimized embedded-template startup path, ensure_cluster requires runtime options, and runtime packaging uses the uncompressed pglite-wasi.tar asset.

Verification:
- cargo fmt --check
- cargo check
- cargo test -- --nocapture
- cargo package --allow-dirty --no-verify
- scripts/validate.sh pre-commit
@f0rr0 f0rr0 force-pushed the f0rr0/pglite-oxide-0-3-startup-tauri-sqlx branch from 867fec7 to 2ef0837 Compare April 26, 2026 22:04
@f0rr0 f0rr0 merged commit caa9996 into main Apr 26, 2026
9 checks passed
@f0rr0 f0rr0 deleted the f0rr0/pglite-oxide-0-3-startup-tauri-sqlx branch April 26, 2026 22:17
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