Releases: AmberGraceRblx/pract
Pract v0.9.13 Beta
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
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
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
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
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
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
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
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 fromPract.decorate
andPract.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
andself.props
variables now only change after theshouldUpdate
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
- 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
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.