|
1 | 1 | # Changelog
|
2 | 2 |
|
| 3 | +## [0.13.0] - 2022-12-29 |
| 4 | + |
| 5 | +- The `livesplit-hotkey` crate is now documented. (@CryZe) |
| 6 | + [#479](https://github.com/LiveSplit/livesplit-core/pull/479) |
| 7 | +- Not every key press emits a scan code on Windows. For those the virtual key |
| 8 | + code is now translated to a scan code. (@CryZe) |
| 9 | + [#480](https://github.com/LiveSplit/livesplit-core/pull/480) |
| 10 | +- Time parsing is now a lot more robust, handles more edge cases, and is also a |
| 11 | + lot more accurate. (@CryZe) |
| 12 | + [#483](https://github.com/LiveSplit/livesplit-core/pull/483) and |
| 13 | + [#578](https://github.com/LiveSplit/livesplit-core/pull/578) |
| 14 | +- When parsing a GDI based font name, platforms other than Windows now don't |
| 15 | + attempt to parse "normal" as part of the font name anymore as it is too |
| 16 | + ambigious. It could either refer to a font weight or stretch. (@kadiwa4) |
| 17 | + [#487](https://github.com/LiveSplit/livesplit-core/pull/487) |
| 18 | +- The text engine can now be customized. You can either provide your own text |
| 19 | + engine or use the one provided by `livesplit-core`. The one provided is now |
| 20 | + behind the `path-based-text-engine` and converts all glyphs to paths that can |
| 21 | + easily be drawn. (@CryZe) |
| 22 | + [#495](https://github.com/LiveSplit/livesplit-core/pull/495) |
| 23 | +- The path based text engine now caches the width of digits for tabular numbers, |
| 24 | + as well as the ellipsis glyph and its width, so that they can be layed out |
| 25 | + faster. (@kadiwa4) |
| 26 | + [#490](https://github.com/LiveSplit/livesplit-core/pull/490) and |
| 27 | + [#499](https://github.com/LiveSplit/livesplit-core/pull/499) |
| 28 | +- On Windows GDI is now used to resolve GDI based font names. (@CryZe) |
| 29 | + [#500](https://github.com/LiveSplit/livesplit-core/pull/500) |
| 30 | +- (Total) Possible Time Save now properly indicates that it's updating |
| 31 | + frequently. This results in faster rendering times. (@kadiwa4) |
| 32 | + [#501](https://github.com/LiveSplit/livesplit-core/pull/501) |
| 33 | +- Initial support for auto splitting has landed in `livesplit-core`. Auto |
| 34 | + splitters are provided as WebAssembly modules. Support can be activated via |
| 35 | + the `auto-splitting` feature. (@P1n3appl3) |
| 36 | + [#477](https://github.com/LiveSplit/livesplit-core/pull/477) |
| 37 | +- Auto splitting is also supported via the C API when activating its |
| 38 | + `auto-splitting` feature. (@DarkRTA) |
| 39 | + [#503](https://github.com/LiveSplit/livesplit-core/pull/503) |
| 40 | +- A watchdog for the Auto Splitting Runtime was added which unloads scripts that |
| 41 | + aren't responsive. (@CryZe) |
| 42 | + [#528](https://github.com/LiveSplit/livesplit-core/pull/528) |
| 43 | +- Splits and layouts can now be parsed and saved on `no_std` platforms. (@CryZe) |
| 44 | + [#532](https://github.com/LiveSplit/livesplit-core/pull/532) |
| 45 | +- The splits component column labels can now be queried via the C API. |
| 46 | + (@MichaelJBerk) [#526](https://github.com/LiveSplit/livesplit-core/pull/526) |
| 47 | +- The Software Renderer is now supported on `no_std` platforms. (@CryZe) |
| 48 | + [#536](https://github.com/LiveSplit/livesplit-core/pull/536) |
| 49 | +- The parsers are now faster because they don't allocate as much memory anymore. |
| 50 | + (@CryZe) [#546](https://github.com/LiveSplit/livesplit-core/pull/546) |
| 51 | +- The auto splitters have unstable support the `WebAssembly System Interface` |
| 52 | + via the `unstable-auto-splitting` feature. (@CryZe) |
| 53 | + [#547](https://github.com/LiveSplit/livesplit-core/pull/547) |
| 54 | +- The Timer component can now use the color of the delta for its background. |
| 55 | + (@Hurricane996) [#539](https://github.com/LiveSplit/livesplit-core/pull/539) |
| 56 | +- The splits component now takes the font into account when calculating the |
| 57 | + width of the columns. (@Hurricane996) |
| 58 | + [#550](https://github.com/LiveSplit/livesplit-core/pull/550) |
| 59 | +- The `Resource Allocator` now decodes the images, allowing the underlying |
| 60 | + renderer to do the encoding by itself. (@CryZe) |
| 61 | + [#562](https://github.com/LiveSplit/livesplit-core/pull/562) |
| 62 | +- Cargo's `--crate-type` parameter is now used to build the C API. (@CryZe) |
| 63 | + [#565](https://github.com/LiveSplit/livesplit-core/pull/565) |
| 64 | +- The columns of the splits component can now show the custom variables. |
| 65 | + (@CryZe) [#566](https://github.com/LiveSplit/livesplit-core/pull/566) |
| 66 | +- On the web, the `keydown` event may not always pass a `KeyboardEvent` despite |
| 67 | + the specification saying that this should be the case. This is now properly |
| 68 | + handled. (@CryZe) [#567](https://github.com/LiveSplit/livesplit-core/pull/567) |
| 69 | +- An integer overflow in the `FuzzyList` used for searching game and category |
| 70 | + names has been fixed. (@CryZe) |
| 71 | + [#569](https://github.com/LiveSplit/livesplit-core/pull/569) |
| 72 | +- The way the background is handled in the Detailed Timer component has been |
| 73 | + fixed. (@CryZe) [#572](https://github.com/LiveSplit/livesplit-core/pull/572) |
| 74 | +- The times are now formatted as strings without going through floating point |
| 75 | + numbers which increases both the correctness and the performance. (@CryZe) |
| 76 | + [#576](https://github.com/LiveSplit/livesplit-core/pull/576) |
| 77 | +- Instead of using `core::fmt` formatting machinery to format the times as |
| 78 | + strings, we now use a custom implementation that's much faster. (@CryZe) |
| 79 | + [#577](https://github.com/LiveSplit/livesplit-core/pull/577) and |
| 80 | + [#580](https://github.com/LiveSplit/livesplit-core/pull/580) |
| 81 | +- Holding down a hotkey on Windows now doesn't cause it to be triggered over and |
| 82 | + over again. Other platforms already behaved this way. (@CryZe) |
| 83 | + [#584](https://github.com/LiveSplit/livesplit-core/pull/584) |
| 84 | +- The `base64` crate is now replaced with `base64-simd` which uses SIMD to speed |
| 85 | + up the decoding of the images. (@CryZe) |
| 86 | + [#585](https://github.com/LiveSplit/livesplit-core/pull/585) |
| 87 | +- Splits from `SpeedRunIGT`, which is a Minecraft speedruning mod, can now be |
| 88 | + parsed. (@CryZe) [#591](https://github.com/LiveSplit/livesplit-core/pull/591) |
| 89 | +- It turns out using `evdev` for the hotkeys on Linux requires the user to be in |
| 90 | + the `input` group, which is not always the case. Therefore we now fall back to |
| 91 | + `X11` if `evdev` is not usable. (@CryZe) |
| 92 | + [#592](https://github.com/LiveSplit/livesplit-core/pull/592) |
| 93 | +- When an auto splitter wants to attach to a Process by name, the start time and |
| 94 | + process id are now used to prioritize duplicate processes. (@Eein) |
| 95 | + [#589](https://github.com/LiveSplit/livesplit-core/pull/589) |
| 96 | +- It is now possible to resolve the key codes to the particular name of the key |
| 97 | + based on the current keyboard layout on Linux and the web. This was already |
| 98 | + the case on Windows and macOS. (@CryZe) |
| 99 | + [#594](https://github.com/LiveSplit/livesplit-core/pull/594) and |
| 100 | + [#595](https://github.com/LiveSplit/livesplit-core/pull/595) |
| 101 | +- It is now possible to trust the user of the C API to always pass valid UTF-8 |
| 102 | + strings to the C API via the optional `assume-str-parameters-are-utf8` |
| 103 | + feature. This is also always the case when using WebAssembly on the web. This |
| 104 | + improves the performance because no validation of the strings is necessary. |
| 105 | + (@CryZe) [#597](https://github.com/LiveSplit/livesplit-core/pull/597) |
| 106 | +- There is now a new `max-opt` cargo profile that can be used to maximally |
| 107 | + optimize the resulting executable. The release profile is now using its |
| 108 | + default configuration again. (@CryZe) |
| 109 | + [#598](https://github.com/LiveSplit/livesplit-core/pull/598) |
| 110 | +- When encountering images `livesplit-core` checks their dimensions to |
| 111 | + potentially automatically shrink them if they are larger than necessary. It |
| 112 | + turns out that checking the dimensions of PNG images was a lot less efficient |
| 113 | + than it could have been. This even improves parsing speed of entire splits |
| 114 | + files by up to 30%. (@CryZe) |
| 115 | + [#600](https://github.com/LiveSplit/livesplit-core/pull/600) |
| 116 | +- The documentation now uses links to types mentioned. (@Eein) |
| 117 | + [#596](https://github.com/LiveSplit/livesplit-core/pull/596) |
| 118 | +- Auto splitters can now query size of the modules of a process. (@CryZe) |
| 119 | + [#602](https://github.com/LiveSplit/livesplit-core/pull/602) |
| 120 | +- The log messages emitted by auto splitters can now be consumed directly |
| 121 | + instead of always being emitted via the `log` crate. (@CryZe) |
| 122 | + [#603](https://github.com/LiveSplit/livesplit-core/pull/603) |
| 123 | +- The auto splitters can provide settings that can be configured. For now the |
| 124 | + auto splitters need to be reloaded when the settings change. (@CryZe) |
| 125 | + [#606](https://github.com/LiveSplit/livesplit-core/pull/606) |
| 126 | +- The file path used to be tracked in the `Run`, but no frontend even used this. |
| 127 | + So it has been removed. (@CryZe) |
| 128 | + [#616](https://github.com/LiveSplit/livesplit-core/pull/616) |
| 129 | +- The documentation states that the title component's lines store the |
| 130 | + unabbreviated line as their last element. This was not actually the case and |
| 131 | + has been fixed. (@DarkRTA) |
| 132 | + [#615](https://github.com/LiveSplit/livesplit-core/pull/615) |
| 133 | + |
3 | 134 | ## [0.12.0] - 2021-11-14
|
4 | 135 |
|
5 | 136 | - Runs now support custom variables that are key value pairs that either the
|
@@ -121,5 +252,6 @@ scenario.
|
121 | 252 | - Hotkeys can now be edited.
|
122 | 253 | [#152](https://github.com/LiveSplit/livesplit-core/pull/152)
|
123 | 254 |
|
| 255 | +[0.13.0]: https://github.com/linebender/druid/compare/v0.12.0...v0.13.0 |
124 | 256 | [0.12.0]: https://github.com/linebender/druid/compare/v0.11.0...v0.12.0
|
125 | 257 | [0.11.0]: https://github.com/linebender/druid/compare/v0.10.0...v0.11.0
|
0 commit comments