Releases: hhvm/hsl
Releases · hhvm/hsl
v3.26.2: Backport HH\Lib\Ref
This release backports the HH\Lib\Ref<T>
class from later versions.
v3.26.1 is a bad release created from the wrong branch, and should not be used.
4.5.1: backport HH\Lib\Ref<T>
This release backports the HH\Lib\Ref<T>
class from later versions.
4.1.1: Backport HH\Lib\Ref<T>
This release backports the HH\Lib\Ref<T>
class from later versions.
4.0.3: Backport HH\Lib\Ref<T>
This release backports the HH\Lib\Ref<T>
class from later versions.
4.0.2 is a bad release created from the wrong branch.
3.27.3: Backport HH\Lib\Ref<T>
This release backports the HH\Lib\Ref<T>
class from later versions.
4.40: reduced memory usage of Async\Semaphore, removed redundant generics from C\count
This release:
- improves the memory usage of
Async\Semaphore
- removes the generic from
C\count()
; this has no effect on most calls, however this change does strictly break backwards compatibility: if you are explicitly calling asC\count<SomeType>()
, you will need to remove the generic from the call.
Remove `Tuple\from_async`, add `C\is_sorted` and `C\is_sorted_by`, support current nightlies
This release:
- removes
Tuple\from_async
; useconcurrent { $a = await foo(); $b = await bar(); }
or$tuple = tuple(await foo(), await bar())
instead.concurrent
blocks should be preferred, but awaitable expressions can be used if a tuple is desired - adds
C\is_sorted()
andC\is_sorted_by()
- improves the safety of keyset optimizations in
C\contains
- optimizes several
Str\
functions when$offset
is0
- supports current nightly builds of HHVM/HAck, and is expected to support HHVM 4.36.0. HHVM 4.25.0+ remain supported by this release
4.25.2: now compatible with both future and past versions of HHVM
remove lies_we_tell_hack.hhi from HSL (#83) Summary: Pull Request resolved: https://github.com/facebook/fbshipit/pull/83 Pull Request resolved: https://github.com/hhvm/hsl-experimental/pull/76 Pull Request resolved: https://github.com/hhvm/hsl/pull/98 In HSL and open-source projects that depend on it, most of these "lies" are unneeded, and the remaining places that depend on them can be avoided by changing `\HH\InvariantException` to `InvariantException`. Without namespace, it will always be correctly resolved to wherever HHVM autoimports it from. "wherever HHVM autoimports it from" is actually changing (it used to be `\InvariantException` but is `\HH\InvariantException` as of a few days ago), which is the reason why this file is problematic. Before the HHVM change, and without the diff, the file was needed -- but after the HHVM change, the file causes Hack errors in HSL and [anything that depends on it](https://travis-ci.org/hhvm/)). Reviewed By: fredemmott Differential Revision: D18121499 fbshipit-source-id: abd73c9f72401755ae1250302bb4c515faf23e75
4.25.1: support HHVM 4.29+ and current nightlies
Remove fake InvariantException declaration Summary: This was added to get around the inconsistency in how the typechecker and compiler viewed autoimporting. But this should only be enabled in OSS, not WWW. Reviewed By: DavidSnider Differential Revision: D18069991 fbshipit-source-id: ad45b372263bb3003650113bbc9d36229fc80e88
4.25: feature release
This release:
- adds the
Async\Poll
,Async\Semaphore
, andAsync\Condition
classes, previously inhsl-experimental
; these are best avoided where possible - e.g. one-at-a-time queues can be built by waiting on the previous stored awaitable instead of using these classes. - adds
Math\is_nan()
and theMath\NAN
constant - adds
Dict\shuffle()
- separates type parameters for
C\contains
andC\contains_key
; - supports and requires HHVM 4.25 and above