Releases: andamira/devela
Releases · andamira/devela
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
v0.16.0
Added
- add
mem_size_of_expr
macro. - new type
NumErr
, new type aliasNumResult
. - reexport
BinaryHeap
fromdata::PriorityQueue
. - new time module, and features:
time
,time_unsafe
,unsafe_time
. - add
min_fsize
,max_fsize
,clamp_fsize
total_cmp_fsize
. - new struct
Array
, and aliasesBoxedArray
,DirectArray
. - new trait
Collection
.
Removed
- remove features:
ascii
,ascii_unsafe
,unsafe_ascii
,char
,char_unsafe
,unsafe_char
,fmt
,fmt_unsafe
,unsafe_fmt
,future
,future_unsafe
,unsafe_future
,option
,option_unsafe
,unsafe_option
,slice
,slice_unsafe
,unsafe_slice
,str
,str_unsafe
,unsafe_str
,sync
,sync_unsafe
,unsafe_sync
,texts
,texts_unsafe
,thread
,thread_unsafe
,unsafe_thread
. - remove trait
AltDebug
.
Changed
- rename
HashMap
,HashSet
asUnorderedMap
,UnorderedSet
. - rename
BTreeMap
,BTreeSet
asOrderedMap
,OrderedSet
. - change the result type of Num methods from
Option
toResult
. - move to
text
the root modules:ascii
,char
,fmt
str
. - move to
task
the root modules:future
,sync
,thread
. - move the traits
Also
,Apply
toresult
. - move to
data
the root module:slice
. - rename
collections
module todata
. - rename
codegen
module tometa
. - rename
string
module totext
. - make
Storage
always compiled.
Fixed
- reexport missing
result::{NeverOk, NeverErr}
types.
Full Changelog: v0.15.0...v0.16.0
v0.15.0
Added
- new modules:
collections
,future
,task
. - new features:
collections
,depend
,future
,future_unsafe
,unsafe_future
,task
,task_unsafe
,unsafe_task
,async
,async_unsafe
,term
,term_unsafe
,unsafe_term
,collections_unsafe
,unsafe_collections
. - new type aliases:
Egc16
,Egc32
,Egc64
,Egc128
,NonNulEgc8
,NonNulEgc16
,NonNulEgc32
,NonNulEgc64
,NonNulEgc128
. - new structs:
StringEgc
,ArrayU8Egc
,ArrayU8NonNulEgc
,LiteCoroutine
,LiteCoroutineExecutor
,LiteCoroutineWaiter
,LiteCoroutineWaker
,Direct
,Boxed
. - re-export std's items from
collections
,future
,mem
,task
,vec
. - new traits
AnyExt
,Egc
,Num
,NumRef
,Mem
,Size
,BitSize
,Storage
. - add new optional dependencies
devela_depend
,hashbrown
. - new fns:
mem_ptr_ratio
. - new type aliases:
fsize
,NoNum
.
Removed
- remove macros:
manifest_dir
,sfb
. - remove features:
lean
,leanest
,chars
,strings
,os
,os_unsafe
. - remove unneded conversion impls from chars to strings.
Changed
- bump MSRV to
1.73.0
. - add features
linux
,term
tofull
. - optional dependencies can be enabled directly or via
depend
. - rename
mem
fns by prefixing them withmem_
:mem_as_bytes
,mem_as_bytes_mut
,mem_as_bytes_sized
. - rename
Num
trait fns with thenum_
prefix; rename fnget
tonum_into
; add fnnum_from
. - update
bytemuck
, enable more features.
Fixed
- new private helper macro
reexport
for reexported items. - do not enable the empty
default
feature. - improve re-exports rustdoc tags.
- fix
core::num
re-exports. - improve many docs.
- improve CIs.
Full Changelog: v0.14.0...v0.15.0