# dbt-common Changelog

- This file provides a full account of all changes to `dbt-common`
- Changes are listed under the (pre)release in which they first appear. Subsequent releases include changes from previous releases.
- "Breaking changes" listed under a version may require action from end users or external maintainers when upgrading to that version.
- Do not edit this file directly. This file is auto-generated using [changie](https://github.com/miniscruff/changie). For details on how to document a change, see [the contributing guide](https://github.com/dbt-labs/dbt-common/blob/main/CONTRIBUTING.md#adding-changelog-entry)

## dbt-common 1.25.1 - July 02, 2025

### Fixes

- Capturing BadGzipFile exception in connection_exception_retry ([#290](https://github.com/dbt-labs/dbt-common/issues/290))

### Contributors
- [@leaomatheus](https://github.com/leaomatheus) ([#290](https://github.com/dbt-labs/dbt-common/issues/290))


## dbt-common 1.25.0 - May 20, 2025

### Under the Hood

- Support recording classmethods that are overriden by instance methods ([#287](https://github.com/dbt-labs/dbt-common/issues/287))

## dbt-common 1.24.0 - May 09, 2025

### Features

- Optionally allow event name in event tags ([#281](https://github.com/dbt-labs/dbt-common/issues/281))

### Under the Hood

- Split `WarnErrorOptions` from `IncludeExclude` ([#278](https://github.com/dbt-labs/dbt-common/issues/278))

## dbt-common 1.23.0 - April 21, 2025

### Fixes

- Ensure `fire_event` allows for the silencing of deprecations ([#276](https://github.com/dbt-labs/dbt-common/issues/276))

## dbt-common 1.22.0 - April 17, 2025

### Under the Hood

- Add a `deprecation_tag` helper function ([#273](https://github.com/dbt-labs/dbt-common/issues/273))

## dbt-common 1.21.0 - April 16, 2025

## dbt-common 1.20 - April 16, 2025

## dbt-common 1.19 - April 16, 2025

## dbt-common 1.18 - April 14, 2025

### Features

- Ability to specify 'Deprecations' in `WarnErrorOptions` ([#265](https://github.com/dbt-labs/dbt-common/issues/265))

### Fixes

- Replace depricated datetime.datetime.utcnow() for datetime.datetime.now(timezone.utc) to reduce stdout spam. ([#238](https://github.com/dbt-labs/dbt-common/issues/238), [#99](https://github.com/dbt-labs/dbt-common/issues/99))

### Under the Hood

- Add support for Python 3.13 ([#263](https://github.com/dbt-labs/dbt-common/issues/263))
- Add new event to signal issues during record/replay ([#268](https://github.com/dbt-labs/dbt-common/issues/268))

### Contributors
- [@cfernhout](https://github.com/cfernhout) ([#238](https://github.com/dbt-labs/dbt-common/issues/238), [#99](https://github.com/dbt-labs/dbt-common/issues/99))

## dbt-common 1.17.0 - March 31, 2025

### Breaking Changes

- Update `fire_event` to handle `warn_or_error` logic ([#236](https://github.com/dbt-labs/dbt-common/issues/236))

### Under the Hood

- Stream recorded events to disk rather than storing them in memory. ([#260](https://github.com/dbt-labs/dbt-common/issues/260))

## dbt-common 1.16.0 - March 18, 2025

### Features

- Add sequence number to record/replay records and add new invocation context accessor ([#251](https://github.com/dbt-labs/dbt-common/issues/251))

## dbt-common 1.15.0 - February 14, 2025

### Features

- Add syntax support for types on macro parameters. ([#229](https://github.com/dbt-labs/dbt-common/issues/229))
- Add '@auto_record_function' for less verbose record/replay annotaitons ([#240](https://github.com/dbt-labs/dbt-common/issues/240))
- Add override and serialization capabilities to record/replay ([#241](https://github.com/dbt-labs/dbt-common/issues/241))
- Add "invocation_started_at" global field ([#245](https://github.com/dbt-labs/dbt-common/issues/245))

### Fixes

- Refine support for classmethods in record/replay ([#243](https://github.com/dbt-labs/dbt-common/issues/243))

## dbt-common 1.14.0 - December 4, 2024

### Fixes

- Generic exception handling during jinja compilation ([#225](https://github.com/dbt-labs/dbt-common/issues/225))

## dbt-common 1.13.0 - November 19, 2024

### Features

- Include JSON and text output in quiet mode for `dbt show` and `dbt compile` ([#216](https://github.com/dbt-labs/dbt-common/issues/216))

### Under the Hood

- Upgrade protobuf to <=5.0 ([#218](https://github.com/dbt-labs/dbt-common/issues/218))

## dbt-common 1.12.0 - November 05, 2024

### Features

- Accelerate block tag iteration. ([#205](https://github.com/dbt-labs/dbt-common/issues/205))

### Under the Hood

- Remove support and testing for Python 3.8 ([#212](https://github.com/dbt-labs/dbt-common/issues/212))

## dbt-common 1.11.0 - October 15, 2024

### Fixes

- Suppress logging event dictionary parsing exceptions ([#202](https://github.com/dbt-labs/dbt-common/issues/202))

### Under the Hood

- Add a jinja "is_list" filter ([#200](https://github.com/dbt-labs/dbt-common/issues/200))

## dbt-common 1.10.0 - September 24, 2024

### Fixes

- Do not cast unscrubbed values to a string ([#165](https://github.com/dbt-labs/dbt-common/issues/165))
- Restrict behavior change warning to firing once per run to avoid noisy warnings in logs ([#197](https://github.com/dbt-labs/dbt-common/issues/197))

## dbt-common 1.9.0 - September 19, 2024

### Features

- Add MergeBehavior.Object for snapshot column feature ([#191](https://github.com/dbt-labs/dbt-common/issues/191))

## dbt-common 1.8.0 - September 09, 2024

### Features

- Add Behavior Flag Framework ([#178](https://github.com/dbt-labs/dbt-common/issues/178))

### Security

- Fix arbitrary file write during tarfile extraction ([#182](https://github.com/dbt-labs/dbt-common/pull/182))

## dbt-common 1.7.0 - July 30, 2024

### Under the Hood

- Add record grouping mechanism to record/replay. ([#169](https://github.com/dbt-labs/dbt-common/issues/169))

## dbt-common 1.6.0 - July 2, 2024

### Features

- Add to and to_columns to ColumnLevelConstraint and ModelLevelConstraint contracts ([#168](https://github.com/dbt-labs/dbt-common/issues/168))

### Fixes

- Fix case-insensitive env vars for Windows ([#166](https://github.com/dbt-labs/dbt-common/issues/166))

## dbt-common 1.4.0 - June 18, 2024

### Under the Hood

- Add support for basic diff of run recordings. ([#144](https://github.com/dbt-labs/dbt-common/issues/144))
- Deserialize Record objects on a just-in-time basis. ([#151](https://github.com/dbt-labs/dbt-common/issues/151))

## dbt-common 1.3.0 - June 5, 2024

### Under the Hood

- Move CatalogKey, ColumnMetadata, ColumnMap, CatalogTable to dbt-common ([#147](https://github.com/dbt-labs/dbt-common/issues/147))

## dbt-common 1.2.0 - May 29, 2024

### Under the Hood

- Allow dynamic selection of record types when recording. ([#140](https://github.com/dbt-labs/dbt-common/issues/140))
- Move StatsItem, StatsDict, TableMetadata to dbt-common ([#141](https://github.com/dbt-labs/dbt-common/issues/141))

## dbt-common 1.1.0 - May 21, 2024

### Features

- Support adding callbacks to the event manager ([#131](https://github.com/dbt-labs/dbt-common/issues/131))
- Add a print event to support firing event to console in --quiet mode ([#8756](https://github.com/dbt-labs/dbt-common/issues/8756))

## dbt-common 1.0.4 - May 7, 2024

### Features

- Enable serialization contexts ([#126](https://github.com/dbt-labs/dbt-common/issues/126))

## dbt-common 1.0.3 - May 1, 2024

### Dependencies

- Pin agate `>=1.7.0,<1.10` ([#119](https://github.com/dbt-labs/dbt-common/pull/119))
- update pathspec upper version limitation ([#120](https://github.com/dbt-labs/dbt-common/pull/120))

## dbt-common 1.0.2 - April 24, 2024

### Features

- Add ability to silence warnings via `WarnErrorOptions` ([#111](https://github.com/dbt-labs/dbt-common/issues/111))

### Under the Hood

- Remove the final underscore from secret and private environment variable constants. ([#109](https://github.com/dbt-labs/dbt-common/issues/109))

## dbt-common 1.0.1 - April 12, 2024

### Features

- Support environment variables which dbt can see but user code cannot. ([#103](https://github.com/dbt-labs/dbt-common/issues/103))
- Add `error_tag` util to the `ui` module ([#107](https://github.com/dbt-labs/dbt-common/issues/107))

## dbt-common 1.0.0 - April 1, 2024

### Under the Hood

- Implement record/replay mechanism ([#9689](https://github.com/dbt-labs/dbt-common/issues/9689))
- Stream JSON on read/write instead of holding it in memory ([#96](https://github.com/dbt-labs/dbt-common/issues/96))
- Improve startup performance by lazy-compiling mashumaro serialization functions ([#97](https://github.com/dbt-labs/dbt-common/issues/97))

## dbt-common 0.1.6 - February 22, 2024

### Fixes

- Fix the unset_contextvars function in events/contextvars.py ([#82](https://github.com/dbt-labs/dbt-common/issues/82))

### Under the Hood

- Restrict protobuf library to major version 4. ([#9566](https://github.com/dbt-labs/dbt-common/issues/9566))

## dbt-common 0.1.65- February 8, 2024

### Under the Hood

- Add Invocation Context Support to MultiThreadedExecutor ([#75](https://github.com/dbt-labs/dbt-common/issues/75))

## dbt-common 0.1.4 - February 7, 2024

### Fixes

- Make invocation contexts more reliable in testing scenarios. ([#52](https://github.com/dbt-labs/dbt-common/issues/52))

### Under the Hood

- Remove `fire_event_if_test` method ([#66](https://github.com/dbt-labs/dbt-common/issues/66))

## dbt-common 0.1.3 - February 1, 2024

### Features

- Cache static objects between tests to accelerate integration runs. ([#55](https://github.com/dbt-labs/dbt-common/issues/55))
- Added a new InvocationContext class for application context management. ([#57](https://github.com/dbt-labs/dbt-common/issues/57))
- Add dataclass utility `Mergeable` ([#58](https://github.com/dbt-labs/dbt-common/issues/58))

## dbt-common 0.1.1 - January 26, 2024

### Under the Hood

- Clean up macro contexts. ([#35](https://github.com/dbt-labs/dbt-common/issues/35))
- Change metadata_vars \`if not\` to \`if ... is None\` ([#6073](https://github.com/dbt-labs/dbt-common/issues/6073))
- Inject TagIterator into BlockIterator for greater flexibility. ([#38](https://github.com/dbt-labs/dbt-common/issues/38))

### Contributors
- [@truls-p](https://github.com/truls-p) ([#6073](https://github.com/dbt-labs/dbt-common/issues/6073))
