Skip to content

Releases: AmberGraceSoftware/Dex

Dex v0.1.7 Alpha

01 Jan 22:16
Compare
Choose a tag to compare
Dex v0.1.7 Alpha Pre-release
Pre-release

Exposes FlattenObservable function in main Dex library, an oversight from the last release.

Dex v0.1.6 Alpha

01 Jan 22:05
cad4198
Compare
Choose a tag to compare
Dex v0.1.6 Alpha Pre-release
Pre-release

Adds a "FlattenObservable" utility, which flattens the current value of an observable that may return another observable as its current value recursively.

This will be needed for certain connector libraries, such as Dex-PlayerSave

What's Changed

Full Changelog: v0.1.5-alpha...v0.1.6-alpha

Dex v0.1.5 Alpha

01 Jan 04:35
fb50a0a
Compare
Choose a tag to compare
Dex v0.1.5 Alpha Pre-release
Pre-release

Fixes a number of issues with outdated CI tools, as well as an issue that would prevent Dex from being included in a project if not set up in an exact ReplicatedStorage folder structure.

What's Changed

Full Changelog: v0.1.4-alpha...v0.1.5-alpha

Dex v0.1.4-alpha

16 Oct 05:05
d836b9b
Compare
Choose a tag to compare
Dex v0.1.4-alpha Pre-release
Pre-release

This is the first release of the library as "Dex" (previously "Dec") for professional reasons. Since Dex is not in public use, this seemed like the most appropriate time for a rename. All future releases will be published to wally under Dex, and documented under a new github repository name and docs site subdomain.

  • API has been cleaned up and lightened, specifically removing the low use case / more confusing observable APIs
  • Added reactive time controls for timer observables and Dex.Clock observables
  • Added new Dex.Tween observable subclass, which follows intuitive tween logic and API.
  • Cleaned up documentation
  • Renamed library to Dex

What's Changed

Full Changelog: v0.1.3-alpha...v0.1.4-alpha

Dec v0.1.3-alpha

03 Sep 23:52
Compare
Choose a tag to compare
Dec v0.1.3-alpha Pre-release
Pre-release

This release is a major milestone for Dec! This version adds standardizing and unit testing for VirtualInstance Directives; removes some API/syntax sugar that was confusing, unsafe, or had uncommon use cases; and adds API for more common use cases.

Some API changes:

  • Added the MapChildren, MapChildrenByKey, and MapChildrenByValue directives which meet some common use cases of turning a state into a list of children reactively. See https://dec.ambergracesoftware.com/docs/Chapter1/MappingChildComponents for a usage guide.
  • Removed the ExtractChildTemplate directive in favor of the more straightforward DestroyPremadeChildren, which together with FindChild serve a similar use case.
  • Removed the instance parameter for OnMount/OnMount` callbacks to improve the safety of handling side effects with those directives.
  • Added support for having observables return observables, and so on, as an argument for attributes like SetProperties which accept observable values. Each chained observable value will be unwrapped and subscribed/unsubscribed until a terminal value is found.
  • Tested and added true support for the input types that were defined on a directive's API where some edge cases that were described in the API documentation were not actually supported before.
  • AddTags directive now behaves exactly as you would expect it to when calling AddTags with multiple directives on the same VirtualInstance, using an observable list of tags, or using a list of observable tags (and so on). So long as there is a mounted static/observable reference to a tag, it will remain on the instance until all references to the tag string are unmounted.
  • Correctly handles multiple :SetProperties()/:SetAttributes() directives on the same VirtualInstance, ignoring all but the last-defined value on the last directive for each key. Only exception to this rule is if two :SetProperties() directives connect to the same event, in which case both listeners from each directive will be handled. Covered by unit testing.
  • Removed "ChildPath" syntax sugar where you could do something like this: VirtualInstance:AddChild({"Child", "Descendant"}, ...) as sugar for VirtualInstance:AddChild("Child", Dec.Premade("Descendant", ...)),, as it was a confusing syntax that could go wrong in many ways.
  • Removed Copy and DeepCopy directives, which lack a very common use case.

Pull Requests

Full Changelog: v0.1.2-alpha...v0.1.3-alpha

Dec v0.1.2-alpha

06 Aug 18:32
de3b482
Compare
Choose a tag to compare
Dec v0.1.2-alpha Pre-release
Pre-release

This release primarily involves documentation edits, plus a few fixes to syntax/typings/other features that were discovered while writing the first section of the documentation.

Pull Requests:

Full Changelog: v0.1.1-alpha...v0.1.2-alpha

First Public Pre-Release v0.1.1-alpha

16 Jul 09:01
Compare
Choose a tag to compare
Pre-release

v0.1.1 Alpha Pre-Release

This is the first public pre-release of the Dec library, complete with some unit testing and a docs site! This is also the first release published to Wally.
Please do not use Dec in production or production-bound projects, as the API is not fully tested and is subject to change.

Tutorials will be written soon after this release, so stay tuned!

New Contributors

Full Changelog: https://github.com/AmberGraceSoftware/Dec/commits/v0.1.1