Current section
Files
Jump to
Current section
Files
CHANGELOG.md
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.4.0] - 2025-01-14
### Added
- **Nested Resource Permissions**: Support for hierarchical resource relationships using the `permission_identifier` option
- Define custom permission paths via Ash calculations (e.g., `author:5:posts:10:comments:123`)
- Automatic query-level filtering for exact pattern matches
- Full support for deeply nested resource hierarchies
- New configuration option: `permission_identifier` - specify a calculation or attribute field that returns the full permission identifier
- Comprehensive test coverage for nested permissions including exact matches, wildcards, deny precedence, and edge cases
### Fixed
- Backward compatibility issue where standard resources with 2-part identifiers (e.g., `author:UUID`) were not being filtered correctly
- Deny precedence now works correctly with nested resources: exact deny patterns properly override wildcard allow patterns using NOT IN filters
- Improved filter generation for calculation-based permission identifiers
### Changed
- Enhanced `generate_calculation_filter` to handle combinations of wildcard allows and exact denies
- Improved query-level filtering performance for nested resources with exact permission patterns
## [1.2.0] - 2025-09-30
### Added
- Enhanced policies for non-filter actions
- Better test coverage
- Generic action support with simple checks
### Fixed
- Policy evaluation for generic actions
## [1.1.0] - Previous Release
### Added
- AWS IAM-style policy evaluation
- High-performance authorization with regex caching
- Multiple policy document support
- Deny precedence
- Wildcard matching
- Configurable policy sources
- Complete Ash integration for CRUD and generic actions
- Flexible action mapping
[1.3.0]: https://github.com/your-org/ash_iam/compare/v1.2.0...v1.3.0
[1.2.0]: https://github.com/your-org/ash_iam/compare/v1.1.0...v1.2.0
[1.1.0]: https://github.com/your-org/ash_iam/releases/tag/v1.1.0