Skip to content

Releases: meltano/meltano

v4.0.8

17 Dec 19:50
Immutable release. Only release title and notes can be modified.
2b049aa

Choose a tag to compare

v4.0.8 (2025-12-17)

🐛 Fixes

  • #9688 Fixed typo in migration error message
  • #9687 Serialize nested date-time values in plugin configuration
  • #9669 Parse plugin logs coming out during meltano invoke

⚙️ Under the Hood

  • #9689 Use the Project.dirs API in more places

v4.0.7

09 Dec 02:51
Immutable release. Only release title and notes can be modified.
0ca687b

Choose a tag to compare

v4.0.7 (2025-12-09)

⚙️ Under the Hood

  • #9665 Remove dependency on click-didyoumean

📚 Documentation Improvements

  • #9675 Update meltano config examples to use new command syntax/order

📦 Packaging changes

  • #9673 Bump build requirement hatchling to 1.28.0

v4.0.6

20 Nov 00:02
Immutable release. Only release title and notes can be modified.
087fcfa

Choose a tag to compare

v4.0.6 (2025-11-19)

🐛 Fixes

  • #9637 Bump fasteners to 0.20

📚 Documentation Improvements

  • #9634 Fix command syntax in troubleshooting docs -- Thanks @visch!

v4.0.5

04 Nov 15:26
Immutable release. Only release title and notes can be modified.
71884e6

Choose a tag to compare

v4.0.5 (2025-11-04)

🐛 Fixes

  • #9626 Expand environment variables in mapping configuration

⚙️ Under the Hood

  • #9627 Use pattern matching to update the schedule in meltano schedule set

📦 Packaging changes

  • #9609 Remove unmaintained dependency flatten-dict

v4.0.4

31 Oct 17:09
Immutable release. Only release title and notes can be modified.
f43b680

Choose a tag to compare

v4.0.4 (2025-10-31)

🐛 Fixes

  • #9621 Handle stringification of nested date values in plugin configuration

v4.0.3

30 Oct 22:13
Immutable release. Only release title and notes can be modified.
b08ba04

Choose a tag to compare

v4.0.3 (2025-10-30)

🐛 Fixes

  • #9617 Default smart-open logs to the warning level and above
  • #9618 meltano el/elt now also supports log parsing

v4.0.2

29 Oct 01:52
Immutable release. Only release title and notes can be modified.
9cd2a79

Choose a tag to compare

v4.0.2 (2025-10-29)

🐛 Fixes

  • #9613 Auto-install plugin if existing virtualenv is broken

📚 Documentation Improvements

  • #9603 Add an admonition for psycopg2 and link to SQLAlchemy docs

v4.0.1

23 Oct 21:35
Immutable release. Only release title and notes can be modified.
46eb5a0

Choose a tag to compare

v4.0.1 (2025-10-23)

🐛 Fixes

  • #9600 Fetch plugin definition only once when locking plugins with meltano lock

⚙️ Under the Hood

  • #9599 Filter out urllib3 logs below the error level

v4.0.0

23 Oct 18:08
Immutable release. Only release title and notes can be modified.
f2abbbd

Choose a tag to compare

v4.0.0 (2025-10-17)

BREAKING CHANGES

  • #9525 Print fewer keys in the default console output
  • #9520 Rename subprocess logger to meltano.plugins.<stream>.<type>.<name> (split stdout and stderr streams into separate loggers)
  • #9493 Remove psycopg2 extra from the Docker images
  • #9477 Change order of positional arguments of meltano config subcommands
  • #9458 Remove start_date attribute from schedule

