1## master 2 3## 0.7.3 4* gpu_cache: Update crossbeam-utils -> `0.6` 5 6## 0.7.2 7* Update ordered-float -> `1` 8 9## 0.7.1 10* Fix `PositionedGlyph::pixel_bounding_box()` size inconsistencies at different positions with identical sub-pixel positions. 11 12## 0.7 13 14* Rework `CacheBuilder` to use methods to allow non-breaking additions 15 in future. New style is `Cache::builder().dimensions(512, 512).build()`. 16* Support multithreaded rasterization in the gpu_cache. This yields 17 significant improvements in worst case performance when more than 1 18 CPU core is available. _Thrashing, resizing & population benchmarks 19 are ~3x faster on a 4-core Haswell._ 20 Multithreading is enabled by default in environments with more than 21 a single core, but can be explicitly disabled using 22 `Cache::builder().multithread(false)`. 23* Remove all deprecated API. 24* Add `Debug` implementations for `Font`, `Glyph`, `ScaledGlyph` & 25 `PositionedGlyph` 26* Add and improve documentation + examples. 27 28## 0.6.5 29 30* Re-export rusttype `0.7` non-breaking main API, while keeping the current 31 version of the gpu_cache module. 32 33## 0.6.4 34 35* Add `CacheBuilder::rebuild` & `Cache::to_builder` methods. 36* gpu_cache: Only rasterize & upload after queue has successfully fit in cache 37 producing a 1.16-1.29x speedup in resizing & thrashing benchmarks. 38 39## 0.6.3 40 41* Documentation clarifications 42* Avoid depending on unused dependency default-features 43 44## 0.6.2 45 46* Add `From<&AsRef<[u8]>> for SharedBytes`. 47* Optimise `gpu_cache` hashing to improve benchmark performance by ~30%. 48 49## 0.6.1 50 51* Optimise rasterizer removing internal hashing. Improves draw benchmark 52 performance by 11-91%. 53 54## 0.6 55 56* Rework gpu_cache data structures allowing constant time hash lookup 57 of matching cached glyph textures. Improve performance by ~60-200%. 58* Deprecate `gpu_cache::Cache::new` in favour of `gpu_cache::CacheBuilder`. 59* Deprecate `gpu_cache::Cache::set_scale_tolerance` & 60 `gpu_cache::Cache::set_position_tolerance`. These are now equivalent to 61 recreating the cache as they invalidate the cache keys. 62* gpu_cache `scale_tolerance` & `position_tolerance` now have subtly different 63 meanings but guarantee their error in all cases, where previously the 64 worst case was double the set tolerance. 65 66## 0.5.2 67 68* Add gpu cache glyph padding option to fix texture bleeding from other 69 glyphs when using interpolated texture coordinates near edges. Use 70 `CacheBuilder` to construct a `Cache` that makes use of padding. 71* Inlining performance improvements. 72 73## 0.5.1 74 75* Fix tree removal on row clear (gpu_cache). 76 77## 0.5 78 79* Let functions like `Font::glyph` and `Font::pair_kerning` work with both 80 characters and glyph ids by having them accept any type that implements the 81 new `IntoGlyphId` trait. This replaces the `CodepointOrGlyph` enum, which 82 didn't seem widely used. 83* Make `Font::glyph` always return a `Glyph`, not `Option<Glyph>`. Passing a 84 `char` the font doesn't cover returns a `.notdef` glyph (id 0), as it did 85 before. Passing an invalid glyph id now panics, like a bad array index: glyph 86 ids should only be used to index the font they were looked up for. 87* Introduce `rusttype::Error`, which implements `std::error::Error`, `Debug` and 88 `Display`, and can be converted to `std::io::Error`. 89* Use `Result<_, rusttype::Error>` to report failures in FontCollection, Font 90 and associated iterators. 91* Add `Font::from_bytes` method similar to `FontCollection::from_bytes` for 1 92 font collections. 93* Improve gpu_cache performance ~2-6% 94 95## 0.4.3 96 97* Improve gpu_cache performance ~6-17% 98 99## 0.4.2 100 101* Allow users to get font names from `Font`. (#86) 102 103## 0.4 104 105* Add more debugging features 106* Add support for unscaled fonts 107* Improve performance 108* Make gpu_cache optional 109 110## 0.3 111 112* Transfer to redox-os organization, merge a number of pull requests 113 114## 0.2.1 115 116* Made the API more convenient (courtesy of @mitchmindtree, @I1048576). 117* Fixes for the examples (@I1048576) 118* Removed the dependency on ndarray (@I1048576) 119 120## 0.2 121 122* Initial GPU caching implementation. 123* Made font data management more flexible. 124* Made the interface for font scales simpler. 125 126## 0.1.2 127 128Fixed issue #8 129 130## 0.1.1 131 132Fixed issue #7 133 134## 0.1 135 136Initial release 137