Skip to content

Latest commit

 

History

History
454 lines (434 loc) · 14.8 KB

CHANGELOG.md

File metadata and controls

454 lines (434 loc) · 14.8 KB

TBD

Added

nstd

  • Added NSTDAnyRef[Mut]::from_ptr.

0.13.0

Added

nstd.core

  • Added core.alloc.

Changed

nstd.alloc

  • NSTDAllocError & NSTDAllocator were moved into core.alloc.
  • Allocation functions now use NSTDAllocLayout.

nstd.core

  • nstd_core_mem_copy[_overlapping] functions are no longer const.

nstd.heap_ptr

  • nstd_heap_ptr_new[_zeroed] functions now take an NSTDAllocLayout.

nstd.os

  • Always define operating system constants as a u8 value of either 0 or 1.
  • Standalone allocation functions now use NSTDAllocLayout.

nstd.shared_ptr

  • nstd_shared_ptr_new[_zeroed] functions now take an NSTDAllocLayout.

nstd.vec

  • NSTDVec constructors now take an align argument.

Removed

nstd.os

  • Removed NSTD[Unix|Windows]AllocError in favor of NSTDAllocError.

0.12.0

Changed

nstd.core

  • Merged nstd.core.ptr.raw into nstd.core.mem.

0.11.0

Removed

nstd.thread

  • Removed NSTDOptionalThreadHandle.
  • Removed NSTDOptionalThreadID.

0.10.0

Added

nstd

  • Added NSTDRef[Mut].
  • Added NSTDAnyRef[Mut].

nstd.core

  • Added NSTDOptionalRef[Mut].
  • Added NSTDOptionalAnyRef[Mut].

Changed

nstd.core

  • nstd_core_math_div_[ceil|floor]_* functions now return optionals.
  • nstd_core_str[_mut]_from_bytes functions no longer panic.
  • Functions in nstd.core.mem no longer panic.
  • Functions in nstd.core.ops now return optionals instead of panicking.

nstd.fs

  • nstd_fs_write no longer panics.

nstd.os

  • nstd_os_windows_str_to_utf16 now returns NSTDOptionalVec.

nstd.proc

  • nstd_proc_spawn no longer panics.

nstd.shared_lib

  • nstd_shared_lib_load no longer panics.

nstd.string

  • nstd_string_new_with_cap now returns NSTDOptionalString.

nstd.vec

  • nstd_vec_new_with_cap now returns NSTDOptionalVec.

Removed

nstd.core

  • Removed nstd_core_abort_with_msg.
  • Removed nstd_core_ops_[inc|dec]_* functions.

0.9.0

Added

nstd

  • Added an nstd feature to enable all modules.
  • Added a link feature.

nstd.io

  • Added NSTDOptionalStd[in|out|err][Lock].

nstd.mutex

  • Added NSTDOptionalMutex.

nstd.thread

  • Added NSTDOptionalThreadHandle.
  • Added NSTDOptionalThreadID.

Changed

nstd

  • Removed the nstd_ prefix from all features.

nstd.env

  • nstd_env_temp_dir now returns NSTDOptionalString.

nstd.io

  • nstd_io_std[in|out|err] functions now return NSTDOptionalStd[in|out|err] respectively.
  • nstd_io_std[in|out|err]_lock functions now return NSTDOptionalStd[in|out|err]Lock respectively.

nstd.mutex

  • nstd_mutex_new now returns NSTDOptionalMutex.
  • nstd_mutex_lock now returns NSTDOptionalMutexLockResult.

nstd.thread

  • NSTDThreadResult is now NSTDOptionalHeapPtr.
  • nstd_thread_spawn now takes const NSTDThreadDescriptor *desc.
  • nstd_thread_[current|handle] functions now return NSTDOptionalThreadHandle.
  • nstd_thread_id now returns NSTDOptionalThreadID.

Removed

nstd

  • Removed the asm feature.

nstd.thread

  • nstd_thread_spawn_with_desc.

0.8.0

Added

nstd.alloc

  • Added NSTDAllocator & NSTD_ALLOCATOR.

nstd.cstring

  • Added nstd_cstring_allocator.

nstd.heap_ptr

  • Added nstd_heap_ptr_allocator.

nstd.shared_ptr

  • Added nstd_shared_ptr_allocator.

nstd.string

  • Added nstd_string_allocator.

nstd.vec

  • Added nstd_vec_allocator.

Changed

nstd.cstring

  • nstd_cstring_from_cstr[_unchecked] functions now take an NSTDAllocator.
  • nstd_cstring_new[_with_cap] functions now take an NSTDAllocator.
  • nstd_cstring_new_with_cap no longer panics.

nstd.env

  • nstd_env_var no longer panics.
  • nstd_env_temp_dir now returns NSTDOptionalString.
  • nstd_env_current_[dir|exe] functions no longer panic.

