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:
mobile
API withopenKeyboard(open: boolean)
andisKeyboardOpen()
functions_CCPC_mobile_keyboard_open <height>
event when keyboard is opened, with an argument for visible height_CCPC_mobile_keyboard_close
event 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
monitor
program (MCJack123).- This is a modification of the already-existing
resolution
subcommand.
- This is a modification of the already-existing
- Add option to make
textutils.serialize
not write an indent (magiczocker10). - Allow comparing vectors using
==
(fatboychummy). - Allow
craft
program to craft unlimited items (fatboychummy). - Add program subcompletion to several programs (Wojbie).
- Update the
help
program 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
wget
to be more resiliant in the face of user-errors. - Fix
exiting
paint typing "e" in the shell.
- Add scale subcommand to
- 1.96.0:
- Bumped structure version to 4
- New fields in
PluginFunctions
:addEventHook
setDistanceProvider
- New fields in
Computer
:eventHooks
- Deprecated fields:
nextMouseMove
lastMouse
mouseMoveDebounceTimer
- New fields in
Terminal
:nextMouseMove
lastMouse
mouseMoveDebounceTimer
- 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.sub
by 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
abortTimeout
to 0 now disables abort timeouts - The close button no longer needs to be clicked twice to exit when
keepOpenOnShutdown
is 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
\x0A
character 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_touch
event when clicked twice at the same point - Fixed
mouse_move
leave event on monitors not sending the side - Fixed a bug causing
mouse_move
events to stop being sent after a while - Fixed behavior of
term.blit
when 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)
__lt
metamethods can now yield from insidetable.sort
- Fixed a possible memory leak in
table.sort
- Fixed an issue causing
__lt
metamethods 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.