Releases: oliverbooth/X10D
Releases · oliverbooth/X10D
v4.0.0
Features
- add Unpack for IBinaryInteger #84 (Oliver Booth)
- convert DigitalRoot and Mod to generic math #84 (Oliver Booth)
- add generic math where possible in MathUtility #84 (Oliver Booth)
- add string.ConcatIf #85 (Oliver Booth)
- add value-passthru overloads for ConcatIf #85 (Oliver Booth)
- add service/impl register for AddHostedSingleton #85 (Oliver Booth)
- add IBinaryInteger.CountDigits #84 (Oliver Booth)
- add markdown formatting methods #85 (Oliver Booth)
- add Span overloads to complement char.Repeat/string.Repeat #85 (Oliver Booth)
- add range-based foreach #85 (Oliver Booth)
- add EnqueueAll/DequeueAll, PushAll/PopAll for Queue and Stack #85 (Oliver Booth)
Bug Fixes
- tests: remove outdated tests #85 (Oliver Booth)
- tools: clear Package property groups #85 (Oliver Booth)
- tests: add support for trace logging during tests #85 (Oliver Booth)
- ci: build on subdir branch push #85 (Oliver Booth)
- ci: build on subdir branch push (Oliver Booth)
- fix incorrect endian swap #85 (Oliver Booth)
- fix marshal of decimal for netstandard 2.1 #85 (Oliver Booth)
- include WriteBits to !NET5_0_OR_GREATER #85 (Oliver Booth)
- discard Repeat return value #85 (Oliver Booth)
- ci: install dotCover global tool for sonarcloud workflow #85 (Oliver Booth)
- chore: don't pull CHANGELOG.md contents in PackageReleaseNotes #85 (Oliver Booth)
- remove netcoreapp3.1 target from Benchmarks tool (#87) #85 (Oliver Booth)
- ci: drop netcoreapp3.1 from dotnet workflow (#87) #85 (Oliver Booth)
- tests: remove ambiguous call to Span.Count (#88) #85 (Oliver Booth)
- revert changes by merge conflict from #89 #85 (Oliver Booth)
- tests: assert correct exception for IList.RemoveRange #85 (Oliver Booth)
- tests: add test to fix coverage on DateOnly.Deconstruct #85 (Oliver Booth)
- ci: workflow should use 'with' not 'env' (Oliver Booth)
- ci: convert coverage report to codecov supported format #85 (Oliver Booth)
- ci: fix coverage reports (Oliver Booth)
- fix order of bytes in decimal write bytes methods #85 (Oliver Booth)
Documentation
- fix xmldoc for Line3D #85 (Oliver Booth)
- add more documentation pages #85 (Oliver Booth)
- give background and info #85 (Oliver Booth)
- mention target loss in changelog #85 (Oliver Booth)
- update 3.x.x migration docs #85 (Oliver Booth)
Styles
- test: format span tests #85 (Oliver Booth)
- remove UTF8 BOM #84 (Oliver Booth)
- remove UTF8 BOM #85 (Oliver Booth)
- remove UTF8 BOM #85 (Oliver Booth)
- mark WriteBits conditional #85 (Oliver Booth)
- cap lines to 130 in length #85 (Oliver Booth)
- tests: use Has.Length for length assertion #85 (Oliver Booth)
- tests: use more meaningful test names #85 (Oliver Booth)
- docs: one-line element #85 (Oliver Booth)
- format document #85 (Oliver Booth)
- add braces around parent for loop #85 (Oliver Booth)
- amend 2fb91d5 #85 (Oliver Booth)
- discard pure return of Randomize #85 (Oliver Booth)
- remove double blank line #84 (Oliver Booth)
- remove trailing whitespace on line 10 #85 (Oliver Booth)
Code Refactoring
- rem...
v3.3.1
Bug Fixes
- fix AddHostedSingleton not accepting interface as service type (Oliver Booth)
Chores
- bump to 3.3.1 (Oliver Booth)
Commits
- 71a9c78: Merge branch 'hotfix/3.3.1' into main (Oliver Booth)
v3.3.0
Features
- add service/impl register for AddHostedSingleton (Oliver Booth)
Bug Fixes
- replace Moq with a library that DOESN'T steal your pii (Oliver Booth)
Chores
- bump to 3.3.0 (Oliver Booth)
Commits
- 70cb1b7: Merge branch 'release/3.3.0' into main (Oliver Booth)
v3.2.2
Breaking Changes
- a717976: style!: rename parameter for DateTime.Age and DateTimeOffset.Age (Oliver Booth)
Features
- add DateOnly extensions (Oliver Booth)
- add math extensions for BigInteger (Oliver Booth)
- add Unpack for IBinaryInteger (Oliver Booth)
- add Span.Replace (Oliver Booth)
- add CountDigit for integer types (Oliver Booth)
- add TextWriter.WriteNoAlloc/WriteLineNoAlloc (Oliver Booth)
- add Component move/copy (Oliver Booth)
- add Progress.OnProgressChanged (Oliver Booth)
- add RaycastHit.GetComponent and RaycastHit.TryGetComponent (Oliver Booth)
- add float/double support for WriteNoAlloc and WriteLineNoAlloc (Oliver Booth)
- add DebugUtility.DrawFunction (Oliver Booth)
- add IEnumerable.Except(T) (Oliver Booth)
- add support for new usernames (Oliver Booth)
- add support for new usernames (Oliver Booth)
Bug Fixes
- only copy Unity-serialized members (Oliver Booth)
- fix issue with GetComponentsInChildrenOnly checking wrong Transform (Oliver Booth)
- test: fix malformed test (Oliver Booth)
- suppress CA5394 (Oliver Booth)
- validate null arguments for Polygon and PolygonF extensions (Oliver Booth)
- validate null arguments in X10D.Unity (Oliver Booth)
- docs: fix cp source (+g. oops) (Oliver Booth)
Documentation
- update version in CHANGELOG (Oliver Booth)
- explain use of ref return (Oliver Booth)
- add initial docfx intro (Oliver Booth)
- add favicon and app title to docfx project (Oliver Booth)
- properly document ArgumentNullException (Oliver Booth)
- update changelog (Oliver Booth)
- update version in README (Oliver Booth)
Styles
- move MethodImplOptions to resource file (Oliver Booth)
- remove redundant CLSCompliant on internal methods (Oliver Booth)
- test: use constraint API for length check (Oliver Booth)
- remove unused using directives (Oliver Booth)
- move Write/WriteLine overloads to files (Oliver Booth)
Code Refactoring
- revert 47f3a13 (Oliver Booth)
- remove Copy/Move component functionality (Oliver Booth)
- test: remove IEnumerator tests (Oliver Booth)
- test: remove lingering IEnumerator test (Oliver Booth)
Tests
- replace playmode tests with NUnit tests (#76) (Oliver Booth)
- fix expected/actual value swap (#76) (Oliver Booth)
- remove redundant quality checks (#76) (Oliver Booth)
- use NUnit constraint API in X10D.Unity.Tests (#76) (Oliver Booth)
- return coverage to 100% (#76) (Oliver Booth)
- suppress ReSharper.Unity.InefficientPropertyAccess (Oliver Booth)
Builds
- bump to 4.0.0 (Oliver Booth)
- move meta tools to subdir (Oliver Booth)
Continuous Integration
- run dotnet workflow for develop (Oliver Booth)
Chores
- suppress tfm support build warnings (Oliver Booth)
- switch from MSTest to NUnit (#76) (Oliver Booth)
- add benchmarks project (Oliver Booth)
- move SourceGenerator to tools folder (Oliver Booth)
- remove X10D prefix from sourcegen (Oliver Booth)
- add AutoOverload and OverloadType attribute (Oliver Booth)
- make attributes internal (Oliver Booth)
- add MetaServices to sln (Oliver Booth)
- test: update test project to 2021.3.22f1 (Oliver Booth)
- bump to 3.2.1 (Oliver Booth)
- bump to 3.2.2 (Oliver Booth)
Commits
- d1e4243: [ci skip] ci: only publish nightly on push to main (Oliver Booth)
- 3fede7e: [ci skip] merge branch 'develop' into main (Oliver Booth)
- a717976: style!: rename parameter for DateTime.Age and DateTimeOffset.Age (Oliver Booth)
- d09ea69: [ci skip] docs: update upm stable in README (Oliver Booth)
- 65d8242: Merge branch 'develop' into main (Oliver Booth)
- 71b4ac5: Merge branch 'develop' into main (Oliver Booth)
- 172380c: [ci skip] chore: add meta services (Oliver Booth)
- 57ff32e: [ci skip] docs: add comment explaining my absolute pain (Oliver Booth)
- 1fe2a26: Merge branch 'develop' into main (Oliver Booth)
- b2e4092: [ci skip] docs: remove addition of component copy/move (Oliver Booth)
- b70b704: Merge branch 'develop' into main (Oliver Booth)
- c5ea6cc: [ci skip] docs: add conventional commit to contrib guidelines (Oliver Booth)
- 9b4ef5a: Merge branch 'develop' into main (Oliver Booth)
- 3bd69df: Merge branch 'develop' into main (Oliver Booth)
- 4639fbd: Merge branch 'develop' into main (Oliver Booth)
- a23be6d: [ci skip] fix(ci): mkdir docfx_project/images (Oliver Booth)
- a07cc41: Merge branch 'main' into develop (Oliver Booth)
- af6534d: Merge branch 'develop' into main (Oliver Booth)
- b5f4c16: [ci skip] update bug-report.yml (Oliver Booth)
- 1c58403: [ci skip] ci: add workflow_dispatch trigger for sonarcloud (Oliver Booth)
- a0d70ea: [ci skip] ci: add workflows for push to any branch (Oliver Booth)
- 5459943: [ci skip] ci: run dotnet and unity workflows from all branches (Oliver Booth)
- 334c64e: [ci skip] ci: add workflow_dispatch trigger to nightly workflow (Oliver Booth)
- 7222bbb: Merge branch 'release/3.2.1' into main (Oliver Booth)
- 7b844bd: Merge branch 'release/3.2.2' into main (Oliver Booth)
v3.2.0
Features
- add Saturate for floating point types (#60) #68 (Oliver Booth)
- add string.EnsureEndsWith and string.EnsureStartsWith #68 (Oliver Booth)
- add IEnumerable.Grep() #68 (Oliver Booth)
- add TextReader.EnumerateLines/Async #68 (Oliver Booth)
- add IEnumerable.ConcatOne #68 (Oliver Booth)
- add LowestCommonMultiple for built-in integer types #68 (Oliver Booth)
- expose ComplexSqrt to all frameworks #68 (Oliver Booth)
- pack README.md in nupkg #68 (Oliver Booth)
- add MathUtility.Bias (#60) #68 (Oliver Booth)
- add double overload for Bias (#60) #68 (Oliver Booth)
- add MathUtility.SmoothStep (#60) #68 (Oliver Booth)
- Add MathUtility.ExponentialDecay (#60) #68 (Oliver Booth)
- add MathUtility.Sigmoid (#60) #68 (Oliver Booth)
- add MathUtility.Sawtooth (#60) #68 (Oliver Booth)
- add MathUtility.Pulse (resolves #60) #68 (Oliver Booth)
Bug Fixes
- tests: fix incorrect timezone offset for DST #68 (Oliver Booth)
- accept ReadOnlySpan not Span for search needle #68 (Oliver Booth)
- use intrinsic convention for ToVector3 #68 (Oliver Booth)
- DoS: specify timeout in Regex ctor #68 (Oliver Booth)
- use ArgumentNullException throw helper for .NET >=6 #68 (Oliver Booth)
- test: fix Clear unit test not creating the temp directory #68 (Oliver Booth)
- fixed Stream.ReadSingle returning wrong type #68 (Oliver Booth)
- fix incorrect float/double being written for netstandard2.1 #68 (Oliver Booth)
- write float, not double, in Stream.WriteSingle #68 (Oliver Booth)
- test: fix incorrect date being returned for .NET Standard 2.1 #68 (Oliver Booth)
- test: import X10D.Core for NextSingle to work on < net6.0 #68 (Oliver Booth)
- expose internals to X10D.Tests project #68 (Oliver Booth)
- fix bug introduced by d29663f #68 (Oliver Booth)
- rename DebugEx to DebugUtility #68 (Oliver Booth)
- suppress CA1000 #68 (Oliver Booth)
- CLSCompliant(false) for X10D.Unity #68 (Oliver Booth)
- suppress .NET analyzer for test project #68 (Oliver Booth)
- test: fix ref as of bc3dedf #68 (Oliver Booth)
- test: remove invalid namespace imports #68 (Oliver Booth)
- fix SSE2 implementation of PackInt32 #68 (Oliver Booth)
- test: assert ArgumentNullException only for .NET < 6 #68 (Oliver Booth)
- test: assert vertex count against Polygon.Empty #68 (Oliver Booth)
Documentation
- bump version in README to 3.2.0 #68 (Oliver Booth)
Styles
- remove unused using directive #68 (Oliver Booth)
- use explicit type for Vector128 #68 (Oliver Booth)
- test: segment methods to partials #68 (Oliver Booth)
- update branding #68 (Oliver Booth)
- cluster throw helpers together to reduce branch repetition #68 (Oliver Booth)
- test: remove throws of NotImplementedException #68 (Oliver Booth)
- remove redundant else branches #68 (Oliver Booth)
- cleanup DictionaryExtensions #68 (Oliver Booth)
Code Refactoring
- remove Polyhedron.IsConvex #68 (Oliver Booth)
- remove TODOs (resolves #71) #68 (Oliver Booth)
- move old exception messages from Resources.resx (#27) #68 (Oliver Booth)
- move exception messages to resource file (#27) #68 (Oliver Booth)
Performance Improvements
- sourcegen: cache and compile regex. pass timeout [#68](https://github.c...
X10D 3.1.0
Added
- Reintroduced Unity support
- X10D: Added
Color.Inverted()
(#54) - X10D: Added
Color.WithA()
(#55) - X10D: Added
Color.WithB()
(#55) - X10D: Added
Color.WithG()
(#55) - X10D: Added
Color.WithR()
(#55) - X10D: Added
ICollection<T>.ClearAndDisposeAll()
- X10D: Added
ICollection<T>.ClearAndDisposeAllAsync()
- X10D: Added
IEnumerable<T>.For()
(#50) - X10D: Added
IEnumerable<T>.ForEach()
(#50) - X10D: Added
IEnumerable<T>.DisposeAll()
- X10D: Added
IEnumerable<T>.DisposeAllAsync()
- X10D: Added
char.IsEmoji
- X10D: Added
ReadOnlySpan<T>.Count(Predicate<T>)
- X10D: Added
Rune.IsEmoji
- X10D: Added
Span<T>.Count(Predicate<T>)
- X10D: Added
string.IsEmoji
- X10D: Added
Vector2.WithX()
(#56) - X10D: Added
Vector2.WithY()
(#56) - X10D: Added
Vector3.WithX()
(#56) - X10D: Added
Vector3.WithY()
(#56) - X10D: Added
Vector3.WithZ()
(#56) - X10D: Added
Vector4.WithX()
(#56) - X10D: Added
Vector4.WithY()
(#56) - X10D: Added
Vector4.WithZ()
(#56) - X10D: Added
Vector4.WithW()
(#56) - X10D.Unity: Added
Singleton<T>
class - X10D.Unity: Added
Color.Inverted()
(#54) - X10D.Unity: Added
Color.WithA()
(#55) - X10D.Unity: Added
Color.WithB()
(#55) - X10D.Unity: Added
Color.WithG()
(#55) - X10D.Unity: Added
Color.WithR()
(#55) - X10D.Unity: Added
Color32.Inverted()
(#54) - X10D.Unity: Added
Color32.WithA()
(#55) - X10D.Unity: Added
Color32.WithB()
(#55) - X10D.Unity: Added
Color32.WithG()
(#55) - X10D.Unity: Added
Color32.WithR()
(#55) - X10D.Unity: Added
Component.GetComponentsInChildrenOnly<T>()
- X10D.Unity: Added
GameObject.GetComponentsInChildrenOnly<T>()
- X10D.Unity: Added
GameObject.LookAt(GameObject[, Vector3])
- X10D.Unity: Added
GameObject.LookAt(Transform[, Vector3])
- X10D.Unity: Added
GameObject.LookAt(Vector3[, Vector3])
- X10D.Unity: Added
GameObject.SetLayerRecursively(int)
(#57) - X10D.Unity: Added
GameObject.SetParent(GameObject[, bool])
- X10D.Unity: Added
GameObject.SetParent(Transform[, bool])
- X10D.Unity: Added
System.Numerics.Quaternion.ToUnityQuaternion()
- X10D.Unity: Added
Quaternion.ToSystemQuaternion()
- X10D.Unity: Added
Random.NextColorArgb()
- X10D.Unity: Added
Random.NextColor32Argb()
- X10D.Unity: Added
Random.NextColorRgb()
- X10D.Unity: Added
Random.NextColor32Rgb()
- X10D.Unity: Added
Random.NextRotation()
- X10D.Unity: Added
Random.NextRotationUniform()
- X10D.Unity: Added
Random.NextUnitVector2()
- X10D.Unity: Added
Random.NextUnitVector3()
- X10D.Unity: Added
Transform.LookAt(GameObject[, Vector3])
- X10D.Unity: Added
Transform.SetParent(GameObject[, bool])
- X10D.Unity: Added
System.Numerics.Vector2.ToUnityVector()
- X10D.Unity: Added
System.Numerics.Vector3.ToUnityVector()
- X10D.Unity: Added
System.Numerics.Vector4.ToUnityVector()
- X10D.Unity: Added
Vector2.ToSystemVector()
- X10D.Unity: Added
Vector3.ToSystemVector()
- X10D.Unity: Added
Vector4.ToSystemVector()
- X10D.Unity: Added
Vector2.WithX()
(#56) - X10D.Unity: Added
Vector2.WithY()
(#56) - X10D.Unity: Added
Vector3.WithX()
(#56) - X10D.Unity: Added
Vector3.WithY()
(#56) - X10D.Unity: Added
Vector3.WithZ()
(#56) - X10D.Unity: Added
Vector4.WithX()
(#56) - X10D.Unity: Added
Vector4.WithY()
(#56) - X10D.Unity: Added
Vector4.WithZ()
(#56) - X10D.Unity: Added
Vector4.WithW()
(#56)
X10D 3.0.0
For a complete list of changes, see CHANGELOG.md
X10D 2.6.0
Changelog
Added
- Add
string.AsNullIfEmpty
- Returns the current string, or
null
if the current string is null or empty.
- Returns the current string, or
- Add
string.AsNullIfWhiteSpace
- Returns the current string, or
null
if the current string is null, empty, or consists of only whitespace.
- Returns the current string, or
- Add
string.Reverse
- Reverses the current string
- Add
string.WithAlternative
- Returns the current string, or an alternative value if the current string is null or empty, or optionally if the current string consists of only whitespace.
Changed
- n/a
Removed
- n/a
X10D 2.5.0
X10D 2.2.0
Changelog
Added
-
Add
string.ChangeEncoding(Encoding, Encoding)
- Converts this string from one encoding to another
-
Add
string.IsLower
- Determines if all alpha characters in this string are considered lowercase
-
Add
string.IsUpper
- Determines if all alpha characters in this string are considered uppercase
-
Various extension methods with regards to reflection:
GetDefaultValue
andGetDefaultValue<T>
- gets the value stored in the member'sDefaultValue
attributeGetDescription
- gets the value stored in the member'sDescription
attributeSelectFromCustomAttribute<T1, T2>
- Internally callsGetCustomAttribute<T1>
and passes it to aFunc<T1, T2>
so that specific members may be selected
Changed
- n/a
Removed
- n/a