brainworxx/kreXX

View on GitHub
CHANGELOG.txt

Summary

Maintainability
Test Coverage
5.0.0
- Added immediately browser output to the output choices.
- Added default value analysis to the additional info.
- Added German localisation.
- Added serialized string pretty print.
- Added static cache to the filepath scalar analysis.
- Added support for the hidden properties of ext_dom classes.
- Added typed property analysis.
- Added the original value to the parameters of the scalar
  analysis events, so event listeners can actually do something
  useful.
- Change: Removed deprecated code.
- Change: Drop PHP 7.0 support
- Change: Streamlined the type display of strings
- Change: Defined visibility for all constants.
- Change: Added missing PHP 7.1 return type to methods.
- Change: Moved the ViewConstInterface to the translations.
- Change: Moved the local declaration retrieval methods into
  their own API.
- Change: Reworked some help texts.
- Change: Input elements are now allowed to not have any eval
  callback.
- Change: Remove the inherited constants from the kreXX
  main class.
- Change: String and array analysis now cache their settings.
- Change: The ScalarString class gets instantiated only once
  per run.
- Change: Removed the scope analysis setting.
- Change: Lots of deprecations.
- Change: Removed the XML decoder.
- Change: Moved the return type retrieval by reflection to the
  more appropriate AbstractDeclaration class.
- Change: Moved the parameter analysis to the declaration
  analysis classes.
- Change: Empty configuration sections are not rendered anymore.
- Change: Always allow a none rendering of configuration settings.
- Change: Streamlined the return type of the
  retrieveDeclaringReflection of class methods.

4.1.5
- Bugfix: Unnecessary uri encoding in the smoky grey skin prevents
  the display of certain additional info values.
- Bugfix: Prevent an overfow in the additional info of the smoky
  grey skin.

4.1.4
- Added support for readonly properties
- Bugfix: Correctly identify uninitialized properties.
- Bugfix: Prevent unnecessary filesystem calls in the filepath
  analysis.

4.1.3
- Added microtime analysis to the float routing.
- Added microtime analysis to the string scalar analysis.
- Added type hint to the additional data for the first
  element.
- Updated to PHP 8.1
- Change: Code cleanup.
- Bugfix: Display info about public properties in predeclared
  classes.
- Bugfix: Comment inheritance resolving works more reliable.
- Bugfix: Method return type comment parsing works more
  reliable.
- Bugfix: Standard Loading of the configuration file works again.
- Bugfix: Mime type string and file do not overwrite each others
  anymore.
- Bugfix: K-Type padding for the Hans skin is too small.

4.1.2
- Change: Do not display an empty array, when there are no
  attributes in the XML analysis.
- Bugfix: Add additional error handling to the file service
  to get by with high traffic sites (Please, never debug a
  productive site. At least make sure that the logger can
  only get triggered by the dev.).
- Bugfix: Applied sorting to the list of getter methods.
- Bugfix: Make better use of the recursion detection for
  the XML analysis.
- Bugfix: Fixed / updated the doc comments.
- Bugfix: Object recursions in the "$this protected" context
  can not generate source code.

4.1.1
- Change: Code cleanup.
- Bugfix: Predefined objects do not get their properties
  analysed.
- Bugfix: Display the DateTime anomaly "public" properties.

4.1.0
- Added a log model to use for a logger implementation.
- Added .min. support for css files.
- Added apostrophes around string array keys to the SmokyGrey
  skin for better readability.
- Added support for a JSON configuration file.
- Added PHP 8.0 support.
- Allow plugins to register their own settings.
- Change: When analysing a logmodel or an exception, kreXX now
  analyses the special log/error stuff before the getter.
- Bugfix: Endless scrolling when clicking too fast through
  the search.
- Bugfix: Exception when using one php statement and a krexx
  call in the same line.
- Bugfix: Exception, when a mb_detect_encoding() could not
  determine the encoding of a string.

