Skip to content

V-1.0.17

Pre-release
Pre-release

Choose a tag to compare

@ideumi ideumi released this 04 Aug 14:19
· 130 commits to main since this release

Released on May 17, 2026

What's New:

- corelib:
	- bug: libmath: Pow(base, exp) could produce NaN
	- bug: librandom: RandomInt(min, max) hangs for ranges >256
	- libstat.chh: constants STATSIZE to STATTYPE have been removed
	- libinput.chh: InputPw() updated to getterm(), setterm(state) map usage
	- libterm.chh: Termios field byte offsets removed (TIFLAG to TVTIME)
	- libterm.chh: MakeRaw(state) updated to getterm(), setterm(state) map usage
	- libmath.chh: INTMAX and INTMIN added
	- libmath.chh: PI and E trimmed by one decimal digit
	- libpaths.chh: Basename(path) and Dirname(path) now strip trailing slashes

- rr2:
	- major engine cleanups
		- generic context
	- number system refactor
		- integer arithmetic over 2^53
		- overflow promotes to float
		- NaN and +-Infinity are rejected
		- for loops preserve precision above 2^53

- builtins:
	- updated for new number system
	- signal(): implementation polished
	- lstat(path), stat(path): now return a map instead of a list
	- winsize(): now returns a map instead of a list
	- getterm(): now returns a map instead of a list
	- setterm(state): the state argument now only accepts complete state map

- optionals:
	- updated for new number system

- misc:
	- go.mod bumped to 1.24.4
	- added misc/snake

FYI Breaking:

lstat(path), stat(path), winsize(), getterm() and setterm(state) have been ported to the map type, your projects will have to be updated, consult chippy doc [topic] for relevant map keys.

libstat.chh constants STATSIZE to STATTYPE have been removed, use the relevant map keys.

libterm.chh Termios field byte offsets removed: TIFLAG to TVTIME, use the relevant map keys.

libmath.chh PI and E were trimmed by one decimal digit.

Integer arithmetic above 2⁵³ used to lose precision silently. It no longer does. Check your code.

7c8a6dd0e6944355c280ebd7fd38ca5643b316368e3e1889575c16a5309d2151 chiplang-1.0.17-linux-aarch64.tar.xz
7bf162802e29f943e4b9e196fdfdaed8109afb043095a82a9f6a69ba13fc5332 chiplang-1.0.17-linux-x86_64.tar.xz