Releases: MCJack123/craftos2
CraftOS-PC v2.4
After a month and a half of development, CraftOS-PC v2.4 is ready for release. This version includes a new renderer that uses the GPU to accelerate the terminal. It also contains a whole bunch of bug fixes and some small features. Last but not least, CraftOS-PC v2.4 introduces a brand-new icon. Inspired by macOS Big Sur's new design language, this new icon is high-resolution, high-color, and highly-textured. I hope you enjoy all of the new features and fixes CraftOS-PC v2.4 brings.
- Added new GUI terminal that uses hardware rendering (experimental)
- It uses the GPU to accelerate drawing graphics
- Uses the same base code that was used prior to v2.1, with updates that have been added since
- Support can be enabled with the
useHardwareRenderer
config option or the--hardware
or-r hardware-sdl
CLI flag - A test script is available to see which is better for your system
- You can run it with
gist run 802f64508a1f51b3244f5bcc0414ca22
- You can run it with
- Vsync can be enabled with the
useVsync
option - The driver to use can be selected with the
preferredHardwareDriver
config option or the-r
CLI flag- These are all of the possible drivers:
direct3d
direct3d11
directfb
metal
opengl
opengles
opengles2
software
- Some drivers may not be available on your system
- Use
craftos -r
to list all available drivers
- These are all of the possible drivers:
- Updated CC:T version to 1.90.2
- Add cc.image.nft module, for working with nft files. (JakobDev)
- Add configuration to control the sizes of monitors and terminals. (
defaultWidth
/defaultHeight
) - Fix string serialization error in textutils.serializeJSON.
- Brand-new app icon
- Designed especially for CraftOS-PC
- Inspired by the aesthetic of macOS Big Sur
- High-resolution, textured, modern
- Added proper double-buffering to the terminal
- This allows you to use the
term
API while CraftOS-PC is rendering - This speeds up programs that end up running lower than the render FPS
- This allows you to use the
- Added introduction & update MOTD messages
- When run for the first time (or in a new directory), an introduction message is displayed
- When run after an update, a notification message is displayed, and suggests running
help whatsnew
- Added support for
monitor_touch
event as expected (#119)- This removes the
mouse_*
events for monitors - The previous behavior can be restored by setting the
monitorsUseMouseEvents
config setting- This will also add the monitor's side as a fourth parameter
- This removes the
- Added
standardsMode
config option for strict compatibility with CC:T/CCEmuX- Forces time readings & timer resolution to be rounded to 50 ms (1 tick)
- Adds back colored margins as shown in CC
- More compatibility tweaks may be added under this option
- Added
startFullscreen
per-computer config option - Disabled access to
romReadOnly
from CraftOS - Fixed ABI compatibility with standard Lua libraries
- This means you can now properly use Lua libraries (e.g. from LuaRocks) as plugins
- Prefix the library name with
lua_
to tell CraftOS-PC to skip loading plugin metadata
- Updated plugin API version to 4
- Added ID to per-computer config error messages
- Modems now act as wired modems and can be used to access non-local peripherals (#122)
- Non-local peripherals can now be listed with
peripheral.getNames()
when a modem is attached
- Non-local peripherals can now be listed with
- Fixed a crash when opening a debugger twice (#120)
- Fixed a rare race condition while getting an event (#123)
- Fixed an issue with saving screenshots to disk
- Fixed a bug where function key hotkeys don't work when Caps or Num lock is enabled
- Fixed a bug causing the
locals
table in the debugger to be missing - Fixed
bit32.lrotate
returning incorrect results - Fixed crash when closing CraftOS-PC while a WebSocket is shutting down
- Fixed crash when using too many nested coroutines (#124)
- This was due to a bug that didn't update the C call count properly
- Calling too many nested coroutines will result in a "C stack overflow" error
- Fixed a race condition in
periphemu.detach
- Fixed incorrect prettification of non-contiguous tables (#125)
- Fixed raw terminals getting the same ID
- Added some more locks on timers to prevent crashes
- Fixed abort timeout not working before first yield
- Fixed missing UK spelling of term.nativePaletteColour
- Fixed modem hang due to locks not waiting
- Fixed missing modem distance field in
modem_message
event - Fixed utf8.char returning
%U
for each character - Fixed a random crash when calling a NULL C function (this shouldn't happen)
- Fixed styling of message dialogs on Windows
- Fixed events going to the wrong window in raw mode
- Fixed Ctrl-R/S/T shortcuts not working in non-GUI modes
- Disabled fullscreen support in WASM to avoid crashes (#100)
- Mac: macOS 10.13 or later is now required for official builds
- Users on older versions are still able to build and run CraftOS-PC themselves
- Windows: The solution now uses vcpkg for dependencies, so NuGet and separate builds are no longer required
- Windows: PDF printing is now supported in all builds
- Windows: Changed Visual C++ Runtime and other libraries to dynamic linking
- This reduces executable size, but the VCRT redistributable is now strictly required
- More DLLs will be required as well
If you need help using CraftOS-PC, I'm available on the ComputerCraft Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
CraftOS-PC v2.3.4
CraftOS-PC v2.3.4 includes a huge number of bugfixes relating to CC: Tweaked compatibility. The CC:T tests are now checked with every build of CraftOS-PC, so there should be a higher degree of accuracy and compatibility with the canonical version of CC:T. There are also some fixes that were made independently of the CC:T tests. Finally, a bunch of changes have been made to make CraftOS-PC more compatible with CCEmuX. These factors combine to make this version the most accurate version of CraftOS-PC 2 ever.
- Updated CC:T version to 1.89.1
- This includes full testing on the CC:T test set
- CraftOS-PC now fully passes all CC:T tests
- Added an error dialog when an error occurs reading the configuration files
- The dialog includes a message describing where the JSON parsing error occurred
- If an error occurs, the defaults will be used, and no changes will be saved
- Added proper
ingame
locale foros.day/time/epoch
- This is based on a 20-minute clock that starts when the computer boots
- This change is to improve compatibility with CCEmuX/CC:T
- Added CCEmuX command-line flags
--assets-dir
,--computers-dir
,--start-dir
,--data-dir
(alias of--directory
),--plugin
,--renderer
- The
--start-dir
flag only affects the initial computer (specified by--id
)
- Headless mode now reports a color terminal (for advanced testing)
os.time
now properly parses tables returned byos.date("*t")
- CraftOS-PC now reports its real version and CC version in HTTP User-Agent strings
fs.delete
no longer errors when deleting a non-existent file- Fixed
io.open
creating a directory instead of opening a file in write mode (#116) - Fixed
fs.getDrive
returning the wrong results - Fixed a whole bunch of warnings
fs.getSize
now returns 0 when used on a directory instead of erroring- Fixed a bug causing audio glitches when playing low notes through the speaker
- Fixed an error when writing
nil
or a number to a file (#118) - Fixed a crash when an invalid format string is passed to
os.date
- Fixed missing cc.completion and cc.shell.completion modules
- Fixed programs getting the path to the program in arg[0] instead of the command as it was run
- Raised maximum Lua call depth to 32768 (from 256)
loadstring
now automatically adds an=
sign to the chunk name- Fixed
debug.getlocal
not returning function parameter names- This fixes the
cc.pretty
module's parameter detection function
- This fixes the
- Fixed vulnerability in
io
library - Fixed
io.lines()
with no arguments - Fixed missing
*L
option forio.read
/file:read
- Fixed
io.write
/file:write
not returning file handle - Fixed
string.format
erroring when using nil as a string parameter fs.copy
can now copy folders as expected- Fixed
fs.find("/")
returning an empty table - Fixed
fs.attributes
having the wrong name - Fixed
fs.makeDir
not erroring when it tries to create a directory where a file is already present - Fixed a boatload of string differences to comply with CC: Tweaked
- Fixed a bunch more small inconsistencies
- Fixed
io.open
not creating all parent directories if they're missing - Added support for custom options to
io.lines
- Fixed support for '+' modes in
io.open
- Fixed errors in Lua prompt showing
[string "lua"]:
instead oflua:
- Windows: Changed ROM directory to the path where the executable is located
- This means you can now change the installation directory
If you need help using CraftOS-PC, I'm available on the ComputerCraft Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
The non-CC:T Mac build has been updated to fix an issue with the auto-updater. Please install this version manually, since previous versions are still affected.
The Mac builds have been updated to reduce file size.
The Windows installer has been updated to support running as a standard user. If not run as admin, the default install location is %LOCALAPPDATA%\CraftOS-PC
. The Visual Studio 2019 redistributable will still need administrator privileges if it's not installed.
CraftOS-PC v2.3.3
CraftOS-PC v2.3.3 is a bugfix update, fixing some problems with the debugger as well as other miscellaneous issues.
- Added a
record
domain to drives- Inserting a disk in the format
record:<name>
will insert a music disc fromminecraft:music_disc.*
in the speaker sound data disk.insertDisk("left", "record:cat")
will insert the "cat" music disc from the sound files as a playable music disc
- Inserting a disk in the format
- Updated
gist
(again) - Fixed an error preventing the debugger from starting up
- Fixed
fs.readLine
returning weird strings on empty lines (#113) - Fixed an error when writing numbers to the screen
- Fixed a bug that overrode User-Agent and Content-Type HTTP headers
- Fixed audio clipping when playing pitched sound through the speaker
- Fixed a crash when playing some notes on Windows
- Fixed stack corruption in the debugger
- Fixed origin point of paintutils calls in graphics mode
- Fixed a bug that may lead to events being sent with the wrong parameters
- Computers now shut down automatically if the BIOS exits
If you need help using CraftOS-PC, I'm available on the ComputerCraft Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
CraftOS-PC v2.3.2
CraftOS-PC v2.3.2 brings a bunch of new features, especially around the plugin API, as well as some bug fixes that didn't make it into v2.3.1. It also officially supports running the stock CC: Tweaked ROM, with a new set of builds using the ROM.
- Feature parity with CC: Tweaked 1.88.1
- Add peripheral.getName - returns the name of a wrapped peripheral.
- The Lua REPL warns when declaring locals (lupus590, exerro)
- Add fs.isDriveRoot - checks if a path is the root of a drive.
- cc.pretty can now display a function's arguments and where it was defined. The Lua REPL will show arguments by default.
- Move the shell's require/package implementation to a separate cc.require module.
- CraftOS-PC builds with the CC: Tweaked ROM are now available
- These builds use the stock ROM, with CraftOS-PC-specific programs included
- Some ROM features (notably, autocomplete for CCPC programs) may not be available
- CC:T Edition will replace the standard CraftOS-PC ROM, so they can't be used alongside each other
- This does not apply to Mac builds, which are distributed as single apps
- Ubuntu: Install the
craftos-pc-cct-data
package to use the CC:T ROM
bit32
is now the default bit API- The BIOS will set up a wrapper to allow programs to continue using
bit
- The BIOS will set up a wrapper to allow programs to continue using
- Added
file.readLine
to file handles opened in binary mode - Added
getLabel
method to computer peripherals - Rewrote Gist program again
- This will be changing once again in the next version
- Added new plugin capabilities
register_queueTask
: Returns a function of the formvoid* queueTask(std::function<void*(void*)> func, void* userdata, bool async)
register_getComputerById
: Returns a function of the formComputer * getComputerById(int id)
get_selectedRenderer
: Returns a number representing the currently selected renderer
- Capability callbacks now receive the name of the function it's called for
plugin_info
can now safely throw errors- If a plugin throws an error here, its API will not be loaded and the error will be reported to the user on boot
- Added SDLTerminal::resizeWholeWindow, which resizes a terminal and its window
- Fixed
file.readLine
only returning up to 255 characters - Fixed a possible race condition
- Fixed a bug in
fs.open
,fs.makeDir
, etc. where parent directories aren't created if they don't exist
If you need help using CraftOS-PC, I'm available on the ComputerCraft Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
The Windows installer for CC:T Edition has been pulled due to inadequate testing. Please download the v2.3.3 installer for CC:T Edition instead.
CraftOS-PC v2.3.1
CraftOS-PC v2.3.1 contains a huge number of bugfixes and general improvements, as well a few new features to round out the update.
With this version comes the official release of CraftOS-PC Online. CraftOS-PC Online is a completely web-based version of CraftOS-PC with its own IDE interface. Most of the features in desktop CraftOS-PC are also available in CraftOS-PC online, while running faster than native ComputerCraft - much faster than copy-cat. It uses an interface similar to Visual Studio Code, but with new tabs allowing opening terminal windows, downloading & uploading files, and more. CraftOS-PC Online is available at https://www.craftos-pc.cc/online/.
- CraftOS-PC is now available as a notarized build on Mac
- This means it is no longer necessary to right-click the app to open it for the first time
- Added new crash handler that outputs a stack trace for debugging
- Mac & Linux builds will output the stack trace to the console
- Windows builds will only show a dialog showing a crash occurred; the actual stack trace will be saved in a minidump
- Mac app builds will show a crash report dialog as usual
- Added mouse_move event (disabled by default)
- The
mouse_move_throttle
config option sets the amount of time between events sent - It is disabled by default because cc-tweaked/CC-Tweaked#434 is still in progress
- Set
mouse_move_throttle
to a whole number (50 is recommended) to enable
- Set
- The
- Added file.readAll for binary file handles
- Added maxOpenPorts config option to cap maximum number of open ports
- Added a couple of upcoming CraftOS features from CC: Tweaked upstream
- Added
term.showMouse
to toggle whether the real mouse cursor should appear - Added startComputer capability to plugins
- Added return value from
config.set
specifying when the change will take effect - Improved error message reporting across the board
- Using non-vanilla programs in vanilla mode now shows a descriptive error
- Fixed crash when creating directories
- Fixed term.drawPixels not working properly for table arguments when in mode 1
- Fixed writing text files with binary by writing in UTF-8
- Fixed crash when an HTTP request times out
- Fixed a security vulnerability involving the drive peripheral
- Fixed multiple mouse_drag events being sent for the same position (#107)
- Fixed computer not unpausing when closing debugger
- Fixed mount dialog showing incorrect text relating to read-write mount
- Fixed some bugs with the modem
- Fixed a bunch of small memory leaks & issues
- Fixed a race condition when taking a screenshot
- Fixed a bug where the size operator of a table may not represent its actual size
- Fixed a crash when using a modem or debugger after rebooting
- This was done by adding a
reinitialize
method to peripherals- This method is called after restarting a computer while having the peripheral attached
- Use this if your peripheral holds any references to the computer's Lua state or a sub-thread
- This was done by adding a
- Fixed a bug where coroutines created before attaching a debugger won't be able to be paused from the debugger when resumed
- Fixed
http.get
andhttp.request
not allowing using a table as a parameter - Fixed a bug where the computer wouldn't boot when
disable_lua51_features
is enabled (#110)
If you need help using CraftOS-PC, I'm available on the ComputerCraft Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
The Mac app has been updated to fix an auto-update issue related to notarization.
CraftOS-PC v2.3
CraftOS-PC v2.3 is finally ready for release. This version comes chock-full of new features to try out, as well as some much-needed improvements to CraftOS-PC.
- Massively improved performance of emulation
- Speed issues are caused by the debugger's hooks (specifically line hooks)
- This version only enables the required hooks depending on what features are required
- In general, more debugging features -> lower performance
- Depending on the machine, expect between 4-20x faster emulation
- Added official support for WASM, including an online client (CraftOS-PC Online)
- CraftOS-PC Online is available at https://www.craftos-pc.cc/online/
- Supports Chrome/Chrome-based browsers, and new versions of Firefox with the following options enabled in
about:config
:javascript.options.shared_memory
dom.postMessage.sharedArrayBuffer.withCOOP_COEP
browser.tabs.remote.useCrossOriginEmbedderPolicy
browser.tabs.remote.useCrossOriginOpenerPolicy
- Added speaker peripheral
- Includes open-source sounds for notes
- Users can manually add in custom sounds (including offical Minecraft ones)
- See https://www.craftos-pc.cc/docs/periphemu.html#speaker-sounds for more info
- Updated CC:T compatibility to 1.87.1
- Added
fs.getAttributes
andfs.getCapacity
functions - Added optional timeout argument to
websocket.receive
- Ported pretty printer to
lua.lua
- Added
__len
metamethod for tables - Strings now accept
\xNN
,\u{NNN}
, and\z
escape codes - Added
utf8
library - Added base argument to
math.log
- Moved
table.pack
andtable.unpack
out of the ROM and into C - Added
textutils.unserializeJSON
- Rewrote
settings
API - Enabled MOTD by default
http.post
now accepts a table as an argument as expected
- Added
- Added raw terminal renderer
- See the documentation (https://www.craftos-pc.cc/docs/rawmode.html) for more info
- Added TRoR (Terminal Redirect over Rednet) terminal renderer
- Added the ability to place modems on multiple separate networks
- This can be done by adding a third argument when attaching the peripheral, specifying the network ID
- Modems with different network IDs won't be able to communicate with each other
- Added prompt when mounting a real directory, for security
- This is to mitigate the possibility that a malicious script deletes arbitrary files
- A prompt also appears when changing the
mount_mode
option - To disable this (not recommended), set
showMountPrompt
to false in global.json- This option cannot be changed inside CraftOS-PC
- Added filesystem merge mount support
- Added standalone executable option for Windows & Linux
- Added scrollback to debugger console
- Added pop-up when a computer is hung and ignores terminate events
- Revamped
gist
program with new commands- Added
edit
,delete
, andinfo
commands - Gist logins now use Personal Access Tokens instead of a private server with OAuth2
- Added
- Improved command-line usage
- Cursor color can now be changed as expected
- Fixed 256-color graphics mode on monitors
- Fixed crash when receiving tables over a modem connection
- Fixed a crash relating to timers
- Fixed memory leak when taking a screenshot on Mac
- Fixed missing Content-Type and Content-Length headers in HTTP requests
- Fixed mouse event location in graphics mode when using an HD font
- Fixed a crash when an error occurs while creating a peripheral
- Fixed missing error messages when an HTTP connection fails
- Accessing the string metatable is no longer blocked
- Removed path argument to
term.screenshot()
- Added a rate limit to
term.screenshot()
- Windows: Standalone builds are now available to download next to the installer
- Windows: A console build of CraftOS-PC is included with the installer to support raw/TRoR/headless output
- Mac: CraftOS-PC is now fully notarized and will no longer require right-clicking to open
- Linux: Dropped support for Ubuntu 19.04
The builds have been re-released to fix an issue in the ROM.
If you need help using CraftOS-PC, I'm available on the ComputerCraft Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
CraftOS-PC v2.3 Beta 1
CraftOS-PC v2.3 is now ready for testing! Many weeks of work have gone into making this update packed with features, and now it's in a state where it is ready for use.
- Massively improved performance of emulation
- Speed issues are caused by the debugger's hooks (specifically line hooks)
- This version only enables the required hooks depending on what features are required
- In general, more debugging features -> lower performance
- Depending on the machine, expect between 4-20x faster emulation
- Added official support for WASM, including an online client (CraftOS-PC Online)
- CraftOS-PC Online is available at https://www.craftos-pc.cc/online/
- Supports Chrome/Chrome-based browsers, and new versions of Firefox with the following options enabled in
about:config
:javascript.options.shared_memory
dom.postMessage.sharedArrayBuffer.withCOOP_COEP
browser.tabs.remote.useCrossOriginEmbedderPolicy
browser.tabs.remote.useCrossOriginOpenerPolicy
- Added speaker peripheral
- Includes open-source sounds for notes
- Users can manually add in custom sounds (including offical Minecraft ones)
- See https://www.craftos-pc.cc/docs/periphemu.html?development#speaker-sounds for more info
- Updated CC:T compatibility to 1.87.0 (preview)
- Added
fs.attributes
andfs.getCapacity
functions - Added optional timeout argument to
websocket.receive
- Ported pretty printer to
lua.lua
- Added
__len
metamethod for tables - Strings now accept
\xNN
,\u{NNN}
, and\z
escape codes - Added
utf8
library - Added base argument to
math.log
- Added
- Added raw terminal renderer
- See the documentation (https://www.craftos-pc.cc/docs/rawmode.html?development) for more info
- Added TRoR (Terminal Redirect over Rednet) terminal renderer
- Added filesystem merge mount support
- Added standalone executable option for Windows & Linux
- Added scrollback to debugger console
- Added pop-up when a computer is hung and ignores terminate events
- Improved command-line usage
Notes
Please note that this is pre-production software: beware that some bugs may pop up while using this version. Also, be aware that beta builds have updates turned off, so you will need to manually download the release version once it's available.
Documentation for this version is available on the development branch of the docs, though do note that this is not fully complete, and changes may occur before the full release.
The speaker peripheral is currently not working properly for the WASM port. Please do not attempt to use it there. I'm warning you, it's very broken.
Linux users: I will not be providing packaged versions of this version or any future beta to avoid forcing users to upgrade. Please build CraftOS-PC from source if you wish to try this beta.
Windows users: This version does not include support for SoundFont due to some dependency issues that I have yet to resolve. If I get the dependencies working properly before the next release (beta or not), I will reupload the binary to include it. Also, standalone support is coming soon, but I have to figure out how to incorporate the DLLs into the executable.
If you need help using CraftOS-PC, I'm available on the ComputerCraft Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
CraftOS-PC v2.2.6
Development of CraftOS-PC v2.3 is in full swing, especially since all of my classes have been moved online or cancelled due to the novel coronavirus. (Thanks...?) Meanwhile, the v2.2 branch gets a new update to backport some of the fixes that were added to v2.3, as well as officially releasing changes that were already pushed but not yet released.
- Added gist.lua to the default ROM
- Reboot now resets graphics mode
- Added
--rom
flag to allow changing ROM directory (#84) - Fixed extended ASCII character input conversion (#85)
- Fixed key events not being sent when Ctrl+[TSR] are pressed (#86)
- Fixed bug in fs.getFreeSpace
- Fixed term.drawPixels cutting off bottom
- Fixed crash when rebooting with events in queue
- Fixed disk mount paths
- Fixed deadlock when a peripheral method causes an error
- Fixed getPixel boundaries being too small
- Fixed paste events sending \r characters on Windows (#95)
If you need help using CraftOS-PC, I'm available on the ComputerCraft Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
The Mac app has been re-released to update some dependencies.
CraftOS-PC v2.2.5
This is a relatively small release, but it fixes a few crashes and adds some new command-line functionality. This version is mainly released to support daelvn's COSRun tool for running projects in CraftOS-PC directly from the terminal; go check it out!
- Added
--directory
argument to specify custom data directory - Added
--id
argument to specify launch computer, overridinginitialComputer
config option - Rewrote
--script
argument to no longer shadow realstartup.lua
(#83) - Added header option to
http.websocket
to match CC: Tweaked behavior (#82) - Fixed crash when writing below screen
- Fixed crash when closing WebSocket
- Fixed terminal background not being affected by palette changes
If you need help using CraftOS-PC, I'm available on the ComputerCraft Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
CraftOS-PC v2.2.4
CraftOS-PC v2.2.4 delivers a huge list of bug fixes (including many crash fixes!) that were written with love... or something like that. Enjoy some improvements regarding CLI mode, WebSockets, and file reading.
- Computer label now displays in title bar (including the terminal emulator's title in CLI mode)
- Added cliControlKeyMode config option (#78, #79)
- Added --args argument to command line to pass arguments to --script (#78)
- Added UTF-8 support over HTTP
- Unicode characters are now replaced with '?' (rather than being dropped)
- file.read() now accepts a length in text mode
- Insecure WebSockets ('ws://') no longer attempt to use secure WebSockets
- Fixed WebSocket connection failure when no path is provided
- Fixed crash when closing computer with open WebSockets
- Fixed crash in fs.list() when a non-string argument is passed (#77)
- Fixed crash when closing computer with running timers
- Fixed crash when reading a string with an invalid UTF-8 codepoint
- Fixed crash when too many events are queued
- This also fixes a crash when pasting long text in CLI mode
- Fixed glitch/crash when resizing CLI window (#78, #80)
- Fixed issue with clicking the mouse in CLI mode (#78)
- Fixed 100% CPU usage when using CLI mode
- Fixed term.setCursorPos clamping the cursor to [0, width)
- Fixed term.clear filling with black/white instead of selected BG/FG combo
- Fixed file.readAll() on Windows when the file has no end newline
- Fixed issue when reading single character at a time from text files
- Fixed POST data stopping at NUL characters
- Made some HTTP error messages more descriptive
- Fixed HTTP implementation in WASM port
- Added --enable-wasm flag to ./configure to allow building for WASM
- Added window switcher for WASM builds
- Fixed debugger locals once again
- table.concat() now works with non-contiguous tables
- Fixed crash when a computer's config file was corrupt or empty
If you need help using CraftOS-PC, I'm available on the ComputerCraft Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
The Mac version has been re-released to reduce file size.