mirror of
https://github.com/lihop/godot-xterm.git
synced 2024-11-10 04:40:25 +01:00
0ae1d80abb
De-references pty_baton's exit callback after it is called so it can be automatically released, preventing leaked instances. Adds basic implementation for Pipe's get_status() method and forces PTY to wait for child process to exit to ensure exit callback is cleaned up. Adds a test to check that exit callback is still called as usual.
4.9 KiB
4.9 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Added
- Support for macOS universal (x86_64/arm64) binaries. The macOS binary
libgodot-xterm.osx.64.dylib
is now a universal binary that runs natively on both x86_64 and arm64.
Changed
- Linux binaries now support systems with older GLIBC versions. By building the binaries inside a docker container with an older GLIBC version, the minimum required GLIBC version is now 2.17 which was released in 2012.
- Prevent all editor shortcuts while terminal is focused except for:
- The shortcuts used to switch between terminal tabs (Ctrl+Page up, Ctrl+Page down).
- Shortcuts starting with Ctrl + Shift. This includes the remaining default terminal panel shortcuts such as 'Copy' (Ctrl+Shift+C) and 'New Terminal' (Ctrl+Shift+T).
- Target Godot version from 3.3.2-stable -> 3.4.4-stable.
Removed
- Removed custom TerminalSettings Resource type. This Resource was not being used but would still appear in every resource dropdown. Related issue godotengine/godot#24643.
Fixed
- The
kill()
method of unix PTY node can now be called without error as the underlyingpipe.close()
method of the gdnative library is now registered. - Fixed 'Condition "!obj" is true.' error that would often print to console when closing terminals in the Terminal panel of the editor plugin.
- Fixed leaked instances that would occur when PTY exited but child process was still running.
v2.0.0 - 2021-07-25
Added
- Terminal editor plugin. Adds integrated terminal to Godot editor.
- Xresources import plugin.
- #39: Support for the bell "\u0007" character.
- HTML5 Support.
- #24: Support for Windows 32-bit (Terminal node only).
Changed
- #44: Default theme to match Godot's default theme.
- Supported Godot version -> 3.3.2.
- Set a default theme if no theme property has been set.
- Changed default font from Cousine to Hack, which is the same as Godot's script editor, and reduced size from 16 to 14.
- TPut no longer registered as a unique global class (i.e. removed
class_name TPut
).
Fixed
- #40: Vim related bugs, caused by incorrectly handled control sequences.
- Don't swap red and blue channels of theme colors.
- Use "Light Cyan" color from theme. Previously ignored.
v1.2.1 - 2020-11-23
Changed
- GitHub Actions workflow now produces both a release and debug zip archive.
Fixed
- Release binary for Windows 64-bit export.
v1.2.0 - 2020-11-21
Added
- Support for macOS 64-bit including Pseudoterminal.
- Partial support for Windows 64-bit and compiling on Windows using MSVC. Pseudoterminal not yet supported. 32-bit builds might be possible but not yet built/tested.
Changed
- Updated build script. On Linux
./build.sh
will create a debug build of the gdnative library for the current platform. - Removed all pre-compiled binaries using BFG Repo-Cleaner, thus re-writing git history.
Fixed
- Fixed bug where incorrect data would sometimes be written to the terminal when passing a string to the Terminal's
write()
method. - Positioned background rect at 0,0 so it is no longer offset if a margin is added when Terminal is a child of a Container node.
- Passed correct argv to the execvp call of Pseudoterminal. Previously argv[0] was not set to the program's name which caused the Pseudoterminal node not to work on macOS with the zsh shell.
v1.0.0 - 2020-10-05
Added
- Changelog.
- Asciicast importer plugin. Enables the import of .cast (asciicast files v2) that can be made using the asciinema terminal session recorder. See the asciicast scene for example usage.
- Pre-built binary for x11 platform.
Changed
- Implementation of Terminal node from GDScript to GDNative using Aetf's patched version of libtsm.
- Move input handling to the Terminal node itself, rather than handling it in a seperate Control node.
- The Terminal
write()
method now accepts both String and PoolByteArray.