Skip to content

Releases: hershel-theodore-layton/sgml-stream

Argon - patch 2

02 Nov 20:58

Choose a tag to compare

This release prepares for the latest builds of hhvm by asserting some types at runtime.

Argon - patch 1

11 Oct 13:26

Choose a tag to compare

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

11 Oct 13:16

Choose a tag to compare

This release drops support for hhvm version 4.102 through hhvm version 4.151.

Neon - patch 2

05 Jul 16:31

Choose a tag to compare

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

26 May 06:06

Choose a tag to compare

This release removes some unneeded runtime type guards.

Neon

25 May 19:18

Choose a tag to compare

This release loosens the hhvm requirement from ^4.102 to >=4.102.

Helium

16 Jul 19:30

Choose a tag to compare

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(): void with an impure method must fork their baseclass.
  • Custom elements that directly extend RootElement must declare the context constant INITIALIZATION_CTX.
  • FragElement->getFragChildren() are directly appended to the children of the embedding xhp class
    instead of being flattened first.

Gold - patch 1

30 Jul 16:46

Choose a tag to compare

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

30 Jul 16:26

Choose a tag to compare

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

16 Jan 15:59

Choose a tag to compare

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.