✨ New

  • #9583 Simplify how metrics are rendered with the console logger
  • #9582 Use a standard platform-dependent location to store Meltano logs
  • #9118 Support a requires_meltano key at the project level
  • #9576 Add validation to meltano state set command
  • #9570 Make meltano state get output compatible with meltano state set
  • #9572 Lower log level for symlink creation failure on Windows when not run as administrator -- Thanks @iamlorax!
  • #9571 Auto-lock plugin definitions
  • #9564 Add basic capabilities to mapper in JSON schema
  • #9565 Print installation error in a nice panel when using the console logger
  • #9554 Publish Python 3.14 Docker images
  • #9403 Add CLI version check warning system
  • #9542 And environment variables for meltano run options
  • #9535 New --timeout option for meltano run
  • #9534 Support meltano config test for loaders
  • #9521 Render exceptions parsed from structured logs
  • #9506 Parse structured logs coming from the Singer SDK
  • #9498 Log a more detailed reason for skipping a plugin's installation
  • #9494 Default to interactive settings flow when bare meltano config set command is invoked
  • #9484 Add meltano state edit to manually patch state -- Thanks @mahangu!
  • #9481 Slim Docker images
  • #9421 Customize meltano.yml YAML style with a user configuration file -- Thanks @mahangu!
  • #9412 Add meltano logs command for viewing job logs
  • #9183 Support custom .env paths
  • #9434 Make stream-only select patterns behave like stream.*
  • #9450 Add --clear option to select command

🐛 Fixes

  • #9566 Allow meltano upgrade package to run outside of a project directory
  • #9559 Update the error message when the executable is not found to use --plugin-type option
  • #9558 Remove deprecated plugin type positional argument from the CLI
  • #9557 Remove deprecated meltano lock --all flag
  • #9556 Removed meltano install - <plugin_name> support in favor of new meltano install <plugin_name>
  • #9552 Fix the error message when the state backend URI scheme is not known to Meltano
  • #9551 Do not display traceback for known errors
  • #9543 Correctly skip auto-installing plugins by fixing virtualenv fingerprint
  • #9524 Avoid reemitting noisy runner exception
  • #9510 Nuanced error detection for FileNotFoundError in plugin execution
  • #8810 Tap stream fields are now automatically selected when any subfield is selected
  • #9202 Make aiodocker an optional dependency
  • #9456 Honor disable_tracking setting

⚙️ Under the Hood

  • #9580 Move all project directory definitions to a new ProjectDirsService
  • #9581 Delay creation of installation log directory
  • #9573 Use logging calls for meltano remove events
  • #9578 Avoid deserializing state twice
  • #9569 Embed Hub client directly in lock service
  • #9553 Remove legacy warnings for configuration "profiles"
  • #9540 Remove redundant timeout log
  • #9538 Do not display traceback when timeout is exceeded
  • #9537 Simplify --timeout validation
  • #9512 Deprecate the --all flag of meltano lock and make it the default behavior
  • #9495 Standardize terminology usage from entity/attribute to stream/property
  • #9480 Avoid so much exception handling when finding a setting
  • #9479 Remove missing import handling for state backends now that they are loaded dynamically
  • #9478 Consolidate logs CLI logic into JobLoggingService
  • #9476 Raise a more specific exception when the configured state backend can not be found
  • Move PluginTypeArg to meltano.cli.params
  • #9467 Split state lookup and retrieval
  • #9466 Use slotted dataclasses
  • #9465 Dropped support for Python 3.9
  • #9457 Improve docstrings and test coverage for Singer catalog manipulation
  • #9438 Get package version from distribution metadata

📚 Documentation Improvements

  • #9544 Document how to upgrade Meltano
  • #9533 Better call out the differences between select and select_filter
  • #9492 Link to SDK target development docs
  • #9455 Sync Meltano core settings
  • #9597 Document usage of uv environment variables

📦 Packaging changes

  • #9555 Declare support for Python 3.14
  • #9550 Allow uv 0.9
  • #9513 Allow Click 8.3
  • #9596 Allow Rich 14.2
  • #9496 Restore support for Click 8.1
  • #9472 Require Click 8.2+ and use new generic click.Choice support
  • #9449 Pin core click and sqlalchemy dependencies to their minor versions

v4.0.0rc1

14 Oct 21:59
Immutable release. Only release title and notes can be modified.
aa1aaf4

Choose a tag to compare

v4.0.0rc1 Pre-release
Pre-release
chore: Release v4.0.0rc1 (#9568)

Bump changelog for release v4.0.0rc1

## Summary by Sourcery

Chores:
- Bump project version to 4.0.0rc1 in pyproject.toml, Commitizen config,
GitHub issue template, docs/package.json, and update lockfile

Co-authored-by: edgarrmondragon <16805946+edgarrmondragon@users.noreply.github.com>