Skip to content

Commit 1d47a5b

Browse files
Release v0.5.0 (#40)
* docs: Add CLAUDE.md with project guidelines - Complete project structure overview - Common commands and workflows - Release process (always use ./scripts/release.sh) - Architecture details and optimizations - Linting, testing, and CI/CD guides - Troubleshooting tips This file provides context for Claude Code to work more effectively with the project without repeating instructions. * Add CHANGELOG.md for release tracking 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * RELEASE: v0.5.0 This release updates: - version.py: 0.4.0 → 0.5.0 - CHANGELOG.md: Added release section for v0.5.0 After merging this PR: - publish.yml workflow will trigger automatically - Package will be built and published to PyPI - GitHub release will be created with tag v0.5.0 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * docs: enhance v0.5.0 CHANGELOG with comprehensive release notes - Detail all 26 custom validators organized by category - Document msgspec.Struct support and serialization hooks - Highlight README overhaul and documentation improvements - Add use cases and developer experience enhancements - Emphasize zero breaking changes and backward compatibility --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent afe72e3 commit 1d47a5b

File tree

2 files changed

+36
-1
lines changed

2 files changed

+36
-1
lines changed

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,41 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.5.0] - 2025-12-03
11+
12+
### Added
13+
- **26 Custom Validators** - Complete validation library extending msgspec
14+
- 🔢 **Numeric Constraints (8 types)**: `PositiveInt`, `NegativeInt`, `NonNegativeInt`, `NonPositiveInt`, `PositiveFloat`, `NegativeFloat`, `NonNegativeFloat`, `NonPositiveFloat`
15+
- 🌐 **Network & Hardware (4 types)**: `IPv4Address`, `IPv6Address`, `IPvAnyAddress`, `MacAddress`
16+
- ✉️ **String Validators (4 types)**: `EmailStr`, `HttpUrl`, `AnyUrl`, `SecretStr`
17+
- 🗄️ **Database (3 types)**: `PostgresDsn`, `RedisDsn`, `PaymentCardNumber`
18+
- 📁 **Path Validators (2 types)**: `FilePath`, `DirectoryPath`
19+
- 💾 **Storage & Dates (3 types)**: `ByteSize`, `PastDate`, `FutureDate`
20+
- 🎯 **Constrained Strings (2 types)**: `ConStr`
21+
- **msgspec.Struct Support** - All validators now work seamlessly with both `BaseSettings` and `msgspec.Struct`
22+
- **Serialization Hooks** - `dec_hook` and `enc_hook` for JSON/MessagePack serialization
23+
- **Re-exported msgspec types** - `Raw` and `UNSET` for convenience
24+
- Comprehensive integration tests (18 new tests, 220 total)
25+
- Advanced validator examples (`examples/07_advanced_validators.py`)
26+
27+
### Changed
28+
- **Enhanced README** - Complete overhaul emphasizing dual nature: settings management AND validation library
29+
- **Use Cases Section** - Real-world examples for API validation, configuration files, and message queues
30+
- **Documentation** - Added output examples for `model_dump()` and `model_dump_json()`
31+
- **Project Description** - Updated to reflect evolution from settings-only to comprehensive validation library
32+
33+
### Documentation
34+
- Added msgspec.Struct usage examples throughout README
35+
- Documented all 26 validators with code examples
36+
- Added "Type Support" section linking to msgspec native types
37+
- Improved Quick Start with both BaseSettings and msgspec.Struct examples
38+
- Added practical use cases: API Request/Response, Config Files, Message Queues
39+
40+
### Developer Experience
41+
- All validators type-safe and fully documented
42+
- Works with both environment variables (BaseSettings) and direct JSON/MessagePack (msgspec.Struct)
43+
- Zero breaking changes - fully backward compatible
44+
1045
## [0.4.0] - 2025-12-03
1146

1247
### Added

src/msgspec_ext/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.4.0"
1+
__version__ = "0.5.0"

0 commit comments

Comments
 (0)