CHANGES 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607
  1. Pygments changelog
  2. ==================
  3. Issue numbers refer to the tracker at http://dev.pocoo.org/projects/pygments/.
  4. Version 1.4
  5. -----------
  6. (in development)
  7. Version 1.3.1
  8. -------------
  9. (bugfix release, released Mar 05, 2010)
  10. - The ``pygmentize`` script was missing from the distribution.
  11. Version 1.3
  12. -----------
  13. (codename Schneeglöckchen, released Mar 01, 2010)
  14. - Added the ``ensurenl`` lexer option, which can be used to suppress the
  15. automatic addition of a newline to the lexer input.
  16. - Lexers added:
  17. * Ada
  18. * Coldfusion
  19. * Modula-2
  20. * haXe
  21. * R console
  22. * Objective-J
  23. * Haml and Sass
  24. * CoffeeScript
  25. - Enhanced reStructuredText highlighting.
  26. - Added support for PHP 5.3 namespaces in the PHP lexer.
  27. - Added a bash completion script for `pygmentize`, to the external/
  28. directory (#466).
  29. - Fixed a bug in `do_insertions()` used for multi-lexer languages.
  30. - Fixed a Ruby regex highlighting bug (#476).
  31. - Fixed regex highlighting bugs in Perl lexer (#258).
  32. - Add small enhancements to the C lexer (#467) and Bash lexer (#469).
  33. - Small fixes for the Tcl, Debian control file, Nginx config,
  34. Smalltalk, Objective-C, Clojure, Lua lexers.
  35. - Gherkin lexer: Fixed single apostrophe bug and added new i18n keywords.
  36. Version 1.2.2
  37. -------------
  38. (bugfix release, released Jan 02, 2010)
  39. * Removed a backwards incompatibility in the LaTeX formatter that caused
  40. Sphinx to produce invalid commands when writing LaTeX output (#463).
  41. * Fixed a forever-backtracking regex in the BashLexer (#462).
  42. Version 1.2.1
  43. -------------
  44. (bugfix release, released Jan 02, 2010)
  45. * Fixed mishandling of an ellipsis in place of the frames in a Python
  46. console traceback, resulting in clobbered output.
  47. Version 1.2
  48. -----------
  49. (codename Neujahr, released Jan 01, 2010)
  50. - Dropped Python 2.3 compatibility.
  51. - Lexers added:
  52. * Asymptote
  53. * Go
  54. * Gherkin (Cucumber)
  55. * CMake
  56. * Ooc
  57. * Coldfusion
  58. * haXe
  59. * R console
  60. - Added options for rendering LaTeX in source code comments in the
  61. LaTeX formatter (#461).
  62. - Updated the Logtalk lexer.
  63. - Added `line_number_start` option to image formatter (#456).
  64. - Added `hl_lines` and `hl_color` options to image formatter (#457).
  65. - Fixed the HtmlFormatter's handling of noclasses=True to not output any
  66. classes (#427).
  67. - Added the Monokai style (#453).
  68. - Fixed LLVM lexer identifier syntax and added new keywords (#442).
  69. - Fixed the PythonTracebackLexer to handle non-traceback data in header or
  70. trailer, and support more partial tracebacks that start on line 2 (#437).
  71. - Fixed the CLexer to not highlight ternary statements as labels.
  72. - Fixed lexing of some Ruby quoting peculiarities (#460).
  73. - A few ASM lexer fixes (#450).
  74. Version 1.1.1
  75. -------------
  76. (bugfix release, released Sep 15, 2009)
  77. - Fixed the BBCode lexer (#435).
  78. - Added support for new Jinja2 keywords.
  79. - Fixed test suite failures.
  80. - Added Gentoo-specific suffixes to Bash lexer.
  81. Version 1.1
  82. -----------
  83. (codename Brillouin, released Sep 11, 2009)
  84. - Ported Pygments to Python 3. This needed a few changes in the way
  85. encodings are handled; they may affect corner cases when used with
  86. Python 2 as well.
  87. - Lexers added:
  88. * Antlr/Ragel, thanks to Ana Nelson
  89. * (Ba)sh shell
  90. * Erlang shell
  91. * GLSL
  92. * Prolog
  93. * Evoque
  94. * Modelica
  95. * Rebol
  96. * MXML
  97. * Cython
  98. * ABAP
  99. * ASP.net (VB/C#)
  100. * Vala
  101. * Newspeak
  102. - Fixed the LaTeX formatter's output so that output generated for one style
  103. can be used with the style definitions of another (#384).
  104. - Added "anchorlinenos" and "noclobber_cssfile" (#396) options to HTML
  105. formatter.
  106. - Support multiline strings in Lua lexer.
  107. - Rewrite of the JavaScript lexer by Pumbaa80 to better support regular
  108. expression literals (#403).
  109. - When pygmentize is asked to highlight a file for which multiple lexers
  110. match the filename, use the analyse_text guessing engine to determine the
  111. winner (#355).
  112. - Fixed minor bugs in the JavaScript lexer (#383), the Matlab lexer (#378),
  113. the Scala lexer (#392), the INI lexer (#391), the Clojure lexer (#387)
  114. and the AS3 lexer (#389).
  115. - Fixed three Perl heredoc lexing bugs (#379, #400, #422).
  116. - Fixed a bug in the image formatter which misdetected lines (#380).
  117. - Fixed bugs lexing extended Ruby strings and regexes.
  118. - Fixed a bug when lexing git diffs.
  119. - Fixed a bug lexing the empty commit in the PHP lexer (#405).
  120. - Fixed a bug causing Python numbers to be mishighlighted as floats (#397).
  121. - Fixed a bug when backslashes are used in odd locations in Python (#395).
  122. - Fixed various bugs in Matlab and S-Plus lexers, thanks to Winston Chang (#410,
  123. #411, #413, #414) and fmarc (#419).
  124. - Fixed a bug in Haskell single-line comment detection (#426).
  125. - Added new-style reStructuredText directive for docutils 0.5+ (#428).
  126. Version 1.0
  127. -----------
  128. (codename Dreiundzwanzig, released Nov 23, 2008)
  129. - Don't use join(splitlines()) when converting newlines to ``\n``,
  130. because that doesn't keep all newlines at the end when the
  131. ``stripnl`` lexer option is False.
  132. - Added ``-N`` option to command-line interface to get a lexer name
  133. for a given filename.
  134. - Added Tango style, written by Andre Roberge for the Crunchy project.
  135. - Added Python3TracebackLexer and ``python3`` option to
  136. PythonConsoleLexer.
  137. - Fixed a few bugs in the Haskell lexer.
  138. - Fixed PythonTracebackLexer to be able to recognize SyntaxError and
  139. KeyboardInterrupt (#360).
  140. - Provide one formatter class per image format, so that surprises like::
  141. pygmentize -f gif -o foo.gif foo.py
  142. creating a PNG file are avoided.
  143. - Actually use the `font_size` option of the image formatter.
  144. - Fixed numpy lexer that it doesn't listen for `*.py` any longer.
  145. - Fixed HTML formatter so that text options can be Unicode
  146. strings (#371).
  147. - Unified Diff lexer supports the "udiff" alias now.
  148. - Fixed a few issues in Scala lexer (#367).
  149. - RubyConsoleLexer now supports simple prompt mode (#363).
  150. - JavascriptLexer is smarter about what constitutes a regex (#356).
  151. - Add Applescript lexer, thanks to Andreas Amann (#330).
  152. - Make the codetags more strict about matching words (#368).
  153. - NginxConfLexer is a little more accurate on mimetypes and
  154. variables (#370).
  155. Version 0.11.1
  156. --------------
  157. (released Aug 24, 2008)
  158. - Fixed a Jython compatibility issue in pygments.unistring (#358).
  159. Version 0.11
  160. ------------
  161. (codename Straußenei, released Aug 23, 2008)
  162. Many thanks go to Tim Hatch for writing or integrating most of the bug
  163. fixes and new features.
  164. - Lexers added:
  165. * Nasm-style assembly language, thanks to delroth
  166. * YAML, thanks to Kirill Simonov
  167. * ActionScript 3, thanks to Pierre Bourdon
  168. * Cheetah/Spitfire templates, thanks to Matt Good
  169. * Lighttpd config files
  170. * Nginx config files
  171. * Gnuplot plotting scripts
  172. * Clojure
  173. * POV-Ray scene files
  174. * Sqlite3 interactive console sessions
  175. * Scala source files, thanks to Krzysiek Goj
  176. - Lexers improved:
  177. * C lexer highlights standard library functions now and supports C99
  178. types.
  179. * Bash lexer now correctly highlights heredocs without preceding
  180. whitespace.
  181. * Vim lexer now highlights hex colors properly and knows a couple
  182. more keywords.
  183. * Irc logs lexer now handles xchat's default time format (#340) and
  184. correctly highlights lines ending in ``>``.
  185. * Support more delimiters for perl regular expressions (#258).
  186. * ObjectiveC lexer now supports 2.0 features.
  187. - Added "Visual Studio" style.
  188. - Updated markdown processor to Markdown 1.7.
  189. - Support roman/sans/mono style defs and use them in the LaTeX
  190. formatter.
  191. - The RawTokenFormatter is no longer registered to ``*.raw`` and it's
  192. documented that tokenization with this lexer may raise exceptions.
  193. - New option ``hl_lines`` to HTML formatter, to highlight certain
  194. lines.
  195. - New option ``prestyles`` to HTML formatter.
  196. - New option *-g* to pygmentize, to allow lexer guessing based on
  197. filetext (can be slowish, so file extensions are still checked
  198. first).
  199. - ``guess_lexer()`` now makes its decision much faster due to a cache
  200. of whether data is xml-like (a check which is used in several
  201. versions of ``analyse_text()``. Several lexers also have more
  202. accurate ``analyse_text()`` now.
  203. Version 0.10
  204. ------------
  205. (codename Malzeug, released May 06, 2008)
  206. - Lexers added:
  207. * Io
  208. * Smalltalk
  209. * Darcs patches
  210. * Tcl
  211. * Matlab
  212. * Matlab sessions
  213. * FORTRAN
  214. * XSLT
  215. * tcsh
  216. * NumPy
  217. * Python 3
  218. * S, S-plus, R statistics languages
  219. * Logtalk
  220. - In the LatexFormatter, the *commandprefix* option is now by default
  221. 'PY' instead of 'C', since the latter resulted in several collisions
  222. with other packages. Also, the special meaning of the *arg*
  223. argument to ``get_style_defs()`` was removed.
  224. - Added ImageFormatter, to format code as PNG, JPG, GIF or BMP.
  225. (Needs the Python Imaging Library.)
  226. - Support doc comments in the PHP lexer.
  227. - Handle format specifications in the Perl lexer.
  228. - Fix comment handling in the Batch lexer.
  229. - Add more file name extensions for the C++, INI and XML lexers.
  230. - Fixes in the IRC and MuPad lexers.
  231. - Fix function and interface name highlighting in the Java lexer.
  232. - Fix at-rule handling in the CSS lexer.
  233. - Handle KeyboardInterrupts gracefully in pygmentize.
  234. - Added BlackWhiteStyle.
  235. - Bash lexer now correctly highlights math, does not require
  236. whitespace after semicolons, and correctly highlights boolean
  237. operators.
  238. - Makefile lexer is now capable of handling BSD and GNU make syntax.
  239. Version 0.9
  240. -----------
  241. (codename Herbstzeitlose, released Oct 14, 2007)
  242. - Lexers added:
  243. * Erlang
  244. * ActionScript
  245. * Literate Haskell
  246. * Common Lisp
  247. * Various assembly languages
  248. * Gettext catalogs
  249. * Squid configuration
  250. * Debian control files
  251. * MySQL-style SQL
  252. * MOOCode
  253. - Lexers improved:
  254. * Greatly improved the Haskell and OCaml lexers.
  255. * Improved the Bash lexer's handling of nested constructs.
  256. * The C# and Java lexers exhibited abysmal performance with some
  257. input code; this should now be fixed.
  258. * The IRC logs lexer is now able to colorize weechat logs too.
  259. * The Lua lexer now recognizes multi-line comments.
  260. * Fixed bugs in the D and MiniD lexer.
  261. - The encoding handling of the command line mode (pygmentize) was
  262. enhanced. You shouldn't get UnicodeErrors from it anymore if you
  263. don't give an encoding option.
  264. - Added a ``-P`` option to the command line mode which can be used to
  265. give options whose values contain commas or equals signs.
  266. - Added 256-color terminal formatter.
  267. - Added an experimental SVG formatter.
  268. - Added the ``lineanchors`` option to the HTML formatter, thanks to
  269. Ian Charnas for the idea.
  270. - Gave the line numbers table a CSS class in the HTML formatter.
  271. - Added a Vim 7-like style.
  272. Version 0.8.1
  273. -------------
  274. (released Jun 27, 2007)
  275. - Fixed POD highlighting in the Ruby lexer.
  276. - Fixed Unicode class and namespace name highlighting in the C# lexer.
  277. - Fixed Unicode string prefix highlighting in the Python lexer.
  278. - Fixed a bug in the D and MiniD lexers.
  279. - Fixed the included MoinMoin parser.
  280. Version 0.8
  281. -----------
  282. (codename Maikäfer, released May 30, 2007)
  283. - Lexers added:
  284. * Haskell, thanks to Adam Blinkinsop
  285. * Redcode, thanks to Adam Blinkinsop
  286. * D, thanks to Kirk McDonald
  287. * MuPad, thanks to Christopher Creutzig
  288. * MiniD, thanks to Jarrett Billingsley
  289. * Vim Script, by Tim Hatch
  290. - The HTML formatter now has a second line-numbers mode in which it
  291. will just integrate the numbers in the same ``<pre>`` tag as the
  292. code.
  293. - The `CSharpLexer` now is Unicode-aware, which means that it has an
  294. option that can be set so that it correctly lexes Unicode
  295. identifiers allowed by the C# specs.
  296. - Added a `RaiseOnErrorTokenFilter` that raises an exception when the
  297. lexer generates an error token, and a `VisibleWhitespaceFilter` that
  298. converts whitespace (spaces, tabs, newlines) into visible
  299. characters.
  300. - Fixed the `do_insertions()` helper function to yield correct
  301. indices.
  302. - The ReST lexer now automatically highlights source code blocks in
  303. ".. sourcecode:: language" and ".. code:: language" directive
  304. blocks.
  305. - Improved the default style (thanks to Tiberius Teng). The old
  306. default is still available as the "emacs" style (which was an alias
  307. before).
  308. - The `get_style_defs` method of HTML formatters now uses the
  309. `cssclass` option as the default selector if it was given.
  310. - Improved the ReST and Bash lexers a bit.
  311. - Fixed a few bugs in the Makefile and Bash lexers, thanks to Tim
  312. Hatch.
  313. - Fixed a bug in the command line code that disallowed ``-O`` options
  314. when using the ``-S`` option.
  315. - Fixed a bug in the `RawTokenFormatter`.
  316. Version 0.7.1
  317. -------------
  318. (released Feb 15, 2007)
  319. - Fixed little highlighting bugs in the Python, Java, Scheme and
  320. Apache Config lexers.
  321. - Updated the included manpage.
  322. - Included a built version of the documentation in the source tarball.
  323. Version 0.7
  324. -----------
  325. (codename Faschingskrapfn, released Feb 14, 2007)
  326. - Added a MoinMoin parser that uses Pygments. With it, you get
  327. Pygments highlighting in Moin Wiki pages.
  328. - Changed the exception raised if no suitable lexer, formatter etc. is
  329. found in one of the `get_*_by_*` functions to a custom exception,
  330. `pygments.util.ClassNotFound`. It is, however, a subclass of
  331. `ValueError` in order to retain backwards compatibility.
  332. - Added a `-H` command line option which can be used to get the
  333. docstring of a lexer, formatter or filter.
  334. - Made the handling of lexers and formatters more consistent. The
  335. aliases and filename patterns of formatters are now attributes on
  336. them.
  337. - Added an OCaml lexer, thanks to Adam Blinkinsop.
  338. - Made the HTML formatter more flexible, and easily subclassable in
  339. order to make it easy to implement custom wrappers, e.g. alternate
  340. line number markup. See the documentation.
  341. - Added an `outencoding` option to all formatters, making it possible
  342. to override the `encoding` (which is used by lexers and formatters)
  343. when using the command line interface. Also, if using the terminal
  344. formatter and the output file is a terminal and has an encoding
  345. attribute, use it if no encoding is given.
  346. - Made it possible to just drop style modules into the `styles`
  347. subpackage of the Pygments installation.
  348. - Added a "state" keyword argument to the `using` helper.
  349. - Added a `commandprefix` option to the `LatexFormatter` which allows
  350. to control how the command names are constructed.
  351. - Added quite a few new lexers, thanks to Tim Hatch:
  352. * Java Server Pages
  353. * Windows batch files
  354. * Trac Wiki markup
  355. * Python tracebacks
  356. * ReStructuredText
  357. * Dylan
  358. * and the Befunge esoteric programming language (yay!)
  359. - Added Mako lexers by Ben Bangert.
  360. - Added "fruity" style, another dark background originally vim-based
  361. theme.
  362. - Added sources.list lexer by Dennis Kaarsemaker.
  363. - Added token stream filters, and a pygmentize option to use them.
  364. - Changed behavior of `in` Operator for tokens.
  365. - Added mimetypes for all lexers.
  366. - Fixed some problems lexing Python strings.
  367. - Fixed tickets: #167, #178, #179, #180, #185, #201.
  368. Version 0.6
  369. -----------
  370. (codename Zimtstern, released Dec 20, 2006)
  371. - Added option for the HTML formatter to write the CSS to an external
  372. file in "full document" mode.
  373. - Added RTF formatter.
  374. - Added Bash and Apache configuration lexers (thanks to Tim Hatch).
  375. - Improved guessing methods for various lexers.
  376. - Added `@media` support to CSS lexer (thanks to Tim Hatch).
  377. - Added a Groff lexer (thanks to Tim Hatch).
  378. - License change to BSD.
  379. - Added lexers for the Myghty template language.
  380. - Added a Scheme lexer (thanks to Marek Kubica).
  381. - Added some functions to iterate over existing lexers, formatters and
  382. lexers.
  383. - The HtmlFormatter's `get_style_defs()` can now take a list as an
  384. argument to generate CSS with multiple prefixes.
  385. - Support for guessing input encoding added.
  386. - Encoding support added: all processing is now done with Unicode
  387. strings, input and output are converted from and optionally to byte
  388. strings (see the ``encoding`` option of lexers and formatters).
  389. - Some improvements in the C(++) lexers handling comments and line
  390. continuations.
  391. Version 0.5.1
  392. -------------
  393. (released Oct 30, 2006)
  394. - Fixed traceback in ``pygmentize -L`` (thanks to Piotr Ozarowski).
  395. Version 0.5
  396. -----------
  397. (codename PyKleur, released Oct 30, 2006)
  398. - Initial public release.