pydantic-settings is a GitHub project for managing application settings using Pydantic. It’s useful if you want to define and validate configuration (for example, via environment variables) with Pydantic’s data models.
Project status
- Actively maintained as of 2026-10-20, with very recent
updates(v2.16.1 on 2026-10-20, following v2.16.0 on 2026-10-14). - Update cadence appears active, about 1 to 2 months between minor updates (e.g., v2.15.0 on 2026-08-07, v2.16.0 on 2026-10-14), plus short patch follow-ups to address regressions (v2.16.1 six days after v2.16.0).
AI summary generated
Recent updates
v2.16.2
v2.16.2 is a patch release focused on fixes for environment and dotenv decoding, CLI handling of AliasPath inputs, nested secrets directory precedence, and discriminated union defaults. The code diff matches the release notes, and does not reveal an undocumented public API or behavior change.
Breakingv2.16.1
v2.16.1 is a patch release that addresses two CLI regressions introduced in v2.16.0, restoring expected parsing behavior for fixed-length tuple positionals and list-of-dicts type aliases. It also includes internal CI/build maintenance changes and a small dependency bump.
v2.16.0
pydantic-settings v2.16.0 drops Python 3.10 support and introduces several behavior changes around alias handling, including when `validate_by_alias=False`, plus UTF-8 defaults for JSON and YAML config reading. It also adds new capabilities: cached settings instances, a new AWS Systems Manager Parameter Store settings source, `env_file_depth`, and `CliVariadicArg` support for named variadic CLI options.
BreakingSecurityFeaturesv2.15.0
v2.15.0 adds multiple quality-of-life improvements to pydantic-settings, including better CLI help output for environment variables, enhanced TOML handling, and more robust environment variable matching. The implementation also introduces internal tracking to warn about incomplete field definitions and adds debug logging around env file and secret resolution.
Featuresv2.14.2
v2.14.2 is a security patch release focused on hardening `NestedSecretsSettingsSource` against symlinks that can escape `secrets_dir`. The fix replaces the previous recursive glob based loading with an explicit, symlink-aware directory walk and aligns size accounting with the actual loaded files.
BreakingSecurityv2.14.1
v2.14.1 is a small maintenance release focused on a bug fix for settings models that define a field named `cls`. It also refreshes the dependency lockfile and several GitHub Actions pins as part of Dependabot updates, plus a version bump.
v2.14.0
v2.14.0 is a bug-fix heavy release for pydantic-settings, centered on CLI parsing, env source resolution, and dotenv handling. It also adds support for reading dotenv files from FIFOs, introduces configurable dotenv filtering, and refreshes dependency and CI tooling.
Featuresv2.13.1
v2.13.1 is a focused bugfix release for regressions introduced in 2.13.0. It restores correct behavior for bool fields, recursive CLI models, set parsing, nested dict env vars, and parameterized PEP 695 type aliases.
v2.13.0
v2.13.0 is a feature-heavy release centered on CLI parsing, config source merging, and secret store integrations. It also fixes several resolution bugs around aliases, nested env values, and help text generation, while adding new knobs such as env_prefix_target and new CLI flag modes.
Featuresv2.12.0
This release adds enum-aware CLI kebab-casing, a new NestedSecretsSettingsSource for nested secret layouts, and several settings-resolution fixes around source precedence, default stripping, and init key restoration. It also drops Python 3.9 support and adds Python 3.14 coverage.
BreakingFeaturesv2.11.0
This release is centered on CLI improvements and settings-source enhancements, including CLI serialization, root model support, better alias and type-alias handling, and several provider updates for AWS and Azure. It also tightens a few behaviors around argument parsing, config warnings, and source resolution, while shipping bug fixes and dependency updates.
BreakingFeatures2.10.1
This is a narrow patch release for pydantic-settings 2.10.1. It fixes an UnboundLocalError in case-insensitive field name replacement and removes an outdated docs reference, with no API or dependency changes visible in the diff.
2.10.0
v2.10.0 expands settings-source customization with CLI shortcuts, YAML subsection loading, and new Secret Manager options for AWS, Azure, and GCP. It also fixes several parsing and alias-resolution bugs, updates CI coverage handling, and refreshes project dependencies and docs.
Featuresv2.9.1
This is a small patch release for pydantic-settings v2.9.1. It mainly exposes ConfigFileSourceMixin at the top-level sources package and corrects a typo in the GCP Secret Manager error message, with no substantial API redesign visible in the diff.
v2.9.0
v2.9.0 drops Python 3.8 support and adds new secret manager integrations (AWS Secrets Manager and GCP Secret Manager). It also introduces `uv` for project management and includes several CLI behavior fixes and improvements. Additionally, internal refactoring (sources module restructure) may affect any code relying on non-public import paths.
BreakingFeatures