Added
- New `identify` and `unpack` subcommands to CLI [164](https://github.com/redballoonsecurity/ofrak/pull/164)
- Move GUI server to `ofrak_core`, startup GUI through CLI, add testing for server, make GUI pip installable. [168](https://github.com/redballoonsecurity/ofrak/pull/168)
- `python -m ofrak gui` starts the OFRAK GUI server.
- UBI and UBIFS filesystem analyzers / unpackers / packers added. [173](https://github.com/redballoonsecurity/ofrak/pull/173), [#177](https://github.com/redballoonsecurity/ofrak/pull/177)
- Add APIs to open GUI in a script or after CLI commands complete. [181](https://github.com/redballoonsecurity/ofrak/pull/181)
- Installing ofrak also installs it as a console tool, so for example `ofrak unpack ...` works, instead of requiring `python -m ofrak unpack...` [181](https://github.com/redballoonsecurity/ofrak/pull/181)
Changed
- Refactored `DataService` internals to more efficiently find resources affected by patches [140](https://github.com/redballoonsecurity/ofrak/pull/140)
Deprecated
- Deprecate `view_type.attributes_type` in favor of `AttributesType[view_type]` [149](https://github.com/redballoonsecurity/ofrak/pull/149)
Fixed
- Remove unneeded and slow `.save()` when unpacking filesystems [171](https://github.com/redballoonsecurity/ofrak/pull/171)
- Added missing elf section types to ElfSectionType [178](https://github.com/redballoonsecurity/ofrak/pull/178)
ofrak-type-v2.1.0
Added
- `ProcessorType.CORTEX_A55`
ofrak-patch-maker-v3.0.0
Added
- Optional permission map parameter to `Allocatable.allocate_bom`, which enables developers to express where
segments of one set of permissions may be placed in the destination binary. For example, a developer may specify
to place `MemoryPermissions.R` `Segments` in destination program `MemoryRegions` of `MemoryPermissions.R`
or `MemoryPermissions.RX`.
Changed
- `PatchMaker` is now initialized with an existing `Toolchain` instance. GNU toolchain implementations are split into separate files.
- Make toolchain names in `toolchain.conf` more specific:
- `GNU_ARM_NONE` changed to `GNU_ARM_NONE_EABI_10_2_1`.
- `GNU_X86_64_LINUX` changed to `GNU_X86_64_LINUX_EABI_10_3_0`.
Removed
- Removed `ToolchainVersion`.