github xtermjs/xterm.js 3.13.0

latest releases: 5.5.0, 5.4.0, 5.3.0...
5 years ago

🚀 Features

📦 API

  • A new and improved event API has been introduced that properly types the arguments within the listener (#2008) via @Tyriar
    Screen Shot 2019-05-08 at 7 03 49 PM
  • The new windowsMode option replaces the old winptyCompat addon (#1978, #1985, #1993) via @Tyriar, note that there are no longer the previous protections in place to prevent the mode from running on non-Windows operating systems.
  • Terminal.markers is now a ReadonlyArray (previously []) (#2036) via @Tyriar

🐞 Bug fixes

  • Prevent unhandled sequence code from being hit incorrectly (#1923) via @jerch
  • Fix UTF-8 mouse coordinate support (#1952) via @NickShaffner
  • Don't open links when selecting text and releasing the mouse in the middle of the link (#1958) via @nikonso
  • Don't do a full refresh when no needed after pausing and resuming rendering (#1976) via @Tyriar
  • No longer scroll to the xterm.js text area when it's focused (#1982) via @Tyriar
  • Fix the CSI scroll down handler (#1995) via @thekondr
  • Properly send the ^_ sequence (emacs undo) (#2052) via @jflatow
  • search addon
    • Fix skipping wrapped line results after resizing the terminal (#1866) via @ntchjb
    • Fix find next/previous not selecting correct text after resizing the terminal (#2025) @thebradbain
  • webLinks addon

📝 Documentation and internal improvements

  • Open the browser automatically when the server is ready when debugging (#1968) via @nikonso
  • Tweak rtty messaging (#1973) via @zhaojh329
  • Recommend 127.0.0.1 over 0.0.0.0 on Linux and macOS to simplify documentation (#1987) via @Tyriar
  • Fix backspace in the demo (#1997) via @Tyriar
  • Better integration with VS Code
    • Add setting for VS Code that tells TypeScript to use single quotes (#2009) via @Tyriar
    • Add build and test VS Code tasks (#2032) via @Tyriar
    • Add dev container support (#2040) via @Tyriar
  • Improving project structure
    • Build using TypeScript project references (#1984) via @Tyriar
    • Ensure DOM APIs are not used within the common and core sub-projects (#1992) via @Tyriar
    • Create a "ui" TypeScript sub-project (#2026) via @Tyriar
  • Releases

🛑 Breaking changes

  • The winptyCompat addon has been moved into core and is now enabled via the windowsMode option:
    // before 3.13.0
    import winptyCompat = require('vscode-xterm/lib/addons/winptyCompat/winptyCompat');
    Terminal.applyAddon(winptyCompat); 
    const term = new Terminal();
    
    // after 3.13.0
    const term = new Terminal({ windowsMode: true });
    See the API section for more information.

⚠️ Deprecations

  • The on, off, emit and addDisposableListener APIs are now deprecated and are planned to be removed in v4.0.0 (#2008) via @Tyriar, they are replaced with the new "explicit event API".
    // deprecated
    term.on('resize', e => doSomething(e));
    
    // recommended
    term.onResize(e => doSomething(e));
    We took this opportunity to slim down the events, cutting out some that we thought are no longer needed. If you are using any events that were not carried over to the new event API please create an issue and let us know how you're using it to see if we should expose it.

🎉 New real-world use cases


A special thanks to @Eugeny of the Terminus project for trialing the beta release and helping catch some nasty bugs before we released ❤️

Don't miss a new xterm.js release

NewReleases is sending notifications on new releases.