Skip to content

Releases: TheNexusAvenger/Nexus-Instance

V.4.1.1

21 Dec 04:56
ca9bca5
Compare
Choose a tag to compare

Changes

  • Changed last arguments clearing to be in the background due to intermittent behavior.

V.4.1.0

16 Nov 06:28
a30cfef
Compare
Choose a tag to compare

Changes

  • Added Destroy method to typed event connections.
    • This is intended to be used in places where Destroy is expected instead of Disconnect, like Fusion.

V.4.0.0

15 Oct 20:56
33fdfe6
Compare
Choose a tag to compare

Changes

  • Rewrote Nexus Instance for better typing.
    • Added CreateEvent that creates events that get cleared when Destroy is called.
    • Added ToInstance static method for preparing classes.
    • Removed NexusObject.
    • GetPropertyChangedSignal now respects hidden properties.
    • Renamed AddGenericPropertyValidator to AddGenericPropertyTransform.
    • Renamed AddPropertyValidator to AddPropertyTransform.
    • Renamed AddGenericPropertyFinalizer to OnAnyPropertyChanged.
    • Renamed AddPropertyFinalizer to OnPropertyChanged.
    • Removed class extending in favor of direct metatables.
    • Removed support for legacy property validators.
    • Removed LockProperty.
    • Removed native IsA and class names.
    • Removed default __tostring replacement.
  • Replaced NexusEvent with TypedEvent.

V.3.0.1

13 Jan 23:33
Compare
Choose a tag to compare

Changes

  • Corrected types.

V.3.0.0

04 Jan 04:52
Compare
Choose a tag to compare

This update contains breaking changes that will break most uses of Nexus Instance. Changes are required to upgrade.

Changes

  • Removed super structure from objects due to performance cost and difficult-to-follow execution when referencing super functions.
    • self:IntializeSuper(...) has been removed. Use SomeSuperClass.__new(self, ...) instead.
    • sefl.super:SomeFunction(...) has been removed. Use SomeSuperClass.SomeFunction(self, ...) instead.
    • self.object has been removed. self will always be that object.
    • __createindexmethod has been removed. The metatables of the object should be modified in the constructor instead.
  • Removed deprecated NexusEventCreator. Use NexusEvent directly instead.

V.2.1.0

24 Nov 03:02
Compare
Choose a tag to compare

Changes

  • Added strict typing.
  • Deprecated object-based property validators for AddGenericPropertyValidator and AddPropertyValidator in favor of function-based property validators like AddGenericPropertyFinalizer and AddPropertyFinalizer.
  • SetClassName now returns the class it was called on instead of nil to allow for chaining.

V.2.0.1

02 Apr 23:38
315eea1
Compare
Choose a tag to compare

Changes

  • Fixed memory leak with events.

V.2.0.0

18 Feb 04:30
Compare
Choose a tag to compare

Changes

  • Changed internals of Nexus Instance to mostly use tables for metatables instead of functions.
    • Improved creation time of NexusObject is ~90% faster and NexusInstance is ~75% faster: https://devforum.roblox.com/t/nexus-instance-object-oriented-library-for-roblox/229645/16
    • __createindexmethod no longer is used by NexusObject. NexusInstance still uses it.
    • Metatable function passthrough still works, but not dynamically. If you change a metatable of a class after an object is created or another class is extended, it changing for that object or class is not supported.
  • Removed NexusInterface.
  • Removed LuaEvent. RobloxEvent was renamed to NexusEvent and NexusEventCreator is now deprecated.
  • When an index is made in self.super, it will attempt to get the next unique value instead of the value at that level.
    • Example: If you have Class1, Class2 (extends Class1), and Class3 (extends Class2) where the method MyFunction is defined in Class1 and Class2 but not Class3, Class3.new().MyFunction will return Class2.MyFunction and Class3.new().super.MyFunction will return Class1.MyFunction. Before, both would be Class2.MyFunction.

V.1.4.1

08 Sep 01:35
Compare
Choose a tag to compare

Changes

  • Fixed memory leak with events that have no listeners.

V.1.4.0

21 May 18:21
Compare
Choose a tag to compare

Changes

  • Added generic property validators.
  • Added property and generic property finalizers for after a property being set.
  • Fixed events not passing correct arguments with deferred events.