Skip to content

Changelog

All notable changes to PFB-Imaging are documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Comprehensive documentation with MkDocs Material
  • API documentation with mkdocstrings
  • Mathematical notation support with MathJax
  • Performance benchmarking framework
  • GitHub Actions for documentation deployment

Changed

  • Updated dependencies to latest versions
  • Improved error handling in workers
  • Enhanced logging system

Fixed

  • Memory leaks in gridding operations
  • Numerical stability in deconvolution
  • Thread safety in parallel processing

[0.0.5] - 2024-01-15

Added

  • SARA deconvolution algorithm
  • Wavelet transform support
  • Sparsity regularization
  • Automatic gain control in CLEAN
  • Progress monitoring and logging

Changed

  • Improved gridding performance with DUCC0
  • Enhanced PSF computation
  • Better memory management for large datasets

Fixed

  • Convergence issues in iterative algorithms
  • Coordinate system handling
  • FITS header metadata

[0.0.4] - 2023-12-01

Added

  • Preconditioned conjugate gradient solver
  • Multi-frequency synthesis
  • Robust weighting schemes
  • Distributed computing with Dask

Changed

  • Refactored operator architecture
  • Improved configuration system
  • Enhanced error messages

Fixed

  • Gridding artifacts near image boundaries
  • Memory usage in large-scale processing
  • Numerical precision in FFT operations

[0.0.3] - 2023-10-15

Added

  • Classical CLEAN algorithms (Hogbom, Clark)
  • PSF and beam model support
  • FITS I/O functionality
  • Configuration file support

Changed

  • Modular worker architecture
  • Improved CLI interface
  • Better test coverage

Fixed

  • Threading issues in parallel processing
  • Coordinate transformations
  • Memory allocation in chunked arrays

[0.0.2] - 2023-09-01

Added

  • Basic gridding and degridding
  • Measurement set parsing
  • Xarray dataset support
  • Initial CLI framework

Changed

  • Switched to Poetry for dependency management
  • Improved project structure
  • Enhanced documentation

Fixed

  • Installation issues on different platforms
  • Dependency version conflicts
  • Basic functionality bugs

[0.0.1] - 2023-08-01

Added

  • Initial project structure
  • Basic measurement set reading
  • Prototype imaging pipeline
  • Core mathematical operators

Changed

  • N/A (initial release)

Fixed

  • N/A (initial release)

Release Notes Template

For maintainers: Use this template for new releases:

## [X.Y.Z] - YYYY-MM-DD

### Added
- New feature 1
- New feature 2

### Changed
- Changed feature 1
- Changed feature 2

### Deprecated
- Deprecated feature 1

### Removed
- Removed feature 1

### Fixed
- Bug fix 1
- Bug fix 2

### Security
- Security fix 1

Migration Guides

Upgrading from 0.0.4 to 0.0.5

Breaking Changes: - Configuration schema changes in sara.yaml - New required dependencies (PyWavelets)

Migration Steps: 1. Update configuration files:

# Old format
regularization: 0.1

# New format
gamma: 0.1
l1_reweight_from: 100

  1. Install new dependencies:

    pip install PyWavelets>=1.7.0
    

  2. Update function calls:

    # Old API
    sara_clean(image, psf, regularization=0.1)
    
    # New API
    sara_clean(image, psf, gamma=0.1, l1_reweight_from=100)
    

Upgrading from 0.0.3 to 0.0.4

Breaking Changes: - New operator architecture - Modified CLI argument names

Migration Steps: 1. Update CLI commands:

# Old command
pfb clean --niter 1000 --gain 0.1

# New command
pfb kclean --niter 1000 --gain 0.1

  1. Update Python API:
    # Old API
    from pfb.clean import hogbom_clean
    
    # New API
    from pfb.deconv.hogbom import HogbomClean
    

Development Changelog

Code Quality Improvements

  • 2024-01-15: Added type hints throughout codebase
  • 2023-12-01: Improved test coverage to 85%
  • 2023-10-15: Added pre-commit hooks for code formatting
  • 2023-09-01: Migrated to Poetry for dependency management

Performance Improvements

  • 2024-01-15: 30% speedup in gridding operations
  • 2023-12-01: Memory usage reduced by 40% for large datasets
  • 2023-10-15: Parallel processing efficiency improved

Documentation Updates

  • 2024-01-15: Comprehensive documentation with MkDocs
  • 2023-12-01: Added mathematical background documentation
  • 2023-10-15: Improved API documentation with examples
  • 2023-09-01: Added user guide and tutorials

Known Issues

Current Limitations

  • Memory usage can be high for very large datasets (>100GB)
  • GPU acceleration not yet implemented
  • Limited support for irregular arrays

Workarounds

  • Use chunked processing for large datasets
  • Increase swap space for memory-intensive operations
  • Use distributed computing for scalability

Future Roadmap

Planned Features

  • GPU acceleration with JAX
  • Advanced deconvolution algorithms
  • Real-time processing capabilities
  • Cloud computing integration

Performance Targets

  • 50% reduction in memory usage
  • 2x speedup in gridding operations
  • Support for datasets >1TB

API Stability

  • Major API changes only in major versions
  • Deprecation warnings for 2 minor versions
  • Backward compatibility maintained when possible