Releases: andamira/devela
Releases · andamira/devela
v0.22.1
v0.22.0
Added
New features & flags
- new features for:
- code:
code
,error
,_unroll
,_unroll_128
,_unroll_256
,_unroll_512
,_unroll_1024
,_unroll_2048
. - data:
hash
. - doc:
_docsrs[_stable]_nodep
. - num:
alg
,geom
,prim
,cast
,join
,split
,unit
,wave
,_cmp_f16
,_cmp_f128
,_float_f16
,_float_f128
. - media
media
,safe_media
,audio
,color
,draw
,font
,image
,midi
. - sys:
time
,linux
,dep_linux
,unsafe_syscall
. - text:
ascii
,fmt
,str
,_char7
,_char8
,_char16
. - nightly:
nightly_alloc
,nightly_autodiff
,nightly_bigint
,nightly_float
,nightly_stable_next1
,nightly_stable_next2
,nightly_stable_later
. - safety:
safe_audio
,safe_color
,safe_draw
,safe_ffi
,safe_font
,safe_image
,safe_io
,safe_layout
,safe_ui
,safest
,unsafe_async
. - ui:
ui
,layout
. - other:
alloc_deps
,lang
,windows
,__force_miri_dst
.
- code:
- new cfg flags:
cargo_primary_package
,*·
,_*··
.
New items
- new structs:
Interval
,Pnm
.- new namespaces:
Alloc
,Arch
,ByteSearch
,Char
,Env
,Mem
,Ptr
,Str
. - new standalone error types:
FailedErrorConversion
,DataNotEnough
,NotImplemented
,NotSupported
,ElementNotFound
,InvalidAxisLength
,KeyAlreadyExists
,MismatchedCapacity
,MismatchedDimensions
,MismatchedIndices
,NodeEmpty
,NodeLinkNotSet
,NodeLinkNotUnique
,NotEnoughElements
,NotEnoughSpace
,IndexOutOfBounds
,DataOverflow
,PartiallyAdded
,InvalidChar
,InvalidUtf8
,SystemTimeError
. - new composite error types:
NotAvailable
,DataNotEnough
,MismatchedBounds
,PartialSpace
. False
,True
,UnitBi
,UnitSi
.HasherPengy
.Lgc16
.TimeSplit
.TypeResource
.WaveletHaar
,WaveletUnitVec
.
- new aliases:
AllocMapFx
,AllocSetFx
,FmtResult
,NoTime
.MediaResult
,AudioResult
,ColorResult
,DrawResult
,FontResult
,ImageResult
.UiResult
,LayoutResult
.- re-exported primitives:
char
. TimeSplitYearNano
,TimeSplitYearDay
,TimeSplitYearSec
,TimeSplitHourSec
,TimeSplitHourNano
,TimeSplitMilliNano
.
- new enums:
CompressionMode
,EncodingMode
,WaveletUnitRole
.AllError
,AllErrorKind
,MediaError
,ColorError
,AudioError
,DrawError
,FontError
,ImageError
,UiError
,LayoutError
.
- new enum variants:
DataError::ElementNotFound
.
- new traits:
ColorBase
,ExtCellOption
,ExtError
,ExtOptRes
,ExtPath
,ExtThread
,MemPod
,TypeResourced
,Unit
.WaveletCompressionVec
,WaveletTransformVec
.
- new associated methods and constants for:
Array
:from_fn
,contains_[from|to|between]
,as_bare_mut_slice
,get[_mut]
.Array
, when storingOption<T>
.Array2d
:cap_col
,cap_row
,cap_major
,cap_minor
,num_major
,num_minor
.BareBox
.ExtAny
methodtype_id
.Float
andExtFloat
:FRAC_1_SQRT_2PI
.eval_poly
to evaluate polynomials.- for calculus:
derivative
,integrate
,partial_derivative_[x|y]
.
Float
andExtFloatConst
consts:LOW_MARGIN
,MEDIUM_MARGIN
,HIGH_MARGIN
.Graph
methods:edge_exists_unchecked
,edge_remove
.NonValue*
:is_max
,is_min
,[checked|strict|saturating|wrapping]_[add|sub]
.Slice
:eq
,from_mut
,from_ref
,from_raw_parts
,from_raw_parts_mut
,range[_mut][_checked]
,range_from[_mut][_checked]
,range_to[_mut][_checked]
,take_first[_mut][_checked]
,take_last[_mut][_checked]
,take_omit_last[_mut][_checked]
.UnicodeScalar
&char*
types:MIN
.
- new macros:
capture_first!
,capture_last!
,capture_tail_tuple!
,const_bool!
,field_of!
,id_seq!
,impl_non_value!
,impl_trait!
,include_from!
,mod_from!
,str!
,type_marker!
,type_resource!
,unroll
.- private:
doc_availability!
,impl_error
,EMOJI_*
,TAG_*
.
- new vendored items
- structs:
CacheAlign
,ConstList
,FatPtr
,IdPinBox
,IdPin
,VecChunk
. - macros:
cfg_if!
,const_assert!
. - traits:
ConstBool
.
- structs:
- new optional dependencies:
allocator-api2
,bumpalo
,crossterm
,jiff
,js-sys
,kira
,midir
,nc
,pyo3
,rayon
,regex-lite
,rkyv
,rodio
,rustix
,safe_arch
,serde
,stringzilla
,symphonia
,sysinfo
,tinyaudio
,tokio
,tracing
,wasm-bindgen
,web-sys
,winnow
.
- new re-exported:
- items from:
alloc::alloc
,core::{cell, num, ops, result}
,std::{backtrace, fmt, path}
. - fns:
array_from_fn
,array_from_mut
,array_from_ref
. - macros:
assert_unchecked!
,autodiff
,compile_error!
,concat
,enumint!
,format!
,format_args!
,option_env!
,stringify
,thread_local!
,write!
,writeln!
.- wrapped:
env!
, asenv_!
,vec!
asvec_!
.
- structs:
NonZero
,Saturating
,Wrapping
,OsStr
,OsString
.HashMapEntry
andBTreeMapEntry
.HashMap
andBTreeMap
fromstd
ifhashbrown
is disabled.FromStr
,IterChars
.
- crate items from multiple related modules, like errors and strings.
- items from:
- new modules:
num::alg
,sys::sound
,media::{audio, color, draw, font, image, layout}
,phys
,ui
. - new
sys::os::linux
module and examplelinux
. - new
NonValue*
constantsMAX
,MIN
. - new lints.
Examples, utilities, manifest, files
- new examples:
id_pin
.id_seq
and typeExampleIdSeqUsize
.enumint
and typeExampleEnumIntU8
.
- manifest:
- add
patches
section. - add table of contents.
- add profiles:
dev-lto
,release-lto
.
- add
- new
.clippy.toml
configuration file. - new github workflows:
get_errno.yml
,get_syscall.yml
. - new scripts in
utils/
:cargo-native
,manifest.sh
,release_dates.rs
,get_errno.sh
,get_syscall.sh
,docs_coverage.sh
,docs_items.rs
. - new convenience fn:
manifest_dir
inbuild::utils
. - hide
no_inline
items re-exports. - new file
DOCS/VENDORED_rustdoc.md
- show docs for the build scripts (private).
- add system of internal structural modules.
- rustdoc html header:
- load katexextensions
mchem
andcopy-tex
. - trust
\href
commands. - move to
config/
.
- load katexextensions
- new directory
config/
.- put here a copy of
Cargo.toml::dep_all
.
- put here a copy of
Removed
- remove custom no_std
Error
definition. - remove items:
NeverOk
,NeverErr
,HasherFx32
,HasherFx64
. - remove types:
char24
,char32
,InRange*
,NonRange*
,HourMilliSplit
,SecNanoSplit
,YearSecSplit
. - remove aliases of text-related types.
- remove features:
_default
,_max
,_non_value_*
,_in_range
,num_geom
,unsafe_const
. - remove standalone
char_*
fns (namespaced inChar
). - remove standalone fn
hash_pengy
(made part ofHasherPengy
). - remove most re-exported fns from
std::mem
(namespaced inMem
). - remove re-exported fns from
std::ptr
(namespaced inPtr
). - remove convenience fn:
out_dir
from the build script. - disable
Graph*
,Node*
, andNodeIndex*
types. - remove
Float::const_abs
.
Changed
Misc.
- bump rust version to 1.83.0.
- start using
core::error::Error
.
Features & flags
- rename features:
unsafe_dyn
tounsafe_layout
.nightly_stabilized
tonightly_stable
._[max|min]_docs
to_docs_[max|min]
,_docsrs_max
to_docsrs
.dep_linux
tolinux_deps
,dep_text
totext_deps
,dep_work
towork_deps
.
- rename compilation flags:
_some_*
to_*··
._int_i_·
to_int_i··
,_int_u_·
to_int_u··
,_string_u_·
to_string_u··
.
- modify how features
_non_value_u8
,_non_value_u16
are enabled forChar*
types. - feature gate methods returning
DataResult
in:Array
,Array2d
,ArrayUninit
,Bitwise
,BitOps
. - show build env variables if
__dbg
feature is enabled.
Items
- structs:
- make
data::dst
types useMemPod
instead ofbytemuck::Pod
. - rename:
Also
toTap
,Apply
toChain
.COLOR
toColor
.Color
toColorBase
.GcdExt
toGcdResult
.AllocMap
toHashMap
,AllocSet
toHashSet
.AllocOrdMap
toBTreeMap
,AllocOrdSet
toBTreeSet
.AllocPrioQueue
toBinaryHeap
.AllocLinkedList
toLinkedList
.Dst*
types const-genericN
toCAP
.sys::io
items by prefixing them withIo
.Egc
toGrapheme
,EgcString
toGraphemeString
.EgcNonul
toGraphemeNonul
,EgcU8
toGraphemeU8
.UninitArray
toArrayUninit
.
- make
Compare
- make
Compare<usize>
always compiled. - implement for
f16
and128
.
- make
- functions and constant:
Graph::edge_exists
no loger panics.- rename:
Array::len
tocapacity
.mem_*
prefixed fns asMem
methods.ptr_*
prefixed fns asPtr
methods.
- make const most of the
Angle
methods. - make const all the
Float
methods that were previously feature-gated, and add:
eval_poly
,factorial
,mul_add_fallback
,scale
,lerp
,ln*_series
,log[10|2]_series
. - make const versions of the following
Float
methods:
clamp_nan
,fisr
,hypot_fisr
,max_nan
,min_nan
,cbrt_nr
,sqrt_nr
,hypot_nr
,rem_euclid
,*_series
,*_series_terms*
. - add additional const methods:
const_floor
,const_ceil
,const_round
,const_round_ties_away
,const_round_ties_even
,const_round_ties_odd
,const_trunc
,const_fract
,const_split
,const_signum
,const_copysign
,const_clamp
,const_min
,const_max
,const_powi
. - improve precision of
ExtFloatConst
constants from 35 to 80 decimals. - remove all
inline
attributes for most functions
- macros:
- update
cdbg!
to support a single@
. - update
reexport!
to support receiving an optional tag argument. - rename
mem_size_of_expr!
to `size_of_...
- update
v0.21.2
Added
- add convenience fns:
out_dir
andout_dir_path
to the build script. - add new
build::utils
module.
Changed
- move build codegen output from
/build/out/
to{OUT_DIR}/build/
. - show debug information about
OUT_DIR
and the code-generated files. - move
println
to theutils
module. - update
.gitignore
.
Fixed
- this should fix compilation in docs.rs.
Full Changelog: v0.21.1...v0.21.2
v0.21.1
Changed
- rename build script's
construct
folder tobuild
. - update
.gitignore
.
Fixed
- include
build
folder. - fix docs.
Full Changelog: v0.21.0...v0.21.1
v0.21.0
Added
- add features:
num_geom
,num_float
,num_int
,num_rand
,sys
,safe_sys
,unsafe_thread
. - add features:
_num_all
,_float_all
,_float_f[32|64]
,_int_all
,_int_[iu][all|8|16|32|64|128|size]
. - add features:
_bit_all
,_bit_[iu][8|16|32|64|128|size]
. - add features:
_ascii_all
,_ascii_u[8|16|32|64|128|size]
. - add features:
_non_value_all
,_non_value_[iu][8|16|32|64|128|size]
. - add features:
_non_range_all
,_non_range_[iu][8|16|32|64|128|size]
. - add features:
_range_all
,_non_range_[iu][8|16|32|64|128|size]
. - add features:
_sort_all
,_sort_[iu][8|16|32|64|128|size]
. - add features:
_cmp_all
,_cmp_[iu][8|16|32|64|128|size]
. - add features:
_default
,_min_docs
,_max_docs
,_max
,_docsrs_stable
,__dbg
,__no_test
nightly_stabilized
. - add features:
_node_all
,_node_u[8|16|32|64|128|size]
. - add compilation flags for reflection purposes, named
_some_*
. - enable
doc_notable_trait
unstable feature withnightly_doc
. - add traits:
ExtFuture
,ExtFloatConst
,ExtLog
,NumVector
. - add functions:
future_block
,hash_pengy
. - add type:
Prompt
. - add type:
Pinned
. - add type:
Timecode
. - add types:
NodeU*
,EdgeU*
GraphU*
. - add types:
LoggerConfig
,LoggerPrint
,Logging
. - add types:
Divisor
,GcdExt
,ValueQuant
. - add types:
Extent
,Extent2d
,Extent3d
. - add types:
Angle
,AngleDirection
,AngleKind
- add types:
Vector
,Vector2d
,Vector3d
,VecVector
. - add types:
Point
,Point2d
,Point3d
,Points
,VecPoints
. - add types:
HasherFnv
,HasherFx
,HasherFx32
,HasherFx64
,HasherBuildFnv
,HasherBuildFx
. - add types:
TupleIter
,TupleIterRef
,TupleIterMut
,TupleElement
,TupleElementRef
,TupleElementMut
. - add
ByteSized
constants:PTR_BITS
,LITTLE_ENDIAN
,BIG_ENDIAN
. - add unsigned
gcd_ext
andgcd_ext_euc
methods toInt
. - add
Floating
andExtFloat
method:neg_abs
. - add
*_assign
methods toNum
andNumRef
. - add
NumError
variant:NoInverse
. - add
DataError
variants:NodeLinkNotSet
,NodeLinkNotUnique
. - add new arms to
array_init:
init
,init_heap
. - add methods to
BareBox
:as_ref
. - add methods to
Array
:as_bare_slice
. - add methods to
Int
:midpoint
,modulo*
. - add methods to
Int
,NumInt
,NumRefInt
:midpoint
. - add methods to
ExtAny
:downcast_ref
,downcast_mut
. - add methods to
Tuple:
:nth_ref
,nth_mut
,into_iter
,iter_ref
,iter_mut
. - add methods to
Cast
andPrimitiveCast
:wrapping_cast_*
, for[iu]size_[up|down]
. - re-export more items from:
std::io
,core::ptr
. - re-export:
String
,ToString
,Rc
,RcWeak
. - add build script for debugging purposes.
- add lints table in manifest.
Removed
- remove features:
num_all
,ui
,ui_all
,num_float
,num_int
,num_niche_impls
,num_niche_range
,result
,safe_result
,fig
,safe_fig
,io
,io_safe
,os
,os_safe
,rend
,safe_rend
,safe_ui
,safe_ui_term
. - remove dependencies:
either
,crossterm
,miniquad
. - remove deprecated
ident_total_count
macro. - remove
repr(C)
attribute from niche types. - remove
Mem
trait bound fromByteSized
. - remove
gfx
module.
Changed
- bump rust version to 1.80.1.
- move
result
module insidecode
. - move
io
moule andos
submodules tosys
. - move
rustdoc-header.html
file to/DOCS/
. - move
_deps::{code, alloc, std}
to::{_libcore, _liballoc, _libstd}
. - rename
Range
toInRange
. - rename
Biting
toBitwise
. - rename
Mem
trait toExtMem
. - rename
Text
trait toStrOwn
. - rename
_docs
module to_info
. - rename
ExtTuple
trait toTuple
. - rename
copy
function toio_copy
. - rename
StringEgc
toEgcString
. - rename
NonSpecific*
toNonValue*
. - rename mem::
BitSize
to mem::BitSized
. - rename mem::
ByteSize
to mem::ByteSized
. - rename
NonEdge*
aliases toNonExtreme*
. - rename
ByteSized::PTR_SIZE
constant toPTR_BYTES
. - rename
os
module tosys
, make submodules private. - rename
work
module toexec
, make submodules private. - rename
Floating
wrapper toFloat
and make it ownself
. - rename
is_aarch64_feature_detected
todetect_aarch64
. - rename
is_x86_feature_detected
todetect_x86
. - rename
DataError
variant:EmptyNode
toNodeEmpty
. - rename private feature
_exclude_example
to__excluded
. - rename methods:
into_array_const
tointo_array_copy
,into_inner_const
tointo_inner_copy
,from_array_const
tofrom_array_copy
,as_array_const
toas_array_copy
,as_tuple_const
toas_tuple_copy
. - improve
cdbg
, allow to customize the location path and print fmt. - improve
enumset
, allow to specify the visibility and attributes of the set. - make
Compare
methods:pmin
,pmax
andpclamp
returnOption
. - change
TaskWakerNoop
struct intotask_waker_noop
fn. - add more consts to
Float
andExtFloat
. - add the
?Sized
trait bound forExtAny
auto-impls. - change
From<float>
forSign
to return the zero sign. - change default
Tuple
arity to 12. - change tuple capability features to:
_tuple_arity_24
,_tuple_arity_36
,_tuple_arity_48
,_tuple_arity_60
,_tuple_arity_72
,_tuple_arity_96
. - add bounds for
color_gamma_*
functions. - make some methods const:
Slice::<u8>::trim_leading_bytes
,StringU*::from_bytes_n[left|right]
,Timecode::split_nanos_u[32|64]
. - make some methods optionally const:
Slice::{lsplit, msplit_[left|right]}
,Ascii::digits_str
,StringU*::from_bytes_n[left|right][_unchecked]
. - feature-gate
Compare
impls for primitives. - feature-gate
StackU*
methodown_resize_default_truncate
. - feature-gate
Float
methods:clamp_total
,max_total
,min_total
. - feature-gate
ExtFloat
methods:clamp_total
,max_total
,min_total
. - make optionally const
Int
methods:is_prime
,prime_nth
,prime_pi
, - move the enabling of all module's sub-features to the root module feature.
- update CI actions/checkout@v3 -> v4.
- update
devela_macros
.
Fixed
- fix
exec
re-exports. - fix
Bitsized
impl for niche types. - fix feature-gating of
Compare
methods:is_normal
,is_subnormal
. - make
_info/examples
parseable byrustfmt
. - add missing
NumInt
sqrt
implementations. - make no-std io
memrchr
function private.
Full Changelog: v0.20.0...v0.21.0
v0.20.0
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 ofstd::error
andstd::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
andsok
. - add type aliases:
isize_down
,usize_down
. - add niche number aliases:
NonEdge*
. - add
Bare
type alias ofunit
. - add module:
fig
. - add script
tools/rustfmt
andrustfmt_excluded_files
list. - add new
DataError
variants:MismatchedLength
, `InvalidAxisLength. - add new
TextError
variants:CharConversion
,OutOfBounds
. - add new
Floating
andExtFloat
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
fromcode
.
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 andIntBufAble
trait. - remove re-exported macro:
option_unwrap
. - remove type aliases:
NonMax*
`NonMin*, DirectArray, BoxedArray. - remove file
.gitattributes
. - remove
CharConversionError
. - remove
asci_
standalone fns. - deprecate
ident_total_count
macro.
Changed
- bump rust version to 1.76.0.
- make
num::cmp
non-public. - move
cmp
fromdata
tonum
. - move
ops
fromnum
tocode
. - move
any
fromdata
tocode
. - move docs html header to
src/_doc
. - move
.git_hooks
totools/git_hooks
. - move traits:
Apply
,Also
toresult
. - make
bytemuck
a non-optional dependency. - rename
src/Doc.md
tosrc/_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 toresult
, and therender
module togfx
. - rename
AnyExt
,OptionExt
,ResultExt
,SliceExt
,SliceExtMut
,StrExt
andStringExt
toExtAny
,ExtOption
,ExtResult
,ExtSlice
,ExtSliceMut
,ExtStr
andExtString
andExtVec
respectively. - rename
LiteCoroutine
,LiteCoroutineExecutor
,LiteCoroutineWaiter
andLiteCoroutineWaker
toCoro
,CoroRun
CoroYield
andTaskWakerNoop
, respectively. - rename
ArrayStringError
toTextError
,ArrayU*String
toStringU*
,ArrayU8NonNulString
toStringNonul
,ArrayU8NonNulEgc
toEgcNonul
. - rename
DataErrors
toDataError
andNumErrors
toNumError
. - rename
num_int_niche
feature tonum_niche_impls
. - rename
*fence
functions toatomic_*fence
. - rename
ascii_
re-exported macros tostr_
. - prefix allocated collections with
Alloc
. - rename aliases:
Dst*U
toDst*Usize
. - rename mem::
Size
to mem::ByteSize
. - rename feature
docsrs
to_docsrs
. - rename
FloatOps
toExtFloat
. - rename feature
full
toall
. - rename
Direct
toBareBox
. - rename
Slicing
toSlice
. - rename
Sorting
toSort
. - rename
Primiting
toCast
. - rename
Comparing
toCompare
. - 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 onalloc
. - make
bitfield
andenumset
examples standalone. - recreate the
pre-commit
script to leveragerustfmt
. - update
enumset
: renameLEN
associated constant toENUM_VARIANTS
, and addenum_variants
method. - update the
cdbg
macro with column number. - update and improve the
array_init
macro. - update the
cswap
macro withxor
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
v0.19.0
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
andFloatOps
methods and constants. - reexport
panic
fromerror
, andhint
fromcode
. - 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 fromNumErrors
. - remove the prelude.
Changed
- bump rust version to
1.75.0
. - move
term
module toui
. - move
any
module todata
. - move
color
module torender
. - move
num
andops
modules tonum
. - move
data::slice
tomem::slice
. - move
error::{Also, Apply}
tocode
. - move
num::convert
module tocode
. - move niche number types to
num::niche
. - move
data::array
todata::collections::array
. - move corresponding standalone fns to
Sorting
,Comparing
andCasting
. - move
cmp
fns toComparing
methods:clamp*
,max*
,min*
,pclamp
,pmax
,pmin
. - rename
meta
module tocode
. - rename
task
module towork
. - rename
result
module toerror
. - rename
NumError
andNumResult
toNumErrors
andNumResult
, respectively, and move them to the num module. - rename
AnsiColor3
toAnsiColor3b
andAnsiColor8
toAnsiColor8b
. - rename fns:
div_half_*
todiv_ties_*
. - rename
term
features toui_term
features. - rename
Fp
toFloating
andFloatExt
toFloatOps
. - rename
Floating
andFloatOps
float parameters tox
,y
z
. - rename
Floating
andFloatOps
method:round
toround_ties_away
. - rename
FromPrimitives
toPrimitiveJoin
andIntoPrimitives
toPrimitiveSplit
. - rename fn
mem_ptr_ratio
and methodSize::ptr_ratio
toptr_size_ratio
. - rename reexported time types:
Duration
toSystemDuration
,Instant
toSystemInstant
. - reexport
BitwisePrimitives
andCastPrimitives
traits fromprelude
. - change
Ansi::print
method andansip
macro to depend onstd
. - improve
Floating
type andFloatOps
trait to be partially available withoutstd
orlibm
features, reverting to the taylor versions when there's no better option. - impl
DataCollection
forarray
,Vec
,VecDeque
,OrderedMap
,OrderedSet
,UnorderedMap
,UnorderedSet
. - impl
Error
andDisplay
forNumErrors
. - make
ascii_calc_digit_*
functions public. - make
DataCollection
always available. - make
prime_number_theorem
compilable withoutlibm
norstd
. - make
devela_macros
a non-optional dependency, and update it. - update color gamma fns, rename to
color_gamma_[apply|remove]_f*
, addf64
versions. - update
DataCollection
methods to returnDataResult
; add new methodscollection_contains
,collection_count
. - update
IntoPrimitives
related method to takeself
, remove one generic argument. - update
CastPrimitives
with missingusize
andisize
methods. - update
Collection
trait. - update crate description.
- update
devela_depend
.
Fixed
- fix
bytemuck
dependency whendata
is enabled. - update and improve CI tests.
- add many missing attributes.
- fix and update many docs.
Full Changelog: v0.18.1...v0.19.0
v0.18.1
v0.18.0
Added
- new
ops
gcd fns:gcd_*
,gcd_ext_*
andgcd_ext_euc_*
,lcm_*
. - new
ops
base fns:count_digits
,count_digits_sign
,count_digits_base
,count_digits_base_sign
,digital_root
,digital_root_base
. - new
ops
factor fns:factors_*
,factors_proper_*
,factors_prime_*
,factors_prime_unique_*
,factors_prime_buf_*
,factors_prime_unique_buf_*
,factors_prime_unique_plus_buf_*
. - new
ops
sort fns:sort_bubble
,sort_insertion
,sort_merge
,sort_quick_lomuto
,sort_quick_hoare
,sort_quick_3way
,sort_selection
,sort_shaker
,sort_counting
,sort_counting_buf
. - new
mem
macro:cswap
. - add new fn to
LinuxTerminal
size:pixels_per_cell
. - new trait
FloatExt
and structFp
.
Changed
- changed result of
LinuxTerminalSize
fns:cells
andpixels
to[u16; 2]
. - rename
const_for
tocfor
and make it always available. - make
ops::cmp
float fns always available. - add
libm
feature to docs.rs compilation.
Fixed
- add missing rustdoc header file.
- fix reversed order of
LinuxTerminalSize::cells
.
Full Changelog: v.0.17.0...v0.18.0
v.0.17.0
Added
- new types:
DstArray
,DstValue
,DstStack
,DstQueue
,DstQueueIter
,DstQueueIterMut
,DstQueuePopHandle
,DstStackIter
,DstStackIterMut
. - new
ops
fns:div_rem_*
,div_ceil_*
,div_floor_*
,div_half_away_*
,div_half_towards_*
,div_half_even_*
,div_half_odd_*
,sqrt_*
,sqrt_ceil_*
,sqrt_floor_*
,scale_*
,lerp_*
. - new aliases:
DstQueueU
,DstStackU
,DstValueU
,DstVecU
. - new trait:
DstBuf
. - impl more traits for
Array:
PartialOrd
,Ord
,AsRef
,AsMut
,Borrow
,BorrowMut
,Hash
. - new features:
color
,color_unsafe
,unsafe_color
,ops
,ops_unsafe
,unsafe_ops
. - add katex docs header to support mathematical notation.
- new optional dependency:
libm
. - new modules:
color
,ops
.
Removed
- remove features:
nightly_docs
,cmp
,cmp_unsafe
,unsafe_cmp
,convert
,convert_unsafe
,unsafe_convert
. - remove
az
optional dependency.
Changed
- rename
Collection
toDataCollection
. - make
Array
private field public to the crate. - rename
depend
feature todep
anddepend
module to_dep
. - allow warnings for broken intra-doc links when
dep
is disabled. - move to
ops
the modules:cmp
,convert
. - update cargo aliases for docs.
- bump
devela_depend
.
Fixed
- fix test for
mem_size_of_expr
. - remove redundant re-exports of optional dependencies.
- update cargo aliases.
Full Changelog: v0.16.0...v.0.17.0