Today, we are excited to release Meltano version 1.34.0, which (among other things) contains a number of changes related to how plugin configuration is managed internally, that make it easier to use Meltano with new extractors, loaders, and transformers.
Specifically, it introduces pipeline environment variables that allow loaders and transformers to adapt their configuration and behavior based on the extractor and loader they are run with as part of a meltano elt
pipeline. This feature is used to dynamically configure the target-postgres
and target-snowflake
loaders and dbt
transformer appropriately, independent of the specific extractor and loader used, while still allowing users to override any of these defaults as they see fit.
Shortly after releasing v1.34.0, we realized that one of its changes accidentally introduced an install-time dependency on PostgreSQL. This has been fixed in Meltano version 1.34.1.
Excited to try it out?
To upgrade your local installation of Meltano, activate the appropriate Python virtual environment and run meltano upgrade
from inside a Meltano project, or pip3 install --upgrade meltano
from anywhere else.
What else is new?
The list below (copied from the changelog) covers all of the changes made to Meltano since last week’s release of v1.33.0:
New
- !1664 Automatically populate
env
properties on newly added custom pluginsettings
inmeltano.yml
- !1664 Have
meltano config <plugin> list
print default value along with setting name and env var - !1664 Pass configuration environment variables when invoking plugins
- !1664 Set
MELTANO_EXTRACTOR_NAME
,MELTANO_EXTRACTOR_NAMESPACE
, andMELTANO_EXTRACT_{SETTING...}
environment variables when invoking loader or transformer - !1664 Set
MELTANO_LOADER_NAME
,MELTANO_LOADER_NAMESPACE
, andMELTANO_LOAD_{SETTING...}
environment variables when invoking transformer - !1664 Allow dbt project dir, profiles dir, target, source schema, target schema, and models to be configured like any other plugin, with defaults based on pipeline-specific environment variables
- #2029 Allow target-postgres and target-snowflake schema to be overridden through config, with default based on pipeline’s extractor’s namespace
- #2062 Support
--database-uri
option andMELTANO_DATABASE_URI
env var onmeltano init
- #2062 Add support for PostgreSQL 12 as a system database by updating SQLAlchemy
Changes
- !1664 Infer compatibility between extractor and transform based on namespace rather than name
- !1664 Determine transform dbt model name based on namespace instead of than replacing
-
with_
in name - !1664 Don’t pass environment variables with “None” values to plugins if variables were unset
- !1664 Determine Meltano Analyze schema based on transformer’s
target_schema
or loader’sschema
instead ofMELTANO_ANALYZE_SCHEMA
env var - #2053 Bump dbt version to 0.16.1
Fixes
- #2059 Properly handle errors in before/after install hooks