Breaking Changes
New Defaults
Previously, defaults like schema and catalog were set at the workspace level or at the includes path level like so:defaults block. The above configuration would now look like this:
The
dialect and preprocessor properties, which were previously set at the workspace level, should now be set under defaults as well.New Authentication Paradigm
SDF YML now supports a Credential Block. This block is used to define credentials for various providers and various compute platforms. Just like before, you’ll still be able to authenticate to your compute provider with thesdf auth login <provider> command, however now a credential SDF YML block will be created upon successful login. This will
store the credentials in ~/.sdf/credentials/. By default, they will be stored in a file named <provider>-default.sdf.yml. However, sdf auth login <provider> now support a name parameter which will allow you to name the credential file. This
will become important for referencing the credential from provider blocks (see below).
Due to this update, you will need to re-authenticate to your compute provider after upgrading to 1.2.
New Provider Configuration
Providers are now more powerful than ever! With new features like systematic renaming per source and the ability to use different credentials for different providers, the provider configuration has undergone a serious upgrade. The provider block now supports acredential field which allows you to specify which credential to use for a given provider. After logging in with the command above, you can reference the credential by name in the provider block. If you logged in above and did not pass a name,
the credential will be named <provider>-default and it will be used by default in the provider block if the provider’s type (i.e. snowflake, redshift, etc.) matches the credential’s type.
In terms of breaking changes, the provider configuration is now a sub property of the workspace block. Previously, it was a top level property.
If you have a provider block like this:
snowflake-creds, it should look like this:
Goodbye Code Contracts and Code Reports
In an effort to simplify our nomenclature, we’ve renamedCode Contracts to Checks and Code Reports to Reports. In terms of breaking changes, the code-contracts and code-reports include types have now been replaced with checks and reports respectively.
If you currently have a workspace with includes paths like so: