Change log
[0.9.0] - 2020-05-25
This version requires Unity 2019.3.12f1+
Added
- Added
RemoveAtandRemoveRangeto list containers in collections. These methods remove elements in a list container while preserving the order of the list. These methods are slower thanRemove*SwapBackmethods and as shuch, you should useRemove*SwapBackif you don't want to preserve the order inside\*Listcontainer.
Changed
Updated package
com.unity.burstto version1.3.0-preview.12.Removed
- Removed expired APIs for
UnsafeHashMap.Length - Removed expired APIs for
NativeHashMap.Length
Fixed
- Moved
NativeMultiHashMap.Remove<TValueEQ>(TKey key, TValueEq value)into an extension method and made it Burst compatible - Fixed a bug in
*HashMap.Removeto not throw when removing from empty hash map.
[0.8.0] - 2020-04-24
Added
- Added
Native/UnsafeBitArray.Copyfor copying or shifting bits inside array. - Added
UnsafeAtomicCounter32/64providing helper interface for atomic counter functionality. - Added
NativeBitArrayproviding arbitrary sized bit array functionality with safety mechanism.
Changed
- Bumped Burst version to improve compile time and fix multiple bugs.
Deprecated
- Deprecated
IJobNativeMultiHashMapMergedSharedKeyIndices,JobNativeMultiHashMapUniqueHashExtensions,IJobNativeMultiHashMapVisitKeyValue,JobNativeMultiHashMapVisitKeyValue,IJobNativeMultiHashMapVisitKeyMutableValue,JobNativeMultiHashMapVisitKeyMutableValue, and introducedNativeHashMap.GetUnsafeBucketDataandNativeMultiHashMap.GetUnsafeBucketDatato obtain internals to implement deprecated functionality inside user code. If this functionality is used, the best is to copy deprecated code into user code.
Removed
- Removed expired API
class TerminatesProgramAttribute
[0.7.1] - 2020-04-08
Deprecated
- Deprecated
Lengthproperty fromNativeHashMap,UnsafeHashMap,NativeMultiHashMap,UnsafeMultiHashMap,NativeQueue, and replaced it withCount()to reflect that there is computation being done.
Fixed
- Fixed an issue where
FixedListDebugView<T>only existed for IComparable types, which lead to a crash while debugging other types. - Removed code that made NativeStream incompatible with Burst.
[0.7.0] - 2020-03-13
Added
- Added ability to dispose NativeKeyValueArrays from job (DisposeJob).
- Added
NativeQueue<T>.ToArrayto copy a native queue to an array efficiently
Changed
- Upgraded Burst to fix multiple issues and introduced a native debugging feature.
Deprecated
- Deprecated
Lengthproperty fromNativeHashMap,UnsafeHashMap,NativeMultiHashMap,UnsafeMultiHashMap,NativeQueue, and replaced it withCount()to reflect that there is computation being done.
Removed
- Removed expired API
CollectionHelper.CeilPow2() - Removed expired API
CollectionHelper.lzcnt() - Removed expired API
struct ResizableArray64Byte<T>
Fixed
- Removed code that made
NativeStreamincompatible with Burst.
[0.6.0] - 2020-03-03
Added
- Added ability to dispose
UnsafeAppendBufferfrom aDisposeJob.
Changed
UnsafeAppendBufferfieldSizerenamed toLength.- Removed
[BurstDiscard]from all validation check functions. Validation is present in code compiled with Burst.
Removed
- Removed expired overloads for
NativeStream.ScheduleConstructwithout explicit allocators.
Fixed
- Fixed
UnsafeBitArrayout-of-bounds access.
[0.5.2] - 2020-02-17
Changed
- Changed
NativeList<T>parallel reader/writer to match functionality ofUnsafeListparallel reader/writer. - Updated dependencies of this package.
Removed
- Removed expired API
UnsafeUtilityEx.RestrictNoAlias
Fixed
- Fixed bug in
NativeList.CopyFrom.
[0.5.1] - 2020-01-28
Changed
- Updated dependencies of this package.
[0.5.0] - 2020-01-16
Added
- Added
UnsafeRingQueue<T>providing fixed-size circular buffer functionality. - Added missing
IDisposableconstraint toUnsafeListandUnsafeBitArray. - Added
ReadNextArray<T>to access a raw array (pointer and length) from anUnsafeAppendBuffer.Reader. - Added FixedString types, guaranteed binary-layout identical to NativeString types, which they are intended to replace.
- Added
FixedList<T>generic self-contained List struct - Added
BitArray.SetBitswith arbitrary ulong value. - Added
BitArray.GetBitsto retrieve bits as ulong value.
Changed
- Changed
UnsafeBitArraymemory initialization option default toNativeArrayOptions.ClearMemory. - Changed
FixedListstructs to pad to natural alignment of item held in list
Deprecated
BlobAssetComputationContext.AssociateBlobAssetWithGameObject(int, GameObject)replaced by itsUnityEngine.ObjectcounterpartBlobAssetComputationContext.AssociateBlobAssetWithUnityObject(int, UnityEngine.Object)to allow association of BlobAsset with any kind ofUnityEngine.Objectderived types.- Adding removal dates to the API that have been deprecated but did not have the date set.
Removed
- Removed
IEquatableconstraint fromUnsafeList<T>.
Fixed
- Fixed
BitArray.SetBits.
[0.4.0] - 2019-12-16
This version requires Unity 2019.3.0f1+
New Features
- Adding
FixedListTNas a non-generic replacement forResizableArrayN<T>. - Added
UnsafeBitArrayproviding arbitrary sized bit array functionality.
Fixes
- Updated performance package dependency to 1.3.2 which fixes an obsoletion warning
- Adding
[NativeDisableUnsafePtrRestriction]toUnsafeListto allow burst compilation.
[0.3.0] - 2019-12-03
New Features
- Added fixed-size
BitField32andBitField64bit array.
Changes
Removed the following deprecated API as announced in/before 0.1.1-preview:
- Removed
struct ConcurrentandToConcurrent()forNativeHashMap,NativeMultiHashMapandNativeQueue(replaced by the ParallelWriter API). - From NativeStream.cs:
struct NativeStreamReaderandstruct NativeStreamWriter, replaced bystruct NativeStream.Readerandstruct NativeStream.Writer. - From NativeList.cs:
ToDeferredJobArray()(replaced byAsDeferredJobArray()API).
[0.2.0] - 2019-11-22
This version requires Unity 2019.3 0b11+
New Features
- Added fixed-size UTF-8 NativeString in sizes of 32, 64, 128, 512, and 4096 bytes.
- Added HPC# functions for float-to-string and string-to-float.
- Added HPC# functions for int-to-string and string-to-int.
- Added HPC# functions for UTF16-to-UTF8 and UTF8-to-UTF16.
- New
Native(Multi)HashMap.GetKeyValueArraysthat will query keys and values at the same time into parallel arrays. - Added
UnsafeStream,UnsafeHashMap, andUnsafeMultiHashMap, providing functionality ofNativeStreamcontainer but without any safety mechanism (intended for advanced users only). - Added
AddNoResizemethods toNativeList. When it's known ahead of time that list won't grow, these methods won't try to resize. Rather exception will be thrown if capacity is insufficient. - Added
ParallelWritersupport forUnsafeList. - Added
UnsafeList.TrimExcessto set capacity to actual number of elements in the container. - Added convenience blittable
UnsafeList<T>managed container with unmanaged T constraint.
Changes
UnsafeList.Resizenow doesn't resize to lower capacity. User must callUnsafeList.SetCapacityto lower capacity of the list. This applies to all other containers based onUnsafeList.- Updated dependencies for this package.
Fixes
- Fixed NativeQueue pool leak.
[0.1.1] - 2019-08-06
Fixes
NativeHashMap.Remove(TKey key, TValueEQ value)is now supported in bursted code.- Adding deprecated
NativeList.ToDeferredJobArray()back in - UseAsDeferredJobArray()instead. The deprecated function will be removed in 3 months. This can not be auto-upgraded prior to Unity2019.3. - Fixing bug where
TryDequeueon an emptyNativeQueuethat previously had enqueued elements could leave it in an invalid state whereEnqueuewould fail silently afterwards.
Changes
- Updated dependencies for this package.
[0.1.0] - 2019-07-30
New Features
- NativeMultiHashMap.Remove(key, value) has been addded. It lets you remove all key & value pairs from the hashmap.
- Added ability to dispose containers from job (DisposeJob).
- Added UnsafeList.AddNoResize, and UnsafeList.AddRangeNoResize.
- BlobString for storing string data in a blob
Upgrade guide
Native*.Concurrentis renamed toNative*.ParallelWriter.Native*.ToConcurrent()function is renamed toNative*.AsParallelWriter().NativeStreamReader/Writerstructs are subclassed and renamed toNativeStream.Reader/Writer(note: changelot entry added retroactively).
Changes
- Deprecated ToConcurrent, added AsParallelWriter instead.
- Allocator is not an optional argument anymore, user must always specify the allocator.
- Added Allocator to Unsafe*List container, and removed per method allocator argument.
- Introduced memory intialization (NativeArrayOptions) argument to Unsafe*List constructor and Resize.
Fixes
- Fixed UnsafeList.RemoveRangeSwapBack when removing elements near the end of UnsafeList.
- Fixed safety handle use in NativeList.AddRange.
[0.0.9-preview.20] - 2019-05-24
Changes
- Updated dependencies for
Unity.Collections.Tests
[0.0.9-preview.19] - 2019-05-16
New Features
- JobHandle NativeList.Dispose(JobHandle dependency) allows Disposing the container from a job.
- Exposed unsafe NativeSortExtension.Sort(T* array, int length) method for simpler sorting of unsafe arrays
- Imporoved documentation for
NativeList - Added
CollectionHelper.WriteLayoutdebug utility
Fixes
- Fixes a
NativeQueuealignment issue.
[0.0.9-preview.18] - 2019-05-01
Change tracking started with this version.