Skip to content

Releases: jamiequint/groundeffect

v0.5.6

07 Feb 02:14

Choose a tag to compare

Release v0.5.6

v0.5.5

06 Feb 23:29

Choose a tag to compare

  • Harden OpenRouter embedding requests and error handling\n- Truncate oversized embedding inputs and split failing batches adaptively\n- Cap searchable email body text used for embeddings to avoid giant payloads

v0.5.4

06 Feb 21:46

Choose a tag to compare

Release v0.5.4

v0.5.3

06 Feb 20:50

Choose a tag to compare

Release v0.5.3

v0.5.2 - Multi-tenant PostgreSQL Token Provider

12 Jan 06:52

Choose a tag to compare

New Features

  • Multi-tenant user_id support for PostgreSQL token provider
    • Add user_id and user_id_env config options for tenant isolation
    • Share a single groundeffect_tokens table across multiple users
    • Each user's queries filter by their user_id automatically
    • Backwards compatible: single-tenant mode works without user_id configured

Configuration

For multi-tenant deployments:

[tokens]
provider = "postgres"
database_url_env = "DATABASE_URL"
encryption_key_env = "GE_TOKEN_ENCRYPTION_KEY"
table_name = "groundeffect_tokens"
user_id_env = "USER_ID"

The table schema changes to PRIMARY KEY (user_id, email) when user_id is configured.

v0.5.1

12 Jan 06:40

Choose a tag to compare

Bug Fixes

  • Fix stale estimated_total_emails not being cleared after backfill completes
    • When backfill completed, the estimated_total_emails value was persisted in the database but never cleared
    • This caused the CLI to show misleading "emails_remaining" counts even when sync was up to date
    • The fix clears estimated_total_emails both when email sync is skipped and after it completes successfully

v0.5.0 - PostgreSQL Token Provider

12 Jan 04:12

Choose a tag to compare

What's New

PostgreSQL Token Provider

New optional feature postgres that enables storing OAuth tokens in PostgreSQL instead of the filesystem. This is useful for deployments where groundeffect runs in ephemeral containers (like Fly.io).

Features:

  • TokenProvider trait for pluggable token storage backends
  • FileTokenProvider wrapping existing KeychainManager (default)
  • PostgresTokenProvider with AES-256-GCM encryption at rest
  • HKDF-SHA256 key derivation from user-provided secret
  • Configurable table name for multi-tenant deployments

Configuration:

[tokens]
provider = "postgres"
database_url_env = "DATABASE_URL"
encryption_key_env = "GE_TOKEN_ENCRYPTION_KEY"
table_name = "groundeffect_tokens"  # optional

Build with postgres support:

cargo build --release --features postgres

Note: The default file-based token storage remains unchanged. The postgres feature is opt-in and requires the postgres feature flag at compile time.

v0.4.2 - Metal GPU & Memory Fixes

12 Jan 04:16

Choose a tag to compare

What's New since v0.3.9

Metal GPU Acceleration (macOS)

  • GPU-accelerated embeddings on Apple Silicon using Metal
  • Enabled by default on macOS for faster search indexing
  • Falls back to CPU if Metal is unavailable

Memory Leak Fix

  • Fixed memory leak in the embedding pipeline that caused gradual memory growth
  • Significant reduction in memory usage for large mailboxes

BGE Embeddings

  • Switched to BGE-base-en-v1.5 for improved search quality
  • Better handling of email-specific content

Sync Progress Tracking

  • Added progress indicators with date-filtered email counts
  • Better visibility into sync status

Installation

brew tap jamiequint/groundeffect
brew install groundeffect

Or upgrade:

brew upgrade groundeffect

v0.4.1

11 Jan 03:21

Choose a tag to compare

Fix Metal GPU memory leak

  • Add sync() call inside embed_batch() after GPU tensors are dropped to force Metal buffer pool cleanup
  • Reduce batch size from 128 to 32 to limit peak memory usage
  • Memory now stable at ~700MB instead of growing to 35GB+

SHA256: d8069edb5138c0c23228529ae1871b9d694d4da13c00c7bf1e50bfee714f7fd0

v0.4.0

11 Jan 02:27

Choose a tag to compare

v0.4.0

Features

  • Metal GPU acceleration enabled by default on macOS - Embedding generation now uses Metal GPU acceleration, providing significant speedup for email sync
  • Build script automatically enables:
    • metal feature on macOS
    • cuda feature on Linux with NVIDIA GPUs

SHA256

b9c99ae504fd800c4db3abd47122d4c52050b8cba37ade1c8ec05d1244f82bba