Skip to content

v0.19.0

Compare
Choose a tag to compare
@joseluis joseluis released this 24 Jan 14:52

Added

  • new features: docsrs, num_int_niche.
  • add optional dependency unicode-width.
  • new root modules: io, render, ui.
  • new fns mem::ptr_in_stack, factorial_*, bytes_from_bits.
  • new structs Priming, Comparing, Slicing, Sorting, Biting, Int, Frac.
  • new traits: DataArray, PrimitiveCast, BitOps, NumInt, NumRefInt, VecExt.
  • new macros: bitfield, enumset, ident_const_index, ident_total_count, init_array.
  • new NumErrors variants: MismatchedSizes, NonNegativeRequired, PositiveRequired.
  • new color constants: COLOR_LUMINANCE_[RED|GREEN|BLUE].
  • complete Floating and FloatOps methods and constants.
  • reexport panic from error, and hint from code.
  • new type aliases: isize_up, usize_up.
  • new enums: DataErrors, Sign.

Removed

  • remove os::linux functionality.
  • remove features: linux, linux_unsafe, unsafe_linux, unsafe_os, ops, ops_unsafe, unsafe_ops, unsafe_code, unsafe_color, unsafe_result, unsafe_time, code_usafe, color_unsafe, result_unsafe, time_unsafe.
  • remove standalone fns from: num::ops, mem::slice, data::convert::collection.
  • remove linux specific tools and github actions.
  • remove the Underflow variant from NumErrors.
  • remove the prelude.

Changed

  • bump rust version to 1.75.0.
  • move term module to ui.
  • move any module to data.
  • move color module to render.
  • move num and ops modules to num.
  • move data::slice to mem::slice.
  • move error::{Also, Apply} to code.
  • move num::convert module to code.
  • move niche number types to num::niche.
  • move data::array to data::collections::array.
  • move corresponding standalone fns to Sorting, Comparing and Casting.
  • move cmp fns to Comparing methods: clamp*, max*, min*, pclamp, pmax, pmin.
  • rename meta module to code.
  • rename task module to work.
  • rename result module to error.
  • rename NumError and NumResult to NumErrors and NumResult, respectively, and move them to the num module.
  • rename AnsiColor3 to AnsiColor3b and AnsiColor8 to AnsiColor8b.
  • rename fns: div_half_* to div_ties_*.
  • rename term features to ui_term features.
  • rename Fp to Floating and FloatExt to FloatOps.
  • rename Floating and FloatOps float parameters to x, y z.
  • rename Floating and FloatOps method: round to round_ties_away.
  • rename FromPrimitives to PrimitiveJoin and IntoPrimitives to PrimitiveSplit.
  • rename fn mem_ptr_ratio and method Size::ptr_ratio to ptr_size_ratio.
  • rename reexported time types: Duration to SystemDuration, Instant to SystemInstant.
  • reexport BitwisePrimitives and CastPrimitives traits from prelude.
  • change Ansi::print method and ansip macro to depend on std.
  • improve Floating type and FloatOps trait to be partially available without std or libm features, reverting to the taylor versions when there's no better option.
  • impl DataCollection for array, Vec, VecDeque, OrderedMap, OrderedSet, UnorderedMap, UnorderedSet.
  • impl Error and Display for NumErrors.
  • make ascii_calc_digit_* functions public.
  • make DataCollection always available.
  • make prime_number_theorem compilable without libm nor std.
  • make devela_macros a non-optional dependency, and update it.
  • update color gamma fns, rename to color_gamma_[apply|remove]_f*, add f64 versions.
  • update DataCollection methods to return DataResult; add new methods collection_contains, collection_count.
  • update IntoPrimitives related method to take self, remove one generic argument.
  • update CastPrimitives with missing usize and isize methods.
  • update Collection trait.
  • update crate description.
  • update devela_depend.

Fixed

  • fix bytemuck dependency when data is enabled.
  • update and improve CI tests.
  • add many missing attributes.
  • fix and update many docs.

Full Changelog: v0.18.1...v0.19.0