
Security News
OpenClaw Skill Marketplace Emerges as Active Malware Vector
Security researchers report widespread abuse of OpenClaw skills to deliver info-stealing malware, exposing a new supply chain risk as agent ecosystems scale.
BiSON provides a JSON like encoding for JavaScript objects but focusses on providing a format that is optimized for use with WebSockets and other applications where bandwidth is a major concern.
The Library exports a encode and a decode method on either the global BISON
object in the Browser or on the module when used under Node.js.
// Encoding and decoding a Object
BISON.decode(BISON.encode({ key: 'value' })) // { key: 'value' }
BiSON saves between 30 to 55 percent of size when compared to JSON. With the average saving being around 45 percent. In order to achieve a maximum of compression BiSON makes some trade offs, therefore it is not 100% compatible with JSON.
Important: For reasons of speed, BiSON does not perform any validation on the data you pass it.
E.g: Passing Numbers that are not within the valid range will result in non matching output.
Depends on the data being encoded and the JavaScript engine being used.
On chrome performance ranges from x0.5 to x2 the speed of JSON. With string serialization being x100 faster.
The tests can be run with nodeunit or in a browser of your choice.
BiSON converts all values into a bit stream in order to achieve maximum compression of the different data types, the format is described below.
Each value is prefixed by a 3 bit field that determines its type:
0:
A Boolean, a 1 bit field with the value follows:
0 = false1 = true1:
A Integer in the range of -2147483648 to +2147483648, a 3 bit field
follows that contains the number of bits that make up the actual value:
0 = 1 bit1 = 4 bits2 = 8 bits3 = 12 bits4 = 16 bits5 = 20 bits6 = 24 bits7 = 32 bitsAfter the above number of bits, a 1 bit field follows containing the sign.
2:
A single percision Float, same data as the Integer but with an additional
4 bit field at the end containing the number of decimal places the value needs
to be shifted to the right.
3:
A String, a 3 bit field with the following values:
<= 28 = The length in bytes. 29 = A 8 bit field follows containing the length in bytes. 30 = A 16 bit field follows containing the length in bytes. 31 = A 32 bit field follows containing the length in bytes.The stream is padded to the next full byte followed by the raw string data.
4:
Start of an Array, all values until the next type #6 are to be
appended to this array.
5:
Start of an Object. Pairs of String and a value follow, until the next
type #6.
The string is to be used as the key in the object to which the value will be associated with.
6:
End of the last opened Array or Object.
7
Either null or EOS, a 1 bit field with the values follows:
0 = null1 = End of Stream7 = Invalid StreamBiSON is licenses under MIT.
FAQs
Bandwidth optimized binary encoding for JavaScript.
We found that bisonjs demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Security researchers report widespread abuse of OpenClaw skills to deliver info-stealing malware, exposing a new supply chain risk as agent ecosystems scale.

Security News
Claude Opus 4.6 has uncovered more than 500 open source vulnerabilities, raising new considerations for disclosure, triage, and patching at scale.

Research
/Security News
Malicious dYdX client packages were published to npm and PyPI after a maintainer compromise, enabling wallet credential theft and remote code execution.