Releases: MCJack123/craftos2
CraftOS-PC Accelerated v2.7.4
CraftOS-PC v2.7.4 finally brings a wealth of new CC:T features, as well as a critical fix on Windows systems.
This version has been re-released to fix a critical issue when using multiple computers.
- Fixed critical crashing issue on Windows systems relating to ropes
- Updated CC:T version to 1.104.0
- The shell now supports hashbangs (
#!
) (emmachase). - Error messages in edit are now displayed in red on advanced computers.
- Improvements to the display of errors in the shell and REPL.
- Fix
rednet
queueing the wrong message when sending a message to the current computer. - Fix the Lua VM crashing when a
__len
metamethod yields. table
methods andipairs
now use metamethods.- Argument errors now follow the standard "X expected, got Y" format.
- Add
coroutine.isyieldable
. - Type errors now use the
__name
metatag. xpcall
now accepts arguments after the error function.speaker
program now reports an error on common unsupported audio formats.- multishell now hides the implementation details of its terminal redirect from programs.
settings.load
now ignores malformed values created by editing the .settings file by hand.- Ignore metatables in
textutils.serialize
. - Fix
gps.locate
returningnan
when receiving a duplicate location (Wojbie).
- The shell now supports hashbangs (
- Added plugin support on iOS through in-app purchases
- Use the
plugins
program to buy new plugin packs - Only one is available at the moment, featuring
ccemux
,joystick
, andsound
- Use the
- Native
load
now uses Lua 5.2 syntax, matching Cobalt's behavior - Fixed crashing when calling
monitor.blit
when the cursor is off-screen - Fixed compilation error on newer Linux systems
If you need help using CraftOS-PC, I'm available on the CraftOS-PC Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
CraftOS-PC Accelerated v2.7.3
It's been a while since the last update! CraftOS-PC v2.7.3 brings a large number of fixes (which have been waiting for too long...), as well as a few goodies for Linux and mobile users.
- Updated CC:T version to 1.102.2
- Moved Lua portions of
fs
andhttp
outside the BIOS - Trim spaces from filesystem paths.
- Fix
import.lua
failing to upload a file. - Reduce inconsistency with the table length operator in some cases
- Moved Lua portions of
- Linux builds are now officially published as AppImages
- These will be provided in conjunction with normal packages for Ubuntu/Arch/Raspbian
- Arch users will be able to use
craftos-pc-bin
package to install the AppImage version, avoiding slow local compilation
- Replaced rope and substring allocation with clusters
- This should hopefully fix performance and memory allocation issues with string concatenation
- Added new multi-touch events on mobile platforms
_CCPC_finger_touch
,_CCPC_finger_up
,_CCPC_finger_drag
- All events get finger ID, X, and Y as parameters
- These events co-exist with single-touch mouse events
- iOS now has Page Up/Down keys on the arrow toolbar for quicker navigation
- Added function authentication for C functions to mitigate bytecode vulnerabilities
- Improved performance of binary
file.readAll
unpack
no longer uses a table'sn
field- Fixed error when setting palette colors on windows in 256-color graphics mode
- Fixed more crashing when filesystem functions fail (#280)
- Fixed crashes due to stack overflows
- Fixed WebSocket pings sending a close response (#214)
- Fixed crashes in
websocket.receive()
when receiving a message that's too large (#297, #214) - Fixed vague error message responses when an HTTP request fails (#292)
- Fixed DAP crash from setting a breakpoint in an unknown file
- Fixed breakpoints activating on the wrong line
- Fixed first line of a file not being able to trigger a breakpoint
- Fixed debugger errors when invalid arguments are used on the ccdb command line (#294)
- Fixed precision issues with
os.epoch("nano")
(#299) - Fixed
rawlen
and__ipairs
being missing from the global table - Fixed Windows crash reporter being disabled
- Windows builds will no longer attempt to prompt for crash reporting when run in console-based modes
- Fixed some inconsistencies with seeking beyond a file's limits (#310)
If you need help using CraftOS-PC, I'm available on the CraftOS-PC Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
CraftOS-PC v2.7.3
It's been a while since the last update! CraftOS-PC v2.7.3 brings a large number of fixes (which have been waiting for too long...), as well as a few goodies for Linux and mobile users.
- Updated CC:T version to 1.102.2
- Moved Lua portions of
fs
andhttp
outside the BIOS - Trim spaces from filesystem paths.
- Fix
import.lua
failing to upload a file. - Reduce inconsistency with the table length operator in some cases
- Moved Lua portions of
- Linux builds are now officially published as AppImages
- These will be provided in conjunction with normal packages for Ubuntu/Arch/Raspbian
- Arch users will be able to use
craftos-pc-bin
package to install the AppImage version, avoiding slow local compilation
- Replaced rope and substring allocation with clusters
- This should hopefully fix performance and memory allocation issues with string concatenation
- Added new multi-touch events on mobile platforms
_CCPC_finger_touch
,_CCPC_finger_up
,_CCPC_finger_drag
- All events get finger ID, X, and Y as parameters
- These events co-exist with single-touch mouse events
- iOS now has Page Up/Down keys on the arrow toolbar for quicker navigation
- Added function authentication for C functions to mitigate bytecode vulnerabilities
- Improved performance of binary
file.readAll
unpack
no longer uses a table'sn
field- Fixed error when setting palette colors on windows in 256-color graphics mode
- Fixed more crashing when filesystem functions fail (#280)
- Fixed crashes due to stack overflows
- Fixed WebSocket pings sending a close response (#214)
- Fixed crashes in
websocket.receive()
when receiving a message that's too large (#297, #214) - Fixed vague error message responses when an HTTP request fails (#292)
- Fixed DAP crash from setting a breakpoint in an unknown file
- Fixed breakpoints activating on the wrong line
- Fixed first line of a file not being able to trigger a breakpoint
- Fixed debugger errors when invalid arguments are used on the ccdb command line (#294)
- Fixed precision issues with
os.epoch("nano")
(#299) - Fixed
rawlen
and__ipairs
being missing from the global table - Fixed Windows crash reporter being disabled
- Windows builds will no longer attempt to prompt for crash reporting when run in console-based modes
- Fixed some inconsistencies with seeking beyond a file's limits (#310)
If you need help using CraftOS-PC, I'm available on the CraftOS-PC Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
CraftOS-PC v2.7.2
CraftOS-PC v2.7.2 is mostly a maintenance release, fixing a bunch of bugs that have plagued people for a while. It also updates CC:T support to 1.101.1, which includes a new style for uploading files. I hope to make some more significant fixes in the next version (including some pervasive memory issues with ropes), but I needed to get these first few bugs squashed as soon as possible.
- Updated CC:T version to 1.101.1
- File drag-and-drop now queues a file_transfer event on the computer. The built-in shell or the import program must now be running to upload files.
- The peripheral now searches for remote peripherals using any peripheral with the peripheral_hub type, not just wired modems.
- Add include_hidden option to fs.complete, which can be used to prevent hidden files showing up in autocomplete results. (IvoLeal72)
- Add shell.autocomplete_hidden setting. (IvoLeal72)
- Prevent edit's "Run" command scrolling the terminal output on smaller screens.
- Mention WAV support in speaker help (MCJack123).
- Add http programs to the path, even when http is not enabled.
- Fix example in textutils.pagedTabulate docs (IvoLeal72).
- Fix help program treating the terminal one line longer than it was.
- Fixed a syntax error in the CCEmuX plugin's
emu
program (#271) - Fixed a bug causing copies out of virtual mounts to fail (#272)
- Adjusted some behavior of ropes to hopefully make them faster & use less memory
- Further fixes are in progress to fully optimize memory usage
- Fixed issues when reading from a bad file handle
- Fixed crashing when some filesystem functions fail
- Fixed failure to launch on Apple Silicon Macs due to incorrectly named libraries (#287)
- Fixed missing
chest.getItemLimit
method (#291) - Adjusted some logic in WebSocket handles to fix some potential issues
- Fixed window palettes being broken in graphics mode
If you need help using CraftOS-PC, I'm available on the CraftOS-PC Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
CraftOS-PC Accelerated v2.7.2
CraftOS-PC v2.7.2 is mostly a maintenance release, fixing a bunch of bugs that have plagued people for a while. It also updates CC:T support to 1.101.1, which includes a new style for uploading files. I hope to make some more significant fixes in the next version (including some pervasive memory issues with ropes), but I needed to get these first few bugs squashed as soon as possible.
- Updated CC:T version to 1.101.1
- File drag-and-drop now queues a file_transfer event on the computer. The built-in shell or the import program must now be running to upload files.
- The peripheral now searches for remote peripherals using any peripheral with the peripheral_hub type, not just wired modems.
- Add include_hidden option to fs.complete, which can be used to prevent hidden files showing up in autocomplete results. (IvoLeal72)
- Add shell.autocomplete_hidden setting. (IvoLeal72)
- Prevent edit's "Run" command scrolling the terminal output on smaller screens.
- Mention WAV support in speaker help (MCJack123).
- Add http programs to the path, even when http is not enabled.
- Fix example in textutils.pagedTabulate docs (IvoLeal72).
- Fix help program treating the terminal one line longer than it was.
- Fixed a syntax error in the CCEmuX plugin's
emu
program (#271) - Fixed a bug causing copies out of virtual mounts to fail (#272)
- Adjusted some behavior of ropes to hopefully make them faster & use less memory
- Further fixes are in progress to fully optimize memory usage
- Fixed issues when reading from a bad file handle
- Fixed crashing when some filesystem functions fail
- Fixed failure to launch on Apple Silicon Macs due to incorrectly named libraries (#287)
- Fixed missing
chest.getItemLimit
method (#291) - Adjusted some logic in WebSocket handles to fix some potential issues
- Fixed window palettes being broken in graphics mode
If you need help using CraftOS-PC, I'm available on the CraftOS-PC Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
CraftOS-PC Accelerated v2.7.1
CraftOS-PC v2.7.1 fixes a number of critical bugs on Windows systems. It also includes builds for mobile platforms, as well as some fixes for Ubuntu packages.
Also, CraftOS-PC turns three years old in exactly one week! Thank you to everyone for using it - I didn't think I'd still be actively working on CraftOS-PC three years later, but the support from the CC community has kept me going this whole time. I look forward to more years of CraftOS-PC development in the future, including possibly a port to Minecraft! 👀
- Fixed an issue causing
fs.getFreeSpace
andfs.getCapacity
to return invalid values on Windows - Fixed an issue causing
fs.attributes
to report read-only status incorrectly on Windows - (Re-)Fixed a bug causing
\27
characters in files to mark end-of-files on Windows (#226) - Fixed
fs.getName
returning the wrong result in some cases - Fixed a crash when HTTP
handle.readLine()
returns an empty string (#270) - Fixed an issue causing the debug adapter to fail to work over stdio, causing
launch
requests to fail - Keystrokes now automatically reset modifier keys on mobile platforms
If you need help using CraftOS-PC, I'm available on the CraftOS-PC Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
CraftOS-PC v2.7.1
CraftOS-PC v2.7.1 fixes a number of critical bugs on Windows systems. It also includes builds for mobile platforms, as well as some fixes for Ubuntu packages.
Also, CraftOS-PC turns three years old in exactly one week! Thank you to everyone for using it - I didn't think I'd still be actively working on CraftOS-PC three years later, but the support from the CC community has kept me going this whole time. I look forward to more years of CraftOS-PC development in the future, including possibly a port to Minecraft! 👀
- Fixed an issue causing
fs.getFreeSpace
andfs.getCapacity
to return invalid values on Windows - Fixed an issue causing
fs.attributes
to report read-only status incorrectly on Windows - (Re-)Fixed a bug causing
\27
characters in files to mark end-of-files on Windows (#226) - Fixed
fs.getName
returning the wrong result in some cases - Fixed a crash when HTTP
handle.readLine()
returns an empty string (#270) - Fixed an issue causing the debug adapter to fail to work over stdio, causing
launch
requests to fail - Keystrokes now automatically reset modifier keys on mobile platforms
If you need help using CraftOS-PC, I'm available on the CraftOS-PC Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
CraftOS-PC v2.7
After over a year since v2.6, CraftOS-PC is getting another major update. This version brings a new interface for debugging with VS Code, generic peripheral emulation, mounter sandboxing, and plenty of bugfixes to go around.
To use the new debugger, install the CraftOS-PC extension in VS Code.
- Bumped CC:T version to 1.100.9
- Added basic WAV support to speaker.lua
- Added debug adapter for Visual Studio Code
- This makes it possible to use VS Code's debugger interface with CraftOS-PC
- Install the CraftOS-PC extension to use the debugger
- Added basic generic peripheral emulation
- New peripheral types:
chest
/minecraft:chest
(inventory
),tank
(fluid_storage
),energy
(energy_storage
) tank
andenergy
may also have custom types set on them (for emulating compatible blocks from other mods)- See the full documentation for more info
- New peripheral types:
- Rewrote filesystem code to use C++17 filesystem library
- Added ability to resize monitors programmatically, including by block size (#261)
- Added mounter sandboxing/path restriction (#104)
- Use the
mounter_whitelist
andmounter_blacklist
config options to set paths that are allowed and blocked - The deepest match of both lists takes priority
mounter_no_ask
can be used to disable mount prompts for specific paths
- Use the
- Added
istailcall
field todebug.getinfo
- CLI mode now uses the Symbols for Legacy Computing block for bitmap characters (requires a font supporting Unicode 13)
- Adjusted configuration loading code to avoid crashes from invalid files
- Upgraded Windows project to Visual Studio 2022
- Fixed an issue on macOS causing HTTPS connections to fail
- Fixed constant crashes when launching the Android app
- Fixed "not enough memory" error when calling
string.rep
with a negative length - Fixed require not working in --script/--exec
- Fixed a crash from invalid WebSocket data
- Fixed an HTTP issue causing the
Host
header to be set incorrectly when connecting tolocalhost
- Fixed a crash if a computer is closed before an HTTP request finishes
- Fixed a rendering issue when using a custom font with the hardware renderer
- Fixed
string.format("%q")
not accepting non-string arguments (#251) - Fixed an issue causing raw mode to hang and use 100% CPU while exiting
- Fixed a typo in the
setGraphicsMode
argument checking code - Fixed an issue causing the debugger to error after a reboot
- Fixed a crash when using
debug.getinfo(f, ">")
- Fixed an overflow in
os.epoch
when using a 32-bit architecture - Linux: Fixed occasional crashes from X11 while resizing, moving, etc.
- CCEmuX plugin: Improved error message when
emu open
fails
If you need help using CraftOS-PC, I'm available on the CraftOS-PC Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
CraftOS-PC Accelerated v2.7
After over a year since v2.6, CraftOS-PC is getting another major update. This version brings a new interface for debugging with VS Code, generic peripheral emulation, mounter sandboxing, and plenty of bugfixes to go around.
To use the new debugger, install the CraftOS-PC extension in VS Code.
- Bumped CC:T version to 1.100.9
- Added basic WAV support to speaker.lua
- Added debug adapter for Visual Studio Code
- This makes it possible to use VS Code's debugger interface with CraftOS-PC
- Install the CraftOS-PC extension to use the debugger
- Added basic generic peripheral emulation
- New peripheral types:
chest
/minecraft:chest
(inventory
),tank
(fluid_storage
),energy
(energy_storage
) tank
andenergy
may also have custom types set on them (for emulating compatible blocks from other mods)- See the full documentation for more info
- New peripheral types:
- Rewrote filesystem code to use C++17 filesystem library
- Added ability to resize monitors programmatically, including by block size (#261)
- Added mounter sandboxing/path restriction (#104)
- Use the
mounter_whitelist
andmounter_blacklist
config options to set paths that are allowed and blocked - The deepest match of both lists takes priority
mounter_no_ask
can be used to disable mount prompts for specific paths
- Use the
- Added
istailcall
field todebug.getinfo
- CLI mode now uses the Symbols for Legacy Computing block for bitmap characters (requires a font supporting Unicode 13)
- Adjusted configuration loading code to avoid crashes from invalid files
- Upgraded Windows project to Visual Studio 2022
- Fixed an issue on macOS causing HTTPS connections to fail
- Fixed constant crashes when launching the Android app
- Fixed "not enough memory" error when calling
string.rep
with a negative length - Fixed require not working in --script/--exec
- Fixed a crash from invalid WebSocket data
- Fixed an HTTP issue causing the
Host
header to be set incorrectly when connecting tolocalhost
- Fixed a crash if a computer is closed before an HTTP request finishes
- Fixed a rendering issue when using a custom font with the hardware renderer
- Fixed
string.format("%q")
not accepting non-string arguments (#251) - Fixed an issue causing raw mode to hang and use 100% CPU while exiting
- Fixed a typo in the
setGraphicsMode
argument checking code - Fixed an issue causing the debugger to error after a reboot
- Fixed a crash when using
debug.getinfo(f, ">")
- Fixed an overflow in
os.epoch
when using a 32-bit architecture - Linux: Fixed occasional crashes from X11 while resizing, moving, etc.
- CCEmuX plugin: Improved error message when
emu open
fails
If you need help using CraftOS-PC, I'm available on the CraftOS-PC Discord server as @JackMacWindows#9776
. Feel free to ping me if you need anything.
CraftOS-PC v2.6.6
It's been a while since the last update! CraftOS-PC v2.6.6 brings a number of tweaks and lots of important crash fixes.
- Bumped CC:T version to 1.100.5
- Enabled proper HTTPS certificate verification
- Added support for URLs to
cc.http.gist
/gist
program - Added
seek
method to binary HTTP handles - Added strip option to
string.dump
from Lua 5.3 - Fixed
paintutils.drawBox
not working properly in graphics mode - Improved DFPWM audio quality
- Small compatibility fixes to drives
- Fixed type of
http_max_websocket_message
config setting - Fixed crash when passing negative values to
monitor.scroll
(#244) - Fixed crash in
string.rep
when allocation fails (crash report) - Fixed possible race condition in WebSockets (crash report)
- Fixed a crash when
http_response_handle.write
throws an error (crash report) - Fixed a possible crash when a rogue event is sent (crash report)
- Fixed a crash when an event is sent to a computer that was just destroyed (crash report)
- Fixed a possible crash when the abort timer triggers right as the computer shuts down (crash report)
- Windows: Updated dependencies to their latest versions
- Android: Fixed a bug causing the keyboard to refuse to open after pressing the back button
If you need help using CraftOS-PC, I'm available on the CraftOS-PC Discord server as @JackMacWindows#9776
. Feel free to leave a message in #help if you need anything.