libsla 1.2.0

Rust bindings to Ghidra Sleigh library libsla
Documentation
## Unreleased

Nothing here yet.

## [v1.2.0]https://github.com/mnemonikr/libsla/tree/v1.2.0

### Added

* `InstructionBytes` which can be used by `Sleigh` to disassemble a sequence of bytes

## [v1.1.0]https://github.com/mnemonikr/libsla/tree/v1.1.0

### Added

* Support for serializing `libsla` structures using `serde`. Thanks @soruh

### Fixed

* `AddressSpace` from another Sleigh instance is now properly recognized.

## [v1.0.0]https://github.com/mnemonikr/libsla/tree/v1.0.0

### Changed

* `LoadImage` trait renamed to `InstructionLoader`.
* `disassemble_native` returns a single instruction instead of a singleton list.
* `GhidraSleighBuilder` sla parsing simplified. Internally no longer supports `libsla-sys` XML decoding.

## [v0.4.4]https://github.com/mnemonikr/libsla/tree/v0.4.4

Minor update moving code out of symbolic-pcode workspace and into its own repository

### Changed

* Updated README.md to link to this change log

## [v0.4.3]https://github.com/mnemonikr/symbolic-pcode/tree/libsla-0.4.3

### Added

* Support for fuzzing `libsla-sys`
* New raw sla encoding format which does not include compression or data header

## [v0.4.2]https://github.com/mnemonikr/symbolic-pcode/tree/libsla-0.4.2

### Changed

* Updated README.md to reflect release of the [sleigh-config]https://crates.io/crates/sleigh-config
crate. This crate removes the need to manually compile Ghidra `.slaspec` files, which in most cases
should eliminate the need to reference the Ghidra repository.

## [v0.4.1]https://github.com/mnemonikr/symbolic-pcode/tree/libsla-0.4.1

### Added

* Added an alternative `build` method to `GhidraSleighBuilder` to enable building with sla file contents directly. This limitation was introduced during the upgrade to Ghidra 11.4.

## [v0.4.0]https://github.com/mnemonikr/symbolic-pcode/tree/libsla-0.4.0

### Changed

* Upgraded to Ghidra 11.4.
* Extracted internal `sys` module to its own `libsla-sys` crate.

## [v0.3.1]https://github.com/mnemonikr/symbolic-pcode/tree/libsla-0.3.1

### Changed

* Updated documentation regarding compilation of `.sla` files. Can now build `.sla` files from Rust using [sleigh-compiler]https://crates.io/crates/sleigh-compiler crate.
* Upgraded `thiserror` from `1` to `2`

## [v0.3.0]https://github.com/mnemonikr/symbolic-pcode/tree/libsla-0.3.0

### Added

* `Sleigh::register_name`: Get the name for a register identified by `VarnodeData`.
* `Sleigh::register_name_map`: Get a mapping of all registers as `VarnodeData` to their respective
names.
* Implemented `PartialOrd` and `Ord` on `VarnodeData` and dependent types to support ordering in
`register_name_map`.

### Changed

* `DependencyError::source` must now implement `Send` and `Sync`. This is required to convert
`Error` to the error reporting type of other reporting frameworks such as `eyre`.
* `Debug` implementations for `Address` and `AddressSpaceId` to use hex values. For Ghidra the
internal `AddressSpaceId` is actually the virtual address of the `AddressSpace` C++ structure.

## [v0.2.0]https://github.com/mnemonikr/symbolic-pcode/tree/libsla-0.2.0

### Changed

* Replaced `GhidraSleigh::new` with `GhidraSleigh::builder` to improve construction ergonomics. The
necessary objects required to construct `GhidraSleigh` (`.pspec` and `.sla` files) must be provided
before it is possible to instantiate the object.

### Fixed

* Various Rust clippy lints

## [v0.1.3]https://github.com/mnemonikr/symbolic-pcode/tree/libsla-0.1.3

### Fixed

* Only publish relevant Ghidra files when publishing crate

## [v0.1.2]https://github.com/mnemonikr/symbolic-pcode/tree/libsla-0.1.2

### Fixed

* Crate publishing mistake

## [v0.1.1]https://github.com/mnemonikr/symbolic-pcode/tree/libsla-0.1.1

### Added

* README.md

## [v0.1.0]https://github.com/mnemonikr/symbolic-pcode/tree/libsla-0.1.0

Initial release!