Skip to content

Releases: mloda-ai/mloda

🚀 Version 0.6.1

09 Apr 10:23

Choose a tag to compare

0.6.1 (2026-04-09)

✨ Features

  • add 7-day exclude-newer policy for supply chain security (#384) (0cf960f)
  • lazy-compatible FilterMaskEngine for DuckDB, SQLite, and Polars (#383) (992bcd4)

♻️ Improvements

  • split mask engine from filter module into feature-level com… (#385) (8ca0bdf)

🚀 Version 0.6.0

06 Apr 19:12

Choose a tag to compare

0.6.0 (2026-04-06)

🎯 Minor Release

✨ Features

  • add extensible FilterMask builder with plugin-based engine resolution (#378) (e5ba81d), closes #370
  • add FilterMask integration tests and add docs (#380) (abb73ef)
  • add public order() method to DuckdbRelation (#251) (#258) (1c974fb)
  • add Python 3.11, 3.12, 3.13 to CI test matrix (#325) (7f7a671), closes #307
  • allow FeatureGroup to override final_filters() (#366) (046fc5b)
  • detect filter column dtype mismatch when final_filters()=True (#373) (6795ce5)
  • export plugin_docs discovery functions from mloda.user (#246) (f6df7e0)
  • support run-time artifact mode resolution in prepare/run API (#345) (36982d3), closes #338
  • validate filter columns and document inline vs final filter semantics (#368) (5527fa6)

♻️ Improvements

🐛 Bug Fixes

  • add 'explanation' to PROPERTY_MAPPING metadata_keys filter (#253) (#259) (84e435e)
  • add context and guidance to opaque validation errors (#285) (#351) (9290804)
  • add dependency resolution example to README (#377) (d7a71bf), closes #372
  • add missing init.py files in plugin directories (#299) (#323) (596470f)
  • add ruff check to CI and switch ruff format to check mode (#340) (afb59fe), closes #308
  • add ruff UP006/UP007 rules to enforce modern typing syntax (#234) (#367) (cc0ef4f)
  • align _add_result_to_data() signature with common interface (#297) (#333) (06c38c0)
  • align DefaultOptionKeys.time_travel value with its name (#271) (#355) (1c815a4)
  • artifact lifecycle and clean up cfw rule sentinel(#255) (30a4cb6), closes #279 #279
  • clean up mkdocs.yml nav order, stale TODO, and missing search plugin (#292) (#344) (7dd7130)
  • consolidate sqlite test fixture naming to match duckdb pattern (#253) (#379) (ae30f35)
  • correct initialized_connection_object(s) typo in docs (#272) (#321) (4ac7568)
  • correct inverted validation condition in data-quality doc (#326) (9316025), closes #268
  • correct typos in docs, comments, and public API method names (#330) (bd43124), closes #266 #275 #276 #280 #287
  • drop misleading re-aliases from provider init.py (#262) (#320) (8cd96ec)
  • fix run_all docstring typo and document result ordering (#249) (5392b5b)
  • improve error message quality for data users (#248) (ac0954a)
  • initialize OtelExtender.wrapped before early return and remove test imports from docs (#304, #274) (#339) (7e358fd)
  • make FeatureName a str subclass, remove get_name() (#264) (#346) (6d51552)
  • make run_all and stream_all classmethods for subclass consistency (#267) (#347) (a99939f)
  • move misplaced comment before ClusteringFeatureGroup docstring (#289) (#324) (619d7e6)
  • move stream_all onto mlodaAPI as staticmethod (#269) (#342) (945d2bd)
  • override str and format on DefaultOptionKeys for consistent str() behavior (#359) (0097ffc), closes #353
  • remove dead PATTERN attribute and replace hardcoded "__" with CHAIN_SEPARATOR (#301) (#364) (751dd57)
  • remove need-help.md and fix grammar in error messages (#322) (778f4e1), closes #283 #282
  • remove setup.py with fragile TOML parser in favor of pyproject.toml ([#290](https://github.com/mlod...
Read more

🚀 Version 0.5.7

30 Mar 18:14

Choose a tag to compare

0.5.7 (2026-03-30)

✨ Features

  • add REQUIRED_WHEN conditional option support (#241) (91e5382)
  • add type constraint support to PROPERTY_MAPPING (#240) (d31dbd1)

🚀 Version 0.5.6

28 Mar 10:56

Choose a tag to compare

0.5.6 (2026-03-28)

✨ Features

  • add _resolve_operation helper to FeatureChainParserMixin (#242) (8090668)

♻️ Improvements

  • graduate DefaultOptionKeys out of experimental namespace (#238) (580abaf)

🔧 Miscellaneous

  • deps: bump requests in the uv group across 1 directory (#243) (11f5c49)

🚀 Version 0.5.5

24 Mar 06:47

Choose a tag to compare

0.5.5 (2026-03-24)

🐛 Bug Fixes

  • copy array for pandas 3.x (882d696)
  • enforce MIN/MAX_IN_FEATURES in FeatureChainParserMixin (#231) (caaf59b), closes #229
  • handle list-valued options in PROPERTY_MAPPING matching (#230) (95e2cd4), closes #228 #228

🚀 Version 0.5.4

21 Mar 18:35

Choose a tag to compare

0.5.4 (2026-03-21)

✨ Features

  • add order_by to DefaultOptionKeys enum (d8e09b0)
  • add SQL base compute framework with SQLite implementation (#224) (faee383)

🔧 Miscellaneous

  • add tool usage constraints to TDD agents (1481216)
  • dependency updates (d24d5c0)
  • deps-dev: update pip-audit requirement from <2.10.0 to <2.11.0 (99b68a0)

🚀 Version 0.5.3

15 Mar 03:11

Choose a tag to compare

0.5.3 (2026-03-15)

🐛 Bug Fixes

  • skip mktestdocs execution for discover-plugins doc examples (a98700b)

🔧 Miscellaneous

🚀 Version 0.5.2

15 Mar 02:30

Choose a tag to compare

0.5.2 (2026-03-15)

✨ Features

  • add datetime.date, datetime.datetime, and decimal.Decimal to type inference (881a339), closes #209
  • migrate from pip/tox to uv/tox-uv (389e0bd)

🐛 Bug Fixes

  • address PR review - restore settings entries, keep twine for publish (36e4542)
  • align devcontainer Dockerfile with mloda-registry pattern (023fdcd)
  • align release workflow with registry, clean up pyproject extras and Dockerfile (6ab1786)
  • compute relative path from base package root in PluginLoader for nested groups (8f8bf7c)
  • handle missing suffix() in _resolve_pinned_file for base class (5db6e85)
  • restore package=uv-editable, remove requires=tox-uv (de521c7)
  • restore requires=tox-uv, install tox-uv into tox env for devcontainer (3e62a62)
  • revert iceberg filter expressions from literal= to value= (000671a)
  • revert iceberg to positional args, add mypy override for unstable API (4dfec52)
  • use discriminators for join disambiguation in execution planner (#216) (e82289f)
  • use usedevelop and fix text_cleaning extra name (0fcbeb6)
  • use uv-editable package type to resolve text-cleaning extra (90cc892)

✅ Miscellaneous

  • add unit tests for _resolve_pinned_file suffix handling (e8491c9)

🚀 Version 0.5.1

14 Mar 18:31

Choose a tag to compare

0.5.1 (2026-03-14)

🐛 Bug Fixes

  • inject JoinSpec join columns without index_columns (#206) (c08062a)

📚 Documentation

  • clarify JoinSpec vs index_columns in error message and join docs (6f6ac62)

🔧 Miscellaneous

  • add no-agent-mention rule to CLAUDE.md (8510f81)
  • deps: update attribution for dependency bumps (ed3ec96)

🚀 Version 0.5.0

11 Mar 12:34

Choose a tag to compare

0.5.0 (2026-03-11)

🎯 Minor Release

  • make options required on match_subclass_data_access (696a13e)

✨ Features

  • add getitem and setitem to Options (747fc39)
  • add column_to_file hint to DataAccessCollection for CSV disambiguation (3997f3c)
  • add left_discriminator/right_discriminator to Link for same-class FG joins (8e52f97)
  • auto-load plugins on first use via lazy PluginLoader (ab3f55d)

🐛 Bug Fixes

  • avoid unnecessary os.fork in threading mode by only spawning MyManager for multiprocessing (54ace8a)
  • initialize manager in ExecutionOrchestrator.init to prevent AttributeError on early exit (f84cd58)
  • support multiple links on same compute framework (7063f30)

🔧 Miscellaneous