mirror of
https://github.com/pierre42100/comunic
synced 2024-11-17 02:51:13 +00:00
292 lines
13 KiB
Markdown
292 lines
13 KiB
Markdown
|
Luminous Changelog since 0.6.0
|
||
|
==============================
|
||
|
|
||
|
##v0.7.0 (12/01/13):
|
||
|
|
||
|
- Important stuff (maybe):
|
||
|
- License change: GPL to LGPL.
|
||
|
- Luminous is a composer package.
|
||
|
|
||
|
- New stuff:
|
||
|
- SCSS scanner.
|
||
|
|
||
|
- Changes to markup/CSS:
|
||
|
- luminous.css is now compiled from luminous.scss (SCSS)
|
||
|
- Markup has been modernised and cleaned a bit
|
||
|
- CSS selectors favoured over superfluous classes, e.g. nth-child instead of
|
||
|
an alternating class, ".code > span" instead of a line class.
|
||
|
- Bundled fonts (dejavu) have been removed - we now reference Consolas,
|
||
|
Deja Vu and fall back to plain old 'monospace'.
|
||
|
- Luminous elements have theme specific borders by default
|
||
|
|
||
|
- Misc backwardly incompatible changes:
|
||
|
- The 'include-jquery' setting defaults to 'false' - most people now
|
||
|
have jQuery on their sites anyway and including a second version of it
|
||
|
isn't a great idea.
|
||
|
- Height unconstrained elements are now the default in the HTML formatter
|
||
|
- Removed support for word-wrapping, nobody used this and it would mangle
|
||
|
source code to be syntactically invalid anyway. HTML is not generous to
|
||
|
this problem.
|
||
|
|
||
|
- Misc:
|
||
|
- Support one-time option setting via third parameter of
|
||
|
luminous::highlight()
|
||
|
- HTML output with JavaScript fixes line numbers to the left of the
|
||
|
widget regardless of how it's horizontally scrolled.
|
||
|
- HTML output with JavaScript allows toggling the line numbers
|
||
|
(hover over the line numbers to show the control)
|
||
|
- Preliminary JavaScript API for manipulating Luminous elements (not
|
||
|
documented or properly tested yet...)
|
||
|
- Filesystem cache now uses subdirectories; the cache items are
|
||
|
organised into directories using the first two digits of the
|
||
|
cache ID (a hex string). This makes things neater by reducing the
|
||
|
number of items in a single directory, and may improve performance
|
||
|
slightly on some filesystems.
|
||
|
- examples/index.php example browser
|
||
|
- Security improvements to testing files, should you have them on your
|
||
|
server.
|
||
|
- Fix broken tests on PHP5.4.
|
||
|
|
||
|
- Misc language fixes:
|
||
|
- C#: added missing 'void' keyword, added a lot of types
|
||
|
|
||
|
##v0.6.7-2 (10/6/12):
|
||
|
- Fixed another problem with unnecessary scrollbars
|
||
|
|
||
|
##v0.6.7-1 (19/05/12):
|
||
|
- Fixed a regression which introduced scrollbars on inline code
|
||
|
|
||
|
##v0.6.7 (24/04/12):
|
||
|
|
||
|
Likely to be the final release in 0.6 series. Further releases will be on the
|
||
|
0.7 tree.
|
||
|
|
||
|
- New stuff:
|
||
|
- Ability to set custom line number for first line in output,
|
||
|
thanks [Martin Sikora](https://github.com/martinsik)
|
||
|
- Line highlighting (click with JS) uses CSS transitions
|
||
|
|
||
|
- Fixes:
|
||
|
- Small improvements to JavaDoc-like comment highlighting
|
||
|
- CSS scanner won't break on @media { ... } rules
|
||
|
- CSS scanner won't break on @keyframe { ... } rules
|
||
|
- CSS scanner will highlight round brackets in selectors (like :nth-child(n+1))
|
||
|
- HTML output now a tiny bit compressed
|
||
|
- HTML output with unconstrained height will scroll horizontally instead of
|
||
|
spilling overflow.
|
||
|
|
||
|
|
||
|
##v0.6.6 (26/02/12):
|
||
|
|
||
|
Maintenance release
|
||
|
|
||
|
- Fixed:
|
||
|
- Parse errors on PHP 5.2.0 (due to using unescaped '$' in doubly quoted strings)
|
||
|
|
||
|
- Improved:
|
||
|
- Cache error behaviour is less ugly. Errors can more easily be detected
|
||
|
programmatically, and suppressed (or handled silently). See the cache's docs
|
||
|
on how to do this.
|
||
|
- Made testing/developing on Windows slightly more possible. Don't expect miracles.
|
||
|
|
||
|
|
||
|
##v0.6.5 (15/10/11):
|
||
|
|
||
|
- New stuff:
|
||
|
- kimono.css theme (based on the more famous Monokai theme)
|
||
|
- versioncheck.php (in root) - Version checking script. Run from either a
|
||
|
browser or the command line to query the website's API as to the most
|
||
|
recent version and output whether you're running it.
|
||
|
- style and client both have .htaccesses to ensure that they are in fact
|
||
|
readable; this might be useful if for some reason you've put Luminous in
|
||
|
a directory which a .htaccess forbids access to (e.g. somewhere in a
|
||
|
framework).
|
||
|
|
||
|
- Misc stuff:
|
||
|
- Some really minor optimisations. Absolutely tiny. You won't notice them.
|
||
|
- Updated jQuery to 1.6.4
|
||
|
- The external CSS output by `luminous::head_html() ` now have IDs set,
|
||
|
the theme is IDed as 'luminous-theme'. This makes changing the theme via
|
||
|
JS a lot neater (see theme switcher example). Why didn't we think of this
|
||
|
earlier?
|
||
|
- SQL cache is a tiny bit faster as it does not try to purge old elements
|
||
|
excessively anymore (max: once per 24 hours).
|
||
|
- GitHub theme is a little bit cleaner with interpolated elements (including
|
||
|
PHP short output tags)
|
||
|
- Diff scanner: the scanner has been split into two. The old behaviour (where
|
||
|
embedded source code was highlighted) has been renamed to diff-pretty, and
|
||
|
'diff' now represents a plain scanner which does not highlight embedded
|
||
|
code. If you want the old behaviour, use diff-pretty (valid code:
|
||
|
diffpretty. See the languages page for more aliases.). This is because
|
||
|
the pretty diff scanner is much slower and can encounter problems, so users
|
||
|
may prefer a more reliable and faster but plain option.
|
||
|
- Some of the JS examples have been fixed.
|
||
|
|
||
|
- Language fixes:
|
||
|
- Support for Java annotations
|
||
|
- Django scanner recognises {% comment %} ... {% endcomment %} blocks
|
||
|
- Ruby scanner has been altered with respect to how it detects regular
|
||
|
expression literals. It is now similar to Kate/Kwrite's syntax
|
||
|
highlighting and should be slightly better at figuring out what's a
|
||
|
regex and what's a division operator. If it causes problems please
|
||
|
report it, preferably with an explanation of how Ruby's grammar works in
|
||
|
that particular case.
|
||
|
- Ruby on Rails will now terminate comments at the end of the Rails block as
|
||
|
well as newlines
|
||
|
- Bash scanner will not go into heredoc mode inside ((...)) blocks; this
|
||
|
prevents false positives on shift operations
|
||
|
- Bash scanner should get fewer false positives when picking out comments
|
||
|
- Perl scanner recognises heredoc openings when the delimiter is preceded by
|
||
|
a backslash
|
||
|
- PHP scanner is a little more careful about detecting user-definitions of
|
||
|
functions and classes, i.e. it correctly highlights class names after
|
||
|
implements and extends, and won't get confused by PHP5.3+ closures.
|
||
|
- PHP Snippet mode will detect `<?php` correctly, should it be encountered.
|
||
|
|
||
|
|
||
|
##v0.6.4 (18/09/11):
|
||
|
|
||
|
- New stuff:
|
||
|
- Django scanner
|
||
|
- 'geoynx' theme now has a per-line highlight style
|
||
|
|
||
|
- Fixes:
|
||
|
- Fix Luminous not fully respecting rounded corners (border-radius) on the
|
||
|
outer-most div element.
|
||
|
- A few typos and grammatical problems corrected in documentation
|
||
|
|
||
|
- Language fixes:
|
||
|
- Added missing 'with' keyword for Python
|
||
|
- Added some missing functions to Python (int, str, float, list, etc)
|
||
|
- Fix theoretically possible bug where the HTML scanner cannot 'recover'
|
||
|
after it breaks from HTML-mode into server-side mode.
|
||
|
- Fix occasional overzealous assert() triggering in HTML scanner
|
||
|
- Fix occasional bug where ECMAScript's embedded XML literals would not break
|
||
|
allow embedded server-side languages
|
||
|
- Fix occasional bug where CSS and ECMAScript didn't always allow embedded
|
||
|
server-side languages
|
||
|
|
||
|
- Important stuff for developers:
|
||
|
- The web language scanner's `server_tags` has been changed to a regular
|
||
|
expression. This is not backwardly compatible.
|
||
|
|
||
|
##v0.6.3-1 (06/08/11):
|
||
|
|
||
|
- Fixes:
|
||
|
- Fix stupid bug where the cache will purge items after 9 days of inactivity,
|
||
|
instead of 90 days. This is user-overridable by the 'cache-age' option, and
|
||
|
will only affect installations where it was left to the default setting.
|
||
|
|
||
|
##v0.6.3 (22/06/11):
|
||
|
|
||
|
- New Stuff:
|
||
|
- Ada language support
|
||
|
- Cache can be stored in a MySQL table. See (the docs)[http://luminous.asgaard.co.uk/index.php/docs/show/cache/]
|
||
|
|
||
|
- Fixes
|
||
|
- Disabled cache purging by default in the cache superclass, previously it
|
||
|
was set to an hour and may have been invoked accidentally if you
|
||
|
insantiated a cache object yourself for some reason.
|
||
|
- Check before invoking the command line arg parser that Luminous is really
|
||
|
what's being executed, so that you can now include it from another
|
||
|
CLI program.
|
||
|
|
||
|
- Languages fixes:
|
||
|
- Fix recognition of Perl's shell command strings (backticks) when the
|
||
|
string involves escape characters
|
||
|
- Fix bug with Perl heredoc recognition not waiting until the next line to
|
||
|
invoke heredoc parsing mode
|
||
|
- Fix bug with Python not correctly recognising numeric formats with a
|
||
|
leading decimal point
|
||
|
- Fix Ruby's %w and %W operators such that their contents are recognised as
|
||
|
strings split by whitespace, not one continual string
|
||
|
- Highlight "${var}" string interpolation syntax in PHP scanner
|
||
|
|
||
|
|
||
|
##v0.6.2 (15/05/11):
|
||
|
|
||
|
- General:
|
||
|
- The User API's configuration settings has been changed internally, using
|
||
|
the luminous::set() method will throw exceptions if you try to do something
|
||
|
nonsensical.
|
||
|
- Each configuration option is now documented fully in Doxygen
|
||
|
(LumiousOptions class).
|
||
|
- High level user API's docs are bundled in HTML.
|
||
|
- PHP 5.2 syntax error fixed in LaTeX formatter (did not affect 5.3+)
|
||
|
|
||
|
- New Stuff:
|
||
|
- HTML full-page formatter, which produces a standalone HTML document. Use
|
||
|
'html-full' as the formatter.
|
||
|
- Command line interface. Run ``php luminous.php --help`` to see the usage
|
||
|
- Language guessing. Generally accurate for large sources of common
|
||
|
languages, with no guarantees in other situations. See
|
||
|
``luminous::guess_language`` and ``luminous::guess_lanuage_full``
|
||
|
in Doxygen for details.
|
||
|
|
||
|
- Language fixes:
|
||
|
- C/C++ had its #if 0... #endif nesting slightly wrong, it now works
|
||
|
properly
|
||
|
- Diff scanner should no longer get confused over formats (i.e. original,
|
||
|
context, or unified) if a line starts with a number.
|
||
|
- PHP now recognises backtick delimited 'strings'
|
||
|
- Ruby heredoc detection previously had a minor but annoying bug where
|
||
|
a heredoc declaration would kill all highlighting on the remainder of
|
||
|
that line. This now works correctly.
|
||
|
- SQL recognises a much more complete set of words, though non-MySQL dialects
|
||
|
are still under-represented
|
||
|
|
||
|
##v0.6.1 (29/04/11):
|
||
|
|
||
|
- General:
|
||
|
- Certain versions of PCRE trigger *a lot* of bugs in the regular
|
||
|
expressions, which seemed to backtrack a lot even on very simple
|
||
|
strings. Most (if not all) of these expressions have been rewritten
|
||
|
to avoid this.
|
||
|
- The above previously threw an exception: this is now true only if the
|
||
|
debug flag is set, otherwise the failure is handled.
|
||
|
- The User API should catch any exceptions Luminous throws in non-debug
|
||
|
code. If one is caught, Luminous returns the input string wrapped in a
|
||
|
pre tag.
|
||
|
- 'plain' is used as a default scanner in the User API (previously an
|
||
|
exception was thrown if a scanner was unknown)
|
||
|
- Fix bug where the User API's 'relative root' would collapse double slashes
|
||
|
in protocols (i.e. http:// => http:/)
|
||
|
- User API now throws Exception if the highlighting function is called with
|
||
|
non-string arguments
|
||
|
- Some .htaccesses are provided to prevent search engines/bots crawling the
|
||
|
Luminous directories (many of the files aren't supposed to be executed
|
||
|
individually and will therefore populate error logs should a bot
|
||
|
discover a directory)
|
||
|
- Minor tweaks to the geonyx theme
|
||
|
- Obsolete JavaScript has been removed and replaced with a much less
|
||
|
intrusive behaviour of double click the line numbers to hide them,
|
||
|
js inclusion is disabled by default by User API.
|
||
|
- Infinite loop bug in the abstract formatter/word wrap method fixed
|
||
|
(although this wasn't actually reachable by any of the formatters)
|
||
|
|
||
|
- Language fixes:
|
||
|
- Pod/cut style comments in Perl should now work all the time
|
||
|
- C/C++'s "#if 0 ... #endif" blocks (which are highlighted as comments)
|
||
|
now nest
|
||
|
- Python recognises a list of exceptions as types
|
||
|
|
||
|
- New Stuff:
|
||
|
- Go language support
|
||
|
|
||
|
- Internal/Development:
|
||
|
- Unit test of stateful scanner much more useful
|
||
|
- Formatter base class unit test (tests/unit/formatter.php)
|
||
|
- Syntax test for scanners (syntax.php)
|
||
|
- Stateful scanner throws an exception if the initial state is popped
|
||
|
(downgraded from an assertion)
|
||
|
- Stateful scanner safety check no longer requires that an iteration
|
||
|
advances the pointer as long as the state is changed
|
||
|
- Coding standards applied in all formatters
|
||
|
- All scanning classes have complete API documentation
|
||
|
- Paste test (interface.php) works properly with Unicode
|
||
|
|
||
|
## v0.6.0 (16/04/11):
|
||
|
- 0.6.0 is a near-total rewrite with a lot of changes. The hosting has
|
||
|
moved from Google Code to GitHub and most code is freshly written.
|
||
|
- Changelog is restarted
|