Skip to content

v0.8.0

Compare
Choose a tag to compare
@futurisold futurisold released this 15 Mar 10:01
· 68 commits to main since this release

This release significantly improves the framework's configuration management, local model support, and validation capabilities while maintaining backward compatibility where possible. Users should review the new configuration system documentation when upgrading (see docs here).

Major Features

New Priority-Based Configuration System

  • Introduced a hierarchical configuration management system with three priority levels:
    1. Debug Mode (Current Working Directory) - Highest priority
    2. Environment-Specific Config (Python Environment) - Second priority
    3. Global Config (Home Directory) - Lowest priority
  • Added symconfig command to inspect current configuration setup
  • Configurations now properly cascade and fall back based on priority

Enhanced Contract System

  • Added new contract decorator for Design by Contract (DbC) pattern
  • Supports both type and semantic validation
  • Includes retry mechanisms and performance monitoring
  • Added comprehensive performance statistics tracking for contract execution

Improved Local Model Support

  • Extended support for local LLaMA.cpp models:
    • Added embedding capabilities through local models
    • Support for both Python bindings and direct C++ server
    • Added batch processing for embeddings
  • Enhanced server configuration options for local models

Package Management Improvements

  • Enhanced sympkg with new features:
    • Support for local package installation
    • Git submodules initialization option
    • Improved package update mechanism
  • Added --local-path option for installing from local directories
  • Added --submodules flag for Git repository operations

Breaking Changes

  • Configuration file locations have changed due to new priority system
  • Environment variables structure updated for speech-related settings
  • Some API methods now return different types/structures
  • Updated dependency requirements:
    • numpy: Now supports up to 2.1.3
    • openai: Minimum version increased to 1.60.0

New Features

  • Added MetadataTracker for better usage tracking and statistics
  • Enhanced token truncation system with smart percentage calculation
  • Added new validation primitives for type and semantic checking
  • Improved error handling and reporting
  • Added new data models for structured input/output

Improvements

  • Better handling of JSON validation and error correction
  • Enhanced error messages and logging
  • Improved documentation structure
  • Better support for local development workflows
  • Enhanced configuration management utilities

Dependencies

  • Added new dependencies:
    • nest-asyncio>=1.6.0
    • rich>=13.9.4
  • Optional dependency for LLaMA.cpp: llama-cpp-python[server]>=0.3.7

Documentation

  • Reorganized API documentation structure
  • Added comprehensive configuration management guide
  • Improved package management documentation
  • Added new examples and use cases
  • Enhanced local engine documentation

Bug Fixes

  • Fixed configuration cascade issues
  • Improved error handling in package management
  • Fixed token counting in various scenarios
  • Addressed memory leaks in long-running processes
  • Fixed various edge cases in validation systems

Developer Tools

  • Added new symconfig command for configuration inspection
  • Enhanced symdev and sympkg utilities
  • Improved debugging capabilities
  • Added performance monitoring tools

Full Changelog: v0.7.4...v0.8.0