- Port the library to TypeScript and ship dual CJS + ESM builds plus an IIFE browser bundle.
- Bundle TypeScript declarations (you can drop
@types/jsbn). - Always use the 28-bit
am3multiply kernel (no user-agent sniffing). Fixes Node 21+navigatorand React Native. SecureRandom.nextBytesuses a CSPRNG when available; otherwise it falls back toMath.random()and warns once.modInverseon negative values reduces modulominstead of hanging.- Document the full public API.
Unreleased as a separate tarball; the 1.3.0 release includes these compatible fixes.
- Allow for es6 "default import", e.g.
import BigInteger from 'jsbn'. - Updated license file to read MIT
- breaking change:
require('jsbn')no longer returnsBigInteger. Userequire('jsbn').BigIntegerinstead.
- fixed backwards-incompatible change in v0.1.0 where
require('jsbn') != BigInteger. This patch version allows forvar BigInteger = require('jsbn')orvar BigInteger = require('jsbn').BigInteger.