installed pty
[VSoRC/.git] / node_modules / node-pty / deps / winpty / RELEASES.md
diff --git a/node_modules/node-pty/deps/winpty/RELEASES.md b/node_modules/node-pty/deps/winpty/RELEASES.md
new file mode 100644 (file)
index 0000000..768cdf9
--- /dev/null
@@ -0,0 +1,280 @@
+# Next Version
+
+Input handling changes:
+
+ * Improve Ctrl-C handling with programs that use unprocessed input. (e.g.
+   Ctrl-C now cancels input with PowerShell on Windows 10.)
+   [#116](https://github.com/rprichard/winpty/issues/116)
+ * Fix a theoretical issue with input event ordering.
+   [#117](https://github.com/rprichard/winpty/issues/117)
+ * Ctrl/Shift+{Arrow,Home,End} keys now work with IntelliJ.
+   [#118](https://github.com/rprichard/winpty/issues/118)
+
+# Version 0.4.3 (2017-05-17)
+
+Input handling changes:
+
+ * winpty sets `ENHANCED_KEY` for arrow and navigation keys.  This fixes an
+   issue with the Ruby REPL.
+   [#99](https://github.com/rprichard/winpty/issues/99)
+ * AltGr keys are handled better now.
+   [#109](https://github.com/rprichard/winpty/issues/109)
+ * In `ENABLE_VIRTUAL_TERMINAL_INPUT` mode, when typing Home/End with a
+   modifier (e.g. Ctrl), winpty now generates an H/F escape sequence like
+   `^[[1;5F` rather than a 1/4 escape like `^[[4;5~`.
+   [#114](https://github.com/rprichard/winpty/issues/114)
+
+Resizing and scraping fixes:
+
+ * winpty now synthesizes a `WINDOW_BUFFER_SIZE_EVENT` event after resizing
+   the console to better propagate window size changes to console programs.
+   In particular, this affects WSL and Cygwin.
+   [#110](https://github.com/rprichard/winpty/issues/110)
+ * Better handling of resizing for certain full-screen programs, like
+   WSL less.
+   [#112](https://github.com/rprichard/winpty/issues/112)
+ * Hide the cursor if it's currently outside the console window.  This change
+   fixes an issue with Far Manager.
+   [#113](https://github.com/rprichard/winpty/issues/113)
+ * winpty now avoids using console fonts smaller than 5px high to improve
+   half-vs-full-width character handling.  See
+   https://github.com/Microsoft/vscode/issues/19665.
+   [b4db322010](https://github.com/rprichard/winpty/commit/b4db322010d2d897e6c496fefc4f0ecc9b84c2f3)
+
+Cygwin/MSYS adapter fix:
+
+ * The way the `winpty` Cygwin/MSYS2 adapter searches for the program to
+   launch changed.  It now resolves symlinks and searches the PATH explicitly.
+   [#81](https://github.com/rprichard/winpty/issues/81)
+   [#98](https://github.com/rprichard/winpty/issues/98)
+
+This release does not include binaries for the old MSYS1 project anymore.
+MSYS2 will continue to be supported.  See
+https://github.com/rprichard/winpty/issues/97.
+
+# Version 0.4.2 (2017-01-18)
+
+This release improves WSL support (i.e. Bash-on-Windows):
+
+ * winpty generates more correct input escape sequences for WSL programs that
+   enable an alternate input mode using DECCKM.  This bug affected arrow keys
+   and Home/End in WSL programs such as `vim`, `mc`, and `less`.
+   [#90](https://github.com/rprichard/winpty/issues/90)
+ * winpty now recognizes the `COMMON_LVB_REVERSE_VIDEO` and
+   `COMMON_LVB_UNDERSCORE` text attributes.  The Windows console uses these
+   attributes to implement the SGR.4(Underline) and SGR.7(Negative) modes in
+   its VT handling.  This change affects WSL pager status bars, man pages, etc.
+
+The build system no longer has a "version suffix" mechanism, so passing
+`VERSION_SUFFIX=<suffix>` to make or `-D VERSION_SUFFIX=<suffix>` to gyp now
+has no effect.  AFAIK, the mechanism was never used publicly.
+[67a34b6c03](https://github.com/rprichard/winpty/commit/67a34b6c03557a5c2e0a2bdd502c2210921d8f3e)
+
+# Version 0.4.1 (2017-01-03)
+
+Bug fixes:
+
+ * This version fixes a bug where the `winpty-agent.exe` process could read
+   past the end of a buffer.
+   [#94](https://github.com/rprichard/winpty/issues/94)
+
+# Version 0.4.0 (2016-06-28)
+
+The winpty library has a new API that should be easier for embedding.
+[880c00c69e](https://github.com/rprichard/winpty/commit/880c00c69eeca73643ddb576f02c5badbec81f56)
+
+User-visible changes:
+
+ * winpty now automatically puts the terminal into mouse mode when it detects
+   that the console has left QuickEdit mode.  The `--mouse` option still forces
+   the terminal into mouse mode.  In principle, an option could be added to
+   suppress terminal mode, but hopefully it won't be necessary.  There is a
+   script in the `misc` subdirectory, `misc/ConinMode.ps1`, that can change
+   the QuickEdit mode from the command-line.
+ * winpty now passes keyboard escapes to `bash.exe` in the Windows Subsystem
+   for Linux.
+   [#82](https://github.com/rprichard/winpty/issues/82)
+
+Bug fixes:
+
+ * By default, `winpty.dll` avoids calling `SetProcessWindowStation` within
+   the calling process.
+   [#58](https://github.com/rprichard/winpty/issues/58)
+ * Fixed an uninitialized memory bug that could have crashed winpty.
+   [#80](https://github.com/rprichard/winpty/issues/80)
+ * winpty now works better with very large and very small terminal windows.
+   It resizes the console font according to the number of columns.
+   [#61](https://github.com/rprichard/winpty/issues/61)
+ * winpty no longer uses Mark to freeze the console on Windows 10.  The Mark
+   command could interfere with the cursor position, corrupting the data in
+   the screen buffer.
+   [#79](https://github.com/rprichard/winpty/issues/79)
+
+# Version 0.3.0 (2016-05-20)
+
+User-visible changes:
+
+ * The UNIX adapter is renamed from `console.exe` to `winpty.exe` to be
+   consistent with MSYS2.  The name `winpty.exe` is less likely to conflict
+   with another program and is easier to search for online (e.g. for someone
+   unfamiliar with winpty).
+ * The UNIX adapter now clears the `TERM` variable.
+   [#43](https://github.com/rprichard/winpty/issues/43)
+ * An escape character appearing in a console screen buffer cell is converted
+   to a '?'.
+   [#47](https://github.com/rprichard/winpty/issues/47)
+
+Bug fixes:
+
+ * A major bug affecting XP users was fixed.
+   [#67](https://github.com/rprichard/winpty/issues/67)
+ * Fixed an incompatibility with ConEmu where winpty hung if ConEmu's
+   "Process 'start'" feature was enabled.
+   [#70](https://github.com/rprichard/winpty/issues/70)
+ * Fixed a bug where `cmd.exe` sometimes printed the message,
+   `Not enough storage is available to process this command.`.
+   [#74](https://github.com/rprichard/winpty/issues/74)
+
+Many changes internally:
+
+ * The codebase is switched from C++03 to C++11 and uses exceptions internally.
+   No exceptions are thrown across the C APIs defined in `winpty.h`.
+ * This version drops support for the original MinGW compiler packaged with
+   Cygwin (`i686-pc-mingw32-g++`).  The MinGW-w64 compiler is still supported,
+   as is the MinGW distributed at mingw.org.  Compiling with MSVC now requires
+   MSVC 2013 or newer.  Windows XP is still supported.
+   [ec3eae8df5](https://github.com/rprichard/winpty/commit/ec3eae8df5bbbb36d7628d168b0815638d122f37)
+ * Pipe security is improved.  winpty works harder to produce unique pipe names
+   and includes a random component in the name.  winpty secures pipes with a
+   DACL that prevents arbitrary users from connecting to its pipes.  winpty now
+   passes `PIPE_REJECT_REMOTE_CLIENTS` on Vista and up, and it verifies that
+   the pipe client PID is correct, again on Vista and up.  When connecting to a
+   named pipe, winpty uses the `SECURITY_IDENTIFICATION` flag to restrict
+   impersonation.  Previous versions *should* still be secure.
+ * `winpty-debugserver.exe` now has an `--everyone` flag that allows capturing
+   debug output from other users.
+ * The code now compiles cleanly with MSVC's "Security Development Lifecycle"
+   (`/SDL`) checks enabled.
+
+# Version 0.2.2 (2016-02-25)
+
+Minor bug fixes and enhancements:
+
+ * Fix a bug that generated spurious mouse input records when an incomplete
+   mouse escape sequence was seen.
+ * Fix a buffer overflow bug in `winpty-debugserver.exe` affecting messages of
+   exactly 4096 bytes.
+ * For MSVC builds, add a `src/configurations.gypi` file that can be included
+   on the gyp command-line to enable 32-bit and 64-bit builds.
+ * `winpty-agent --show-input` mode: Flush stdout after each line.
+ * Makefile builds: generate a `build/winpty.lib` import library to accompany
+   `build/winpty.dll`.
+
+# Version 0.2.1 (2015-12-19)
+
+ * The main project source was moved into a `src` directory for better code
+   organization and to fix
+   [#51](https://github.com/rprichard/winpty/issues/51).
+ * winpty recognizes many more escape sequences, including:
+    * putty/rxvt's F1-F4 keys
+      [#40](https://github.com/rprichard/winpty/issues/40)
+    * the Linux virtual console's F1-F5 keys
+    * the "application numpad" keys (e.g. enabled with DECPAM)
+ * Fixed handling of Shift-Alt-O and Alt-[.
+ * Added support for mouse input.  The UNIX adapter has a `--mouse` argument
+   that puts the terminal into mouse mode, but the agent recognizes mouse
+   input even without the argument.  The agent recognizes double-clicks using
+   Windows' double-click interval setting (i.e. GetDoubleClickTime).
+   [#57](https://github.com/rprichard/winpty/issues/57)
+
+Changes to debugging interfaces:
+
+ * The `WINPTY_DEBUG` variable is now a comma-separated list.  The old
+   behavior (i.e. tracing) is enabled with `WINPTY_DEBUG=trace`.
+ * The UNIX adapter program now has a `--showkey` argument that dumps input
+   bytes.
+ * The `winpty-agent.exe` program has a `--show-input` argument that dumps
+   `INPUT_RECORD` records.  (It omits mouse events unless `--with-mouse` is
+   also specified.)  The agent also responds to `WINPTY_DEBUG=trace,input`,
+   which logs input bytes and synthesized console events, and it responds to
+   `WINPTY_DEBUG=trace,dump_input_map`, which dumps the internal table of
+   escape sequences.
+
+# Version 0.2.0 (2015-11-13)
+
+No changes to the API, but many small changes to the implementation.  The big
+changes include:
+
+ * Support for 64-bit Cygwin and MSYS2
+ * Support for Windows 10
+ * Better Unicode support (especially East Asian languages)
+
+Details:
+
+ * The `configure` script recognizes 64-bit Cygwin and MSYS2 environments and
+   selects the appropriate compiler.
+ * winpty works much better with the upgraded console in Windows 10.  The
+   `conhost.exe` hang can still occur, but only with certain programs, and
+   is much less likely to occur.  With the new console, use Mark instead of
+   SelectAll, for better performance.
+   [#31](https://github.com/rprichard/winpty/issues/31)
+   [#30](https://github.com/rprichard/winpty/issues/30)
+   [#53](https://github.com/rprichard/winpty/issues/53)
+ * The UNIX adapter now calls `setlocale(LC_ALL, "")` to set the locale.
+ * Improved Unicode support.  When a console is started with an East Asian code
+   page, winpty now chooses an East Asian font rather than Consolas / Lucida
+   Console.  Selecting the right font helps synchronize character widths
+   between the console and terminal.  (It's not perfect, though.)
+   [#41](https://github.com/rprichard/winpty/issues/41)
+ * winpty now more-or-less works with programs that change the screen buffer
+   or resize the original screen buffer.  If the screen buffer height changes,
+   winpty switches to a "direct mode", where it makes no effort to track
+   scrolling.  In direct mode, it merely syncs snapshots of the console to the
+   terminal.  Caveats:
+    * Changing the screen buffer (i.e. `SetConsoleActiveScreenBuffer`)
+      breaks winpty on Windows 7.  This problem can eventually be mitigated,
+      but never completely fixed, due to Windows 7 bugginess.
+    * Resizing the original screen buffer can hang `conhost.exe` on Windows 10.
+      Enabling the legacy console is a workaround.
+    * If a program changes the screen buffer and then exits, relying on the OS
+      to restore the original screen buffer, that restoration probably will not
+      happen with winpty.  winpty's behavior can probably be improved here.
+ * Improved color handling:
+    * DkGray-on-Black text was previously hiddenly completely.  Now it is
+      output as DkGray, with a fallback to LtGray on terminals that don't
+      recognize the intense colors.
+      [#39](https://github.com/rprichard/winpty/issues/39).
+    * The console is always initialized to LtGray-on-Black, regardless of the
+      user setting, which matches the console color heuristic, which translates
+      LtGray-on-Black to "reset SGR parameters."
+ * Shift-Tab is recognized correctly now.
+   [#19](https://github.com/rprichard/winpty/issues/19)
+ * Add a `--version` argument to `winpty-agent.exe` and the UNIX adapter.  The
+   argument reports the nominal version (i.e. the `VERSION.txt`) file, with a
+   "VERSION_SUFFIX" appended (defaulted to `-dev`), and a git commit hash, if
+   the `git` command successfully reports a hash during the build.  The `git`
+   command is invoked by either `make` or `gyp`.
+ * The agent now combines `ReadConsoleOutputW` calls when it polls the console
+   buffer for changes, which may slightly reduce its CPU overhead.
+   [#44](https://github.com/rprichard/winpty/issues/44).
+ * A `gyp` file is added to help compile with MSVC.
+ * The code can now be compiled as C++11 code, though it isn't by default.
+   [bde8922e08](https://github.com/rprichard/winpty/commit/bde8922e08c3638e01ecc7b581b676c314163e3c)
+ * If winpty can't create a new window station, it charges ahead rather than
+   aborting.  This situation might happen if winpty were started from an SSH
+   session.
+ * Debugging improvements:
+    * `WINPTYDBG` is renamed to `WINPTY_DEBUG`, and a new `WINPTY_SHOW_CONSOLE`
+      variable keeps the underlying console visible.
+    * A `winpty-debugserver.exe` program is built and shipped by default.  It
+      collects the trace output enabled with `WINPTY_DEBUG`.
+ * The `Makefile` build of winpty now compiles `winpty-agent.exe` and
+   `winpty.dll` with -O2.
+
+# Version 0.1.1 (2012-07-28)
+
+Minor bugfix release.
+
+# Version 0.1 (2012-04-17)
+
+Initial release.