1# Changelog 2 3## 0.3.0 4 5### Breaking changes 6 7- Made `Translation` trait responsible for allocating page tables. This should help make it possible 8 to use more complex mapping schemes, and to construct page tables in a different context to where 9 they are used. 10- Renamed `AddressRangeError` to `MapError`, which is now an enum with three variants and implements 11 `Display`. 12- `From<*const T>` and `From<*mut T>` are no longer implemented for `VirtualAddress`. 13- Added support for using TTBR1 as well as TTBR0; this changes various constructors to take an extra 14 parameter. 15 16### New features 17 18- Made `alloc` dependency optional via a feature flag. 19- Added support for linear mappings with new `LinearMap`. 20- Implemented subtraction of usize from address types. 21 22### Bugfixes 23 24- Fixed memory leak introduced in 0.2.0: dropping a page table will now actually free its memory. 25 26## 0.2.1 27 28### New features 29 30- Implemented `Debug` and `Display` for `MemoryRegion`. 31- Implemented `From<Range<VirtualAddress>>` for `MemoryRegion`. 32- Implemented arithmetic operations for `PhysicalAddress` and `VirtualAddress`. 33 34## 0.2.0 35 36### Breaking changes 37 38- Added bounds check to `IdMap::map_range`; it will now return an error if you attempt to map a 39 virtual address outside the range of the page table given its configured root level. 40 41### New features 42 43- Implemented `Debug` for `PhysicalAddress` and `VirtualAddress`. 44- Validate that chosen root level is supported. 45 46### Bugfixes 47 48- Fixed bug in `Display` and `Drop` implementation for `RootTable` that would result in a crash for 49 any pagetable with non-zero mappings. 50- Fixed `Display` implementation for `PhysicalAddress` and `VirtualAddress` to use correct number of 51 digits. 52 53## 0.1.0 54 55Initial release. 56