Skip to content

v0.20.0

Compare
Choose a tag to compare
@joseluis joseluis released this 12 Mar 10:21

Added

  • add traits: NumToStr, ConstDefault, DataQueue, DataDeque, DataStack, DataDesta, ExtTuple, ExtArray.
  • add types: Destaque, DestaqueIter, Stack, StackIter, Mismatch, Own, GfxError, GfxResult, Pnm, Array2d, OptRes, TupleFmt, ArrayFmt, UninitArray, Ascii, MilliToHour, NanoToSec, SecToYear.
  • add features: fig, num_all, safe_code, safe_data, safe_fig, safe_gfx, safe_mem, safe_num, safe_os, safe_result, safe_text, safe_time, safe_ui, safe_ui_term, safe_work, unsafe_array, unsafe_async, unsafe_const, unsafe_dyn, unsafe_niche, unsafe_slice, unsafe_str, nightly_coro, nightly_doc, _exclude_example, ui_window, ui_events, num_niche_range.
  • add capability features: _capability_max, _tuple_arity_31, _tuple_arity_63, _tuple_arity_95, _tuple_arity_127.
  • add RNGS: Xabc, XorShift8, XorShift8Custom, XorShift16, XorShift32, XorShift64, XorShift128, XorShift128p, Xyza8a, Xyza8b.
  • add Floating constants: FRAC_1_PHI, NEG_FRAC_1_PHI, SQ_PHI, FRAC_NEG_1_PHI.
  • add no_std reimplementations of std::error and std::io types and traits.
  • add non-optional dependency either and re-export its items.
  • add optional dependencies: memchr, wide, crossterm, miniquad, rand_core.
  • add macros: assert_eq_all, assert_approx_eq_all, unwrap.
  • add Array methods: new_boxed, into_slice, into_vec.
  • add examples: cargo-script, bitfield, enumset.
  • add fns: mem_copy, serr and sok.
  • add type aliases: isize_down, usize_down.
  • add niche number aliases: NonEdge*.
  • add Bare type alias of unit.
  • add module: fig.
  • add script tools/rustfmt and rustfmt_excluded_files list.
  • add new DataError variants: MismatchedLength, `InvalidAxisLength.
  • add new TextError variants: CharConversion, OutOfBounds.
  • add new Floating and ExtFloat methods: sign, is_zero, is_sign_positive_nonzero, is_sign_negative_nonzero.
  • re-export proc-macros: ident_total, ident_unique, ident_total_unique.
  • re-export crate-defined result-related types from result.
  • re-export core types from data::iter.
  • re-export core tpes from num::cmp.
  • re-export Default from code.

Removed

  • remove devela_depend, simplify system for optional dependencies.
  • remove features: fullest, safest, unsafest, full_unsafe, data_unsafe, mem_unsafe, num_unsafe, os_unsafe, text_unsafe, ui_unsafe, ui_term_unsafe, work_unsafe, dep, dep_interop.
  • remove IntBuf type and IntBufAble trait.
  • remove re-exported macro: option_unwrap.
  • remove type aliases: NonMax* `NonMin*, DirectArray, BoxedArray.
  • remove file .gitattributes.
  • remove CharConversionError.
  • remove asci_ standalone fns.
  • deprecateident_total_count macro.

Changed

  • bump rust version to 1.76.0.
  • make num::cmp non-public.
  • move cmp from data to num.
  • move ops from num to code.
  • move any from data to code.
  • move docs html header to src/_doc.
  • move .git_hooks to tools/git_hooks.
  • move traits: Apply, Also to result.
  • make bytemuck a non-optional dependency.
  • rename src/Doc.md to src/_doc/features.md.
  • rename ::{_alloc, _core, _std} to ::_deps::{alloc, core, std}.
  • rename the __doc module to _docs and the _dep module to _deps.
  • rename the error module to result, and the render module to gfx.
  • rename AnyExt, OptionExt, ResultExt, SliceExt, SliceExtMut, StrExt and StringExt to ExtAny, ExtOption, ExtResult, ExtSlice, ExtSliceMut, ExtStr and ExtString and ExtVec respectively.
  • rename LiteCoroutine, LiteCoroutineExecutor, LiteCoroutineWaiter and LiteCoroutineWaker to Coro, CoroRun CoroYield and TaskWakerNoop, respectively.
  • rename ArrayStringError to TextError, ArrayU*String to StringU*, ArrayU8NonNulString to StringNonul, ArrayU8NonNulEgc to EgcNonul.
  • rename DataErrors to DataError and NumErrors to NumError.
  • rename num_int_niche feature to num_niche_impls.
  • rename *fence functions to atomic_*fence.
  • rename ascii_ re-exported macros to str_.
  • prefix allocated collections with Alloc.
  • rename aliases: Dst*U to Dst*Usize.
  • rename mem::Size to mem::ByteSize.
  • rename feature docsrs to _docsrs.
  • rename FloatOps to ExtFloat.
  • rename feature full to all.
  • rename Direct to BareBox.
  • rename Slicing to Slice.
  • rename Sorting to Sort.
  • rename Primiting to Cast.
  • rename Comparing to Compare.
  • document selected examples from _docs.
  • derive common traits for Boxed, Cast.
  • always compile num submodules in general.
  • always compile text::fmt, work::async::coro.
  • make text chars methods not depend on alloc.
  • make bitfield and enumset examples standalone.
  • recreate the pre-commit script to leverage rustfmt.
  • update enumset: rename LEN associated constant to ENUM_VARIANTS, and add enum_variants method.
  • update the cdbg macro with column number.
  • update and improve the array_init macro.
  • update the cswap macro with xor swap.
  • improve the pre-commit git hook.

Fixed

  • refactor root modules, simplify and dissassociate root-level feature-gating.
  • update and add more tests for macros: cfor, mem_size_of_expr.
  • allow to forbid unsafe at the individual module level.
  • fix data::dst feature-gates.

Full Changelog: v0.19.0...v0.20.0