diff options
Diffstat (limited to 'doc/highlight/CHANGES.md')
-rw-r--r-- | doc/highlight/CHANGES.md | 827 |
1 files changed, 827 insertions, 0 deletions
diff --git a/doc/highlight/CHANGES.md b/doc/highlight/CHANGES.md new file mode 100644 index 0000000..f878062 --- /dev/null +++ b/doc/highlight/CHANGES.md @@ -0,0 +1,827 @@ +## Version 8.0 beta + +This new major release is quite a big overhaul bringing both new features and +some backwards incompatible changes. However, chances are that the majority of +users won't be affected by the latter: the basic scenario described in the +README is left intact. + +Here's what did change in an incompatible way: + +- We're now prefixing all classes located in [CSS classes reference][cr] with + `hljs-`, by default, because some class names would collide with other + people's stylesheets. If you were using an older version, you might still want + the previous behavior, but still want to upgrade. To suppress this new + behavior, you would initialize like so: + + ```html + <script type="text/javascript"> + hljs.configure({classPrefix: ''}); + hljs.initHighlightingOnLoad(); + </script> + ``` + +- `tabReplace` and `useBR` that were used in different places are also unified + into the global options object and are to be set using `configure(options)`. + This function is documented in our [API docs][]. Also note that these + parameters are gone from `highlightBlock` and `fixMarkup` which are now also + rely on `configure`. + +- We removed public-facing (though undocumented) object `hljs.LANGUAGES` which + was used to register languages with the library in favor of two new methods: + `registerLanguage` and `getLanguage`. Both are documented in our [API docs][]. + +- Result returned from `highlight` and `highlightAuto` no longer contains two + separate attributes contributing to relevance score, `relevance` and + `keyword_count`. They are now unified in `relevance`. + +Another technically compatible change that nonetheless might need attention: + +- The structure of the NPM package was refactored, so if you had installed it + locally, you'll have to update your paths. The usual `require('highlight.js')` + works as before. This is contributed by [Dmitry Smolin][]. + +New features: + +- Languages now can be recognized by multiple names like "js" for JavaScript or + "html" for, well, HTML (which earlier insisted on calling it "xml"). These + aliases can be specified in the class attribute of the code container in your + HTML as well as in various API calls. For now there are only a few very common + aliases but we'll expand it in the future. All of them are listed in the + [class reference][]. + +- Language detection can now be restricted to a subset of languages relevant in + a given context — a web page or even a single highlighting call. This is + especially useful for node.js build that includes all the known languages. + Another example is a StackOverflow-style site where users specify languages + as tags rather than in the markdown-formatted code snippets. This is + documented in the [API reference][] (see methods `highlightAuto` and + `configure`). + +- Language definition syntax streamlined with [variants][] and + [beginKeywords][]. + +New languages and styles: + +- *Oxygene* by [Carlo Kok][] +- *Mathematica* by [Daniel Kvasnička][] +- *Autohotkey* by [Seongwon Lee][] +- *Atelier* family of styles in 10 variants by [Bram de Haan][] +- *Paraíso* styles by [Jan T. Sott][] + +Miscelleanous improvements: + +- Highlighting `=>` prompts in Clojure. +- [Jeremy Hull][] fixed a lot of styles for consistency. +- Finally, highlighting PHP and HTML [mixed in peculiar ways][php-html]. +- Objective C and C# now properly highlight titles in method definition. +- Big overhaul of relevance counting for a number of languages. Please do report + bugs about mis-detection of non-trivial code snippets! + +[cr]: http://highlightjs.readthedocs.org/en/latest/css-classes-reference.html +[api docs]: http://highlightjs.readthedocs.org/en/latest/api.html +[variants]: https://groups.google.com/d/topic/highlightjs/VoGC9-1p5vk/discussion +[beginKeywords]: https://github.com/isagalaev/highlight.js/commit/6c7fdea002eb3949577a85b3f7930137c7c3038d +[php-html]: https://twitter.com/highlightjs/status/408890903017689088 + +[Carlo Kok]: https://github.com/carlokok +[Bram de Haan]: https://github.com/atelierbram +[Daniel Kvasnička]: https://github.com/dkvasnicka +[Dmitry Smolin]: https://github.com/dimsmol +[Jeremy Hull]: https://github.com/sourrust +[Seongwon Lee]: https://github.com/dlimpid +[Jan T. Sott]: https://github.com/idleberg + + +## Version 7.5 + +A catch-up release dealing with some of the accumulated contributions. This one +is probably will be the last before the 8.0 which will be slightly backwards +incompatible regarding some advanced use-cases. + +One outstanding change in this version is the addition of 6 languages to the +[hosted script][d]: Markdown, ObjectiveC, CoffeeScript, Apache, Nginx and +Makefile. It now weighs about 6K more but we're going to keep it under 30K. + +New languages: + +- OCaml by [Mehdi Dogguy][mehdid] and [Nicolas Braud-Santoni][nbraud] +- [LiveCode Server][lcs] by [Ralf Bitter][revig] +- Scilab by [Sylvestre Ledru][sylvestre] +- basic support for Makefile by [Ivan Sagalaev][isagalaev] + +Improvements: + +- Ruby's got support for characters like `?A`, `?1`, `?\012` etc. and `%r{..}` + regexps. +- Clojure now allows a function call in the beginning of s-expressions + `(($filter "myCount") (arr 1 2 3 4 5))`. +- Haskell's got new keywords and now recognizes more things like pragmas, + preprocessors, modules, containers, FFIs etc. Thanks to [Zena Treep][treep] + for the implementation and to [Jeremy Hull][sourrust] for guiding it. +- Miscelleanous fixes in PHP, Brainfuck, SCSS, Asciidoc, CMake, Python and F#. + +[mehdid]: https://github.com/mehdid +[nbraud]: https://github.com/nbraud +[revig]: https://github.com/revig +[lcs]: http://livecode.com/developers/guides/server/ +[sylvestre]: https://github.com/sylvestre +[isagalaev]: https://github.com/isagalaev +[treep]: https://github.com/treep +[sourrust]: https://github.com/sourrust +[d]: http://highlightjs.org/download/ + + +## New core developers + +The latest long period of almost complete inactivity in the project coincided +with growing interest to it led to a decision that now seems completely obvious: +we need more core developers. + +So without further ado let me welcome to the core team two long-time +contributors: [Jeremy Hull][] and [Oleg +Efimov][]. + +Hope now we'll be able to work through stuff faster! + +P.S. The historical commit is [here][1] for the record. + +[Jeremy Hull]: https://github.com/sourrust +[Oleg Efimov]: https://github.com/sannis +[1]: https://github.com/isagalaev/highlight.js/commit/f3056941bda56d2b72276b97bc0dd5f230f2473f + + +## Version 7.4 + +This long overdue version is a snapshot of the current source tree with all the +changes that happened during the past year. Sorry for taking so long! + +Along with the changes in code highlight.js has finally got its new home at +<http://highlightjs.org/>, moving from its craddle on Software Maniacs which it +outgrew a long time ago. Be sure to report any bugs about the site to +<mailto:info@highlightjs.org>. + +On to what's new… + +New languages: + +- Handlebars templates by [Robin Ward][] +- Oracle Rules Language by [Jason Jacobson][] +- F# by [Joans Follesø][] +- AsciiDoc and Haml by [Dan Allen][] +- Lasso by [Eric Knibbe][] +- SCSS by [Kurt Emch][] +- VB.NET by [Poren Chiang][] +- Mizar by [Kelley van Evert][] + +[Robin Ward]: https://github.com/eviltrout +[Jason Jacobson]: https://github.com/jayce7 +[Joans Follesø]: https://github.com/follesoe +[Dan Allen]: https://github.com/mojavelinux +[Eric Knibbe]: https://github.com/EricFromCanada +[Kurt Emch]: https://github.com/kemch +[Poren Chiang]: https://github.com/rschiang +[Kelley van Evert]: https://github.com/kelleyvanevert + +New style themes: + +- Monokai Sublime by [noformnocontent][] +- Railscasts by [Damien White][] +- Obsidian by [Alexander Marenin][] +- Docco by [Simon Madine][] +- Mono Blue by [Ivan Sagalaev][] (uses a single color hue for everything) +- Foundation by [Dan Allen][] + +[noformnocontent]: http://nn.mit-license.org/ +[Damien White]: https://github.com/visoft +[Alexander Marenin]: https://github.com/ioncreature +[Simon Madine]: https://github.com/thingsinjars +[Ivan Sagalaev]: https://github.com/isagalaev + +Other notable changes: + +- Corrected many corner cases in CSS. +- Dropped Python 2 version of the build tool. +- Implemented building for the AMD format. +- Updated Rust keywords (thanks to [Dmitry Medvinsky][]). +- Literal regexes can now be used in language definitions. +- CoffeeScript highlighting is now significantly more robust and rich due to + input from [Cédric Néhémie][]. + +[Dmitry Medvinsky]: https://github.com/dmedvinsky +[Cédric Néhémie]: https://github.com/abe33 + + +## Version 7.3 + +- Since this version highlight.js no longer works in IE version 8 and older. + It's made it possible to reduce the library size and dramatically improve code + readability and made it easier to maintain. Time to go forward! + +- New languages: AppleScript (by [Nathan Grigg][ng] and [Dr. Drang][dd]) and + Brainfuck (by [Evgeny Stepanischev][bolk]). + +- Improvements to existing languages: + + - interpreter prompt in Python (`>>>` and `...`) + - @-properties and classes in CoffeeScript + - E4X in JavaScript (by [Oleg Efimov][oe]) + - new keywords in Perl (by [Kirk Kimmel][kk]) + - big Ruby syntax update (by [Vasily Polovnyov][vast]) + - small fixes in Bash + +- Also Oleg Efimov did a great job of moving all the docs for language and style + developers and contributors from the old wiki under the source code in the + "docs" directory. Now these docs are nicely presented at + <http://highlightjs.readthedocs.org/>. + +[ng]: https://github.com/nathan11g +[dd]: https://github.com/drdrang +[bolk]: https://github.com/bolknote +[oe]: https://github.com/Sannis +[kk]: https://github.com/kimmel +[vast]: https://github.com/vast + + +## Version 7.2 + +A regular bug-fix release without any significant new features. Enjoy! + + +## Version 7.1 + +A Summer crop: + +- [Marc Fornos][mf] made the definition for Clojure along with the matching + style Rainbow (which, of course, works for other languages too). +- CoffeeScript support continues to improve getting support for regular + expressions. +- Yoshihide Jimbo ported to highlight.js [five Tomorrow styles][tm] from the + [project by Chris Kempson][tm0]. +- Thanks to [Casey Duncun][cd] the library can now be built in the popular + [AMD format][amd]. +- And last but not least, we've got a fair number of correctness and consistency + fixes, including a pretty significant refactoring of Ruby. + +[mf]: https://github.com/mfornos +[tm]: http://jmblog.github.com/color-themes-for-highlightjs/ +[tm0]: https://github.com/ChrisKempson/Tomorrow-Theme +[cd]: https://github.com/caseman +[amd]: http://requirejs.org/docs/whyamd.html + + +## Version 7.0 + +The reason for the new major version update is a global change of keyword syntax +which resulted in the library getting smaller once again. For example, the +hosted build is 2K less than at the previous version while supporting two new +languages. + +Notable changes: + +- The library now works not only in a browser but also with [node.js][]. It is + installable with `npm install highlight.js`. [API][] docs are available on our + wiki. + +- The new unique feature (apparently) among syntax highlighters is highlighting + *HTTP* headers and an arbitrary language in the request body. The most useful + languages here are *XML* and *JSON* both of which highlight.js does support. + Here's [the detailed post][p] about the feature. + +- Two new style themes: a dark "south" *[Pojoaque][]* by Jason Tate and an + emulation of*XCode* IDE by [Angel Olloqui][ao]. + +- Three new languages: *D* by [Aleksandar Ružičić][ar], *R* by [Joe Cheng][jc] + and *GLSL* by [Sergey Tikhomirov][st]. + +- *Nginx* syntax has become a million times smaller and more universal thanks to + remaking it in a more generic manner that doesn't require listing all the + directives in the known universe. + +- Function titles are now highlighted in *PHP*. + +- *Haskell* and *VHDL* were significantly reworked to be more rich and correct + by their respective maintainers [Jeremy Hull][sr] and [Igor Kalnitsky][ik]. + +And last but not least, many bugs have been fixed around correctness and +language detection. + +Overall highlight.js currently supports 51 languages and 20 style themes. + +[node.js]: http://nodejs.org/ +[api]: http://softwaremaniacs.org/wiki/doku.php/highlight.js:api +[p]: http://softwaremaniacs.org/blog/2012/05/10/http-and-json-in-highlight-js/en/ +[pojoaque]: http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html +[ao]: https://github.com/angelolloqui +[ar]: https://github.com/raleksandar +[jc]: https://github.com/jcheng5 +[st]: https://github.com/tikhomirov +[sr]: https://github.com/sourrust +[ik]: https://github.com/ikalnitsky + + +## Version 6.2 + +A lot of things happened in highlight.js since the last version! We've got nine +new contributors, the discussion group came alive, and the main branch on GitHub +now counts more than 350 followers. Here are most significant results coming +from all this activity: + +- 5 (five!) new languages: Rust, ActionScript, CoffeeScript, MatLab and + experimental support for markdown. Thanks go to [Andrey Vlasovskikh][av], + [Alexander Myadzel][am], [Dmytrii Nagirniak][dn], [Oleg Efimov][oe], [Denis + Bardadym][db] and [John Crepezzi][jc]. + +- 2 new style themes: Monokai by [Luigi Maselli][lm] and stylistic imitation of + another well-known highlighter Google Code Prettify by [Aahan Krish][ak]. + +- A vast number of [correctness fixes and code refactorings][log], mostly made + by [Oleg Efimov][oe] and [Evgeny Stepanischev][es]. + +[av]: https://github.com/vlasovskikh +[am]: https://github.com/myadzel +[dn]: https://github.com/dnagir +[oe]: https://github.com/Sannis +[db]: https://github.com/btd +[jc]: https://github.com/seejohnrun +[lm]: http://grigio.org/ +[ak]: https://github.com/geekpanth3r +[es]: https://github.com/bolknote +[log]: https://github.com/isagalaev/highlight.js/commits/ + + +## Version 6.1 — Solarized + +[Jeremy Hull][jh] has implemented my dream feature — a port of [Solarized][] +style theme famous for being based on the intricate color theory to achieve +correct contrast and color perception. It is now available for highlight.js in +both variants — light and dark. + +This version also adds a new original style Arta. Its author pumbur maintains a +[heavily modified fork of highlight.js][pb] on GitHub. + +[jh]: https://github.com/sourrust +[solarized]: http://ethanschoonover.com/solarized +[pb]: https://github.com/pumbur/highlight.js + + +## Version 6.0 + +New major version of the highlighter has been built on a significantly +refactored syntax. Due to this it's even smaller than the previous one while +supporting more languages! + +New languages are: + +- Haskell by [Jeremy Hull][sourrust] +- Erlang in two varieties — module and REPL — made collectively by [Nikolay + Zakharov][desh], [Dmitry Kovega][arhibot] and [Sergey Ignatov][ignatov] +- Objective C by [Valerii Hiora][vhbit] +- Vala by [Antono Vasiljev][antono] +- Go by [Stephan Kountso][steplg] + +[sourrust]: https://github.com/sourrust +[desh]: http://desh.su/ +[arhibot]: https://github.com/arhibot +[ignatov]: https://github.com/ignatov +[vhbit]: https://github.com/vhbit +[antono]: https://github.com/antono +[steplg]: https://github.com/steplg + +Also this version is marginally faster and fixes a number of small long-standing +bugs. + +Developer overview of the new language syntax is available in a [blog post about +recent beta release][beta]. + +[beta]: http://softwaremaniacs.org/blog/2011/04/25/highlight-js-60-beta/en/ + +P.S. New version is not yet available on a Yandex' CDN, so for now you have to +download [your own copy][d]. + +[d]: /soft/highlight/en/download/ + + +## Version 5.14 + +Fixed bugs in HTML/XML detection and relevance introduced in previous +refactoring. + +Also test.html now shows the second best result of language detection by +relevance. + + +## Version 5.13 + +Past weekend began with a couple of simple additions for existing languages but +ended up in a big code refactoring bringing along nice improvements for language +developers. + +### For users + +- Description of C++ has got new keywords from the upcoming [C++ 0x][] standard. +- Description of HTML has got new tags from [HTML 5][]. +- CSS-styles have been unified to use consistent padding and also have lost + pop-outs with names of detected languages. +- [Igor Kalnitsky][ik] has sent two new language descriptions: CMake и VHDL. + +This makes total number of languages supported by highlight.js to reach 35. + +Bug fixes: + +- Custom classes on `<pre>` tags are not being overridden anymore +- More correct highlighting of code blocks inside non-`<pre>` containers: + highlighter now doesn't insist on replacing them with its own container and + just replaces the contents. +- Small fixes in browser compatibility and heuristics. + +[c++ 0x]: http://ru.wikipedia.org/wiki/C%2B%2B0x +[html 5]: http://en.wikipedia.org/wiki/HTML5 +[ik]: http://kalnitsky.org.ua/ + +### For developers + +The most significant change is the ability to include language submodes right +under `contains` instead of defining explicit named submodes in the main array: + + contains: [ + 'string', + 'number', + {begin: '\\n', end: hljs.IMMEDIATE_RE} + ] + +This is useful for auxiliary modes needed only in one place to define parsing. +Note that such modes often don't have `className` and hence won't generate a +separate `<span>` in the resulting markup. This is similar in effect to +`noMarkup: true`. All existing languages have been refactored accordingly. + +Test file test.html has at last become a real test. Now it not only puts the +detected language name under the code snippet but also tests if it matches the +expected one. Test summary is displayed right above all language snippets. + + +## CDN + +Fine people at [Yandex][] agreed to host highlight.js on their big fast servers. +[Link up][l]! + +[yandex]: http://yandex.com/ +[l]: http://softwaremaniacs.org/soft/highlight/en/download/ + + +## Version 5.10 — "Paris". + +Though I'm on a vacation in Paris, I decided to release a new version with a +couple of small fixes: + +- Tomas Vitvar discovered that TAB replacement doesn't always work when used + with custom markup in code +- SQL parsing is even more rigid now and doesn't step over SmallTalk in tests + + +## Version 5.9 + +A long-awaited version is finally released. + +New languages: + +- Andrew Fedorov made a definition for Lua +- a long-time highlight.js contributor [Peter Leonov][pl] made a definition for + Nginx config +- [Vladimir Moskva][vm] made a definition for TeX + +[pl]: http://kung-fu-tzu.ru/ +[vm]: http://fulc.ru/ + +Fixes for existing languages: + +- [Loren Segal][ls] reworked the Ruby definition and added highlighting for + [YARD][] inline documentation +- the definition of SQL has become more solid and now it shouldn't be overly + greedy when it comes to language detection + +[ls]: http://gnuu.org/ +[yard]: http://yardoc.org/ + +The highlighter has become more usable as a library allowing to do highlighting +from initialization code of JS frameworks and in ajax methods (see. +readme.eng.txt). + +Also this version drops support for the [WordPress][wp] plugin. Everyone is +welcome to [pick up its maintenance][p] if needed. + +[wp]: http://wordpress.org/ +[p]: http://bazaar.launchpad.net/~isagalaev/+junk/highlight/annotate/342/src/wp_highlight.js.php + + +## Version 5.8 + +- Jan Berkel has contributed a definition for Scala. +1 to hotness! +- All CSS-styles are rewritten to work only inside `<pre>` tags to avoid + conflicts with host site styles. + + +## Version 5.7. + +Fixed escaping of quotes in VBScript strings. + + +## Version 5.5 + +This version brings a small change: now .ini-files allow digits, underscores and +square brackets in key names. + + +## Version 5.4 + +Fixed small but upsetting bug in the packer which caused incorrect highlighting +of explicitly specified languages. Thanks to Andrew Fedorov for precise +diagnostics! + + +## Version 5.3 + +The version to fulfil old promises. + +The most significant change is that highlight.js now preserves custom user +markup in code along with its own highlighting markup. This means that now it's +possible to use, say, links in code. Thanks to [Vladimir Dolzhenko][vd] for the +[initial proposal][1] and for making a proof-of-concept patch. + +Also in this version: + +- [Vasily Polovnyov][vp] has sent a GitHub-like style and has implemented + support for CSS @-rules and Ruby symbols. +- Yura Zaripov has sent two styles: Brown Paper and School Book. +- Oleg Volchkov has sent a definition for [Parser 3][p3]. + +[1]: http://softwaremaniacs.org/forum/highlightjs/6612/ +[p3]: http://www.parser.ru/ +[vp]: http://vasily.polovnyov.ru/ +[vd]: http://dolzhenko.blogspot.com/ + + +## Version 5.2 + +- at last it's possible to replace indentation TABs with something sensible (e.g. 2 or 4 spaces) +- new keywords and built-ins for 1C by Sergey Baranov +- a couple of small fixes to Apache highlighting + + +## Version 5.1 + +This is one of those nice version consisting entirely of new and shiny +contributions! + +- [Vladimir Ermakov][vooon] created highlighting for AVR Assembler +- [Ruslan Keba][rukeba] created highlighting for Apache config file. Also his + original visual style for it is now available for all highlight.js languages + under the name "Magula". +- [Shuen-Huei Guan][drake] (aka Drake) sent new keywords for RenderMan + languages. Also thanks go to [Konstantin Evdokimenko][ke] for his advice on + the matter. + +[vooon]: http://vehq.ru/about/ +[rukeba]: http://rukeba.com/ +[drake]: http://drakeguan.org/ +[ke]: http://k-evdokimenko.moikrug.ru/ + + +## Version 5.0 + +The main change in the new major version of highlight.js is a mechanism for +packing several languages along with the library itself into a single compressed +file. Now sites using several languages will load considerably faster because +the library won't dynamically include additional files while loading. + +Also this version fixes a long-standing bug with Javascript highlighting that +couldn't distinguish between regular expressions and division operations. + +And as usually there were a couple of minor correctness fixes. + +Great thanks to all contributors! Keep using highlight.js. + + +## Version 4.3 + +This version comes with two contributions from [Jason Diamond][jd]: + +- language definition for C# (yes! it was a long-missed thing!) +- Visual Studio-like highlighting style + +Plus there are a couple of minor bug fixes for parsing HTML and XML attributes. + +[jd]: http://jason.diamond.name/weblog/ + + +## Version 4.2 + +The biggest news is highlighting for Lisp, courtesy of Vasily Polovnyov. It's +somewhat experimental meaning that for highlighting "keywords" it doesn't use +any pre-defined set of a Lisp dialect. Instead it tries to highlight first word +in parentheses wherever it makes sense. I'd like to ask people programming in +Lisp to confirm if it's a good idea and send feedback to [the forum][f]. + +Other changes: + +- Smalltalk was excluded from DEFAULT_LANGUAGES to save traffic +- [Vladimir Epifanov][voldmar] has implemented javascript style switcher for + test.html +- comments now allowed inside Ruby function definition +- [MEL][] language from [Shuen-Huei Guan][drake] +- whitespace now allowed between `<pre>` and `<code>` +- better auto-detection of C++ and PHP +- HTML allows embedded VBScript (`<% .. %>`) + +[f]: http://softwaremaniacs.org/forum/highlightjs/ +[voldmar]: http://voldmar.ya.ru/ +[mel]: http://en.wikipedia.org/wiki/Maya_Embedded_Language +[drake]: http://drakeguan.org/ + + +## Version 4.1 + +Languages: + +- Bash from Vah +- DOS bat-files from Alexander Makarov (Sam) +- Diff files from Vasily Polovnyov +- Ini files from myself though initial idea was from Sam + +Styles: + +- Zenburn from Vladimir Epifanov, this is an imitation of a + [well-known theme for Vim][zenburn]. +- Ascetic from myself, as a realization of ideals of non-flashy highlighting: + just one color in only three gradations :-) + +In other news. [One small bug][bug] was fixed, built-in keywords were added for +Python and C++ which improved auto-detection for the latter (it was shame that +[my wife's blog][alenacpp] had issues with it from time to time). And lastly +thanks go to Sam for getting rid of my stylistic comments in code that were +getting in the way of [JSMin][]. + +[zenburn]: http://en.wikipedia.org/wiki/Zenburn +[alenacpp]: http://alenacpp.blogspot.com/ +[bug]: http://softwaremaniacs.org/forum/viewtopic.php?id=1823 +[jsmin]: http://code.google.com/p/jsmin-php/ + + +## Version 4.0 + +New major version is a result of vast refactoring and of many contributions. + +Visible new features: + +- Highlighting of embedded languages. Currently is implemented highlighting of + Javascript and CSS inside HTML. +- Bundled 5 ready-made style themes! + +Invisible new features: + +- Highlight.js no longer pollutes global namespace. Only one object and one + function for backward compatibility. +- Performance is further increased by about 15%. + +Changing of a major version number caused by a new format of language definition +files. If you use some third-party language files they should be updated. + + +## Version 3.5 + +A very nice version in my opinion fixing a number of small bugs and slightly +increased speed in a couple of corner cases. Thanks to everybody who reports +bugs in he [forum][f] and by email! + +There is also a new language — XML. A custom XML formerly was detected as HTML +and didn't highlight custom tags. In this version I tried to make custom XML to +be detected and highlighted by its own rules. Which by the way include such +things as CDATA sections and processing instructions (`<? ... ?>`). + +[f]: http://softwaremaniacs.org/forum/viewforum.php?id=6 + + +## Version 3.3 + +[Vladimir Gubarkov][xonix] has provided an interesting and useful addition. +File export.html contains a little program that shows and allows to copy and +paste an HTML code generated by the highlighter for any code snippet. This can +be useful in situations when one can't use the script itself on a site. + + +[xonix]: http://xonixx.blogspot.com/ + + +## Version 3.2 consists completely of contributions: + +- Vladimir Gubarkov has described SmallTalk +- Yuri Ivanov has described 1C +- Peter Leonov has packaged the highlighter as a Firefox extension +- Vladimir Ermakov has compiled a mod for phpBB + +Many thanks to you all! + + +## Version 3.1 + +Three new languages are available: Django templates, SQL and Axapta. The latter +two are sent by [Dmitri Roudakov][1]. However I've almost entirely rewrote an +SQL definition but I'd never started it be it from the ground up :-) + +The engine itself has got a long awaited feature of grouping keywords +("keyword", "built-in function", "literal"). No more hacks! + +[1]: http://roudakov.ru/ + + +## Version 3.0 + +It is major mainly because now highlight.js has grown large and has become +modular. Now when you pass it a list of languages to highlight it will +dynamically load into a browser only those languages. + +Also: + +- Konstantin Evdokimenko of [RibKit][] project has created a highlighting for + RenderMan Shading Language and RenderMan Interface Bytestream. Yay for more + languages! +- Heuristics for C++ and HTML got better. +- I've implemented (at last) a correct handling of backslash escapes in C-like + languages. + +There is also a small backwards incompatible change in the new version. The +function initHighlighting that was used to initialize highlighting instead of +initHighlightingOnLoad a long time ago no longer works. If you by chance still +use it — replace it with the new one. + +[RibKit]: http://ribkit.sourceforge.net/ + + +## Version 2.9 + +Highlight.js is a parser, not just a couple of regular expressions. That said +I'm glad to announce that in the new version 2.9 has support for: + +- in-string substitutions for Ruby -- `#{...}` +- strings from from numeric symbol codes (like #XX) for Delphi + + +## Version 2.8 + +A maintenance release with more tuned heuristics. Fully backwards compatible. + + +## Version 2.7 + +- Nikita Ledyaev presents highlighting for VBScript, yay! +- A couple of bugs with escaping in strings were fixed thanks to Mickle +- Ongoing tuning of heuristics + +Fixed bugs were rather unpleasant so I encourage everyone to upgrade! + + +## Version 2.4 + +- Peter Leonov provides another improved highlighting for Perl +- Javascript gets a new kind of keywords — "literals". These are the words + "true", "false" and "null" + +Also highlight.js homepage now lists sites that use the library. Feel free to +add your site by [dropping me a message][mail] until I find the time to build a +submit form. + +[mail]: mailto:Maniac@SoftwareManiacs.Org + + +## Version 2.3 + +This version fixes IE breakage in previous version. My apologies to all who have +already downloaded that one! + + +## Version 2.2 + +- added highlighting for Javascript +- at last fixed parsing of Delphi's escaped apostrophes in strings +- in Ruby fixed highlighting of keywords 'def' and 'class', same for 'sub' in + Perl + + +## Version 2.0 + +- Ruby support by [Anton Kovalyov][ak] +- speed increased by orders of magnitude due to new way of parsing +- this same way allows now correct highlighting of keywords in some tricky + places (like keyword "End" at the end of Delphi classes) + +[ak]: http://anton.kovalyov.net/ + + +## Version 1.0 + +Version 1.0 of javascript syntax highlighter is released! + +It's the first version available with English description. Feel free to post +your comments and question to [highlight.js forum][forum]. And don't be afraid +if you find there some fancy Cyrillic letters -- it's for Russian users too :-) + +[forum]: http://softwaremaniacs.org/forum/viewforum.php?id=6 |