xterm.js

A terminal for the web

MIT License

Downloads
4.9M
Stars
17.6K
Committers
322

Bot releases are hidden (Show)

xterm.js - 3.12.1

Published by Tyriar over 5 years ago

🐞 Bug fixes

  • Fix crash related to reflowing wrapped lines ending that ended in \t (#2010) via @Tyriar
xterm.js - 3.12.0

Published by Tyriar over 5 years ago

🐞 Bug fixes

  • Allow incremental searches to shorten and still retain selection (#1916) via @skyway777
  • Fix NPE when \x1b[?1003h or \x1b[?1003l is sent to the terminal before open is called (for good this time) (#1905) via @pfitzseb
  • Fix renderer incorrectly pausing under some environments (#1929) via @coderaiser
  • Fix an NPE when resizing both dimensions (#1930) via @Tyriar
  • Fix variable substitution in docker-compose.yml file (#1934) via @ahtshamraziq
  • Fix some characters being drawn with the wrong line height (#1938) via @Tyriar
  • Disable reflow completely when winptycompat is enabled (#1950) via @Tyriar
  • Fix link underline/hover not deactivating when on boundary of terminal (#1959) via @nikonso

📝 Documentation and internal improvements

  • Use a time-based limit for parsing time, this should make frame drops much less likely (#1818) via @juancampa
  • Create a roadmap and link it in the README (#1925) via @Tyriar
  • Update license year (#1928) via @Tyriar
  • Remove redundant font-family declaration in CSS file (#1936) via @Tyriar
  • Documentation style improvements (#1953) via @cherouvim
  • Remove costly Array.shift call during data input (#1956) via @JesseStolwijk

🎉 New real-world use cases

  • Jumpserver (#1949) via @liuzheng
xterm.js - 3.11.0

Published by Tyriar over 5 years ago

🆕 Features

  • Text is now wrapped and unwrapped when the terminal is horizontally resized (#1864) via @Tyriar, this was the most upvoted feature on GitHub

reflow

🆕 API

  • These properties on Terminal are now marked as readonly: element, textarea, rows, cols, markers (#1871, #1917) via @Tyriar

🐞 Bug fixes

  • Links on lines that start with \t are no longer offset incorrectly (#1887) via @jerch
  • Fix NPE when \x1b[?1003h or \x1b[?1003l is sent to the terminal before open is called (#1905) via @pfitzseb
  • Make textarea positioning work with css transformations (#1912) via @mofux

📝 Documentation and internal improvements

  • Boost parser performance by working on typed arrays over strings (#1796) via @jerch
  • Removed old js array-based buffer implementation (#1877) via @jerch
  • Fixed various typos in the code/comments (#1886) via @epicfaace
  • Prevent the charsizechanged internal event from firing unnecessarily (#1897) via @juancampa
  • Remove unused var and unnecessary defensive check (#1900) via @Tyriar
  • Call out in the Terminal.resize API docs that it's best to debounce calls to it (#1919) via @Tyriar
xterm.js - 3.10.1

Published by Tyriar almost 6 years ago

🐞 Bug fixes

  • Fixed the security vulnerability described in CVE-2019-0542 via @Tyriar, @jerch. (Thanks to Felix Wilhelm from the Google Security Team)
  • Fixed keys like volume up and context menu printing their names when pressed (#1881) via @Tyriar
xterm.js - 3.9.2

Published by Tyriar almost 6 years ago

🐞 Bug fixes

  • Fixed the security vulnerability described in CVE-2019-0542 via @Tyriar, @jerch. (Thanks to Felix Wilhelm from the Google Security Team)
xterm.js - 3.8.1

Published by Tyriar almost 6 years ago

🐞 Bug fixes

  • Fixed the security vulnerability described in CVE-2019-0542 via @Tyriar, @jerch. (Thanks to Felix Wilhelm from the Google Security Team)
xterm.js - 3.9.1

Published by Tyriar almost 6 years ago

🐞 Bug fixes

  • Fix error in addon typings files (#1831) via @Tyriar
  • Published the missing dist/ dir (#1829) via @Tyriar
xterm.js - 3.10.0

Published by Tyriar almost 6 years ago

🆕 Features

  • Allow holding a key down to send multiple characters (#1849) via @epicfaace
  • search addon:
    • Find multiple instances on the same line (#1763) via @noamyogev84
    • Support incremental searching, a.k.a. search as you type (#1826) via @nojvek

🆕 API

🐞 Bug fixes

  • Fix selection when using positioning the terminal using position: fixed (#1788) via @gou4shi1
  • Don't recreate the renderer when the char atlas changes (#1820) via @Tyriar
  • Dispose of char atlases when they're no longer used by any terminals (#1821) via @Tyriar
  • Optimize OSC_STRING parsing (#1822) via @PerBothner
  • Fix NPE in linkifier (#1841) via @jerch
  • Fix calls to translateToString when endCol === 0 (#1843) via @Tyriar
  • Fix text being top aligned on Chrome and Firefox (#1859) via @Tyriar
  • Fix NPE in DOM renderer underline code (#1861) via @Tyriar
  • fullscreen addon: Fix illegal invocation error (#1851) via @robins1212
  • search addon: Fix bug preventing searching backwards (#1865) via @ntchjb
  • webLinks addon: Don't allow quotes at the end of a URL (#1846) via @linrock
  • winptyCompat addon: Fix wrapped line heuristic (#1850) via @Tyriar

📝 Documentation and internal improvements

  • Differentiate whitespace and "null" cells in the buffer (#1775) via @jerch
  • Allow decimal line heights in the demo (#1819) via @Tyriar
  • Remove old AUTHORS file (#1827) via @Tyriar
  • Refactors towards new layering structure (#1828) via @Tyriar
  • Remove unused dependency (#1832) via @Tyriar
  • Add VS Code debugging launch targets (#1834) via @Tyriar
  • Fix build when using node 10+ (#1847) via @linrock
  • Fix missing quotes in README code example (#1848) via @linrock
  • Remove Gitter and improve README (#1856) via @Tyriar
  • Whitespace fix (#1863) via @vincentwoo
xterm.js - 3.9.0

Published by Tyriar almost 6 years ago

🆕 Features

  • Introduced a new buffer implementation based on typed arrays that recycles memory (#1641, #1731, #1736, #1740, #1793, #1812) via @jerch.

    Comparison of the buffer implementations, benchmarked with the demo with 1000 lines scrollback and typical payload (ls output):

    buffer based on memory footprint GC runtime input throughput
    JS Array 25 - 50 MB JS Heap, 6 MB C++ Heap 15 - 25 % 7 - 8 MB/s
    Typed Array 8 - 15 MB JS Heap, 1.5 MB C++ Heap < 3 % 17 - 19 MB/s

    The typed array based implementation is the new default, if you run into issues please report them and switch back to the old buffer using:

    new Terminal({ experimentalBufferLineImpl: 'JsArray' })
    
  • Support the lineHeight option in the DOM renderer (#1733) via @leomoty

🐞 Bug fixes

  • Fill lines inserted from scrolling with erase attributes (#1706) via @whydoubt
  • Clear the isWrapped flag on erased lines (eg. from a clear call) (#1720) via @alexr00
  • Fix an infinite loop in character print code (#1735) via @Tyriar
  • Fix inverse colors in the DOM renderer and dynamic char atlas (#1739) via @Tyriar
  • Fix docker image build (#1742) via @AndrienkoAleksandr
  • Fix NPE in DOM renderer when using the underline attribute (#1748) via @Tyriar
  • Fix some CJK characters rendering incorrectly when using dynamic char atlas (#1758) via @Tyriar
  • Improve alt buffer cursor handling to align more with xterm (#1764) via @whydoubt
  • Only show crosshair cursor when using column select if the terminal has focus (#1772) via @whydoubt
  • Fix the DOM renderer overlapping with the scroll bar (#1780) via @whydoubt
  • Fix wheel up event never firing on Firefox (#1782) via @astefanutti
  • Fix missing control characters in parser (#1783) via @jerch
  • Fix edge cases in click in selection function which could lead to the wrong cells being selected when double clicking (#1784) via @Tyriar
  • Fix error preventing the bell audio from working when using multiple terminals (#1787) via @jerch
  • Web links addon
    • Allow colons in the middle of URLs (#1765) via @jrkong
  • Search addon
    • Don't consider _ a word separator in the search addon (#1743) via @alexr00
    • Clear selection when no results are found (#1756) via @skprabhanjan
    • Search from the top of the viewport when there is no selection (#1760) via @skprabhanjan

📝 Documentation and internal improvements

  • Start moving parts of the codebase to use TypeScript strict null checks (#1699) via @Tyriar
  • Use yarn integrity checks (#1728) via @Tyriar
  • Improve reliability/speed of the demo (#1744) via @jerch
  • Update Azure Data Studio's name in README (#1745) via @Tyriar
  • Improve API for consumers using TypeScript strict null checks (#1752) via @Tyriar
  • Run tests & tslint on addons (#1754) via @vladimirze
  • Fix typos in source comments (#1759) via @stkvrs
  • Significantly improve wcwidth performance (#1789) via @jerch
  • Significantly improve DOM renderer performance, especially in large terminals (#1792) via @Tyriar
  • Improve contribution documentation (#1791) via @Tyriar
  • Remove unused function parameters (#1794) via @Tyriar
  • Refactors towards new code layering structure (#1795, #1799) via @Tyriar
  • Upgrade to TypeScript 3.1 (#1800) via @Tyriar

🎉 New real-world use cases

  • WebSSH (#1768) via @huashengdun
  • Info beamer hosted (#1806) via @dividuum
xterm.js - 3.8.0

Published by Tyriar about 6 years ago

🆕 Features

  • Allow links that wrap either above or below the viewport to work (#1693) via @jerch
  • DOM renderer
    • Support additional cursor styles (#1661) via @Hindol
    • Promote from experimental to stable status (#1676) via @Tyriar
    • Support link underlines (#1705) via @agurodriguez
  • Search addon
    • Support for searching in wrapped lines (#1662) via @alexr00
    • Support for case sensitivity, match whole word and regex options (#1663, #1664, #1666) via @alexr00

🐞 Bug fixes

  • Add a fallback for link underline colors in case there is an issue extracting the color (#1670)
  • Improve unicode support in link handling (#1678) via @jerch
  • Reduce dynamic texture atlas unnecessary objects and draw from an ImageBitmap (#1692) via @Tyriar
  • Fix scroll APIs not affecting the scroll bar (#1698) via @Tyriar
  • Add additional NPE checks to link logic (#1703) via @Tyriar
  • Prevent NPE when disposing the terminal shortly after creation (#1717) via @Tyriar

📝 Documentation and internal improvements

  • Add unit tests for event APIs (#1646) via @peacefullatom
  • Improve demo build process (#1648) via @Tyriar
  • Minor tslint improvements (#1651) via @Tyriar
  • Move to TypeScript 3 (#1652) via @Tyriar
  • Fix demo build issues (#1668, #1672) via @jerch, @Tyriar
  • Move addon builds into a separate task (#1675) via @Tyriar
  • Setup Azure Pipelines (#1681, #1687) via @Tyriar
  • Fix an issue with search addon not respecting wrapped line ending whitespace (#1682) via @alexr00
  • Remove npm-run-all dependency (#1696) via @Tyriar
  • Remove comment regarding removal of the fake terminal (#1718) via @zwhitchcox

🎉 New real-world use cases

  • Juno (#1711) via @pfitzseb
xterm.js - 3.7.0

Published by mofux about 6 years ago

🆕 Features

  • Add support for the "Not italic" escape code, \x1B[23m (#1613) via @shroudedcode
  • Draw link underlines in the color of the linked text (#1626) via @peacefullatom

🐞 Bug fixes

  • Fix incorrect reference in the attach addon (#1619) via @meefik
  • Avoid unnecessary line redraws (#1622, #1624) via @princjef, @Tyriar
  • Fix crosshair cursor not going away after hitting alt+tab (#1636) via @peacefullatom
  • Fix the convertEol option not applying via setOption (#1645) via @jerch

📝 Documentation and internal improvements

  • Prepare terminal for upcoming buffer improvements (#1632, #1647) via @jerch
  • Only sync viewport in an animation frame (#1607) via @Tyriar
  • Stop typescript from emitting output files in typings test (#1610) via @Tyriar
  • Enforce strict equality through tslint (#1628) via @princjef
  • Document addDisposableListener in the declaration file (#1644) via @Tyriar

🎉 New real-world use cases

  • Shellvault (#1634) via @angersson
xterm.js - 3.6.0

Published by Tyriar about 6 years ago

🆕 Features

  • Add experimental character joiner API, this will be used for eventual ligature support (#1460) via @princjef. You can view the current shape of the API here.
  • Allow DOM and canvas renderers to be switched at runtime (#1590) via @Tyriar

🐞 Bug fixes

  • Fix JS engine deoptimization in the parser (#1555) via @jerch
  • Fix exception related to links on wrapped lines (#1570) via @nikonso
  • Fix bug in the DOM renderer where column and row values were flipped (#1574) via @vincentwoo
  • Fix exception in parser (#1578) via @Tyriar
  • Make double click to select words word across wrapped lines (#1585) via @Tyriar
  • Do not scroll to bottom when device status is reported (#1586) via @Tyriar, @tylerl0706
  • Fix rendering issues with column selection (#1594) via @Tyriar
  • Fix exception in accessibility manager (#1597) via @Tyriar
  • Fix bold inverted text when using dynamic texture atlas (#1599) via @7PH

📝 Documentation and internal improvements

  • Better surface API documentation in the README (#1556) via @Tyriar
  • Move developer documentation to wiki (#1558) via @Tyriar
  • Use yarn (#1563) via @Tyriar
  • Remove Travis.CI (#1564, #1598) via @Tyriar
  • Add clarifying note about how experimental APIs work (#1581) via @Tyriar
  • Remove jsdoc types (#1583) via @Tyriar
  • Use constants for null cell values (#1588) via @Tyriar
  • Fix sourcemaps in the demo (#1601) via @segevfiner

⚠️ Deprecations

  • Terminal.emit is being deprecated with no replacement, see #1505 for additional context (#1569) via @Tyriar

🎉 New real-world use cases

  • SSH Web Client (#1561) via @roke22
xterm.js - 3.5.1

Published by Tyriar over 6 years ago

🐞 Bug fixes

xterm.js - 3.5.0

Published by Tyriar over 6 years ago

This was a 2 month release due to unavailability of some team members.

🆕 Features

  • The parser was rewritten, increasing ANSI compliance and boosting speed by about 30% (#1399) via @jerch

  • A fallback DOM-based renderer is now available (#1432, #1524) via @Tyriar. This is useful for machines that have rendering issues with canvas:

    var term = new Terminal({
        rendererType: "dom"
    });
    
  • Column selection is now supported on alt+click (#1538) via @vsinha
    image

🐞 Bug fixes

  • Prevent Safari from calling createImageBitmap as it's implemented but returns a rejection (#1469) via @tmpfs
  • Select entire wrapped line on triple click (#1486) via @Tyriar
  • Explicitly mark event listneers as not passive (#1495) via @nikonso
  • Prevent mouse mode events from being sent when mouse mode is exited while the mouse is down (#1503) via @Tyriar
  • Prevent NPE on beginFrame call (#1512) via @Tyriar
  • Redraw the screen after drawBoldTextInBrightColors changes (#1513) via @Tyriar
  • Track character attributes when using save/restore cursor sequences (#1522) via @7PH
  • Ensure all references are released when Terminal.dispose is called, preventing memory leaks (#1525) via @Tyriar
  • Don't hide cursor when reset is triggered (#1535) via @7PH
  • Tracked the selection render state correctly (#1543) via @nikonso

📝 Documentation and internal improvements

  • Several improvements to the npm test scripts (#1388) via @Tyriar
  • Add more naming conventions to linter (#1421) via @Tyriar
  • Added VSTS build badge (#1457) via @Tyriar
  • Performance improvements to adding characters to the buffer (#1466) via @jerch
  • Correct lib values in tsconfig (#1472) via @Tyriar
  • Support incremental xterm.js builds (#1474) via @Tyriar
  • Replace let with const where possible (#1477) via @lgeiger
  • Clean up TS references (#1483) via @AndrienkoAleksandr
  • Add readme for fit addon (#1485) via @Tyriar
  • Enable noImplicitAny TS compiler option (#1487) via @Tyriar
  • Improve demo to show all options in a nice way (#1488) via @Tyriar
  • Fix npm start on Windows (#1489) via @nikonso
  • Fix demo string options (#1490) via @nikonso
  • Fix typo in README (#1491) via @pro-src
  • Fix copyright line breaks (#1497) via @Tyriar
  • Add a code of conduct (#1500) via @Tyriar
  • Add more granular github issue templates (#1501) via @Tyriar
  • Start of code layering improvements (#1508) via @Tyriar
  • Pin node-pty to 0.7.6 (#1531) via @Tyriar
  • Allow the terminal to be recreated after disposing the terminal in the demo (#1542) via @nikonso
  • Fix typo in function name (#1537) via @Tyriar
  • Remove old parser code (#1547) via @Tyriar

xtermjs.org

  • Generate docs using typedoc (xtermjs/xtermjs.org#44) via @pro-src
  • Validate links in generated docs (xtermjs/xtermjs.org#46) via @pro-src
  • Synchronize site with xterm.js README (xtermjs/xtermjs.org#49) via @pro-src
  • Update terminado guide for new addon API (xtermjs/xtermjs.org#50) via @pro-src
  • Move real world uses section below getting started (xtermjs/xtermjs.org#55) via @pro-src
  • Add favicon (xtermjs/xtermjs.org#56) via @pro-src

🛑 Breaking changes

  • Since column selection is now the default for alt+click, on macOS there is a new setting to allow forcing of selection within mouse mode:

    var term = new Terminal({
        macOptionClickForcesSelection: true
    });
    

🎉 New real-world use cases

  • GoTTY (#1475) via @cathy-zhao
  • genact (#1494) via @svenstaro
  • cPanel & WHM (#1510) via @FGasper
  • Nutanix (#1517) via @JonKohler
xterm.js - 3.4.1

Published by Tyriar over 6 years ago

🐞 Bug fixes

  • Fix "ghosting" rendering issue when using the static char atlas (#1463) via @Tyriar
xterm.js - 3.4.0

Published by Tyriar over 6 years ago

🆕 Features

  • Added an experimental LRU-based dynamic texture atlas, this should improve both start up and overall performance when used (#1327) via @bgw. You can turn it on using the experimentalCharAtlas option in the Terminal constructor:

    const term = new Terminal({
      experimentalCharAtlas: 'dynamic'
    });
    
  • Improved web font support is available through the external addon xterm-webfont (#1164, #1390) via @vincentwoo

  • Added the drawBoldTextInBrightColors option to allow bold colors not to use the bright colors (#1391) via @LinusU

  • Added support for italic text (#1422) via @flybayer

🐞 Bug fixes

  • Fix a memory leak where Terminal resources were not being released after destroy/dispose was called (#1372) via @Tyriar, @hansonw
  • Don't ship the zmodem demo in the npm module (#1376) via @Tyriar
  • Don't ship test files in the npm module (#1417) via @pro-src
  • Prevent NPE when Terminal.setOption is called before Terminal.open (#1384) via @Tyriar
  • Prevent NPE when Terminal.resize is called before Terminal.open (#1385) via @johnpoth
  • Fix an exception that could happen when clicking in the terminal (#1401) via @npezza93
  • Ensure the link pointer cursor shows up when in application mode (#1446) via @Tyriar

⚠️ Deprecations

  • Terminal.destroy() is now deprecated, use Terminal.dispose():

    // v3.3
    term.destroy();
    
    // v3.4
    term.dispose();
    

📝 Documentation and internal improvements

  • Made the linter more strict and apply to more files (#1365, #1374, #1404, #1407, #1433) via @Tyriar
  • Remove some unused code (#1369, #1375, #1377) via @Tyriar
  • Separate foreground and background render passes (#1393) via @bgw
  • Boosted performance by minimizing the use of getters in performance critical code (#1403) via @jerch
  • Reduce the number of draws by batching background draws together (#1413) via @bgw
  • Use hex instead of octal escapes in the readme (#1420) via @pro-src
  • Call save and restore correctly on the context when drawing text (#1442) via @bgw
  • Improve import addon documentation in the README (#1444) via @pengx17
  • Fix build error related to @types/node (#1445) via @pro-src
  • Update tagline in demo (#1450) via @Tyriar
  • Update coveralls badge (#1452) via @Tyriar

🎉 New real-world use cases

  • Hyper (#1299) via @jonaustin
  • diag.ai (#1438) via @ledbit
xterm.js - 3.3.0

Published by Tyriar over 6 years ago

We have recently welcomed @bgw as a maintainer on the project due to his significant contributions around improving the character texture atlas and refactoring work.

🆕 Features

  • Use of the mouse wheel in the alt buffer will be translated into arrow events, enabling scrolling in applications like vim (#1310) via @Tyriar
  • Handle blob data in the attach addon (#1355) via @AlexandrePetit-Pas

🆕 API

For the latest version of the API, check the typings file for the version you're interested in.

  • Added a new experimental "Markers" API (#1338) via @Tyriar, this allows tracking specific lines within the terminal. This is needed as line indexes are insufficient since the terminal can trim lines from the top of the scrollback buffer and lines within the viewport can change.

    export interface IMarker extends IDisposable {
      readonly id: number;
      readonly isDisposed: boolean;
      readonly line: number;
    }
    
    export class Terminal {
      /**
       * (EXPERIMENTAL) Get all markers registered against the buffer. If the alt
       * buffer is active this will always return [].
       */
      markers: IMarker[];
    
      /**
       * (EXPERIMENTAL) Adds a marker to the normal buffer and returns it. If the
       * alt buffer is active, undefined is returned.
       * @param cursorYOffset The y position offset of the marker from the cursor.
       */
      addMarker(cursorYOffset: number): IMarker;
    }
    

    Any feedback on this API would be appreciated as it's not set in stone.

  • Added an API to select a range of lines (#1338) via @Tyriar:

    /**
     * Selects text in the buffer between 2 lines.
     * @param start The 0-based line index to select from (inclusive).
     * @param end The 0-based line index to select to (inclusive).
     */
    selectLines(start: number, end: number): void;
    
  • Added an API to scroll to a particular line (#1338) via @Tyriar:

    /**
     * Scrolls to a line within the buffer.
     * @param line The 0-based line index to scroll to.
     */
    scrollToLine(line: number): void;
    

🐞 Bug fixes

  • Theme colors are now validated and color names such as lime and red are now accepted (#1293) via @nikonso
  • Improve handling of transparent theme colors and allow additional formats such as #RGB (#1346) via @bgw
  • Pasting new lines on non-Windows are now normalized to \r, just like on Windows (#1296) via @olsonpm
  • Multi-line links should now work (#1303) via @Tyriar, there are still issues when you resize the terminal after a line has printed which will be resolved when reflow is implemented (#622)
  • Do not mutate options object used in the Terminal constructor (#1326) via @LucianBuzzo
  • Fix terminal when it's container specifies a rtl text layout (#1350) via @FGasper
  • Prevent falsy write values (#1366) via @Tyriar
  • Fix exception when Terminal.reset is called before Terminal.open) is called (#1381) via @Tyriar

📝 Documentation and internal improvements

  • Refactors for the character texture atlas (#1307) via @bgw
  • Always check whether the character texture atlas needs to be refreshed, regardless of whether we think character size has changed or not (#1308) via @bgw
  • Reduce duplication of interfaces around the character texture atlas (#1317) via @bgw
  • Add note about stance on shipping third party dependencies (#1332) via @Tyriar
  • Reduce use of inline styles (#1336) via @mareklibra
  • Several debt/lint related items (#1315, #1316, #1318, #1320, #1329, #1340, #1344) via @Tyriar

🎉 New real-world use cases

  • Fluent Terminal (#1321) via @felixse
xterm.js - 3.2.0

Published by Tyriar over 6 years ago

🆕 Features

  • Screen reader support (#1182) via @Tyriar
  • alt+ctrl+{key} and alt+shift+{key} is now sent to be handled by the process (#1231) via @saamalik

🆕 API

  • Screen reader support can be turned on/off with the screenReaderMode option. This is disabled by default as it adds additional perf overhead (#1182) via @Tyriar
  • Web link support is now activated by loading the webLinks addon and calling webLinksInit (#1298) via @Tyriar

🐞 Bug fixes

  • Fix exception when resizing the terminal instance before open is called (#1280) via @AndrienkoAleksandr
  • Fix terminal screen overlaying scroll bar (#1288) via @dgriffen
  • Fix exception when double clicking scroll bar (#1290) via @Tyriar
  • Only move horizontally when alt clicking in the normal buffer (#1309) via @Tyriar

📝 Documentation and internal improvements

  • The web audio API is now used for the bell sound (#1200) via @nikonso
  • Add typings for the cols and rows options (#1302) via @nikonso
  • Add xterm.js Docker image to documentation (#1313) via @parisk

🛑️ Breaking changes

  • Bell support has been dropped in IE11 (#1200)

🎉 New real-world use cases

  • FreeMAN (#1282) via @matthew-matvei
xterm.js - 3.1.0

Published by Tyriar over 6 years ago

🆕 Features

  • Alt+click to move cursor (#896) via @npezza93
  • Select word on right click, defaults to true for macOS (#1114) via @nikonso
  • Support setting fontWeight and fontWeightBold (#1119, #1208) via @nikonso
  • Pause rendering automatically when terminal is offscreen or hidden (#1144) via @Tyriar
  • Ship automatically generates typings for addons (#1197) via @jsmecham - blink1073
  • Support setting terminal padding via CSS, where the scroll bar remains in the outer, padded area (#1208) via @mofux
  • Support translating option to meta on macOS (#1225, #1228) via @saamalik
  • Support transparent background via explicit setting (#1236) via @chabou

🆕 API

  • New settings
    • rightClickSelectsWord (#1114) via @nikonso
    • macOptionIsMeta (#1225) via @saamalik
    • allowTransparency (#1236) via @chabou
    • fontWeight (#1119) via @nikonso
    • fontWeightBold (#1119) via @nikonso
  • Setting padding on Terminal.element is now supported (#1208) via @mofux

🐞 Bug fixes

  • Correctly reset parser state for certain escape sequences (#1137) via @damz
  • Use the normal cursor not text cursor when mousing over the scroll bar (#1142) via @Tyriar
  • Fix a null pointer exception when selecting to the bottom of the buffer (#1168) via @Tyriar
  • Fix character texture atlas becoming corrupted when switching monitors with different DPI (#1172) via @Tyriar
  • Enable alt+backspace to delete a word on most shells (#1180) via @Tyriar
  • Fix issues with resizing the terminal (#1206) via @amejia1
  • Fix search addon for lines with emojis and wide chars (#1211) via @Tyriar
  • Fix cursor lagging behind when blink is on (#1217) via @Tyriar
  • Fix links sometimes not correctly activating until scroll (#1234) via @Tyriar
  • Prevent a crash that could happen after resizing the alt buffer (#1235) via @Tyriar
  • Fix context menu paste in Firefox on Windows (#1253) via @sitzmar
  • Change an id to a class that could occur multiple times (#1256) via @Tyriar, @zxdong262
  • Prevent terminal occasionally scrolling to top when hiding (#1266) via @Tyriar

⚠️ Deprecations

  • The setting enableBold is now deprecated in favor of fontWeight and fontWeightBold which can be used to achieve the same result:

    // v3.0
    term.setOption('enableBold', false);
    
    // v3.1
    term.setOption('fontWeightBold', 'normal');
    

📝 Documentation and internal improvements

  • Remove repo redirect in package.json (#1188) via @Tyriar
  • Set master package.json version to x.y.z-master (#1192) via @Tyriar
  • Refactor char atlas generation to enable generation with web worker in the future (#1198) via @Tyriar
  • tslint improvements/refactors (#1214, #1249) via @Tyriar
  • Remove OSX from TravisCI (#1218) via @Tyriar
  • Refactors to reduce duplication of interfaces and increase type checking (#1222, #1224, #1227) via @Tyriar
  • Remove legacy .gitignore rules (#1244) via @Tyriar
  • Run tsc as a TravisCI job (#1258) via @Tyriar
  • Upgrade to TypeScript 2.7 (#1263) via @Tyriar
  • Fix getting started steps in README (#1271) via @krasimir
  • Add watch gulp task (#1273) via @parisk

🎉 New real-world use cases

  • electerm (#1177) via @zxdong262
  • Kubebox (#1191) via @astefanutti
  • Azure Cloud Shell (#1205) via @jluk
  • atom-xterm (#1207) via @amejia1
  • rtty (#1223) via @zhaojh329
  • Pisth (#1229) via @ColdGrub1384
  • AbstruseCI (#1230) via @jkuri
  • SQL Operations Studio (#1250) via @Tyriar

❓ Experimental changes

  • Allow the use of modifiers in the experimental link matcher API (#1264) via @Tyriar
xterm.js - 3.0.2

Published by Tyriar almost 7 years ago

Package Rankings
Top 12.7% on Repo1.maven.org
Top 0.4% on Npmjs.org
Badges
Extracted from project README
xterm.js logo