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_memorydom.postMessage.sharedArrayBuffer.withCOOP_COEPbrowser.tabs.remote.useCrossOriginEmbedderPolicybrowser.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.getAttributesandfs.getCapacityfunctions - Added optional timeout argument to
websocket.receive - Ported pretty printer to
lua.lua - Added
__lenmetamethod for tables - Strings now accept
\xNN,\u{NNN}, and\zescape codes - Added
utf8library - Added base argument to
math.log - Moved
table.packandtable.unpackout of the ROM and into C - Added
textutils.unserializeJSON - Rewrote
settingsAPI - Enabled MOTD by default
http.postnow 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_modeoption - To disable this (not recommended), set
showMountPromptto 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
gistprogram with new commands- Added
edit,delete, andinfocommands - 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.