Major features and improvements
- Added optional parameter validation that uses type hints of parameter inputs to auto-validate and instantiate Pydantic models/dataclasses with no impact on untyped parameters.
- Added
list_versions()method for versioned datasets to list available dataset versions. - Added
pipelines_to_findparameter tofind_pipelines(), allowing users to selectively run a subset of existing pipelines by modifying the pipeline registry. - The CLI
--checkoutflag can now be used on a new Kedro project from the default template, without a starter. - Added
SESSION_CLASSas a configurable project setting, allowing users to define a custom KedroSession subclass
Bug fixes and other changes
DataCatalog.load()andDataCatalog.save()now raise aDatasetErrorthat includes the dataset name for easier debugging.- Aligned the run data passed to
before_pipeline_run,after_pipeline_run, andon_pipeline_errorand the schema specified in the hooks specs. - Fixed a path traversal vulnerability in versioned dataset loading that could allow unauthorized file access via unsanitized version strings.
- Fixed remote code execution vulnerability in the logging configuration.
- Removed the
cachetoolsdependency and replaced it with a lightweight internal caching implementation. - Added a warning when a node returns a value but is defined with
outputs=None, clarifying that the return value is ignored. - Added
preserve_loggingflag toconfigure_project()to prevent runtime-added logging handlers from being overwritten whenconfigure_project()is called after custom handlers have been attached (e.g. in a long-running server process such as FastAPI). - Added util method
find_config_file()to handle different config file extensions (.yml, .yaml) - Added reusable suggestion functionality for mistyped pipeline names using
kedro run - Added a fix for
CatalogConfigResolversplitting sqlalchemy URL during pattern resolution.
Documentation changes
- Added parameter validation documentation covering Pydantic model and dataclass support for typed parameters.