CraftOS-PC Accelerated v2.6
Pre-releaseCraftOS-PC v2.6 brings a huge amount of fixes, as well as some performance improvements that have been dragging things down since v2.0. In addition, it adds support for the new raw mode 1.1 protocol, which includes the ability to transfer files. It's been a while since the last update, so why not make this a special one?
With CraftOS-PC v2.6 comes a new suite of mobile apps, letting you use ComputerCraft on-the-go. Simply download the app on your Android or iOS device, launch the app, and get going. Note: to open the keyboard, pinch inward, and to close it pinch outward. A better way of letting the user know this is in progress.
In the future, the apps will be available on the iOS App Store and the Google Play Store, but until then, you can get the Android app through the APK attached to this release, and you can get the iOS app on TestFlight (requires iOS 13 or later).
- CraftOS-PC is now available on Android and iOS
- Apps are available on the iOS App Store (Play Store in the future; please download the APK manually)
- Supports same feature set as desktop CraftOS-PC
- Monitors and multi-computer support is missing, but will be added in a future version
- Pinch in to open keyboard, out to close keyboard
- Extra mobile-centric features:
mobileAPI withopenKeyboard(open: boolean)andisKeyboardOpen()functions_CCPC_mobile_keyboard_open <height>event when keyboard is opened, with an argument for visible height_CCPC_mobile_keyboard_closeevent when keyboard is closed
- Bumped CC:T version to 1.97.0
- 1.96.0:
- Use lightGrey for folders within the "list" program.
- Add cc.expect.range (Lupus590).
- Allow calling cc.expect directly (MCJack123).
- Fix paintutils.drawLine incorrectly sorting coordinates (lilyzeiset).
- Correctly handle sparse arrays in cc.pretty.
- 1.97.0:
- Add scale subcommand to
monitorprogram (MCJack123).- This is a modification of the already-existing
resolutionsubcommand.
- This is a modification of the already-existing
- Add option to make
textutils.serializenot write an indent (magiczocker10). - Allow comparing vectors using
==(fatboychummy). - Allow
craftprogram to craft unlimited items (fatboychummy). - Add program subcompletion to several programs (Wojbie).
- Update the
helpprogram to accept and (partially) highlight markdown files. - Remove config option for the debug API.
- It still exists internally, but is always set to
true.
- It still exists internally, but is always set to
- Allow uploading files by dropping them onto a computer.
- Update the
wgetto be more resiliant in the face of user-errors. - Fix
exitingpaint typing "e" in the shell.
- Add scale subcommand to
- 1.96.0:
- Bumped structure version to 4
- New fields in
PluginFunctions:addEventHooksetDistanceProvider
- New fields in
Computer:eventHooks- Deprecated fields:
nextMouseMovelastMousemouseMoveDebounceTimer
- New fields in
Terminal:nextMouseMovelastMousemouseMoveDebounceTimer
- New types:
event_hook
- New fields in
- Upgraded raw mode protocol to version 1.1
- New filesystem access ability
- Computer windows now send the ID of the computer
- Changed meaning of raw cursor blink field to indicate blinking, not showing
- Small improvements to the protocol
- Official protocol specification at https://www.craftos-pc.cc/docs/rawmode
- Improved performance of string concatenation by using ropes
- Final concatenation of strings is not completed until the string's value needs to be read
- This was implemented in CC:T 1.91.0
- Expect repeated concatenation operations to be around 100x faster
- Improved performance of
string.subby using efficient substring views- Getting a substring no longer has to reallocate the string
- Instead, it reuses the original string with the offset and length required
- Added HTTP whitelist & blacklist
- Emulates configuration of CC:T up until 1.87.0 (before rule-based system)
- Added command-line option to connect to a remote WebSocket server in raw mode
- Changed cursor blink speed to 0.4s to match CC's behavior
- Rewrote main thread task queuer to be more efficient
- Setting
abortTimeoutto 0 now disables abort timeouts - The close button no longer needs to be clicked twice to exit when
keepOpenOnShutdownis enabled - Fixed "400 Bad Request" error on HTTP requests when the path is empty
- Fixed crash when a bad URL is passed to HTTP functions
- Fixed an issue causing encoded slashes in URLs being decoded prematurely (#199)
- Fixed some memory leaks in HTTP handles
- Fixed HTTP not working properly in CraftOS-PC Online
- Fixed random crashes while sending messages over a modem (#205)
- Fixed sending recursive tables over modems
- Fixed old abort timer firing after reboot, causing spurious "Too long without yielding" errors
- Fixed crash when canceling a timer that doesn't exist
- Fixed
os.epoch "local"not accounting for Daylight Savings Time - Fixed files being truncated in text mode on Windows when a
\x0Acharacter is found (#204) - Software rendering now reuses the same surface to reduce memory pressure
- Fixed an issue causing inconsistent speeds when recording to GIF
- Fixed blit only allowing gray colors on grayscale terminals
- Fixed monitors in raw mode sending close events to the wrong window ID
- Fixed some issues with setting monitor scale
- Fixed mouse event debouncing on monitors
- Fixed monitors not reporting a second
monitor_touchevent when clicked twice at the same point - Fixed
mouse_moveleave event on monitors not sending the side - Fixed a bug causing
mouse_moveevents to stop being sent after a while - Fixed behavior of
term.blitwhen passing an invalid character to color strings - Fixed raw client mouse events not being sent properly
- Fixed an issue causing crashes when creating certain peripherals
- Fixed a possible crash when the BIOS cannot be found (#208)
__ltmetamethods can now yield from insidetable.sort- Fixed a possible memory leak in
table.sort - Fixed an issue causing
__ltmetamethods that yield to return the wrong result from<= - Fixed various errors in yielding from debug hooks
- Fixed stack not being resized when > 0x08000000 entries are required
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.