July 17th, 2011· Fixed Javadoc Parser (case-sensitivity issue)
· Unittests: Added presql ("setup") and postsql ("teardown") to testcases
· Unittests: Added basetype (to specify the basic type, e.g. VARCHAR, for some parameter originally defined like e.g. TABLE.COL%TYPE, to JUnit)
· Unittests: Added check_sql to evaluate a "void" procedure
· Object Type "TYPE" supported now (JavaDoc: @type)
· fixes to make it work with Windows
September 13th, 2010· code reorg for better maintenance and re-usability
· HTML files now get more "static" names so one can link to them directly (same for "anchors" in those files)
· prepared code for Python v3 compatibility
August 30th, 2010· fixed line numbers in code links
· rewrote JavaDoc parser using RegExps - now all tags should be able to span multiple lines
· added support for automated log rotation
· added feature to capture non-handled Python warnings and make them obey the configured log level. This is disabled by default and only works with Python 2.7 and above
August 22nd, 2010· adding size details to forms pages
· new javadoc tag @testcase to define unit-tests
· added unit test XML export
· added demo script to create PL/SQL unit tests from the XML exports
August 8th, 2010· Todos/Bugs are now also collected from forms
· new keyword verification.stats_javadoc_forms (0/1) lets you include forms todo/bug count within the javadoc stats on the code stats page
· javadoc verification is now available for Oracle Forms program units as well (partially - no parameter validation yet). To enable, set the new keyword verification.verify_forms to 1 (it is disabled by default)
· missing @return made verification crash
· source code links for forms themselves where routed to line 0, which does not exist
· file_size_limit for forms now is bound to the PL/SQL code size instead of file size, as this is the "included source code"
· javadoc evaluator crashed the script when an object was defined without name being specified
· fixed a typo causing the script to crash on stand-alone functions
· trailing brackets on object names (e.g. "CREATE TABLE dummy(") caused crashes on where_used scan
· form files have been accidentally included in file size and lines stats
July 15th, 2010· reorganized core libraries. Some have been outsourced to a separate package iz_tools, as they contain quite generic stuff only
· bunch of keywords and types added for syntax highlighting (requires cleaning the code cache to have effect for unchanged files if using the cache)
· some improvements concerning the processing Oracle Forms
· links on form details page fixed up
· links on form details page fixed up
· lists on full-form-index were messed up
· more details on forms: package functions/procedures are now listed - provided they have javadoc information attached
June 14th, 2010· added support for stand-alone functions and procedures
· added full form listing (analogue to the full package listing with funcs etc.)
· more details for Oracle Forms included in output
· new config keyword include_source_limit: Limit inclusion of source code by file size (default: '0' = unlimited, emulating behavior of previous versions)
June 3rd, 2010· Added basic support for Oracle Forms (including Javadoc @form tag)
· Files removed from their locations in the source tree now also get automatically removed from cache
May 27th, 2010· added support for triggers (incl. Javadoc tag @trigger)
· COMMENT ON ignores for where_used completed (now also ignoring e.g. MViews)
· some more code cleanup and optimization (scanning source for objects)
· ! missing desc for function/procedure parameters was always marked in verification, regardless whether 'desc' should have been checked (mandatory_tags where ignored)
· columns (@col) are now also checked against mandatory_tags (desc)
May 24th, 2010· Tasklists (Bug/Todo/Verification) should now be able to tell overloaded functions/procedures apart
· author in tasklists (if enabled) was not always updated correctly
· new javadoc tag @used
· if no where/what used found, manually marks (@used/@uses) are evaluated and indicated by '@' in the lists
May 20th, 2010· usage scan now ignores ALTER (TABLE|SYNONYM) as this is no real usage. Same for COMMENT ON (TABLE|COLUMN), CREATE INDEX, GRANT, and PROMPT
· bug, todo, and validation items for tables, (m)views, synonyms, and sequences are now added to the global bug/todo/validation lists
· reworked the where_used scan. You may not notice anything with smaller projects - but the speedup factor on larger projects reaches 10+ (with our main project - 192 files, 2.2MB, ~900 objects - processing time decreased from about 38min to less than 2min, which is about factor 20!)
· shortref scan (process.whereused_scan_shortrefs) is now much more reliable
May 13th, 2010· added support vor materialized views and tables
· columns block was shown in Javadoc HTML even when no cols had been specified - fixed
· javadoc: made parameter and column lists better readable
· some adjustments to the dependency graphs and dependency scans
May 10th, 2010· added option to show author information for the items on bug/todo/verification reports
· all graph colors are now configurable
· new default colors for graphs
· added JavaDoc tag @col (column) for views (later also to be used for materialized views and tables, as soon as they are available)
May 3rd, 2010· Javadoc for sequences was ignored
· fixed "empty objects" in dependency graph (probably introduced by last release)
· percentage for sequences and synonyms on stats page was wrong
· handling of double-quoted object names (i.e. 'CREATE TABLE "DUMMY"')
April 29th, 2010· reworked the javadoc module to make it more flexible
· added support for synonyms (JavaDoc tag: @synonym) and sequences (@sequence)
· colors for object graphs (statistics and dependency graphs) are now configurable
· fixing another issue with the code highlighter (concerning HTML contained in source files)
April 26th, 2010· cache purge crashed due to incomplete file name
· fixed a minor problem with the syntax highlighter and HTML entitities
· extended the sql.keywords list for syntax highlighing
April 22nd, 2010· some fixes concerning views ans stats creation
· including JavaDoc info for views on sourcepages
· some more exception handling
· object lists are now sorted by name, so it's easier to find the object looked for
April 15th, 2010· what_used pages linked to the wrong objects
· hyperlinking calls to called object in source code
· added support for a bunch of commandline options (far too many to mention them all here)
· new option to define whether findings on javadoc verification should be logged
· and a lot of other things (see the changelog file for details)
April 12th, 2010· syntax highlighter now uses regexp to split the lines (better accuracy now)
· syntax highlighter does now recognize keywords containing parenthesis, e.g. VARCHAR2(255)
· syntax highlighter now also cares for numbers and strings
· establishing some caching to speed up things (wow: factor ~200 for the highlighter when found in cache, and even ~300 for dependency graphs on average!) Caching is enabled by default, which reduces the average processing time up to ~50%. If you want it disabled, add "cache = 0" in your .ini files "Process" section.
April 7th, 2010· added what_used
· fixed some more false positives in usage reference
· javadoc verification was partly broken (missed the missing descriptions)
April 6th, 2010· where_used pages now also list the name of calling objects and link to their JavaDoc reference (if possible/available)
· alternating row colors now also in where_used tables
· worked around some possible division by zero errors
April 1st, 2010· added smarter progress bar
· some adjustments for depgraph.set_charset
· drawing up to 4 depgraphs now (file2file, file2object, object2file, object2object)
· graphviz default processor changed to fdp
· excluding private objects from depgraph
· dropped config parameter depgraph.ranksep
· added config parameters in section DepGraph: ranksep_dot, ranksep_twopi, len_fdp, len_neato, mindist_circo
· graphviz cmdline now logged at debug level (instead of info)
· added deltmp var to depgraph class (plus corresponding DepGraph.deltmp)
March 29th, 2010· new module systools created for misc. system stuff like opening files etc.
· new config var: process.javadoc (whether JavaDoc should be evaluated), default 1
· dependency graph added (still needs some more tweaking)
· removed the last remaining "tabs" from code - so there shouldn't be any "indentation errors" anymore (as have been reported for some systems)
March 25th, 2010· added gettext support
· added locales (currently only en_US and de_DE - all other de_* simply link to the latter, en_* to the former)
· added new JavaDoc tags @since, @ignore, @uses, @throws
March 22nd, 2010· where_used links and alternating row colors in file pages"describing" JavaDoc elements (with just one "text" option) can now be used repeatedly for the same object (e.g. multiple todo items)
· optimized where_used scan and full package list creation (less code now)
March 18th, 2010· basic verification of function/procedure parameters against JavaDoc (parameter count)
· added pie charts to the stats page
· added object and javadoc statistics to stats page
· row colors are now alternating to make long lists better readable
March 15th, 2010· added basic JavaDoc verification stuff - now you can define mandatory tags!
· new config section [Verification] with keywords verify_javadoc = 0|1, mandatory_tags = tag1 tag2..., and javadoc_mandatory
· new page 'report' for the verification report
· failures are logged at WARNING level (if verify_javadoc = 1) if enabled, this will also check for missing names and descriptions, plus for missing return values of functions
· calculating "lines of code" and some more statistics. The former will at least be logged (at INFO level) - but a statistics page can be enabled via the config.
· hopefully fixed "local where_used" stuff to be more precise
March 8th, 2010· adapted a patch made against Randys original code on 07/12/2005 by Matthias Schade, which lets the code parser ignore block comments and string contents plus lets it scan for local calls inside package bodies
· new boolean options in [Process]: whereused_scan_shortrefs, whereused_scan_instring
· new tags: @ticket, @wiki (options: [General] bugzilla_url, wiki_url - with placeholder for the bug ID resp. wiki page name, so it should be useable with all kind of trackers/wikis.
· scanning for ticket:123 and wiki:pagename in all JavaDoc text fields and turning this into hyperlinks (if ticket_url and wiki_url are set correspondingly)
· double quotes in second line of JavaDoc caused HyperSQL to crash with a SyntaxError exception
· added "goto TOP" (TopOfPage) link
· some more code documentation (internal)
March 4th, 2010· outsourced config class (HyperConf). Now it reads all available config files, overwriting more common data (default config files) by project specific ones
· extended the ConfigParser with the IniParser class (which then is extended by HyperConf). This way we can intercept possible user errors (specifiying invalid configuration values) in a better way
· added logging facility (including a corresponding config section)
· overloading functions/procedures should no longer cause javadoc confusion
March 4th, 2010· outsourced config class (HyperConf). Now it reads all available config files, overwriting more common data (default config files) by project specific ones
· extended the ConfigParser with the IniParser class (which then is extended by HyperConf). This way we can intercept possible user errors (specifiying invalid configuration values) in a better way
· added logging facility (including a corresponding config section)
· overloading functions/procedures should no longer cause javadoc confusion
February 24th, 2010· option blind_offset added (to control parsing for "anonymous JavaDoc segments")
· code reorganization: outsourced some code to modules (hyperjdoc, hypercore, hypercode)
· "describing" JavaDoc elements (with just one "text" option) can now span multiple lines
· converting crash when configured top_level_directory did not exist into a standard exit with proper error message
· fixed the additional empty lines in code listings
· new keyword include_source (section Process) to make the inclusion of source code optional
February 21st, 2010· added javadoc tag @license
· missing details added to package info
· some where_used were not found since their lines were considered "having not enough touples" (
February 17th, 2010· added Javadoc parsing and creating of Javadoc documentation
· added some more configuration options
· added more documentation (especially for Javadoc and configuration)
· some formatting issues fixed
· reworked main index (startpage)