@rauchg rauchg released this Jan 9, 2017 · 27 commits to master since this release

20% faster bootup + bug fixes + better plugin DX

We improved bootup time by making the JS bundle 20% faster (parse and evaluation time).

We also fixed a race condition seen if you had special characters in the first data packet coming from the terminal (e.g.: the prompt), which could sometimes be rendered as follows:

Many other fixes from multiple contributors! Read on…

Minor Changes

  • Expose decorate to plugins: #1261
  • Use local config file in dev (fix #903): #904


  • Ensure line endings are correct on Windows: #1230
  • Prevent loosing focus after a char composition ended by Tab key (fix #1341): #1349
  • Scrollbar Fix on macOS (fix #100) #1354
  • Fix decoding race condition with new terminal sessions: #1366
  • 20% faster bootup time: #1350


Huge thanks to @timneutkens, @chabou, @paulcbetts, @micopc and @rauchg for their help!



@rauchg rauchg released this Dec 31, 2016 · 37 commits to master since this release

Perf improvements and URL, emojis, + bug fixes 😱

Also note-worthy: URL support will probably move into a core plugin in the near future_.

We'll be introducing, highlighting and documenting a series of core-maintained plugins that you'll be able to include as @hyper/plugin inside your config πŸŽ‰



@matheuss matheuss released this Dec 12, 2016 · 56 commits to master since this release

Hyper 1.0.0 is here!

Windows support and improved Linux support

We are very excited to announce that we now support Windows – and we're also shipping a first-class Linux version:

- We moved from [`child_pty`](https://github.com/Gottox/child_pty) to [`pty.js`](https://github.com/Tyriar/pty.js) – they're both great libraries to interact with a pseudo terminal, but just the latter supports Windows – https://github.com/zeit/hyper/pull/946/commits/33844425a9fb094cbcd64a596d813ace96c68d40 – [Thanks @tyriar] - We rewrote the UI for the tabs in order for them to work with Electron's constraints on Windows and Linux – https://github.com/zeit/hyper/pull/946/commits/f8a8da645fecc2f7c7e33587bc4b14f267cf9842 – [@CodeTheory] - We added a _hamburguer menu_ so the application menu can be easily accessed – [@CodeTheory + @evilrabbit]

Check #946 and #1058 for more info

Improved internationalization and foreign keyboards support

We are shipping a fix for a very common issue: if you're using a foreign keyboard, such as Portuguese, Norwegian, Swedish etc, you weren't able to type some characters like Γ‘, Γ€, ~ and so on. That's not the case anymore!

- We inject a `hyper-caret` div with `contenteditable="true"` inside the `hterm`'s cursor. With that, we're able to listen for the [composition events](https://developer.mozilla.org/en-US/docs/Web/Events/compositionstart) – with them, we can _morph_ the cursor to show some visual feedback when you are typing a composed character – https://github.com/zeit/hyper/pull/1006

Unicode and emojis

This version comes with an initial fix for issues with special Unicode characters – and Emojis 😍. Thanks to our amazing contributors, you will now see the following instead of a bunch of οΏ½s:

- We patched `hterm` to make it handle strings with _special_ Unicode characters correctly – some emojis are composed of multiple characters, so we need to be careful when splitting a string to render it https://github.com/zeit/hyper/pull/1018 – [@dotcypress] - We also patched the way `hterm` render special Unicode chars – we now wrap each one with a `` instead of wrapping the entire line – https://github.com/zeit/hyper/pull/740 – [@BenoitAverty]

Customize the look of the active session

Now you can customize the look of the active session via the .term_active CSS class:

  • The active <Term /> will receive an active CSS class. Therefore, after the rendering, the .term_active CSS class will be available. You can use it (and the absence of it) to customize any CSS property for the active split pane – #905 – [@weslleyaraujo]
  • Check hyper-simple-highlight-active-session for an example of how to use it.


We are shipping a new Electron version that supports vibrancy on macOS:


Further improved developer experience

We have improved the development workflow – we hope that we made easier for you to contribute:

  • Instead of using a unified start task with concurrently, we now have separate dev and start tasks. This means that Hyper will not fail to boot anymore because Webpack is still working – ed76f4e
  • We introduced a lint task, so you can run only the linter to check if your code style match ours – 332d303

Special thanks

We'd like to thank these 22 contributors for their amazing work on Hyper – they made this release possible!

❀️ @BenoitAverty @breber @chabou @CodeTheory @davegomez @dfrankland @dotcypress @evilrabbit @flyngate @iamstarkov @mike-engel @oliverdunk @parro-it @ppot @Specro @stefanivic @timneutkens @tyriar @vors @weslleyaraujo @zbuttram ❀️



@rauchg rauchg released this Oct 18, 2016 · 123 commits to master since this release

Hyper early, hyper often!

Quick release to fix ugly error dialog when performing some filesystem operations. Shoutout to @shama creator of gaze, our file-watching dep, for his help debugging.



@rauchg rauchg released this Oct 15, 2016 · 135 commits to master since this release

Many fixes, including paste γƒ˜(β—•γ€‚β—•γƒ˜)

Bug fixes

  • Temporary workaround for paste bug [@flybayer]
  • Bump gaze to prevent uncaught JavaScript exceptions during runtime [@rauchg]

Performance improvements

  • Only attempt to fetch remote notifications in the main process, instead of each window [@ekmartin]

UI improvements

  • Set default cursor opacity to 0.8 [@chabou]
  • Set default background to white for webviews [@colepeters]

DX improvements

We received commits from 12 authors for this release. It's only been 9 days since 0.8.1! Thank you!



@rauchg rauchg released this Oct 6, 2016 · 163 commits to master since this release

New name

Per our announcement, we've renamed:

  • .hyperterm.js => .hyper.js
  • .hyperterm_modules => .hyper_modules

When you first launch the app, we migrate you config automatically. Plugins will re-install automatically under the new location, and you can delete .hyperterm_modules manually later. You might see some plugin error notifications while that happens.


This version adds horizontal and vertical splits (⌘+D and ⌘+Shift+D)

For plugin developers, we've added new actions and reducers to be able to control these. See term-groups.

Transparency support

I've refactored the tab bar (which might break some themes in the short run) so that it's 100% compatible with transparency support

screen shot 2016-10-06 at 8 55 02 am

Some bugs exist in regards to the implementation of transparency in both Electron and Chrome, but this new release prepares us for the future. Almost every color configurable in .hyper.js

Window position and size memorization

Unless you configure a specific size and position in your config, we know remember the last used one across re-launches and new windows

Window cascading

New windows open automatically at an offset to avoid overlapping


DX improvements

We've improved a lot of the workflows related to running tests, linting, starting development (it now just takes a npm start to run webpack and launch electron).

We've started using xo by @sindresorhus for consistent styling across the entire codebase