# dbt Core v1.4.0 — Release & Upgrade Intelligence
- **Product:** dbt Core (https://www.getdbt.com)
- **Version:** v1.4.0
- **Released:** Jan 25, 2023
- **Impact Score:** 7/10
- **Breaking Changes:** Source flagged
- **Canonical Analysis:** https://changelogs.us/dbt-core/updates/v1.4.0/

## Executive Summary (TL;DR)
dbt Core v1.4.0. Source highlight: dbt-core 1.4.0 - Alain LeRoy Locke (January 25, 2023)

## Breaking Changes & Deprecations
- Breaking Changes - **Relevant for maintainers of adapter plugins:** Cleaned up exceptions to directly raise in code.  Also updated the existing exception to meet PEP guidelines. Removed use of all exception functions in the code base and marked them all as deprecated to be removed next minor release. ([#6339](https://github.com/dbt-labs/dbt-core/issues/6339), [#6393](https://github.com/dbt-labs/dbt-core/issues/6393), [#6460](https://github.com/dbt-labs/dbt-core/issues/6460))

## New Features
- Added favor-state flag to optionally favor state nodes even if unselected node exists (#5016)
- Update structured logging. Convert to using protobuf messages. Ensure events are enriched with node_info. (#5610)
- incremental predicates (#5680)
- Friendlier error messages when packages.yml is malformed (#5486)
- Allow partitions in external tables to be supplied as a list (#5929)
- extend -f flag shorthand for seed command (#5990)

## Improvements
- Functionality-neutral refactor of event logging system to improve encapsulation and modularity. (#6139)

## Bug Fixes
- Account for disabled flags on models in schema files more completely (#3992)
- Add validation of enabled config for metrics, exposures and sources (#6030)
- check length of args of python model function before accessing it (#6041)
- Add functors to ensure event types with str-type attributes are initialized to spec, even when provided non-str type params. (#5436)
- Allow hooks to fail without halting execution flow (#5625)
- fix missing f-strings, convert old .format() messages to f-strings for consistency (#6241)
