[0.0.3-test] - 2026-04-17#
🐛 Bug Fixes#
tables: Parenthesize multiple exception types in builder.py
[0.0.2-test] - 2026-04-17#
🐛 Bug Fixes#
ci: Drop cp311, add CMAKE_BINARY_DIR_OVERRIDE for Windows, fix Python 2 except syntax
[0.0.1-test] - 2026-04-17#
♻️ Refactoring#
Remove unused continuous_simplified_B method from AnnuityCore class
Remove unused _resolve_interest_rate function from core.py
Improve error handling in _validate_numeric_input for finite values
Update return type annotations and improve validation logic in LifeTable methods
Optimize probability function handling in LifeTable calculations
Age_shifted revision
Update TODO list with completed tasks and optimizations
Update import paths to use ‘src.lactuca’ for consistency across test files
Clarify comment on kwargs in ProbabilityCalculator
Remove redundant validation check in _validate_float_sequence
Replace functools.partial with direct function calls for improved performance
Update TODO list with completed tasks and optimizations
Simplify return statements by removing unnecessary float conversions in AnnuityCore and InsuranceCore classes
Optimize numeric input validation by using copy=False in astype and replacing asarray with _as_f64_safe
Rename parameter ‘t’ to ‘ts’ in shifted method for clarity and consistency
Optimize performance by replacing float conversions with item() and caching upper age limit in DecrementTable
Update import paths to use ‘src.lactuca’ for consistency across test files
Update TODO list with new tasks and optimizations for clarity and organization
Update Chequeo_flujos.xlsx for improved data accuracy and organization
Update Chequeo_flujos.xlsx for improved data accuracy and organization
Update TODO.md to include refactoring tasks for dx_Tx_values and interpolation error fix
Enhance decrement table methods for improved integer detection and interpolation
Implement machine-precision integer detection in _is_int_machine function
Improve integer detection in interpolation and validate generational tables in TableBuilder
Create _EPS_INT constant for epsilon integer value to be used for integer detection more efficiently
Replace machine-based integer detection with epsilon-based approach for improved accuracy and robustness (_EPS_INT)
Update life table loading to exclude specific test tables and improve clarity
Rename and enhance _lx_at method for improved clarity and performance
Deprecate _is_int_machine and improve integer detection in _validate_numeric_input
Rename deprecated methods and improve lx value calculation in DecrementTable. _prob_life_interval method improved with validations and rounding for public path. _prob_decrement_interval improved with rounding for public path.
Update TODO.md to include tasks for refactoring dx_Tx_values and implementing validation in TableBuilder
Remove redundant comments for static type assertions in Config class
Simplify type casting and improve readability in TableBuilder
Streamline enumeration validation and improve cache management in Config module
Simplify conditionals and improve readability in TableBuilder
Improve readability and efficiency in InterestRate module by simplifying conditionals and optimizing cache management
Update TODO.md with enhancements for InterestRate module and improve type handling
Mark interest_rate.py as completed in TODO.md
Add execution plan for splitting tables into subpackage
Remove execution plan for splitting tables into subpackage
Organize imports and improve readability in table_builder.py
Move TableSource import to its own line for clarity
Clean up imports and enhance readability in tables.py
Update import path for read_table in test_16_TableSource.py
Enhance TableSource class and add comprehensive tests for edge cases
Improve documentation and formatting in config.py for clarity and consistency
Improve readability of metadata validation in TableSource class
Add debug scripts for LifeTable cache invalidation and validation
Enhance DecrementTable for multi-instance dispatch and improve type safety
Update import statements in config.py for improved type safety
Optimize array operations in DecrementTable and LifeTable for improved performance
Optimize suffix sum computation in DecrementTable and streamline w array extraction in LifeTable
Remove deprecated probability validation functions and update tests for _assert_probs_in_unit_interval
Consolidate numeric input validation and improve error handling in utils.py
Enhance numeric input validation and streamline error handling in utils.py
Simplify min/max checks and enhance numeric input validation in utils.py
Introduce helper functions for array processing and streamline numeric input validation in utils.py
Improve input normalization and validation in utils.py; streamline process handling in tests
Enhance utility functions and improve validation in utils.py; update tests for consistency and edge cases
Optimize numeric validation and error handling in utils.py; enhance performance with early exits and vectorized operations
Optimize numeric validation and error handling in utils.py; streamline type checks and improve performance with cached type evaluations
Improve performance in utils.py by optimizing min/max calculations and caching results; enhance error message handling with pre-computed sorted lists
Simplify array creation by removing unnecessary dtype specifications in AnnuityCore and related classes
Optimize TODO.md for clarity and consistency; streamline task descriptions for improved readability
Clean up AnnuityCore calculations by removing redundant variables and improving clarity in present value computations
Simplify growth calculations in AnnuityCore and ProbabilityCalculator by replacing power function with exponentiation operator
Optimize calculations in AnnuityCore by improving ceiling operations and simplifying vectorized growth calculations
Update TODO.md to clarify optimization tasks for core.py with a focus on mathematical precision and performance
Replace power function with exponentiation operator in AnnuityCore and InsuranceCore for improved clarity
Simplify term calculations in AnnuityCore by removing redundant multiplication
Precompute error message prefix in _validate_numeric_input for efficiency
Enhance optimization and clarity in TODO.md and utils.py by reducing redundancy and improving error handling
Replace math.fabs with built-in abs for improved readability and performance
Optimize boolean checks in _validate_numeric_input and _validate_cashflow_inputs for improved performance
Move _make_prefix function for consistent error message prefix generation and optimize finite check in _validate_numeric_input
Optimize finite checks in _assert_probs_in_unit_interval and streamline error message prefix generation in _validate_numeric_input
Update copilot instructions with enhanced code optimization guidelines and improved file structure clarity
Update optimization descriptions for clarity and precision in TODO.md
Simplify numeric validation logic and enhance performance in validation helpers
Improve error handling in _as_f64_safe and optimize boolean checks in _validate_numeric_input
Enhance error reporting in _assert_probs_in_unit_interval for better clarity and performance
Remove redundant assertions for type narrowing in DecrementTable and its subclasses
Mark optimization completion for definitions.py and utils.py in TODO.md
Update TODO.md to reflect optimization status for tables.py
Add comments for clarity on validation and payment schedule logic in InterestRate class
Improve code readability by formatting numpy array conversions in DecrementTable class
Simplify DecrementTable class by removing unused TableClassLiteral and optimizing property access
Update _FakeColumn class to use pandas-compatible interface for NumPy array handling
Remove unused TableClassLiteral and VALID_TABLE_CLASSES from definitions.py
Optimize DecrementTable class for performance and readability
Update _get_probability_func to use Dispatcher enum for caller parameter
Clean up DecrementTable class by removing unused imports and optimizing code structure
Update TODO.md to reflect optimization status for tables.py
Remove deprecated discount factor methods to streamline InterestRate class
Enhance numeric input validation with overloads for better type handling
Update TODO.md to mark interest_rate.py as optimized for performance and accuracy
Optimize metadata handling and improve attribute assignment in TableSource class
Update TODO.md to clarify optimization tasks and improve code prompts
Simplify boolean coercion and enhance metadata handling in TableBuilder class
Update file extension handling to enforce ‘.ltk’ for TableBuilder files
Remove obsolete actuarial table files from the repository notebooks\actuaruial_tables\
Replace obsolete .tbl files with new .ltk files in actuarial_tables directory
Update TableSource to load .ltk files and adjust file extension handling
Update output path and filename extension handling for saved tables
Enhance TableSource initialization and add file_path property
Add tests for TableSource initialization with explicit paths and file path handling
Update TODO.md with task completion indicators and path simplification notes
Update TODO.md to clarify centralization plan and pending tasks
Remove unused imports and dead code in core_helpers.py
Import _MORTALITY_OFFSET and streamline mortality placement offset calculation
Reorder imports in config.py for improved clarity
Enhance LifeTable methods and improve mortality offset handling
Update test cases to use consistent naming for interpolation map
Mark task for updating _MORTALITY_OFFSET_MULT in InsuranceCore.discrete_precision as complete
Remove unused _is_int_machine function from core_helpers.py
Remove unused _is_int_machine function and update related tests for consistency
Update TODO list to reflect completed tasks and clarify pending implementations
Optimize division operation in LifeTable class for better performance and safety ex and Tx
Remove deprecated Tx tests from DisabilityTable and ExitTable; consolidate Tx functionality tests in LifeTable
Update TODO list with new tests for LifeTable and refactor tasks for DisabilityTable and ExitTable
Optimize age and decrement column validations with single aggregations for improved performance
Enhance Tx tests for consistency and edge cases; add new tests for monotonicity and numeric derivative
Add generational validation test for user scenario; enhance cohort checks in existing tests
Implement comprehensive tests for commutation symbols in LifeTable; cover various interest rates and edge cases
Update TODO list with validation checks and testing priorities for LifeTable and related tables
Refactor vx
Optimize decimal handling and suffix sum calculation in LifeTable (commutation functions)
Improve growth parameter validation in _validate_growth function
Enhance survival calculations in ProbabilityCalculator for numerical stability
Enhance reset functionality in Config class with detailed documentation
Remove unused _J_RANGE_CACHE and _compute_fractionation_factor from LifeTable, enforce integer ages in commutation functions
Remove unused discount cache and related methods from DecrementTable, optimize LifeTable cache initialization
Remove unused _EPS_MACHINE import from core_helpers
Remove deprecated generational formula functions and related constants from core definitions
Update import paths for TableSource in test files to reflect new module structure
Update import path for TableSource to reflect new module structure
Rename decrement_scale to decrement_scale_factor for clarity
Update actuarial tables to improve naming conventions and structure
Rename lambda_scale_factor to mx_scale_factor in main function
Streamline scaling factor retrieval and improve code readability
Organize and add dummy life tables for testing purposes
Remove legacy _generate_unisex_decrement method and enhance unisex rate generation logic
Update dummy life table imports and filenames for clarity
Update test cases to handle missing columns in unisex LifeTable and improve consistency checks
Update TODO.md to clarify the blend generation in _generate_unisex_decrement and optimize function usage
Implement new from_file method for loading TableBuilder instances from .ltk files
Remove deprecated from_file_DEPRECATED method and introduce from_payload for improved TableBuilder instance creation
Add to_payload method for serializing TableSource data and metadata
Enhance logging and simplify table regeneration process in regenerate_ltk_files.py
Standardize boolean values in test metadata across multiple test files
Add analysis task for potential unification of data.py and regenerate_ltk_files.py
Add table definitions with target filenames to data.py
Simplify table imports by using TABLES from data.py
Rename actuarial_age to act_age in benchmark_dates.py for consistency
Enhance module docstring for clarity and update actuarial_age to act_age
Rename actuarial_age to act_age for consistency in init.py
Update import paths for core date functions
Reorganize import statements for consistency and clarity
Update import paths and remove deprecated test files for improved organization
Reorganize import statements and improve formatting in life.py
Update import statements in config.py and interest_rates.py for improved module organization
Update import statements and class names for Insurance and Endowment engines
Remove validators module and update documentation references for improved organization
Update import statement for validators in life.py for improved organization
Update import statement for validators in interest_rates.py for improved organization
Update import statement for validators in test_04_config.py for improved organization
Mark task as completed for reorganizing functions and definitions in core modules
Add activate_venv.sh script and remove bash_script.sh for improved organization
Update project documentation for improved clarity and organization
Add from future import annotations to multiple files for improved type hinting
Update requirements.txt to specify package versions and remove comments
Update dependencies in pyproject.toml to ensure compatibility and improve performance
Update wheel build configuration and ensure unique output directories for compiled modules
Replace index access with len() for improved readability in multiple files
Allow CI to override CMake binary directory for improved build flexibility
Enhance build directory management and diagnostics in CI workflows
Streamline build tool installation for Windows and Linux/macOS in CI workflow
Improve array slicing logic and enhance build directory management in CMake
Enhance diagnostics and output directory management in CMake and update array slicing logic in tables
Enhance CMake configuration with improved path normalization and install-time checks
Enhance CMake configuration with improved path handling and install-time checks for built extensions
Update ruff linting rules to include UP007 and expand per-file ignores
Replace specific exception handling with general Exception in multiple modules
Apply MSVC-specific compiler flags to suppress Cython-generated code warnings
Add cleanup steps for build directories in CI workflow
Enhance .pyi stub installation with existence check to prevent conflicts
Streamline pre-build cleanup commands for Windows, Linux, and macOS
Update Windows path separators to use forward slashes for consistency
Fix malformed Windows paths in build and install prefixes for CMake compatibility
Improve type annotation organization to avoid Cython warnings
Relocate _build_metadata function for improved organization and clarity
Reorganize _DecimalsConfig class for improved clarity and maintainability
Remove parallel build configuration for cleaner CMake setup
Enhance Cython source detection in wheel packaging workflow
Add _DecimalsConfig class for improved decimal management in Config
Enhance Cython source detection in artifact packaging workflow
Reorganize _DecimalsConfig class for improved clarity and maintainability
Remove parallel build configuration for cleaner CMake setup
Fix formatting in public API documentation for consistency
Update Python version in workflow to 3.14 for consistency
Implement _DecimalsConfig class for improved decimal management in Config
Update workflow to build wheels on macOS instead of Windows
Update workflow to build wheels on Ubuntu instead of macOS
Update workflow to include all Python versions from 3.11 to 3.14 for wheel builds
Add names to artifact upload steps for clarity in workflow
Simplify Python version comment in validate-wheels workflow
Update tables path to use current working directory for user project root
Update project notes to include additional resource link
Enhance module docstrings for clarity and completeness across the Lactuca package
Update .pyi stub generation to enhance security and proprietary code protection
Enhance build optimizations and Cython security profiles for improved performance
Remove redundant build type argument and debug symbol stripping for optimized binaries
Limit build matrix to Windows and update Python version for wheel generation
Enhance security compliance in stub generation and validation scripts
Clean up comment formatting in validate-wheels.yml
Improve docstring handling and inline comment detection in stub validation
Disable packaging of Cython C++ sources in validate-wheels.yml due to absence of generated artifacts
Optimize performance and readability in stub generation and validation scripts
Add step to strip comments from init.py files for cleaner distribution
Add per-file ignores for test files in linting configuration
Optimize decimal precision settings for actuarial calculations
Optimize list handling and performance in date calculations
Optimize performance by reducing redundant calculations and leveraging Cython features
Replace int type with np.intp for improved compatibility in decrement and life tables
Enhance project notes with optimization tasks and context for static typing in Cython
Reorganize imports and enhance code readability across multiple modules
Replace len() with shape[0] for improved compatibility in InterestRate class
Optimize payment time calculations with pre-calculated inverse for improved performance
Update project notes with task completion and additional optimization details
Enhance documentation with performance characteristics and Cython compilation details for date utilities
Enhance module documentation with detailed descriptions of core components and usage examples
Update project notes to clarify documentation tasks and next steps
Update project notes to specify docstring continuation for init in lactuca
Enhance documentation for age calculation and time unit literals in base.py
Enhance documentation for literal types and examples in base, helpers, and insurance modules
Enhance DecrementTable for vectorial creation with detailed cohort handling and limits
Clean up whitespace in generate_payment_times documentation
Remove deprecated tests and enhance vectorial cohort functionality in LifeTable
Enhance project notes with static typing and vectorization strategies for performance optimization
Update API documentation and improve changelog structure
Enhance project notes with automated documentation and changelog review workflow
Update variable names in LifeTable and related documentation for consistency
Streamline mortality data arrays and update start_age in GAM94_AA
Streamline validation logic in _gen_discrete_improvement function
Remove outdated architecture audit plan document
Replace _gen_projected_improvement_cohort with _gen_projected_improvement in tests for consistency
Enhance format_date documentation for clarity and detail
Clean up all exports in dates module for improved clarity
Streamline imports and all exports in engine module for clarity
Remove commented lines for cleaner all exports in tables module
Simplify caching logic in TableBuilder for improved performance and clarity
Clean up import statements and remove type ignore comments for improved clarity
Update implementation status and checklist for CI/CD phases
Remove unused import statements for improved clarity
Remove unnecessary blank lines for improved code clarity
Remove outdated comments and improve documentation clarity in base.py
✅ Testing#
Add comprehensive tests for _resolve_interest_rate function
Add tests for lx interpolation with fractional ages near integers
Add comprehensive tests for optimized _Tx_values functionality and performance
Add unit tests for _lx_at and _lx_at_DEPRECATED to verify equivalence and performance
Add unit tests for _check_probs function
Add precision tests for commutation functions in LifeTable
Add tests for omega boundary handling in qx calculations
Enhance format_date tests with cross-format input coverage and edge cases
Update save function to utilize fingerprint cache for payload hash
✨ Features#
Add centralized validation and definitions for actuarial calculations
Implement _resolve_interest_rate function for validating and resolving interest rates
Add centralized life inputs validation method (_validate_life_inputs) to LifeTable class and delete from utils.py
Enhance InterestRate and LifeTable classes with improved validation and error handling
Add comprehensive tests for InterestRate and LifeTable classes, including edge cases and boolean handling
Improve numerical precision handling for scalar inputs in copilot instructions
Update TODO.md with new tasks for unifying dispatch functions and improving type annotations
Add bash script to activate virtual environment and run LifeTable tests
Add performance benchmarking and tests for LifeTable methods, excluding specific table files
Implement safe removal of np.clip in probability calculations with validation checks
Implement centralized probability validation function to replace np.clip logic
Replace np.clip with a helper in core.utils for stricter probability validation
Add documentation for safe removal of np.clip in probability calculations
Add task to replace np.clip with _check_probs in probability calculations
Add probability validation method _assert_probs_in_unit_interval and refactor _prob_decrement_interval and _prob_life_interval
Update TODO.md to include tasks for safe replacement of np.clip and validation in TableBuilder
Add validation check for qx values in TableBuilder and update TODO.md
Implement generational table formulas and update dispatcher in core.py
Add centralized probability validation function to assert values in unit interval _assert_probs_in_unit_interval_assert_probs_in_unit_interval
Add generational-specific validation checks in TableBuilder for decrement probabilities
Refactor generational formula handling and probability validation in DecrementTable
Enhance decrement validation by adding fail-fast checks for non-finite values in DecrementTable._modify_decrement
Enhance TableBuilder validation for input data and generational probabilities
Add generational validation tests for non-finite and out-of-range decrements
Add tests for fractional qx calculations and ensure monotonicity in interpolation
Add tests for extreme multiplier overflow and non-finite values in modify_qx
Update documentation on safe removal of np.clip in probability calculations
Implement validation for generational decrements in TableBuilder
Remove np.clip for tpx and px_matrix in MuApproximator and ProbabilityCalculator for improved numerical stability
Enhance _modify_decrement method with detailed docstring and improved validation for modifications
Refactor LifeTable tests to use _make_life helper for improved clarity and consistency
AnnuityCore.discrete_simplified refactor payment_size and payment_frac. Optimization of interpolation coefficients calculation. _joint_survival_udd_yeawise_func added qx_flat = np.asarray(qx_flat, dtype=np.float64) due to error when DecrementTable_prob_decrement_interval returns scalar and not array.
Add high-precision tests for annuities, endowments, and insurances with detailed configurations
Update tests to use deprecated _check_probs function for compatibility
Update Chequeo_flujos.xlsx with new data
Add Pydantic-based configuration management with TOML support
Enhance Config module with performance improvements, new methods, and comprehensive tests
Add allowed mortality placements and module-level constant for offset lookup
Add tests for deferred annuity and insurance equivalences with commutation functions
Implement commutation functions for improved actuarial calculations
Add documentation notes for third-party license management services and project distribution
Add centralized validation for integer ages in commutation functions and implement continuous versions of Tx, Lx, and ex
Add pytest fixture to automatically reset Config singleton state after each test
Enhance TODO documentation with additional implementation details for commutation functions and maintainability improvements
Enhance LifeTable methods for continuous age calculations and validation, ensuring proper handling of fractional ages. Functions Lx, Tx, ex and their _continuous counterparts now support non-integer ages with improved accuracy and validation checks.
Update TODO documentation to include numerical integration for continuous age calculations
Add integer detection and tolerance guidelines for commutation functions, including centralized helpers and performance considerations
Add integer and fractional detection helpers with optimized performance and detailed documentation
Optimize integer and fractional age detection in commutation functions for improved performance
Add comprehensive unit tests for integer detection helpers to ensure correctness and consistency
Update TODO documentation to reflect review of pyliferisk functions and validation of commutation symbols
Enhance input normalization and precision handling guidelines in copilot instructions
Enhance integer detection tolerance documentation and adjust epsilon scaling for improved precision
Add sub module tables splitting tables.py into multiple files and adjust imports accordingly. Additionally include table_builder.py and table_source.py into tables submodule.
Add read-only table property to access TableSource metadata
Enhance summary method to include table metadata and examples for DisabilityTable, ExitTable, and LifeTable
Add tests for table property access in DisabilityTable, ExitTable, and LifeTable
Add property to DecrementTable for accessing associated TableSource metadata
Refactor decrement combination methods and update allowed sexes
Enhance valid sexes extraction and validation for lambda columns
Refactor DecrementTable to support unisex blending and improve table combination logic
Refactor DisabilityTable to enhance modify_ix method and support unisex blending
Refactor ExitTable to enhance modify_ox method and support unisex blending
Refactor LifeTable constructor to support unisex blending
Update binary actuarial tables for improved compatibility
Add script creation for tables and refine table combination logic
Remove license-expression from pyproject.toml
Update actuarial tables with new binary data files
Add script to regenerate .ltk files with updated schema (omega, sex_independent)
Remove ‘age’ column and add ‘omega’ and ‘sex_independent’ metadata fields
Add omega and sex_independent fields, remove age column, and enhance validation
Update tests to remove age column, add omega and sex_independent fields, and validate omega metadata
Update TODO.md to include checks for generational table blends and sex_independent table creation
Add DummyLIFE_1S.ltk actuarial table
Add DummyLIFE_1S life table with static probabilities and omega field
Update allowed sexes to include ‘u’ for unspecified gender
Update metadata structure in TableSource to include parsed values for valid_sexes, sex_independent, and generational
Enhance DecrementTable to support unisex blending and case-insensitive sex input
Update summary method in DisabilityTable to include comprehensive table metadata and sample ix values
Update summary method in ExitTable to include comprehensive table metadata and sample ox values
Update summary method in LifeTable to include comprehensive table metadata and sample qx values
Update static table retrieval to exclude single-sex validation table for continuous interpolation tests
Add dummy_life_1S_data to regenerate_ltk_files script for new schema
Update TODO.md to reflect completion of generational blend and sex-independent table checks
Update actuarial tables to reflect new schema changes
Enhance generational formula descriptions for clarity and extensibility
Correct naming of generational formula types in exports
Remove generational formula references and update related logic for sex-independent calculations
Remove age-dependent generational formula from actuarial tables for sex-independent calculations
Remove generational formula attribute and related property for sex-independent calculations
Remove generational_formula assertions and update related tests for non-generational tables
Update TODO.md with additional tasks for generational formula types and international tables
Update TODO.md with new tasks for interpolation efficiency and independent table functions
Add script to regenerate .ltk files with new schema
Add new binary actuarial tables DummyLIFE_1Sf.ltk and DummyLIFE_1Sm.ltk
Add script to regenerate .ltk files with updated schema
Add comprehensive tests for Tables public API and multi-install helpers
Add case-insensitive filename conflict resolution in TableBuilder
Refactor table installation logic and improve payload validation
Update binary file for DAV2004R table data
Remove obsolete binary files from petecandel notebook directory
Update binary file for DAV2004R table data
Enhance DataFrame creation with error handling for invalid data shapes
Refactor table entry handling and improve error messaging in data.py
Enhance table installation tests with strict mode error handling and shape validation
Improve blending logic in DecrementTable for consistent rounding and precision
Update unisex blend tests to use rounded cohort-adjusted rates for accuracy
Update TODO.md to reflect completed tasks and clarify table integration
Update TODO.md to reflect completed tasks and clarify table functions
Add pandas as a dependency in pyproject.toml and requirements.txt
Enhance date normalization and calculation functions; rename actuarial_age to act_age for consistency
Add date_format configuration with validation and default value
Add tests for date_format configuration and act_age functionality
Add documentation for uploading packages to PyPI using Cython and GitHub Actions
Update module docstring to enhance clarity on core functionalities and public submodules
Enhance module docstring to provide detailed overview and usage examples for actuarial table utilities
Expand module docstring to include detailed descriptions of functionalities and design goals
Add context manager for date format configuration in tests and enhance date normalization tests
Update documentation for PyPI publishing process and security considerations
Update TODO.md with new tasks for communication and package distribution
Add valid date formats and corresponding allowed formats
Add format_date and FormatDates to public API for enhanced date formatting
Add format_date and FormatDates to enhance date formatting capabilities
Enhance format_date functionality with additional tests and mixed type support
Reorganize function imports and definitions for better module structure
Add time_diff function to public API for enhanced duration calculations
Add time_diff to all for public API exposure
Update documentation guidelines for English docstrings and NumPy format compliance
Add comprehensive documentation guide for automated API documentation generation using MkDocs and NumPy style
Add valid time units for time_diff function to enhance duration calculations, enhance date quarter formatting with prefix and suffix options, and improve leap year detection for multiple years.
Add comprehensive tests for time_diff function covering various units and edge cases
Add InsuranceEngine for life insurance calculations
Implement FASE 0.0 for production code preparation
Add comprehensive API documentation and user guides. FASE 1
Add scripts for generating and validating .pyi stub files for proprietary code protection
Add security validation for .pyi stub files to protect proprietary code
Add script to strip comments from init.py files for cleaner distribution
Add CI/CD workflows for documentation and release processes
Add new actuarial tables for PASEM and PER 2020
Add new GAM data files for various demographics
Add new PEAI2007 IAP actuarial tables for individual and collective data
Add PEAI2007 IAP actuarial tables for individual and collective disability data
Update TablasMej2.xlsx with new data
Add new GAM actuarial tables (GAM71, GAM83, GAM94_AA)
Add GAM actuarial tables (GAM71, GAM83, GAM94_AA) and implement discrete improvement formula
Add tests for decrement_multiplier functionality and GAM 94 discrete improvement formula
Update GAM actuarial tables for 1971 and 1994 with new data files
Include start_age in metadata and validation for actuarial tables
Update GAM actuarial tables with new data files for 1971, 1983, and 1994
Add new actuarial tables for GAM, PER, and other models
Add original_start_age to metadata and validation in actuarial tables
Include start_age in DecrementTable methods and update age range representation
Adjust age range in LifeTable to start from 0
Add original_start_age property and update data viewing methods in TableSource
Update tests for GAM94_AA to validate age 0 padding and age 1 data
Update actuarial tables with new binary data files
Update generational formula validation to allow non-negative improvement factors
Update decrement table to use start_age instead of original_start_age in documentation
Add start_age property to TableSource for original table definition
Replace original_start_age with start_age in LifeTable and related tests
Update actuarial tables with new binary file versions
Remove original_start_age from metadata model and update start_age description
Sanitize mx values in DecrementTable to ensure strictly positive inputs
Replace original_start_age with start_age in TableSource for improved clarity
Update tests to reflect removal of original_start_age and ensure start_age is correctly handled
Update sync-public workflow to remove push trigger and retain manual dispatch only
Add select and select_period fields to metadata model and table builder
Add duration support for select-ultimate tables in DecrementTable
Add duration parameter to DisabilityTable initializer
Add duration parameter to ExitTable initializer
Add duration parameter to LifeTable initializer
Add select and select_period support to TableSource
Enhance mx column validation and add checks for discrete improvement
Implement per-duration mx column validation and enhance mx column retrieval logic
Update GAM Excel files for 1994 Scale AA - Female and Male
Add GAM94_AA mortality table with discrete improvement factors
Add new actuarial tables for 2020 (B_M, CB_H, MI_H, MI_M, RV_M) and update Dummy_qx0
Implement Chilean actuarial tables and projected improvement formula
Add projected improvement formula and update generational formula types
Add grid_years support and expand year-keyed columns for projected improvement
Enhance DecrementTable to support projected improvement with calc_year validation
Add calc_year parameter to DisabilityTable initialization
Add calc_year parameter to ExitTable initialization
Add calc_year parameter to LifeTable initialization and update Tx calculations
Add grid_years support for projected improvement tables and enhance life table validation
Update project notes with new to-do items for Chilean tables and code optimization
Update actuarial tables with new binary data files
Update improvement rate terminology and enhance documentation for clarity
Add new selected ultimate actuarial tables and remove deprecated ones
Update decrement table to use ‘mi’ terminology and improve validation logic
Update tables path to point to src directory and improve file reading logic
Update type hints and improve rate calculations in InterestRate class
Add taxonomy and classification for actuarial tables in project notes
Update input format from
mx_*torf_*and enhance projected improvement calculationsUpdate actuarial tables with new binary data files
Add regex validations for MI column names and enhance error handling in TableBuilder
Add calc_year property with validation and warnings in DecrementTable
Optimize LifeTable initialization and cache management
Enhance select_rf detection with regex and improve error handling for select_period
Add tests for calc_year and unisex_blend setters in LifeTable; enhance omega validation in TableBuilder
Update multiple actuarial tables with new binary data
Update project notes for Chilean tables and cohort projections
Rename and update projected improvement function for cohort-diagonal projection
Add mi_structure inference and update TableBuilder metadata
Rename and update projected improvement handling for cohort-based projections
Remove unused calc_year parameter from DisabilityTable initialization
Remove calc_year parameter from ExitTable initialization
Remove calc_year parameter from LifeTable initialization
Add mi_structure metadata handling for generational tables
Update tests to use mi_by_duration for per-duration improvement routing
Update comments and variable names to reflect mi_by_duration usage in DecrementTable
Rename _select_rf to _mi_by_duration for clarity and update related documentation
Enhance DecrementTable with pass-through properties for direct metadata access
Enhance summary and taxonomy lines for improved metadata representation
Improve test assertions for sex-specific columns and enhance summary output in unisex blend tests
Add comprehensive architecture audit plan with identified issues and implementation steps
Add layer mapping for Lactuca architecture in project notes
Add comprehensive refactor plan for Lactuca architecture audit
Enhance Cython guidelines for class definitions, attribute initialization, and caching practices
Add sequence normalization and date formatting helpers in core.py
Create independent copy of pv_vec_raw to prevent aliased keys in AnnuityEngine
Simplify return type descriptions in EndowmentEngine documentation
Defer imports of CubicSpline and gaussian_filter1d to reduce cold start time
Enhance configuration management and improve validation logic across modules
Update configuration access in tests to use Config singleton directly
Add prompt for deep architecture audit and future implementation guidelines
Enhance performance guidelines with vectorized validation and thread-safe singleton pattern
Update refactor plan with completed tasks and improved threading safety in Config
Improve thread safety in Config singleton with double-checked locking
Enhance interest rate validation to ensure finiteness and improve performance
Update binary actuarial table DAV2004R_SelUlt_1o.ltk
Enhance duration handling in DecrementTable for select tables
Update project notes with testing examples and new section on projected improvement factors
Update TODO.md with completed tasks and add caching for probability functions
Enhance generational_formula_type handling and add projected_improvement logic
Add tests for Select-Ultimate with projected_improvement in Gap 9
Implement projected_improvement logic in _compute_select_decrement
Update TODO.md with completed tasks and remove discarded items
Rename tbls_others to tables_others for consistency in LifeTable methods
Add standalone functions to the functional API in init.py
Update test files to use consistent parameter naming and add functional API tests
Update project notes to reflect changes in table naming conventions
Add per-file ignores for functional.py in linting configuration
Add new documents for CNSF 2000-G, CNSF 2000-I, and archive zip file
Add implementation plan for GrowthRate class in PLAN_GrowthRate.md
Add new Excel documents t15006.xlsx and t15007.xlsx to Mexicanas directory
Add link to Mexican tables in TODO.md
Add growth rate parameter to AnnuityEngine and InsuranceEngine for enhanced growth calculations
Integrate GrowthRate parameter into LifeTable for enhanced growth calculations
Add GrowthRate class for modeling growth rate scenarios in life annuities and insurance payments
Integrate GrowthRate parameter into InterestRate class for improved growth calculations
Import GrowthRate class into init.py for public access
Add _resolve_gr function for validating and resolving GrowthRate instances
Add comprehensive tests for GrowthRate class and _resolve_gr helper
Update implementation plan for GrowthRate class, marking completion and refining test coverage
Mark implementation of GrowthRate class in TODO.md as complete
Refactor AnnuityEngine to use GrowthRate class for growth parameters
Remove deprecated VALID_GROWTH_TYPES and associated comments from base.py
Refactor InsuranceEngine to use GrowthRate object for growth parameters
Remove growth rate and type parameters from LifeTable class, updating to use GrowthRate model
Add GrowthTypeLiteral and VALID_GROWTH_TYPES for actuarial growth options
Update ax, äx, axy, äxy, axyz, ajoint, and Afirst functions to use GrowthRate for growth parameters
Refactor GrowthRate class to improve validation and update growth type handling
Refactor InterestRate class to remove growth rate and type parameters, integrating GrowthRate model
Remove growth validation functions and parameters from cashflow inputs
Add validation to ensure ‘gr’ and ‘cashflow_amounts’ are mutually exclusive in LifeTable
Add validation to ensure ‘gr’ and ‘cashflow_amounts’ are mutually exclusive in InterestRate class
Enhance GrowthRate documentation with detailed examples for piecewise growth scenarios
Enhance GrowthRate tests with additional scenarios and validations
Update TODO.md to include implementation details for fractional_ts_interpolation helper
Add growth rate conventions documentation and update index for fractional time shifts
Create comprehensive plan document for fractional_ts and update related validation messages
Update validation messages for fractional shifts to clarify actuarial conventions
Enhance documentation for growth rate conventions and fractional time shifts in LifeTable
Add documentation reference for anniversary convention and fractional-ts policy in GrowthRate class
Add prompt for deep architecture audit and Cython usage recommendations in project notes
Update TODO with implementation details for fractional_ts_interpolation helper and discard related plan reference
Update section titles to uppercase for consistency in project notes
Update TODO list with completed tasks and improve function typing using mypy
Optimize leap year calculation and improve exception handling in date functions
Refactor error handling in TableBuilder using a dedicated validation helper
Improve type handling and performance in DecrementTable methods
Update DisabilityTable methods to enforce blocking with explicit parameters
Update ExitTable methods to enforce parameterized blocking for qx, ix, ex, and modify_qx
Add life survival and probability functions with parameterized blocking
Optimize enumeration validation in _ConfigModel using module-level constant
Enhance NumPy compatibility in _as_f64_safe by using dynamic copy behavior
Streamline InterestRate class by simplifying attribute access and initialization
Refine optimization notes for maximum execution speed and precision in project documentation
Update TODO.md with completed tasks and new action items for project organization
Rename and update _gen_projected_improvement_cohort function for clarity and consistency
Rename _gen_projected_improvement_cohort function to _gen_projected_improvement for clarity
Rename _gen_projected_improvement_cohort function to _gen_projected_improvement for clarity
Add sphinxcontrib-mermaid dependency for enhanced documentation support
Add comprehensive Sphinx documentation plan for project structure and phases
Update documentation audit status and complete API page splitting
prompts: Add new prompts for Conventional Commits, new table addition, and release checklist
Add compact actuarial age aliases for improved usability
Implement tiered cashflow amounts and GrowthRate utility functions
Implement webhook event handlers and Keygen license management (B.3/B.7)
Implement hardware fingerprint control for trial abuse prevention
Implement trial license creation and validation in webhook
Implement trial license activation and webhook handling
Integrate Resend for trial license email delivery and update endpoint configurations
webhook: Enhance trial email functionality with language detection and dynamic content
licensing: Implement license verification and activation system
activation: Implement HMAC-based activation token verification and enhance license validation flow
activation: Add PEP 562 module-level setattr guard (C.9c)
🐛 Bug Fixes#
Correct import path for EndowmentCore in test file
Update tpx function calls to use ‘t’ parameter for consistency in annuity tests
Add explicit cashflow times adjustment flag in AnnuityCore
Correct parameter in ax_aex_vitalicia_consistency test for whole life annuities
Adjust payment size calculation for whole-life insurance to include final death payment
Update TODO for commutation symbols tests and configuration validation
Update tests to use _EPS_INT for consistency in tolerance checks
Adjust boundary checks in DecrementTable to improve robustness and precision. In _prob_decrement_interval _EPS_MACHINES is eliminated.
Improve handling of ages at or beyond omega in DecrementTable calculations (_prob_decrement_interval)
Update age validation in DecrementTable to allow x > w according to actuarial conventions
Update TODO for testing commutation symbols and improve clarity
Improve error message formatting for invalid sex in DecrementTable
Update Germany Annuities documentation and remove unnecessary whitespace
Correct spelling in TODO.md and update task descriptions for clarity
Correct LifeTable instantiation example in documentation
Update LifeTable instantiation examples to use correct table name format
Correct LifeTable instantiation examples to use proper table name format
Correct LifeTable instantiation example in README.md
Update Tables.install calls to use lists for source specifications
Update TODO.md to include specific Latin American countries for international tables
Correct spelling and accentuation in descriptions of actuarial tables
Update mx validation to require strictly positive values
Correct rounding logic and update terminology in disability, exit, life, and source tables
Correct spelling in project notes and enhance clarity on implementation requirements for projected improvement
Update growth_conventions references in documentation for consistency
Update documentation link for growth conventions to point to user guide
Update doctests in _validate_x_and_x0 for clarity and consistency
Update documentation to reflect changes in projected improvement function
Correct formatting in generational tables documentation for clarity
Improve formatting in LifeTable documentation for consistency
Improve documentation clarity in Config class for validation and error handling
Enhance documentation examples and formatting in InterestRate class for clarity
Standardize section headings in project notes for consistency
Enhance multi-version structure creation in documentation build script for cross-platform reliability
Export config=Config() singleton alias from lactuca.init
Correct tables path in configure_tables_path fixture and remove unnecessary src prefix
Update path for actuarial tables in configuration
Update documentation for pure endowments and force_integer_ts parameter
Normalize base_path upfront in process_init_files and optimize print statement
Update encoding to utf-8-sig for BOM handling in generate_stub_file function
Remove invisible characters from docstring in core.py
Correct formatting comment in data_tables.py
Escape embedded triple-quotes in docstrings to prevent premature closing
Simplify vercel.json to use automatic API routing
Restore builds in vercel.json without explicit routes
List api handlers individually in vercel.json builds
Add webhook/pyproject.toml to isolate from root uv.lock
Use absolute dest paths in vercel.json routes
Switch to Flask app.py entrypoint for Vercel Python detection
Add flask to webhook/pyproject.toml dependencies
Add root health route and both /webhook and /api/webhook paths
Update webhook architecture and implement Flask entrypoint in app.py
Update verification status for Phase B tests in licensing documentation
Update subscription event handlers to return 200 status for missing licenses
Configure Vercel to serve Flask app from app.py
webhook: Use GET /users/{email} to retrieve existing Keygen user
webhook: Move resend import inside try/except to prevent startup crash
webhook: Use metadata[user_email] filter for trial duplicate check
Add resend to webhook pyproject.toml, remove redundant requirements.txt
Update support email address in documentation and code
config: Add deepcopy to Config singleton to support LifeTable.copy()
📚 Documentation#
Update TODO.md to include tasks for validating generational decrements in TableBuilder
Update documentation on safe removal of np.clip in probability calculations
Update TODO.md with additional test for decimal configuration
Update TODO.md with additional testing notes for commutation symbols
Enhance documentation for Config.reset() method to clarify singleton behavior and usage examples
Enhance documentation for continuous annuity calculations, clarifying payment timing and integration methods
Mark task to divide tables.py for improved maintainability
Add project_notes.md for updating project requirements
Update project notes with new TODO item for GitHub workflow error explanation
Update copilot instructions to specify type hinting requirements and rationale
Update copilot instructions with Python 3 exception syntax and modern type hints guidelines
Add module-level docstring for TableSource class
Add comprehensive documentation instructions for the Lactuca project
Enhance documentation clarity and consistency across multiple guides
Clean previous build before Sphinx documentation generation
Improve formatting and clarity in config and growth_rates documentation
Add 92series.xlsx to UK documentation
Add whitespace for improved readability in helpers.py
Clarify documentation for force_integer_ts and insurance methods in life.py
Enhance documentation for force_integer_ts behavior in config.py
Add has_growth_rate parameter to InterestRate initialization for clarity
Add has_growth_rate parameter to _validate_shift_deferment_and_duration for improved warning control
Update projections documentation for clarity and support of multiple formulas
Update UK 92 series Excel file with latest data
Add AM92/AF92 mortality table with detailed description and data
Enhance documentation for AM92/AF92 tables and improve clarity across various sections
Add AM92_AF92 actuarial table as a new binary file
Update decrement column documentation and validation for select durations
Rename AM92_AF92_SelUt to AM92_AF92 and streamline description in data_tables.py
Update duration validation and documentation in DecrementTable class
Add start_duration property and update related documentation in TableSource class
Enhance error message for duration validation in DecrementTable class
Enhance documentation for TableSource attributes and metadata structure
Add setattr method to _DecimalsConfig class to enforce read-only attribute assignment
Enhance descriptions in mortality tables to include DGSFP regulatory framework
Update LifeTable documentation for global decimal precision configuration
Add tests for _DecimalsConfig proxy to enforce read-only behavior
Correct encoding issues in Chilean Generational Life Tables comments
Enhance DecrementTable property setters to clarify cache invalidation and no-op behavior
Clarify caching behavior for InterestRate in LifeTable documentation
Update Config documentation to clarify TOML section handling and remove unused sidecar lock implementation
Add tests for dirty-checks and bug fixes in DecrementTable setters
Add implementation details for dirty-checks and bug fixes in DecrementTable setters
Update Mexicanas and UK documentation with new and modified Excel files
Update PEAI2007_IAP_Ind.ltk binary file
Remove is_generational_life method and update public scale factor handling in TableBuilder
Remove is_generational_life tests for cleaner codebase
Clarify life expectancy methods in LifeTable documentation
Enhance documentation for exponential and linear improvement methods
Update documentation for select-duration columns and expand functionality
Enhance tests for generational formulas and TableBuilder functionality
Add task to review and propose improvements for markdown documentation
Add bugfix tracking for DecrementTable._modify_decrement with detailed summary and phase plan
Add detailed plan for redesigning
table_combinationAPI in DecrementTableUpdate documentation to replace ‘DecrementCombination’ with ‘Decrement types’ in type literals
Update documentation to reflect changes in decrement combination methods and types
Enhance DecrementTable documentation and improve cache handling
Update DisabilityTable documentation for table_combination and modification behavior
Update ExitTable documentation for table_combination and modification behavior
Enhance Modifying Decrements documentation for clarity and completeness
Enhance DecrementTable and related documentation for clarity and detail
Enhance DecrementTable documentation for internal state and modification tracking
Update summary method documentation in DisabilityTable for clarity and detail
Update summary method documentation in ExitTable for clarity and detail
Enhance summary method documentation in LifeTable for clarity and detail
Add new actuarial tables for DummyEXIT and DummyLIFE categories
Enhance documentation for DecrementTable, ExitTable, and DisabilityTable for clarity and completeness
Add extended dummy tables catalog with comprehensive coverage and testing
Add pricing structure and validation strategy for subscription model
Update import statements to use importlib for accessing lactuca.config module
Enhance documentation for new actuarial tables and clarify usage in user guide
Update InterestRate class to use Scalar and ScalarSequence for type hints
Add tests for sn and i_m functions in InterestRate class
Enhance user guide for commutation functions with detailed explanations and examples
Enhance lx_interpolation documentation with functional-style examples and clarify usage
Enhance interest rates guide with additional examples and clarify usage of methods
Enhance documentation with new pricing structure, subscription model validation, and improved multi-version support
Update GrowthRate documentation with new methods, enhanced validation, and improved string representation
Add tracking document for
__str__andsummary()implementation inGrowthRateEnhance user guides for InterestRate and GrowthRate classes with detailed examples and clarifications
Add tests for GrowthRate.str and summary() methods, including edge cases and annotations
Update growth rates
Add plan for vectorial interest rate support in LifeTable
Clarify handling of legacy kwargs in DecrementTable and update LifeTable usage example
Add new method to LifeTable for flexible interest rate handling
Clean up imports and format hash calculation in Config class
Add vectorial interest rate tests for LifeTable functionality
Update DisabilityTable to clarify blocked decimal properties and improve formatting
Enhance ExitTable decimal configuration to clarify blocked properties and improve lookup efficiency
Enhance validation messages in LifeTable for integer age checks and suggest continuous methods
Add reference to decimals rounding in configuration guide
Clarify usage of Config singleton and update examples for decimal settings
Enhance numerical precision documentation with detailed strategy overview and clarifications on integer detection
Add vectorial interest rate support in LifeTable and clarify legacy kwargs handling in DecrementTable
Enhance tests for decimals handling in LifeTable, DisabilityTable, and ExitTable, ensuring proper error messages and access restrictions
Update functional API documentation and improve cashflow parameters
Add tracking documents for improvements in generate_payment_times, including bug fixes, optimizations, and expanded documentation
Clarify documentation for cashflow dictionary structure and update present value calculation in InsuranceEngine
Standardize parameter names for cashflow in LifeTable class
Update example for generate_payment_times to include selected_periods parameter
Standardize parameter names for cashflow in ax, axy, axyz, and ajoint functions
Standardize parameter names for cashflow in InterestRate class
Enhance generate_payment_times documentation and improve parameter handling
Add regression test for discrete_simplified return flows with m > 1
Add comprehensive tests for generate_payment_times covering various schedules and edge cases
Standardize parameter names for cashflow in ax and a functions
Enhance documentation for return_flows in AnnuityEngine
Update integration points for insurances and pure endowments in calculation modes
Clarify returned dict structure for discrete_precision with m=1 in inspecting_cashflows
Update functional API documentation and standardize cashflow parameters across multiple classes and functions
Add comprehensive documentation agent for writing, editing, and reviewing Lactuca documentation
Enhance documentation assistant roles and responsibilities for Lactuca project
Enhance documentation for AnnuityEngine and clarify deferred insurance formulas
Clarify calculation notes in LifeTable regarding deferment and duration
Improve documentation for payments_size and payments_frac parameters in AnnuityEngine
Update DecrementTable documentation to reflect new _LX_RADIX value
Update _flatten_loaded_config to clarify key mappings for calculation, calendar, and mortality sections
Update test configurations to include calendar section for validation and loading
Add implementation details for non-standard payment frequencies (m=14, 24, 26)
Add comprehensive user guide improvement plan with detailed phases and actions
Enhance documentation for DecrementTable and configuration mappings
Update payment frequency options in anniversary_dates and act_age functions
Expand payment frequency options and descriptions in base.py
Update payment frequency options in generate_payment_times function
Enhance payment frequency validation documentation for clarity
Update payment frequency validation and acceptance in tests
Update performance optimization notes and add prompt for user guide improvement
Add examples to date-related functions for improved clarity
Update examples in tables to reflect new LifeTable structure and improve clarity
Update user guide to include detailed explanations for prospective reserves and payment frequency
Enhance documentation with detailed examples for annuity and insurance calculations
Enhance documentation with detailed examples for GrowthRate and InterestRate classes, and update usage in functional examples
Enhance documentation and user guide for payment frequency options and validation
Update actuarial docstring guidelines to clarify banned sections and auditing process
Enhance API documentation with new sections for Config, Date Utilities, and various table classes; add examples and improve clarity throughout
Update documentation to remove references to Spanish actuarial organizations and streamline language for international clarity
Update documentation to remove references to Spanish actuarial organizations and ensure compliance with international standards
Update documentation to remove references to Spanish actuarial practices and ensure alignment with international standards
Add pytest configuration instructions to project notes
Enhance ‘See Also’ guidelines for Unicode and method references in docstrings
Enhance API documentation with new sections and examples; update actuarial docstring guidelines for clarity
Update actuarial docstring guidelines for subclass API pages and inherited members
Add comprehensive docstring auditor agent for src/lactuca/ Python files
Add comprehensive docstring audit prompt for Python modules, including automated and manual workflows
Add docstring auditor agent and audit-docstrings prompt for systematic validation
Update customization tracker with new /audit-docstrings prompt for systematic review
Enhance documentation for DisabilityTable, ExitTable, and LifeTable with inherited members and methods
Enhance API documentation and improve Sphinx configuration for better clarity and usability
Update actuarial docstring guidelines to enhance clarity and consistency in parameter references and examples
Update actuarial docstring guidelines and enhance documentation for subclass API pages and inherited members
Enhance InterestRate class docstrings for clarity and consistency
Add text accuracy and redundancy audit step to docstring auditing process
Update actuarial docstring guidelines for method and attribute references in narrative text
Update actuarial docstring guidelines and enhance InterestRate class documentation for clarity and consistency
Enhance docstring references for DecrementTable and its subclasses for clarity
Add guidelines for using Pattern D for Unicode method names in docstrings
Enhance docstring auditing process and update actuarial guidelines for clarity
Refine docstrings for clarity and consistency across TableBuilder methods
Update example in ExitTable docstring to include unisex_blend parameter
Improve docstring formatting and consistency across TableSource class
Update docstrings for GrowthRate class to enhance clarity and consistency
Enhance docstring clarity and consistency across InterestRate class methods
Add tests for shifted() numerical coherence with apply_from_first=True
Update pytest configuration to enhance test options and add benchmark marker
Remove obsolete pytest configuration file
Refine documentation for TableBuilder class and related functions
Update
Update docstrings
Refine documentation for generate_payment_times function
Remove deprecated test for payload hash verification
Update utility functions section to enhance clarity on payment grid helpers
Update table type references to include class links for clarity
Enhance docstrings for clarity and consistency across various classes and methods
Update documentation for actuarial age aliases and remove deprecated aliases
Update example output to reflect float return type for age_last_birthday function
Update import statements and enhance docstrings for date utilities
Add compact actuarial age aliases to top-level namespace
Enhance documentation for Config class and improve clarity of method descriptions
Enhance date utilities documentation with detailed capabilities and compact aliases
Enhance configuration documentation by adding thread-safety note for set_many method
Update short-form aliases in dates guide to avoid shadowing built-in names
Refine documentation for TableBuilder class and enhance clarity of related functions
Add implementation document for Config.set_many thread-safety fix
Add test for thread safety in Config.set_many method
Add tests for anniversary_dates function with various intervals and edge cases
Clarify support for pandas and polars as required dependencies and add DateLike type alias
Update documentation to clarify native integration with pandas and polars
Refine documentation for pandas and polars integration, removing conditional notes
Enhance API documentation with additional details on configuration, date types, and table functionalities
Add tests for vn() function to validate rate conditions and error handling
Enhance validation for interest rates in discount factor calculations
Add documentation for proprietary actuarial API distribution and implementation guide
Add note on ValueError for vn() function with invalid rates
Update contact information for Alberto Aragoneses
Add tests for generate_payment_times function covering various scenarios
Add tests for GrowthRate.amounts and tiered_amounts functions
Add documentation for tiered cashflow amounts function
Add examples for generating cashflow amounts and tiered cashflows
Enhance documentation and add tests for cashflow utilities
Add amounts method for cashflow generation in GrowthRate class
Update module documentation and add tiered_amounts function for cashflow assignment
Update CI/CD implementation plan with pre-0 audit and stub publishing details
Enhance CI/CD documentation with implementation references and updates
Update payment frequency documentation and examples for clarity
Update CI/CD implementation plan with validation results and corrections for wheels build
impl: Update IMPL_distribution_licensing with C.9c and deepcopy details
🧹 Miscellaneous#
Update TablasMej2.xlsx with new data
Remove Pydantic dependency from requirements.txt
Update DummySD2015Gen.ltk binary file
Add external folder to .gitignore for temporary files of test_pypi_private package
Update TablasMej2.xlsx with new data
Update project notes with manual documentation review tasks and international table inclusion
Add link to Markdown syntax guide in project notes
Remove commented-out GAM94_RF mortality table code
Remove deprecated actuarial tables and update tables path in config
Update error reference documentation for interpolation and mortality method options
Clean up code structure and remove unused code blocks
Add .editorconfig for consistent coding styles across files
Update CI/CD workflow to include macOS and Ubuntu in build matrix
Update Python version to 3.14 and enable FORCE_JAVASCRIPT_ACTIONS_TO_NODE24
Enable FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 in CI/CD workflow
Enable FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 in release-test workflow
Add FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 environment variable to sync workflow
Add FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 environment variable to validate-docs workflow
Enable FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 in validate-wheels workflow
Enhance CI/CD documentation and streamline module imports for clarity
Update implementation plan and validate workflows for macOS/Linux support
Include Windows in the validation workflow OS matrix for comprehensive testing
Update CI/CD implementation plan with latest phase completions and documentation adjustments
Update CI/CD implementation plan with completion status and repository renaming
Update CI/CD implementation plan and licensing document with current status and completed prerequisites
Add webhook scaffold for Vercel deployment (Fase B)
Update licensing document with latest revision and webhook scaffold details
Update project URL in licensing document for Vercel deployment
Remove redundant requirements.txt (pyproject.toml is used by Vercel)