Skip to content

Releases: meltano/meltano

v4.2.2

Choose a tag to compare

@github-actions github-actions released this 22 Jul 15:52
83d3c7f

v4.2.2 (2026-07-22)

🐛 Fixes

  • #10190 Prevent include_paths from escaping project root (#10182)

v3.9.5

Choose a tag to compare

@github-actions github-actions released this 22 Jul 15:23
48859ec

v3.9.5 (2026-07-22)

🐛 Fixes

  • #10192 Prevent include_paths from escaping project root (#10182)

v4.2.1

Choose a tag to compare

@github-actions github-actions released this 16 Jun 22:28
6622cd0

v4.2.1 (2026-06-16)

🐛 Fixes

  • #10106 Avoid swallowing PipelineWise plugin logs by setting the level for the root logger (#10104)

v3.9.4

Choose a tag to compare

@github-actions github-actions released this 16 Jun 22:27
34c39ea

v3.9.4 (2026-06-16)

🐛 Fixes

  • #10105 Avoid swallowing PipelineWise plugin logs by setting the level for the root logger (#10104)

v3.9.3

Choose a tag to compare

@github-actions github-actions released this 13 Apr 20:41
Immutable release. Only release title and notes can be modified.
07c695d

v3.9.3 (2026-04-13)

📦 Packaging changes

  • #9960 Remove upper constraint for uv dependency (#9823)

v4.2.0

Choose a tag to compare

@github-actions github-actions released this 10 Apr 23:16
Immutable release. Only release title and notes can be modified.
ee550d1

v4.2.0 (2026-04-10)

Highlights

  • This restores the latest* tags on Docker Hub, which inadvertently were reverted to use Meltano v3 with the v3.9.2 release and now run on v4 again.
  • Miscellaneous improvements to the State Backend interface.

✨ New

  • #9948 Create .gitignore automatically in the .meltano directory
  • #9946 Avoid setting a global UV_NO_CACHE=1 in the Docker image
  • #9901 Add CACHEDIR.TAG file automatically to .meltano directory
  • #9849 Show required setting indicators in meltano config list -- Thanks @mahangu!
  • #9843 Print stderr from extractor's discover call at default log level -- Thanks @mahangu!
  • #9822 Added StateStoreManager.migrate() interface which state backend implementations can override to provide a state migration mechanism
  • #9819 Make StateStoreManager a context manager with a default no-op .close() method

🐛 Fixes

  • #9949 Avoid emitting an Unknown setting ... warning when setting a nested "extra" setting like _metadata.*.replication-method
  • #9922 Do not swallow state backend persistence errors in BookmarkWriter -- Thanks @awohletz-pm!
  • #9921 Update the type annotation of retry_seconds in the state backend acquire_lock method to allow float values
  • #9877 Add warning when using ephemeral state ID in el/elt commands -- Thanks @stbiadmin!
  • #9858 Do not disable existing loggers when passing logging configuration to SDK-based plugins
  • #9825 Drop None values coming from .env -- Thanks @RamiNoodle733!
  • #9804 Make meltano state set --input-file ... work with click 8.1

⚙️ Under the Hood

  • #9936 Updated some plugin-related types
  • #9909 Centralize virtualenv management into a new VirtualEnvService and delegate to VenvBackend implementations
  • Move logging frame number to constants _FRAMES_DEBUG and _FRAMES_DEFAULT
  • #9883 Use ProjectDirsService in all remaining places
  • #9880 Ensure custom click.ParamType implementations correctly override their parent methods
  • #9879 Added reason keyword argument to PluginInstaller callable protocol
  • #9870 Add more type-annotations for SettingDefinition attributes
  • #9841 Use Project.dirs API in more places
  • #9840 Use the --clear flag of virtualenv and uv to recreate the venv instead of removing it preemptively
  • #9817 Bump Ruff to 0.15 and update code to the 2026 style guide

