Releases: andamira/devela
Releases · andamira/devela
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
v0.14.0
Added
- new single module features:
ascii
,char
,cmp
,convert
,fmt
,mem
,num
,ops
,os
,str
,string
,sync
,option
,result
,path
,ascii_unsafe
,char_unsafe
,cmp_unsafe
,convert_unsafe
,fmt_unsafe
,mem_unsafe
,num_unsafe
,ops_unsafe
,os_unsafe
,str_unsafe
,string_unsafe
,sync_unsafe
,option_unsafe
,result_unsafe
,path_unsafe
,unsafe_linux
,unsafe_ops
,unsafe_sync
,unsafe_option
,unsafe_result
,unsafe_path
,linux
,linux_unsafe
,codegen
,codegen_unsafe
,unsafe_codegen
,thread
,unsafe_thread
,thread_unsafe
. - new multiple module features:
fullest
,full_unsafe
,lean
,lean_unsafe
,leanest
,strings
,chars
,strings_unsafe
,chars_unsafe
,texts
,texts_unsafe
. - new functions
char_utf8_2bytes_len
,char_utf8_3bytes_len
,char_utf8_4bytes_len
.
Removed
- remove deprecated macro
bdbg
.
Changed
- make
StrExt
andStringExt
new_counter
method depend onascii
. - update modules to depend on their homonymous features:
ascii
,char
. - do not require
unsafe
forlinux
structs, just for the unsafe methods. - make dependencies optional:
az
,bytemuck
,atomic
,portable-atomic
,const-str
. - replace the shell script tools with a more powerful rust script.
- move macros:
sf
,sfb
to thecodegen
module. - add itself as a dev-dependency.
Fixed
- make private the
Range*::XOR_VALUE
constant. - add missing must_use and inline attributes.
- add missing unsafe safeguarded features.
- reexport
option_unwrap
fromall
. - simplify documentation on features.
- add global warning
missing_docs
. - update docs.
Full Changelog: v0.13.0...v0.14.0
v0.13.0
[0.13.0] - 2023-09-29
Added
- new enum
AsciiChar
ported from unstablestd
. - new fns:
char_byte_len
,char_is_7b
,char_is_noncharacter
,ascii_usize_digits
,count_digits
,count_digits_unchecked
. - new
char*
methods:from_ascii_char
,to_ascii_char
. - new module:
string
. - new trait:
StringExt
. - new enum:
ArrayStringError
. - new features:
unsafe_ascii
,unsafe_string
. - new structs:
ArrayU8String
,ArrayU16String
,ArrayU32String
,ArrayU8NonNulString
. - new type alises:
String16
,String32
,String64
,String128
,NonNulString128
,NonNulString16
,NonNulString32
,NonNulString64
,NonNulString128
. - new
StrExt
method:new_counter
.
Changed
- rename
os::terminal
andos::linux::terminal
submodules toterm
.
Fixed
- add missing inlines.
Full Changelog: v0.12.0...v0.13.0
v0.12.0
Added
- new
const_for
macro. - new fn
ascii_calc_digit
. - new
LinuxTerminal
methodsize
. - new features:
linux
,unsafe_char
. - new
LinuxTermios
methodget_winsize
. - new function
linux_sig_handler_no_return
. - new
Ansi
methodsCURSOR_NEXT_LINE*
,CURSOR_PREV_LINE*
. - new
Ansi
methods:CURSOR_PREV_LINE_N
,CURSOR_NEXT_LINE_N
,CURSOR_LEFT_N
,CURSOR_RIGHT_N
,CURSOR_UP_N
,CURSOR_MOVE_N
. - new
Ansi
const methods:COLORS
,BRIGHT_COLORS
,COLORS_BRIGHT_FG
,COLORS_BRIGHT_BG
,COLORS256
,COLOR256_FG
,COLOR256_BG
,RGB
,RGB_FG
,RGB_BG
,GRAY
. - new
Ansi
consts:CSI
,GRAY*
,GRAY*_BG
,ERASE_LINE
,ERASE_LINE_END
,ERASE_LINE_START
,ERASE_SCREEN_START
,ERASE_SCREEN_END
. - new structs:
LinuxTerminalSize
,AnsiColor8
,Char7
,Char8
,Char16
,Char24
,Char32
,CharConversionError
. - new enums:
AnsiColor3
,NeverOk
,NeverErr
.
Changed
- move
iif
macro tocodegen
module. - update
os_*print*
macros to work instd
. - use const byte arrays instead of const slices for
Ansi
escape codes. - rename ansi constant
CLEAR_SCREEN
toERASE_SCREEN
. - rename fns
u*_to_ascii
toascii_u*_digits
. - rename fns
ascii_d*
toascii_*digit
. - rename
bdbg
tocdbg
, again.
Fixed
- use
u8_to_ascii
instead ofascii_3digit
foru8
types. - add missing inlines for
Ansi
const fns.
Full Changelog: v0.11.0...v0.12.0
v0.11.0
Added
- new structs
LINUX_SYS_X86_64
,LINUX_SYS_X86
,LINUX_SYS_ARM
,LINUX_SYS_AARCH64
,LINUX_SYS_RISCV
,LINUX_SIGACTION
,LinuxSigaction
,LINUX_TERMIOS_CFLAG
,LINUX_TERMIOS_IFLAG
,LINUX_TERMIOS_LFLAG
,LINUX_TERMIOS_OFLAG
,LinuxTerminal
. - new functions:
linux_sys_getrand
,linux_sys_getpid
,linux_sys_rt_sigaction
,linux_getpid
,linux_handle_signals
,linux_random_bytes
,linux_random_u8
,linux_random_u16
,linux_random_u32
,linux_random_u64
,linux_random_i128
. - new macros:
ansi
,ansib
,ansip
. - new static:
LINUX_TERMINAL_STATE
. - add
linux_sys_nanosleep
forriscv
. - add missing
LINUX_ERRNO
values. - new type alias
LINUX_SYS
. - new
check_miri.sh
script. - new dependencies:
const-str
,atomic
,portable-atomic
. - new macros:
os_print
,os_println
,os_eprint
,os_eprintln
. - add scripts to get linux syscalls and error numbers as rust constants.
- add CI actions to get
syscall.h
anderrno.h
values for each target. - new
sync
module andatomic
submodule. - new
os::linux::terminal
module. - new
LinuxTermios
methods:enable_raw_mode
,disable_raw_mode
,is_terminal
,get_state
,set_state
. - new
LinuxSigaction
methodnew
. - reexport all
core::sync::atomic
types; reexportOrdering
asAtomicOrdering
. - reexport renamed
const-str
macros fromascii
,str
andoption
modules. - reexport
atomic::Atomic
and allportable-atomic
types. - reexport
core::num::NonZero*
types fromnum
module.
Removed
- remove the already deprecated macros
cdbg
,rfs
. - remove the already deprecated feature
no-std
. - remove fns:
linux_enable_raw_mode
,linux_disable_raw_mode
,linux_is_terminal
. - remove struct
AnsiColor
, and move its constants toAnsi
. - remove the specific print methods from
Ansi
.
Changed
- rename
SysTimeSpec
toLinuxTimespec
,SysTermios
toLinuxTermios
. - rename
ERRNO
toLINUX_ERRNO
,IOCTL
toLINUX_IOCTL
. - rename
Ansi
associated constants*_ALTERNATIVE_SCREEN
to*_ALT_SCREEN
. - rename
Ansi
associated functions*_alternative_screen
to*_alt_screen
. - modify
LinuxSigaction
fields: removeunsafe
and wrapsa_restorer
withOption
. - rename
_features
module to_doc
. - move check scripts to
/tools/
.
Fixed
- fix
ioctl
andnanosleep
syscalls foraarch64
. - fix
nanosleep
syscall forarm
. - fix
ioctl
syscall forriscv
. - refactor modules:
ascii
,codegen
,option
,result
,str
. - ensure dependencies doesn't include default features.
- update .gitattributes to show all languages.
- move lengthy
target_arch
rustdoc tags to the doc-comments. - update documentation on reexported types.
Full Changelog: v0.10.0...v0.11.0
v0.10.0
Added
- new features:
unsafe_mem
,unsafe_str
. - new modules :
ascii
,os::terminal
,str
,_features
. - new fns in
ascii:
:ascii_d[1-4]
,u[BITS]_to_ascii
. - new fns in
mem:
as_bytes
,as_bytes_mut
,as_bytes_sized
. - new fns in
os::linux
:sys_ioctl
. - new fns in
os::terminal
:is_terminal
,enable_raw_terminal
,disable_raw_terminal
,eprint
,eprintln
get_char
,get_dirty_char
,get_line
,get_utf8_bytes
,get_str
,pause_until_char
,println
,prompt
. - new structs in
os::linux
:ERRNO
,FILENO
,IOCTL
,SysTermios
. - new struct in
os::terminal
:Ansi
,AnsiColor
. - new methods for
SysTimeSpecs
:as_ptr
andas_mut_ptr
. - new trait
StrExt
. - new macro:
sfb
.
Changed
- rename and deprecate
rfs
macro forsf
. - change
SysTimeSpec
to accept arguments innew
fn, and deriveDefault
. - move
os::linux
file descriptor constnts toFILENO
struct. - make
bytemuck
non-optional.
Fixed
- use
isize
instead ofi32
foros::linux
errno
constants. - use
c_int
andc_ulong
instead ofi32
andu64
forfd
constants and syscall args. - remove cfg check for
os::linux
to beno_std
compatible. - move documentation on features to
_features
. - move derived works info to a separate file.
- avoid loading
sys_nanosleep
in risc-v. - fix
az
andbytemuck
reexports. - fix arm assembly.
Full Changelog: v0.9.0...v0.10.0
v0.9.0
Added
- new features:
full
,unsafe_os
. - add
full
tonightly_docs
feature. - new
os
module, withlinux
submodule. - new functions:
sys_exit
,sys_read
,sys_write
,sys_nanosleep
,get_byte
,print
,print_bytes
. - new struct
SysTimeSpec
. - add
bytemuck
's featureextern_crate_std
tostd
.
Removed
- remove the
Copy
trait fromIntBuf
. - remove the
boxed
module andbx
fn. - remove the
string
module andS
macro. - remove
unsafe_num
from thebytemuck
feature. - remove
bytemuck
from theunsafe
feature.
Changed
- deprecate and rename
cdbg
macro tobdbg
.
Fixed
- fix the
iif
module. - improve the
num
docs. - improve docs related to features.
- refactor manifest and update comments.
- separate lengthy module level docs into markdown files.
Full Changelog: v0.8.0...v0.9.0
v0.8.0
Added
- add features:
safest
andunsafe
. - new
deprecate_feature
macro. - new
sleep4
macro.
Removed
- remove
num::*
module reexport from the prelude. - remove fns
counter_string
,indent
, macroiformat
(move totextos
).
Changed
- deprecate feature
no-std
forno_std
. - bump MSRV to
1.72.0
.
Fixed
- fix cargo aliases.
- fix external reexports.
Full Changelog: v0.7.1...v0.8.0
v0.7.1
- unhide the macros from the root.
- reexport
paste
with wrapped documentation.
Full Changelog: v0.7.0...v0.7.1