
DBDocumentor 4.20 Release Notes

INSTALLATION

Note that during installation, Setup will remove any existing log files 
which may be present.  If you have been requested to provide a log file 
for debugging, please copy it to a different location prior to 
installation of version 4.20.

IMPORTANT NOTES:

Version 4.00 was the first release of DBDocumentor since version 3.41.  
There have been a large number of changes since version 3.41, and this
readme file contains the comlete listing of what changes were made, and 
in what beta version.  

4.20 CHANGES:

NEW FUNCTIONALITY:
- DBDocumentor now supports Microsoft SQL Server Reporting Services Report
  Definition Language (SSRS RDL) files.  When defining a project, you have 
  the option of including RDL files.  If you choose to supply an RDL file
  to DBDocumentor, DBDocumentor will verify that the default XML namespace 
  corresponds to either Reporting Services for SQL Server 2000, or SQL
  Server 2005 Reporting Services.  If the default namespace doesn't match,
  the file will not be processed.


BUG FIXES:
- A change in the way XML was handled beginning with version 4.00 resulted
  in UNICODE entities being incorrectly handled and certain XML parsers
  would raise an error if UNICODE characters were present in the XML.  This
  problem was only present in the XML output.

- If whitespace appeared in a RAISERROR TSQL statement containing a textual 
  error message, the text of the error message would be omitted.

- If you specified an alternate (non default) file extension for your SQL 
  source files, and then browsed to the location of the SQL source files,
  any files matching your alternate file extension would not be listed.

- In TSQL, if a user defined function was called where there was an open
  bracket preceding the function name, without any whitespace, the user
  defined function was not listed as a called function.  Now fixed.

- The default CHM icon was being used for the content page icon.  The standard 
  CHM icon for a content page, by convention, is an icon depicting a page
  of paper.  This has been changed. If the previous default icon is desired,
  please set the II tag on your content to a value of 9.

- When running Windows Vista, DBDocumentor would show the HTML Help Workshop
  as a missing component, even when it was installed.  This was due to the
  way Vista references the system file path for the HTML Help viewer. 
  Additionally, if the upgrade version of DBDocumentor was installed on Vista,
  the common controls were incorrectly listed as installed.  Both of these
  items have been resolved, but Windows Vista remains an unsupported 
  operating system until more testing has been completed.



4.10 CHANGES:  

NEW FUNCTIONALITY:

- Support for a new tag to exclude specific objects from the output.  
  If you are using source files which contain DDL for more than one object
  which would be included by default but don't want to include specific 
  instances of an object, you can now use the ##EXCL tag to accomplish this.

  An example of this situation would be a single source file containing DDL
  for all the tables in the database, and you are wanting to provide 
  documentation for third party developers to code against, but do not want 
  to include tables which might change and which the developers are not
  expected to code against.

- When specifying the file list in an external file, you now can include '*'
  as a wildcard.  The acceptable options are '*.*, '*.<extension>' and '<file>.*'

- The HTML output option is now accessible from the main user interface, and
  no longer requires CHM compilation to be selected.

- An index page is now included with the HTML output option

- The HTML generated for the HTML output option can now be scaled to any font
  size the supported browsers can render.  Additionally, the table of contents
  images scale with the text.

BUG FIXES:

- External file lists were not functioning in command line mode.

- 'All files' recursion was not functioning in command line mode.

- If you specified 'recurse' for the file list, the user interface would
  not respond until the entire subfolder structure had been scanned.  If 
  an incorrect path was entered, this could take some time.  The file 
  population dialog is now interactive.

- When using an alternate language for the output, the English word 'on'
  would appear in the CHM index for any SQL indices.

- When using an alternate language for the output and the modern MSDN
  layout, the English words 'Source' and 'Example' would appear in the 
  header of the output.

- Table constraints which specified the sort order would incorrectly 
  indicate the column name with the sort suffix ( e.g. ASC )

- When using SQL Server 2005 extended properties, and specifying the 
  variable name to sp_addextendedproperty, the contents of the
  extended property would not be included.  This is due to a change in
  the documentation of the variable name between the final CTP of
  SQL Server 2005 and the released version of SQL Server 2005.

- When using SQL Server extended properties, and specifying the variable
  name for all parameters, the contents of the extended property would
  not be included.  This was a regression from version 3.41 behavior.

- When using SQL Server extended properties with a batch script containing
  SQL objects which were not to be included in the output, the extended
  properties for the excluded objects would still be processed.  If you
  were running with DBDocConsole, this would result in error messages
  indicating the property was processed before the object was processed.
  
- If the XML output was chosen as the only output, the HTML intermediate
  files used for CHM output would still be generated.

- If you loaded a file for SQL source which didn't contain any SQL objects,
  you would receive an error in WriteHTMLToC and no output would be generated.

- If the source SQL for a Firebird project specified the character set on
  procedure parameters, all parameters on the procedure following the
  character set specification would be ignored.  Now fixed.

- If both explicit JOIN and implicit JOINs were present in the same SELECT
  statement, with the implicit JOIN occurring after the explicit ones, the output 
  would lack the implicit joins and would contain the word ON.  Now fixed.

- IndexKey was not being populated consistently in the XML output.

- SQL Server table variables defined in under defined functions were not
  being hyperlinked.

- In Microsoft TSQL, the pseudo table name given to multi-statement table
  valued functions would be included in the output.  Upon reflection, this
  made little sense so the pseudo table name is no longer present in any
  output format.

- If multiple result sets were returned, only the last result set would be 
  displayed in the CHM output.


4.00 CHANGES:

NEW FUNCTIONALITY:

- New license keys are now required.  Old version 3 and version 2 keys will no
  function.  Depending upon when you purchased your copy of DBDocumentor, and
  if you were an active participant in the DBDocumentor Preview Program for 
  version 4.00, you may   be eligible for a free upgrade of DBDocumentor 
  version 3 license to a version 4 license.  

  When you start up the version 4.00, GUI, there will be a message stating 
  that your old keys will not work with this version of DBDocumentor, and you 
  will be provided a button to upgrade. Clicking the button will contact the 
  Pikauba Software web site and you will be presented with various upgrade
  options specific to your account.  You may purchase as many licenses at 
  the preferential rate as you wish, and optionally upgrade to a domain license.
  
  If a free upgrade is available, you will be able to upgrade your existing
  licenses with that free upgrade key, but may do so only once, and only the
  quantity and type of license originally purchased is eligible for the free
  upgrade.

- Product activation has been implemented.  It is with much sadness that we 
  discovered DBDocumentor registration keys floating about on the Internet.
  After some debate, it was decided that the most efficient way to combat this
  problem was through a very simple product activation mechanism.  It is our
  hope that this mechanism will be sufficient to protect us, while at the same 
  time being a minor inconvenience to you, our customers.  

  When you enter your license keys to unlock DBDocumentor, it will launch an 
  instance of Internet Explorer and using SSL contact the Pikauba Software web
  site to validate your license keys.  If that communication is successful, and 
  the web site both finds your license key, and determines that you have not
  installed it on too many machines, DBDocumentor will unlock and you can use 
  it from that point on.  If you receive a message about the license count
  being exceeded, you may have activated DBDocumentor on more machines than
  you have purchased licenses for.  If this is the case, you can deactivate a
  license using the "Deactivate License Key" tool in the Tools folder.

  As with all Internet Explorer usage in DBDocumentor, the Internet Explorer 
  session is carried out in the foreground so that you can see everything that 
  is occurring.  If the web page indicates that your copy was activated, you can 
  close, or minimize, the browser window and use DBDocumentor.

  Assuming that this process unlocks your copy of DBDocumentor, DBDocumentor 
  will never attempt to contact the Pikauba Software web site again. If you have
  any questions about this process, please see: 
  http://www.pikauba.com/dbdoc/licensing.htm, or send an email to sales@pikauba.com.

- DBDocumentor now has the ability to completely suppress the creation of SQL objects
  in dynamic SQL.  In previous versions the name DBDocumentor assigned to dynamically
  created objects could be misleading due to dynamic name generation.  If you are 
  creating SQL objects using dynamic names, you can instruct DBDocumentor to ignore 
  those objects.
  

BUG FIXES:

- There was an installation scenario for the HTML Help workshop which the 
  DBDocConsole application was incorrectly detecting.  This impacted you if you
  could run and build CHM output from the GUI interface, but if you attempted to 
  run the same project from DBDocConsole, you received a message about a missing
  HTML Help workshop or compiler.

- Significant performance gains have been made when outputting colorized source code
  which included Enterprise Manager or other METADATA items.

- Table of contents pages had a minor formatting problem in the Modern MSDN layout.
  For those pages, it was possible for certain screen resolutions to have the 
  copyright information clipped by the HTML Help viewer.  Now fixed.

- If block comments were used to enclose a single line comment containing a DBDocumentor
  annotation tag, and there were multiple block comments in a batch with at least one
  block comment following the comment containing the DBDocumentor annotation tag, the
  text output for the item being annotated would end with the characters '*/'

- When running in a low privilege environment, the DBDocumentor log file would grow 
  without bound.  This was due to the pruning operations occurring under the context
  of the logged in user who was running DBDocumentor under low privilege.

- When running in a low privilege environment, the common project history file would
  not be maintained correctly.  One of the signs of this problem would be the inability
  of a low privilege user to remove or add a new project to the list.

3.96 CHANGES:

NEW FUNCTIONALITY:

- Colorization performance has been significantly improved.  In version 3.95 and all
  prior versions, if you included the Enterprise Manager descriptions, and selected 
  to have the output colorized, and the source included in the output, the time to 
  produce the output would be signifcantly greater than if you have not selected to 
  colorize the output.  In version 3.96, the time spent in colorization activites
  has been reduced by 50-70% depending upon the complexity of the SQL batch.

- XML output performance has been significantly improved when outputing XML containing
  colorized source code.  In version 3.95, and all prior versions, if you elected to 
  colorize the output, and to generate an XML file, the time to output the XML file 
  would be significantly greater than if you had not elected to colorize the output.
  In version 3.96, the time spent in outputing colorized XML source is comparable to the
  time spent outputing plain source code.
  

BUG FIXES:

- Colorized SQL did not always follow HTML well-formedness.

- If a project file which used an output path which wasn't present on the system, and
  the user simply clicked on Finish, DBDocumentor would process the project, but throw
  an error when writing output.  Now under this scenario, DBDocumentor will take the
  user to the wizard page which defines the output path.

- If block comments were used to enclose a single line comment containing a DBDocumentor
  annotation tag, and there were multiple block comments in a batch with at least one
  block comment following the comment containing the DBDocumentor annotation tag, the
  text output for the item being annotated would end with the characters '*/'



3.95 CHANGES:

NEW FUNCTIONALITY:

- SQL Server 2005 Synonyms are now processed.  The comment tag is ##SYND.

- HTML is now an output option.  In order to generate HTML output, you need only
  clear the "Remove temporary files" option, select Modern MSDN output, and navigate 
  to the frame.htm file in   your output folder.  The output has been tested with 
  IE5.5 and higher, Firefox 1.02, and Opera 8.  The best rendition is with IE 
  (due to the CHM syntax), but the output is usable in all tested browsers.

- ASA COMMENT statements are now processed.  In order to enable COMMENT processing,
  select the 'Use COMMENT descriptions' output options.

BUG FIXES:

- The nullability of user defined data types applied to table columns is now 
  transferred to the table column, unless the nullability is explicitly set.  
  This applies to all dialects.

- Dropped user defined data types (TYPE, DOMAIN, DATATYPE) are no longer included 
  in the output.  This is a dialect independent fix. 

- When using the Alternate Output Language Support, the Table of Contents would
  always start with the word "Overview"

- Colorization for SQL 2005, Sybase ASA and Firebird specific syntax is now supported.

- ASA DOMAINs now include the default and check associated with the data type.


3.94 CHANGES:

NEW FUNCTIONALITY:

- SQL Server 2005 XML indexes are now labeled as such in the output

- Several output layout changes have occurred.  These changes are in support
  of the new multi-lingual output options

- All textual aspects of a DBDocumentor output can now be overridden.  This means
  that the output language for a DBDocumentor generated CHM is user defined.

  Please see the documentation section "Alternate Output Language Support" for
  more information.

- Firebird Domains now include the default value, and check conditions.


BUG FIXES:

- TSQL based user defined functions accessing other SQL objects were not listed the
  referenced objects.

- The table of contents link for common table expressions pointed to the last 
  common table expression written out.

- The list of objects using a system message was not sorted.

- Firebird function listings now include the entry point and module name of implementation

- Firebird stored procedure, trigger and view listings no longer indicate that the
  object can be encrypted

- Firebird exceptions no longer list severity or state

- The "Applies to" and "See also" listing in modern MSDN mode on data views now appear
  above the source file name listing.

- Firebird exceptions are now hyperlinked

- TSQL RAISERROR listings no longer include error text under the ID column

- If a TSQL Error or Firebird exception was present in a trigger, no hyperlink would be
  in the output, and the summary listing for the trigger would not be output

- If an error occurred writing out objects, DBDocumentor would attempt to display an
  error message dialog.  On certain operating systems, it is possible to suppress the
  error message dialog. If the message was suppressed by the operating system, DBDocumentor 
  would attempt to write the message to the NT event log, but might hang doing so.  The
  fix is to always display the error message dialog when the GUI is used.

- The SQLDocumentation XSD file has been brought in line with the new output XML data.

- Complex check constraints containing select statements would not be processed correctly.  


3.93 CHANGES:

NEW FUNCTIONALITY:

- Ability to override the default names for the table of contents entries.  i.e.
  If you would prefer to call Indices Indexes, you now can override the defaults.
  Better still, if you want to provide non-English names for the items, you now
  can do so.  Unfortunately, the entire output is not yet ready to be overridden.

- There is now a pikauba:XML namespace.  As with the pikauba:SQL namespace, the 
  pikauba:XML namespace allows you to define XML descriptions and have them
  correctly formatted, and colorized in the output.  This means that you no longer
  have to encode and escape XML sequences you might wish to include in the output.

- SQL Server 2005 is now a supported parser.  Undoubtably there are bugs in it,
  but it is better for everyone to have access to it now in order that the
  most serious bugs are found.


BUG FIXES:

- If the project name was changed on an existing project, the next button would disable.

- If the .DBDocumentor project file was not upgraded, and DBDocConsole was used to 
  run the poject, numerous errors would result.

- SQL Server 2005 parser no longer lists XQuery items as called functions

- If multiple GRANT statements were present in a TSQL batch, and one GRANT contained
  a GRANT to ALL, the GRANT to ALL and subsequent GRANTs would not be included.


3.92 CHANGES

Version 3.92 contains some significant changes from the last public release, version 3.41.

NEW FUNCTIONALITY:

- Common table expressions are now included in a dedicated area of the table of contents 

- Table variables are now included in a dedicated area of the table of contents

- New user interface for creating and editing projects

- Now able to suppress inclusion of temporary objects in the ToC via XML file.  Settings
  attribute is IncludeTempObjectsInToC, and uses yes/no variables.

- Support for XML indexes

- Partial support for schema space on data types (SQL Server 2005)

- Partial support for APPLY joins (SQL Server 2005)


BUG FIXES:

- Firebird token batch terminators of length greater than 1 were not supported. Now fixed.

- TSQL RAISERROR processing would occasionally incorrectly parse a leading paren character

- UDF ##SA processing was incorrectly handling the referenced object leading to the
  reference not being included in the output

- UDF parameter definitions were limited to 255 characters

- If an XML parsing error occurred with an XML project file, system defaults are now used

- If an XML parsing error occurred with an XML project file, the error is returned to the user

- New tests for HTML Help workshop implemented.

- Stored procedure parameter definitions were limited to 255 characters

- Case sensitivity was not be passed to result set data source references (missing hyperlinks 
  were the symptom)

- Cascading table constraints were not being processed correctly

- ALTER TABLE commands would occasionally loose synchronization

- Defined table constraints would occasionally show garbage characters in the output

- Sybase ASA named foreign keys now show optional role name

- Sybase ASA and Firebird defaults no longer considered as constraints

3.91 CHANGES

Version 3.91 is an internal beta.  This section remains in the public beta readme so
that participants of the public beta can learn more of some of the changes.

NEW FUNCTIONALITY:

- Support for multiple SQL dialects.  Version 3.41 supported only Transact SQL (TSQL) of
  Microsoft's SQL Server.  Version 3.91 includes official support for TSQL from Microsoft 
  ( SQL Server 2000 and below ) and Sybase ( ASA version 9 and below ), Watcom SQL from
  Sybase ( ASA Version 9 and below ), and Firebird SQL ( Version 1.5 Dialect 3 ).  If
  you are using a SQL dialect related to one of these, please try the appropriate dialect
  option.  If that dialect option does not function for you, please contact Support with 
  the details.  It may be that with some minor changes, your dialect can also be supported.
  
  Dialects are changed using the dialect setting of the XML project file's Config section.
  Please contact support for the proper dialect setting for your dialect.  SQL Server (TSQL)
  does not require a dialect setting.  Invalid dialect values can generate unpredictable
  results.

- Temporary objects are now grouped with their parents (i.e. a temporary table created in the
  context of a stored procedure will be grouped with the stored procedure).  This means that
  hyperlinks from result sets and data source and modifications are correct.

- Ability to suppress, at the project level, inclusion of temporary objects in the data 
  modifications section of an object report.  Suppression is done by setting the 
  SuppressTempDataModifications Config setting to "yes".

- Ability to suppress, at the project level, all processing of dynamic SQL.  Suppression is 
  done by setting the ProcessDynamicSQLCalls Config setting to "no".

- Ability to suppress, at the project level, all listing of "Dynamic SQL #nnn" listings.
  Suppression is done by setting the ListDynamicSQLCalls Config setting to "no".


BUG FIXES:

- When creating a project using default values, the "Include source code" option was
  incorrectly initialized.

- Suppression of standard ToC entries in the XML project file was broken under the following 
  circumstances:
    - If a top level item was suppressed, but sub elements were present in the XML project file.
    - If a top level item was suppressed, any included sub elements would be incorrectly displayed.

- If an object include a single or double quote in their name, the ToC would be incorrectly
  displayed.

- If a table column had a foreign key defined using the shortcut REFERENCES syntax, it would
  not be processed.

- If a table column had an unbraced default defined, and there were additional constraints
  defined on the same line, those additional constraints would be listed with the default.

- WITH table join hints are now fully supported

