All notable changes to this project will be documented in this file. See Keep a Changelog for formatting guidelines.
- Fixed C++23 support
1.8.3 - 2024-09-16
- The macro
NO_BUFFER
can be defined to prevent buffering of output.
TSP
is now correctly identified by the disassembler, rather than becomingBNG
.- The web interface now indicates when the URL is invalid.
1.8.2 - 2024-05-03
- Modified a test so it passes on macOS 14.
- Removed some more
constexpr
annotations I missed last time.
1.8.1 - 2024-05-03
- Removed some
constexpr
annotations so the code compiles on macOS.
1.8.0 - 2024-05-03
- The language version is now displayed on the online interpreter.
- RND (
$
) now works in compiled programs, though backed by a different source of randomness.
- Fixed the position of the variation selector on the pause button.
- Changed the way new colors are generated for the web interface.
1.7.0 - 2024-01-23
- The online interpreter no longer interprets shebangs. For compatibility with the CLI, the "condense" button still leaves whitespace in programs that start with
#!
. - Some error messages have been reworded.
- Overflow checking on most arithmetic operations is now laxer to allow for unsigned numbers.
- Fixed a long-standing rounding bug in
GTM
that affected times shortly before UTC midnight. - Added some missing newlines to the help string.
- Modifying the input when "include input in URL" is checked now invalidates the generated URL.
- Added UDV and PTU opcodes (
d
andp
). - GDT and GTM (
D
andT
) now work in compiled programs.
1.6.2 - 2023-11-21
- The EXP opcode now behaves consistently between the interpreter and the C compiler.
- You can now customize the colors of the threads in the online debugger.
1.6.1 - 2023-10-24
Corrected overloads so it now compiles on macOS.
1.6.0 - 2023-10-24
- Added prebuilt binaries for ARM64 macOS, x86 Windows, and ARM64 Windows.
- Added a 'play' feature to the online debugger, to automatically step through the code.
- Added a compile mode to emit C code.
- Added
-a
flag to assume ASCII I/O.
1.5.0 - 2023-08-31
- Added a low-data version of the online interpreter.
- Added the
-z
flag to read the program as null-terminated. This is useful for passing both the program and its input over stdin. - It is now possible to include the contents of stdin in the URL.
- The debug highlight now respects non-breaking spaces in the source.
- The debug pop-up now line wraps correctly on smaller screens.
1.4.2 - 2023-07-29
- The online interpreter correctly resets STDIN each time.
- The IP highlight now always renders in the correct place while debugging.
1.4.1 - 2023-07-26
- The "Step" button in the GUI debugger now works correctly on iOS.
- The IP highlight now renders in the correct position on Chrome and related browsers.
1.4.0 - 2023-07-26
- Added a
--version
flag. The version must be defined when compiling the interpreter, with-DVERSION=...
(gcc/clang) or/DVERSION=...
(MSVC). - Added a GUI debugger to the web interface.
1.3.5 - 2023-06-11
No code changes, just fixing CI.
1.3.4 - 2023-06-11
- Changed the overloads of
int24_t::int24_t
so that it compiles on macOS.
1.3.3 - 2023-06-11
- Added a missing
#include
required to build on Linux.
1.3.2 - 2023-06-11
No code changes, just fixing CI.
1.3.1 - 2023-06-11
- Overflow checking for multiplication on x86-64 now uses the
seto
instruction rather than preempting it with division.
- Corrected the warning condition for overflow with DEC.
1.3.0 - 2023-05-21
- Added 2-dupe instruction (DP2,
z
).
- Fixed bug in disassembler where it would emit extraneous numbers in some cases.
- Fit help string within 80 characters per line.
- Improved contrast for link and error colors in the web interface.
- Fixed a bug involving background colors in the web interface in Safari.
- Changed disassembler label format from a single integer to two integers separated by a dot.
- Uses EXIT_FAILURE instead of hardcoding 1.
1.2.1 - 2023-03-28
- The web interface now has toggles for light/dark and high-contrast/low-contrast color schemes.
- The input box now fits on the screen on small mobile devices.
- Invalid URLs no longer prevent the page from laying out correctly.
1.2.0 - 2023-03-21
- Gave the web interface a complete redesign.
- Added GDT and GTM opcodes.
- Added custom URL generation for the online interpreter.
- Greatly improved execution speed of code that produces a lot of output.
- Long-running loops that produce no output can now be stopped.
- Fixed shebang handling when condensing code.
- Fixed handling of trailing
.
s when condensing code.
1.1.1 - 2023-03-15
- Minor performance improvements with I/O, especially for the web interface.
- Fixed a race condition in loading the web interface.
- Added a warning for invalid characters.
- The disassembler no longer continues after an invalid opcode.
- The program and input fields in the web interface are larger.
1.1.0 - 2023-03-12
- Some UTF-8 handling edge cases have been fixed.
- Added a
--expand
flag to add spaces to code, and a corresponding button to the web interface. - There are now threading operators,
{
and}
.
- Various improvements have been made to the CSS for the web interface.
1.0.0 - 2023-03-02
First versioned release.