github locutusjs/locutus v2.0.34

latest releases: v2.0.37, v2.0.36, v2.0.35...
2 days ago

New Languages (7)

  • Perl 5.40: POSIX::ceil, POSIX::floor, core::length
  • Lua 5.4: math.ceil, math.floor, math.abs
  • R 4.4: ceiling, floor, abs
  • Julia 1.11: Base.ceil, Base.floor, Base.abs
  • Elixir 1.18: Float.ceil, Float.floor, Kernel.abs
  • Clojure 1.12: Math/ceil, Math/floor, Math/abs
  • GNU AWK 5.3: length, int, substr

New Functions

  • Go: 11 strings functions (Contains, ContainsAny, Count, EqualFold, HasPrefix, HasSuffix, Index, LastIndex, Repeat, ReplaceAll, Split)
  • Ruby: 14 Math functions (sqrt, sin, cos, exp, log, tan, asin, atan, cbrt, cosh, log10, log2, sinh, tanh)
  • Python: 8 math functions (ceil, floor, exp, fabs, log, log10, log2, trunc)

Parity Verification

  • New cross-language verification system with Docker
  • PHP: 164 functions verified against PHP 8.3
  • Python: 23/25 functions verified against Python 3.12
  • Go: 20 functions verified against Go 1.23
  • Ruby: 30/32 functions verified against Ruby 3.3
  • C: 11/18 functions verified against GCC
  • parity verified: header in function files for CI integration
  • Parallel execution with caching for fast test runs

Website

  • Rosetta Stone: Cross-language function links on each function page
  • Hover tooltips on verified badges showing exact version
  • Internal dependencies shown with clickable links
  • Authors rendered server-side instead of client-side JS
  • Hexo upgrade 7.1.1 → 8.1.1

Infrastructure

  • Converted src/_util/ to TypeScript, removed Babel 6
  • Migrated from Mocha/Chai to Vitest
  • Updated Node engine requirement from >= 10 to >= 22
  • Added stricter Biome rules: noAccumulatingSpread, useAwait, noFloatingPromises
  • CI runs full lint checks (lint:ts, lint:headers, lint:no-stray-js)
  • Standardized array checking to Array.isArray() across 43 files
  • Added composer.json for PHP project integration

Dependencies

  • mocha 10 → 11, chai 4 → 6, rimraf 5 → 6, cross-env 7 → 10

Bug Fixes

  • Node 25 compatibility: async queue drain, indentString
  • Docker image pull optimization (once at init, not per-function)

Full changelog: https://github.com/locutusjs/locutus/blob/main/CHANGELOG.md

Don't miss a new locutus release

NewReleases is sending notifications on new releases.