📚 Documentation Improvements

  • #9939 Fixed some broken links in the environments page
  • #9906 Added examples for overriding key-properties and replication-key in metadata -- Thanks @alexchenai!
  • #9908 Update our AI guidelines
  • Hide video links since they are no longer available
  • #9868 Use uv in the "complete tutorial"
  • #9860 Add architecture diagram to docs home page
  • #9855 Fix broken image link.
  • #9856 Fix copyright and images in footer
  • #9468 Updated production.md to reflect it is not possible to set Airflow's core.executor configuration value with meltano config set -- Thanks @Rodeoclash!
  • #9839 Add a section about AI coding agents to the contribution guide
  • #9833 Fix typo 'the the' -> 'the' in manifest.py docstring -- Thanks @RamiNoodle733!
  • #9827 Fix typos in DataHub tutorial documentation -- Thanks @RamiNoodle733!

📦 Packaging changes

  • #9887 Allow virtualenv 21
  • #9854 Require click 8.2.0+
  • #9823 Remove upper constraint for uv dependency
  • #9806 Bump upper constraint for boto3 in the S3 state backend extension

v4.1.2

Choose a tag to compare

@github-actions github-actions released this 03 Feb 03:20
Immutable release. Only release title and notes can be modified.
6793481

v4.1.2 (2026-02-03)

📦 Packaging changes

  • Require google-cloud-storage 3+
  • Require uv 0.8.14+
  • #9799 Allow pip 26.0

v3.9.2

Choose a tag to compare

@github-actions github-actions released this 03 Feb 13:39
Immutable release. Only release title and notes can be modified.
2b3d409

v3.9.2 (2026-02-03)

🐛 Fixes

  • Default smart-open logs to the warning level and above (#9617)
  • Filter out Alembic logs of level INFO and below (#9734)
  • Bump fasteners to 0.20 (#9637)

⚙️ Under the Hood

  • Filter out urllib3 logs below the error level (#9599)
  • Remove missing import handling for state backends now that they are loaded dynamically (#9479)
  • Get package version from distribution metadata (#9438)

⚡ Performance Improvements

  • Revert to sync APIs for writing the tap catalog file following discovery (#9724)

📦 Packaging changes

  • Pin core click and sqlalchemy dependencies to their minor versions (#9449)
  • Remove upper constraint on Python version
  • Removed license classifier made redundant by PEP 639 (#9711)
  • Require google-cloud-storage 3+
  • Require uv 0.8.14+
  • Allow uv 0.9 (#9550)
  • Allow pip 26.0 (#9799)
  • Allow packaging 26.0 (#9762)
  • Allow ruamel-yaml 0.19.x (#9756)
  • Allow check-jsonschema 0.36.x
  • Allow Rich 14.3.x (#9780)
  • Remove upper constraint on aiodocker
  • Bump upper constraint on boto3

v4.1.1

Choose a tag to compare

@github-actions github-actions released this 31 Jan 18:19
Immutable release. Only release title and notes can be modified.
75564b7

v4.1.1 (2026-01-31)

🐛 Fixes

  • #9792 Require structlog 25.5.0+

v4.1.0

Choose a tag to compare

@github-actions github-actions released this 30 Jan 23:39
Immutable release. Only release title and notes can be modified.
88e8a93

v4.1.0 (2026-01-30)

✨ New

  • #9694 Remove stale tables used by long-removed UI/API
  • #9759 Add plugin name or meltano as another column in the console-formatted output
  • #9680 Auto-select a supported Python version if the plugin is not compatible with Meltano's own Python version

🐛 Fixes

  • #9779 Always display Slack community message for errors without self-service instructions
  • #9775 Avoid displaying tracebacks when known CLI-level errors occur

⚙️ Under the Hood

  • #9723 Simplify state backend creation from settings
  • #9726 Replace use of check-jsonschema with direct jsonschema calls

⚡ Performance Improvements

  • #9724 Revert to sync APIs for writing the tap catalog file following discovery

📚 Documentation Improvements

  • #9758 Sync plugin definition syntax with current options

📦 Packaging changes

  • #9780 Allow Rich 14.3.x
  • #9762 Allow packaging 26.0
  • #9756 Allow ruamel-yaml 0.19.x