nstd.fs

  • nstd_fs_absolute no longer panics.
  • nstd_fs_read[_to_string] functions no longer panic.

nstd.heap_ptr

  • nstd_heap_ptr_new[_zeroed] functions now take an NSTDAllocator.

nstd.io

  • nstd_io_read[_line] functions no longer panic.

nstd.shared_ptr

  • nstd_shared_ptr_new[_zeroed] functions now take an NSTDAllocator.

nstd.string

  • nstd_string_from_str now takes an NSTDAllocator.
  • nstd_string_new[_with_cap] functions now take an NSTDAllocator.
  • nstd_string_new_with_cap no longer panics.
  • nstd_string_from_* functions now return NSTDOptionalString.

nstd.vec

  • nstd_vec_from_slice now takes an NSTDAllocator.
  • nstd_vec_new[_with_cap] functions now take an NSTDAllocator.
  • nstd_vec_new[_with_cap] functions no longer panic.
  • nstd_vec_from_slice no longer panics.
  • nstd_vec_set_len no longer returns NSTDErrorCode.

0.7.0

Added

nstd.core

  • Added nstd_core_abort[_with_msg].
  • Added NSTDOptionalAny[Mut].
  • Added nstd_core_slice[_mut]_empty.

nstd.heap_ptr

  • Added nstd_heap_ptr_drop.

nstd.mutex

  • Added nstd_mutex_into_inner.
  • Added nstd_mutex_drop.

nstd.os

  • Added NSTD_UNIX_ALLOC_ERROR_INVALID_LAYOUT.
  • Added nstd_os_unix_mutex_into_inner.
  • Added nstd_os_unix_mutex_drop.
  • Added NSTDUnixAllocError.

nstd.shared_ptr

  • Added nstd_shared_ptr_drop.

nstd.timed_mutex

  • Added nstd_timed_mutex_into_inner.
  • Added nstd_timed_mutex_drop.

nstd.vec

  • Added nstd_vec_drop.

Changed

nstd

  • Updated windows-sys to version 0.48.

nstd.core

  • nstd_core_str[_mut]_[from_cstr|from_raw_cstr[_with_null]|len|get|to_*] no longer panics.
  • nstd_core_cstr[_mut]_[is_null_terminated|get_null|get][_const] no longer panics.
  • nstd_core_slice[_mut]_[get|last][_const] no longer panics.
  • nstd_core_mem_compare no longer panics.
  • NSTDOptional & NSTDResult now use NSTDUInt8 as a discriminant.
  • nstd_core_unichar_is_digit no longer panics.
  • nstd.core.time functions now take NSTDDuration by value.
  • nstd_core_slice_mut_copy now panics.

nstd.cstring

  • nstd_cstring_new[_with_cap] now returns NSTDOptionalCString.
  • nstd_cstring_push now returns NSTDAllocError.
  • nstd_cstring_[new|from_cstr[_unchecked]|push|pop] no longer panics.
  • nstd_cstring_from_cstr[_unchecked] now returns NSTDOptionalCString.
  • nstd_cstring_clone now returns NSTDOptionalCString.

nstd.env

  • nstd_env_set_current_dir no longer panics.

nstd.fs

  • nstd_fs_[[create|remove]_[file|dir|dirs]|rename|copy|metadata] no longer panics.
  • nstd_fs_file_[open|read_all|read_to_string] no longer panics.

nstd.heap_ptr

  • nstd_heap_ptr_[new[_zeroed]|clone] now returns NSTDOptionalHeapPtr.

nstd.io

  • nstd_io_print[_line] no longer panics.
  • nstd_io_stdin[_lock]_[read_all|read_to_string|read_line] no longer panics.

nstd.os

  • nstd_os_unix_mutex_timed_lock now takes NSTDDuration by value.
  • nstd.os.unix.time functions now take NSTDUnixTime & NSTDDuration by value.

nstd.shared_ptr

  • nstd_shared_ptr_new[_zeroed] now returns NSTDOptionalSharedPtr.

nstd.string

  • nstd_string_[len|push[_str]|pop] no longer panics.
  • nstd_string_from_[str|bytes] now returns NSTDOptionalString.
  • nstd_string_clone now returns NSTDOptionalString.

nstd.thread

  • nstd_thread_spawn_with_desc no longer panics.
  • nstd_thread_spawn[_with_desc] now takes NSTDOptionalHeapPtr.
  • nstd_thread_sleep now takes NSTDDuration.

nstd.time

  • nstd_time_now now returns NSTDOptionalTime.
  • nstd.time functions now take NSTDTime & NSTDDuration by value.

nstd.timed_mutex

  • nstd_timed_mutex_timed_lock now takes NSTDDuration by value.

