All notable changes to this project will be documented in this file. See Keep a Changelog for formatting guidelines.
- The interpreter can now handle assembly syntax, with the
-Aflag in the command line and a checkbox in the online interpreter. Currently, interactive debugging of assembly is not supported in the web interpreter.
- Fixed C++23 support
- Changed some CSS property names to no longer reference deprecated properties
1.8.3 - 2024-09-16
- The macro
NO_BUFFERcan be defined to prevent buffering of output.
TSPis 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
constexprannotations I missed last time.
1.8.1 - 2024-05-03
- Removed some
constexprannotations 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
GTMthat 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 (
dandp). - GDT and GTM (
DandT) 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
-aflag to assume ASCII I/O.
1.5.0 - 2023-08-31
- Added a low-data version of the online interpreter.
- Added the
-zflag 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
--versionflag. 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_tso that it compiles on macOS.
1.3.3 - 2023-06-11
- Added a missing
#includerequired 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
setoinstruction 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
--expandflag 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.