As in other areas, Junos leverages open source software in its SLAX scripting infrastructure. In particular, the libxml2 and libxslt libraries are used as well as the more recently created libslax library. This dependence on third-party software can make it difficult to determine when features were introduced and/or bugs were fixed. To help clear things up, I went ahead and documented the history of code imports for libcurl, libxml2, libxslt, and libslax into Junos. If there are any imports that I missed or listed incorrectly, then please let me know. Otherwise, I hope this information is useful. This applies to SLAX version 1.1 and higher.
libcurl is an open source URL transfer library. It was added in SLAX 1.1, providing access to the new curl:* extension functions. You can see details on the different libcurl versions here: http://curl.haxx.se/changes.html
|libcurl version||Junos version|
|libxml2 version||Junos version|
libxslt is an open source library implementing the XSLT language, which is used to transform XSL. SLAX scripts are converted into XSLT scripts before being processed by the script processor provided via libxslt. You can see details on the different libxslt versions here: http://xmlsoft.org/XSLT/news.html
|libxslt Version||Junos Version|
libslax is an open source implementation of the SLAX scripting language. When originally introduced, SLAX was included natively within Junos, but starting with the release of SLAX 1.1 in Junos 12.2, the code is now found within the libslax library.
|libslax version||Junos version|
Original from Curtis Call blog post December 13, 2013. Released to TechWiki with permission.