Skip to content

Releases: Emik03/wawa

Loosen internal assertion

06 Dec 12:50
4d6ccc9
Compare
Choose a tag to compare

Version 4.4.2

This update aims to fix a problem reported regarding this log file. wawa.IO is the only assembly with any changes, public or internal. This library has been recompiled as version 4.4.2 just to keep Unity's assembly conflict problems away.

PATCH

wawa.IO:

  • Fix library throwing when a local and Steam Workshop build co-exist, but one is unloaded. The library will still however throw when two mods load with the same id.
  • Optimize caching, less overhead for calling PathFinder methods extremely frequently with the same inputs. Granted, it is still recommended you store the instance yourself, but now the performance impact is far less aggregious.

1 year anniversary of wawa!

30 Nov 18:55
4e26ca5
Compare
Choose a tag to compare

Version 4.4.1

It has been exactly 1 year since Version 1 was published! wawa.Editors and wawa.Modules are the only assemblies with any changes, public or internal. This library has been recompiled as version 4.4.1 just to keep Unity's assembly conflict problems away.

PATCH

wawa.Editors:

wawa.Modules

Twitch Plays improvements

14 Nov 22:02
7f24918
Compare
Choose a tag to compare

Version 4.4

Provides a set of new APIs for Twitch Plays command processing, as well as new diagnostics to prevent certain pitfalls. wawa.Editors and wawa.TwitchPlays are the only assemblies with any changes, public or internal. This library has been recompiled as version 4.4 just to keep Unity's assembly conflict problems away.

MINOR

wawa.Editors:

  • Add warning for when the Scaffolder feature is unable to add an asset to a component, which is usually an indication that the respective file that it is looking for is missing.

wawa.TwitchPlays:

PATCH

wawa.TwitchPlays:

  • Remove unnecessary internal yield return null in situations where such a value does nothing. This allows your command to be processed one (1) frame faster!

General:

  • Add additional JetBrains annotations for better analysis with ReSharper.
  • Micro-optimize, such as removing unnecessary calls to GetEnumerator where applicable.
  • Use the new .NET 8 Stable SDK which grants improvements in compiler optimizations. All versions from here on out will be using the new SDK when compiling.

Config fix + QOL improvement

24 Sep 00:47
Compare
Choose a tag to compare

Version 4.3

Very minor update. wawa.IO and wawa.TwitchPlays are the only assemblies with any changes, public or internal. This library has been recompiled as version 4.3 just to keep Unity's assembly conflict problems away.

MINOR

wawa.TwitchPlays:

Example usage:

yield return Instruction.FromKMSelectableArray(selectable1, selectable2, selectable3); // Now allows this!
yield return Instruction.FromKMSelectableArray(Get<KMSelectable[]>()); // Of course, the old behavior works still.

PATCH

wawa.IO:

  • Fix Wawa.IO.Config<T>'s misbehavior with the file system, which prevented it from writing anything.

New library!

01 Sep 00:42
6f12fd0
Compare
Choose a tag to compare

Version 4.2

Despite the addition of an entire new library, this is strictly not a breaking change. This update also introduces a couple of fixes which have been reported over the last month. wawa.Optionals and wawa.Unity are the only assemblies without any changes, public or internal. This library has been recompiled as version 4.2 just to keep Unity's assembly conflict problems away.

MINOR

wawa.Editors:

  • Add a new button to fetch the new library, as well as downloading the entire framework at once.

wawa.Recall:

  • Brand new library! Hook onto selectables and modules — regardless of if they're modded or not — all within the same API! Check out its documentation and example here.

PATCH

wawa.Extensions:

  • Implement OnDefocus patch, where the function gets called twice by the game.

wawa.IO:

  • Fix unconventional crash caused by Mono not supporting newer IL instructions.

wawa.Modules:

  • Hook OnPass and OnStrike to ensure Status is set correctly.

wawa.TwitchPlays:

  • Fix non-nested yield instructions.
  • yield return null automatically on a non-wildcard command.

General:

  • Stripped away more metadata from all binaries, resulting in an approximate 12.5% reduction in file size on average.

