Releases: lihop/godot-xterm
Releases · lihop/godot-xterm
v2.2.0 - Deprecation & Bugfix Release
Changed
- Changed theme item names to be compatible with Godot version 3.5 (no spaces), consistent with other theme item names (snake_case), and to match the ANSI color names listed on the ANSI escape code Wikipedia page.
Deprecated
- Deprecated the
cols
androws
properties of Terminal. These properties will be removed in a future version. Please useget_cols()
andget_rows()
instead. - Deprecated the undocumented
get_master()
method of PTY that returned its Pipe. This method will be removed in a future version. The Pipe class is for internal use only and may be changed at any time. - Deprecated old theme item names. Support for these names will be removed in a future version. Please update the names as follows (paying particular attention to
Light Grey
,Dark Grey
,White
,Bold Italic
, and theLight *
variants):- Colors:
Black
->black
Red
->red
Green
->green
Yellow
->yellow
Blue
->blue
Magenta
->magenta
Cyan
->cyan
Light Grey
->white
Dark Grey
->bright_black
Light Red
->bright_red
Light Green
->bright_green
Light Yellow
->bright_yellow
Light Blue
->bright_blue
Light Magenta
->bright_magenta
Light Cyan
->bright_cyan
White
->bright_white
Foreground
->foreground
Background
->background
Cursor
->cursor
- Fonts:
Regular
->regular
Italic
->italic
Bold
->bold
Bold Italic
->bold_italic
- Colors:
Removed
- Removed support for Godot version 3.3.x. GodotXterm might still work with this version of Godot if compiled with the correct version of godot-cpp, but compatibility is no longer officially supported.
Fixed
- #57: Screen is no longer erased on resize when using a custom theme.
- #58: Screen is no longer erased when changing themes.
"Paint Term", generated using Midjourney, released under CC0 by @lihop.
v2.2.0-rc1
Changed
- Changed theme item names to be compatible with Godot version 3.5 (no spaces),
consistent with other theme item names (snake_case), and to match the ANSI
color names listed on the ANSI escape code Wikipedia page.
Deprecated
- Deprecated the
cols
androws
properties of Terminal.
These properties will be removed in a future version.
Please useget_cols()
andget_rows()
instead. - Deprecated the undocumented
get_master()
method of PTY that returned its Pipe.
This method will be removed in a future version.
The Pipe class is for internal use only and may be changed at any time. - Deprecated old theme item names.
Support for these names will be removed in a future version.
Please update the names as follows (paying particular attention toLight Grey
,Dark Grey
,White
,Bold Italic
, and theLight *
variants):- Colors:
Black
->black
Red
->red
Green
->green
Yellow
->yellow
Blue
->blue
Magenta
->magenta
Cyan
->cyan
Light Grey
->white
Dark Grey
->bright_black
Light Red
->bright_red
Light Green
->bright_green
Light Yellow
->bright_yellow
Light Blue
->bright_blue
Light Magenta
->bright_magenta
Light Cyan
->bright_cyan
White
->bright_white
Foreground
->foreground
Background
->background
Cursor
->cursor
- Fonts:
Regular
->regular
Italic
->italic
Bold
->bold
Bold Italic
->bold_italic
- Colors:
Removed
- Removed support for Godot version 3.3.x. GodotXterm might still work with this
version of Godot if compiled with the correct version of godot-cpp, but compatibility
is no longer officially supported.
Fixed
v2.1.1 - Bugfix Release
Fixed
Thanks to @ConteZero for reporting and providing feedback on these issues:
- #51: Fixed issue where terminal would lose focus on Tab/Arrow key presses
when in a scene with other input nodes. - #53: Fixed issue where terminal was not updating when there was no GUI
activity. - #55: Fixed unicode errors that would occur when using PTY with Terminal.
- #56: Fixed incorrect initial size of PTY when used with Terminal.
"Dead Bugs", generated using Midjourney, released under CC0 by @lihop.
v2.1.1-beta1
Fixed
Thanks to @ConteZero for reporting and providing feedback on these issues:
- #51: Fixed issue where terminal would lose focus on Tab/Arrow key presses
when in a scene with other input nodes. - #53: Fixed issue where terminal was not updating when there was no GUI
activity. - #55: Fixed unicode errors that would occur when using PTY with Terminal.
- #56: Fixed incorrect initial size of PTY when used with Terminal.
v2.1.0
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).
- Changed target Godot version from 3.3.2-stable -> 3.4.4-stable.
- Prevent scrollback buffer reset (i.e. scrolling to the bottom of terminal output) when
pressing modifier keys in isolation or when copying text using the shortcut Ctrl+Shift+C.
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 underlying
pipe.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. - Fixed "Resumed function after yield, but class instance is gone" error that would
sometimes occur when closing a Terminal after callingwrite()
but before VisualServer
had finished drawing the current frame.
v2.1.0-beta1
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 underlying
pipe.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.
v2.0.0
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).
- PTY node. Similar to Pseudoterminal node, but better. Uses libuv and code copied from node-pty.
Changed
- GDNative Terminal node is now wrapped by gdscript.
- #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.
Removed
- Pseudoterminal node.
v1.2.1
v1.2.0
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
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.