Skip to content

Releases: AmberGraceRblx/pract

Pract v0.9.13 Beta

02 Aug 19:00
82c5de0
Compare
Choose a tag to compare

This release introduces Hooks! New Pract code should not be using the higher-order-function features any more, and these could potentially be phased out in a full major release of Pract.

Hooks API docs:
https://ambers-careware.github.io/pract/api/hooks

The how-to usage guide may need to be update to reflect proper use of hooks over HOFs

What's Changed

  • Deprecate built-in HOFs in favor of Hooks by @ambers-careware in #21
  • Deprecate hooks in docs by @ambers-careware in #22

Full Changelog: v0.9.12-beta...v0.9.13-beta

Toolbox Model: https://www.roblox.com/library/7943307456/Pract-v0-9-13

Pract v0.9.12 Beta

02 Mar 03:46
095c8be
Compare
Choose a tag to compare

This update cleans up a few script analysis warnings that appeared in the previous version of Pract

What's Changed

  • Fix script analysis warnings by @ambers-careware in #20

Full Changelog: v0.9.11-beta...v0.9.12-beta

Pract v0.9.11 Beta

27 Dec 01:10
f25ca2b
Compare
Choose a tag to compare

This update documents and tests the behavior of how Pract.combine elements update. combine is now position-dependent, and will unmount/re-mount elements on the correct order.

What's Changed

  • Improve and Document Pract.combine position-based behavior by @ambers-careware in #19

Full Changelog: v0.9.10-beta...v0.9.11-beta

Pract v0.9.10 Beta

24 Dec 02:58
Compare
Choose a tag to compare

This release fixes some edge-case bugs with Pract.stamp and Pract.combine. Release v0.9.9 had a critical issue, so the previous release was recalled. See the changelog PRs for more information.

What's Changed

  • Host instance resolution improvements by @ambers-careware in #18

Full Changelog: v0.9.8-beta...v0.9.10-beta

Pract v0.9.8 Beta

19 Dec 00:21
a860c6e
Compare
Choose a tag to compare

What's Changed

  • Pract v0.9.8 - Adjust and document recommended typing conventions by @ambers-careware in #17

Full Changelog: v0.9.7-beta...v0.9.8-beta

This release is a minor adjustment to the default typings of props/state, and allows types to be opt-in through type annotations. See more examples/guidelines on this here: https://ambers-careware.github.io/pract/advanced/typesafety

Some generic types/type methods are currently commented out in the release until roblox adds syntax to explicitly call functions with types as an argument. Currently, Luau is too underdeveloped as a language for some of these type utilities to behave consistently.

Pract v0.9.7 Beta

18 Nov 22:52
Compare
Choose a tag to compare

This release adds a new ComponentTyped<P> utility that lets you type components by their props type, as well as a new Pract.createTyped<P>(component: ComponentTyped<P>, props: P) function that lets you make "create" elements that respect the type safety of a component's props.

In addition, there were some critical bugs with classComponent and deferredState that needed to be fixed which warranted a release. They should now behave as intended.

What's Changed

  • Improve docs flow by @ambers-careware in #14
  • Type Utilities and Critical classComponent fixes by @ambers-careware in #15

Full Changelog: v0.9.6-beta...v0.9.7-beta

Pract v0.9.6 Beta

03 Nov 00:43
aa84396
Compare
Choose a tag to compare

This is the first production-ready Pract release!
Download the rbxm or zip file in the "Assets" dropdown below depending on your installation method.

Pract's feature set is not finalized, and will be finalized with an eventual v1.0.0 release

Pract still does not have full unit testing coverage; if you wish to collaborate on developing the Pract library, see the readme.

What's Changed

  • Update readme with contributing message by @ambers-careware in #3
  • Setup unit tester / First unit test by @ambers-careware in #4
  • Unit testing / CI setup by @ambers-careware in #8
  • Add more unit tests / Make better use of table.freeze by @ambers-careware in #10
  • Adjust typings/write basic API docs by @ambers-careware in #11
  • Finish advanced docs; change withSignal behavior and improve types/unit tests by @ambers-careware in #12

Full Changelog: v0.9.3-beta...v0.9.6-beta

Pract v0.9.5-beta

01 Nov 06:43
Compare
Choose a tag to compare
Pract v0.9.5-beta Pre-release
Pre-release

WARNING: Documentation is still in progress, and unit tests have not yet been written for the library. Be wary of using this release in production projects.

  • Fixed a bug that would cause OnChild elements (generated from Pract.decorate and Pract.index) to constantly re-mount themselves if a child was never found. In addition to this, a warning is emitted if the instance is not found within the first 10 seconds.
  • Fixed the typing of ClassComponentMethods.willUpdate to match the actual behavior
  • Class component self.state and self.props variables now only change after the shouldUpdate lifecycle event, to mirror Roact's behavior
  • Fixed a number of bugs with class component lifecycle methods
  • Attributes and CollectionService tags added to a Pract.decorate-managed instance will be removed when the node is unmounted.

In addition to this, a basic usage guide has been written for some features of Pract.

The next priorities for this library are an advanced usage guide and full API documentation, as well as unit testing and better (auto-opinionated) code style to prepare for a production-ready release.

Pract v0.9.4-beta

28 Oct 22:21
Compare
Choose a tag to compare
Pract v0.9.4-beta Pre-release
Pre-release
  • Removed the experimental semantic form. Semantic form led to more confusing code, reduced type safety (which could in turn cause hard-to-debug errors), and in addition to all this, semantic form was not really future-proof for if an element type gets added in the future.

WARNING: Documentation is still in progress, and unit tests have not yet been written for the library.

Pract v0.9.3-beta

28 Oct 03:21
Compare
Choose a tag to compare
Pract v0.9.3-beta Pre-release
Pre-release

This is the earliest public beta release of Pract; Documentation is still in progress, and unit tests have not yet been written for the library.

Although the feature set is mostly finalized (with the exception of the Pract.semantic functionality, be wary of using this in production projects.