Skip to content

Changelog

Selected shipped changes and the reason behind them. This page is updated when release notes are prepared; it is not a complete deployment log.

  1. docs

    Marketing site SEO/AEO/GEO overhaul

    • · Built 8 new pillar pages: pricing, active-table, smart-columns, mcp, security, about, glossary, changelog
    • · Added 4 honest comparison pages: vs Clay, Airtable, n8n, Zapier
    • · Schema.org overhaul: @id entity-graph, Speakable spec for AI search, removed deprecated FAQPage and fake aggregateRating
    • · Hardened security headers (CSP, COOP, CORP), AI-crawler robots.txt, redirected app routes 301
    • · Added llms.txt-style structured content for AI search engine citation
  2. fix

    Production audit hardening

    • · Fixed 14 P0/P1 issues from production readiness audit
    • · Tightened tenant isolation, validated all external inputs, hardened webhook ingestion
    • · Removed legacy continue-on-error from CI deploy.yml for new lint issues only
  3. perf

    Batch-aware webhook ingestion

    • · Webhook handler now does O(1) DB queries per batch instead of O(N) per record
    • · Reduced per-record database query amplification on supported batch payloads
  4. feat

    Ops-centric consumption widget

    • · Dashboard now shows ops used / ops remaining instead of dollar estimates
    • · Aligns with how customers think about spend at the smart-column level
  5. feat

    Record-DAG execution engine

    • · Smart columns now declare deps via {{template}} refs, DAG built automatically on column mutations
    • · Per-record waterfall execution: A → B → C → D in topological order
    • · Cross-record parallelism is bounded at 5 on Free; paid-plan capacity remains planning information
    • · Cycle detection at build time with named-cycle errors
    • · Cascade-on-edit: editing a cell auto-recomputes downstream cells
  6. feat

    Enterprise virtual scrolling (AG Grid pattern)

    • · Record-ID index endpoint with viewport-driven block cache (100 records/block)
    • · LRU eviction and virtualized rendering keep browser memory bounded to the active cache
    • · Actual load time and supported size depend on record width, network, and current plan limits
  7. feat

    Extract column kind

    • · New 8th column kind: pulls a JSON field from upstream smart column with zero API cost
    • · Source column ID auto-wired as DAG dep, runs immediately after source completes
    • · Common pattern: explode a single Clearbit/ZoomInfo response into per-field columns
  8. security

    P0 security hardening pass

    • · Per-user Turso DB now enforced, no system-DB fallback
    • · Turso auth tokens AES-256-GCM encrypted in _ht_users.turso_db_token
    • · MCP calls use authenticated UserContext plus tenant and workspace routing controls
    • · Distributed rate limiting via Cloudflare Durable Objects (RateLimiter)
    • · Security and activity audit records for covered key, MCP, authentication, and workspace events
    • · JWT verification via Web Crypto API (zero npm deps)
    • · Retired user-deployed Functions from the current product surface

Try the latest

All updates roll out automatically. Public beta access.

open app →