Skip to content

Releases: roypulseai/kelpmesh

v1.0.9

Choose a tag to compare

@roypulseai roypulseai released this 01 Jul 14:12

Extract studio into separate kelpmesh-studio package (freemium model)

v1.0.8

Choose a tag to compare

@roypulseai roypulseai released this 01 Jul 08:38

What's New

Studio Redesign

  • Complete UI overhaul with Catppuccin Mocha dark theme
  • 3-column layout with model sidebar, search/filter, 5 tabs (Overview, Models, DAG, Tests, History)
  • Interactive DAG with SVG rendering, clickable nodes, bezier edges, arrow markers
  • Rich model detail panel with upstream/downstream chips and test results view
  • Run/plan/test toolbar and stat cards

VS Code Extension Enhancements

  • Tree view now groups models by materialization type (Views/Tables/Incremental/Snapshots/Python)
  • Interactive DAG webview with color-coded nodes and search filter
  • Rich lineage view with toggleable Cards/DAG/Both modes
  • Model documentation viewer (columns, types, descriptions, tags)
  • Model source SQL viewer in side tab
  • Enhanced CodeLens: Build, Docs, Lineage added
  • Status bar shows live model count
  • Version bumped to 1.0.8

Bug Fixes

  • \kelpmesh init \ creates correct subdirectory
  • \is_incremental()\ works bare (no Jinja braces)
  • Python models pass \dbt\ and \session\ proxies
  • All StateEngine read methods properly locked
  • Encryption docs corrected to Fernet (AES-128-CBC + HMAC-SHA256)
  • Invalid base64 keys rejected with clear error message
  • \sanitize_name()\ called in preview, test, and diff engines
  • \security classify --table\ fetches real columns
  • \ est --generate\ suggests \kelpmesh-expectations\ when empty

v1.0.7 — Rename kelpmesh-core to KelpMesh

Choose a tag to compare

@roypulseai roypulseai released this 30 Jun 19:38

1.0.7

Changed

  • Renamed PyPI package from kelpmesh-core to KelpMesh — aligns PyPI name, CLI, and Python import
  • Removed kelpmesh_core shim (third confusing name)
  • Updated all docs, CI templates, README, conda recipe, VS Code / JetBrains guides

Fixed

  • Added Windows PATH auto-fix PowerShell snippet to installation docs

Migration

  • pip install KelpMesh replaces pip install kelpmesh-core
  • import kelpmesh replaces import kelpmesh_core

v1.0.6 — dbt migration overhaul

Choose a tag to compare

@roypulseai roypulseai released this 30 Jun 16:38

1.0.6 — dbt migration overhaul + field-test fixes

Fixed (field-test feedback from jaffle-shop migration)

  • CTE parser false circular dependencies — CTE aliases no longer create outgoing dependency edges; prevents false cycle detection when a CTE name collides with a real model name
  • .sql seeds don't create tables — bare SELECT seed files now auto-wrapped in CREATE OR REPLACE TABLE
  • Jinja macros not converted during import — auto-translates cents_to_dollars, dbt.date_trunc, dbt_utils.generate_surrogate_key, safe_divide, is_incremental, dbt_date.get_base_dates
  • Materialization configs not preserved — parses dbt_project.yml per-folder +materialized: configs; emits -- materialized: headers
  • SchemaYaml empty after import — scans ALL .yml/.yaml files with models: or sources: key
  • compare --dbt silent failure — pre-flight check for dbt target/ directory
  • preview rendering on Windowslegacy_windows=False for proper grid rendering
  • security classify --table — added --table/-t option alias
  • Windows state DB file lock — retry with sleep in kelpmesh clean

Added

  • 12 new dbt_compat runtime macros (44 total): cents_to_dollars, dollars_to_cents, dbt_current_timestamp, dbt_type_string/numeric/bigint/int/timestamp/date/boolean/float
  • Interactive kelpmesh migrate wizard — scans, reports, confirms, imports, generates report
  • --compat dbt flag for kelpmesh init — dbt-style directory layout (staging/marts/intermediate)
  • Migration reportMIGRATION_REPORT.md auto-generated after import
  • CSV seed preservation — original .csv files kept alongside .sql wrappers
  • Schema YAML + sources preservation — copied into output project
  • Migration docs rewrite — macro translation table, wizard usage, comparison instructions

Full changelog: https://github.com/roypulseai/kelpmesh/blob/main/CHANGELOG.md
Docs: https://roypulseai.github.io/kelpmesh/
PyPI: pip install kelpmesh-core==1.0.6

v1.0.5

Choose a tag to compare

@roypulseai roypulseai released this 30 Jun 11:07

1.0.5 (unreleased)

Added

  • Python model documentation and legacy Jinja macros support in user guide
  • Enhanced L002 lint messages for better model/source/seed identification
    • Source tables: use source('source_name', 'table_name') instead
    • Seed tables: use source('seeds', 'table_name') instead
    • Unknown tables: use ref('table_name') instead

Fixed (1.0.4 fixes incorporated)

  • Timing display: show <0.01s instead of 0.00s for sub-millisecond models (run, build, history)
  • DuckDB init template: added warehouse.path so seed data persists across runs
  • Linter L002-L010: skip seed/source files to eliminate false positives
  • State DB lock: close defer state engine in Executor.run() finally block
  • Preview: column headers no longer truncated (overflow=fold)
  • DuckDB pool semaphore leak: release() always decrements semaphore
  • CLI tables: added overflow=fold to Notes, Upstream, Downstream, Description, Detail, Message, Command columns

v1.0.4

Choose a tag to compare

@roypulseai roypulseai released this 30 Jun 09:45

v1.0.4

Fixed

  • Timing display: show <0.01s\ instead of \

kelpmesh-core v1.0.3

Choose a tag to compare

@roypulseai roypulseai released this 30 Jun 09:05

See CHANGELOG.md for details.

kelpmesh-core v1.0.2

Choose a tag to compare

@roypulseai roypulseai released this 29 Jun 20:06

Production readiness fixes: import aliases, constructor defaults, all, exception hierarchy, import leak cleanup.

kelpmesh-core v1.0.1

Choose a tag to compare

@roypulseai roypulseai released this 29 Jun 19:41

Bugfix release: CI fix, test fixes, lint cleanup.

kelpmesh-core v1.0.0

Choose a tag to compare

@roypulseai roypulseai released this 29 Jun 19:36

Initial stable release of kelpmesh-core.