Skip to content

Jacket 0.19.1

Choose a tag to compare

@github-actions github-actions released this 18 Oct 15:29
· 401 commits to main since this release
v0.19.1
05c326d

Restores stdlib compatibility and makes jaic faster. Several stdlib changes in 0.19.0 made observable behaviour differ from the official standard library; they are reverted, and UTF-8 decoding of malformed input now matches it too.

Performance

  • jaic uses mimalloc instead of the system allocator, which makes checks and builds about 7–13% faster (a 60k-line check takes 137 ms instead of 154 ms).

Fixes

  • split_from_right(s, byte) returns (false, "", s) again when the byte is absent.
  • scan checks the % that %% matches but leaves it unconsumed again.
  • Sort.quick_sort is no longer deprecated, and Sort no longer exports intro_sort or heap_sort. quick_sort keeps the faster introsort from 0.19.0, and its key form still computes each key once. IntroSort.intro_sort is unchanged.
  • Strict character_utf8_to_utf32 again reports only the bytes before a bad continuation byte as consumed, which is 0 when the first continuation is bad.
  • character_utf32_to_utf8 encodes surrogates (U+D800 to U+DFFF) as themselves again.
  • find_index_from_left(s, substring, start_index) asserts on a negative start_index instead of treating it as 0.
  • Window_Creation builds for Android again instead of failing with an #assert.
  • character_utf8_to_utf32 decodes malformed input to the payload bits of its bytes: a continuation byte without its 10 marker contributes its low six bits, and a stray continuation byte decodes as 0 in one byte, also in strict mode.