4.0.0
- Added process resource analysis.
- Added better callback analysis.
- Added better string analysis (json, file path, callback, xml)
- Added timestamp analysis for large integers.
- Added throw away messages.
- Added return type to the method and function analysis.
- Added additional data to the constants analysis for PHP 7.1
  and higher. The scope analysis now respects their visibility.
- Added logging shorthand "krexxlog();".
- Change: Removed all deprecations.
- Change: Removed the PHP 5.x fatal error handler.
- Change: Dropped PHP 5.x support.
- Change: Remove all double Exception / Throwable catching
- Change: Introduced PSR-12 coding style
- Change: Simplified the skin rendering.
- Change: Deprecations for the fallback settings class.
- Change: Introduced strict mode.
- Change: Introduced scalar type hints.
- Change: Introduced method return types.
- Change: Simplified the Model.
- Change: Do not display the encoding info, if we have a buffer
  info available.
- Change: Different analysis order, when coming from the $this
  scope, for better source generation.
- Change: Different order in the backtrace analysis, for better
  readability.
- Change: Use compressed css for the SmokyGrey skin.
- Change: Refactored the code generation.
- Change: Refactored the routing.
- Change: "Called from" is always expanded in the smokygrey skin.
- Change: The connector constants are now strings.
- Change: Removed the "local opening function" aka. devHandle.
- Bugfix: The search does now respects the selected tab.
- Bugfix: Added missing meta data to a handled exception.
- Bugfix: Prevent an open <pre> from messing with the output.

3.2.4
- Bugfix: Analysing of __PHP_Incomplete_Class does not throw
  errors anymore.
- Bugfix: Regression with the mixup of the two methods of code
  escaping.

3.2.3
- Bugfix: Added missing closing li tag to the expandableChild
  template.
- Bugfix: The fe configuration does not update the render type.
- Bugfix: Do not mixup and/or combine escaping for keys and/or
  code generation.
- Bugfix: Remove a possible warning when cleaning up old log files.
- Bugfix: Minimise interference with strange CSS styles.

3.2.2
- Updated to PHP 7.4
- Bugfix: The process other routing is never called.
- Bugfix: The cookie editor needs to be "initialized" prior usage.
- Bugfix: Wrong meta data, when using dual output.
- Bugfix: Missing css definitions for label.
- Bugfix: Unwanted re-enabling of the source generation.
- Bugfix: Environment check may fail

3.2.1
- Bugfix: Wrong error handler restoration after deleting
  a file.

3.2.0
- Introduce php-mock/php-mock-phpunit.
- Removed the TER-SonarQube findings from the unit tests.
- Added event system to the process classes.
- Clean(er) interface list inside the meta analysis.
- Added current url to the caller finder output.
- Better timer-emergency management on CLI.
- Change: Remove the event prefix and use static::class instead.
- Change: Move cleanup methods to their own class.
- Change: Move the output check methods to an appropriate class.
- Change: Deprecated classes and methods.
- Change: Complete refactor of the rendering mechanism.
- Change: Ported the javascript to type script.
- Bugfix: Missing encoding info in the error handler output.
- Bugfix: Wrong null values for dynamically declared properties.
- Bugfix: Inaccessible array values from array casted objects.
- Bugfix: Wrong variable name retrieval when used inline.
- Bugfix: Wrong return value from the developer handle.

3.1.0
- Use some real autoloading, with a fallback to manually including
  all files.
- Plugins can now register additional skins.
- kreXX debug calls will return the original analysis value.
- Leading and trailing spaces are now better visible in the output.
- The backtrace action accepts now an already existing one. Great
  for debugging error objects.
- Minor usability changes to both skins.
- Added an automatic backtrace analysis for error objects.
- Added the sourcecode dump to the error object analysis.
- Added proper handling for BOM chars in array keys and properties.
- Added an exception handler, to replace the PHP5 Fatal Error Handler.
- Added the date time to the output.
- Added analysis of the meta data of an object.
- Change: Lots of deprecations.
- Change: Moved the skin render classes to the source folder.
- Change: Dropped PHP 5.3 and PHP 5.4 support.
- Change: Moved the last hardcoded html tags to the skin renderers.
- Change: When registering a plugin, you must use a class instance,
  instead of a name of a static class.
