Skip to content

Releases: MCJack123/craftos2

CraftOS-PC Accelerated v2.6.6

05 May 17:15
863b58b
Compare
Choose a tag to compare
Pre-release

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.

CraftOS-PC v2.6.5.1

22 Feb 06:56
303586b
Compare
Choose a tag to compare

CraftOS-PC v2.6.5.1 is a tiny but very important update that fixes a few critical bugs from v2.6.5.

  • Bumped CC:T version to 1.100.2 (v2.6.5 should have had this)
  • Added nano clock to os.epoch (@SkyTheCodeMaster)
  • Added Fedora repo courtesy of @LeMoonStar
  • Fixed crashes, memory corruption caused by rope strings being freed
  • Fixed fragments being included in HTTP requests (#239)
  • Fixed speaker code not working properly by adding a queue limit

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

22 Feb 06:58
42b3277
Compare
Choose a tag to compare
Pre-release

CraftOS-PC v2.6.5.1 is a tiny but very important update that fixes a few critical bugs from v2.6.5.

  • Bumped CC:T version to 1.100.2 (v2.6.5 should have had this)
  • Added nano clock to os.epoch (@SkyTheCodeMaster)
  • Added Fedora repo courtesy of @LeMoonStar
  • Fixed fragments being included in HTTP requests (#239)
  • Fixed speaker code not working properly by adding a queue limit

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

05 Feb 23:56
5b0c8c1
Compare
Choose a tag to compare

CraftOS-PC v2.6.5 is a very small update that fixes some critical issues with the speaker peripheral.

  • Bumped CC:T version to 1.100.1
  • Bumped structure version to 8
    • Functions are now pre-declared to ensure type compatibility
    • New macro DLLEXPORT
    • New class TerminalFactory
    • New fields in configuration:
      • useDFPWM
    • New fields in PluginFunctions:
      • registerTerminalFactory
      • commandLineArgs
      • setListenerMode
      • pumpTaskQueue
    • New fields in Terminal:
      • factory
  • Fixed an issue causing an invalid string to be returned as the parameter for speaker_audio_empty
  • speaker.playAudio now always returns false to tell programs to wait for speaker_audio_empty as expected
  • Added caching to rope resolution to avoid concatenating the same rope multiple times
  • Modified string.rep to work more like Cobalt
  • Fixed hang when using CLI mode
  • Fixed possible race condition in mouse_move
  • Fixed an issue preventing the debugger console from scrolling
  • Added an indicator showing whether the debugger console is no longer auto-scrolling
  • Disabled loading of original package and io libraries to reduce possible vulnerabilities

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

05 Feb 23:58
a080ba1
Compare
Choose a tag to compare
Pre-release

CraftOS-PC v2.6.5 is a very small update that fixes some critical issues with the speaker peripheral.

  • Bumped CC:T version to 1.100.1
  • Bumped structure version to 8
    • Functions are now pre-declared to ensure type compatibility
    • New macro DLLEXPORT
    • New class TerminalFactory
    • New fields in configuration:
      • useDFPWM
    • New fields in PluginFunctions:
      • registerTerminalFactory
      • commandLineArgs
      • setListenerMode
      • pumpTaskQueue
    • New fields in Terminal:
      • factory
  • Fixed an issue causing an invalid string to be returned as the parameter for speaker_audio_empty
  • speaker.playAudio now always returns false to tell programs to wait for speaker_audio_empty as expected
  • Added caching to rope resolution to avoid concatenating the same rope multiple times
  • Modified string.rep to work more like Cobalt
  • Fixed hang when using CLI mode
  • Fixed possible race condition in mouse_move
  • Fixed an issue preventing the debugger console from scrolling
  • Added an indicator showing whether the debugger console is no longer auto-scrolling
  • Disabled loading of original package and io libraries to reduce possible vulnerabilities

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

25 Dec 22:59
931c66c
Compare
Choose a tag to compare

Merry Christmas and Happy Holidays! CraftOS-PC v2.6.4 is a smaller release compared to previous ones, and it's hot on the heels of v2.6.3. However, it brings an amazing new feature of CC:T 1.100: PCM audio playback on speakers! This feature has been a long time coming, and it's finally possible to play any music you want in ComputerCraft - no extra mods/plugins required.

Yesterday was also the 10th anniversary of ComputerCraft. @dan200 released CC 1.0 for Minecraft 1.0.0 on December 24, 2011, and it was quite barebones compared to today's CC: Tweaked releases. Over the years, it has grown in both size and popularity, and even after Dan left in 2017, its legacy continues today through the continuation that is CC:T. It's inspired thousands of future programmers, young and old, including myself - I wouldn't be doing what I am today without it.

Unfortunately, today is also the day that @SquidDev announced that he's stepping down from active CC: Tweaked development. It's sad to see him go, but maintaining a mod used by millions for years can take a toll on you, and I respect his decision to move on. ComputerCraft will live on in CC: Restitched (the Fabric port) and CraftOS-PC, and I plan on working on my own fork/continuation of CC: Tweaked as well (once I figure out how Minecraft modding works fully). CraftOS-PC will be honoring SquidDev with a permanent MOTD until the end of the year. Thank you for everything, Squid, and good luck in your future endeavors! ♥

  • Updated CC:T version to 1.100.0
    • Speakers can now play arbitrary PCM audio.
    • Add support for encoding and decoding DFPWM streams, with the cc.audio.dfpwm module.
    • Fix the "repeat" program not repeating broadcast rednet messages.
  • Added useDFPWM config setting to toggle use of DFPWM playback emulation
  • Added speaker.setPosition(x, y, z) to emulate positioning of speaker audio
  • Standards mode now controls the behavior of the new speaker.playAudio
    • When disabled, all audio is added to a queue with no latency, and speaker.playAudio never fails
    • When enabled:
      • speaker_audio_empty is queued when the audio is 0.5 seconds before it's expected to finish, emulating latency
      • speaker.playAudio returns false if there is more than 0.5 seconds of audio in the buffer
      • useDFPWM is forced to true
  • Renamed speaker.stopSounds to speaker.stop
    • stopSounds still exists for backwards compatibility, but is deprecated
  • speaker.playLocalMusic is now deprecated in favor of speaker.playAudio
    • It is recommended you load the audio files yourself instead of relying on the system to decode it
  • CraftOS-PC Online is now working better (#222)
    • CraftOS-PC Online now supports Safari on iOS 15.2+/macOS 12.2+
    • There is currently a huge memory leak bug in some browsers that can cause the page to crash on low-memory systems
    • Hopefully CraftOS-PC Online will be fully working in the near future
  • Fixed some string comparisons not working as expected
  • Fixed incorrect documentation on mobile gestures (#230)
  • Fixed keyboard on iOS being dismissed when closing the app (#231)
  • Fixed screen glitches when opening a new terminal after changing useHDFont (SkyTheCodeMaster)
  • Fixed some issues with textutils.serializeJSON

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

25 Dec 23:09
50723e0
Compare
Choose a tag to compare
Pre-release

Merry Christmas and Happy Holidays! CraftOS-PC v2.6.4 is a smaller release compared to previous ones, and it's hot on the heels of v2.6.3. However, it brings an amazing new feature of CC:T 1.100: PCM audio playback on speakers! This feature has been a long time coming, and it's finally possible to play any music you want in ComputerCraft - no extra mods/plugins required.

Yesterday was also the 10th anniversary of ComputerCraft. @dan200 released CC 1.0 for Minecraft 1.0.0 on December 24, 2011, and it was quite barebones compared to today's CC: Tweaked releases. Over the years, it has grown in both size and popularity, and even after Dan left in 2017, its legacy continues today through the continuation that is CC:T. It's inspired thousands of future programmers, young and old, including myself - I wouldn't be doing what I am today without it.

Unfortunately, today is also the day that @SquidDev announced that he's stepping down from active CC: Tweaked development. It's sad to see him go, but maintaining a mod used by millions for years can take a toll on you, and I respect his decision to move on. ComputerCraft will live on in CC: Restitched (the Fabric port) and CraftOS-PC, and I plan on working on my own fork/continuation of CC: Tweaked as well (once I figure out how Minecraft modding works fully). CraftOS-PC will be honoring SquidDev with a permanent MOTD until the end of the year. Thank you for everything, Squid, and good luck in your future endeavors! ♥

  • Updated CC:T version to 1.100.0
    • Speakers can now play arbitrary PCM audio.
    • Add support for encoding and decoding DFPWM streams, with the cc.audio.dfpwm module.
    • Fix the "repeat" program not repeating broadcast rednet messages.
  • Added useDFPWM config setting to toggle use of DFPWM playback emulation
  • Added speaker.setPosition(x, y, z) to emulate positioning of speaker audio
  • Standards mode now controls the behavior of the new speaker.playAudio
    • When disabled, all audio is added to a queue with no latency, and speaker.playAudio never fails
    • When enabled:
      • speaker_audio_empty is queued when the audio is 0.5 seconds before it's expected to finish, emulating latency
      • speaker.playAudio returns false if there is more than 0.5 seconds of audio in the buffer
      • useDFPWM is forced to true
  • Renamed speaker.stopSounds to speaker.stop
    • stopSounds still exists for backwards compatibility, but is deprecated
  • speaker.playLocalMusic is now deprecated in favor of speaker.playAudio
    • It is recommended you load the audio files yourself instead of relying on the system to decode it
  • CraftOS-PC Online is now working better (#222)
    • CraftOS-PC Online now supports Safari on iOS 15.2+/macOS 12.2+
    • There is currently a huge memory leak bug in some browsers that can cause the page to crash on low-memory systems
    • Hopefully CraftOS-PC Online will be fully working in the near future
  • Fixed some string comparisons not working as expected
  • Fixed incorrect documentation on mobile gestures (#230)
  • Fixed keyboard on iOS being dismissed when closing the app (#231)
  • Fixed screen glitches when opening a new terminal after changing useHDFont (SkyTheCodeMaster)
  • Fixed some issues with textutils.serializeJSON

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

11 Dec 23:41
5fee522
Compare
Choose a tag to compare

CraftOS-PC v2.6.3 updates CC: Tweaked compatibility to 1.99.1, and fixes a plethora of small but annoying bugs. In addition, this version is officially bringing the new mobile UIs to the full release builds. However, the Android build has not been thoroughly tested, and the iOS version has one crash bug that has been impossible for me to debug, so treat these with similar quality to a beta.

  • Updated CC:T version to 1.99.1
    • Peripherals can now have multiple types. peripheral.getType now returns multiple values, and peripheral.hasType checks if a peripheral has a specific type.
    • Add feature introduction/changed version information to the documentation. (MCJack123)
    • Rednet can now handle computer IDs larger than 65535. (Ale32bit)
    • Optimise peripheral calls in rednet.run. (xAnavrins)
    • Add cc.pretty.pretty_print helper function (Lupus590).
    • Fix textutils.serialize not serialising infinity and nan values. (Wojbie)
    • Add package.searchpath to the cc.require API. (MCJack123)
  • Bumped structure version to 7
    • New fields in Computer:
      • shouldDeleteDebugger
    • New fields in peripheral:
      • getTypes
  • Added ability to set printer ink color
  • Added support for hexadecimal floating-point numbers
  • Unwritable data directories now throw an error
  • Default peripherals now throw an error when calling a method that doesn't exist
  • Terminal frozen status is now reset after rebooting
  • X11 and Wayland libraries are no longer required when building for Linux
  • \0 characters in a string are now treated as a space by load
  • Fixed websocket.receive not functioning properly
  • Fixed fs.copy stopping at EOF bytes on Windows (#226)
  • Fixed hardware renderer not showing anything on screen (#227)
  • Fixed crash when using detach on a debugger
  • Fixed crash when an error occurs in drive.insertDisk on Windows
  • Fixed coroutine metatable getting overwritten by coroutine.create
  • Fixed keepOpenOnShutdown using 100% CPU
  • Fixed Ctrl+R not working with keepOpenOnShutdown after two successive reboots
  • Fixed getCursorBlink being missing from monitors
  • Fixed monitor events not working properly in raw mode
  • Fixed a possible race condition when shutting down on exit
  • Fixed race condition in timer erasure
  • Fixed various other small race conditions

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

11 Dec 23:42
24737b1
Compare
Choose a tag to compare
Pre-release

CraftOS-PC v2.6.3 updates CC: Tweaked compatibility to 1.99.1, and fixes a plethora of small but annoying bugs. In addition, this version is officially bringing the new mobile UIs to the full release builds. However, the Android build has not been thoroughly tested, and the iOS version has one crash bug that has been impossible for me to debug, so treat these with similar quality to a beta.

  • Updated CC:T version to 1.99.1
    • Peripherals can now have multiple types. peripheral.getType now returns multiple values, and peripheral.hasType checks if a peripheral has a specific type.
    • Add feature introduction/changed version information to the documentation. (MCJack123)
    • Rednet can now handle computer IDs larger than 65535. (Ale32bit)
    • Optimise peripheral calls in rednet.run. (xAnavrins)
    • Add cc.pretty.pretty_print helper function (Lupus590).
    • Fix textutils.serialize not serialising infinity and nan values. (Wojbie)
    • Add package.searchpath to the cc.require API. (MCJack123)
  • Bumped structure version to 7
    • New fields in Computer:
      • shouldDeleteDebugger
    • New fields in peripheral:
      • getTypes
  • Added ability to set printer ink color
  • Added support for hexadecimal floating-point numbers
  • Unwritable data directories now throw an error
  • Default peripherals now throw an error when calling a method that doesn't exist
  • Terminal frozen status is now reset after rebooting
  • X11 and Wayland libraries are no longer required when building for Linux
  • \0 characters in a string are now treated as a space by load
  • Fixed websocket.receive not functioning properly
  • Fixed fs.copy stopping at EOF bytes on Windows (#226)
  • Fixed hardware renderer not showing anything on screen (#227)
  • Fixed crash when using detach on a debugger
  • Fixed crash when an error occurs in drive.insertDisk on Windows
  • Fixed coroutine metatable getting overwritten by coroutine.create
  • Fixed keepOpenOnShutdown using 100% CPU
  • Fixed Ctrl+R not working with keepOpenOnShutdown after two successive reboots
  • Fixed getCursorBlink being missing from monitors
  • Fixed monitor events not working properly in raw mode
  • Fixed a possible race condition when shutting down on exit
  • Fixed race condition in timer erasure
  • Fixed various other small race conditions

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

31 Oct 23:32
fe1a1e1
Compare
Choose a tag to compare

Happy Halloween! This release is unfortunately timed because a large number of spooky bugs are no longer present. However, this is also a treat for everyone who was having problems, so don't be tricked by the lack of spookiness.

  • Bumped structure version to 6
    • New fields in Computer:
      • openWebsocketServers
    • New fields in configuration:
      • dropFilePath
    • New fields in PluginFunctions:
      • registerPeripheralFn
  • Added ability to drop files to paste their paths instead of copying the file
    • Enabled using dropFilePath config setting
  • Added single-window mode
    • Displays all computers on the same window
    • Activated with --single flag on CLI
    • Ctrl+Alt+Left/Right (Cmd+Option+L/R on Mac) to switch windows in GUI
  • Added ability to copy screenshots on Linux (X11, Wayland)
  • Added registerPeripheralFn capability to allow passing a function object
    • registerPeripheral is now deprecated
  • Added brand-new UI on mobile devices (beta only)
    • Redesigned UI with navigation bar & hotkey toolbar above keyboard
    • Added support for computer, debugger, and monitor peripherals
    • Change windows using the arrows in the navigation bar
    • Automatic shell resizing makes sure you can see what you type
    • Arrow key gestures now work on Android as well as iOS
    • Added new launch screen (iOS)
    • The new UI is only available in beta builds at the moment due to bugginess
  • Improved WebSocket server functionality
    • Servers can now be properly opened by calling http.websocket with a port argument
    • Multiple clients to the same server now get unique identifiers as userdata values
    • Added websocket_server_closed event to notify when an opened WebSocket server is no longer accepting connections
  • Replaced Windows nightly builds with CI build artifacts
  • CLI mode now uses Unicode characters for non-ASCII characters
    • Drawing characters are approximated using Braille characters; this may not show up well on a real terminal
  • Improved quality of CCEmuX plugin
  • WebSocket text messages are now sent in UTF-8
  • Improved Rednet deduplication efficiency (part of CC:T 1.99.0)
  • cash no longer saves duplicate history entries
  • Deprecated peripheral::update as it was never used
  • Fixed crashing whenever opening a debugger (from crash reports)
  • Fixed a crash when comparing two identical substrings (#218)
  • Fixed a crash caused by force-closing a computer after it's already gone (from crash reports)
  • Fixed a crash in term.drawPixels when passing a negative value (#224)
  • Fixed occasional crashes from get_comp cache duplication (from crash reports)
  • Fixed crashes and incorrect behavior when using string.format with substrings (from crash reports: Creepi)
  • Fixed strings in modem messages not being sent properly on Linux (BytecodeEli)
  • Fixed binary support in WebSocket messages
  • Fixed an issue causing input to stop working in raw mode on Linux
  • Fixed stack overflow when an error handler attempts to yield (from crash reports)
  • Fixed a bug causing old os functions to be exposed (!)
  • Fixed an incorrect error message when concatenating a concatenated string or substring with a value of an invalid type (9551)
  • Fixed an issue with completion for boolean config settings

This is the first release with a delta installer (Windows only). This should speed up updates from v2.6.1 as it doesn't have to download all of the libraries. If you're downloading from GitHub, please do not get the CraftOS-PC-Setup_Delta-v2.6.1.exe installer unless you already have v2.6.1 installed.

Due to the notes about the new mobile UIs above, the Android build is still v2.6.1. If you want to test out v2.6.2 with the new UI, please go to the beta build page to download it separately. This applies to iOS as well.

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.