Repository  -  API  -  Source



  • cursor glow animation
  • add invoke_key to cmd
  • onPaste event
  • integrate emoji into terminal


  • fix wrapping when command have & and ; but it's not entity #454
  • fix wrapping when css style created using id #454
  • fix calculating number of characters on init in bare cmd
  • fix .inverted class #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
  • 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



  • 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)



  • fix focus to textarea or input that was printed using terminal echo function (reported as question on SO)
  • 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



  • 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


  • 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


  • 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 #414
  • fix ANSI escapes in unix_formatting $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



  • fix too tall cursor (blink included underline)



  • fix cursor when terminal is empty



  • ES6 iterator helper that iterate over string that handle formatting, emoji and extra chars


  • 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)



  • fix selection of command line



  • fix issue with \r in command line and cursor position #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



  • fix cursor in prism when on token in next line



  • reverse css animations so the prompt is visible when you hold key



  • 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



  • 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)



  • add sourcemaps to min js and css files #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
  • expose split_characters in $.terminal namespace
  • cmd commands option functions to have cmd as this context


  • 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
  • fix for combine characters
  • fix typescript definition for prompt and greetings #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



  • add option invokeMethods that disable by default executing terminal and cmd methods from echo


  • HOLD keymap modifier + HOLD+[SHIFT]+BACKSPACE/DELETE to delete word before and after the cursor #420
  • align tabs like in unix terminal #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)


  • fix &) in scheme prism formatting #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



  • one more fix to position in normal function formatter (prism)



  • fix position in normal function formatter (prism)
  • fix syntax (prism) function name in developer tools



  • fix regression in overtyping #409



  • escape formatting when using unix formatting in cmd
  • fix cursor style while hover over links
  • one more fix cursor position



  • fix click after line for last line



  • anyLinks option to disable anything exception http and ftp (when false - default) - it make possible to insert javascript links, which is potential XSS vulnerability


  • linksNoFollow option (default false)
  • add UMD for utility files #418

Bug Fixes

  • handling backspaces in unix formatting #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
  • fix regression bug in formatters (emoji demo) #416
  • fix cmd::resize() without args that make number of characters equal to 1 #413
  • fix click after line #419


