klish Changelog

What's new in klish 2.0.2

Jan 12, 2015
  • Bugfix release.
  • Check access attribute for command links.
  • Fix bug with empty ini file value parsing.
  • Resolve PTYPE for "args" in a right way.
  • Fix segmentation fault.
  • Fix Lua plugin build.

New in klish 2.0.1 (Dec 16, 2014)

  • Fix access rights checking.
  • Fix debug mode.

New in klish 2.0.0 (Nov 25, 2014)

  • The klish-2.0.0 contains many changes. The main ones is plugin subsystem and user defined hooks.
  • The user can create his own shared library (.so file) with special API and export symbols to use as builtin functions within ACTION. Also shared object can export its own hooks (hook for access, for communication to confd, ...).
  • The plugin using is controlled by XML files. There are new tags: PLUGIN and HOOK. So to use your own C-based code with klish you don't need to recompile klish. Just create a plugin. See plugin examples in plugin/ dir within klish source tree.

New in klish 1.7.0 (Oct 27, 2014)

  • Tinyrl fix. Don't ignore first slash in parameter.
  • Don't inherit service file descriptors while ACTION execution.
  • Never show ACTION scripts in ps.
  • Add files for buildroot-2014.08

New in klish 1.6.7 (Dec 5, 2013)

  • Fix portability issues. Tested on Linux, FreeBSD, Solaris, QNX.
  • Fix libroxml >= 2.2.2 support.
  • Syslog facility for clish and konfd utils.
  • Internal getopt() implementation. For example QNX has uncompatible getopt() so internal one must be used.

New in klish 1.6.6 (Sep 3, 2013)

  • The SIGPIPE signal behaviour was fixed. Earlier the clish utility ignore this signal and the ACTION scripts inherit this ignoration. So some utilities used within ACTION scripts couldn't get SIGPIPE at all. Now the SIGPIPE signal handler set to default for the ACTION scripts.
  • The view field of COMMAND tag is dynamic now. You can use VARs in it.

New in klish 1.6.4 (Feb 16, 2013)

  • New bugfix versions klish-1.5.9 and klish-1.6.4 were released. This versions is important for the FreeBSD only.
  • The getpwent() function related problem was fixed.
  • The incompatibility bug can lead to "Bus error" on FreeBSD.

New in klish 1.6.3 (Dec 27, 2012)

  • The engine broke when the length of a completion string was greater than the width of the terminal.
  • All klish versions have this bug, including the original clish.
  • Debianization.

New in klish 1.6.2 (Dec 3, 2012)

  • The main feature of these release is programmable hotkeys.
  • Additionally the multiline and unsignedInteger type processing were fixed.
  • The klish-1.5.7 stable branch release is also out.

New in klish 1.6.0 (Jun 29, 2012)

  • The klish has no C++ code now so it can be build by toolchain without C++ support. It's useful for embedded systems.
  • The tinyXML internal implementation was removed. Now klish can use the following external XML backends to parse its XML config files: libxml2, expat, libroxml. These XML parsers are C-based. For details about XML backends see the https://code.google.com/p/klish/wiki/xml_backend
  • Thanks to Emmanuel Deloget for XML backends wrapper implementation.

New in klish 1.5.4 (Apr 12, 2012)

  • It's a portability release. Now it can be build on Linux, FreeBSD, OpenBSD, Solaris, QNX6. QNX6 has some problems with konf, konfd.
  • Much of legacy unused code was removed. Remove some unnecessary library dependencies.

New in klish 1.5.3 (Jan 25, 2012)

  • The idle timeout command line option was added. Use -t or --timeout= to set it. The klish command can be executed using klish -c "".
  • The konfd daemon is case sensitive now.
  • Implement _PROMPT_PREFIX, _PROMPT_SUFFIX vars for system wide prompt prefix and suffix.
  • Bugfix.

New in klish 1.5.2 (Nov 21, 2011)

  • More secure parameters escaping.
  • Additional modifiers for variables expanding.
  • Use -k (--check) option to check input file(s) for syntax errors.
  • Better error reporting.
  • The ordered optional parameters.
  • Fix alternative shebang hangup while execution.
  • The VAR can use internal functions as action.
  • New internal variable ${__isatty}.
  • Bugfix.

New in klish 1.5.1 (Aug 19, 2011)

  • It's a bugfix release.
  • Fix viewid expanding.
  • Fix BSD specific bug with getgr, getpw macroses.
  • Fix namespace completion.
  • Fix completion of commands with prefix.
  • Fix 'test' field within 'switch' PARAMs.

