# 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/).

This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html), with the exception that v0.X updates include backwards-incompatible API changes.
From v1.0.0 and on, the project will adherence strictly to Semantic Versioning.


## [Unreleased]

## [0.7.1] - 2023-06-23

### Fixed
- Grouped convolutions


## [0.7.0] - 2023-06-21

### Added
- Low-memory `SPLoRALinear` forward.
- Structured Pruning Parallel Residual Adapter (SPPaRA)


## [0.6.2] - 2023-06-16

### Fixed
- `SPLoRAMultiheadAttentionPruner` usage by circumventing concat in SPLoRAMultiheadAttention impl (weird issue...)


## [0.6.1] - 2023-06-15

### Added
 - `SPLoRAMultiheadAttentionPruner` for torch-pruning compatibility


## [0.6.0] - 2023-06-14

### Changed
- Moved named_parameters and parameters from class methods to independent functions

### Added
- `torch-pruning` pruners for SPLoRA
- `SPLoRAMultiheadAttention`


## [0.5.2] - 2022-11-6
### Changed
- SPLoRA and SPLoPA behavior to automatically set weight.requires_grad = False instead of assertion
- Change SPLoPA weight initialisation to set LowRankMatrix near-zero instead of pos_weigts


## [0.5.1] - 2022-10-20
### Added
- Add init_range to LowRankMatrix

### Fixed
- Splora init_range


## [0.5.0] - 2022-10-19
### Added
- Fractional rank based on output_features in `LowRankMatrix`


## [0.4.2] - 2022-10-19
### Changed
- `LowRankMatrix` to use meaningful attribute names


## [0.4.1] - 2022-10-19
### Added
- `SPLoRAConv1d`, `SPLoRAConv2d`, `SPLoRAConv3d` to __init__


## [0.4.0] - 2022-10-18
### Added
- `SPLoRAConv1d`
- `SPLoRAConv2d`
- `SPLoRAConv3d`


## [0.3.0] - 2022-10-03
### Added
- `init_range` parameter to both SPLoRA and SPLoPA
- `shared_pos_weights_option` to SPLoPA


## [0.2.0] - 2022-09-28
### Added
- Structured Prunint Low-rank Adapter (SPLoRA)
- SPLoPA prototype rank control
- Demo notebook

### Changed
- Switch to batch-wise Kronecker product implementation


## [0.1.0] - 2022-08-3
### Added
- Structure Pruning Low-rank PHM Adapter (SPLoPA) and unit test