OLD | NEW |
(Empty) | |
| 1 ## Version 8.3 |
| 2 |
| 3 We streamlined our tool chain, it is now based entirely on node.js instead of |
| 4 being a mix of node.js, Python and Java. The build script options and arguments |
| 5 remained the same, and we've noted all the changes in the [documentation][b]. |
| 6 Apart from reducing complexity, the new build script is also faster from not |
| 7 having to start Java machine repeatedly. The credits for the work go to [Jeremy |
| 8 Hull][]. |
| 9 |
| 10 Some notable fixes: |
| 11 |
| 12 - PHP and JavaScript mixed in HTML now live happily with each other. |
| 13 - JavaScript regexes now understand ES6 flags "u" and "y". |
| 14 - `throw` keyword is no longer detected as a method name in Java. |
| 15 - Fixed parsing of numbers and symbols in Clojure thanks to [input from Ivan |
| 16 Kleshnin][ik]. |
| 17 |
| 18 New languages in this release: |
| 19 |
| 20 - *Less* by [Max Mikhailov][] |
| 21 - *Stylus* by [Bryant Williams][] |
| 22 - *Tcl* by [Radek Liska][] |
| 23 - *Puppet* by [Jose Molina Colmenero][] |
| 24 - *Processing* by [Erik Paluka][] |
| 25 - *Twig* templates by [Luke Holder][] |
| 26 - *PowerShell* by [David Mohundro][], based on [the work of Nicholas |
| 27 Blumhardt][ps] |
| 28 - *XL* by [Christophe de Dinechin][] |
| 29 - *LiveScript* by [Taneli Vatanen][] and [Jen Evers-Corvina][] |
| 30 - *ERB* (Ruby in HTML) by [Lucas Mazza][] |
| 31 |
| 32 [b]: http://highlightjs.readthedocs.org/en/latest/building-testing.html |
| 33 [Jeremy Hull]: https://github.com/sourrust |
| 34 [ik]: https://twitter.com/IvanKleshnin/status/514041599484231680 |
| 35 [Max Mikhailov]: https://github.com/seven-phases-max |
| 36 [Bryant Williams]: https://github.com/scien |
| 37 [Radek Liska]: https://github.com/Nindaleth |
| 38 [Jose Molina Colmenero]: https://github.com/Moliholy |
| 39 [Erik Paluka]: https://github.com/paluka |
| 40 [Luke Holder]: https://github.com/lukeholder |
| 41 [David Mohundro]: https://github.com/drmohundro |
| 42 [ps]: https://github.com/OctopusDeploy/Library/blob/master/app/shared/presentati
on/highlighting/powershell.js |
| 43 [Christophe de Dinechin]: https://github.com/c3d |
| 44 [Taneli Vatanen]: https://github.com/Daiz- |
| 45 [Jen Evers-Corvina]: https://github.com/sevvie |
| 46 [Lucas Mazza]: https://github.com/lucasmazza |
| 47 |
| 48 ## Version 8.2 |
| 49 |
| 50 We've finally got [real tests][test] and [continuous testing on Travis][ci] |
| 51 thanks to [Jeremy Hull][] and [Chris Eidhof][]. The tests designed to cover |
| 52 everything: language detection, correct parsing of individual language features |
| 53 and various special cases. This is a very important change that gives us |
| 54 confidence in extending language definitions and refactoring library core. |
| 55 |
| 56 We're going to redesign the old [demo/test suite][demo] into an interactive |
| 57 demo web app. If you're confident front-end developer or designer and want to |
| 58 help us with it, drop a comment into [the issue][#542] on GitHub. |
| 59 |
| 60 [test]: https://github.com/isagalaev/highlight.js/tree/master/test |
| 61 [demo]: https://highlightjs.org/static/test.html |
| 62 [#542]: https://github.com/isagalaev/highlight.js/issues/542 |
| 63 [ci]: https://travis-ci.org/isagalaev/highlight.js |
| 64 [Jeremy Hull]: https://github.com/sourrust |
| 65 [Chris Eidhof]: https://github.com/chriseidhof |
| 66 |
| 67 As usually there's a handful of new languages in this release: |
| 68 |
| 69 - *Groovy* by [Guillaume Laforge][] |
| 70 - *Dart* by [Maxim Dikun][] |
| 71 - *Dust* by [Michael Allen][] |
| 72 - *Scheme* by [JP Verkamp][] |
| 73 - *G-Code* by [Adam Joseph Cook][] |
| 74 - *Q* from Kx Systems by [Sergey Vidyuk][] |
| 75 |
| 76 [Guillaume Laforge]: https://github.com/glaforge |
| 77 [Maxim Dikun]: https://github.com/dikmax |
| 78 [Michael Allen]: https://github.com/bfui |
| 79 [JP Verkamp]: https://github.com/jpverkamp |
| 80 [Adam Joseph Cook]: https://github.com/adamjcook |
| 81 [Sergey Vidyuk]: https://github.com/sv |
| 82 |
| 83 Other improvements: |
| 84 |
| 85 - [Erik Osheim][] heavily reworked Scala definitions making it richer. |
| 86 - [Lucas Mazza][] fixed Ruby hashes highlighting |
| 87 - Lisp variants (Lisp, Clojure and Scheme) are unified in regard to naming |
| 88 the first symbol in parentheses: it's "keyword" in general case and also |
| 89 "built_in" for built-in functions in Clojure and Scheme. |
| 90 |
| 91 [Erik Osheim]: https://github.com/non |
| 92 [Lucas Mazza]: https://github.com/lucasmazza |
| 93 |
| 94 ## Version 8.1 |
| 95 |
| 96 New languages: |
| 97 |
| 98 - *Gherkin* by [Sam Pikesley][] |
| 99 - *Elixir* by [Josh Adams][] |
| 100 - *NSIS* by [Jan T. Sott][] |
| 101 - *VIM script* by [Jun Yang][] |
| 102 - *Protocol Buffers* by [Dan Tao][] |
| 103 - *Nix* by [Domen Kožar][] |
| 104 - *x86asm* by [innocenat][] |
| 105 - *Cap’n Proto* and *Thrift* by [Oleg Efimov][] |
| 106 - *Monkey* by [Arthur Bikmullin][] |
| 107 - *TypeScript* by [Panu Horsmalahti][] |
| 108 - *Nimrod* by [Flaviu Tamas][] |
| 109 - *Gradle* by [Damian Mee][] |
| 110 - *Haxe* by [Christopher Kaster][] |
| 111 - *Swift* by [Chris Eidhof][] and [Nate Cook][] |
| 112 |
| 113 New styles: |
| 114 |
| 115 - *Kimbie*, light and dark variants by [Jan T. Sott][] |
| 116 - *Color brewer* by [Fabrício Tavares de Oliveira][] |
| 117 - *Codepen.io embed* by [Justin Perry][] |
| 118 - *Hybrid* by [Nic West][] |
| 119 |
| 120 [Sam Pikesley]: https://github.com/pikesley |
| 121 [Sindre Sorhus]: https://github.com/sindresorhus |
| 122 [Josh Adams]: https://github.com/knewter |
| 123 [Jan T. Sott]: https://github.com/idleberg |
| 124 [Jun Yang]: https://github.com/harttle |
| 125 [Dan Tao]: https://github.com/dtao |
| 126 [Domen Kožar]: https://github.com/iElectric |
| 127 [innocenat]: https://github.com/innocenat |
| 128 [Oleg Efimov]: https://github.com/Sannis |
| 129 [Arthur Bikmullin]: https://github.com/devolonter |
| 130 [Panu Horsmalahti]: https://github.com/panuhorsmalahti |
| 131 [Flaviu Tamas]: https://github.com/flaviut |
| 132 [Damian Mee]: https://github.com/chester1000 |
| 133 [Christopher Kaster]: http://christopher.kaster.ws |
| 134 [Fabrício Tavares de Oliveira]: https://github.com/fabriciotav |
| 135 [Justin Perry]: https://github.com/ourmaninamsterdam |
| 136 [Nic West]: https://github.com/nicwest |
| 137 [Chris Eidhof]: https://github.com/chriseidhof |
| 138 [Nate Cook]: https://github.com/natecook1000 |
| 139 |
| 140 Other improvements: |
| 141 |
| 142 - The README is heavily reworked and brought up to date by [Jeremy Hull][]. |
| 143 - Added [`listLanguages()`][ll] method in the API. |
| 144 - Improved C/C++/C# detection. |
| 145 - Added a bunch of new language aliases, documented the existing ones. Thanks to |
| 146 [Sindre Sorhus][] for background research. |
| 147 - Added phrasal English words to boost relevance in comments. |
| 148 - Many improvements to SQL definition made by [Heiko August][], |
| 149 [Nikolay Lisienko][] and [Travis Odom][]. |
| 150 - The shorter `lang-` prefix for language names in HTML classes supported |
| 151 alongside `language-`. Thanks to [Jeff Escalante][]. |
| 152 - Ruby's got support for interactive console sessions. Thanks to |
| 153 [Pascal Hurni][]. |
| 154 - Added built-in functions for R language. Thanks to [Artem A. Klevtsov][]. |
| 155 - Rust's got definition for lifetime parameters and improved string syntax. |
| 156 Thanks to [Roman Shmatov][]. |
| 157 - Various improvements to Objective-C definition by [Matt Diephouse][]. |
| 158 - Fixed highlighting of generics in Java. |
| 159 |
| 160 [ll]: http://highlightjs.readthedocs.org/en/latest/api.html#listlanguages |
| 161 [Sindre Sorhus]: https://github.com/sindresorhus |
| 162 [Heiko August]: https://github.com/auge8472 |
| 163 [Nikolay Lisienko]: https://github.com/neor-ru |
| 164 [Travis Odom]: https://github.com/Burstaholic |
| 165 [Jeff Escalante]: https://github.com/jenius |
| 166 [Pascal Hurni]: https://github.com/phurni |
| 167 [Jiyin Yiyong]: https://github.com/jiyinyiyong |
| 168 [Artem A. Klevtsov]: https://github.com/unikum |
| 169 [Roman Shmatov]: https://github.com/shmatov |
| 170 [Jeremy Hull]: https://github.com/sourrust |
| 171 [Matt Diephouse]: https://github.com/mdiep |
| 172 |
| 173 |
| 174 ## Version 8.0 |
| 175 |
| 176 This new major release is quite a big overhaul bringing both new features and |
| 177 some backwards incompatible changes. However, chances are that the majority of |
| 178 users won't be affected by the latter: the basic scenario described in the |
| 179 README is left intact. |
| 180 |
| 181 Here's what did change in an incompatible way: |
| 182 |
| 183 - We're now prefixing all classes located in [CSS classes reference][cr] with |
| 184 `hljs-`, by default, because some class names would collide with other |
| 185 people's stylesheets. If you were using an older version, you might still want |
| 186 the previous behavior, but still want to upgrade. To suppress this new |
| 187 behavior, you would initialize like so: |
| 188 |
| 189 ```html |
| 190 <script type="text/javascript"> |
| 191 hljs.configure({classPrefix: ''}); |
| 192 hljs.initHighlightingOnLoad(); |
| 193 </script> |
| 194 ``` |
| 195 |
| 196 - `tabReplace` and `useBR` that were used in different places are also unified |
| 197 into the global options object and are to be set using `configure(options)`. |
| 198 This function is documented in our [API docs][]. Also note that these |
| 199 parameters are gone from `highlightBlock` and `fixMarkup` which are now also |
| 200 rely on `configure`. |
| 201 |
| 202 - We removed public-facing (though undocumented) object `hljs.LANGUAGES` which |
| 203 was used to register languages with the library in favor of two new methods: |
| 204 `registerLanguage` and `getLanguage`. Both are documented in our [API docs][]. |
| 205 |
| 206 - Result returned from `highlight` and `highlightAuto` no longer contains two |
| 207 separate attributes contributing to relevance score, `relevance` and |
| 208 `keyword_count`. They are now unified in `relevance`. |
| 209 |
| 210 Another technically compatible change that nonetheless might need attention: |
| 211 |
| 212 - The structure of the NPM package was refactored, so if you had installed it |
| 213 locally, you'll have to update your paths. The usual `require('highlight.js')` |
| 214 works as before. This is contributed by [Dmitry Smolin][]. |
| 215 |
| 216 New features: |
| 217 |
| 218 - Languages now can be recognized by multiple names like "js" for JavaScript or |
| 219 "html" for, well, HTML (which earlier insisted on calling it "xml"). These |
| 220 aliases can be specified in the class attribute of the code container in your |
| 221 HTML as well as in various API calls. For now there are only a few very common |
| 222 aliases but we'll expand it in the future. All of them are listed in the |
| 223 [class reference][cr]. |
| 224 |
| 225 - Language detection can now be restricted to a subset of languages relevant in |
| 226 a given context — a web page or even a single highlighting call. This is |
| 227 especially useful for node.js build that includes all the known languages. |
| 228 Another example is a StackOverflow-style site where users specify languages |
| 229 as tags rather than in the markdown-formatted code snippets. This is |
| 230 documented in the [API reference][] (see methods `highlightAuto` and |
| 231 `configure`). |
| 232 |
| 233 - Language definition syntax streamlined with [variants][] and |
| 234 [beginKeywords][]. |
| 235 |
| 236 New languages and styles: |
| 237 |
| 238 - *Oxygene* by [Carlo Kok][] |
| 239 - *Mathematica* by [Daniel Kvasnička][] |
| 240 - *Autohotkey* by [Seongwon Lee][] |
| 241 - *Atelier* family of styles in 10 variants by [Bram de Haan][] |
| 242 - *Paraíso* styles by [Jan T. Sott][] |
| 243 |
| 244 Miscellaneous improvements: |
| 245 |
| 246 - Highlighting `=>` prompts in Clojure. |
| 247 - [Jeremy Hull][] fixed a lot of styles for consistency. |
| 248 - Finally, highlighting PHP and HTML [mixed in peculiar ways][php-html]. |
| 249 - Objective C and C# now properly highlight titles in method definition. |
| 250 - Big overhaul of relevance counting for a number of languages. Please do report |
| 251 bugs about mis-detection of non-trivial code snippets! |
| 252 |
| 253 [cr]: http://highlightjs.readthedocs.org/en/latest/css-classes-reference.html |
| 254 [api docs]: http://highlightjs.readthedocs.org/en/latest/api.html |
| 255 [variants]: https://groups.google.com/d/topic/highlightjs/VoGC9-1p5vk/discussion |
| 256 [beginKeywords]: https://github.com/isagalaev/highlight.js/commit/6c7fdea002eb39
49577a85b3f7930137c7c3038d |
| 257 [php-html]: https://twitter.com/highlightjs/status/408890903017689088 |
| 258 |
| 259 [Carlo Kok]: https://github.com/carlokok |
| 260 [Bram de Haan]: https://github.com/atelierbram |
| 261 [Daniel Kvasnička]: https://github.com/dkvasnicka |
| 262 [Dmitry Smolin]: https://github.com/dimsmol |
| 263 [Jeremy Hull]: https://github.com/sourrust |
| 264 [Seongwon Lee]: https://github.com/dlimpid |
| 265 [Jan T. Sott]: https://github.com/idleberg |
| 266 |
| 267 |
| 268 ## Version 7.5 |
| 269 |
| 270 A catch-up release dealing with some of the accumulated contributions. This one |
| 271 is probably will be the last before the 8.0 which will be slightly backwards |
| 272 incompatible regarding some advanced use-cases. |
| 273 |
| 274 One outstanding change in this version is the addition of 6 languages to the |
| 275 [hosted script][d]: Markdown, ObjectiveC, CoffeeScript, Apache, Nginx and |
| 276 Makefile. It now weighs about 6K more but we're going to keep it under 30K. |
| 277 |
| 278 New languages: |
| 279 |
| 280 - OCaml by [Mehdi Dogguy][mehdid] and [Nicolas Braud-Santoni][nbraud] |
| 281 - [LiveCode Server][lcs] by [Ralf Bitter][revig] |
| 282 - Scilab by [Sylvestre Ledru][sylvestre] |
| 283 - basic support for Makefile by [Ivan Sagalaev][isagalaev] |
| 284 |
| 285 Improvements: |
| 286 |
| 287 - Ruby's got support for characters like `?A`, `?1`, `?\012` etc. and `%r{..}` |
| 288 regexps. |
| 289 - Clojure now allows a function call in the beginning of s-expressions |
| 290 `(($filter "myCount") (arr 1 2 3 4 5))`. |
| 291 - Haskell's got new keywords and now recognizes more things like pragmas, |
| 292 preprocessors, modules, containers, FFIs etc. Thanks to [Zena Treep][treep] |
| 293 for the implementation and to [Jeremy Hull][sourrust] for guiding it. |
| 294 - Miscellaneous fixes in PHP, Brainfuck, SCSS, Asciidoc, CMake, Python and F#. |
| 295 |
| 296 [mehdid]: https://github.com/mehdid |
| 297 [nbraud]: https://github.com/nbraud |
| 298 [revig]: https://github.com/revig |
| 299 [lcs]: http://livecode.com/developers/guides/server/ |
| 300 [sylvestre]: https://github.com/sylvestre |
| 301 [isagalaev]: https://github.com/isagalaev |
| 302 [treep]: https://github.com/treep |
| 303 [sourrust]: https://github.com/sourrust |
| 304 [d]: http://highlightjs.org/download/ |
| 305 |
| 306 |
| 307 ## New core developers |
| 308 |
| 309 The latest long period of almost complete inactivity in the project coincided |
| 310 with growing interest to it led to a decision that now seems completely obvious: |
| 311 we need more core developers. |
| 312 |
| 313 So without further ado let me welcome to the core team two long-time |
| 314 contributors: [Jeremy Hull][] and [Oleg |
| 315 Efimov][]. |
| 316 |
| 317 Hope now we'll be able to work through stuff faster! |
| 318 |
| 319 P.S. The historical commit is [here][1] for the record. |
| 320 |
| 321 [Jeremy Hull]: https://github.com/sourrust |
| 322 [Oleg Efimov]: https://github.com/sannis |
| 323 [1]: https://github.com/isagalaev/highlight.js/commit/f3056941bda56d2b72276b97bc
0dd5f230f2473f |
| 324 |
| 325 |
| 326 ## Version 7.4 |
| 327 |
| 328 This long overdue version is a snapshot of the current source tree with all the |
| 329 changes that happened during the past year. Sorry for taking so long! |
| 330 |
| 331 Along with the changes in code highlight.js has finally got its new home at |
| 332 <http://highlightjs.org/>, moving from its cradle on Software Maniacs which it |
| 333 outgrew a long time ago. Be sure to report any bugs about the site to |
| 334 <mailto:info@highlightjs.org>. |
| 335 |
| 336 On to what's new… |
| 337 |
| 338 New languages: |
| 339 |
| 340 - Handlebars templates by [Robin Ward][] |
| 341 - Oracle Rules Language by [Jason Jacobson][] |
| 342 - F# by [Joans Follesø][] |
| 343 - AsciiDoc and Haml by [Dan Allen][] |
| 344 - Lasso by [Eric Knibbe][] |
| 345 - SCSS by [Kurt Emch][] |
| 346 - VB.NET by [Poren Chiang][] |
| 347 - Mizar by [Kelley van Evert][] |
| 348 |
| 349 [Robin Ward]: https://github.com/eviltrout |
| 350 [Jason Jacobson]: https://github.com/jayce7 |
| 351 [Joans Follesø]: https://github.com/follesoe |
| 352 [Dan Allen]: https://github.com/mojavelinux |
| 353 [Eric Knibbe]: https://github.com/EricFromCanada |
| 354 [Kurt Emch]: https://github.com/kemch |
| 355 [Poren Chiang]: https://github.com/rschiang |
| 356 [Kelley van Evert]: https://github.com/kelleyvanevert |
| 357 |
| 358 New style themes: |
| 359 |
| 360 - Monokai Sublime by [noformnocontent][] |
| 361 - Railscasts by [Damien White][] |
| 362 - Obsidian by [Alexander Marenin][] |
| 363 - Docco by [Simon Madine][] |
| 364 - Mono Blue by [Ivan Sagalaev][] (uses a single color hue for everything) |
| 365 - Foundation by [Dan Allen][] |
| 366 |
| 367 [noformnocontent]: http://nn.mit-license.org/ |
| 368 [Damien White]: https://github.com/visoft |
| 369 [Alexander Marenin]: https://github.com/ioncreature |
| 370 [Simon Madine]: https://github.com/thingsinjars |
| 371 [Ivan Sagalaev]: https://github.com/isagalaev |
| 372 |
| 373 Other notable changes: |
| 374 |
| 375 - Corrected many corner cases in CSS. |
| 376 - Dropped Python 2 version of the build tool. |
| 377 - Implemented building for the AMD format. |
| 378 - Updated Rust keywords (thanks to [Dmitry Medvinsky][]). |
| 379 - Literal regexes can now be used in language definitions. |
| 380 - CoffeeScript highlighting is now significantly more robust and rich due to |
| 381 input from [Cédric Néhémie][]. |
| 382 |
| 383 [Dmitry Medvinsky]: https://github.com/dmedvinsky |
| 384 [Cédric Néhémie]: https://github.com/abe33 |
| 385 |
| 386 |
| 387 ## Version 7.3 |
| 388 |
| 389 - Since this version highlight.js no longer works in IE version 8 and older. |
| 390 It's made it possible to reduce the library size and dramatically improve code |
| 391 readability and made it easier to maintain. Time to go forward! |
| 392 |
| 393 - New languages: AppleScript (by [Nathan Grigg][ng] and [Dr. Drang][dd]) and |
| 394 Brainfuck (by [Evgeny Stepanischev][bolk]). |
| 395 |
| 396 - Improvements to existing languages: |
| 397 |
| 398 - interpreter prompt in Python (`>>>` and `...`) |
| 399 - @-properties and classes in CoffeeScript |
| 400 - E4X in JavaScript (by [Oleg Efimov][oe]) |
| 401 - new keywords in Perl (by [Kirk Kimmel][kk]) |
| 402 - big Ruby syntax update (by [Vasily Polovnyov][vast]) |
| 403 - small fixes in Bash |
| 404 |
| 405 - Also Oleg Efimov did a great job of moving all the docs for language and style |
| 406 developers and contributors from the old wiki under the source code in the |
| 407 "docs" directory. Now these docs are nicely presented at |
| 408 <http://highlightjs.readthedocs.org/>. |
| 409 |
| 410 [ng]: https://github.com/nathan11g |
| 411 [dd]: https://github.com/drdrang |
| 412 [bolk]: https://github.com/bolknote |
| 413 [oe]: https://github.com/Sannis |
| 414 [kk]: https://github.com/kimmel |
| 415 [vast]: https://github.com/vast |
| 416 |
| 417 |
| 418 ## Version 7.2 |
| 419 |
| 420 A regular bug-fix release without any significant new features. Enjoy! |
| 421 |
| 422 |
| 423 ## Version 7.1 |
| 424 |
| 425 A Summer crop: |
| 426 |
| 427 - [Marc Fornos][mf] made the definition for Clojure along with the matching |
| 428 style Rainbow (which, of course, works for other languages too). |
| 429 - CoffeeScript support continues to improve getting support for regular |
| 430 expressions. |
| 431 - Yoshihide Jimbo ported to highlight.js [five Tomorrow styles][tm] from the |
| 432 [project by Chris Kempson][tm0]. |
| 433 - Thanks to [Casey Duncun][cd] the library can now be built in the popular |
| 434 [AMD format][amd]. |
| 435 - And last but not least, we've got a fair number of correctness and consistency |
| 436 fixes, including a pretty significant refactoring of Ruby. |
| 437 |
| 438 [mf]: https://github.com/mfornos |
| 439 [tm]: http://jmblog.github.com/color-themes-for-highlightjs/ |
| 440 [tm0]: https://github.com/ChrisKempson/Tomorrow-Theme |
| 441 [cd]: https://github.com/caseman |
| 442 [amd]: http://requirejs.org/docs/whyamd.html |
| 443 |
| 444 |
| 445 ## Version 7.0 |
| 446 |
| 447 The reason for the new major version update is a global change of keyword syntax |
| 448 which resulted in the library getting smaller once again. For example, the |
| 449 hosted build is 2K less than at the previous version while supporting two new |
| 450 languages. |
| 451 |
| 452 Notable changes: |
| 453 |
| 454 - The library now works not only in a browser but also with [node.js][]. It is |
| 455 installable with `npm install highlight.js`. [API][] docs are available on our |
| 456 wiki. |
| 457 |
| 458 - The new unique feature (apparently) among syntax highlighters is highlighting |
| 459 *HTTP* headers and an arbitrary language in the request body. The most useful |
| 460 languages here are *XML* and *JSON* both of which highlight.js does support. |
| 461 Here's [the detailed post][p] about the feature. |
| 462 |
| 463 - Two new style themes: a dark "south" *[Pojoaque][]* by Jason Tate and an |
| 464 emulation of*XCode* IDE by [Angel Olloqui][ao]. |
| 465 |
| 466 - Three new languages: *D* by [Aleksandar Ružičić][ar], *R* by [Joe Cheng][jc] |
| 467 and *GLSL* by [Sergey Tikhomirov][st]. |
| 468 |
| 469 - *Nginx* syntax has become a million times smaller and more universal thanks to |
| 470 remaking it in a more generic manner that doesn't require listing all the |
| 471 directives in the known universe. |
| 472 |
| 473 - Function titles are now highlighted in *PHP*. |
| 474 |
| 475 - *Haskell* and *VHDL* were significantly reworked to be more rich and correct |
| 476 by their respective maintainers [Jeremy Hull][sr] and [Igor Kalnitsky][ik]. |
| 477 |
| 478 And last but not least, many bugs have been fixed around correctness and |
| 479 language detection. |
| 480 |
| 481 Overall highlight.js currently supports 51 languages and 20 style themes. |
| 482 |
| 483 [node.js]: http://nodejs.org/ |
| 484 [api]: http://softwaremaniacs.org/wiki/doku.php/highlight.js:api |
| 485 [p]: http://softwaremaniacs.org/blog/2012/05/10/http-and-json-in-highlight-js/en
/ |
| 486 [pojoaque]: http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-j
s-code-highlighter.html |
| 487 [ao]: https://github.com/angelolloqui |
| 488 [ar]: https://github.com/raleksandar |
| 489 [jc]: https://github.com/jcheng5 |
| 490 [st]: https://github.com/tikhomirov |
| 491 [sr]: https://github.com/sourrust |
| 492 [ik]: https://github.com/ikalnitsky |
| 493 |
| 494 |
| 495 ## Version 6.2 |
| 496 |
| 497 A lot of things happened in highlight.js since the last version! We've got nine |
| 498 new contributors, the discussion group came alive, and the main branch on GitHub |
| 499 now counts more than 350 followers. Here are most significant results coming |
| 500 from all this activity: |
| 501 |
| 502 - 5 (five!) new languages: Rust, ActionScript, CoffeeScript, MatLab and |
| 503 experimental support for markdown. Thanks go to [Andrey Vlasovskikh][av], |
| 504 [Alexander Myadzel][am], [Dmytrii Nagirniak][dn], [Oleg Efimov][oe], [Denis |
| 505 Bardadym][db] and [John Crepezzi][jc]. |
| 506 |
| 507 - 2 new style themes: Monokai by [Luigi Maselli][lm] and stylistic imitation of |
| 508 another well-known highlighter Google Code Prettify by [Aahan Krish][ak]. |
| 509 |
| 510 - A vast number of [correctness fixes and code refactorings][log], mostly made |
| 511 by [Oleg Efimov][oe] and [Evgeny Stepanischev][es]. |
| 512 |
| 513 [av]: https://github.com/vlasovskikh |
| 514 [am]: https://github.com/myadzel |
| 515 [dn]: https://github.com/dnagir |
| 516 [oe]: https://github.com/Sannis |
| 517 [db]: https://github.com/btd |
| 518 [jc]: https://github.com/seejohnrun |
| 519 [lm]: http://grigio.org/ |
| 520 [ak]: https://github.com/geekpanth3r |
| 521 [es]: https://github.com/bolknote |
| 522 [log]: https://github.com/isagalaev/highlight.js/commits/ |
| 523 |
| 524 |
| 525 ## Version 6.1 — Solarized |
| 526 |
| 527 [Jeremy Hull][jh] has implemented my dream feature — a port of [Solarized][] |
| 528 style theme famous for being based on the intricate color theory to achieve |
| 529 correct contrast and color perception. It is now available for highlight.js in |
| 530 both variants — light and dark. |
| 531 |
| 532 This version also adds a new original style Arta. Its author pumbur maintains a |
| 533 [heavily modified fork of highlight.js][pb] on GitHub. |
| 534 |
| 535 [jh]: https://github.com/sourrust |
| 536 [solarized]: http://ethanschoonover.com/solarized |
| 537 [pb]: https://github.com/pumbur/highlight.js |
| 538 |
| 539 |
| 540 ## Version 6.0 |
| 541 |
| 542 New major version of the highlighter has been built on a significantly |
| 543 refactored syntax. Due to this it's even smaller than the previous one while |
| 544 supporting more languages! |
| 545 |
| 546 New languages are: |
| 547 |
| 548 - Haskell by [Jeremy Hull][sourrust] |
| 549 - Erlang in two varieties — module and REPL — made collectively by [Nikolay |
| 550 Zakharov][desh], [Dmitry Kovega][arhibot] and [Sergey Ignatov][ignatov] |
| 551 - Objective C by [Valerii Hiora][vhbit] |
| 552 - Vala by [Antono Vasiljev][antono] |
| 553 - Go by [Stephan Kountso][steplg] |
| 554 |
| 555 [sourrust]: https://github.com/sourrust |
| 556 [desh]: http://desh.su/ |
| 557 [arhibot]: https://github.com/arhibot |
| 558 [ignatov]: https://github.com/ignatov |
| 559 [vhbit]: https://github.com/vhbit |
| 560 [antono]: https://github.com/antono |
| 561 [steplg]: https://github.com/steplg |
| 562 |
| 563 Also this version is marginally faster and fixes a number of small long-standing |
| 564 bugs. |
| 565 |
| 566 Developer overview of the new language syntax is available in a [blog post about |
| 567 recent beta release][beta]. |
| 568 |
| 569 [beta]: http://softwaremaniacs.org/blog/2011/04/25/highlight-js-60-beta/en/ |
| 570 |
| 571 P.S. New version is not yet available on a Yandex CDN, so for now you have to |
| 572 download [your own copy][d]. |
| 573 |
| 574 [d]: /soft/highlight/en/download/ |
| 575 |
| 576 |
| 577 ## Version 5.14 |
| 578 |
| 579 Fixed bugs in HTML/XML detection and relevance introduced in previous |
| 580 refactoring. |
| 581 |
| 582 Also test.html now shows the second best result of language detection by |
| 583 relevance. |
| 584 |
| 585 |
| 586 ## Version 5.13 |
| 587 |
| 588 Past weekend began with a couple of simple additions for existing languages but |
| 589 ended up in a big code refactoring bringing along nice improvements for language |
| 590 developers. |
| 591 |
| 592 ### For users |
| 593 |
| 594 - Description of C++ has got new keywords from the upcoming [C++ 0x][] standard. |
| 595 - Description of HTML has got new tags from [HTML 5][]. |
| 596 - CSS-styles have been unified to use consistent padding and also have lost |
| 597 pop-outs with names of detected languages. |
| 598 - [Igor Kalnitsky][ik] has sent two new language descriptions: CMake & VHDL. |
| 599 |
| 600 This makes total number of languages supported by highlight.js to reach 35. |
| 601 |
| 602 Bug fixes: |
| 603 |
| 604 - Custom classes on `<pre>` tags are not being overridden anymore |
| 605 - More correct highlighting of code blocks inside non-`<pre>` containers: |
| 606 highlighter now doesn't insist on replacing them with its own container and |
| 607 just replaces the contents. |
| 608 - Small fixes in browser compatibility and heuristics. |
| 609 |
| 610 [c++ 0x]: http://ru.wikipedia.org/wiki/C%2B%2B0x |
| 611 [html 5]: http://en.wikipedia.org/wiki/HTML5 |
| 612 [ik]: http://kalnitsky.org.ua/ |
| 613 |
| 614 ### For developers |
| 615 |
| 616 The most significant change is the ability to include language submodes right |
| 617 under `contains` instead of defining explicit named submodes in the main array: |
| 618 |
| 619 contains: [ |
| 620 'string', |
| 621 'number', |
| 622 {begin: '\\n', end: hljs.IMMEDIATE_RE} |
| 623 ] |
| 624 |
| 625 This is useful for auxiliary modes needed only in one place to define parsing. |
| 626 Note that such modes often don't have `className` and hence won't generate a |
| 627 separate `<span>` in the resulting markup. This is similar in effect to |
| 628 `noMarkup: true`. All existing languages have been refactored accordingly. |
| 629 |
| 630 Test file test.html has at last become a real test. Now it not only puts the |
| 631 detected language name under the code snippet but also tests if it matches the |
| 632 expected one. Test summary is displayed right above all language snippets. |
| 633 |
| 634 |
| 635 ## CDN |
| 636 |
| 637 Fine people at [Yandex][] agreed to host highlight.js on their big fast servers. |
| 638 [Link up][l]! |
| 639 |
| 640 [yandex]: http://yandex.com/ |
| 641 [l]: http://softwaremaniacs.org/soft/highlight/en/download/ |
| 642 |
| 643 |
| 644 ## Version 5.10 — "Paris". |
| 645 |
| 646 Though I'm on a vacation in Paris, I decided to release a new version with a |
| 647 couple of small fixes: |
| 648 |
| 649 - Tomas Vitvar discovered that TAB replacement doesn't always work when used |
| 650 with custom markup in code |
| 651 - SQL parsing is even more rigid now and doesn't step over SmallTalk in tests |
| 652 |
| 653 |
| 654 ## Version 5.9 |
| 655 |
| 656 A long-awaited version is finally released. |
| 657 |
| 658 New languages: |
| 659 |
| 660 - Andrew Fedorov made a definition for Lua |
| 661 - a long-time highlight.js contributor [Peter Leonov][pl] made a definition for |
| 662 Nginx config |
| 663 - [Vladimir Moskva][vm] made a definition for TeX |
| 664 |
| 665 [pl]: http://kung-fu-tzu.ru/ |
| 666 [vm]: http://fulc.ru/ |
| 667 |
| 668 Fixes for existing languages: |
| 669 |
| 670 - [Loren Segal][ls] reworked the Ruby definition and added highlighting for |
| 671 [YARD][] inline documentation |
| 672 - the definition of SQL has become more solid and now it shouldn't be overly |
| 673 greedy when it comes to language detection |
| 674 |
| 675 [ls]: http://gnuu.org/ |
| 676 [yard]: http://yardoc.org/ |
| 677 |
| 678 The highlighter has become more usable as a library allowing to do highlighting |
| 679 from initialization code of JS frameworks and in ajax methods (see. |
| 680 readme.eng.txt). |
| 681 |
| 682 Also this version drops support for the [WordPress][wp] plugin. Everyone is |
| 683 welcome to [pick up its maintenance][p] if needed. |
| 684 |
| 685 [wp]: http://wordpress.org/ |
| 686 [p]: http://bazaar.launchpad.net/~isagalaev/+junk/highlight/annotate/342/src/wp_
highlight.js.php |
| 687 |
| 688 |
| 689 ## Version 5.8 |
| 690 |
| 691 - Jan Berkel has contributed a definition for Scala. +1 to hotness! |
| 692 - All CSS-styles are rewritten to work only inside `<pre>` tags to avoid |
| 693 conflicts with host site styles. |
| 694 |
| 695 |
| 696 ## Version 5.7. |
| 697 |
| 698 Fixed escaping of quotes in VBScript strings. |
| 699 |
| 700 |
| 701 ## Version 5.5 |
| 702 |
| 703 This version brings a small change: now .ini-files allow digits, underscores and |
| 704 square brackets in key names. |
| 705 |
| 706 |
| 707 ## Version 5.4 |
| 708 |
| 709 Fixed small but upsetting bug in the packer which caused incorrect highlighting |
| 710 of explicitly specified languages. Thanks to Andrew Fedorov for precise |
| 711 diagnostics! |
| 712 |
| 713 |
| 714 ## Version 5.3 |
| 715 |
| 716 The version to fulfil old promises. |
| 717 |
| 718 The most significant change is that highlight.js now preserves custom user |
| 719 markup in code along with its own highlighting markup. This means that now it's |
| 720 possible to use, say, links in code. Thanks to [Vladimir Dolzhenko][vd] for the |
| 721 [initial proposal][1] and for making a proof-of-concept patch. |
| 722 |
| 723 Also in this version: |
| 724 |
| 725 - [Vasily Polovnyov][vp] has sent a GitHub-like style and has implemented |
| 726 support for CSS @-rules and Ruby symbols. |
| 727 - Yura Zaripov has sent two styles: Brown Paper and School Book. |
| 728 - Oleg Volchkov has sent a definition for [Parser 3][p3]. |
| 729 |
| 730 [1]: http://softwaremaniacs.org/forum/highlightjs/6612/ |
| 731 [p3]: http://www.parser.ru/ |
| 732 [vp]: http://vasily.polovnyov.ru/ |
| 733 [vd]: http://dolzhenko.blogspot.com/ |
| 734 |
| 735 |
| 736 ## Version 5.2 |
| 737 |
| 738 - at last it's possible to replace indentation TABs with something sensible |
| 739 (e.g. 2 or 4 spaces) |
| 740 - new keywords and built-ins for 1C by Sergey Baranov |
| 741 - a couple of small fixes to Apache highlighting |
| 742 |
| 743 |
| 744 ## Version 5.1 |
| 745 |
| 746 This is one of those nice version consisting entirely of new and shiny |
| 747 contributions! |
| 748 |
| 749 - [Vladimir Ermakov][vooon] created highlighting for AVR Assembler |
| 750 - [Ruslan Keba][rukeba] created highlighting for Apache config file. Also his |
| 751 original visual style for it is now available for all highlight.js languages |
| 752 under the name "Magula". |
| 753 - [Shuen-Huei Guan][drake] (aka Drake) sent new keywords for RenderMan |
| 754 languages. Also thanks go to [Konstantin Evdokimenko][ke] for his advice on |
| 755 the matter. |
| 756 |
| 757 [vooon]: http://vehq.ru/about/ |
| 758 [rukeba]: http://rukeba.com/ |
| 759 [drake]: http://drakeguan.org/ |
| 760 [ke]: http://k-evdokimenko.moikrug.ru/ |
| 761 |
| 762 |
| 763 ## Version 5.0 |
| 764 |
| 765 The main change in the new major version of highlight.js is a mechanism for |
| 766 packing several languages along with the library itself into a single compressed |
| 767 file. Now sites using several languages will load considerably faster because |
| 768 the library won't dynamically include additional files while loading. |
| 769 |
| 770 Also this version fixes a long-standing bug with Javascript highlighting that |
| 771 couldn't distinguish between regular expressions and division operations. |
| 772 |
| 773 And as usually there were a couple of minor correctness fixes. |
| 774 |
| 775 Great thanks to all contributors! Keep using highlight.js. |
| 776 |
| 777 |
| 778 ## Version 4.3 |
| 779 |
| 780 This version comes with two contributions from [Jason Diamond][jd]: |
| 781 |
| 782 - language definition for C# (yes! it was a long-missed thing!) |
| 783 - Visual Studio-like highlighting style |
| 784 |
| 785 Plus there are a couple of minor bug fixes for parsing HTML and XML attributes. |
| 786 |
| 787 [jd]: http://jason.diamond.name/weblog/ |
| 788 |
| 789 |
| 790 ## Version 4.2 |
| 791 |
| 792 The biggest news is highlighting for Lisp, courtesy of Vasily Polovnyov. It's |
| 793 somewhat experimental meaning that for highlighting "keywords" it doesn't use |
| 794 any pre-defined set of a Lisp dialect. Instead it tries to highlight first word |
| 795 in parentheses wherever it makes sense. I'd like to ask people programming in |
| 796 Lisp to confirm if it's a good idea and send feedback to [the forum][f]. |
| 797 |
| 798 Other changes: |
| 799 |
| 800 - Smalltalk was excluded from DEFAULT_LANGUAGES to save traffic |
| 801 - [Vladimir Epifanov][voldmar] has implemented javascript style switcher for |
| 802 test.html |
| 803 - comments now allowed inside Ruby function definition |
| 804 - [MEL][] language from [Shuen-Huei Guan][drake] |
| 805 - whitespace now allowed between `<pre>` and `<code>` |
| 806 - better auto-detection of C++ and PHP |
| 807 - HTML allows embedded VBScript (`<% .. %>`) |
| 808 |
| 809 [f]: http://softwaremaniacs.org/forum/highlightjs/ |
| 810 [voldmar]: http://voldmar.ya.ru/ |
| 811 [mel]: http://en.wikipedia.org/wiki/Maya_Embedded_Language |
| 812 [drake]: http://drakeguan.org/ |
| 813 |
| 814 |
| 815 ## Version 4.1 |
| 816 |
| 817 Languages: |
| 818 |
| 819 - Bash from Vah |
| 820 - DOS bat-files from Alexander Makarov (Sam) |
| 821 - Diff files from Vasily Polovnyov |
| 822 - Ini files from myself though initial idea was from Sam |
| 823 |
| 824 Styles: |
| 825 |
| 826 - Zenburn from Vladimir Epifanov, this is an imitation of a |
| 827 [well-known theme for Vim][zenburn]. |
| 828 - Ascetic from myself, as a realization of ideals of non-flashy highlighting: |
| 829 just one color in only three gradations :-) |
| 830 |
| 831 In other news. [One small bug][bug] was fixed, built-in keywords were added for |
| 832 Python and C++ which improved auto-detection for the latter (it was shame that |
| 833 [my wife's blog][alenacpp] had issues with it from time to time). And lastly |
| 834 thanks go to Sam for getting rid of my stylistic comments in code that were |
| 835 getting in the way of [JSMin][]. |
| 836 |
| 837 [zenburn]: http://en.wikipedia.org/wiki/Zenburn |
| 838 [alenacpp]: http://alenacpp.blogspot.com/ |
| 839 [bug]: http://softwaremaniacs.org/forum/viewtopic.php?id=1823 |
| 840 [jsmin]: http://code.google.com/p/jsmin-php/ |
| 841 |
| 842 |
| 843 ## Version 4.0 |
| 844 |
| 845 New major version is a result of vast refactoring and of many contributions. |
| 846 |
| 847 Visible new features: |
| 848 |
| 849 - Highlighting of embedded languages. Currently is implemented highlighting of |
| 850 Javascript and CSS inside HTML. |
| 851 - Bundled 5 ready-made style themes! |
| 852 |
| 853 Invisible new features: |
| 854 |
| 855 - Highlight.js no longer pollutes global namespace. Only one object and one |
| 856 function for backward compatibility. |
| 857 - Performance is further increased by about 15%. |
| 858 |
| 859 Changing of a major version number caused by a new format of language definition |
| 860 files. If you use some third-party language files they should be updated. |
| 861 |
| 862 |
| 863 ## Version 3.5 |
| 864 |
| 865 A very nice version in my opinion fixing a number of small bugs and slightly |
| 866 increased speed in a couple of corner cases. Thanks to everybody who reports |
| 867 bugs in he [forum][f] and by email! |
| 868 |
| 869 There is also a new language — XML. A custom XML formerly was detected as HTML |
| 870 and didn't highlight custom tags. In this version I tried to make custom XML to |
| 871 be detected and highlighted by its own rules. Which by the way include such |
| 872 things as CDATA sections and processing instructions (`<? ... ?>`). |
| 873 |
| 874 [f]: http://softwaremaniacs.org/forum/viewforum.php?id=6 |
| 875 |
| 876 |
| 877 ## Version 3.3 |
| 878 |
| 879 [Vladimir Gubarkov][xonix] has provided an interesting and useful addition. |
| 880 File export.html contains a little program that shows and allows to copy and |
| 881 paste an HTML code generated by the highlighter for any code snippet. This can |
| 882 be useful in situations when one can't use the script itself on a site. |
| 883 |
| 884 |
| 885 [xonix]: http://xonixx.blogspot.com/ |
| 886 |
| 887 |
| 888 ## Version 3.2 consists completely of contributions: |
| 889 |
| 890 - Vladimir Gubarkov has described SmallTalk |
| 891 - Yuri Ivanov has described 1C |
| 892 - Peter Leonov has packaged the highlighter as a Firefox extension |
| 893 - Vladimir Ermakov has compiled a mod for phpBB |
| 894 |
| 895 Many thanks to you all! |
| 896 |
| 897 |
| 898 ## Version 3.1 |
| 899 |
| 900 Three new languages are available: Django templates, SQL and Axapta. The latter |
| 901 two are sent by [Dmitri Roudakov][1]. However I've almost entirely rewrote an |
| 902 SQL definition but I'd never started it be it from the ground up :-) |
| 903 |
| 904 The engine itself has got a long awaited feature of grouping keywords |
| 905 ("keyword", "built-in function", "literal"). No more hacks! |
| 906 |
| 907 [1]: http://roudakov.ru/ |
| 908 |
| 909 |
| 910 ## Version 3.0 |
| 911 |
| 912 It is major mainly because now highlight.js has grown large and has become |
| 913 modular. Now when you pass it a list of languages to highlight it will |
| 914 dynamically load into a browser only those languages. |
| 915 |
| 916 Also: |
| 917 |
| 918 - Konstantin Evdokimenko of [RibKit][] project has created a highlighting for |
| 919 RenderMan Shading Language and RenderMan Interface Bytestream. Yay for more |
| 920 languages! |
| 921 - Heuristics for C++ and HTML got better. |
| 922 - I've implemented (at last) a correct handling of backslash escapes in C-like |
| 923 languages. |
| 924 |
| 925 There is also a small backwards incompatible change in the new version. The |
| 926 function initHighlighting that was used to initialize highlighting instead of |
| 927 initHighlightingOnLoad a long time ago no longer works. If you by chance still |
| 928 use it — replace it with the new one. |
| 929 |
| 930 [RibKit]: http://ribkit.sourceforge.net/ |
| 931 |
| 932 |
| 933 ## Version 2.9 |
| 934 |
| 935 Highlight.js is a parser, not just a couple of regular expressions. That said |
| 936 I'm glad to announce that in the new version 2.9 has support for: |
| 937 |
| 938 - in-string substitutions for Ruby -- `#{...}` |
| 939 - strings from from numeric symbol codes (like #XX) for Delphi |
| 940 |
| 941 |
| 942 ## Version 2.8 |
| 943 |
| 944 A maintenance release with more tuned heuristics. Fully backwards compatible. |
| 945 |
| 946 |
| 947 ## Version 2.7 |
| 948 |
| 949 - Nikita Ledyaev presents highlighting for VBScript, yay! |
| 950 - A couple of bugs with escaping in strings were fixed thanks to Mickle |
| 951 - Ongoing tuning of heuristics |
| 952 |
| 953 Fixed bugs were rather unpleasant so I encourage everyone to upgrade! |
| 954 |
| 955 |
| 956 ## Version 2.4 |
| 957 |
| 958 - Peter Leonov provides another improved highlighting for Perl |
| 959 - Javascript gets a new kind of keywords — "literals". These are the words |
| 960 "true", "false" and "null" |
| 961 |
| 962 Also highlight.js homepage now lists sites that use the library. Feel free to |
| 963 add your site by [dropping me a message][mail] until I find the time to build a |
| 964 submit form. |
| 965 |
| 966 [mail]: mailto:Maniac@SoftwareManiacs.Org |
| 967 |
| 968 |
| 969 ## Version 2.3 |
| 970 |
| 971 This version fixes IE breakage in previous version. My apologies to all who have |
| 972 already downloaded that one! |
| 973 |
| 974 |
| 975 ## Version 2.2 |
| 976 |
| 977 - added highlighting for Javascript |
| 978 - at last fixed parsing of Delphi's escaped apostrophes in strings |
| 979 - in Ruby fixed highlighting of keywords 'def' and 'class', same for 'sub' in |
| 980 Perl |
| 981 |
| 982 |
| 983 ## Version 2.0 |
| 984 |
| 985 - Ruby support by [Anton Kovalyov][ak] |
| 986 - speed increased by orders of magnitude due to new way of parsing |
| 987 - this same way allows now correct highlighting of keywords in some tricky |
| 988 places (like keyword "End" at the end of Delphi classes) |
| 989 |
| 990 [ak]: http://anton.kovalyov.net/ |
| 991 |
| 992 |
| 993 ## Version 1.0 |
| 994 |
| 995 Version 1.0 of javascript syntax highlighter is released! |
| 996 |
| 997 It's the first version available with English description. Feel free to post |
| 998 your comments and question to [highlight.js forum][forum]. And don't be afraid |
| 999 if you find there some fancy Cyrillic letters -- it's for Russian users too :-) |
| 1000 |
| 1001 [forum]: http://softwaremaniacs.org/forum/viewforum.php?id=6 |
OLD | NEW |