Bug Fixes

  • fix type definition to match types from @types/jquery #412
  • fix infinite loop in regex formatter with loop option #409



  • 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


  • fix overtyping function #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



  • 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


  • handle formatters that replace backspaces and characters before #409
  • fix broken < > & with cmd + prism #410
  • fix background in prism with black background terminal
  • remove warning from nested_formatting when if find nested formatting



  • 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


  • 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
  • insert ^C where cursor was located #404
  • fix echo crlf (windows line ending) #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



  • fix paste/select all when click below .cmd
  • second fix to jumping on right click (context menu) #399
  • change $.terminal.prism_formatting to $.terminal.prism



  • allow to have limited import when export is save and restored from JSON #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
  • handle promises returned from login and async login function #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


  • fix resizer in Firefox #395
  • fix $.terminal.columns and echo array #394
  • fix $.terminal.columns for wider characters and terminal formatting
  • fix rows() when using --size #398
  • fix null in JSON hash
  • fix jumping on right click (context menu) #399
  • fix formatting inside brackets #396
  • fix async interpreter #400
  • use window resize when terminal added to body



  • 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


  • fix wider characters in IE #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
  • fix orphaned closing bracket on multiline echo #390
  • fix whitespace insert after first character after first focus #391
  • fix open link when click on url from exception



  • pass options to formatters and accept option unixFormattingEscapeBrackets in unix_formatting (PR by Marcel Link)
  • 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


  • fix newline as first character in formatting #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
  • fix cut of cursor when command line had full length lines and it was at the end #379


  • fix minified css file + fix scrollbar



  • default options for cmd plugin
  • caseSensitiveSearch option for both terminal and cmd plugins


  • fix urls ending with slash #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
  • when clicking on terminal and it already had focus the textarea was blured #370
  • fix parsing empty strings "" or ''
  • fix warning from webpack about --char-width without default #371


  • 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


  • create empty div for function line that return empty string, that was causing issues with update #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)


  • 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


  • fix IE inconsistency in key property for numpad calc keys (reported by @ovk #362
  • fix completion skipping letters (reported by @ovk #361)
  • fix issue with last character in line beeing closing braket (reported by @arucil #358)



  • 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)
  • 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


  • 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)
  • fix autofocus on init


  • fix scroll to bottom on scrolling when terminal is disabled (reported by @RomanPerin #355)



  • 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)


  • fix cursor in IE and iOS/Safari reported by @RinaVladimyrovna #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 '<a' that was breaking command line
  • fix newlines in string when do parse/split _command (used by command line)
  • fix split equal and command line splitting
  • fix exception in keymap when calling original in the one that was overwriten by terminal like CTRL+V (reported by Ravi Teja Mamidipaka #351)
  • not all keymaps had terminal as this context



  • new api utils $.terminal.length and $.terminal.columns
  • echo array (resizable in columns that fit the width, using settings.tabs as pad right)
  • callback function parseObject that's called on object different then string (on render)
  • calling option method with numRows or numChars redraw terminal output (for testing)
  • onFlush callback (called when text is rendered on screen in flush method)
  • regex helper $.terminal.formatter created using Symbols can be use instead of regex
  • new option pasteImage (default true) - requested by @ssv1000 #342
  • CTRL+C cancel command like in bash if no selection - requested by @abhiks19 #343
  • refresh API method
  • new api method display_position in cmd plugin that return corrected position of the cursor if cursor in the middle of the word that got replaced by longer or shorter string in formatting function (fix for emoji demo)


  • add missing --size default for underline animation
  • fix trim of spaces in front of lines when keep words is true
  • fix newline in prompt found while answering question on SO
  • fix insert of newline in the middle of the command line if there is "word space word" and you press space after space
  • fix infinite loop in split_equal with keep words when word is longer than the limit and there is space before long word
  • fix paste on MacOS - regresion after adding context menu paste (reported by Ravi Teja Mamidipaka #340)
  • fix cursor in textarea in Edge and IE (reported by Tejaswi Rohit Anupindi #344)
  • fix input for Android 4.4 in emulator (tested on
  • fix selection + css variables (know bug in MS Edge)
  • fix apply/call issue that was causing Android 2.3 to crash
  • fix context menu on selected text (the selected text was cleared)
  • allow to call original terminal keymap for overwrites defined in terminal (not only the ones defined in cmd)
  • escape < and > issue reported by @itsZN #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


  • 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)
  • fix artificialy triggered click (reported by Paul Smirnov #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)
  • fix outputLimit
  • fix exception that sometimes happen on mouseup


  • 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)


  • fix blur terminals when open context menu and then click right mouse button (sometimes last terminal didn't get disabled)
  • fix backspase



  • add option caseSensitiveAutocomplete default to true #332
  • expose Stack/Cycle/History in $.terminal so they can be tested
  • make :focus-within .prompt selector work with terminal (work also on codepen)


  • 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)
  • 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)
  • fix pasting (reported by @artursOs #331)
  • fix unescaped entity error (reported by Nikolai Orekhov #333)
  • fix onFocus and onBlur events
  • fix blur textarea on disable


  • just missed build


  • fix issue with auto-enable and insert to DOM after terminal was created
  • fix issue with space and dead keys (reported by David Peter)


  • fix altGr+key issue reported by Erik Lilja


  • don't call encode in escape_formatting (requested by @ovk)



  • new API method apply_formatters
  • add UMD (requested by @fazelfarajzade)
  • add new events: onEchoCommand and onAfterRedraw (requested by @ovk)


  • fix issue that formatters where applied to formatting (discovered by issue from @ovk)


  • fix cursor over entity (mainly  ) issue reported by @ovk
  • fix space scroll page


  • keep formatting when cursor is over one, issue reported by @Oleg on StackOverflow
  • fix jumping prompt when it have newlines


  • 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



  • 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


  • 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


  • 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)


  • fix context menu pasting and pasting images when terminal not in focus (thanks to Alex Molchanov for reporing a bug)


  • 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)



  • add paste using context menu


  • 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


  • fix cols/rows that was causing signature to not show



  • 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


  • 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)



  • 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


  • fix size with css var with underline animation
  • fix minified css (cssnano was removing unused animations)


  • fix click to change position when command have newlines


  • from pauseEvents option form cmd plugin - it always execute keyboard events


  • don't fire keymap when terminal paused
  • fix delete in IE11
  • restore order of keymap/keydown - keydown is executed first


  • 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


  • 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)


  • 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


  • 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


  • fix dead keys logic (for special keys that don't trigger keypress like delete)


  • fix dead_keys logic (when keypress after special keys like arrows)


  • fix paste in IE and Edge


  • 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)


  • fix AltGr on non US keyboard layouts


  • 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


  • fix keypress with key polyfill


  • 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


  • fix signature



  • 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


  • 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)


  • 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)


  • add scrollBottomOffset option


  • 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


  • don't scroll to terminal (using caret plugin) when it's disabled


  • don't convert links to formatting when raw option is true


  • fix getting data from local storage
  • remove spell check and auto capitalize from textarea


  • fix input method


  • fix echo when line is short and have newlines


  • 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


  • replace json_stringify with JSON.stringify


  • fix focus on desktop


  • allow only memory storage with memory option set to true


  • fix focus on mobile


  • fix do not enable the terminal on click if it's frozen


  • fix focus on click


  • fix outputLimit option


  • add scrollOnEcho option


  • fix History::last


  • fix flush
  • new API method $.terminal.last_id


  • fix focus on Android


  • allow to change completion using option API method


  • add echoCommand option


  • allow to select text using double click


  • fix exec login from hash
  • allow to pause with visible command line
  • new api method clear_history_state


  • 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


  • fix css animation of blinking in minified file


  • fix check arity for nested object; throw error when calling logout in login


  • escape brackets while echo completion strings


  • fix issue with jQuery Timers when page included another jQuery after initialization


  • add mangle option to uglifyjs


  • fix if interpreter is an array and have function


  • fix overwriting of exit and clear commands


  • prevent infinite loop in terminal::active when no terminal


  • change -min to .min in minfied versions of files


  • make npm happy about version


  • Add minified css file


  • fix url regex for formatting


  • 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


  • 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


  • don't change command line history if ctrl key is pressed
  • fix middle mouse copy on GNU/Linux
  • fix resize issue


  • freeze and frozen API methods that disable/enable terminal that can't be enabled by click


  • 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 [{ }]


  • fix 2 json rpc bugs


  • fix processing command function


  • one space after fully completed command


  • all regex for formatting case insensitive


  • fix redraw lines on import_view, fix calculating rows


  • 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


  • add Terminal::exception function


  • fix login/logout


  • 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


  • fix terminal when start as invisible, rest property to parseCommand


  • fix last history command


  • fix reverse search


  • Don't show version when use source file


  • Allow to call $ in prompt


  • fix long line wrap on Init, don't call termina::resize on init


  • fix small errors and typos


  • fix flush, add option linksNoReferer


  • fix interpreter when there is not system.describe in JSON-RPC
  • add method flush and fix refresh


  • add ANSI 256 (8bit) formatting from Xterm
  • fix Regexes
  • add ntroff formatting support (output from man)


  • fix purge, json-rpc, history. Improve json-rpc and add check arity


  • add tests
  • terminal without eval
  • fix issue with umpersand (unenclosed entinity) in multiline


  • 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


  • finalize and raw options in echo


  • fix regexes, CMD+`, CMD+R, CMD+L on Mac, fix Resize if terminal is hidden, fix wrap ANSI formatting


  • fix arguments in automatic JSON-RPC


  • fix arguments in object as eval, new option processArguments


  • fix first echo (like greetings)


  • 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


  • fix scroll when attaching terminal to body in non Webkit browsers


  • level api function
  • restore mask on pop
  • click out of terminal remove focus
  • use selector as default name for the terminal


  • fix entity in lines
  • add data-text attribute to formatting span


  • function in push
  • allow to put braket in formatting (closed with escape)
  • print nested object in automatic rpc
  • terminal instance in login callback


  • tab completion work with callback function
  • push command allow for objects
  • add CTRL+G to cancel Reverse Search


  • fix Style


  • Small fixes


  • add exec, greetings, onClear, onBlur, onFocus, onTerminalChange


  • 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


  • fix scrollbar, better exceptions in chrome, replace urls with links
  • one style for font and color in root .terminal class


  • fix IE formatting issue by adding cross-browser split


  • add reverse history search on CTRL+R
  • fix cancel ajax call on CTRL+D


  • only one command from multiply commands is added to history
  • CTRL+D is handled even if exit is false


  • terminal don't add space after prompt (prompt need to add this space)
  • fix historyFilter
  • remove livequery


  • history return history object
  • add historyFilter
  • new event onCommandChange that execute scroll_to_bottom
  • add event onBeforeLogin


  • fix blank lines when echo longer strings


  • fix long line formatting and linebreak in the middle of formatting


  • fix wrap first line when prompt contain formatting


  • fix alt+d and ctrl+u


  • fix inserting special characters in Webkit on Windows


  • remove undocumented pipe operator
  • refreash prompt on resume


  • fix line wrapping when text contains tabulations


  • fix line wrapping with scrollbars


  • fix JSON-RPC when use without login


  • fix formatting when text contain empty lines


  • fix formatting when text contains newline characters


  • 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


  • fix cursor manipulation when command contain new line characters


  • fix function terminal.login_name


  • fix switch between terminals - when terminal is not visible scroll to current terminal


  • fix scrolling in jQuery 1.6


  • fixing PAGE UP/DOWN


  • fixing cursor in long lines


  • fixing small bugs, speed up resizing


  • 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


  • fix manipulation of long line commands


  • 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


  • fix append enter character (0x0D) to the command (thanks to marat for reporting the bug)


  • update mousewheel plugin which fix scrolling in Opera (Thanks for Alexey Dubovtsev for reporting the bug)


  • fix cursor in IE in tilda example


  • fix json serialization in IE


  • fix demos and clipboard textarea transparency in IE


  • fix long lines in command line issue


  • fix Terminal in Internet Exporer


  • fix blank line issue (thanks to Chris Janicki for finding the bug)
  • fix CTRL + Arrows scroll on CTRL+V


  • allow CTRL+W CTRL+T


  • 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.


  • fix down-arrow/open parentises issue in Opera and Chrome


  • add support for paste from clipboard with CTRL+V (Copy to clipboard is always enabled on websites)