Skip to content

Releases: Mullets-Gavin/Loader

v1.3.0

27 Jan 00:02
Compare
Choose a tag to compare

A significantly large change that passes all of selene's lints! This change contains a large change in the API as well as new API and the removal of it as well.

⚠ USING THIS VERSION OF LOADER MAY ERASE ANY CURRENT DATA AS THE INDEX HAS CHANGED. USE PRIOR VERSIONS IF YOU DEPEND ON THE INDEX. ⚠

Changes:

  • Component system in Interface. I've decided against combining MCS into Interface in favor of declarative UI with Roact, which has official support and backing by Roblox.
  • "FPS" parameter in Manager.Loop
  • DataSync index value has changed from adding a prefix of "Player_" or "Data_"
  • New API for the Interface.Keybind object! The following API was updated:
    • Keybind:Mobile - this can now take false as a second parameter to disable a displayed icon in favor of text
    • Keybind:Bind - this is a superior method to Keybind:Hook, which fires at Began/Changed/Ended and provides the UserInputState as its first parameter in the function, and the object follows as second.
    • Keybind:Disconnect - this now disconnects both :Bind and :Hook functions from the Keybind, allowing you to still access the button without a function
    • Keybind:Destroy - now COMPLETELY destroys the button, this frees up the unique identifier you used prior.
  • Manager API has been updated to remove all :Method-like calls on Manager itself in favor of callback functions (.Function()). This change will completely change the functionality of Manager API such as:
    • Manager:Connect -> Manager.Connect
    • Manager:Disconnect -> Manager.Disconnect
    • Manager:ConnectKey -> Manager.ConnectKey
    • Manager:DisconnectKey -> Manager.DisconnectKey
    • Manager:FireKey -> Manager.FireKey
    • Manager:Task -> Manager.Task

v1.2.3

16 Jan 03:31
Compare
Choose a tag to compare

Update v1.2.3

Numerous bug fixes

Changes:

  • Removed race conditions in DataSync
  • DataSync:GetFile handles errors with ease

v1.2.2

13 Jan 14:09
Compare
Choose a tag to compare

Update v1.2.2

Removal of the compression algorithm from Manager and DataSync.

⚠ USING THIS VERSION OF LOADER MAY ERASE ANY CURRENT DATA AS THE COMPRESSION ALGORITHM NO LONGER EXISTS. USE PRIOR VERSIONS IF YOU DEPEND ON THE COMPRESSION ALGORITHM. ⚠

Changes:

  • Compression algorithm removed
  • DataSync updated to support backwards compatibility
  • JSON Encode/Decode DataSync to minimize the saved data & allow to error if saving un-saveable data (userdatas)

v1.2.1

11 Jan 22:52
Compare
Choose a tag to compare

Update v1.2.1

With this update comes numerous bug fixes including DataSync not syncing data by default. This resolves all issues w/Manager as well.

Changes:

  • DataSync auto-subscribes data to download
  • DataSync is now lighter on the networking
  • Manager bugs resolved

v1.2.0

07 Jan 19:54
Compare
Choose a tag to compare

Optimization update v1.2.0! 🥳

With this update comes a large number of changes (even to the API) and you may have to reformat your games API if you used any version beneath this one.

Awesome Changes:

  • Subscriptions on DataSync stores are unique & objects so they can be independently called
  • Subscriptions are now faster in providing updates to any function
  • Manager API is now 100% PascalCase, this was to make the Loader API consistent
  • Network API now uses periods (.) instead of colons (:), to maintain consistency with the codebase
  • Formatting! Loader & modules are now formatted with StyLua
  • Minor optimizations - there were a flurry of changes made, but all in good taste!
  • Bug fixes - resolved bugs reported

Edits:

  • Resolved infinite yield issues
  • Micro-optimized the subscriptions.. again
  • New DataSync methods :Ready() and :Loaded(), ready provides the DataFIle being able to be used, and Loaded provides if the data loaded OR if it didn't and its using default, unsaveable data.

v1.0.0-lite

23 Dec 02:42
Compare
Choose a tag to compare
v1.0.0-lite Pre-release
Pre-release

Initial release! Lighter is a lite variant of Loader, aiming to solve use-cases of only needing to search rather than have dependencies. You can read more about it here.

Why Lighter?

  • Streamline plugin dev with Lighter, allowing you to lazy load modules like before! (Example)
  • Stability. With Lighter, you're using the barebones of Loader, no worries of instability or any breaking API changes. I'll continue to keep Lighter updated with Loader's tweaks, but it will remain lite.

How's it work? (Usage)

  1. Set Lighter in the container you want to lazy load modules.
  2. Require Lighter. (Example)
  3. You're all set! Start lazy loading modules that are parented (descendants) to this container (Lighters parent!)

This is a pre-release to stop it from appearing over Loader

v1.1.3

21 Dec 03:25
Compare
Choose a tag to compare

Fixed replicating DataSync data & removed some useless prints I left in from debugging.

Changes:

  • Minor code cleanup
  • Reliable DataSync changes
  • Fixed player data replication
  • Fixed yielding issue that occurred under certain scenarios

v1.1.2

19 Dec 02:22
Compare
Choose a tag to compare

Pretty significant move, but I've decided to drop import + Option from Loader & follow the conventional require route. This update no longer allows you to indice Loader for a service, or use Loader.import.

New changes:

  • Recommended to set Loader as require
    • ie. local require = require(game:GetService('ReplicatedStorage'):WaitForChild('Loader'))
  • DataSync got a ton of minor bugs fixed + smoother DataStore usage. Tests passed!
  • Cleaned up Manager & Roblox a bit, and added _Name properties
  • Network got some fresh changes, now "super-compatible" with making Real Games.
  • There's a bunch more minor changes, but this was a general move so it doesn't qualify as a minor update but rather a patch.

v1.1.1

12 Dec 21:58
Compare
Choose a tag to compare

A quick patch to update DataSync to include a new DataSync store method!

store:FilterKeys({'list','of','keys'}, boolean: true to whitelist, false to blacklist)

You can now filter a set of keys from filtering, but they can still sync, useful for live inventories etc.

Updates include:

  • Manager functions got fixed
  • Smarter DataSync, can now handle requests better
  • Networking changes, just minor improvements

v1.1.0

07 Dec 16:01
Compare
Choose a tag to compare

A minor update with some new features & now with typed luau annotations!

Updates include:

  • Loader & libraries are now in typed luau - the use of --!strict is not recommended since it's unstable release
  • Manager now has a couple more functions - one includes Manager.debounce() which makes debouncing easy
  • Big Interface refactor - Refactored functions to be more reliable
  • New Modular Component System built into Interface - create component based UI without Roact.