Publishing details

Changelog

craftos-pc (1:2.4-eoan2) eoan; urgency=medium

    After a month and a half of development, CraftOS-PC v2.4 is ready for release. This version includes a new renderer that uses the GPU to accelerate the terminal. It also contains a whole bunch of bug fixes and some small features. Last but not least, CraftOS-PC v2.4 introduces a brand-new icon. Inspired by macOS Big Sur's new design language, this new icon is high-resolution, high-color, and highly-textured. I hope you enjoy all of the new features and fixes CraftOS-PC v2.4 brings.

    * Added new GUI terminal that uses hardware rendering (experimental)
        * It uses the GPU to accelerate drawing graphics
        * Uses the same base code that was used prior to v2.1, with updates that have been added since
        * Support can be enabled with the `useHardwareRenderer` config option or the `--hardware` or `-r hardware-sdl` CLI flag
        * A test script is available to see which is better for your system
            * You can run it with `gist run 802f64508a1f51b3244f5bcc0414ca22`
        * Vsync can be enabled with the `useVsync` option
        * The driver to use can be selected with the `preferredHardwareDriver` config option or the `-r` CLI flag
            * These are all of the possible drivers:
                * `direct3d`
                * `direct3d11`
                * `directfb`
                * `metal`
                * `opengl`
                * `opengles`
                * `opengles2`
                * `software`
            * Some drivers may not be available on your system
            * Use `craftos -r` to list all available drivers
    * Updated CC:T version to 1.90.2
        * Add cc.image.nft module, for working with nft files. (JakobDev)
        * Add configuration to control the sizes of monitors and terminals. (`defaultWidth`/`defaultHeight`)
        * Fix string serialization error in textutils.serializeJSON.
    * Brand-new app icon
        * Designed especially for CraftOS-PC
        * Inspired by the aesthetic of macOS Big Sur
        * High-resolution, textured, modern
    * Added proper double-buffering to the terminal
        * This allows you to use the `term` API while CraftOS-PC is rendering
        * This speeds up programs that end up running lower than the render FPS
    * Added introduction & update MOTD messages
        * When run for the first time (or in a new directory), an introduction message is displayed
        * When run after an update, a notification message is displayed, and suggests running `help whatsnew`
    * Added support for `monitor_touch` event as expected (#119)
        * This removes the `mouse_*` events for monitors
        * The previous behavior can be restored by setting the `monitorsUseMouseEvents` config setting
            * This will also add the monitor's side as a fourth parameter
    * Added `standardsMode` config option for strict compatibility with CC:T/CCEmuX
        * Forces time readings & timer resolution to be rounded to 50 ms (1 tick)
        * Adds back colored margins as shown in CC
        * More compatibility tweaks may be added under this option
    * Added `startFullscreen` per-computer config option
    * Disabled access to `romReadOnly` from CraftOS
    * Fixed ABI compatibility with standard Lua libraries
        * This means you can now properly use Lua libraries (e.g. from LuaRocks) as plugins
        * Prefix the library name with `lua_` to tell CraftOS-PC to skip loading plugin metadata
    * Updated plugin API version to 4
    * Added ID to per-computer config error messages
    * Modems now act as wired modems and can be used to access non-local peripherals (#122)
        * Non-local peripherals can now be listed with `peripheral.getNames()` when a modem is attached
    * Fixed a crash when opening a debugger twice (#120)
    * Fixed a rare race condition while getting an event (#123)
    * Fixed an issue with saving screenshots to disk
    * Fixed a bug where function key hotkeys don't work when Caps or Num lock is enabled
    * Fixed a bug causing the `locals` table in the debugger to be missing
    * Fixed `bit32.lrotate` returning incorrect results
    * Fixed crash when closing CraftOS-PC while a WebSocket is shutting down
    * Fixed crash when using too many nested coroutines (#124)
        * This was due to a bug that didn't update the C call count properly
        * Calling too many nested coroutines will result in a "C stack overflow" error
    * Fixed a race condition in `periphemu.detach`
    * Fixed incorrect prettification of non-contiguous tables (#125)
    * Fixed raw terminals getting the same ID
    * Added some more locks on timers to prevent crashes
    * Fixed abort timeout not working before first yield
    * Fixed missing UK spelling of term.nativePaletteColour
    * Fixed modem hang due to locks not waiting
    * Fixed missing modem distance field in `modem_message` event
    * Fixed utf8.char returning `%U` for each character
    * Fixed a random crash when calling a NULL C function (this shouldn't happen)
    * Fixed styling of message dialogs on Windows
    * Fixed events going to the wrong window in raw mode
    * Fixed Ctrl-R/S/T shortcuts not working in non-GUI modes
    * Disabled fullscreen support in WASM to avoid crashes (#100)
    * Mac: macOS 10.13 or later is now required for official builds
        * Users on older versions are still able to build and run CraftOS-PC themselves
    * Windows: The solution now uses vcpkg for dependencies, so NuGet and separate builds are no longer required
    * Windows: PDF printing is now supported in all builds
    * Windows: Changed Visual C++ Runtime and other libraries to dynamic linking
        * This reduces executable size, but the VCRT redistributable is now strictly required
        * More DLLs will be required as well

    *If you need help using CraftOS-PC, I'm available on the [ComputerCraft Discord server](https://discord.computercraft.cc) as `@JackMacWindows#9776`. Feel free to ping me if you need anything.*

 -- JackMacWindows <email address hidden>  Sat, 15 Aug 2020 14:33:15 -0400

Available diffs

Builds

Built packages

Package files