Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update rust crate lexical-core to 0.8 #232

Merged
merged 1 commit into from
Oct 5, 2023

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 4, 2023

Mend Renovate

This PR contains the following updates:

Package Type Update Change
lexical-core dependencies minor 0.7 -> 0.8

Release Notes

Alexhuszagh/rust-lexical (lexical-core)

v0.8.5

Compare Source

Changed
  • Fixed the partial integer parser to correctly return negative values if parsing partial input.

v0.8.3

Compare Source

Added
  • Added support for -Zmiri-tag-raw-pointers in miri correctness checks.
  • Added the documented functions format_error and format_is_valid to determine if a format packed struct is valid, since the previous checks relied on undocumented behavior.
  • Added from_radix to ParseFloatOptions and WriteFloatOptions, to simplify creating the default options with a different radix.
Changed
  • Fixed no_std in lexical-parse-float when default features are disabled.
  • Fixed issue in parsing integers and floats with the power-of-two feature enabled for radixes 16 and 32.

v0.8.2

Compare Source

Changed
  • Reproduce all dependent licenses in lexical, and document extensively what features are dependent on what licensing terms.

v0.8.0

Compare Source

This is a very large release that involved a full re-write from the ground-up.

Added
  • Added the Options API
    • ParseFloatOptions
    • ParseIntegerOptions
    • WriteFloatOptions
    • WriteIntegerOptions
  • Added parse_with_options, parse_partial_with_options
  • Added write_with_options.
  • Added a faster float writer and parser for power of 2 radixes.
  • Added the required_exponent_notation flag to NumberFormat.
  • Added the power-of-two feature, for conversion to and from strings with power-of-two bases.
  • Added the compact feature, optimized for binary size rather than performance.
  • Added extensive documentation on benchmarks, algorithms used, and internal implementation details.
Changed
  • Made the Eisel-Lemire algorithm the default float-parser, leading to substantial improvements in performance.
  • Made Dragonbox the default float writer.
  • Removed pre-computed float tables of powers-of-two, and recreated stable powers of 2 through bit manipulations.
  • Refactored all numeric conversions into separate crates, using workspaces.
  • Improved the algorithms to write and parse 128-bit integers, using faster division and multiplication algorithms.
  • Updated the MSRV to 1.51.0.
  • Updated the benchmarks to note the significant algorithm changes.
  • Added automatic formatting via Rustfmt, linting via Clippy, as well as increased documentation of safety guarantees.
  • Re-wrote NumberFormat to allow more extensive configuration and use const generics.
  • Added support for base prefixes and suffixes.
  • Reduced static storage required for extended-float algorithms.
  • Fixed a bug with trailing digit separators in special values.
  • Updated the fuzz handlers and conformance tests.
  • Simplified the big-integer arithmetic, improving performance and simplifying maintenance for float parsing algorithms.
Removed
  • Remove the write_format, write_radix, and similar functions.
  • Remove the parse_format, parse_radix, and similar functions.
  • Removed the dtoa feature.
  • Removed the rounding feature.
  • Removed the lexical-capi. Existing, high-performance C/C++ libraries exist, so it's no longer practical.

v0.7.6

Compare Source

Changed
  • Updated cfg_if version.
  • Downgraded rand to fix proptests.
  • Fixed a bug on newer Rustc versions where slice::sort is not present in no_std.
  • Added a feature libm which enables stable no_std use.
  • Patched an implementation of insert_many due to a security advisory which does not affect lexical.

v0.7.5

Compare Source

Changed
  • Fixed issue with integer::BITS conflicting with new compilers.

v0.7.4

Compare Source

Changed
  • Changed NumberFormat to use 64-bit flags.
  • Added NO_INTEGER_LEADING_ZEROS and NO_FLOAT_LEADING_ZEROS NumberFormat flags.
  • Added InvalidLeadingZeros to ErrorCode enum.
  • Added validate_no_leading_zeros to reject invalid inputs.
  • Added new leading zero checks to all pre-defined NumberFormat constants.

v0.7.3

Compare Source

Changed
  • Updated the format bitflags to make matches more efficient, allowing jumptables to be used for most situations.

v0.7.2

Compare Source

Changed
  • Fixed a regression in parsing special values.

v0.7.1

Compare Source

Added
  • Added format feature to control parsing integers and floats from number specifications.
  • Added the NumberFormat bitflags to control Number format specifications. These flags control how a number is parsed, including enabling the use of digit separators, requiring integer or fraction digits, and more.
  • Added pre-defined constants for NumberFormat (RUST_STRING, PYTHON_LITERAL) to avoid compiling formats when not needed.
  • Added the FromLexicalFormat and FromLexicalLossyFormat traits with the format feature, which enable you to specify the number format during parsing.
  • Implemented algorithms in terms of generic iterators, to allow skipping digit separators.
  • Implemented data interfaces to simplify parsing and validating number format.
  • Added more values to ErrorCode to signify more parse failures.
Changed
  • Changed ErrorCode::MissingFraction to be ErrorCode::MissingMantissa, to differentiate between missing integers, missing fractions, and missing significant digits (mantissa).
  • Remove RawFloatState and FloatState and replaced it logically with FastDataInterface and SlowDataInterface, allowing format-defined parsing.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot force-pushed the renovate/lexical-core-0.x branch from 361376e to 867b7c8 Compare October 4, 2023 17:22
@amrbashir amrbashir merged commit 154e842 into dev Oct 5, 2023
11 checks passed
@amrbashir amrbashir deleted the renovate/lexical-core-0.x branch October 5, 2023 00:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant