Skip to content

Releases: MCJack123/craftos2

CraftOS-PC v2.4.5

28 Nov 20:58
eeb9656
Compare
Choose a tag to compare

CraftOS-PC v2.4.5 is a small bugfix update to prepare for v2.5.

  • Bumped CC:T version to 1.93.1
    • 1.94.0 support will be coming in v2.5
  • CC:T Edition builds will now update to the standard ROM due to deprecation in v2.5
    • v2.5 is merging the CC:T ROM into the main ROM, so CC:T Edition downloads will be removed
    • Further auto-updates will download the standard version regardless of whether CC:T Edition was installed
    • v2.5 will be the last version with a CC:T Edition download available - after that, updating from CC:T Edition will fail
  • Added some previously missing checks from term API functions
  • Fixed term.setGraphicsMode(false) not working properly
  • Fixed a possible crash in file.readLine on empty lines
  • Fixed a memory leak in os.startTimer
  • Fixed ccemux.openDataDir not working on Windows
  • Fixed monitor_touch events not being sent when monitorsUseMouseEvents is disabled
  • Fixed update message appearing when switching between standard and Accelerated versions
  • Windows 10: Possibly fixed automatic reboots after installing (#151)

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 has been updated to remove some accidental debug files that made their way into the installer. Please remove C:\Program Files\CraftOS-PC\ccemux.dll and C:\Program Files\CraftOS-PC\plugins\zlib.dll if you downloaded the old installer (before 2020-12-07).

CraftOS-PC Accelerated v2.4.5

28 Nov 20:58
d9bbbad
Compare
Choose a tag to compare
Pre-release

CraftOS-PC Accelerated is a fork of CraftOS-PC that uses the LuaJIT engine to increase speed. However, compatibility is not guaranteed, and some things may break. If you are unsure which version to download, you should use the standard version instead.

CraftOS-PC v2.4.5 is a small bugfix update to prepare for v2.5.

  • Bumped CC:T version to 1.93.1
    • 1.94.0 support will be coming in v2.5
  • CC:T Edition builds will now update to the standard ROM due to deprecation in v2.5
    • v2.5 is merging the CC:T ROM into the main ROM, so CC:T Edition downloads will be removed
    • Further auto-updates will download the standard version regardless of whether CC:T Edition was installed
    • v2.5 will be the last version with a CC:T Edition download available - after that, updating from CC:T Edition will fail
  • Added some previously missing checks from term API functions
  • Fixed term.setGraphicsMode(false) not working properly
  • Fixed a possible crash in file.readLine on empty lines
  • Fixed a memory leak in os.startTimer
  • Fixed ccemux.openDataDir not working on Windows
  • Fixed monitor_touch events not being sent when monitorsUseMouseEvents is disabled
  • Fixed update message appearing when switching between standard and Accelerated versions
  • Windows 10: Possibly fixed automatic reboots after installing (#151)

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 has been updated to remove some accidental debug files that made their way into the installer. Please remove C:\Program Files\CraftOS-PC\ccemux.dll and C:\Program Files\CraftOS-PC\plugins-luajit\zlib.dll if you downloaded the old installer (before 2020-12-07).

CraftOS-PC v2.4.4

19 Oct 01:16
2d08e3b
Compare
Choose a tag to compare

CraftOS-PC v2.4.4 is a minor bugfix update with a month of changes rolled into one version. (Don't let that fool you - not many changes have been made.) Some of the improvements include internationalization, crash fixes, and better compatibility with ComputerCraft.

  • Bumped CC:T version to 1.93.0
  • Added computer size counting to fs.getFreeSpace
    • This is only enabled with standardsMode on
    • Without standardsMode, old behavior is kept
    • May reduce performance of fs.getFreeSpace
  • Fixed path resolution on Windows systems using non-ASCII characters in paths
    • This involved rewriting all of the path-related code to accept wide strings on Windows
      • Why did Windows have to keep using UTF-16??? >:(
  • Fixed keyboard layouts not being respected (#138)
  • Fixed string pattern matching with NUL bytes in patterns
    • This was previously done in the default ROM, but now Lua itself has been modified to fix the issue
    • Alternate ROMs (such as the CC:T ROM) no longer have this issue
  • Fixed automatic directory creation reversing the new directory names (#137)
  • Fixed some crashes related to the printer
  • Fixed HTTP >= 400 response codes not being returned as failures
  • Fixed terminate event not being sent unconditionally when a filter is set
  • term.screenshot can now be called with a boolean value specifying whether to copy the image to the clipboard
  • Added error message to periphemu.create
  • Fixed name of scripts run through wget
  • Added some extra argument checks to shell functions in cash
  • Fixed __tostring metamethod missing from cc.pretty objects
  • Fixed standalone CI builds
  • macOS: CraftOS-PC now supports macOS 10.9.5+ once again

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 CCEmuX plugin in this version had an issue where ccemux.openDataDir() wouldn't do anything on Windows. Please download an updated build of the plugin below separately.

CraftOS-PC Accelerated v2.4.4

19 Oct 01:15
498747c
Compare
Choose a tag to compare
Pre-release

CraftOS-PC Accelerated is a fork of CraftOS-PC that uses the LuaJIT engine to increase speed. However, compatibility is not guaranteed, and some things may break. If you are unsure which version to download, you should use the standard version instead.

CraftOS-PC v2.4.4 is a minor bugfix update with a month of changes rolled into one version. (Don't let that fool you - not many changes have been made.) Some of the improvements include internationalization, crash fixes, and better compatibility with ComputerCraft.

  • Bumped CC:T version to 1.93.0
  • Added computer size counting to fs.getFreeSpace
    • This is only enabled with standardsMode on
    • Without standardsMode, old behavior is kept
    • May reduce performance of fs.getFreeSpace
  • Fixed path resolution on Windows systems using non-ASCII characters in paths
    • This involved rewriting all of the path-related code to accept wide strings on Windows
      • Why did Windows have to keep using UTF-16??? >:(
  • Fixed keyboard layouts not being respected (#138)
  • Fixed string pattern matching with NUL bytes in patterns
    • This was previously done in the default ROM, but now Lua itself has been modified to fix the issue
    • Alternate ROMs (such as the CC:T ROM) no longer have this issue
  • Fixed automatic directory creation reversing the new directory names (#137)
  • Fixed some crashes related to the printer
  • Fixed HTTP >= 400 response codes not being returned as failures
  • Fixed terminate event not being sent unconditionally when a filter is set
  • term.screenshot can now be called with a boolean value specifying whether to copy the image to the clipboard
  • Added error message to periphemu.create
  • Fixed name of scripts run through wget
  • Added some extra argument checks to shell functions in cash
  • Fixed __tostring metamethod missing from cc.pretty objects
  • Fixed standalone CI builds

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.4.3

12 Sep 23:52
dbc5fa7
Compare
Choose a tag to compare

CraftOS-PC v2.4.3 is an emergency bugfix update that resolves an issue causing CraftOS-PC to crash when using plugins. It also updates the CC: Tweaked version to 1.92.0.

  • Updated CC:T version to 1.92.0
    • Add support for the __pairs metamethod.
    • string.format now uses the __tostring metamethod.
    • Correctly handle tabs within textutils.unserializeJSON.
  • Fixed a crash when using plugins
  • Fixed crashing when a Lua panic occurs
  • Fixed a bug causing lesser performance in C CraftOS functions
  • JIT: No longer using LuaJIT BitOp library as it is incompatible with bit32
    • Now using PUC Lua bit32 implementation instead
  • Mac: ccemux plugin is now built as a universal binary

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 Accelerated v2.4.3

12 Sep 23:51
3ec9dc3
Compare
Choose a tag to compare
Pre-release

CraftOS-PC v2.4.3 is an emergency bugfix update that resolves an issue causing CraftOS-PC to crash when using plugins. It also updates the CC: Tweaked version to 1.92.0.

  • Updated CC:T version to 1.92.0
    • Add support for the __pairs metamethod.
    • string.format now uses the __tostring metamethod.
    • Correctly handle tabs within textutils.unserializeJSON.
  • Fixed a crash when using plugins
  • Fixed crashing when a Lua panic occurs
  • Fixed a bug causing lesser performance in C CraftOS functions
  • JIT: No longer using LuaJIT BitOp library as it is incompatible with bit32
    • Now using PUC Lua bit32 implementation instead
  • Mac: ccemux plugin is now built as a universal binary

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.4.2

08 Sep 22:08
f073c27
Compare
Choose a tag to compare

One year ago today, CraftOS-PC 2 was officially launched, touting fast speeds and more features than any other emulator out there. Today, CraftOS-PC is more stable and accurate than ever, with even more features than it originally released with. It's grown from a small program to test CraftOS in a C environment, to an entire emulator platform with multiple editions and strong compatibility. The past year has been quite a ride for me, and in between school and a pandemic I've been working non-stop to make CraftOS-PC the best emulator it can be.

Happy birthday, CraftOS-PC!


CraftOS-PC v2.4.2 is a small feature update, with some compatibility fixes as well as a few new features. It also adds FFI support for CraftOS-PC Accelerated, as well as a few more bugfixes.

Don't mind the fact that CI tests fail; it's because of the date-specific MOTDs firing today and breaking the CC:T 1.91 tests. This will be fixed with 1.92.

  • Updated CC:T version to 1.91.0
    • Add string.{pack,unpack,packsize} (MCJack123)
    • Escape non-ASCII characters in JSON strings (neumond)
    • Make field names in fs.attributes more consistent (abby)
    • Fix textutils.formatTime correctly handle 12 AM (R93950X)
  • Speakers are now emulated closer to how they work in ComputerCraft
    • Each speaker has its own channel pool
    • Channels are allocated as needed
    • The maxNotesPerTick option now properly caps notes every 1/20 s
    • Only one sound can be played at once
    • Channel numbers are now returned as a second argument
      • These can be passed to stopSounds to stop one channel
  • Replaced custom bit32 library with standard Lua 5.2 implementation
    • This fixes a bug where functions can't take more than two arguments
    • This should also fix any other possible bugs in the bit32 library
  • Fixed yielding from callbacks of certain functions:
    • string.gsub
    • table.sort
    • debug hooks
    • The only function that can't yield from a callback is load
  • Added --mc-save argument to load computers from a Minecraft save
    • This reads from the default Minecraft save directory
    • If the save isn't stored there, you can't use this argument (use --computers-dir instead)
  • Added date-specific MOTDs
    • One of these appears today (September 8)!
  • Added support for hardware renderer in raw client mode
  • Functions can now return an unlimited* number of values
  • Updated cash to use cc.require module
  • Fixed a bug causing the same MOTD to appear on each boot
  • Fixed a bug causing a failure to connect to localhost over HTTP
  • Fixed a bug with the \x escape code
  • Modified internals of plugin loader, fixing a memory leak in the process
  • JIT: Updated LuaJIT to 2.1.0-beta3
  • JIT: Moved plugin path back to plugins-luajit as expected
  • JIT: Added FFI library (available with jit_ffi_enable set to true)
  • JIT: Removed os.setHaltOnLongRunMode, count hooks are no longer used
  • JIT: Fixed a bug causing io.read to not work
  • Windows: Added error dialog when using console-only options with non-console builds
  • Mac: Application is now built as a Universal binary (excluding CraftOS-PC Accelerated, as LuaJIT does not fully support ARM64 yet)

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 Accelerated v2.4.2

08 Sep 22:12
9658c8d
Compare
Choose a tag to compare
Pre-release

One year ago today, CraftOS-PC 2 was officially launched, touting fast speeds and more features than any other emulator out there. Today, CraftOS-PC is more stable and accurate than ever, with even more features than it originally released with. It's grown from a small program to test CraftOS in a C environment, to an entire emulator platform with multiple editions and strong compatibility. The past year has been quite a ride for me, and in between school and a pandemic I've been working non-stop to make CraftOS-PC the best emulator it can be.

Happy birthday, CraftOS-PC!


CraftOS-PC v2.4.2 is a small feature update, with some compatibility fixes as well as a few new features. It also adds FFI support for CraftOS-PC Accelerated, as well as a few more bugfixes.

Don't mind the fact that CI tests fail; it's because of the date-specific MOTDs firing today and breaking the CC:T 1.91 tests. This will be fixed with 1.92.

  • Updated CC:T version to 1.91.0
    • Add string.{pack,unpack,packsize} (MCJack123)
    • Escape non-ASCII characters in JSON strings (neumond)
    • Make field names in fs.attributes more consistent (abby)
    • Fix textutils.formatTime correctly handle 12 AM (R93950X)
  • Speakers are now emulated closer to how they work in ComputerCraft
    • Each speaker has its own channel pool
    • Channels are allocated as needed
    • The maxNotesPerTick option now properly caps notes every 1/20 s
    • Only one sound can be played at once
    • Channel numbers are now returned as a second argument
      • These can be passed to stopSounds to stop one channel
  • Replaced custom bit32 library with standard Lua 5.2 implementation
    • This fixes a bug where functions can't take more than two arguments
    • This should also fix any other possible bugs in the bit32 library
  • Fixed yielding from callbacks of certain functions:
    • string.gsub
    • table.sort
    • debug hooks
    • The only function that can't yield from a callback is load
  • Added --mc-save argument to load computers from a Minecraft save
    • This reads from the default Minecraft save directory
    • If the save isn't stored there, you can't use this argument (use --computers-dir instead)
  • Added date-specific MOTDs
    • One of these appears today (September 8)!
  • Added support for hardware renderer in raw client mode
  • Functions can now return an unlimited* number of values
  • Updated cash to use cc.require module
  • Fixed a bug causing the same MOTD to appear on each boot
  • Fixed a bug causing a failure to connect to localhost over HTTP
  • Fixed a bug with the \x escape code
  • Modified internals of plugin loader, fixing a memory leak in the process
  • JIT: Updated LuaJIT to 2.1.0-beta3
  • JIT: Moved plugin path back to plugins-luajit as expected
  • JIT: Added FFI library (available with jit_ffi_enable set to true)
  • JIT: Removed os.setHaltOnLongRunMode, count hooks are no longer used
  • JIT: Fixed a bug causing io.read to not work
  • Windows: Added error dialog when using console-only options with non-console builds
  • Mac: Application is now built as a Universal binary (excluding CraftOS-PC Accelerated, as LuaJIT does not fully support ARM64 yet)

The CC:T builds have been updated to fix an issue with the bit library that prevents it from booting.

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.4.1

23 Aug 02:26
374e629
Compare
Choose a tag to compare

CraftOS-PC v2.4.1 is a very small update to fix a few issues and to consolidate the version number/features of different forks.

With CraftOS-PC v2.4.1, CraftOS-PC Accelerated is being re-introduced, being the first version since v2.2.1 to have an Accelerated version. CraftOS-PC Accelerated is a fork of CraftOS-PC that uses LuaJIT rather than standard Lua, allowing over 8-16x performance improvements depending on the workload. Go to the release page to download it. You can install CraftOS-PC and CraftOS-PC Accelerated alongside each other without having them interfere.

  • Grayscale terminals now render using 16 grays instead of forcing colors to 4 grays (#132)
    • For example, you can now set the color to colors.red and the color will render as the grayscale version of red
  • Fixed a crash when using the profiler (#129)
  • Fixed incorrect cursor color in hardware terminal (#130)
  • Last version check now saves right after boot
  • Fixed up a whole bunch of stuff for WASM ports
  • Re-introduced CraftOS-PC Accelerated for v2.4.1

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 Accelerated v2.4.1

23 Aug 02:33
5911b21
Compare
Choose a tag to compare
Pre-release

CraftOS-PC v2.4.1 is a very small update to fix a few issues and to consolidate the version number/features of different forks.

With CraftOS-PC v2.4.1, CraftOS-PC Accelerated is being re-introduced, being the first version since v2.2.1 to have an Accelerated version. CraftOS-PC Accelerated is a fork of CraftOS-PC that uses LuaJIT rather than standard Lua, allowing over 8-16x performance improvements depending on the workload. You can install CraftOS-PC and CraftOS-PC Accelerated alongside each other without having them interfere.

  • Grayscale terminals now render using 16 grays instead of forcing colors to 4 grays (#132)
    • For example, you can now set the color to colors.red and the color will render as the grayscale version of red
  • Fixed a crash when using the profiler (#129)
  • Fixed incorrect cursor color in hardware terminal (#130)
  • Last version check now saves right after boot
  • Fixed up a whole bunch of stuff for WASM ports
  • Re-introduced CraftOS-PC Accelerated for v2.4.1

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.