All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, adheres to Semantic Versioning, and is generated by Changie.
- Read column metadata from catalog even if source is specified
- more typing to improve code readability
- Keep column description if meta.osmosis_keep_description is True
- Add identifier property support for source entity type. (#114)
- feat: load column description from db
- enable setting encoding in yaml handler via env var
- add sources only if available
- Get the data_type and comment of child column instead of its parent
- enabled more pre-commit hooks
- use yaml for deserializing vars flag
- Hotfix for incorrect var name
- Introduced precommit
- Added --profile argument to select specific profile
- added --vars option to set vars during execution
- Propagate column data types in separate code path
- Added reproducible dev environment using nix flakes
- Refactor to make testing much easier plus added basic tests for inheritance
- No longer homegenize yamls, remove empty sources or models keys
- blacklist feature via reserved _blacklist key in dbt-osmosis key under vars
- database variable referenced before assignment if using string syntax
- column metadata could pass name both in kwarg and explicitly which is incorrect
- attempt to fix streamlit app
- managed sources key can now include database
- progenitor information can now be added to column meta as a key capable of identifying the source of a column based on its furthest upstream same name reference
- Relax streamlit version requirements to make compatible with dbt core 1.6 and bigquery libs dependent on protobuf
- fix source key not parsing dicts as an input as stated in readme
- New flags --skip-add-tags and --skip-merge-meta for yaml
- Column lineage will match on camel case to snake case converted strings
- Followup fix for column case sensitivity, community contribution
- You can now skip columns being added to yaml files by default via flag. Useful if you have massive sources and are purposefully not documenting much of them. The flag is called --skip-add-columns on all yaml subcommands.
- Relaxed python contraint to include py311
- Fixed case sensitivity in snowflake during column reordering
- Added attr check to lineage function to ensure safe access to depends_on
- Ensure we use regular jinja parsing and NOT experimental parsing or rust parsing because both of these involve randomized correctness tests sampled from user projects in the wild if not explicitly disable and both seem to want to pickle an object with an RLock, probably an adapter instance
- fix --register-project flag on server serve codepath
- Feed now uses state making the entire app more snappy and resolving race conditions
- Rebuilt the dbt osmosis workbench with a complete overhaul
- Ensure pre-commit hook returns non-zero on file mutations
- Support for positional selectors based simply on file path or model name to greatly simplify running on subsets of the DAG
- Fix for schema path resolve call via ternary check
- Support for automated reordering of yaml columns to match database
- Support for bigquery record columns
- --pk is not longer required for diff command as we will use a hash of all columns as a fallback
- Ensure default entrypoint disables magic since we use triple quoted strings to document variables in the app
- Fixed profile swapping functionality
- Added 2 RSS feeds to the bottom for easy access reading 🤓
- Moved adapters to extras, not needed to install the project but used internally for development and testing
- Removed unused function and hash funcs from app code
- Fixed a bug in profiles and project directories sharing a state var name
- Removed -m argumaent from workbench entrypoint through executable
- diff has multiple outputs including table (stdout), csv (disk), or chart/bar (stdout)
- data git diff now defaults to dbt_osmosis schema
- data git diff now uses an md5 hash of compiled sql so we dont rerun unless model has changed
- Start using changie for changelog management