gosuperscript/axiom
Axiom is a Laravel package that provides a set of well-crafted, reusable building blocks for common application concerns, with an expressive API, sensible defaults, and seamless integration into any Laravel project. It helps keep your code organized, consistent, and easy to maintain.
if-ladders, JSON rule configs, or a homegrown DSL. This release is a signal that the semantics layer is still being actively corrected (operator resolution order), which matters if you're deciding whether to lean on it for business rules versus writing your own evaluator.Consider it when:
if statements."gosuperscript/axiom": "0.6.10" or a tight constraint) and accept a review cycle on each patch.Look elsewhere when:
To executives: Axiom is a small, focused Laravel library for evaluating business rules written as expressions instead of hard-coded conditionals. The latest release (v0.6.10) is a correctness fix — it removes an ambiguity where "is this value present?" and "does this value equal X?" could resolve in the wrong order. That's the right kind of release for a library like this: it's tightening semantics, not adding surface area. The strategic case is optionality: it lets us move pricing, eligibility, and gating logic out of code and into configuration without building and maintaining an expression engine ourselves. The caveat is maturity — the package is pre-1.0 and the semantics are still being refined. My recommendation is a time-boxed pilot on a non-critical rule set, with the version pinned and a small conformance suite around our own conditions, before we consider it for anything customer-facing or revenue-affecting.
To engineering: This is a patch release on a 0.x package — no new features, no deprecations, no migration work. The change fixes operator resolution ordering so presence checks are evaluated ahead of equality overloads; if we have any rule that tests both existence and equality on the same operand, behaviour may shift, and that's the one thing worth a regression test. Recommend pinning an exact version, adding a composer update gate that runs our rule conformance tests, and treating each 0.x bump as a potentially behaviour-changing release until 1.0 lands.
How can I help you explore Laravel packages today?