## 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 flash of old dynamic prompt on enter [#926](https://github.com/jcubic/jquery.terminal/issues/926) * 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 ``/``/`` and add `` 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 should never land in the code * fix removing temp terminal (used to calculate char size) ## 2.1.1 ### Bugfix * don't apply emoji css inside .raw class (added by `echo('string', {raw: true})`) [#461](https://github.com/jcubic/jquery.terminal/issues/461) * fix wrapping when using font-family wildcard css rule ## 2.1.0 ### Features * cursor glow animation * add invoke_key to cmd * onPaste event * integrate emoji into terminal ### Bugfix * fix wrapping when command have `&` and `;` but it's not entity [#454](https://github.com/jcubic/jquery.terminal/issues/454) * fix wrapping when css style created using id [#454](https://github.com/jcubic/jquery.terminal/issues/454) * fix calculating number of characters on init in bare cmd * fix .inverted class [#457](https://github.com/jcubic/jquery.terminal/issues/457) * fix background color on selection (when using --color) * fix hidden bar cursor when command is empty * fix copy terminal output to clipboard (newlines issue) [#456](https://github.com/jcubic/jquery.terminal/issues/456) * remove weird space between lines of selection * fix jumping of cursor with underline animation * fix selection of command line * fix error color when --color is used * fix ANSI art issue [#460](https://github.com/jcubic/jquery.terminal/issues/460) ## 2.0.2 ### Bugfix * fix ansi escapes in unix formatting for sequence `5;1;47m` that fixes rendering ANSI art * fix cutting of underline from ASCII art * fix cutting ASCII art underscores in Codepen/Linux/Chromium on GNU/LINUX * fix ascii_table when text have \r * fix prism highlighting in echo (terminal rules were stronger than Prism) ## 2.0.1 ### Bugfix * fix focus to textarea or input that was printed using terminal echo function ([reported as question on SO](https://stackoverflow.com/q/52943390/387194)) * fix cutting of bottom part of greetings lines in Firefox * fix keep focus into cursor feature added in 2.0 (up arrow was causing scroll to top) report in firebase chat * don't add empty string to history * fix bottom padding in FireFox * don't overwrite wildcard selector that change font with wildcard selector (reported by @ovk on gitter) * fix `return true` in mousewheel it now disable JavaScript scrolling (reported by @ovk on gitter) * fix size down to `--size: 0.6` ## 2.0.0 ### Breaking * from now on if terminal is added to body it's in fact added to div inside body (the API didn't changed) `$('body').terminal().is('body');` will be false ### Features * new option repeatTimeoutKeys with default of HOLD+BACKSPACE that should have delay when deleting words * use setTimeout instead of alert to show exception that can be shown in terminal * allow to move cursor when regex formatter don't change length of the string * don't style links if they don't have href * new plugin isFullyInViewport (link to source in comment) * scroll terminal to always view cursor in multiline command * add onPositionChange to option to terminal * add tabindex option to cmd and terminal ### Bugfix * fix delay when using arrow keys by filtering keys that have delay when hold * fix skipping lines that have emoji as last character inside formatting * fix cursor over tab * fix tracking replace for emoji and extra chars when adding formatting multiple times * fix inconsistency of cursor on background formatting between Windows and Linux * fix echo newline as first character of formatting * fix slash as last character in formatting when generation command line with slash and cursor just after * fix escape bracket in command line * fix relative and absolute urls with default `anyLinks: false` * fix android and iPhone issues [#443](https://github.com/jcubic/jquery.terminal/issues/443) [#414](https://github.com/jcubic/jquery.terminal/issues/414) * fix ANSI escapes in unix_formatting [#444](https://github.com/jcubic/jquery.terminal/issues/444) * fix jumping cursor when there are no text before cursor line in Chrome * fix selection menu in latest Android * fix wrong number of chars per line when insert called after init and scrollbar appear * fix missing cursor when init cmd plugin (without calling refresh) * fix issue with function prompt not updating after resume ## 1.23.2 ### Bugfix * fix too tall cursor (blink included underline) ## 1.23.1 ### Bugfix * fix cursor when terminal is empty ## 1.23.0 ### Features * ES6 iterator helper that iterate over string that handle formatting, emoji and extra chars ### Bugfix * fix tracking replace in Edge (missing RegExp::flags) * hide textarea cursor in Edge and IE11 * fix cursor in Edge and almost IE11 * fix calculating prompt length (wrong wrapping because of first line count) * use `setInterval` as replacement for Intersection Observer when not supported (IE) ## 1.22.6/7 ### Bugfix * fix selection of command line ## 1.22.5 ### Bugfix * fix issue with \r in command line and cursor position [#436](https://github.com/jcubic/jquery.terminal/issues/436) * fix underline and bar animation after fix for prism * disable selecting artificial last character in line for cmd * fix cursor animation on background for toggle animation dynamically ## 1.22.4 ### Bugfix * fix cursor in prism when on token in next line ## 1.22.3 ### Bugfix * reverse css animations so the prompt is visible when you hold key ## 1.22.2 ### Bugfix * persistent function prompt don't render on enable and on init * fix duplicated line when prompt have more then one line * `iterate_formatting` to handle emoji like `substring` and `split_equal` ## 1.22.1 ### Bugfix * fix broken jquery.terminal.js because after last change there was no build * fix invocation in xml_formatting and dterm * add onCommandChange to defaults file so it's picked up by dterm (update d.ts) ## 1.22.0 ### Features * add sourcemaps to min js and css files [#430](https://github.com/jcubic/jquery.terminal/issues/430) * new option holdRepeatTimeout - which is number of the delay between keypress repeat when holding key * selection to change background color based on formatting like in Bash * embed emoji regex by Mathias Bynens for better emoji detection * allow to execute extended commands including terminal and cmd methods from formatters * support for true colors (24bit) in unix formatting [#433](https://github.com/jcubic/jquery.terminal/issues/433) * expose split_characters in `$.terminal` namespace * cmd commands option functions to have cmd as this context ### Bugfix * update typescript definition to new options + minor tweaks to the api * fix cursor for PrismJS punctuation class * fix emoji that contain U+FE0F character at the end [#424](https://github.com/jcubic/jquery.terminal/issues/424) * fix for combine characters * fix typescript definition for prompt and greetings [#425](https://github.com/jcubic/jquery.terminal/issues/425) * fix typo in holdTimeout option name * fix wrapping when command have emoji and combine characters * fix align tabs when inside cursor line and align with prompt * fix multiple 8-bit color codes in single ANSI escape * fix cursor position when on formatting that change color and background * allow to use login function in set_interpreter ## 1.21.0 ### Security * add option invokeMethods that disable by default executing terminal and cmd methods from echo ### Features * HOLD keymap modifier + HOLD+[SHIFT]+BACKSPACE/DELETE to delete word before and after the cursor [#420](https://github.com/jcubic/jquery.terminal/issues/420) * align tabs like in unix terminal [#423](https://github.com/jcubic/jquery.terminal/issues/423) * `tabs` terminal options change tab length, not only columns/arrays * add `tabs` option for cmd * improve performance of display_position (when you click on character in long command that change length) ### Bugfix * fix &) in scheme prism formatting [#421](https://github.com/jcubic/jquery.terminal/issues/421) * don't process keys other then enter in reverse search * fix issue with background in Prismjs css * insert prism syntax formatter before nested formatting so it work for html if included with unix_formatting * fix emoji and Unicode surrogate pairs [#422](https://github.com/jcubic/jquery.terminal/issues/422) ## 1.20.5 ### Bugfix * one more fix to position in normal function formatter (prism) ## 1.20.4 ### Bugfix * fix position in normal function formatter (prism) * fix syntax (prism) function name in developer tools ## 1.20.3 ### Bugfix * fix regression in overtyping [#409](https://github.com/jcubic/jquery.terminal/issues/409) ## 1.20.2 ### Bugfix * escape formatting when using unix formatting in cmd * fix cursor style while hover over links * one more fix cursor position ## 1.20.1 ### Bugfix * fix click after line for last line ## 1.20.0 ### Security * anyLinks option to disable anything exception http and ftp (when false - default) - it make possible to insert javascript links, which is potential XSS vulnerability ### Features * linksNoFollow option (default false) * add UMD for utility files [#418](https://github.com/jcubic/jquery.terminal/issues/418) ### Bug Fixes * handling backspaces in unix formatting [#409](https://github.com/jcubic/jquery.terminal/issues/409) * handle \r \n \r\n \n\r the same when adding leftovers before backspace in unix formatting * fix cursor position when text have tabs found when fixing #409 * other fixes to backspaces * fix font change in universal selector [#415](https://github.com/jcubic/jquery.terminal/issues/415) * fix regression bug in formatters (emoji demo) [#416](https://github.com/jcubic/jquery.terminal/issues/416) * fix cmd::resize() without args that make number of characters equal to 1 [#413](https://github.com/jcubic/jquery.terminal/issues/413) * fix click after line [#419](https://github.com/jcubic/jquery.terminal/issues/419) ## 1.19.1 ### Bug Fixes * fix type definition to match types from @types/jquery [#412](https://github.com/jcubic/jquery.terminal/issues/412) * fix infinite loop in regex formatter with loop option [#409](https://github.com/jcubic/jquery.terminal/issues/409#issuecomment-407025872) ## 1.19.0 ### Features * add TypeScript definition file * update formatters API to have a way to return position after replace from function formatter * regex formatters and `$.tracking_replace` now accept function as replacement * update unix formatters to use new API so they work with command line * set exit to false if no login provided ### Bugs * fix overtyping function [#409](https://github.com/jcubic/jquery.terminal/issues/409) * remove CR characters only for display * don't invoke onPosition change when calling position and don't change the value * fix clearing CR characters that was causing removal of empty lines [#411](https://github.com/jcubic/jquery.terminal/issues/411) ## 1.18.0 ### Feature * looping regex formatters that replace until they don't match the regex * add tracking_replace to `$.terminal` namespace * `$.terminal.syntax` helper * new language for prism: "website" that handle html, javascript and css syntax ### Bugs * handle formatters that replace backspaces and characters before [#409](https://github.com/jcubic/jquery.terminal/issues/409) * fix broken < > & with cmd + prism [#410](https://github.com/jcubic/jquery.terminal/issues/410) * fix background in prism with black background terminal * remove warning from nested_formatting when if find nested formatting ## 1.17.0 ### Features * add ascii_table utility in separated file * per user command line history * add `$.terminal.parse_options` which return same object as yargs parser * `$.jrpc` helper now return its own created promise instead of `$.ajax` * add wcwidth as dependency so it will always show wider characters correctly (in browsers will work the same as optional) * expose terminal exception in `$.terminal` namespace * new API option doubleTab [#405](https://github.com/jcubic/jquery.terminal/issues/405) ### Bugfix * disable history in read & login (regression from 1.16.0 history interpreter option) * fix recursive error on extended commands (but it will only work on exact same commands without trailing white space) * create copy of Prism for formatter so it can be used with normal html based prism snippets * double fix: command line when formatter return empty formatting and prism that return empty formatting after `(` and space * third fix fox jumping on right click * fix columns method * fix infinite loop when regex in formatters don't have g flag * fix parsing escape quotes * fix split equal to handle brackets when using without formatting * fix command line wrapping if prompt contain brackets as text [#407](https://github.com/jcubic/jquery.terminal/issues/407) * insert ^C where cursor was located [#404](https://github.com/jcubic/jquery.terminal/issues/404) * fix echo crlf (windows line ending) [#408](https://github.com/jcubic/jquery.terminal/issues/408) * allow to call cmd without arguments * rename undocumented remove API method to remove_line so you can call jQuery remove * fix throwing exception when there is error in formatter (it now only show alert) * fix double exception when exec command throw exception ## 1.16.1 ### Bugs * fix paste/select all when click below .cmd * second fix to jumping on right click (context menu) [#399](https://github.com/jcubic/jquery.terminal/issues/399) * change `$.terminal.prism_formatting` to `$.terminal.prism` ## 1.16.0 ### Features * allow to have limited import when export is save and restored from JSON [#393](https://github.com/jcubic/jquery.terminal/issues/393) * add support for new u and s regex flags when parsing commands * add less plugin based on the one from leash * supports for promises returned from completion function * add prism.js file that include monkey patch for PrismJS library (for syntax highlight) to output terminal formatting * better read method [#397](https://github.com/jcubic/jquery.terminal/issues/397) * handle promises returned from login and async login function [#401](https://github.com/jcubic/jquery.terminal/issues/401) * add history option for push for easy disabling history for new interpreter * add scrollObject option, so you can use body when terminal is on full screen div without height ### Bugs * fix resizer in Firefox [#395](https://github.com/jcubic/jquery.terminal/issues/395) * fix `$.terminal.columns` and echo array [#394](https://github.com/jcubic/jquery.terminal/issues/394) * fix `$.terminal.columns` for wider characters and terminal formatting * fix rows() when using --size [#398](https://github.com/jcubic/jquery.terminal/issues/398) * fix null in JSON hash * fix jumping on right click (context menu) [#399](https://github.com/jcubic/jquery.terminal/issues/399) * fix formatting inside brackets [#396](https://github.com/jcubic/jquery.terminal/issues/396) * fix async interpreter [#400](https://github.com/jcubic/jquery.terminal/issues/400) * use window resize when terminal added to body ## 1.15.0 ### Features * allow to invoke terminal and cmd methods from extended commands (`[[ terminal::set_prompt(">>> ") ]]`) * new API method invoke_key that allow to invoke shortcut `terminal.invoke_key('CTRL+L')` will clear the terminal * shift+backspace now do the same thing as backspace ### Bugs * fix wider characters in IE [#380](https://github.com/jcubic/jquery.terminal/issues/380) * fix issue with number of characters when terminal is added to DOM after creation in IE * fix scrolling on body in Safari * fix exception when entering JSON with literal strings [#389](https://github.com/jcubic/jquery.terminal/issues/389) * fix orphaned closing bracket on multiline echo [#390](https://github.com/jcubic/jquery.terminal/issues/390) * fix whitespace insert after first character after first focus [#391](https://github.com/jcubic/jquery.terminal/issues/391) * fix open link when click on url from exception ## 1.14.0 ### Features * pass options to formatters and accept option `unixFormattingEscapeBrackets` in `unix_formatting` (PR by [Marcel Link](https://github.com/ml1nk)) * improve performance of repaint and layout whole page when changing content of the terminal * use ch unit for wide characters if browser support it (it have wide support then css variables) * keymap terminal method and allow to set shortcuts on runtime ### Bugs * fix newline as first character in formatting [#375](https://github.com/jcubic/jquery.terminal/pull/375). * fix error when echo undefined (it will echo string undefined since it's converted to string) * fix first argument to keymap function, it's now keypress event * fix resizing issue when scrollbar appear/disappear while you type [#378](https://github.com/jcubic/jquery.terminal/issues/378) * fix cut of cursor when command line had full length lines and it was at the end [#379](https://github.com/jcubic/jquery.terminal/issues/379) ## 1.12.1 * fix minified css file + fix scrollbar ## 1.12.0 ### Features * default options for cmd plugin * caseSensitiveSearch option for both terminal and cmd plugins ### Bugfixes * fix urls ending with slash [#365](https://github.com/jcubic/jquery.terminal/issues/365) * stringify non string commands in set_command * fix scrolling of the page, when press space, after you click on the link * fix scrolling flicker when terminal added to body * small css fixes for element containers when terminal added to body * fix for wide characters inside bigger text [#369](https://github.com/jcubic/jquery.terminal/issues/369) * when clicking on terminal and it already had focus the textarea was blured [#370](https://github.com/jcubic/jquery.terminal/issues/370) * fix parsing empty strings "" or '' * fix warning from webpack about --char-width without default [#371](https://github.com/jcubic/jquery.terminal/issues/371) ## 1.11.4 * handle non string and functions in error the same as in echo * fix selection for raw output (reported by @ovk) * hide font resizer so you actually can select text starting from top left ## 1.11.3 * create empty div for function line that return empty string, that was causing issues with update [#363](https://github.com/jcubic/jquery.terminal/issues/363) * set classes from terminal to fake terminal that is used to calculate character size * don't use length css variable on formatting when length is the same as wcwidth * css fixes for terminal in jQuery UI dialog (dterm) ## 1.11.2 * fix issue with --char-width == 0 if terminal have display:none * fix DELETE numpad key on IE * ignore invalid procedures description in system.describe * fix font resizer and init resizers when terminal hidden initialy * fix broken wrapping in new feature of updating divs on resize ## 1.11.1 * fix IE inconsistency in key property for numpad calc keys (reported by @ovk [#362](https://github.com/jcubic/jquery.terminal/issues/362) * fix completion skipping letters (reported by @ovk [#361](https://github.com/jcubic/jquery.terminal/issues/361)) * fix issue with last character in line beeing closing braket (reported by @arucil [#358](https://github.com/jcubic/jquery.terminal/issues/358)) ## 1.11.0 ### Features * update API method accept options 3rd argument * speed up refresh on resize by checking character size in font resizer (reported by @artursOs) * change command line num chars on resize + settings.numChars (reported by @artursOs [#353](https://github.com/jcubic/jquery.terminal/issues/353)) * add remove api method that call update(line, null); * don't call scroll to bottom on resize/refresh/update/remove * improve scroll_element plugin by using document.scrollingElement if present and cache the value * resizer plugin use ResizeObserver if defined * remove fake call to finalize in echo to catch potential error * silent boolean 3rd argument to cmd::set and 2nd to terminal::set_command * handy classed to change cursor animation in IE ### Bugs * don't prevent default scroll when terminal have no scrollbar * restart cursor animation on keydown (requested by @theMeow on chat) * don't redraw whole terminal in update api method * show exception from onAfterRedraw on terminal * don't show first argument to method in help command when login is used * allow to call disable/focus(false) from command + fix focus(false) with single terminal (reported by Eric Lindgren [#359](https://github.com/jcubic/jquery.terminal/issues/359)) * fix autofocus on init ## 1.10.1 * fix scroll to bottom on scrolling when terminal is disabled (reported by @RomanPerin [#355](https://github.com/jcubic/jquery.terminal/issues/355)) ## 1.10.0 ### Features * new api for formatters Array with 2 elements regex and replacement string (it fix issue when formatters change length of string - emoji demo) * normalize IE key property for keymap + always use +SPACEBAR if there is any control key * cursor text for terminal and cmd * onEchoCommand callback gets second argument `command` * cmd keymap api function, along with object and no arguments, accept string as first argument and function as second * only one exception per callback event * select all context menu (based on idea from CodeMirror) ### Bugs * fix cursor in IE and iOS/Safari reported by @RinaVladimyrovna [#350](https://github.com/jcubic/jquery.terminal/issues/350) * don't apply formatters in echo commands for completion (found by applying completion to emoji demo) * fix substring and html entity (entering < & > in command line was showing entity not character) * paste context menu not for img tag to allow to save as * fix nested formatting (by introducing __meta__ on formatter function that apply the function to whole string) * fix format_split when text have \\ character before ] * fix line ending on windows in command line (CRLF) * fix copy from command line * fix cursor position when command line have formatting (using formatters) * fix cursor position when command line have 3 lines * don't apply formatters for greetings not only for signture (user can use formatting because he control the string) * fix max call stack exception when error happen in onEchoCommand * Chinese character occupy 2 characters same as in linux terminal (requirement wcwidth and css variables) * fix substring and string like '` issue reported by @itsZN [#345](https://github.com/jcubic/jquery.terminal/issues/345) * fix moving cursor when formatting change size of text (found when creating emoji demo) the click was rewritten using span for each character * fix command line when for wide characters * don't move the cursor on click when cmd disabled * fix substring ## 1.8.0 * allow to return promise from prompt + fix promise in echo * add back context menu paste that was removed by mistake * make terminal work in Data URI (access to cookies was throwing exception in Chrome) * fix case insensitive autocomplete when there is single completion * fix completion error when more then one completion (PR by Anton Vasilev [#337](https://github.com/jcubic/jquery.terminal/pull/337)) * fix artificialy triggered click (reported by Paul Smirnov [#338](https://github.com/jcubic/jquery.terminal/issues/338)) * fix focus issue when you have multiple terminals * fix css animations * fix move cursor on click * fix quick click to focus + CTRL+V (reported by @artursOs [#336](https://github.com/jcubic/jquery.terminal/issues/336)) * fix outputLimit * fix exception that sometimes happen on mouseup ## 1.7.2 * fix blur when click ouside terminal when element you click is on top of terminal * this is terminal instance inside echo function * fix localStorage exception and empty line height while creating terminal from data URI * refocus when click on terminal (fix for `:focus-within`) ## 1.7.1 * fix blur terminals when open context menu and then click right mouse button (sometimes last terminal didn't get disabled) * fix backspase ## 1.7.0 ### Features * add option caseSensitiveAutocomplete default to true [#332](https://github.com/jcubic/jquery.terminal/issues/332) * expose Stack/Cycle/History in `$.terminal` so they can be tested * make `:focus-within .prompt` selector work with terminal (work also on codepen) ### Bugs * fix jumping of terminal when created one after another and changing the one that have focus in Edge * fix issue that all terminals was enabled not the last one created * fix issue that on click next terminal get focused on browsers with touch screen (reported by @itsZN [#330](https://github.com/jcubic/jquery.terminal/issues/330)) * fix missing default keymap in cmd plugin (found on SO by Arnaldo Montoya) * update dterm to enable terminal when is visible (when open) using IntersectionObserver * fix issue with focus on click on MacOS (reported by @RomanPerin [#255](https://github.com/jcubic/jquery.terminal/issues/255)) * fix pasting (reported by @artursOs [#331](https://github.com/jcubic/jquery.terminal/issues/331)) * fix unescaped entity error (reported by Nikolai Orekhov [#333](https://github.com/jcubic/jquery.terminal/issues/333)) * fix onFocus and onBlur events * fix blur textarea on disable ## 1.6.4 * just missed build ## 1.6.3 * fix issue with auto-enable and insert to DOM after terminal was created * fix issue with space and dead keys (reported by David Peter) ## 1.6.2 * fix altGr+key issue reported by Erik Lilja ## 1.6.1 * don't call encode in escape_formatting (requested by @ovk) ## 1.6.0 ### Features * new API method apply_formatters * add UMD (requested by @fazelfarajzade) * add new events: onEchoCommand and onAfterRedraw (requested by @ovk) ### Bugs * fix issue that formatters where applied to formatting (discovered by issue from @ovk) ## 1.5.3 * fix cursor over entity (mainly  ) issue reported by @ovk * fix space scroll page ## 1.5.2 * keep formatting when cursor is over one, issue reported by @Oleg on StackOverflow * fix jumping prompt when it have newlines ## 1.5.1 * fix autofocus with position: fixes (reported by @ovk) * fix input method using sogou keyboard on windows (reported by @hnujxm) * fix long line wrapping and click to move cursor with wider characters like Chinese ## 1.5.0 ### Features * run fake keypress and keydown created in input when not fired by the browser (android) * improve perfomance by calculating char size only on resize and init (issue reported by @artursOs) * new cmd delegate method `get_position`/`set_position` added to terminal * resolve promises returned from intrpreter in jQuery 2.x * allow to use newlines in prompt * don't rethrow user exception when exceptionHandler is set (mainly for testing that option) * add option describe that is a string mapping procs from system.describe procs (default "procs") it can be "result" or "result.procs" if system.describe is normal JSON-RPC method ### Bugs * add option to cmd::disable to not blur so it don't hide android keyboard on pause * don't enable terminal on init on Android * fix next key after CTRL+V that was triggering input event (reported by @artursOs) * fix parsing strings * don't hide virtual keyboard on Android when called pause() * fix input on Firefox with google keyboard (reported by Filip Wieland) * disable terminal on resume event in cordova (is the terminal is disabled when no virutal keyboard) * fix moving cursor on click (after multiline command) and the height of the cmd plugin * fix escape completion (that enabled by default) * remove hardcoded DemoService from json-rpc system.describe ## 1.4.3 * don't execute keypress callback when terminal is disabled (reported by @artursOs) * fix android (input event was not bind) * disable keypress when you press CTRL+key and caps-lock is on (bug in firefox reported by @artursOs) ## 1.4.2 * fix context menu pasting and pasting images when terminal not in focus (thanks to Alex Molchanov for reporing a bug) ## 1.4.1 * add rel="noopener" to all links * remove anonymous function name that was duplicating parameter with the same name that was causing error in PhantomJS (thanks to @rteshnizi for bug report) ## 1.4.0 ### Features * add paste using context menu ### Bugs * fix recursive exception when `finalize` echo function throw exception * fix underline animation * fix `wordAutocomplete` and add `completionEscape` option (issue reported by Quentin Barrand) * improve parsing commands (it now convert "foo"bar'baz' to foobarbaz like bash) * fix normalize and substring * remove empty formatting in normalize function ## 1.3.1 * fix cols/rows that was causing signature to not show ## 1.3.0 ### Feateres * paste of images (using `echo`) in browsers that support clipboard event * add `args_quotes` to `parse_/split_ command` api utilities * add `IntersectionObserver` to add resizer and call resize (not all browser support it, polyfill exists) * add `MutationObserver` to detect when terminal is added/removed from DOM and call `IntersectionObserver` when added * new API utiltites `normalize`, `substring`, `unclosed_strings` and helper `iterate_formatting` * add default formatter that handle nested formatting * when using rpc or object interpreter it will throw exception when there are unclosed strings * element resizer (as jQuery plugin) that work inside iframe ### Bugs * remove `onPop` event from main interpreter (with null as next) * mousewheel work without jQuery mousewheel and fix jumps of text * fix number of rows after adding underline animation * fix outputLimit * fix calculation of cols and rows * strings object are not longer saved in variable on terminal creation so you can change it dynamically after terminal is created (use command to change language) ## 1.2.0 ### Features * make terminal accessible to screen readers: * terminal focus using tab key (we can't blur on tab keybecause it's used to enter tab character or for completion) * make command line in cmd plugin hidden from screen readers * add role="log" to terminal-output and hide echo command, so result of command are read by screen reader but not command that user typed and prompt ## 1.1.4 * fix size with css var with underline animation * fix minified css (`cssnano` was removing unused animations) ## 1.1.3 * fix click to change position when command have newlines ## 1.1.2 * from pauseEvents option form cmd plugin - it always execute keyboard events # 1.1.1 * don't fire `keymap` when terminal paused * fix delete in IE11 * restore order of keymap/keydown - keydown is executed first ## 1.1.0 * fix CMD+V on MacOS chrome * add stay option to insert same as in cmd plugin * add option `pauseEvents` - default set to true * fix exception when calling purge more then once * fix `history: false` option * `keymap` have priority over `keydown` so you can overwrite with CTRL+D `keymap` function ## 1.0.15 * fix `echo` command when press tab twice and there are more then one completion * fix CTRL+D when paused (it now resume the interpreter) * focus don't enable terminal when paused (it was hidden by you could enter text) ## 1.0.14 * fix moving of the content on focus/blur when command line at the bottom * don't move cursor on click when focusing * throw exception about key property polyfill on init of cmd plugin ## 1.0.12 * fix for Android/Chrome that have unidentified as key property for single character keys * fix entering text in the middle on Android/Chrome * fix backspace on Android/Chrome/SwiftKey * fix cursor position when click on word completion on Android ## 1.0.11 * fix dead keys logic (for special keys that don't trigger keypress like delete) ## 1.0.9/10 * fix dead_keys logic (when keypress after special keys like arrows) ## 1.0.8 * fix paste in IE and Edge ## 1.0.7 * fix `exec` when `pause` called in `onInit` * fix reverse search * fix 3 argument in completion error * fix login from hash for async JSON-RPC * fix `focus(false)`/`disable` in `exec` from hash * fix regression of pasting in MacOS * scroll to bottom in insert method * remove default extra property from interpreter (all properties are saved in interperter) and make main options extra pass to intepterer not using extra property * fix completion when text have spaces (escaped or inside quotes) * fix dead keys on MacOSX (testing shortcuts now require keydown and keypress events) ## 1.0.6 * fix AltGr on non US keyboard layouts ## 1.0.5 * fix CTRL+D to delete forward one character * don't use user agent sniffing to get scroll element if terminal attached to body * fix & on French layout ## 1.0.3/4 * fix keypress with key polyfill ## 1.0.2 * fix CTRL+V in Firefox and IE * fix issue in jQuery >= 3.0 * fix space, backspace, resize and arrows in IE * fix middle mouse paste on GNU/Linux ## 1.0.1 * fix signature ## 1.0.0 ### FEATURES: * copy to system clipboard when copy to kill area * simplify changing of terminal colors using css variables * always export history and import when importHistory option is true * add bar and underline cursor animations and a way to enable it with single css variable * recalcualate `cols` and `rows` on terminal resize (not only window) * `request`/`response` and `onPush`/`onPop` callbacks * all callbacks have terminal as `this` (terminal in parameter stay the same) * add option softPause to control pause visible option - it don't hide the prompt when set to true * add wordAutocomplete option (default true) * add complete and `before_cursor` api methods and use it for autocomplete * formatting for command line (you can't type formatting but you can use `$.terminal.formatters` to * format command you're writing) * new option formatters for echo (error method by default disable formatters) * interpeter and terminal accept extra option that can be use in onPop or onPush * add `keymap` option to cmd, terminal and interpreter where you can add shortcuts * clicking on character, in cmd plugin, move cursor to that character ### BUGS: * fix width calculation with scrollbar visible * fix exception in Firefox throw by setSelectionRange in caret plugin * make `echo` sync when `echo` string or function (flush didn't work on codepen) * fix `onCommandChange` callback on backspace * Don't echo extended commands on resize * use `JSON.parse` to process strings when parsing command line * fix rpc in array when there are no system.describe * call exeptionHandler on every exception (even iternal) * fix echo resolved content when interpreter return a promise * fix for valid `/[/]/g` regex * fix pushing JSON-RPC intepreter * fix selection in IE * clear selection when click anywhere in the terminal * fix removing global events on terminal destroy * don't execute javascript file when fetching line that trigger exception in browser that have fileName in exception (like Firfox) ### BREAKING CHANGES: * completion function now have two arguments string and callback and terminal is in this * removed `setInterpreter`, `parseArguments`, `splitArguments`, `parseCommand` and `splitCommand` * if you execute keydown event manualy to trigger terminal/cmd shortcuts you need to pass key property with key name (see spec/terminalSpec.js file) ## 0.11.23 * add `scrollBottomOffset` option ## 0.11.22 * scroll to bottom of the terminal when option scrollOnEcho is set to false but the terminal is at the bottom * add new api methods `is_bottom` and `scroll_to_bottom` ## 0.11.21 * don't scroll to terminal (using caret plugin) when it's disabled ## 0.11.20 * don't convert links to formatting when raw option is true ## 0.11.19 * fix getting data from local storage * remove spell check and auto capitalize from textarea ## 0.11.18 * fix input method ## 0.11.17 * fix `echo` when line is short and have newlines ## 0.11.16 * add versioned files to npmignore * add global and echo option wrap to disable long line wrapping * don't send warning when mime for JSON-RPC is text/json ## 0.11.15 * replace `json_stringify` with `JSON.stringify` ## 0.11.14 * fix focus on desktop ## 0.11.13 * allow only memory storage with memory option set to true ## 0.11.12 * fix focus on mobile ## 0.11.11 * fix do not enable the terminal on click if it's frozen ## 0.11.10 * fix focus on click ## 0.11.9 * fix `outputLimit` option ## 0.11.8 * add `scrollOnEcho` option ## 0.11.7 * fix `History::last` ## 0.11.6 * fix `flush` * new API method `$.terminal.last_id` ## 0.11.5 * fix focus on Android ## 0.11.4 * allow to change `completion` using option API method ## 0.11.3 * add `echoCommand` option ## 0.11.2 * allow to select text using double click ## 0.11.1 * fix `exec` login from hash * allow to pause with visible command line * new api method `clear_history_state` ## 0.11.0 * fix default prompt for push * add `word-wrap: break-word` for cases when echo html that have long lines * fix `login` function as setting when used with JSON-RPC * add help command to JSON-RPC when there is `system.describe` * fix `exec` array and delayed commands (when you `exec` and don't wait for promise to resolve) * fix double cursor in terminals when calling resume on disabled terminal * fix calling `login` after pop from login * add `infiniteLogin` option to push * fix `exec` after init when used with JSON-RPC with `system.describe` * make `set_interpreter` return terminal object * `logout` when `onBeforeLogin` return false * fix backspace in Vivaldi browser by keeping focus in textarea for all browsers * new API method `last_index` * alow to remove the line by passing null as replacement to update function * fix number of characters per line * fix paste on MacOSX ## 0.10.12 * fix css animation of blinking in minified file ## 0.10.11 * fix check arity for nested object; throw error when calling `logout` in `login` ## 0.10.10 * escape brackets while echo completion strings ## 0.10.9 * fix issue with jQuery Timers when page included another jQuery after initialization ## 0.10.8 * add mangle option to uglifyjs ## 0.10.7 * fix if interpreter is an array and have function ## 0.10.6 * fix overwriting of `exit` and `clear` commands ## 0.10.5 * prevent infinite loop in `terminal::active` when no terminal ## 0.10.4 * change -min to .min in minfied versions of files ## 0.10.3 * make npm happy about version ## 0.10.2 * Add minified css file ## 0.10.1 * fix url regex for formatting ## 0.10.0 * keepWords option to echo and words parameter in `split_equal` * fix `login` for nested intepreters * fix `destroy` of `cmd` plugin * fix saving commands in hash * allow to disable completion in nested interpreter * change position of cursor in reverse history search * fix pasting in Firefox * `exec` is adding command to history * fix execHash in FireFox * testsing terminal and `cmd` plugin + call from command line * fix `exec` for nested login rpc command * fix `exec` from hash if commands use pause/resume * fix `exec` for build in commands * fix other various `exec` from hash issues * fix local `logout` and `login` commands * `mousewheel` and `resize` options for interpreter * use MIT license * `onExport` and `onImport` events ## 0.9.3 * change `settings` to method * fix `process_commands` and escape_regex * fix `login` from hash * fix raw `echo` * don't print empty string after removing extended commands strings * fix `history_state` method ## 0.9.2 * don't change command line history if ctrl key is pressed * fix middle mouse copy on GNU/Linux * fix resize issue ## 0.9.1 * freeze and frozen API methods that disable/enable terminal that can't be enabled by click ## 0.9.0 * use url hash to store terminal session * fix `export/import` * focus/blur on Window focus/blur * allow to change mask char for passwords * fix space after completed command and in ALT+D * class .command in div created by echo command, and error class in error function * CSS selection is now one solid color, also support h1..h6, tables and pre tags * fix ANSI Formatting bug * regex as History Filter * custom Formatters * `raw` and `globalToken` options * fix encoding entites * allow to echo jQuery promise * `exec` return promise, `exec` with array of commands * auto `resume/pause` if user code return promise * mobile (tested on Android) - users report that it don't work - need testing * functions splitCommand, parseCommand, splitArguments, parseArguments changed to kebab case, but the old functions are kept for backward compatibility * new API method `read` (wrapper over `push`), `autologin` and `update` * extended commands with syntax `[{ }]` ## 0.8.8 * fix 2 json rpc bugs ## 0.8.7 * fix processing command function ## 0.8.6 * one space after fully completed command ## 0.8.5 * all regex for formatting case insensitive ## 0.8.4 * fix redraw lines on `import_view`, fix calculating rows ## 0.8.3 * fix `completion` in nested interpreters * `login` option in push * remove pause/resume from login * fix parsing RegExes * fix display text with more then limit lines in one echo ## 0.8.2 * add `Terminal::exception` function ## 0.8.1 * fix `login/logout` ## 0.8.0 * CTRL+L clear terminal * Shift+Enter insert newline * remove `tabcompletion` option (now `completion` can be true, array or function) * add `onRPCError` and `exceptionHandler` callbacks * interpreter can be an array * ignoreSystemDescribe option * handle invalid JSON-RPC * CSS style for standalone cmd plugin * using CSS3 Animation for blinking if supported * fix `[0m` * better error handling (all messages are in `$.terminal.defaults.strings`) * named colors for terminal formatting * expose `settings` and `login` function * more tools in `$.terminal` * paste kill text with CTRL+Y * paste text from selection using middle mouse button * fix login, history and exec * disable few things when in login function * all Strings are in `$.terminal.defaults.strings` * more functions in `$.terminal` object ## 0.7.12 * fix terminal when start as invisible, rest property to parseCommand ## 0.7.11 * fix last history command ## 0.7.10 * fix reverse search ## 0.7.9 * Don't show version when use source file ## 0.7.8 * Allow to call `$.terminal.active()` in `prompt` ## 0.7.7 * fix long line wrap on Init, don't call `termina::resize` on init ## 0.7.6 * fix small errors and typos ## 0.7.5 * fix `flush`, add option `linksNoReferer` ## 0.7.4 * fix interpreter when there is not `system.describe` in JSON-RPC * add method `flush` and fix refresh ## 0.7.3 * add ANSI 256 (8bit) formatting from Xterm * fix Regexes * add ntroff formatting support (output from man) ## 0.7.2 * fix `purge`, json-rpc, history. Improve json-rpc and add check arity ## 0.7.1 * add tests * terminal without eval * fix issue with umpersand (unenclosed entinity) in multiline ## 0.7.0 * add `outputLimit`, add method `destroy` * add utilities `parseArguments`, `splitArguments`, `parseCommand` and `splitCommand` to `$.terminal` * allow to overwrite, by user, parsing commands in object as eval * make `cmd` chainable * fix command line (interepters) names for localStorage use * fix Login/Token LocalStorage names * add method `purge` (that clear localStorage) * convert escaped hex and octals in double quoted strings as chars * fix Tilda on Windows * more ANSI codes * complete common string on TAB * fix cancel ajax on CTRL+D when paused ## 0.6.5 * `finalize` and `raw` options in `echo` ## 0.6.4 * fix regexes, CMD+`, CMD+R, CMD+L on Mac, fix Resize if terminal is hidden, fix wrap ANSI formatting ## 0.6.3 * fix arguments in automatic JSON-RPC ## 0.6.2 * fix arguments in object as eval, new option processArguments ## 0.6.1 * fix first `echo` (like greetings) ## 0.6 * fix formatting with links and emails and long lines * history is a list with command as last element * history have size * You can type more characters in reverse search if command not found * `export/import` * `nResize` event ## 0.5.4 * fix scroll when attaching terminal to body in non Webkit browsers ## 0.5.3 * `level` api function * restore mask on pop * click out of terminal remove focus * CTRL+H CTRL+W * use selector as default name for the terminal ## 0.5.2 * fix entity in lines * add data-text attribute to formatting span ## 0.5.1 * function in push * allow to put braket in formatting (closed with escape) * print nested object in automatic rpc * terminal instance in login callback ## 0.5 * tab completion work with callback function * `push` command allow for objects * add CTRL+G to cancel Reverse Search ## 0.4.23 * fix Style ## 0.4.21/22 * Small fixes ## 0.4.20 * add `exec`, `greetings`, `onClear`, `onBlur`, `onFocus`, `onTerminalChange` ## 0.4.19 * add support for ANSI terminal formatting * fix cancelable ajax on * add CTRL+D * replace emails with link mailto * remove formatting processing from command line * add text glow option to formatting ## 0.4.18 * fix scrollbar, better exceptions in chrome, replace urls with links * one style for font and color in root `.terminal` class ## 0.4.17 * fix IE formatting issue by adding cross-browser split ## 0.4.16 * add reverse history search on CTRL+R * fix cancel ajax call on CTRL+D ## 0.4.15 * only one command from multiply commands is added to history * CTRL+D is handled even if exit is false ## 0.4.14 * terminal don't add space after prompt (prompt need to add this space) * fix `historyFilter` * remove `livequery` ## 0.4.12 * `history` return `history` object * add `historyFilter` * new event `onCommandChange` that execute `scroll_to_bottom` * add event `onBeforeLogin` ## 0.4.11 * fix blank lines when echo longer strings ## 0.4.10 * fix long line formatting and linebreak in the middle of formatting ## 0.4.9 * fix wrap first line when prompt contain formatting ## 0.4.8 * fix alt+d and ctrl+u ## 0.4.7 * fix inserting special characters in Webkit on Windows ## 0.4.6 * remove undocumented pipe operator * refreash prompt on resume ## 0.4.5 * fix line wrapping when text contains tabulations ## 0.4.4 * fix line wrapping with scrollbars ## 0.4.3 * fix JSON-RPC when use without login ## 0.4.2 * fix formatting when text contain empty lines ## 0.4.1 * fix formatting when text contains newline characters ## 0.4 * fix text formating when text splited into more then one line * you can pass nested objects as first argument * add tab completion with object passed as first argument ## 0.3.8 * fix cursor manipulation when command contain new line characters ## 0.3.7 * fix function `terminal.login_name` ## 0.3.6 * fix switch between terminals - when terminal is not visible scroll to current terminal ## 0.3.5 * fix scrolling in jQuery 1.6 ## 0.3.3 * fixing PAGE UP/DOWN ## 0.3.2 * fixing cursor in long lines ## 0.3.1 * fixing small bugs, speed up resizing ## 0.3 * fix resizing on start and issue with greetings * add formating strings to set style of text. * add to `echo` a function which will be called when terminal is resized ## 0.3-RC2 * fix manipulation of long line commands ## 0.3-RC1 * add callbacks and new functions * you can now overwrite keyboard shortcuts * resizing recalculates lines length and redraw content * if you create plugin for elements that are not in the DOM * and then append it to DOM it's display corectly * put all dependencies in one file * Default greetings show terminal signature depending on width of terminal * use Local Sorage for command line history if posible * remove access to command line (cmd plugin) and add interface to allow interact with it ## 0.2.3.9 * fix append enter character (0x0D) to the command (thanks to marat for reporting the bug) ## 0.2.3.8 * update mousewheel plugin which fix scrolling in Opera (Thanks for Alexey Dubovtsev for reporting the bug) ## 0.2.3.7 * fix cursor in IE in tilda example ## 0.2.3.6 * fix json serialization in IE ## 0.2.3.5 * fix demos and clipboard textarea transparency in IE ## 0.2.3.4 * fix long lines in command line issue ## 0.2.3.3 * fix Terminal in Internet Exporer ## 0.2.3.2 * fix blank line issue (thanks to Chris Janicki for finding the bug) * fix CTRL + Arrows scroll on CTRL+V ## 0.2.3.1 * allow CTRL+W CTRL+T ## 0.2.3 * fix for `"(#$%.{"` characters on Opera/Chrome * add cursor move with CTRL+P, CTRL+N, CTRL+F, CTRL+B which also work in Chrome fix Arrow Keys on Chrome (for cursor move and command line history) * change License to LGPL3. ## 0.2.2 * fix down-arrow/open parentises issue in Opera and Chrome ## 0.2.1 * add support for paste from clipboard with CTRL+V (Copy to clipboard is always enabled on websites)