node-pty

Fork pseudoterminals in Node.JS

OTHER License

Downloads
549.7K
Stars
1.5K
Committers
81

Bot releases are visible (Hide)

node-pty - v1.0.0 Latest Release

Published by Tyriar over 1 year ago

This is the initial v1.0 release.

See the PR list including all changes below, the latest API is available here.

  • Remove deprecated on API (#605) via @Tyriar
  • v1.0.0 (#604) via @Tyriar
  • Upgrade for dependabot alerts (#595) via @Tyriar
  • fix: controlling terminal on macOS (#589) via @deepak1556
  • fix: retrieving process name on macOS (#588) via @deepak1556
  • refactor: posix_spawn usage for macOS (#587) via @deepak1556
  • ci: remove node 14.x stage (#581) via @deepak1556
  • fix: incorrect parsing of closeFDs option (#580) via @deepak1556
  • fix: ensure program name is part of child process arguments (#577) via @deepak1556
  • Enable strict TS compiler option (#574) via @Tyriar
  • Update what node version is supported (#570) via @Tyriar
  • Remove PR Chat (#569) via @lramos15@lramos15
  • chore: update [email protected] (#567) via @deepak1556
  • Bump ansi-regex from 3.0.0 to 3.0.1 (#560) via @dependabot
  • Add pr chat yml (#559) via @lramos15@lramos15
  • Adding Microsoft SECURITY.MD (#554) via @microsoft
  • update README with new onData pattern (#553) via @Seanmclem
  • Don't treat uid/gid 0 as undefined (#548) via @Tyriar
  • Bump minimist from 1.2.5 to 1.2.6 (#537) via @dependabot
  • add cf and spectre flags (#533) via @TylerLeonhardt
  • Don't publish .test.js files (#530) via @Tyriar
  • Bump ajv from 6.12.0 to 6.12.6 (#526) via @dependabot
  • Fix small typo in node-pty.d.ts (#522) via @JoelEinbinder
  • Add OpenSumi to the Real-world uses List (#520) via @Aaaaash
  • Update README.md (#517) via @SquitchYT
  • Add accessors pty and ptsName (#516) via @corwin
  • Fix status badge (#515) via @Tyriar
  • Disconnect IO handles during PtyKill (#510
  • address codeql bugs (#508) via @sbatten
  • Add node-gyp to devDependencies fixes #505 (#506) via @daniel
  • Add real-world uses for nxshell (#500) via @nxshell
  • POSIX Spawn 2: Electric Boogaloo (#487) via @Eugeny
  • Update README.md for add Tess (#478) via @SquitchYT
  • Bump glob-parent from 5.1.1 to 5.1.2 (#477) via @dependabot
  • Bump lodash from 4.17.19 to 4.17.21 (#473) via @dependabot
  • Add Tinkerun to the Real-world uses List (#469) via @billyct
  • Bump y18n from 4.0.0 to 4.0.1 (#468) via @dependabot
  • Explicitly open winpty conin pipe in write-only mode - fixes #457 (#460) via @Eugeny
  • Host conout socket in a worker (#415) via @Tyriar
node-pty - 0.10.0

Published by Tyriar over 3 years ago

πŸš€ Features

  • Expose IPty.pause(), IPty.resume() APIs to pause and resume the socket respectively (#452) via @meganrogge, this can be used to implement flow control by blocking the process output

🐞 Bug fixes

  • Don't resolve symlinks when launching shell by setting $PWD (#156) via @vvavrychuk
  • Temporarily block signals during forking (#218) via @jerch
  • Throw when args is not a string | string[] (#396) via @Tyriar
  • Fix process name returning garbled text sometimes on macOS (#401) via @Tyriar

πŸ“ Documentation and internal improvements

  • Update electron example (#367, #368) via @Tyriar
  • Fix security alerts (#394) via @Tyriar
  • Migrate from tslint to eslint (#398) via @Tyriar
  • Upgrade typescript (#399) via @Tyriar
  • Improve dependency docs for macOS (#412) via @Tyriar
  • Add shebang to electron example (#414) via @bogdanbarna
  • Remove undocumented Windows API usage related to Windows XP support (#426) via @Tyriar
  • Remove unneeded stdlib setting (#433) via @deepak1556

πŸŽ‰ New real-world use cases

  • Terminus, x-terminal (#381) via @the-j0k3r
  • nomad (#388) via @lukebarnard1
  • DockerStacks (#406) via @sfx101
  • TeleType (#424) via @akshaykmr
  • mesos-term (#431) via @kamaradclimber
  • ENiGMAΒ½ BBS Software (#440) via @NuSkooler
  • Commas (#448) via @CyanSalt
node-pty - 0.9.0

Published by Tyriar almost 5 years ago

πŸš€ Features / API

  • New events API that is easier to use and plays nicer with TypeScript (#283) via @Tyriar
    pty.onData(d => console.log(d));
    pty.onExit(e => console.log(e.exitCode, e.signal));
    
  • cols and rows are now exposed on IPty (#290) via @Tyriar
    console.log(pty.cols, pty.rows)
    
  • Experimental flow control APIs are available (#304, #364) via @jerch. Note that they may be removed in the future, see node-pty.d.ts for details and xtermjs/xterm.js#2077 for discussion
  • Promoted conpty support to stable and removed experimental from name (#365) via @Tyriar
    // before
    const pty = spawn(file, args, { experimentalUseConpty: true });
    
    // after
    const pty = spawn(file, args, { useConpty: true });
    
  • Allow specifying the PSEUDOCONSOLE_INHERIT_CURSOR conpty flag with IWindowsPtyForkOptions.conptyInheritCursor (#309) via @Tyriar

⬆️ Dependencies

  • winpty 0.4.3 ->0.4.4-dev (#297) via @Eugeny

🐞 Bug fixes

  • Fix passing null as encoding to use raw buffers (#273, #362) via @anszom, @Tyriar
  • Provide better error message when ioctl fails (#285) via @Tyriar
  • Restore default ctrl+c handler in conpty support (#287) via @Tyriar
  • Mark several APIs as readonly (#308) via @Tyriar
  • Fix crash when using conpty on 32-bit Windows (#314) via @ZoeyR
  • Fix handle inheritance for shells (#334) via @ZoeyR
  • Re-throw release binary require exception when debug require fails (#340) via @Tyriar
  • Avoid specifying /usr/*/lib under libraries (#343) via @deepak1556
  • Fix compilation when VWERASE/VDISCARD are named differently (#358) via @ThePrez
  • Protect calling resize with invalid values from crashing winpty (#363) via @Tyriar

πŸ“ Documentation and internal improvements

  • Remove dynamic loading so bundlers can work more effectively (#274) via @implausible
  • Update electron example dependencies (#275, #291, #299, #315, #355) via @Tyriar
  • Remove unneeded @types/ps-list dependency (#280) via @coderaiser
  • Support node v12 (#288, #331) via @Eugeny, @deepak1556
  • Git ignore VS Code CPP+ extension data directory (#292) via @Tyriar
  • Automate releasing of beta and stable builds (#294) via @Tyriar
  • Correct badge link in README (#295) via @Tyriar
  • Correct usage of prepublish npm script (#298) via @coderaiser
  • Remove chatty log message (#301) via @coderaiser
  • Formatting/refactoring (#305, #310, #311) via @Tyriar, @jerch
  • Support node v8 (#313) via @ZoeyR
  • Upgrade to @types/node@8 (#321) via @Tyriar
  • Support electron v6 (v8 7.6) (#322) via @deepak1556
  • Upgrade nan (#336) via @deepak1556
  • Upgrade lodash (#341) via @dependabot
  • Remove pollUntil dependency and add vscode unit test debug target (#342) via @Tyriar

⚠️ Deprecations

  • The on event format is now deprecated and will be removed in v1 (#283) via @Tyriar
    // deprecated
    pty.on('data', d => console.log(d));
    
    // recommended
    pty.onData(d => console.log(d));
    

πŸŽ‰ New real-world use cases

  • Electerm (#270) via @zxdong262
  • Extraterm (#276) via @sedwards2009
  • Wetty (#302) via @koushikmln
node-pty - 0.8.1

Published by Tyriar over 5 years ago

Bug fixes

  • Fixed IPty.kill when using ConPTY (#262, #263) via @Tyriar
  • Changed ConPTY to be enabled by default on Windows build number 18309+ due to stability concerns (was previously 17692+) (#262) via @Tyriar
node-pty - 0.8.0

Published by Tyriar almost 6 years ago

Features

  • Added support on Windows 10 to use the Windows ConPTY API (#236) via @Tyriar, @zadjii-msft. This will be enabled by default if you're on Windows 10 build number 17692+. This is expected to fix many issues on Windows, probably most notably #7 and Microsoft/vscode#57803.

    It can be disabled using experimentalUseConpty:

    nodePty.spawn(file, args, {
      experimentalUseConpty: false
    });
    

Documentation and internal improvements

  • Setup Azure Pipelines CI (#237) via @Tyriar
  • Add section to README about thread safety (#233) via @Gotham13121997
  • Document Ubuntu build dependencies in README (#228) via @Tyriar
node-pty - 0.7.8

Published by Tyriar about 6 years ago

Bug fixes

Documentation and internal improvements

node-pty - 0.7.7

Published by Tyriar about 6 years ago

Bug fixes

  • Fix handling of quote escapes on Windows (#222) via @alexr00, arguments that contain spaces that are not surrounded in quotes are now correctly quoted
  • Fixed an issue where kill didn't work anymore when used with a signal (#206) via @Tyriar, reverting the change in 0.7.5 to deliver signal to all slave processes
node-pty - 0.7.6

Published by Tyriar over 6 years ago

Bug fixes

  • Include typings file with npm package #205 via @zijpn, @Tyriar
node-pty - 0.7.5

Published by Tyriar over 6 years ago

Bug fixes

  • Don't publish test files #202 via @coderaiser
  • Also deliver signals other than SIGHUP to all slave processes #169 via @Daniel-Abrecht

Internal improvements

  • Updated to [email protected] (fixes compile under node 10) #192 via @Tyriar
  • Updated several dev dependencies #183 via @cancerberoSgx
  • Disable OSX on TravisCI #173 via @Tyriar
  • Integrate VSTS for CI #193 via @Tyriar
  • Add several tslint rules #172 via @Tyriar

Documentation

  • Added explicit TypeScript typings #182 via @Tyriar
  • Improve setup instructions on Windows #184 via @cancerberoSgx
  • New real-world use: "atom-xterm" #175 via @amejia1
  • New real-world use: "FreeMAN" #171 via @matthew-matvei
  • Fix link in README #165 via @levrik
node-pty - 0.7.4

Published by Tyriar almost 7 years ago

Bug fixes

node-pty - 0.7.3

Published by Tyriar almost 7 years ago

Bug fixes

  • Fix a winpty native exception that could sometimes occur when calling Terminal.kill on Windows #160 via @Tyriar
  • Swallow a safe to ignore JS exception that could occur when calling Terminal.kill on Windows #160 via @Tyriar

Documentation

  • New real-world use: "Theia" #157 via @svenefftinge
node-pty - 0.7.2

Published by Tyriar almost 7 years ago

This release exposes a native object on the module on Linux and macOS which gives direct access to the native node module backing node-pty. Note that this is not public API and should not be relied upon, it will likely be removed in the future. https://github.com/Tyriar/node-pty/issues/153 via @Tyriar

node-pty - 0.7.1

Published by Tyriar about 7 years ago

Bug fixes

  • All console processes running inside the pty should now be killed when killing the pty. This issue was observed frequently when running web servers via node-pty #122 via @the-ress, @Tyriar
  • Ship symbols in the npm package for crash reporting purposes #139 via @implausible
node-pty - 0.7.0

Published by Tyriar about 7 years ago

Enhancements

  • The exit code is now correctly emitted on Windows #75, #116 via @Tyriar

Bug fixes

  • spawn options are now optional on Windows #115 via @Tyriar
  • pid is now exposed on ITerminal in the TS declaration #119 via @Tyriar
  • Throw Node.JS exceptions instead of native exceptions when resize fails #136 via @Tyriar

Documentation

  • Don't use >br< in README.md #133 via @ioquatix
  • New real-world use: "Script Runner" #132 via @ioquatix

Internal improvements

  • Depend on latest [email protected] #117 via @Tyriar
  • Move all tests to TypeScript #121 via @Tyriar
  • Make private/protected naming scheme consistent #120 via @Tyriar
  • Setup Windows CI #126 via @Tyriar
  • C++ code clean up #128 via @Tyriar
node-pty - 0.6.10

Published by Tyriar over 7 years ago

Bug fixes

node-pty - 0.6.9

Published by Tyriar over 7 years ago

Enhancements

  • Documented all ITerminal members with jsdoc #107 via @Tyriar

Bug fixes

  • Prevent potential race condition by not resuming the data stream immediately, it is now left up to consumers to either call ITerminal.on('data', ...) or ITerminal.resume() to resume the stream #99 via @Tyriar, @hexa00
  • Improve exception reporting on Windows and prevent possible pointer leaks #102 via @Tyriar, @rprichard
  • Added on and other event emitter function to typings #105 via @Tyriar, @rollandjb
node-pty - 0.6.8

Published by Tyriar over 7 years ago

Bug fixes

node-pty - 0.6.6

Published by Tyriar over 7 years ago

TypeScript type definitions are now correctly linked in the package.json file.

node-pty - 0.6.5

Published by Tyriar over 7 years ago

Upgraded to [email protected]

node-pty - 0.6.4

Published by Tyriar over 7 years ago

New

  • Add simple type checks to Terminal constructor to make some common problems more obvious #59
  • Added a minimal demo to get a terminal running in Electron with the help of xterm.js #55

Bug fixes

  • Correctly expose the process ID of the shell process on Windows #67
  • Use cfsetispeed and cfsetospeed over cfsetspeed to cover Solaris #77 via @jerch
  • Fix possible buffer overrun #61 via @jerch