New in klish 1.5.0 (Jul 13, 2011)

  • The brackets (...) is not mandatory now in select PTYPE. By default the value will be equal to entered string.
  • Add global variables subsystem. New tag VAR describes variable that can be used within expandable strings (ACTION, test field, etc.). The variable can be static (it will be evaluated once) and dynamic (it will be evaluated on every using).
  • The completion field of PARAM tag was implemented. It gives possible completions (show on tab key) for current PARAM. The VARs can be used as an argument for completion field.
  • The -h options for konfd's protocol. It defines the max depth of output for the --dump command.
  • Multiline input. Terminal resize is possible. Fix del and backspace keys.
  • Command logging is implemented. All klish commands can be logged into the syslog files.
  • Idle timeout. The session can be closed after the idle timeout.
  • Watchdog. You can turn watchdog on. Then all klish commands will be considered as dangerous. And if no key is pressed the klish will execute WATCHDOG's ACTION after watchdog timeout. The ACTION can be reboot for example.
  • Multiply groups in access field of COMMAND tag. Access fields for the view and namespaces.
  • The API for the builtin functions was changed. It gets full context now.
  • Bugfix and optimizations.
  • Thanks to Michal Turek, Camilo Arboleda, Arun Sharma, Rahul Panwar, Lynn Scott and the others for the contribution and bug reporting.

New in klish 1.4.3 (Apr 28, 2011)

  • This release is functionally equal to 1.4.2 but it's FreeBSD compatible now. The FreeBSD errors and warnings were fixed.

New in klish 1.4.2 (Apr 14, 2011)

  • The main feature of this release is konfd and clish binaries speed-up. It's important for long initialization configs.
  • The konfd become full-blown daemon with pidfile etc.
  • The simple initscript for konfd is implemented.
  • There are many fixes for command completion and help. Bugfix.

New in klish 1.4.1 (Feb 25, 2011)

  • Fix autocompletion critical bug.
  • Fix klish shared libraries link dependencies.
  • Fix konf utility retval codes.
  • Make help output more cisco-like.

New in klish 1.4.0 (Feb 7, 2011)

  • The UTF-8 encoding support. See the http://code.google.com/p/klish/wiki/utf8 for details.
  • The atomic ACTION scripts. See the http://code.google.com/p/klish/wiki/atomic_action for details.
  • Optionally disabling of commands echo. The "--quite" clish utility option.

New in klish 1.3.1 (Dec 10, 2010)

  • The command aliases are implemented. The different command names can point to the same real command.
  • Support for the make with parallel building.
  • Fix autotools infrastructure.
  • Bugfix.

New in klish 1.3.0 (Nov 11, 2010)

  • The klish specific examples were added.
  • The konf utility was developed for the communicating to konfd daemon from the command line. It can set, unset entries into the user config and get the current config state.
  • The libclish API was changed. The clish shell is not needed to be executed within thread. The clish utility doesn't use threads now.
  • The locking mechanism is implemented. It is used to synchronize different instances of clish or utilities based on libclish libarary. The option to disable locking is implemented in clish utility because it can be executed from another clish.
  • The conditional PARAMs is implemented. The PARAM can be enabled or disabled relying on result of condition evaluation. The 'test' field is added to PARAM tag. The 'test' field syntax is similar to /bin/test utility. So the visibility of parameter can depend on previous PARAMs values.
  • The shebang is implemented. The shebang is implemented for the command's ACTION. So the script can be executed using different scripting languages.
  • The --dry-run (-d) option is implemented for the clish utility. The ACTION will not be actually executed. For debug purposes.
  • The --background (-b) option is implemented in clish utility. It means non-interactive/interactive mode of shell execution. The corresponding internal variable ${__interactive} can be used in ACTION script.
  • The another additional command line options for the clish utility and konfd daemon were implemented.
  • The XMLs and XML schema were fixed and validated.
  • Bugfix.
  • Thanks to lff.frm, Rahul Panwar, my co-workers and others for the bug reporting. Thanks lff.frm for klish specific XML examples.

New in klish 1.2.1 (Oct 6, 2010)

  • Fixed bug in 'dump' operation of CONFIG tag;
  • The konfd supports the quoted strings. The parameters with spaces will be automatically quoted while expanding the internal variables ${__line} and ${__params}.