Repository navigation
Releases
Releases · zyhe16/PersonaFlow
Version 0.1.3 fix release
Bug fixes
Version 0.1.3 release
[0.1.3] - 2025-11-13
Fixed
- Critical: Fixed IndexError in memory summarization when
memories_to_summarizelist is empty - Critical: Fixed incorrect exception type in JSON serializer (
TypeErrorinstead ofJSONDecodeErrorforjson.dump()) - Fixed overly restrictive memory content validation - now accepts any non-empty dictionary structure
- Fixed memory config validation to properly accept partial configurations with defaults
- Improved error handling in
add_interaction()with explicit KeyError for missing characters - Fixed character deserialization with safe defaults for optional fields
Added
- Input validation for empty character names and prompts
- Input validation for negative memory limits
- Input validation for invalid memory config values (≤ 0)
- Input validation for empty template names and content
- Validation for memory manager character names
- Comprehensive
.gitignorecovering build artifacts, IDEs, OS files, and more pytest.iniwith test configuration and coverage settingsMANIFEST.infor proper package distribution- CI/CD workflow (
.github/workflows/ci.yml) for automated testing on multiple platforms - Automated linting and type checking in CI pipeline
Changed
- Improved character deserialization to handle missing optional fields gracefully
- Better error messages throughout the codebase for easier debugging
- Enhanced memory config validation to check field types without requiring all fields
Development
- Fixed file handle leak in
setup.pyby usingpathlibfor reading README - Removed
dist/folder from git tracking (now in.gitignore) - Created separate
nix-devenvbranch for Nix development environment files - Added proper package metadata in
setup.py
version 0.1.2 release
PersonaFlow v0.1.2
Enhancements
Selective Broadcasting
- Enhanced
PersonaSystem.broadcast_interaction()with selective broadcasting capabilities - Added ability to target specific characters with
broadcast_toparameter - Added ability to exclude specific characters with
exclude_charactersparameter
Example Usage
# Broadcast to specific characters
system.broadcast_interaction(
content={"message": "Hello targeted characters!"},
broadcast_to=["character1", "character2"]
)
# Broadcast to all except excluded characters
system.broadcast_interaction(
content={"message": "Hello everyone except you!"},
exclude_characters=["character3"]
)version 0.1.1 release
v0.1.1 Merge branch 'main' of https://github.com/Ate329/PersonaFlow