Releases: hershel-theodore-layton/sgml-stream
Argon - patch 2
This release prepares for the latest builds of hhvm by asserting some types at runtime.
Argon - patch 1
This release adds "hershel-theodore-layton/hhvm-four-shim": "<1", to the composer.json file.
This was removed by mistake, causing an unresolved dependency in downstream consumers.
Argon
This release drops support for hhvm version 4.102 through hhvm version 4.151.
Neon - patch 2
This is the first release of sgml-stream with non-experimental support for hhvm 25+.
The tests from open-xhp-specification have been ported over. These tests assert edge cases around attributes and child handing.
Neon - patch 1
This release removes some unneeded runtime type guards.
Neon
This release loosens the hhvm requirement from ^4.102 to >=4.102.
Helium
This release of sgml-stream adds context lists to all methods.
This means you are now able to construct xhp elements in a pure context.
Breaking changes include:
- Context lists on methods may require adding context lists in subclasses.
- Subclasses that override
init(): voidwith an impure method must fork their baseclass. - Custom elements that directly extend
RootElementmust declare the context constantINITIALIZATION_CTX. FragElement->getFragChildren()are directly appended to the children of the embedding xhp class
instead of being flattened first.
Gold - patch 1
See https://github.com/hershel-theodore-layton/sgml-stream/releases/tag/v1.0.0 for the release notes.
This patch includes: 9683856
Fix method arity error
This is a type error uncaught by the typechecker.
Release v1.0.0 is effectively unusable with html-stream-(non-)namespaced because of this.
Gold
This release changes the Flow game by increasing the amount of flows threefold.
For the upgrading guide, see upgrading-from-v0-to-v1. There are a couple of breaking changes, but almost all code written before today is compatible with v1.0.x. Upgrading should be a breeze.
In short, this release adds two brand new flow kinds:
Successor<Flow>Init<Flow>
The original / classic flow has been dubbed Descendant<Flow>. All three can still be passed to method expecting a Flow. They share the same familiar Flow methods, but they solve problems that previously required workarounds or global / static variables.
The Init<Flow> is meant to solve the following issue, how do I make decisions based on Flow in a DissolvableElement? The Init<Flow> is available everywhere.
The Successor<Flow> is meant to create order in an asynchronous world. Writes happen in source order. Reads are guaranteed to observe all writes from ancestors and none of the successors. Adding event handlers or otherwise dynamic <script> tags was the motivating use case.
A couple of components have been superseded. Those components have a @deprecated tag in their doc comments. You are still able to use them, but use of the new components is encouraged. There are no plans to remove the deprecated components in the near future.
Hardystonite - patch 1
This release upgrades this sgml-stream-interfaces requirement in composer.json. This was forgotten in the v0.7.0 release. See the v0.7.0 Hardystonite release notes for more information. This release is byte identical to v0.7.0 Hardystonite.