nstd.vec

  • nstd_vec_[end|get|push|pop|insert|remove][_mut] no longer panics.
  • nstd_vec_from_slice now returns NSTDOptionalVec.
  • nstd_vec_clone now returns NSTDOptionalVec.

0.6.0

nstd

Fixed some C99 header incompatibilities.

nstd.core

  • Added nstd.core.time.
  • nstd.core.cty's functions now use NSTDChar.
  • Added nstd_core_unichar_is_[ascii|alphabetic|numeric|alphanumeric|lowercase|uppercase|whitespace|control|digit].
  • Added nstd_core_unichar_replacement.
  • nstd_core_str[_mut]_substr now returns NSTDOptionalStr[Mut].
  • nstd_core_str[_mut]_from_[cstr|raw_cstr[_with_null]|bytes] now returns NSTDOptionalStr[Mut].
  • nstd_core_cstr[_mut]_new now returns NSTDOptionalCStr[Mut].
  • nstd_core_slice[_mut]_new now returns NSTDOptionalSlice[Mut].
  • nstd_core_ptr[_mut]_new now returns NSTDOptionalPtr[Mut].

nstd.fs

  • nstd_fs_file_[read[_all|_to_string]|write] now returns NSTDIOResult.

nstd.io

  • Added NSTDStd[in|out|err]Lock.
  • nstd_io_[stdout|stderr]_write now returns NSTDIOResult.
  • nstd_io_stdin_read[_all|_to_string|_line] now returns NSTDIOResult.
  • Added NSTDIOResult.

nstd.os

  • Added nstd.os.unix.time.
  • Added NSTD_OS_[IOS|ANDROID|DRAGONFLY|FREEBSD|NETBSD|OPENBSD|BSD|HAIKU|NTO|SOLARIS].
  • Added NSTDUnixIOResult.
  • Added nstd.os.unix.mutex.

0.5.0

nstd

  • Renamed the clib feature to capi.
  • Moved NSTDUnichar into core.
  • Added nstd.mutex.
  • Added nstd.timed_mutex.
  • Added nstd.time.
  • Updated windows-sys to version 0.45.

nstd.core

  • Added nstd_core_[ptr|slice|cstr][_mut]_new_unchecked.
  • nstd_core_ops_sh[l|r]_* now take NSTDUInt32 as their right operand.
  • Removed floating-point operations from nstd.core.ops.
  • nstd_core_str[_mut]_get now returns NSTDOptionalUnichar.
  • nstd_core_cty_is_unicode now takes NSTDChar32.
  • Added nstd_core_panic_with_msg.

nstd.cstring

  • Added NSTDOptionalCString.

nstd.fs

  • Added nstd_fs_metadata.

nstd.heap_ptr

  • Added NSTDOptionalHeapPtr.

nstd.os

  • Added NSTD_UNIX_IO_ERROR_IS_DIR.
  • Added nstd.os.unix.io.
  • nstd_os_windows_shared_lib_load now accepts Unicode.
  • Added nstd_os_windows_str_to_utf16.
  • Added nstd_os_unix_shared_lib_handle.

nstd.shared_lib

  • nstd_shared_lib_load now takes NSTDStr.

nstd.shared_ptr

  • Added NSTDOptionalSharedPtr.

nstd.string

  • Added NSTDOptionalString.
  • nstd_string_push now returns NSTDAllocError.
  • nstd_string_pop now returns NSTDOptionalUnichar.

nstd.vec

  • Added NSTDOptionalVec.
  • Added nstd_vec_reserved.

0.4.1

nstd

  • Fixed missing panic handler compiler error for embedded builds.

0.4.0

nstd

  • Added nstd.env.

nstd.core

  • Added nstd_core_ptr_raw_is_aligned.
  • Added nstd_core_ptr_raw_align[_mut].
  • Added NSTDOptional[Ptr|Slice|CStr|Str][Mut].
  • Added nstd_core_ptr_raw_dangling[_mut].
  • Added nstd_core_str[_mut]_as_cstr.

nstd.cstring

  • Added nstd_cstring_from_bytes.
  • Added nstd_cstring_from_cstr_unchecked.
  • Removed nstd_cstring_as_cstr_mut.

nstd.fs

  • nstd_fs_[absolute|read_to_string] now returns NSTDIOStringResult.
  • nstd_fs_read now returns NSTDIOBufferResult.

nstd.heap_ptr

  • nstd_heap_ptr_new_zeroed is now unsafe.

nstd.io

  • nstd_io_read[_line] now returns NSTDIOStringResult.
  • Added NSTDIOBufferResult & NSTDIOStringResult.

nstd.os

  • Added NSTDWindowsHandle.
  • Removed NSTDWindowsSharedLibHandle.
  • Removed NSTDWindowsHeapHandle.
  • Removed NSTDUnixSharedLibHandle.
  • [unix.alloc] Fixed linker error when using multiple versions of the crate.

