Skip to content

Releases: Emik03/wawa

GetUnmanaged singular binary fix

13 Apr 22:09
c1350f1
Compare
Choose a tag to compare

Version 4.7.2

This update fixes a bug in Wawa.IO.PathFinder.GetUnmanaged<T> that broke when there only existed a single binary in a given library subfolder. wawa.IO is the only assembly with any changes, public or internal. This library has been recompiled as version 4.7.2 just to keep Unity's assembly conflict problems away.

PATCH

wawa.IO:

  • Fix Wawa.IO.PathFinder.GetUnmanaged<T> claiming there was an error when traversing through folders ends up in a directory that only contains a single binary that matches the file name, as well as removing unnecessary overhead involving the attempt of creation of directories that always exist, and the verification of files.

[Hotfix] GetUnmanaged editor support

08 Apr 17:19
c6472c8
Compare
Choose a tag to compare

Version 4.7.1

This update improves the usability experience of wawa.IO in the editor. wawa.IO and wawa.TwitchPlays are the only assemblies with any changes, public or internal. This library has been recompiled as version 4.7.1 just to keep Unity's assembly conflict problems away.

PATCH

wawa.IO:

  • A huge limitation finally got lifted: Wawa.IO.PathFinder.GetUnmanaged<T> now fully works in the editor! The previous behavior was to always return no value.
  • Automatically return no value when this mod has been confirmed to have mod ids conflicting with another. The previous behavior was that the first mod would always be accepted, which could result in the second mod writing from the wrong folder, a potentially dangerous operation!

wawa.TwitchPlays:

  • Fix Wawa.TwitchPlays.Domains.InstructionCore.Flatten to no longer dispose the enumerator prematurely, which prevented classes like UnityWebRequest from working correctly. This means that the caller has responsibility to dispose of the enumerator themselves, although it was already necessitated, so this is not a breaking change.

Loosen internal assertions further

08 Apr 16:31
3d835fb
Compare
Choose a tag to compare

Version 4.7

This update removes exception-throwing for a number of APIs, attempting to use sane fallbacks. wawa.IO, wawa.Modules, and wawa.TwitchPlays are the only assemblies with any changes, public or internal. This library has been recompiled as version 4.7 just to keep Unity's assembly conflict problems away.

MINOR

wawa.IO:

  • Add optional parameters to Wawa.IO.PathFinder.AssemblyLog, more as a byproduct of the way the library requires it. The behavior of this function as such has been changed, with the format explicitly marking the method caller's name and log level for every use of this function. The method no longer guards null, as you are allowed to pass a null message.
  • All methods in Wawa.IO.PathFinder no longer throw. Error or warning messages will be logged as they arrive, and the library makes an attempt to continue execution with a few workarounds and fallbacks.

wawa.Modules

PATCH

wawa.IO:

wawa.TwitchPlays:

  • Uses appropriate log levels for editor-only assertions.
  • No longer throws when no commands are found, however an error log is still produced.

wawa.IO Editor fix

05 Apr 18:52
c5dc203
Compare
Choose a tag to compare

Version 4.6.2

This update fixes an editor-only bug that caused wawa.IO to throw a TypeLoadException. wawa.IO, wawa.Modules, and wawa.TwitchPlays is the only assembly with any changes, public or internal. This library has been recompiled as version 4.6.2 just to keep Unity's assembly conflict problems away.

PATCH

wawa.IO:

  • Fix bug relating to Wawa.IO.PathFinder which caused any function that accessed in-game values to throw when running in the Unity Editor. This did not affect any module in-game.
  • Switch to an integer-based hashmap over strings where applicable, causing a negligible micro-optimization.

wawa.Modules:

  • Fix bug relating to Wawa.Modules.Stringifier.Stringify which would throw [ArgumentException](https://learn.microsoft.com/en-us/dotnet/api/system.argumentexception?view=net-8.0): The type 'System.Void' may not be used as a type argument. if any type during serialization contained a void pointer (void*).

wawa.TwitchPlays:

  • Fix inherited members being ignored when reflecting values to grab fields for parsing or methods as commands.

Sequential GetAssets/GetUnmanaged fix

01 Apr 17:03
c519367
Compare
Choose a tag to compare

Version 4.6.1

This update fixes a bug to do with loading external assets and libraries. wawa.IO is the only assembly with any changes, public or internal. This library has been recompiled as version 4.6.1 just to keep Unity's assembly conflict problems away.

PATCH

wawa.IO:

Status Light manipulation

14 Feb 00:25
ded3250
Compare
Choose a tag to compare

Version 4.6

This update adds new APIs for changing the status light or max strikes, faking strikes, and other opt-in checks. All binaries have been recompiled to take advantage of the new compiler optimizations.

MINOR

wawa.DDL:

wawa.Recall

PATCH

wawa.Modules and wawa.TwitchPlays:

  • Micro-optimize and reuse collections throughout the library when possible.

General:

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

Correctly serialize System.Reflection.Pointer

09 Jan 22:55
880644e
Compare
Choose a tag to compare

Version 4.5

This update addresses a problem with the logging serialization. wawa.Modules is the only assembly with any changes, public or internal. This library has been recompiled as version 4.5 just to keep Unity's assembly conflict problems away.

MINOR

wawa.Modules:

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.