jquery.terminal
Version:
jQuery Terminal Emulator is a plugin for creating command line interpreters in your applications.
941 lines (833 loc) • 101 kB
Markdown
## 2.45.1/2.45.2
### Bugfix
* fix a broken prompt in Brave [#1018](https://github.com/jcubic/jquery.terminal/issues/1018)
## 2.45.0
### Features
* add `id` option that allow to create same terminal using hot reload [#978](https://github.com/jcubic/jquery.terminal/issues/978)
* allow using Object URLs in links [#982](https://github.com/jcubic/jquery.terminal/issues/982)
* experimental `--cols` CSS variable [#956](https://github.com/jcubic/jquery.terminal/issues/956)
* add `terminal::lines()` [#966](https://github.com/jcubic/jquery.terminal/issues/966)
* add small ASCII Art to signature [#972](https://github.com/jcubic/jquery.terminal/issues/972)
* add `termina::output_ready()` [#987](https://github.com/jcubic/jquery.terminal/issues/987) [#1000](https://github.com/jcubic/jquery.terminal/issues/1000)
* add `figlet.js` helper extension
* update terminal::geometry [#995](https://github.com/jcubic/jquery.terminal/issues/995)
### Bugfix
* fix `terminal::login()` when user already authenticated [#980](https://github.com/jcubic/jquery.terminal/issues/980)
* improve mobile support
* ignore empty command in Pipe extension [#984](https://github.com/jcubic/jquery.terminal/issues/984)
* fix processing Hex HTML entities [#992](https://github.com/jcubic/jquery.terminal/issues/992)
* fix returning Terminal instance from interpreter [#994](https://github.com/jcubic/jquery.terminal/issues/994)
* fix removing blank lines when using `import_view()` [#1007](https://github.com/jcubic/jquery.terminal/issues/1007)
* fix fallback interpreter return value [#1008](https://github.com/jcubic/jquery.terminal/issues/1008)
* fix for external terminal style [#1009](https://github.com/jcubic/jquery.terminal/issues/1009)
* fix redraw when echo async function which throws [#998](https://github.com/jcubic/jquery.terminal/issues/998)
* fix browser shorcuts when terminal is paused [#1005](https://github.com/jcubic/jquery.terminal/issues/1005)
* display exception from sync echo function [#997](https://github.com/jcubic/jquery.terminal/issues/997)
* fix text on hover links when background is transparent [#990](https://github.com/jcubic/jquery.terminal/issues/990)
* hide clipboard textarea from selection [#1015](https://github.com/jcubic/jquery.terminal/issues/1015)
## 2.44.1
### Bugfix
* fix errors with form autofill outside of the terminal [#977](https://github.com/jcubic/jquery.terminal/issues/977)
## 2.44.0
### Features
* new API `terminal::animation()` and `terminal::delay()` [#683](https://github.com/jcubic/jquery.terminal/issues/683)
* add images in less now have `terminal-less` class
* add `execHistory` main option and `history` option to `terminal::exec()` [#745](https://github.com/jcubic/jquery.terminal/issues/745)
* add helper `$.terminal.remove_formatter`
* escape xml in `$.terminal.escape_formatting` when xml formatter is used [#973](https://github.com/jcubic/jquery.terminal/issues/973)
### Bugfix
* fix number of rows when using different `--size` [#969](https://github.com/jcubic/jquery.terminal/issues/969)
* fix hidden cursor when using command that change `--size` [#968](https://github.com/jcubic/jquery.terminal/issues/968)
* fix command prop in `export_view()` when in command [#967](https://github.com/jcubic/jquery.terminal/issues/967)
* fix processing images in less [#970](https://github.com/jcubic/jquery.terminal/issues/970)
* fix passing alt and class for image in less
* fix width of images in less when image is bigger than the terminal
* fix line-height of the lines to render less image slices properly
* fix flashing of old prompt after prompt animation [#976](https://github.com/jcubic/jquery.terminal/issues/976)
## 2.43.2
### Bugfix
* fix scroll to bottom when using `terminal::import_view`
## 2.43.1
### Bugfix
* fix height when not using `--rows` [#962](https://github.com/jcubic/jquery.terminal/issues/962)
## 2.43.0
### Breaking
* echo of undefined or Promise that resolve to undefined no longer display string undefined
### Features
* add support for `--rows` CSS custom property [#956](https://github.com/jcubic/jquery.terminal/issues/956)
* add aborting signals [#940](https://github.com/jcubic/jquery.terminal/issues/940)
### Bugfix
* fix CMD update performance issue [#961](https://github.com/jcubic/jquery.terminal/issues/961)
* don't reflow the reflow the cursor on update [#932](https://github.com/jcubic/jquery.terminal/issues/932)
* fix unexpected uncaught exceptions in promises
* fix skip/skip_stop return value and add types
* fix recursive call to echo in renderHandler [#733](https://github.com/jcubic/jquery.terminal/issues/733)
## 2.42.2
### Bugfix
* actual fix for blank lines typing animation [#946](https://github.com/jcubic/jquery.terminal/issues/946)
## 2.42.1
### Bugfix
* fix line wrapping when calling multiple echo `newline:false` [#952](https://github.com/jcubic/jquery.terminal/issues/952)
* fix cursor position when echo `newline:false` fill the line
* fix running typing animation on empty terminal [#950](https://github.com/jcubic/jquery.terminal/issues/950)
* get rid of canvas warning from images in less [#955](https://github.com/jcubic/jquery.terminal/issues/955)
* fix update with newline after echo without it [#954](https://github.com/jcubic/jquery.terminal/issues/954)
## 2.42.0
### Features
* add reverse style to formatting and XML [#943](https://github.com/jcubic/jquery.terminal/issues/943)
* add XML formatting targets [#944](https://github.com/jcubic/jquery.terminal/issues/944)
### Bugfix
* fix typing animation on emtpy lines [#946](https://github.com/jcubic/jquery.terminal/issues/946)
* fix skip typing animation [#945](https://github.com/jcubic/jquery.terminal/issues/945)
* fix use of `$.terminal.apply_formatters` with prism
## 2.41.2
### Bugfix
* fix commands in pipe operator with non string arguments
* fix text selection of raw HTML [#939](https://github.com/jcubic/jquery.terminal/issues/939)
* fix resume of exec on auth with sync token
## 2.41.1
### Bugfix
* fix paused terminal when echo broken image
* fix returning String instance from interpreter
## 2.41.0
### Features
* allow to use class and other attributes in style XML tags (like `<bold/>` or `<glow/>`)
* allow usage of String instance in greetings [#936](https://github.com/jcubic/jquery.terminal/issues/936)
### Bugfix
* fix alt image attribute
* fix visible formatting in prompt after animated exec [#938](https://github.com/jcubic/jquery.terminal/issues/938)
* fix visible formatting in prompt during typing animation
* cleanup duplicated attributes from XML formatter output
* fix zoom on mobile (PR by [Riccardo Mura](https://github.com/cowuake)) [#935](https://github.com/jcubic/jquery.terminal/pull/935)
## 2.40.6
### Bugfix
* fix resize of text from long animation after finish
## 2.40.5
### Bugfix
* fix visible prompt during multiline typing animation [#934](https://github.com/jcubic/jquery.terminal/issues/934)
## 2.40.4
### Bugfix
* fix flash of old dynamic prompt on enter [#926](https://github.com/jcubic/jquery.terminal/issues/926)
## 2.40.3
### Bugfix
* fix `new_formatter` to allow usage of XML tags in formatter
## 2.40.2
### Bugfix
* fix usage with libraries that invoke fake click events [#931](https://github.com/jcubic/jquery.terminal/issues/931)
## 2.40.1
### Bugfix
* fix visible formatting in prompt when return string from command [#922](https://github.com/jcubic/jquery.terminal/issues/922)
## 2.40.0
### Features
* don't force any attributes when using xml (`span`, `img`, and `a` tags) [#913](https://github.com/jcubic/jquery.terminal/issues/913)
* alow using attributes in color xml tags [#924](https://github.com/jcubic/jquery.terminal/issues/924)
### Bugfix
* fix init and resize of long prompt [#919](https://github.com/jcubic/jquery.terminal/issues/919)
* fix occasional selecting Accessibility label (about clipboard textarea) in CMD
* fix sync commands and dynamic prompt [#923](https://github.com/jcubic/jquery.terminal/issues/923)
* fix calling `onCommandChange` when command don't change
* fix sequence of animations in echo without newline [#930](https://github.com/jcubic/jquery.terminal/issues/930)
* fix ignoring colors and style when using JSON attributes in formatting
## 2.39.3
### Bugfix
* fix broken full screen terminal height on Desktop
## 2.39.2
### Bugfix
* fix when CSS is loaded after creation of the terminal (mostly for ReactJS)
## 2.39.1
### Bugfix
* fix visible CMD textarea when page use box-shadow
## 2.39.0
### Features
* Add support for jQuery 4.0
## 2.38.0
### Breaking
* `onInit` runs before login
### Features
* add support for BigInt numbers when parsing commands
* add `--line-thickness` CSS variable to cursor animation
* improve performance with long typing animations [#820](https://github.com/jcubic/jquery.terminal/issues/820)
### Bugfix
* fix `\t` characters in ascii_table [#902](https://github.com/jcubic/jquery.terminal/issues/902)
* fix race condition in refresh and flush [#897](https://github.com/jcubic/jquery.terminal/issues/897)
* always execute function prompt after login [#898](https://github.com/jcubic/jquery.terminal/issues/898)
* fix background color in prompt [#906](https://github.com/jcubic/jquery.terminal/issues/906)
* update prism code to match function Prism.highlight [#905](https://github.com/jcubic/jquery.terminal/issues/905)
* fix keepWords during typing animation [#867](https://github.com/jcubic/jquery.terminal/issues/867)
* fix leading spaces during animation [#825](https://github.com/jcubic/jquery.terminal/issues/825)
* fix edge case of of multiple echo with `newline: false` [#878](https://github.com/jcubic/jquery.terminal/issues/878)
## 2.37.2
### Bugfix
* fix for TypeScript from [Antoine](https://github.com/antoineol) ([#896](https://github.com/jcubic/jquery.terminal/pull/896)) and [KiddoV](https://github.com/KiddoV) ([#901](https://github.com/jcubic/jquery.terminal/pull/901))
## 2.37.1
### Bugfix
* fix wrong calculation of characters with custom font [#892](https://github.com/jcubic/jquery.terminal/issues/892)
## 2.37.0
### Features
* add `rpc` interceptor [#883](https://github.com/jcubic/jquery.terminal/issues/883)
* wait for the custom fonts to load [#892](https://github.com/jcubic/jquery.terminal/issues/892)
### Bugfix
* fix CMD wrapping when prompt is empty [#882](https://github.com/jcubic/jquery.terminal/issues/882)
* fix paused terminal when using array as interpreter and RPC without system describe
* fix edge case of disappearing content after refresh [#871](https://github.com/jcubic/jquery.terminal/issues/871)
* fix rendering empty lines prompt and during typing animation [#890](https://github.com/jcubic/jquery.terminal/issues/890)
* fix rendering links in prompt and during typing animation [#891](https://github.com/jcubic/jquery.terminal/issues/891)
## 2.36.0
### Features
* split_equal accept optional object as 3rd argument with two options `trim` and `keepWords`
* add `--padding` CSS Variable [#874](https://github.com/jcubic/jquery.terminal/issues/874)
* add CSS transition to links [#870](https://github.com/jcubic/jquery.terminal/issues/870)
### Bugfix
* fix leading spaces in text wrapping
* fix glitch in typing animation when text have hyphen
* fix regression in cursor animation color [#869](https://github.com/jcubic/jquery.terminal/issues/869)
* fix `term::geometry()` [#873](https://github.com/jcubic/jquery.terminal/issues/873)
* fix types for `term::push()` [#877](https://github.com/jcubic/jquery.terminal/issues/877)
## 2.35.3
### Bugfix
* fix object returned from the interpreter [#857](https://github.com/jcubic/jquery.terminal/issues/857)
* fix greetings that use a callback [#855](https://github.com/jcubic/jquery.terminal/issues/855)
* fix behavior of `onBeforeLogin` [#856](https://github.com/jcubic/jquery.terminal/issues/856)
## 2.35.2
### Bugfix
* fix mobile Chrome and Firefox [#846](https://github.com/jcubic/jquery.terminal/issues/846)
## 2.35.1
* Unpublished because of technical issues
## 2.35.0
### Breaking
* replace `imagePause` with `externalPause`
### Features
* add bulletproof solution for generic selector (`*` or `div`) to overwrite terminal style
* use jsDelivr for emoji that is way faster [#810](https://github.com/jcubic/jquery.terminal/issues/810)
* pause terminal when loading iframes [#816](https://github.com/jcubic/jquery.terminal/issues/816)
* allow to change or remove target and rel tags on links with JSON attributes
* allow using transparent background [#698](https://github.com/jcubic/jquery.terminal/issues/698)
* register CSS properties so you can use CSS Transition on terminal colors [#808](https://github.com/jcubic/jquery.terminal/issues/808)
* add terminal::blur alias [#813](https://github.com/jcubic/jquery.terminal/issues/813)
* allow to change scrollbar color with CSS property
* add `process_formatting` static helper function
* add `FormattingCanvasRenderer` for color animation [#819](https://github.com/jcubic/jquery.terminal/issues/819)
### Bugfix
* fix up/down arrows when moving inside command that has emoji [#608](https://github.com/jcubic/jquery.terminal/issues/608)
* fix pausing when loading images [#807](https://github.com/jcubic/jquery.terminal/issues/807)
* fix scroll to bottom on echo images and iframes
* fix jump to the end of the command when clicking below cmd [#814](https://github.com/jcubic/jquery.terminal/issues/814)
* fix selection overlap previous line
* fix scroll to bottom while animating [#791](https://github.com/jcubic/jquery.terminal/issues/791)
* fix rendering of sixel images [#824](https://github.com/jcubic/jquery.terminal/issues/824)
* fix handling promises in randerHandler
* fix scroll to bottom during animation [#791](https://github.com/jcubic/jquery.terminal/issues/791)
* fix `terminal::is_bottom` when using intersection observer
* fix processing \r in Linux output of unix_formatting
## 2.34.0
### Features
* add `term::get_mask` method [#785](https://github.com/jcubic/jquery.terminal/issues/785)
* add `onReady` event to `term::read` [#779](https://github.com/jcubic/jquery.terminal/issues/779)
* improve performance of typing animation
* add `prefers-reduced-motion` into main CSS
* pause terminal when images are loading [#802](https://github.com/jcubic/jquery.terminal/issues/802)
* allow disable scroll to bottom on resume [#800](https://github.com/jcubic/jquery.terminal/issues/800)
### Bugfix
* fix line wrapping of cmd when using echo: newline [#773](https://github.com/jcubic/jquery.terminal/issues/773)
* fix text selection on echo without newline text
* fix rejected promises from echo [#790](https://github.com/jcubic/jquery.terminal/issues/790)
* improve TypeScript types for typing animation [#794](https://github.com/jcubic/jquery.terminal/issues/794)
* add missing mousewheel typing animation [#795](https://github.com/jcubic/jquery.terminal/issues/795)
* fix iterate formatting over closing bracket [#792](https://github.com/jcubic/jquery.terminal/issues/792)
* fix resolving promise from echo typing animation when previous command was async [#797](https://github.com/jcubic/jquery.terminal/issues/797)
* fix double exception in terminal::destroy
* fix double call to finalize function when echo DOM nodes
* fix `$.terminal.substring` [#792](https://github.com/jcubic/jquery.terminal/issues/792)
## 2.33.3
### Bugfix
* fix newline in minified js file [#780](https://github.com/jcubic/jquery.terminal/issues/780)
## 2.33.2
### Bugfix
* fix scroll to bottom [#777](https://github.com/jcubic/jquery.terminal/issues/777)
## 2.33.1
### Bugfix
* fix padding removed by minifier
## 2.33.0
### Features
* add a color and background attributes to the font tag in the xml formatter
* add `terminal-none` animation
* allow to easily change border-radius on terminal [#766](https://github.com/jcubic/jquery.terminal/issues/766)
* add clear_cache to cmd
### Bugfix
* fix flicker of dynamic prompt on enter [#757](https://github.com/jcubic/jquery.terminal/issues/757)
* fix re-rendering of jQuery/DOM nodes [#759](https://github.com/jcubic/jquery.terminal/issues/759)
* fix regression in less + images
* fix embedding the Terminal inside SVG [#744](https://github.com/jcubic/jquery.terminal/issues/744)
* fix when the login function is not async
* fix calling login_name in dynamic prompt
* fix masking command on typing animation [#770](https://github.com/jcubic/jquery.terminal/issues/770)
* fix selection/click on text that was echo without newline (when prompt is still in same line)
* fix exception when outputLimit is used [#776](https://github.com/jcubic/jquery.terminal/issues/776)
* fix showing links for emails like prompt [#768](https://github.com/jcubic/jquery.terminal/issues/768)
* fix line wrapping when text between formatting have brackets [#772](https://github.com/jcubic/jquery.terminal/issues/772)
## 2.32.1
### Bugfix
* leading spaces with echo + keepWords [#754](https://github.com/jcubic/jquery.terminal/issues/754)
* fix loading hidden terminal
## 2.32.0
### Features
* add insert typing animation
* add `--text-shadow` css variable
* new API method `parse_formatting`
* allow to use terminal style of external element [#731](https://github.com/jcubic/jquery.terminal/issues/731)
### Bugfix
* fix calculating number of rows (affecting less command)
* fix glow with prism and error messages [#729](https://github.com/jcubic/jquery.terminal/issues/729)
* fix prism and typing animation [#726](https://github.com/jcubic/jquery.terminal/issues/726)
* fix various TypeScript typing errors
* fix spacing between lines
* fix wrong mouse cursor on terminal cursor and character before
* fix catastrophic reflow when executing hundreds of echos in a loop
* fix empty lines in prompt (visible when using typing animation) [#734](https://github.com/jcubic/jquery.terminal/issues/734)
* fix trimming whitespace with echo keep_words [#738](https://github.com/jcubic/jquery.terminal/issues/738)
* fix JSON working on processing nested formatting with html entities [#735](https://github.com/jcubic/jquery.terminal/issues/735)
* fix echo array of numbers [#747](https://github.com/jcubic/jquery.terminal/issues/747)
* improve performance when terminal don't have height
* fix partial text (echo without newline) rendering [#751](https://github.com/jcubic/jquery.terminal/issues/751)
## 2.31.1
### Bugfix
* fixing low severity self XSS with potential more security implications [#727](https://github.com/jcubic/jquery.terminal/issues/727)
## 2.31.0
### Breaking
* remove undocumented `echo_command` (that was used by old `echo_newline` extension)
### Features
* scroll to bottom for each line in multiline typing animation
* allow to use `--glow: 1` with default animation
* new API `terminal::enter` same as echo_command but supports animation
* add global option `execAnimationDelay` default - 100
* make execAnimation work only with execHash [#723](https://github.com/jcubic/jquery.terminal/issues/723)
### Bugfix
* fix prompt that return string or promise (in animation and set_prompt) [#724](https://github.com/jcubic/jquery.terminal/issues/724)
* fix formatting in typing animation [#721](https://github.com/jcubic/jquery.terminal/issues/721)
* fix formatting colors and `--glow` [#725](https://github.com/jcubic/jquery.terminal/issues/725)
* fix record stop command being recorded [#719](https://github.com/jcubic/jquery.terminal/issues/719)
## 2.30.2
### Bugfix
* fix animated exec array with sync commands [#722](https://github.com/jcubic/jquery.terminal/issues/722)
## 2.30.1
### Bugfix
* fix record built-in commands in URL hash
## 2.30.0
### Features
* add `span` to xml formatting
* allow to use class attribute in XML formatting (`span`, `link`, and `img`)
* new API methods `clear_buffer()` and `get_output_buffer()` [#717](https://github.com/jcubic/jquery.terminal/issues/717)
### Bugfix
* fix bug on Android with GBoard keyboard [#693](https://github.com/jcubic/jquery.terminal/issues/693)
* fix refresh when scrollbar appear (using `scrollbar-gutter`)
* fix link color to pass WCAG contrast ratio
* remove tabindex attribute on links
* add label to clipboard textarea for a11y
* allow to escape angle brackets in XML formatting [#710](https://github.com/jcubic/jquery.terminal/issues/710)
* fix black line before the image [#708](https://github.com/jcubic/jquery.terminal/issues/708)
* fix scroll to bottom when echo an image [#716](https://github.com/jcubic/jquery.terminal/issues/716)
* fix multiple echo with `!flush && !newline` [#709](https://github.com/jcubic/jquery.terminal/issues/709)
* fix updating hash for long async commands [#703](https://github.com/jcubic/jquery.terminal/issues/703)
## 2.29.5
### Bugfix
* fix empty prompt when no wcwidth is included
## 2.29.4
### Bugfix
* fix empty lines when print single multi-line string
## 2.29.3
### Bugfix
* fix echo raw interfering with echo without newline [#695](https://github.com/jcubic/jquery.terminal/issues/695)
* update hash with proper array if hash is escaped
* invalidate cache and update CMD on `term::refresh()` [#699](https://github.com/jcubic/jquery.terminal/issues/699)
* allow to add horizontal scrollbar with single wrap options [#692](https://github.com/jcubic/jquery.terminal/issues/692)
* handle promise rejection in onInit [#691](https://github.com/jcubic/jquery.terminal/issues/691)
## 2.29.2
### Bugfix
* fix linkify of urls (better url detection)
* fix linkify urls in command line (enable link in cmd)
* fix two bugs with echo without newline (when prompt have 0 width and lines have different length)
* fix applying glow shadow to transparent text
* fix async responsive greetings
* fix multiple echo of async functions and promises mixed with strings
* fix `get_output()` on lines that are promises [#687](https://github.com/jcubic/jquery.terminal/issues/687)
* fix echo newline when one of the values is promise or function
* fix invalid css when partial output is no longer partial
* add padding to terminal size i `term::geometry()` [#686](https://github.com/jcubic/jquery.terminal/issues/686)
* clear extended commands from view when calling `import_view` [#690](https://github.com/jcubic/jquery.terminal/issues/7690)
## 2.29.1
### Bugfix
* remove `all: unset` CSS that was breaking resizing events and visibility of textarea
## 2.29.0
### Breaking
* remove undocumented `<large>`/`<big>`/`<wide>` and add `<font>` tag to XML formatter
### Feature
* add animation to `exec` and `execAnimation` option [#679](https://github.com/jcubic/jquery.terminal/issues/679)
* add warning when calling invoke_key on disabled terminal [#678](https://github.com/jcubic/jquery.terminal/issues/678)
* if interpreter returns a promise and it's animating the terminal will not pause (for exec array)
* allow to use brackets inside extended commands (e.g. JavaScript code to hide commands)
* expose `$.terminal.xml_formatter.tags`
* add `--glow` [conditional hack](https://www.kizu.ru/conditions-for-css-variables/)
### Bugfix
* tweak types for cmd function prompt
* fix broken order of execution in `exec` when using pause/resume
* fix mixing extended commands and terminal formatting
* fix invoking `get_command()` in interpreter (clear command after user action)
* fix parse_command when command have leading spaces [#681](https://github.com/jcubic/jquery.terminal/issues/681)
## 2.28.1
### Bugfix
* fix applying style of text-decoration (e.g. underline)
* fix using custom font in Canvas animations
## 2.28.0
### Breaking
* `nested_formatting` inherit styles by default
### Feature
* add forms extension [#610](https://github.com/jcubic/jquery.terminal/issues/610)
* rewrite xml_formatter and add new tags
* add animation interface [#611](https://github.com/jcubic/jquery.terminal/issues/611)
* use dash `-` as input file to read from STDIN in `from-ansi` executable
* improve auth error message
* add "enter" typing animation with prefix prompt
* allow to render ansi in less correctly (using `ansi` option)
### Bugfix
* fix rest of the extension files in NodeJS (regression since 2.22.0)
* fix inheritance of attributes (including styles) and classes in nested formatting
* fix echo and prompt with animation (using typing options)
* fix empty prompt
* disable keyboard on typing animation
* fix resizing when using default cache [#677](https://github.com/jcubic/jquery.terminal/issues/677)
## 2.27.1
### Bugfix
* fix `from_ansi` and add option `--ansi -a`
## 2.27.0
### Feature
* add CSS and option `ansi` to echo to properly render ANSI art
* add typing animation to set_prompt [#673](https://github.com/jcubic/jquery.terminal/issues/673)
* return promise from `set_prompt` and `echo` when using typing animation
* add `from_ansi` executable [#670](https://github.com/jcubic/jquery.terminal/issues/670)
* new emoji
### Bugfix
* fix bug in cache (when echo same string two times in a row) [#672](https://github.com/jcubic/jquery.terminal/issues/672)
* fix exception when calling term::echo with typing animation
* fix regression in width ([chess demo](https://codepen.io/jcubic/pen/NWxOZQE))
* fix usage in NodeJS (regression since 2.22.0)
## 2.26.0
### Feature
* Better API for prompt typing animation with term::read and term::echo
### Bugfix
* fix return value from JSON-RPC (ignore only null)
* fix missing TypeScript definitions for `typing` API method
* fix multi-line prompt regression
* remove extra space after prompt animation
* fix echo string with newline at the end and with newline == false and refresh
* fix `$.rpc` helper on Ajax error
* add default `useCache` option & TypeScript definition
* fix regression in text selection over prompt with fontawesome (Chrome bug [#1087787](https://bugs.chromium.org/p/chromium/issues/detail?id=1087787#c20))
* fix cutting off underscore in certain sizes of the terminal
## 2.25.1
### Bugfix
* fix wrong auth tokens when using exec to login
* fix exec array for async login
* fix Auth to nested RPC interpreter without system.describe
* don't echo falsy values from RPC
## 2.25.0
### Features
* add new API `$.rpc` for JSON-RPC requests
### Bugfix
* properly handle promise rejection in login
* fix re executing extended commands on resize [#666](https://github.com/jcubic/jquery.terminal/issues/666)
* fix rendering jQuery object with Canvas [#664](https://github.com/jcubic/jquery.terminal/issues/664)
* fix right mouse click on link to not scroll to cursor [#644](https://github.com/jcubic/jquery.terminal/issues/644)
## 2.24.0
### Features
* add `terminal::typing` API method
* add `--font` custom property [#662](https://github.com/jcubic/jquery.terminal/issues/662)
* add alt tag to images from formatting [#661](https://github.com/jcubic/jquery.terminal/issues/661)
* improve command parser [#657](https://github.com/jcubic/jquery.terminal/issues/657)
### Bugfix
* fix TypeScript types for echo with promises [#658](https://github.com/jcubic/jquery.terminal/issues/658)
## 2.23.2
### Bugfix
* fix regression in scroll to view mechanism (that cause scroll up randomly)
## 2.23.1
### Bugfix
* fix reversed class in cmd (e.g. in less command)
* fix hack to reflow the cursor in Firefox from [#654](https://github.com/jcubic/jquery.terminal/issues/654)
## 2.23.0
### Features
* include echo without newline into the core of the library
### Bugfix
* remove unsafe eval (function constructor) that breaks CSP [#647](https://github.com/jcubic/jquery.terminal/issues/647)
* fix up/down arrow when prompt is empty string [651](https://github.com/jcubic/jquery.terminal/issues/651)
* fix prompt containing brackets [#648](https://github.com/jcubic/jquery.terminal/issues/648)
* fix ANSI Art (add saving and restoring cursor using ANSI escape code)
* fix mouse wheel and touch scroll in less when content is smaller than height of the terminal
* fix regression in copy/paste with right click
## 2.22.0
### Features
* make unix formatting and basic tools work in web worker
### Bugfix
* fix scrolling whole page when using mouse wheel in less
* fix some missing cp_437 characters for ANSI Art
* fix usage as bookmarklet on StackOverflow (force css of textarea)
## 2.21.0
### Features
* add `wrap` and `keepWords` option to less [#641](https://github.com/jcubic/jquery.terminal/issues/641)
* add new method `term::geometry` to the API [#637](https://github.com/jcubic/jquery.terminal/issues/637)
### Bugfix
* fix parsing JSON code inside strings [#642](https://github.com/jcubic/jquery.terminal/issues/642)
## 2.20.2
### Bugfix
* fix bold background and default color in Unix formatting (another ANSI artwork issue)
* fix rendering 0x1E in ANSI art
* fix when browser don't have ES6 Map object [#630](https://github.com/jcubic/jquery.terminal/issues/630)
* fix echo_newline extension
* fix handling of blink in ANSI Art
* fix error in prism when calling without options and render flags (e.g.: echo or prompt)
* fix background color for links that have set background using formatting
* fix empty cursor on Windows when copy/paste [#634](https://github.com/jcubic/jquery.terminal/issues/634)
## 2.20.1
### Bugfix
* fix async synchronization of async functions and normal echo
* fix exception when executing empty command with pipe
* fix serialization of commands when using pipe operator and function interpreter
* fix exception in `terminal::destroy`
## 2.20.0
### Breaking
* `set_interpreter` return a promise instead of terminal instance
### Features
* add support for echo async functions [#629](https://github.com/jcubic/jquery.terminal/issues/629)
* allow to run exec using onInit that will use pipe [#603](https://github.com/jcubic/jquery.terminal/issues/603)
### Bugfix
* fix silent error when executing empty command from hash
* with issues with browser that don't support css variables [#630](https://github.com/jcubic/jquery.terminal/issues/630)
* fix exception in IE from formatters [#631](https://github.com/jcubic/jquery.terminal/issues/631)
## 2.19.1/2.19.2
### Bugfix
* fix prism highlighting
## 2.19.0
### Features
* add support blink ANSI escape (unix_formatting)
* new unix formatting API options, `ansiArt` option change behavior of blinking
### Bugfix
* fix prism when page have color set on span
* fix visible textarea when global css set background image
* fix exception `delete_word_forward` (ALT+D) `delete_word_backward` (CTRL+W)
* fix page scrolling on enter when terminal don't have scrollbar
* fix ANSI Art [#622](https://github.com/jcubic/jquery.terminal/issues/622) (unix formatting)
* fix empty echo in CTRL+D [#626](https://github.com/jcubic/jquery.terminal/issues/626)
## 2.18.3
### Bugfix
* fix jumping to cursor position on mobile (with code)
## 2.18.2
### Bugfix
* fix when page use line-height on body
## 2.18.1
### Bugfix
* fix glitches in history navigation (visible when using multiline commands in history)
## 2.18.0
### Features
* new API to use `renderHandler` with update
* new API (`apply_formatters` function option) to pick where processing of formatting should work [#588](https://github.com/jcubic/jquery.terminal/issues/588)
* allow to toggle formatters in prism (enabled by default only for echo and command)
* escape slash in `escape_formatting`/`escape_brackets` [#605](https://github.com/jcubic/jquery.terminal/issues/605)
* add support for rgb(a) and hsl(a) colors [#590](https://github.com/jcubic/jquery.terminal/issues/590)
* unify Firefox and Webkit (chrome) custom scrollbars [#607](https://github.com/jcubic/jquery.terminal/issues/607)
### Bugfix
* fix same cases of wrong calculated size of the character when --size is used [#602](https://github.com/jcubic/jquery.terminal/issues/602)
* add custom scrollbar on Firefox
* fix colors of Webkit scrollbar
* fix `renderHandler` in update
* fix formatting in update - reusing options from echo
* fix normal return string from prompt
* fix pipe symbol inside strings [#606](https://github.com/jcubic/jquery.terminal/issues/606)
* fix spaces in images in less & text selection
* fix regresion in fontawesome icons
* fix inconsistency with emoji and wide characters in terminal and cmd
* fix rounding issue that cause exception in less when rendering images
## 2.17.6
### Bugfix
* fix adding duplicated prism formatters [#573](https://github.com/jcubic/jquery.terminal/issues/573)
* fix inserting emoji using Windows 10 emoji picker
* fix position of textarea in multi line command (probably will affect IME or Emoji picker)
* make jump to bottom on click only when terminal is not enabled [#596](https://github.com/jcubic/jquery.terminal/issues/596)
* fix init cmd plugin without terminal
* fix underscore cut off in Firefox (visible in signature)
* fix combined emoji characters and skin tone variations [#598](https://github.com/jcubic/jquery.terminal/issues/598)
* fix down arrow at when cursor at the end of broken line [#601](https://github.com/jcubic/jquery.terminal/issues/601)
* fix broken keymap inheritance in nested interpreters [#615](https://github.com/jcubic/jquery.terminal/issues/615)
## 2.17.5
### Bugfix
* fix eating last bracket from split_equal [#597](https://github.com/jcubic/jquery.terminal/issues/597)
* fix false positive recursive echo error [#593](https://github.com/jcubic/jquery.terminal/issues/593)
## 2.17.4
### Bugfix
* fix jumping on right click near bottom and/or right edge when terminal is not full screen
* fix double event fire on right mouse click
* fix scrollbar size in Chrome
## 2.17.3
### Bugfix
* fix for font-family wildcard css rule
* fix cursor on scrollbar
* fix broken html with wide characters without formatting
* fix jumping to address bar on CTRL+L [#587](https://github.com/jcubic/jquery.terminal/issues/587)
* fix issue in less when only one image get rendered [#583](https://github.com/jcubic/jquery.terminal/issues/583)
* fix jumping on focus on mobile when terminal content scrolled down [#572](https://github.com/jcubic/jquery.terminal/issues/572)
* fix detecting iPad iOS 13as mobile [#589](https://github.com/jcubic/jquery.terminal/issues/589)
* fix return false from onPaste to disable insert from clipboard
* fix paste in command mode of less plugin [#581](https://github.com/jcubic/jquery.terminal/issues/581)
* fix jumping when click near bottom and/or right edge [#592](https://github.com/jcubic/jquery.terminal/issues/592)
## 2.17.2
### Bugfix
* fix cursor on strings in prism
## 2.17.1
### Bugfix
* fix regressions in text selection, cursor and CSS variables [#584](https://github.com/jcubic/jquery.terminal/issues/584)
* unify selection on font icons (fontawesome) and emoji
## 2.17.0
### Features
* new CTRL+ARROW DOWN/UP shortcuts and ignore the multi line commands (change history)
### Bugfix
* fix ch unit bug for Firefox and IE [#579](https://github.com/jcubic/jquery.terminal/issues/579)
* fix broken emoji [#578](https://github.com/jcubic/jquery.terminal/issues/578)
* fix broken cursor navigation in Firefox [#577](https://github.com/jcubic/jquery.terminal/issues/577)
* fix default cursor color animation on color cmd from formatting (e.g. prism)
* fix font-awesome selection (partial - works only in Firefox)
* fix consistency of data-text attribute and span
* fix issue with split_equal when it swallow the line if the line had bracket at the end
* allow to use .emoji CSS in .raw output
* fix up/down on multi line command navigation when command have brackets and/or wrappings
* fix empty lines after wrapping in CMD when splitted line length == cols
* fix navigating of formatting when stacked formatters are used and one change length [#580](https://github.com/jcubic/jquery.terminal/issues/580)
## 2.16.1
### Bugfix
* fix disappearing cursor when use up down arrow in multi line CMD [#576](https://github.com/jcubic/jquery.terminal/issues/576)
* fix broken color CSS variables [#575](https://github.com/jcubic/jquery.terminal/issues/575)
* fix swallowed escape bracket as input in CMD [#574](https://github.com/jcubic/jquery.terminal/issues/574)
## 2.16.0
### Features
* style of scrollbars in WebKit
* integration with fontawesome icons added using formatting
### Bugfix
* fix version of widget.js
## 2.15.4
### Bugfix
* fix jumping when you scrolled down the div terminal [#565](https://github.com/jcubic/jquery.terminal/issues/565)
## 2.15.3
### Bugfix
* fix broken formatting in prism.js when processing brackets
## 2.15.2
### Bugfix
* fix toggle keyboard on multiple terminals on same page
* fix jumping to prompt on press CTRL+C when terminal scrolled to top
* don't scroll to bottom when click on terminal that already in focus
## 2.15.1
### Bugfix
* fix combination of mobile: focus, selection and touchscroll
## 2.15.0
### Features
* add new API event touchscroll for mobile (use it in less) [#556](https://github.com/jcubic/jquery.terminal/issues/556)
* mobile paste [#458](https://github.com/jcubic/jquery.terminal/issues/458)
* cmd::clip API method used internally, mostly for mobile
### Bugfix
* fix vertical bar cursor animation on empty command line
* fix edge case while splitting the command line with formatting (better fix for [#379](https://github.com/jcubic/jquery.terminal/379))
* fix option parser when using minus or double minus as argument
* fix issue when wcwidth is added and there are no wide characters
* fix prism + wide characters (e.g. Chinese and Japanese inside strings)
## 2.14.1
### Bugfix
* fix empty rows size
## 2.14.0
### Features
* allow to return promise from renderHandler
* allow to extend the ansiParser in unix_formatting
* add a way to to handle Sixel terminal image format [#553](https://github.com/jcubic/jquery.terminal/issues/553)
* improve performance of cmd render when moving cursor
* implement H cursor movement [#553](https://github.com/jcubic/jquery.terminal/issues/553)
* unix formatting ANSI character replacements modes
### Bugfix
* fix click on last line in multiline cmd [#554](https://github.com/jcubic/jquery.terminal/issues/554)
* fix selecting textarea content when selecting cmd
* fix possible loops in renderHandler
* fix parsing image REGEXes in less
* fix cmd cursor up/down with wrapping [#557](https://github.com/jcubic/jquery.terminal/issues/557)
* fix issue with prism (html language) and less
* fix left/right pagination in less, when not all lines are longer then cols
* fix CTRL+ARROWRIGHT [#560](https://github.com/jcubic/jquery.terminal/issues/560)
* fix urls inside formatting
## 2.12.0
### Features
* improve performance
* add cache for formatting and processing lines
* big improvements to less plugin re-rendering (e.g. when scrolling text with keyboard)
* cursor movement in unix formatting (virtual cursor not supported in cmd, because it make no sense) [#553](https://github.com/jcubic/jquery.terminal/issues/553)
### Bugfix
* fix empty lines in less
* fix split_equal with keep works and formatting at the end.
* fix searching inside links in less
## 2.10.1 (released on npm as 2.11.1)
### Bugfix
* fix glow effect of prompt when it don't have formatting
* fix exec commands from echo
* fix echo formatting with newline and bracket at the end
* fix single wide character exception
* fix substring after string when string have bracket at the end [#550](https://github.com/jcubic/jquery.terminal/issues/550)
* fix images & style from formatters inside cmd [#519](https://github.com/jcubic/jquery.terminal/issues/519)
## 2.10.0
### Feature
* improve performance by adding function `$.terminal.partition`
* allow to use force resize `cmd::resize(true)` (to update init command line with emoji)
* add glow style [#549](https://github.com/jcubic/jquery.terminal/issues/549)
### Bugfix
* fix throw/reject in async function/promise [#546](https://github.com/jcubic/jquery.terminal/issues/546)
* allow to return string from greetings function
* fix low level iterate_formatting function to handle html entities properly
* fix spacing of wider characters (Chinese/Japanese) in echo (to match cmd)
* fix jumping on right click [#545](https://github.com/jcubic/jquery.terminal/issues/545)
* fix selection on double click on cmd
* fix parse_options [#547](https://github.com/jcubic/jquery.terminal/issues/547)
* fix style of links with wcwidth [#544](https://github.com/jcubic/jquery.terminal/issues/544)
* fix copy of empty lines in output [#548](https://github.com/jcubic/jquery.terminal/issues/548)
## 2.9.0
### Features
* allow to return a promise from greetings function [#531](https://github.com/jcubic/jquery.terminal/issues/531)
* call onClear before clear and allow to cancel [#527](https://github.com/jcubic/jquery.terminal/issues/527)
* new renderHandler option [#526](https://github.com/jcubic/jquery.terminal/issues/526)
* allow to echo DOM nodes and jQuery objects [#526](https://github.com/jcubic/jquery.terminal/issues/526)
* handle broken images in terminal and less (svg and error message respectively)
* terminal have `terminal-less` class when `less` runs
* pipe extension monkey patch terminal like echo newline, and it allow to use standard interpreter (old API work the same).
### Bugfix
* fix links from formatters in cmd
* fix images from formatters in cmd [#519](https://github.com/jcubic/jquery.terminal/issues/519)
* fix less [#522](https://github.com/jcubic/jquery.terminal/issues/522)
* fix recursive error when echo finalize throwed exception [#524](https://github.com/jcubic/jquery.terminal/issues/524)
* fix prism - xml nested formatting and weird wrapping [#523](https://github.com/jcubic/jquery.terminal/issues/523), [#410](https://github.com/jcubic/jquery.terminal/issues/410)
* limit number of characters in click on exception line [#525](https://github.com/jcubic/jquery.terminal/issues/525)
* fix less search clear on resize [#528](https://github.com/jcubic/jquery.terminal/issues/528)
* fix less search second instance (move one line to bottom)
* don't delay backspace by default on Desktop + fix delay key check [#532](https://github.com/jcubic/jquery.terminal/issues/532)
* fix pipe when argument is pipe in quote `echo "|"`
* fix display_position (click on cmd) when using prism + unix formatting [#533](https://github.com/jcubic/jquery.terminal/issues/533)
* allow path in URL for links and images
* fix multiple issues with less plugin
* few fixes to pipe
* fix echo array after refresh [#540](https://github.com/jcubic/jquery.terminal/issues/540)
* fix apply formatters in update [#543](https://github.com/jcubic/jquery.terminal/issues/543)
* fix pause on login when using callback [#538](https://github.com/jcubic/jquery.terminal/issues/538)
## 2.8.0
### Feature
* new events `onBeforeLogin`, `onAfterLogin`, `onBeforeEcho` and `onAfterEcho`
* inherit of style in nesting formatter (with flag `__inherit__ = true` on `nested_formatting`) [#513](https://github.com/jcubic/jquery.terminal/issues/513)
* image formatting (less with images [#515](https://github.com/jcubic/jquery.terminal/issues/515))
* new `echo_command` API method (for echo_newline default action)
* mobile delete disabled by default + option toggle [#506](https://github.com/jcubic/jquery.terminal/issues/506)
### Bugfix
* add missing `onAfterCommand` and `onBeforeCommand` to d.ts file
* fix Emoji [#514](https://github.com/jcubic/jquery.terminal/issues/514)
* fix nesting with prism formatter
## 2.7.1
### Bugfix
* fix invoking methods by typing it into terminal [#512](https://github.com/jcubic/jquery.terminal/issues/512)
* don't remove extended command when using echo with `exec: false`
## 2.7.0
### Breaking/Feature
* all classes are prefixed with `cmd` or `terminal` except `.token` (PrimsJS internals) and `.emoji` (this may be feature that fix some bugs, that also may break user code - but it's internal html structure and it's not documented as API) [#510](https://github.com/jcubic/jquery.terminal/issues/510)
### Bugfix
* fix issue with space in IE and Edge [#507](https://github.com/jcubic/jquery.terminal/issues/507)
* multiple bracket escaping issues [#505](https://github.com/jcubic/jquery.terminal/issues/505)
* fix paste of images [#505](https://github.com/jcubic/jquery.terminal/issues/503)
* fix xml formatter in Prism (regression) [#410](https://github.com/jcubic/jquery.terminal/issues/410)
## 2.6.3
### Bugfix
* fix mobile keypress invocation when no keypress (Android)
* fix sizing issue with underscores [#501](https://github.com/jcubic/jquery.terminal/issues/501)
## 2.6.2
### Bugfix
* fix CTRL+C when terminal is not in focus (it should bypass enabled flag only when select text is inside terminal) [#499](https://github.com/jcubic/jquery.terminal/issues/499)
* fix keepWord option in echo of last line [#497](https://github.com/jcubic/jquery.terminal/issues/497)
* fix broken formatting in Prism [#496](https://github.com/jcubic/jquery.terminal/issues/496)
## 2.6.1
### Bugfix
* fix sourcemaps
* fix prism + `--size`
* fix echo double slashes
* escape options to `$.terminal.format` (default to `true` - same behavior) to fix previous error
## 2.6.0
### Features
* new option `mobileIngoreAutoSpace` to fix issue on Android when typing keys: `, ) .` (default empty array)
### Bugfix
* fix hold+backspace on command line with whitespace
* fix context menu on Firefox [#494](https://github.com/jcubic/jquery.terminal/issues/494)
## 2.5.2
### Bugfix
* fix CTR+C when inside of single echo output is selected
* fix paste + key on Mac/Chrome [#493](https://github.com/jcubic/jquery.terminal/issues/493)
## 2.5.1
### Bugfix
* fix 1px black space in style of selection after prism token
* additional validate instead of just throw and capture JSON errors in format function (devtools improvement)
* fix typescript types for version 3.3.29 and freeze the version
## 2.5.0
### Features
* Better API option `doubleTabEchoCommand` so you don't need to call `echo_command()` function in `doubleTab`.
* new API `Cmd::column(boolean): number`
* moving cursor up down in multiline command (like in Chrome Dev tools)
### Bugfix
* fix wrong array detection in completion when array passed across iframes
* fix prism.js and emoji.js dependencies when run with webpack
* fix `keepWord` option for echo (`iterate_formatting` function that is called by `split_equal`) [#491](https://github.com/jcubic/jquery.terminal/issues/491)
* fix press key after hold different key [#488](https://github.com/jcubic/jquery.terminal/issues/488)
* fix echo empty line on longer lines (issue only happen in examples page in scheme inside dialog)
* fix for jQuery UI dialog visibility change detection
* fix hidden cursor in FireFox
## 2.4.1
### Bugfix
* show terminal content after it's resized when initially not visible (fix jumping of text)
* fix pipe when using read + echo in first command and read in next
* fix issue with jumping of terminal on keypress [#486](https://github.com/jcubic/jquery.terminal/issues/486)
* fix hold key when key change fast (manifested by jumping to address bar on ALT+D) [#485](https://github.com/jcubic/jquery.terminal/issues/485)
* fix scroll page when terminal don't have scrollbar [#484](https://github.com/jcubic/jquery.terminal/issues/484)
* fix issue with call `.complete(['cd']);` because of default "clear" (moved code outside of `complete`)
* fix Prism formatter when highlighted code have brackets
* fix few async prompt issues including [#474](https://github.com/jcubic/jquery.terminal/issues/474)
## 2.4.0
### Features
* improvements to performance of rendering and navigating longer command lines
* CTRL+C now retain newlines inside cmd and terminal output (modern browsers only)
* more control over server side calls by using invokeMethods option in echo
* warn users when they try to complete commands with newlines and word complete is set
### Bugfix
* fix scrollbar flicker on right click on right/bottom edge of terminal when no scrollbar
* fix text selections on multi line text without line breaks
* fix small bugs in animations (replace all of them with box-shadow)
* debounce HOLD+ARROWS (left/right) so they are usable again
* fix exception when completion characters not safe for regular exception
## 2.3.0
### Features
* add experimental `$.terminal.pipe` function
* allow to return string from onPaste (not only a promise)
* add CTRL+Home and CTRL+End keys + HOME and END move cursor to the end and beginning of the line [#479](https://github.com/jcubic/jquery.terminal/issues/479)
* zoom page when using mousewheel + CTRL key (browser default) [#468](https://github.com/jcubic/jquery.terminal/issues/468)
* allow to set attributes from formatting with filtering options (to prevent unwanted onclick or other attrs by echo untrusted text) [#472](https://github.com/jcubic/jquery.terminal/issues/472)
### Bugfix
* fix selecting whole text of single .cmd line
* fix double call of async prompt with async interpreter [#474](https://github.com/jcubic/jquery.terminal/issues/474)
* fix async + RPC + exec + no system.describe [#475](https://github.com/jcubic/jquery.terminal/issues/475)
* fix describe === false (exception in js and typscript definition)
* don't pause terminal when user code return result of calling terminal::read()
* fix jumping while using up/down arrows [#477](https://github.com/jcubic/jquery.terminal/issues/477) [#478](https://github.com/jcubic/jquery.terminal/issues/478)
* fix issue with echo brackets inside formatting when using unix formatting [#470](https://github.com/jcubic/jquery.terminal/issues/470)
* fix wrong `"e;` entity in formatting tag data-text attribute (it should be `"`)
## 2.2.0
### Features
* Handle unclosed entities [#462](https://github.com/jcubic/jquery.terminal/issues/462)
### Bugfix
* don't complete default commands as argument [#465](https://github.com/jcubic/jquery.terminal/issues/465)
* don't show links in echo command + format links inside formatting [#464](https://github.com/jcubic/jquery.terminal/issues/464)
* fix calling set_mask in onPop
* fix visibility change when terminal have `position:fixed` [#466](https://github.com/jcubic/jquery.terminal/issues/466)
* echo without argument or with empty string - to create blank line [#467](https://github.com/jcubic/jquery.terminal/issues/467)
## 2.1.2
### Bugfix
* remove bugfix for [#402](https://github.com/jcubic/jquery.terminal/issues/402) that s