- Bugfix: Fixes some "bugs" SonarCube found in the unit test fixtures,
  to prevent bad ratings.
- Bugfix: Check if the developer handle is actually a string.
- Bugfix: Added a missing check in the url determination in the
  timer controller
- Bugfix: The registering of blacklisted methods and classes for
  the debug methods work now, as they should.
- Bugfix: The rewriting of singleton classes in the pool does not
  work.
- Bugfix: Adding additional data in the code generation is not
  rendered.
- Bugfix: Added the plugin list to the (fatal) error handler
  display of the smokygrey skin.
- Bugfix: Wrong display of null and boolean default values in the
  code generation and method analysis.
- Bugfix: Display of wrong filename when a kreXX resource is not readable.
- Bugfix: The registry will not return values that are considered empty().
- Bugfix: Invalid php doc comments may trigger errors

3.0.2
- Added classname to the declaration analysis of properties.
- Added analysis of cUrl resources.
- Added a check for the content type to the ajax detection.
- Improved the jump to element of the Hans skin.
- Change: Protected properties are now wrapped again.
- Bugfix: Replace the $hellip; in the file service, it may cause
  double escaping issues in the backend of some systems.
- Bugfix: The method analysis doesn't take traits into account.
- Bugfix: The property analysis doesn't take traits into account.
- Bugfix: Remove the copy-pasta spaces from the skins.
- Bugfix: Cut off parameter analysis
- Bugfix: Property analysis does not handle predefined classes
  correctly.
- Bugfix: "Autoloading" may fail with a weird directory path
- Bugfix: The fatal error handler backtrace is broken
- Bugfix: Fix the styles of the Hans skin

3.0.1
- Change: All singelton classes now add themself to the pool as
  soon as they are created.
- Bugfix: Added the missing end event to the property analysis.
- Bugfix / Change: Configured debug methods are now checked on
  configuration loading.
- Bugfix: Preserve the line breaks from the string-extra.
- Bugfix: Repair the UndeclaredProperty class and use it.
- Bugfix: Lower the nesting level again after a failed traversable
  analysis.
- Bugfix: Analysis of private getter do not respect the context.
- Bugfix: Interesting display of parameters in the method analysis.
- Bugfix: Infinite loop when configuring the ip range.

3.0.0
- Added 'is' and 'has' to the getter analysis.
- Added plugin support, to replace the half-asses overwrites.
- Added a event dispatcher.
- Added deeper search for the source code getter analysis for
  better results.
- Added a forced logger, which van be reached by \Krexx:log();
- Added a jumpTo element after uncollapsing the breadcrumbs for
  better usability.
- Added support for "\0" chars.
- Added the count info to the traversable analysis.
- Added meta data analysis to the stream resource.
- The file logger writes the logfile right after the analysis is
  complete.
- Change: Some internal renaming.
- Change: Removed the constants analysis configuration.
- Change: Moved the bootstrapping to it's own file.
- Change: Removed the annoying spaces from the generated DOM, for
  better copy-paste.
- Change: Resorted the settings.
- Change: Prettified the output of the Hans skin.
- Change: Mime type analysis threshold is now 20 chars for strings.
- Bugfix: The position of the search field of the hans skin is now
  calculated correct when the viewport is not on top.
- Bugfix: The scroll container detection of the hans skin works
  now.
- Bugfix: Added help text for the arrayCountLimit.
- Bugfix: "Resolving" of unresolvable inherited comment parts work
  now as expected.
- Bugfix: Prevent the registering of multiple fatal error handlers.
- Bugfix: Minimise interference with strange CSS styles.
- Bugfix: Do not render an unresolvable method analysis recursion
  when there are no methods to analyse in that specific class.
- Bugfix: The file service can now read the bottom of file more
  reliably.
- Bugfix: Prevent code generation for explicitly forbidden paths,
  when the recursion resolving is copying the original analysis
  into the forbidden path (try to say this fast and 4 times in a
  row).
- Bugfix: Removing of message keys should work again.
- Bugfix: Duplicate messages will not be displayed anymore.
- Bugfix: Fixed a possible fatal, when trying to analyse dynamically
  declared properties, which have a name collusion with private
  properties somewhere deeper in the class inheritance.
- Bugfix: Detect unset properties in classes.
- Bugfix: Added closing style tags to both skins
- Bugfix: Catch throwable in PHP 7.
- Bugfix: Removed the anoying speces from the hans template, so
  people can copy stuff better from the output.
- Bugfix: Added 'Krexx' with a capital 'K' to the caller finder
  pattern.
- Bugfix: Prevent a possible fatal when analysing methods or
  closures, and the typehinted class for this parameter does not
  exist.
- Bugfix: timer::moment() now disrespects the ajax or shell
  detection, and works better with the forced logging.
- Bugfix: Prevent other js libraries from messing with the search
  form.
- Bugfix: Prevent a fatal when trying to read the file time from a
  not existing file.
- Bugfix: Prevent unnecessary width "jumping" in the Smokey Grey skin.
- Bugfix: Resource recognition works more accurate.
- Bugfix: Fixed a fatal, when the fileinfo extension is not installed.
- Bugfix: Fixed a fatal, when the mb-string extension is not installed.
- Bugfix: The search of the Hans skin scrolls now more reliably.

2.4.0
- Added the method analysis to the recursion detection, to prevent
  analysing the same methods over and over again.
- Added Javascript optimisation for very large output.
- Added mimetype analysis for strings.
- Added prosessing class for "other" variable types.
- Added info button to the hans skin, to replace the somewhat
  intrusive hover info.
- Change: Moved the overwrites from the GLOBALS to a static class
- Change: Prettified the display of sourcecode in the backtrace in
  the smoky grey skin.
- Change: Removed the option for the atomatic registration of the
  fatal error handler.
- Change: Lots of micro optimizations.
- Bugfix: Minimise CSS interference from the hosting cms with
  marked text.
- Change: Simplified array analysis is now configurable.
- Change: Renamed the 'Backtrace' config group to 'pruneOutput'.
- Bugfix: Disabling via sourcecode works again.
- Bugfix: Removed the special backtrace configuration, which
  resulted in a output overkill, crashing the backtrace.
- Bugfix: Removed the comma in the method parameter analysis.
- Bugfix: Fixed in issue, where the correct nesting level was not
  set correctly, resulting in output overkill.
- Bugfix: Fixed codewrapper2 for the code generation in the Hans
  skin.
- Bugfix: Source generation for closures now work as expected.
- Bugfix: Better cleanup for still open HTML tags.

2.3.1
- Bugfix: Fixed shell detection.
- Bugfix: Fixed shell message feedback
- Bugfix: Fixed ajax detection

2.3.0
- Added a configuration for the backtrace, to limit the analysed
  steps.
- Added property comments to the analysis
- Added property declaration place to the analysis.
- Added better unicode support for the HTML output.
- Added better support for debugging onepagers.
- Change: Several performance tweaks for runtime optimization.
- Change: Fallback setting runtime => level set to 5.
- Change: Fallback setting runtime => maxCall set to 10.
- Change: Refactored the half-assed messaging implementation.
- Change: The cookie editor is now much better readable.
- Bugfix: Several tweaks to get a smaller HTML footprint.
- Bugfix: Prevent the debug methods from creating new analysis
  calls, resulting in an infinite loop.
- Bugfix: Better cleanup of HTML fragments left open from
  the hosting CMS.
- Bugfix: Reverted the 'Output -> File' change from 2.2.0
- Bugfix: Prevent a notice in case a property has a default value
  which is NULL.
- Bufix: Fixed a possible endless loop when iterating a traversable
  object.
- Bugfix: Limit the preview of method analysis with a lot of
  parameters or long namespaces.
- Bugfix: Removed a notice, in case krexx was called from normal
  php and then again from a registered shutdown function.
- Bugfix: Removed the multiple escaping of inherited comments.
- Bugfix: Use the filepath filter in the method and function
  analysis.
- Bugfix: Made use of the language file (nearly) everywhere.
- Bugfix: Make sure that there are no leftover chunks after a run.
- Bugfix: Prevent large output in case of arrays with more than 100
  items.
- Bugfix: Escaped info text about the maximum resting level.
- Bugfix: Missing leading backslash in classname display in several
  places.
- Bugfix: Code generation respects the scope analysis.
- Bugfix: The method analysis now displays the default parameter
  values correctly (or at all).
- Bugfix: No more getter analysis for internal php classes.
- Bugfix: The registry now can really tell if a value was set,
  or not.
- Bugfix: The short text of an expandable child is now searchable.
- Bugfix: Use the filepath filter for the location of the ini file.
- Bugfix: Removed a warning in the filterFilePath, in case kreXX
  was called via CLI.
- Bugfix: Proper message output in case of a shell call.
- Bugfix: Proper handling of dynamic declared class properties with
  PHP forbidden chars.
- Bugfix: The sorting of the configuration now stay the same as the
  fallback settings.
- Bugfix: The traversable analysis may forget to lower the nesting
  level again.
- Bufix: The file path filter now uses realpath() to resolve
  possible symlinks.
- Bugfix: Fixed a warning in PHP 5.3 when trying to get a object
  hash from an array.
- Bugfix: Fixed a autoloading triggering event, when processing
  a string.
- Bugfix: Fixed an issue with the path filter and the directory
  separator string on windows systems.
- Bugfix: Fixed an issue, where the preview of the string was
  first escaped, and then truncated.
- Bugfix: The string analysis is now respection line breaks in
  short string.
- Bugfix: Make sure that the marking of text will be displayed in
  the browser.
- Bugfix: Prevent a search with no search text at all.
- Bugfix: The cache handling of searches is now working correctly.
- Bugfix: Fixed the display of the search-options-symbol on Macs.
- Bugfix: Fixed a possible JS error in the search, in case we are
  searching through no payload.
- Bugfix: Fixed the rendering color of the connector 2 in the Hans
  skin.

2.2.0
- Added more search pattern and source code parsing to the
  getter analysis.
- Added a metatag to both skins to prevent crawler from indexing
  a kreXX output. Remember kids: never debug a productive site.
  This will only lead to trouble.
- Added a Registry class, so the overwrites can actually access
  additional data from the outside.
- The log chunk and config folder are now configurable.
- Added a Filter for the server document root from the file path
  of the calling file.
- Bugfix: Removed a warning in the IP-Whitelisting, in case there
  is no actual IP available.
- Bugfix: Source generation for resolved recursions works now as
  expected.
- Bugfix: Removed a warnings and some notices in case the $_SERVER
  variable was messed with.
- Bugfix: Prevent a thrown error, in case a class implements some
  sort of debugger trap by explicitely throwing errors when trying
  to get the traversable data.
- Change: Output -> File will now save the logfile directly after
  the analysis.
- Change: Renamed the Output -> Frontend configuration to
  Output -> browser.


2.1.1
- Added the info, if a property / method is inherited.
- Added a configuration for the scope analysis.
- Added the search option "Search whole value".
- Added the additional info from Smoky-Grey to the Hans, which
  will be displayed inside the help-box on hover.
- Bugfix: The comments will not break out of the getter analysis
  json anymore
- Bugfix: Removed a warning in case kreXX was called from eval'd
  code.
- Bugfix: Dumping of inherited private properties works now.
- Bugfix: Inherited properties and methods are now regarded by the
  scope analysis.
- Bugfix: Blacklisted all reflection classes for configured debug
  methods.
- Bugfix: Getter analysis is now respecting the scope analysis
  result.
- Bugfix: Removed the type-spam in the additional data.
- Change: Reworked some of the configurations (disable, maxRuntime,
  memoryLeft, iprange)
- Change: Refactored what did not make it into v2.0.0 due to time
  constraints and introduced a factory.


2.1.0
- Added getter method analysis for models.
- Added search options to both skins.
- Bugfix: Added LazyLoadingProxy->__toString() to the debug
  blacklist to prevent a fatal.
- Bugfix: Fixed the (XX) logo interference with the search box
  in the Hans skin.
- Bugfix: The search count is not zero-based anymore.
- Bugfix: Recursion resolving works now for closures.
- Change: Moved the configuration file to it's own folder.
- Change: Made the callback display in both skins a little less
  obtrusive
- Change: Added the '=' the the Hans Skin for better readability.
- Change: [runtime]level is now '10' in the factory settings.
- Change: [runtime]maxCall is now '15' in the factory settings.
- Refactored code comment analysis.

2.0.1
- Refactored the configuration and introduced models there.
- Removed the \Krexx::enable() call.
- Removed configurations, that nobody was editing anyway.
- Added a ip mask to whitelist ip's that can trigger kreXX.
- Bugfix: Rendering of the 'extra' part for long string works
  now correctly.
- Bugfix: Sourcecode generation for Traversable classes should
  work now for none ArrayAccess classes.
- Bugfix: A string with the value of '0' will get displayed again.
- Bugfix: Fixed a notice in the \Krexx::backtrace();
- Change: Added the method arguments to the method analysis in the
  smokygrey skin.

2.0.0
- Added sourcecode to the closure analysis.
- Prettified the sourcecode display in the smokygrey skin.
- Change: Removed the code generation for Traversals that can
  not be accessed via chaining.
- Change: Removed the unnecessary fluff from the source generation.
  Stuff like '$kresult =' is now gone.
- Change: Refactored pretty much everything and introduced something
  that looks remotely like MVC.
- Bugfix: Code generation is now working when krexx is called via
  'Krexx::'.
- Bugfix: Wrong line number in the fatal error handler.
- Bugfix: Code generation for class constants now works properly.
- Bugfix: Removed a  warning with the glob() function which may
  occur on some systems.
- Bugfix: Added a check to the developer handle tp prevent warnings.

1.4.2
- Added analysis metadata to the file output.
- Change: Restructured the configuration options. The sorting does now
  make more sense than before.
- Change: The logging options can never be changed on the frontend.
- Change: The debug methods can never be changed on the frontend.
- Bugfix / Change: Removed the whole dual-output mess.
- Change: When the destination is set to 'file' via config file, this
  value can not be overwritten with local cookie settings.
- Change: Unclunked the Smokey-Grey skin.
- Change: Adopted PSR-2
- Bugfix: No helptext displayed for readonly cookie config.
- Bugfix: The Hans skin renders the config option name twice.
- Bugfix: When setting the logfiles to '10', kreXX will now keep 10
  files, and not 9.
- Bugfix: The debug output might jump around, in some special css
  environments.
- Bugfix: Proper handling of broken html output from the hosting CMS.

1.4.1
- Added class constants analysis.
- Added the possibility to remove message keys from the message class
- Change: Search is now case-insensitive. This should make searching
  much more easy.
- Change: Output destination can not be changed anymore via the cookie
  editor by default. This should prevent people from locking themselves
  out.
- Cleanup: Cleaned up the object analysis as well as the namespace
  usage.
- Bugfix: Removed hardcoded logfolder path in the bootstrap phase.

1.4.0
- Added smoky-grey as the new standard skin.
- Added some primary formatting to the Hans skin to prevent the host
  system from messing with the css formatting of the skin.
- Added the SkinRender class to the skin directory, so every skin can
  do some special stuff.
- Added rudimentary translation support for the messaging class.
- Added minimized js libraries for smaller frontend output.
- Change: Cleaned up rendering process.
- Change: Removed the useless array nest from the traversable info, to
  produce a better readability.
- Bugfix: Removed the jQuery library. ReqireJS should now work normally
  when used on the frontend.
- Bugfix: Generated sourcecode now works with IteratorAggregate when
  trying to access a single element from the iterator.
- Bugfix: Configured debugging methods will not be called anymore,
  if they require a parameter.
- Bugfix: Prevent the calling of configured debug methods which are
  callable, but do not exist thanks to the __call() function.