nstd.shared_lib

  • nstd_shared_lib_load now takes NSTDCStr.

nstd.shared_ptr

  • nstd_shared_ptr_new_zeroed is now unsafe.

nstd.string

  • Added nstd_string_from_bytes.

nstd.thread

  • Added NSTDThreadResult.
  • nstd_thread_name now returns NSTDOptionalStr.
  • NSTDThreadDescriptor::name is now NSTDOptionalStr.
  • Added nstd_thread_current.

nstd.vec

  • Added nstd_vec_end[_mut].
  • Added nstd_vec_set_len.
  • Renamed nstd_vec_as_mut_ptr to nstd_vec_as_ptr_mut.

0.3.3

nstd

  • Internal safety improvements.
  • Added proc.
  • Added thread.
  • Removed dependency for libloading.

nstd.os

  • Added NSTDUnixSharedLibHandle.
  • Added NSTD_OS_UNIX.

0.3.2

nstd

  • Second attempt to fix docs.rs build for non-x86_64 Unix systems.

0.3.1

nstd

  • Attempted to fix docs.rs build for non-x86_64 Unix systems.

0.3.0

nstd

  • The overflow behavior for the "release" profile has been set to panic.
  • The panic behavior for the "release" profile has been set to abort.

nstd.core

  • str[_mut]_to_* functions now return NSTDOptional.
  • Added cstr[_mut]_[first|last][_const].
  • Added ops.
  • Added cty_is_unicode.
  • Renamed str[_mut]_get_char to str[_mut]_get.
  • Added NSTDOptional.
  • Added NSTDResult.
  • Added panic.
  • Made math_[clamp|div_ceil|div_floor]_* safe.

nstd.cstring

  • Added clear.
  • Added from_cstr.
  • Renamed to_bytes to into_bytes.

nstd.fs

  • Added NSTDFileResult.

nstd.os

  • Added NSTDWindowsHeapHandle.
  • Added NSTDWindowsSharedLibHandle.
  • Added unix.alloc.
  • Added [unix|windows].shared_lib.
  • Added NSTDWindowsHeapResult.
  • Added windows_alloc_heap_validate.
  • Added windows_alloc_heap_size.
  • Added NSTDWindowsAllocError.
  • Renamed NSTDWindowsHeapHandle to NSTDWindowsHeap.

nstd.shared_lib

  • Added NSTDOptionalSharedLib.

nstd.string

  • Added clear.
  • Added from_str.
  • Renamed to_bytes to into_bytes.

nstd.vec

  • Added clear.
  • Added from_slice.

0.2.0

nstd

  • Added nstd.fs.
  • Added nstd.math.
  • Added asm feature.
  • Made NSTDChar a primitive.
  • Updated windows-sys to version 0.42.

nstd.core

  • Made str[_mut]_substr unsafe.
  • Made str[_mut]_from_bytes unsafe.
  • Made str[_mut]_from_cstr unsafe.
  • Renamed cty's ASCII functions (is_punctuation, is_graphic, to_lowercase, to_uppercase).
  • Added mem_search.
  • Added str[_mut]_from_raw_cstr[_with_null].
  • Made cstr[_mut]_get_null[_const] unsafe.
  • Made cstr[_mut]_from_raw[_with_null] unsafe.
  • Renamed range types.
  • math_[clamp|div_ceil|div_floor] are now unsafe.
  • cty_is_[graphic|punctuation] now take NSTDChar.
  • Added math_div_floor_*.
  • Added math_pow_*.
  • Added math_abs_*.

nstd.os

  • Added NSTD_OS_[LINUX|MACOS|WINDOWS] constants.
  • Made NSTDWindowsHeapHandle a structure.

0.1.3

nstd

  • Added extern "C" to NSTDAPI (removes NSTDCPP[START|END]).

nstd.core

  • Removed nstd_core_slice[_mut]_compare.

0.1.2

nstd

  • Removed Const postfix from NSTDAnyConst.

nstd.core

  • Fixed NSTDSlice[Mut]::as_slice[_mut] returning a slice of incorrect length.
  • Renamed fty functions.
  • Added nstd_core_str[_mut]_byte_len.
  • Removed Const postfix from NSTD[Ptr|Slice|Str|CStr]Const.

nstd.string

  • Added nstd_string_byte_len.

0.1.1

nstd

  • Renamed NSTD[I|U]Size to NSTD[U]Int.

nstd.core

  • Fixed math.div_ceil functions returning the incorrect value.

0.1.0

nstd

  • Added nstd.alloc.
  • Added nstd.core.
  • Added nstd.cstring.
  • Added nstd.heap_ptr.
  • Added nstd.io.
  • Added nstd.os.
  • Added nstd.shared_lib.
  • Added nstd.shared_ptr.
  • Added nstd.string.
  • Added nstd.vec.