PHPackages                             hershel-theodore-layton/hhvm-four-shim - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. hershel-theodore-layton/hhvm-four-shim

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

hershel-theodore-layton/hhvm-four-shim
======================================

Supporting hhvm 4 for as long as possible.

0.6.4(6mo ago)06.0k↑51.1%5MITHackCI passing

Since May 25Pushed 2mo agoCompare

[ Source](https://github.com/hershel-theodore-layton/hhvm-four-shim)[ Packagist](https://packagist.org/packages/hershel-theodore-layton/hhvm-four-shim)[ RSS](/packages/hershel-theodore-layton-hhvm-four-shim/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)Dependencies (2)Versions (9)Used By (5)

hhvm-four-shim
==============

[](#hhvm-four-shim)

*Supporting hhvm 4 for as long as possible.*

Branch
------

[](#branch)

You are currently looking at the hhvm@next (6 and above) branch of this repository.

Why is this needed?
-------------------

[](#why-is-this-needed)

HTL software supports a large range of hhvm versions. Older hhvm versions need some arcane incantations that newer hhvm versions do not support anymore. This library allows me provide two definitions for one function, and load the right one based on your reported hhvm version.

For example, `varray(...)` is not supported on hhvm@next, but required to be used in some edge cases on hhvm version 4.102. `downgrade_vecish` is an alternate spelling for `varray(...)` on hhvm 4 and for `vec(...)` on hhvm 6.

Future of hhvm 4 support
------------------------

[](#future-of-hhvm-4-support)

I wanted to add support for hhvm@next to HTL, without removing unofficial support for hhvm version 4.102 through 4.151 in the same release. This library allows me to do that. On September 1st 2025, I will drop unofficial support for hhvm version 4.151 and below. This library will stick around to support hhvm version 4.153 through 4.168 for a while. It is unclear at this time when support for these versions will be dropped.

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance76

Regular maintenance activity

Popularity23

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity32

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~27 days

Recently: every ~40 days

Total

7

Last Release

197d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d16d159b7061287c506d4ab44d05ae042bc4ec697116d1bd132a007634d9ff21?d=identicon)[Hershel Theodore Layton](/maintainers/Hershel%20Theodore%20Layton)

---

Top Contributors

[![hershel-theodore-layton](https://avatars.githubusercontent.com/u/81193606?v=4)](https://github.com/hershel-theodore-layton "hershel-theodore-layton (23 commits)")

### Embed Badge

![Health badge](/badges/hershel-theodore-layton-hhvm-four-shim/health.svg)

```
[![Health](https://phpackages.com/badges/hershel-theodore-layton-hhvm-four-shim/health.svg)](https://phpackages.com/packages/hershel-theodore-layton-hhvm-four-shim)
```

###  Alternatives

[hhvm/hsl

The Hack Standard Library

1151.1M55](/packages/hhvm-hsl)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