- Bugfix / Change: When kreXX encounters an emergency break, the
  frontend configuration will be accessible, giving the dev the
  opportunity to change the settings.
- Bugfix: Fixed an issue with the benchmarking, when the dev has
  forgotten to start the timer.
- Bugfix: A click on the generated php code does not bubble anymore.

1.3.6
- Added scope analysis. Protected an private variables are treated
  as public in case they are reachable with the called scope.
- Class properties are now sorted alphabetically.
- Change: Replaced the option analysePublicMethods with
  analyseMethodsAtall. The old option does not really make sense
  anymore, since we introduced the scope analysis.
- Change: Improved the automatic code generation for recursions.
- Change: Standard value for 'backtraceAnalysis' is now 'deep'.
- Bugfix: Added the "$" in front of static properties.
- Bugfix: Automatic selection of the generated source code now works
  correct.
- Bugfix: Code generation now works in IE and Edge.
- Bugfix: Several JS fixes for IE9.

1.3.5
- Added code analysis to determine the name of the variable we are
  analysing.
- Added warning to tell the user that we are not starting an other
  analysis, because we will reach output => maxCall.
- Bugfix: Recursion clicking does not produce double ids anymore.

1.3.4
- Added closure analysis.
- Bugfix: Hans skin tries to close some left-over html tag to get a
  proper display
- Change: Removed the jQuery setting
- Bugfix: The display of the settings in the footer does do a
  callable analysis anymore, which may be a little bit confusing.
- Bugfix: Fixed a small display issue with the search in the Hans
  skin
- Bugfix: The Collapse-Everything-Else function from the hans skin
  does not affect other debug output anymore.

1.3.3
- kreXX will now work without a writable chunks folder, but this will
  require a much more memory.
- Bugfix: No data from the Magento debug() function when uses as a
  configurable debug function.
- Bugfix: String encoding detection now works as intended. This should
  speed up things a lot.
- Bugfix: Dual output (file and frontend) works again.
- Bugfix: CLI detection now respects file output configuration.
- Bugfix: X-Browser Adjustments for the Hans skin.
- Change: Restructured the output, to make it (hopefully) better
  readable. The format is now much more similar to the actual code.
- Change: Refactored file handling (chunks and logfiles).
- Change: Cleaned up the file structure.
- Change: kreXX will now evaluate all cookie settings right away, and
  not when the value is actually needed (if at all).

1.3.2
- Bugfix: Removed that annoying "Hidden internal properties"
  message.
- Bugfix /Feature: Added a small blacklist of classname/debugfunction
  combination which may cause problems during object analysis.
- Removed the old and ugly schablon skin.
- Added composer.json

1.3.1
- Bugfix: Local open function is working again.
- Bugfix: Displaying the local configuration does not
  re-enable kreXX anymore.
- Bugfix: Emergency break does not trigger a false positive
  anymore.
- Bugfix: Display of wrong values in the settings, in case
  those settings are not editable and there are some leftover
  values in the settings cookie.
- Bugfix: Proper display of static values in objects.
- Bugfix: Proper display of internal properties of predefined
  php classes
- Removed the Debug Cookie in favor for the local open
  function

1.3.0
- Added search function to the Hans skin.
- Added collapse-everything-else to the Hans skin.
- Added better recursion handling in the Hans skin.
- Added administration for the FE config.
- Added CLI detection and message handling in CLI.
- Bugfix: Possible jQuery errors when the host site is
  using the noConflict mode.
- Bugfix: Refactored css of the Hans skin for minimal
  interference with the host template. Most base64
  images were replaced by unicode characters.
- Bugfix: Possible false string encoding.

1.2.1a and 1.2.2.a
- Renamed the skin "schablon.com" to "schablon" to prevent
  Chrome from telling the user that the download is unusual
  See https://sourceforge.net/p/krexx/bugs/11/

1.2.2
- Bugfix: Removed interaction with the Magento backend
  template.
- Bugfix: Configurable debug methods are not forgetting
  their old values after display anymore.