Early reverse-birthday-present!

01 Aug 01:49
3c680b7
Compare
Choose a tag to compare

Version 4.1

This update introduces the accumulation of suggestions and bug reports received over the past few months. wawa.Extensions and wawa.Unity are the only assemblies without any changes, public or internal. This library has been recompiled as version 4.1 just to keep Unity's assembly conflict problems away.

MINOR

wawa.DDL:

  • Add new optional argument in getting strike/rate information: signFlip, which determines whether to automatically invert the value based on context. An example is Wawa.DDL.KMBombStrikeExtensions.SetRate. For backwards compatibility, the old behavior is preserved, so the new behavior is strictly opt-in.

wawa.Optionals:

  • Add new operators and boolean-logic-like methods in Maybe, such as Wawa.Optionals.Maybe.Xor. All implementations can be found in the extension class and declaring struct.
  • Add new interface implementations for Unit, such as implementing IEnumerable<Unit> to allow a unit to be iterated, which will always result in an empty enumeration. All interfaces can be found here.

PATCH

wawa.Editors:

  • Fix syntax errors in generated code under Scaffolder.

wawa.IO, wawa.Modules, and wawa.TwitchPlays:

  • Allow null values for comparisons of domain objects, such as Sound.==.

wawa.Modules:

  • Add CompositeFormat injection to improve syntax highlighting in IDEs that support it, such as Wawa.Modules.ModdedModule.Log.
  • Further improvements to Stringifier.Stringify, such as escaping infinite enumerations, and better inferences on how to deal with specific interfaces.

wawa.TwitchPlays:

  • Now guarantees Dispose is called for any enumerable values obtained from invoking methods annotated with Wawa.TwitchPlays.Domains.CommandAttribute. While this behavior is unneeded in a majority of cases, it makes any future opportunity to hit a very nasty edgecase nil.

Improved Stringifier, again

16 May 23:11
40e1971
Compare
Choose a tag to compare

Version 4.0.2

This update is mostly incremental and doesn't introduce any noticeable behavior changes, other than the improvement for the Stringifier type in wawa.Modules. All binaries have been recompiled to take advantage of the new compiler optimizations.

PATCH

wawa.Modules:

  • Catch appropriate exceptions in Stringifier, the method now no longer throws InvalidOperationException/NotSupportedException/PlatformNotSupportedException. It will still raise any other exceptions thrown by properties of the serializing instance.

General:

  • Use the new .NET 8 Preview SDK which grants improvements in compiler optimizations. All versions from here on out will be using the new SDK when compiling.

wawa.DDL Null Guard fix

28 Apr 22:45
c8a995f
Compare
Choose a tag to compare

Version 4.0.1

This update fixes a bug that affected all prior versions (v1-4) on wawa.DDL. wawa.DDL is the only assembly with any changes, public or internal. The rest have remained unchanged, but been recompiled as version 4.0.1 just to keep Unity's assembly conflict problems away.

PATCH

wawa.DDL:

  • Fix exception caused by a null guard in Wawa.DDL.Access.FromGame. This behavior change now makes it trickier to use this method directly, so the documentation has been appended as such as to the purpose of the function.

Signature change

15 Apr 06:17
1a9f06a
Compare
Choose a tag to compare

Version 4

This update makes a necessary breaking change to wawa.TwitchPlays.Twitch<>. wawa.TwitchPlays is the only assembly with any changes, public or internal. The rest have remained unchanged, but been recompiled as version 4 just to keep Unity's assembly conflict problems away.

MAJOR

wawa.TwitchPlays:

MINOR

wawa.TwitchPlays:

Improved Stringifier

01 Mar 22:55
Compare
Choose a tag to compare

Version 3.1.1

This update is mostly incremental and doesn't introduce any noticeable behavior changes, other than the improvement for the Stringifier type in wawa.Modules. All binaries have been recompiled to take advantage of the new compiler optimizations.

PATCH

wawa.Modules:

General:

  • Use the new .NET 8 Preview SDK which grants improvements in compiler optimizations. All versions from here on out will be using the new SDK when compiling.