Skip to content

Releases: MCJack123/craftos2

CraftOS-PC Accelerated v2.7.4

14 May 23:10
eae5d96
Compare
Choose a tag to compare
Pre-release

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 and ipairs 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 returning nan when receiving a duplicate location (Wojbie).
  • 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, and sound
  • 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

27 Jan 00:24
2138946
Compare
Choose a tag to compare
Pre-release

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 and http 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
  • 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's n 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

27 Jan 00:05
98ad739
Compare
Choose a tag to compare

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 and http 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
  • 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's n 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

07 Nov 22:24
e4ed6c0
Compare
Choose a tag to compare

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
    • This was causing autocompletion on config to fail on Windows (#273), as well as crashing when using fs.getSize on a folder (#281)
  • 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

07 Nov 23:03
fc2a7dc
Compare
Choose a tag to compare
Pre-release

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
    • This was causing autocompletion on config to fail on Windows (#273), as well as crashing when using fs.getSize on a folder (#281)
  • 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

22 Oct 18:58
f9ec781
Compare
Choose a tag to compare
Pre-release

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 and fs.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

07 Nov 20:17
122646a
Compare
Choose a tag to compare

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 and fs.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

25 Aug 18:51
b4d37de
Compare
Choose a tag to compare

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 and energy may also have custom types set on them (for emulating compatible blocks from other mods)
    • See the full documentation for more info
  • 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 and mounter_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
  • Added istailcall field to debug.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 to localhost
  • 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

25 Aug 21:36
d9ed52a
Compare
Choose a tag to compare
Pre-release

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 and energy may also have custom types set on them (for emulating compatible blocks from other mods)
    • See the full documentation for more info
  • 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 and mounter_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
  • Added istailcall field to debug.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 to localhost
  • 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

05 May 16:50
ebb13e8
Compare
Choose a tag to compare

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.