- Bugfix: \krexx::editSettings() is working again.

1.2.1
- Reduced overall memory usage.
- Added memory usage check during frontend rendering.
- Added check if log and chunk folders are writable.
- Added analysis for protected and private class methods.
- Emergency break is now configurable.
- Moved output to a shutdown callback.
- Adjustments for the backend editor of the config file.
- Bugfix: The config display now resets the hive.
- Bugfix: Sourcecode in the backtrace does not display
  strange char count anymore.
- Bugfix: Configuration file get loaded again.
- Bugfix: Fatal error for a private or protected
  configured debug method
- Bugfix: Catchable error for a configured debug method
  with parameters

1.2.0
- Added Hans template.
- Added fatal error handler with a backtrace.
- Added message feedback from the configuration validation.
- Backtrace is now featuring highlighted parts of the
  sourcecode.
- Refactored code to meet Drupal conventions
- Refactored large parts of the internal configuration
- Bugfix: string length is now the right value again
- Bugfix: Added rootpath to the local cookie settings
  so they will be available on the whole site.
- Bugfix: 'Header already send' warning should not
  happen anymore, because we use output buffering, in case
  it is not used and we are the first ones to send
  something to the browser. This should also fix the
  login problems with drupal and typo3.
- Bugfix/Feature: Krexx tries now to detect whether the
  current request is ajax, preventing output which would
  break the AJAX request.
- Bugfix/Feature: keXX now accepts an empty jsLib value.
- Bugfix: PHP warning from debug callback functions
- Bugfix: Possible timestamp collision with the logfiles

1.1.0
- Refactored naming conventions
- Bugfix: Multiple inclusion of jQuery an the template js file
- Cleaned up generated HTML code
- Added scrollbars to the html DOM element, to make sure that
  there is enough room to render kreXX
- Added closing button
- All settings are now editable. Added a function to display
  kreXX, despite some local settings to prevent a lockout.
- Added support for mixed encoding in string analysis.
- Moved getDebugCookie functionality to the local settings.
- Bugfix: keXX should now use the included jQuery version, in
  case that there are other versions included.

1.0.1
- Added js error handling, in case JQuery fails to load
- Added support for inherited comments for class method
  analysis
- Cleaned up kreXX internals and rearranged the class architecture
- Added a static cache in kreXXRender
- A couple of fixes for PHP 5.3
- Fixed a path issue with the template.

1.0.0
- Cleaned up js including routines and made them configurable
- Reworked the render configuration settings
- Wrote own draggable js routine and unbundled jQuery UI
- Made "deep" configuration in the footer editable. The values will
  be stored in a cookie. Now every developer can have his own local
  settings, without the need to edit the global file.
- Renamed kreXX.ini to kreXX.ini.example, so an update will not
  overwrite the project settings.
- Added a configurable local open function.
- Added help text for all configurable settings.
- Bugfix: Recursion detection for arrays now works as expected
- Added an "emergency break" to prevent timeouts and WSOD
- Added possibility to store the kreXX.ini somewhere else
- Added type of variable type to the headline
- Compatibility with IE8 and IE9

1.0.0rc3
- Added index.php and .htaccess to the logfolder.
- Refined Drupal db logging.

1.0.0rc2
- Minimal skin adjustment for the old Magento standard template
- Added installation readme
- A click on a Recursion now jumps to the actual analysis element and
  highlights it
- Started to write this file in English, since rc1 is now available on
  Sourceforge
- Bugfix: Additional callback debug methods do not assume to get an
  array (or object) any more.
- Added function alias for \kreXX::open($data);
- Removed all HTML code from kreXXRender and moved it to real template
  files
- Removed Apache callback to clean up output stream.
- Traversable analysis now tells you, that it's empty instead of
  displaying no traversable info.
- Added configuration info to output and rearranged the template
- Reworked fallback settings, in case it is not set in the ini.
- Bugfix: Doctype will be send only once by kreXX.
- When clicking on a recursion, the <li> with the analysis data will
  now highlight in red.
- Reformatted this file, to make it better readable.