Build 5.0.0 (Beta)
  * Added ability to deep load all schema information at once which results in huge performance improvements.  This is used by setting the DeepLoad attribute on any SchemaExplorer property in your template.  This would typically be used when you know you are going to use all of the schema information from a database.
  * Ability to use .net 3.5 features in templates including LINQ.  This is accomplished by setting the CompilerVersion attribute on CodeTemplate to "v3.5".
  * CodeSmith Projects now have a single file output mode to generate all template outputs into a single file.
  * Added Ability to generate individual project outputs.
  * Changed Manage Outputs dialog to make it easier to manage outputs and added an options dialog for changing project settings.
  * Made it so that files being generated from a CodeSmith Project are checked out of source control before being edited.
  * Improved the custom tool upgrade process so that it works 100% in all scenarios without having to make manual changes afterward.
  * CodeSmith Projects can now add files to Visual Studio as code behind files to other generated files.
  * CodeSmith Projects can now set a generated files build action.
  * Added ability to resolve assemblies located in paths relative to the template now using Path attribute.  Looks in template folder and \bin folder by default.
  * Optimized template caching algorithm allows for much improved performance.
  * Templates use partial classes now so you can have partial class code behinds and have access to template properties from the code behind file.
  * Added template metadata caching.
  * Added GetPropertyAttribute and SetPropertyAttribute to CodeTemplate.
  * Property attribute values are added for any non-recognized attributes on Property, XmlProperty and CodeTemplate directives.
  * Made all SchemaExplorer objects serializable.
  * Fixed bug with refreshing SchemaExplorer objects where it would not show all extended properties of the object after refresh.
  * Re-organized all sample templates and projects into a more logical folder structure.
  * Added new NHibernate templates in both C# and Visual Basic.
  * Made various improvements to the Plinqo templates.
  * .netTiers updated to the 2.3 Beta version of the templates.
  * Added VB versions of many sample templates and projects.
  * Added a couple new maps and ActiveSnippets.
  * Included the latest version of the NuSoft framework templates.
Build 4.1.4 (Final)
  * Fixed a content encoding issue in the CodeSmith Studio start page.
  * Fixed a bug in the SQL schema provider that was preventing some default parameter values from being parsed.
  * Fixed MySQL schema provider to use any version of the MySQL binaries.
  * Various bug fixes.
Build 4.1.3 (Final)
  * Various improvements to the Plinqo templates.
  * Made some improvements to the StringUtil.ToPlural and StringUtil.ToSingular methods.
  * Save all documents and projects before running the GenerateOutputs command.
  * Fixed a rare CodeSmith Studio crash when loading additional files outside of th IDE.
  * Added SqlNativeType-SqlDbType.csmap.
  * Added Stack Trace to error messages resulting from attempting to generate a project.
  * Updated to the latest version of the syntax editor control which fixes several issues.
  * Changed CodeSmith engine to use the application / system configuration to figure out which CodeDOM provider to use.  This makes it possible to use other template languages.
  * Fixed a bug with the default parameter regex in SqlSchemaProvider not recognizing parameters defined with the AS keyword.
Build 4.1.2 (Final)
  * Fixed issue with CodeSmith Project files in some Visual Studio configurations that was crashing during generation.
  * Added CS_ObjectID extended property to tables, views, and commands.
  * The PLINQO templates have been updated with several enhancements and bug fixes.
Build 4.1.1 (Final)
  * Updated LINQ templates to work with Visual Studio 2008 Beta 2.
  * Added a Close All But This menu to the document tabs and File menu.
  * Fixed bug in CodeSmith Studio that was assuming that a user wouldn't rapidly open multiple documents or change documents while compiling.
  * Fixed crash in AddOutput when template fails to compile.
  * Fixed error message when reading metadata from project in Visual Studio Package.
Build 4.1.0 (Final)  
  * Changed CodeSmith to auto refresh property values every time a template is run except inside CodeSmith Studio where there is an option to enable this behaviour.
  * Added new "Auto refresh properties" option to CodeSmith Studio that will cause properties to refresh their values before every run.
  * Added new "Refresh Properties" button to the property grid in CodeSmith Studio to force a property value refresh.
  * Added new PropertyRefresher attribute that can be used to specify how CodeSmith should refresh a property's value.
  * Added new RefreshProperties method to CodeTemplate used to force the properties on a template to refresh their values.
  * Added PropertyRefresher support to all SchemaExplorer objects.
  * Added PropertyRefresher support to XmlProperty.
  * Added support for Visual Studio 2008 (Orcas).
  * Added NoWarn attribute to CodeTemplate to allow ignoring warnings.
  * Added new Linq to Sql templates.
  * Added new APOSA templates for the book "Advanced Patterns of Enterprise Architecture".
  * Added a new IDbConnectionStringEditor interface to SchemaExplorer for providers to support connection string editing.
  * Added support for the new IDbConnectionStringEditor interface to the SqlSchemaProvider.
  * Added support for the new IDbConnectionStringEditor interface to the ADOXSchemaProvider.
  * Added Indexes and Keys to the SchemaExplorer tool window in CodeSmith Studio.
  * Added OracleSchemaProvider to CodeSmith installation. (Thanks to Geoff McElhanon)
  * Added MySQLSchemaProvider to CodeSmith installation. (Thanks to David Neal)
  * Added source code for the SqlSchemaProvider to the sample projects folder.
  * Added a MapSample.cst template.
  * Added some merge sample templates.
  * Fixed bug where self referencing foreign key was not being correctly added to the PrimaryKeys collection.
  * Fixed null reference bug in SqlSchemaProvider GetExtendedProperties.
  * Fixed ActiveSnippets bug that was throwing an exception when the user deletes all the templates and clicks OK.
  * Fixed a bug in the CommandWrapperClass.cst template.
  * Fixed a bug that was causing TableSchema to not refresh correctly after calling Refresh.
  * Fixed a bug in the Visual Studio package that was causing the trial license to be shown before any CodeSmith functionality was accessed.
  * Fixed bug in the ActiveSnippet configuration form that caused Visual Studio to crash.
  * Fixed bug with SchemaExplorer control where data sources were not being refreshed correctly.
Build 4.0.4 Final
  * Updated to DockableWindow 2.0.209 to fix a docking window issue under vista aero.
  * Changed SqlSchemaProvider to properly pull back varchar(max) and other data types in SQL 2005 for command parameter data types.
  * Fixed a bug in CSMAP's where they would sometimes not use the correct map settings.
  * Fixed a licensing bug introduced with 4.0.3.
Build 4.0.3 (Final)
  * Added several new map files for various type conversions.
  * Fixed issue with the Standard trial install acting like the Professional version.
  * Fixed bug in the SampleCustomProperties sample project causing the property values to not restore.
Build 4.0.2 (Final)
  * Corrected a versioning issue.
  * Fixed a form layout bug.
Build 4.0.1 (Final)
  * Fixed some bugs in the API help where member return types and names weren't being displayed.
  * Made it so that the sysdiagram tables are ignored in SqlSchemaProvider.
  * Fixed a bug in XmlProperty when using the RootElement attribute.
  * Fixed a bug that was causing CodeSmith to not work in configurations where the my documents folder was a UNC path. 
  * Fixed a licensing bug in CodeSmith Standard that was not allowing the console client to be used on .csp files.
  * Fixed a couple other minor internal bugs.
Build 4.0.0 (Final)
  * Added ctrl-space support to Studio.
  * Add support for .csp in web projects.
  * Fix bug where .csp files didn't work in the solution items project.
  * Studio semantic parser changes to improve performance.
  * Make semantic parsing work better in code behind files.
  * XmlProperty now shows as a file name in the property grid and can be modified.
  * User's Guide has been updated to document the new CodeSmith 4.0 features.
  * Added ContextData to CodeTemplate.  Made it so that ContextData is passed to sub-templates by default.
  * Added New \ CodeSmith Project context menu item to template explorer.
  * Changed the IPropertySerializer interface to use a PropertySerializerContext now so that it can get access to the object instance and so that new information can be added to it in the future without breaking things.
  * Added a TemplateState.Initializing to CodeTemplate which is the state that a CodeTemplate will be in while it is being constructed/initialized.
  * Performance improvements in SqlSchemaProvider by optimizing some of the SQL and moving everything to parameterized SQL.
  * Updated the Tip of the Day contents.
  * Made it so that if an empty .csp file is opened, it will create a blank project instead of crashing.
  * Updated to the latest Actipro controls which includes numerous bug fixes and improvements.
  * Fixed a bug in the sproc text template.
  * Made CodeSmith Studio the default editor for .cst files in Visual Studio.
  * Fixed the 64bit licensing issue.
  * Changed the Petshop sample connection string to specify Initial Catalog so that the database name isn't a long file path.
  * Fixed a deadlock issue in TextBoxWriter and made it async.
  * Made UNC paths work in the MRU list on the start page.
  * Removed the user / machine name from the bug report information.
  * Various bug / crash report service improvements.
  * Made it so that hyperlinks with & and # in them are recognized in Studio.
  * Fixed a bug in SqlSchemaExplorer that was returning duplicate table columns on fields with multiple constraints.
  * Added tooltips to the MRU items in the start page.
  * Fixed a bug with the Add button on the manage outputs dialog being disabled in professional mode.
  * Fixed a bug where changing a folder name outside of template explorer and then doing something with that folder in template explorer would cause a crash.
Build 4.0.0 (Beta 2)
  * All CodeSmith samples and documents are now stored in the user's My Documents folder.
  * All config data is now stored in the user's profile directory.
  * CodeSmith should now work in non-admin scenerios and in Vista with UAC turned on.
  * ActiveSnippets will now show usage information when you press CTRL-E, CTRL-R or when a template is invalid.
  * ActiveSnippets now properly indents the output based on the indentation of the alias.
  * Fixed various bugs in CodeSmith Explorer that were causing it to do random full refreshes.
  * Added drag and drop support to CodeSmith Explorer control.
  * Added PropertyChanged event to CodeTemplate.
  * Added OnChanged attributes to Property and XmlProperty directives.
  * Updated CSLA.NET templates to the newest versions targetting CSLA 2.0.
  * Added DbSnapshot templates to the samples.
  * Added NHibernate templates to the samples.
  * Added recent news to the CodeSmith Studio start page.
  * Made .csmap files open in the map editor tool window when inside Studio.
  * Changed .csmap double-click in Studio to open the map in the map editor tool window.
  * Changed .csp double-click in Studio to run the ManageOutputs dialog.
  * Corrected WilsonORMapper/MappingFile.cst naming conflict
  * Added Find More links to Map Editor and ActiveSnippet configuration form.
  * Made it so that ColumnSchema is usable with ActiveSnippets.
  * Fixed bug in extended property editor that would crash CodeSmith when right-clicking.
  * ActiveSnippets has been updated to use file extensions to resolve aliases and works in all file types.
  * Changed templates using StringUtility to use StringUtil instead.
  * Set the |DataDirectory| variable for connection strings to the user's My Documents\CodeSmith\Samples\v4.0\Data directory.
  * Auto-retry on failed config save attempts.
  * Made the ActiveSnippetForm save propertyset values in the save method because the values weren't always being updated correctly.
  * Fixed various spelling mistakes.
  * Made it so the splash form in Studio will not stay up over top of error messages making Studio look like it is locked up.
  * Fixed a bug in configuration system where file handles weren't being properly released and was causing problems trying to save config data.
  * Fixed several minor bugs in map editor.
  * Fixed tab index on various forms.
Build 4.0.0 (Beta 1)
  * CodeSmith Project support (.csp files).  This replaces property sets, the custom tool and the batch format.
    - CodeSmith Projects can be run from the command prompt, inside MSBuild, inside CodeSmith Studio, and inside Windows Explorer.
    - Inside of Visual Studio, any outputs that are generated will automatically be added to your project.
    - If you build your project, your outputs will automatically be re-generated.
    - Progress dialog is shown when running from Windows Explorer.
    - GUI dialogs to easily manage your project file.
    - Easily add new outputs where you select a template and specify the property values.
    - You can also specify merge settings through the GUI to enable code merging support.
  * ActiveSnippet support.  This will allow you to type something like:  "dbprops CodeSmithTools.dbo.Customer" inside of Visual Studio and then hit the expand key (CTRL-E-E by default) and it will expand out into a list of property getters/setters and member variables based on the fields and data types of the Customer table.
  * CodeSmith Map support (.csmap files).  This feature will allow you to create dictionary style maps of things like SQL to C# data type mappings.
    - Example: <%@ Map Name="CSharpTypeAlias" Src="CSharpTypeAlias.csmap" Description="Maps system types to C# aliases." %>
    - Ability to reverse the map and use the values as the map keys.  This is useful for doing reverse lookups.
    - Ability to return the key value if a cooresponding map entry is not found.
    - Ability to return a default value if a cooresponding map entry is not found.
    - Ability to manage maps inside CodeSmith Studio or from Windows Explorer.
  * Ability to manage database schema extended property values from inside of CodeSmith Studio.
  * XmlProperty support has been enhanced to handle more variations of XSD.
  * Template property values are saved for templates so that each time you run them, you don’t have to reset the values manually.
  * .netTiers 2.0 templates are included in the install.
  * Added drag and drop file support to the CodeSmith Explorer control.
  * Added csxsd.exe to allow manually creating shared XmlProperty assemblies.
  * Ton of new system extended properties added to SchemaExplorer objects.
  * Bunch of performance improvements here and there throughout CodeSmith.
  * Bunch of bug fixes.
Build 3.2.7 (Final)
  * Fixed a bug with SQL 2005 non-dbo tables.
  * Fixed a bug with Windows XP 64-bit.
Build 3.2.6 (Final)
  * Added xml type mapping for SqlSchemaProvider.
  * Added new CodeSmith.CustomProperties.NameValueCollection property type.
  * Added column size information to all column types in SqlSchemaProvider.
  * Added support for setting various SQL settings in the connection string for the SqlSchemaProvider. (ARITHABORT, ANSI_NULLS, ANSI_WARNINGS, ARITHIGNORE, ANSI_DEFAULTS, ANSI_NULL_DFLT_OFF, ANSI_NULL_DFLT_ON, ANSI_PADDING, ANSI_WARNINGS)
  * Added a reset and configure option to the about dialog for stats.
  * Fixed a bug with Windows XP 64bit edition.
  * Fixed a bug where the property set buttons would get repeated on the property grid toolbar.
  * Added NameValueCollection with designer to the CustomProperties assembly.
  * Fixed the unlock by email issue on .NET 2.0 with Xheo.
Build 3.2.5 (Final)
  * Made the installer check for .NET 2.0.
  * Made it so that the registration dialog isn't shown the first time the application is started.
  * Fixed a bug when restoring property set values.
  * Fixed a schema explorer bug when using the Contains method.
  * Added version information to the about dialog.
  * Added new WixDirectory.cst sample template.
  * Updated the XML entity sample templates to use merging.
Build 3.2.4 (Final)
  * Fixed a bug in VS.NET integration.
Build 3.2.3 (Final)
  * Added new CodeSmith MSBuild task.  A sample can be found in the SampleProjects\ConsoleSamples folder.
  * Made some big performance improvements to the startup time of CodeSmith Explorer and Studio.
  * Various bug fixes.
Build 3.2.2 (RC2)
  * Various bug fixes.
Build 3.2.1 (RC1)
  * Compiled against .NET 2.0.
  * New VS.NET 2005 integration package.
  * New Wix based installer with seperate installers for Professional and Standard.
  * Various bug fixes and minor enhancements.
Build 3.1.6 (Final)
  * Fixed a bug that would sometimes cause the template editor application to not load from inside of VS.NET.
  * Made it so that licenses can be re-registered so that upgrading from Standard to Professional is just a matter of re-registering.
  * Added generated code metric statistics to the about dialog.
  * Added menu items to the tools menu in CodeSmith Studio to copy, paste, load and save property sets.
  * Fixed a bug where data sources could not be modified inside of VS.NET.
  * Fixed a bug where template script directives were case sensitive.
  * Fixed an escaping bug in template directive attributes.
  * Fixed a bug with saving template output to a read only file.
  * Fixed a bug with some foreign language keyboards.
  * Added code to all network requests to use the default proxy settings and credentials.
Build 3.1.5 (Final)
  * Added support for setting the encoding for a template using the ResponseEncoding attribute of the CodeTemplate directive.
  * Made some improvements to the CommandWrapper_2.0.cst to make it support setting the desired ResultSchema type.
  * Added HTML decoding to attribute values so that &qout; can be used to have " characters in attribute values.
  * Fixed a bug that should keep some variables from forgetting their type and losing IntelliSense.
  * Added some additional checks in the configuration files to resolve some crashes during loading and saving configuration files.
Build 3.1.4 (Final)
  * Fixed SyntaxEditor licensing issue from 3.1.3 build.
  * Made it so that the VS.NET addin is not loaded on startup.
  * Added a NewLineOutput event to the TextBoxWriter class.
  * Made the OutputControl activate the output toolwindow when new lines are written to the output to make sure that the output toolwindow stays activated when items are written.
Build 3.1.3 (Final)
  * Made the XmlProperty directive support the Default attribute.
  * Add ToPascalCase Method to StringUtility.
  * Made StringUtility.ToCamelCase support changing TABLE_NAME to TableName.
  * Fixed Register directive to include Editor, EditorBase, and Serializer when merging properties.
  * Updated to the new SyntaxEditor 3.1 build which releases resources better so that CodeSmith Studio doesn't run out of memory and cause the frozen document behaviour.
  * Updated the license agreement to allow for any type of custom template distribution including commercial templates.
  * Added a XML and HTML region parser to the default configuration.
Build 3.1.2 (Final)
  * Made it so that the IPropertySerializer's LoadProperty method is used in the SetProperty method of CodeTemplate.
  * Made the XmlPropertySerializer support loading XmlProperty values from strings that are either XML content or a file path.
  * Fixed bug in CommandResultSchema that was causing the ExtendedProperties collection to be null.
  * Added additional unhandled exception handling code.
Build 3.1.1 (Final)
  * Fixed a bug where configuration data was lost when upgrading from a 3.0 installation.
  * Fixed a bug in SchemaExplorer where TableKeySchema was not using owner information to find the correct related tables.
  * Added CS_CascadeDelete and CS_CascadeUpdate to the extended properties collection for SQL table keys.
  * Made it so that if a template is in debug mode, it will never use the cache. 
  * Changed the console client to output debug and trace messages if the /verbose flag is used. 
  * Fixed a bug in the XmlPropertySerializer where it wasn't closing a file if an exception occured. 
Build 3.1.0 (Final)
  * New professionally written help file written by Mike Gunderloy.
  * Added designer support for ColumnSchema and ColumnSchemaCollection.
  * Added a "Explore" menu option to folders in the CodeSmith Explorer window.
  * Added CTRL-PageUp and CTRL-PageDown support to Studio.
  * Added an OnError virtual method to CodeTemplate.
  * Added a ParseDefaultValue method to IPropertySerializer and made the ParseDefaultValue method of CodeTemplate use it.
  * Added better error messages on the console client when /p was used to point to a propertyset file.
  * Fixed the command line client to properly pass the debug, tempfiles and verbose settings through to the code generators.
  * Modified the CodeTemplateParser to work when the locale was set to Turkish.
  * Changed the way the start page loads files into the IDE.  This was causing issues on some computers.
  * Added some better error reporting to the DataSource object.
  * Changed the machine profile code for activation to weight things differently and provide more tolerance to hardware changes.
  * Fixed a bug in the CodeTemplateInfo class that was causing template content to be cached incorrectly.
  * Fixed a bug in the output window that was causing an exception when an error was double-clicked and the output window was floating.
  * Made the browser control disable the forward and back buttons when they are invalid.
  * Fixed bug in the StoredProcedures.cst template that was using the wrong collections for length checks.
  * Made it so that the cache hash code includes referenced assemblies.
  * Made it so that default values are parsed for all types that support conversion from string.
  * Fixed bug with editor locking up in some situations with C# XML comments.
  * Changed bug report to not list dynamic or template assemblies.
  * Changed the support forum URL.
  * Fixed bug in SchemaExplorer that was causing it to error inside of VS.NET.
  * Added some error trapping code for machines where the performance counters are disabled.
  * Added property serialization support to the sample custom properties project.
Build 3.0.7 (Final)
  * Added property serialization support to the sample custom properties project.
  * Re-added the GetCamelCaseName and GetSpacedName methods to SqlCodeTemplate for compatibility with 2.x.
  * Added the ADOXSchemaProvider source code as a sample of building a schema provider.
  * Fixed a startup bug where if the tip of the day was enabled and you were opening a template with a code behind file, CodeSmith may appear to be locked up, but the tip of the day dialog is just in the background and causing the app to not respond.
  * Made the MRU list store all file types instead of just templates.
  * Increased the MRU list to 16 items on the start page.
  * Added NonForeignKeyColumns and ForeignKeyColumns helper properties to TableSchema.
  * Made it so that line modification markers turn green after a file has been saved.
  * Made it so that all files are auto-saved on compile.
  * Added IndentValue to the CodeTemplateWriter (Response) class.
  * Made it so that bookmarks are preserved during compilation.
  * Fixed bug where warnings were causing the compile to fail.
  * Made it so that the FileAssociationManager will return more detailed error messages when it runs into a problem.
  * Added sample of executing the EntityMaster.cst template from the command line.
  * Fixed the command line usage formatting in cs.exe.
Build 3.0.5 (Final)
  * Fixed CodeTemplate to not call OnPostRender twice when using a merge strategy and so that OnPostRender is called after the merge.
  * Changed the default highlighting style of the C# language def to not make collapsed regions bold.
  * Updated the license agreement to more accurately reflect the usage restrictions.
  * Fixed bug in licensing code that was causing licenses to appear invalid when running on .NET 2.0.
  * Updated installer to install the custom tool assembly if VS.NET 8.0 was found.
Build 3.0.4 (Final)
  * The custom tool works with 2005, but the addin is going to require some more work.
  * Fixed some spelling mistakes in several templates.
  * Corrected some information in the template syntax reference about how assemblies are resolved.
  * Fixed the escaped XML characters in the VBSortedList.cst template.
  * Added VS.NET 2005 compatibility for the custom tool.
  * Fixed some bugs in the ADOX schema provider.
  * Made it so that the FullName properties in SchemaExplorer don't use an owner prefix if there isn't an owner.
Build 3.0.3 (Final)
  * Changed the Entity.cst template around to be more of a best practices for using sub-templates with XmlProperty.
  * Made it so that the AssemblyHelper.dll is installed into the AddIns directory.
  * Fixed some editor crashes and made it so that warnings are underlined in blue and errors in red.
  * Fixed a bug that was causing the editor to crash when an infotip was requested on a method with "by reference" parameters.
  * Fixed the activate by email form to allow for easily pasting in the entire unlock code.
  * Cleaned up the entity map sample templates.
  * Fixed a bug in the XmlProperty directive that was causing problems if the same XSD was referenced twice.
  * Updated the EntityMap XmlProperty sample to use a new technique for passing elements down to a sub-template.
  * Fixed a problem where the template explorer was refreshing during a rename.
  * Update the purchase order sample to use the XmlProperty directive.
  * Various bug fixes and perf improvements.
Build 3.0.2 (Final)
  * Made the SetProperty method spit out better error messages.
  * Fixed a bug in the ScriptUtility that was seeing GOTO's as GO's.
  * Made it so that OnInit can actually be overridden.
  * Made it so that the compiler labels warnings as such.
  * Fixed compiler issue where the source had only a CodeTemplate directive and nothing else.
  * Made it so that smart indenting works after a { character.
  * Made it so that a template without a Language= attribute would not cause an error.
  * Updated to the new SE build that should fix the editor hanging in certain situations.
  * Removed the accidental reference to "C:\blah.xml" in the SyntaxLanguageManager class.
  * Modified the activation dialog to indicate how the activation scheme really works.
  * Fixed bug with studio where in memory changes weren't being used.
  * Fixed data source UI bug that was making the schema provider not selected.
  * Various bug fixes and perf improvements.
Build 3.0.1 (Final)
  * Fixed the IntelliPrompt summaries option not being saved.
  * Fixed SQL batch parser.
  * Added numeric as a data type to the SQL language definition.
  * Fixed cache issues.
  * Fixed script utility not executing the last bit of content.
  * Fixed parser not correctly adding XSD files as source dependancies.
  * Fixed a bug where quick info would crash if it had an & in it.
  * Various bug fixes and perf improvements.
Build 3.0.0 (Final)
  * Made it so that you can pass properties in from the command line.
  * Added new preserve regions merge strategy.
  * Added Register directive to make working with sub-templates much better.
  * Added template caching.
  * Added batch mode to the console client.
  * Made it so that any merge strategy can be used from the console and from the batch format.
  * Made it so that custom region types can be defined in the engine config file.
  * Made it so that Assembly Src="" works.
  * Added test button to data source dialog.
  * Added copy button to data source manager.
  * Added paste property set XML to the property grid control.
  * Output can now be directed to more than one TextWriter at a time.
  * Output can now be indented using Response.Indent(), Response.Unindent(), and Response.IndentLevel.
  * Added IntelliSense to CodeSmith Studio.
  * Added an XmlProperty directive to make working with XML much easier.
  * Added a includeHeader option to the custom tool XML format.
  * Added a PropertySerializerAttribute that allows you to assign a IPropertySerializer type to any custom property types.
  * Made it so that you don't have to recompile your custom assemblies every time a new version of CodeSmith is released.
  * Cleaned up the installation folder structure.
  * Added script utility to CodeSmith.BaseTemplates project that allows execution of T-SQL scripts.
  * Added PreRender and PostRender virtual methods on CodeTemplate.  The PostRender method gets a parameter with the result of the template 

rendering.
  * Added Progress object on CodeTemplate that can be used to report the progress of the template execution.  This is most useful with 

master templates that take a while to render.
  * Upgraded to the new 2.5 version of the SyntaxEditor control.
  * Added a RenderToFileCodeTemplate class to the BaseTemplates project.  Inheriting from this class in your templates will give your 

templates a 
  * Fixed bug with GetCompiledTemplateInstance where using the forceRecompile option would cause an exception if the template was already in 

cache.
Build 2.6.0 (Final)
  * Fixed installer to properly register CodeSmithUserControlHost.dll.
  * Made it so that --#region/--#endregion and --region/--endregion will create outline nodes in SQL.
  * Fixed VB.NET language definition to properly highlight the Me keyword.
Build 2.6.0 (RC1)
  * Added GetCodeTemplateInstance method to CodeTemplate.  This can be used to compile and create an instance of another template.
  * Added Toggle Template Code Expansion feature.  This allows easy viewing of the static content in the template. (Shortcut CTRL-SHIFT-M)
  * Fixed up the syntax highlighting editor dialog and made it persist the settings.
  * Made it so that you can manually enter a delimited list of strings for StringCollection in the property grid.
  * Added several options to the options dialog.
  * Improved outlining.
  * Fixed various minor bugs.
Build 2.5.18 (BETA)
  * More performance improvements in the core CodeSmith engine.
  * Made it so that if you reselect the same schema object it will refresh the schema information.
  * Made the enter key open the selected template in CodeSmith Studio.
  * Fixed bug with saving a property set file while overwriting an existing property set file that is set to read only.
  * Made CodeSmith Studio a single instance application.
  * Fixed bug where trying to open a file that was already open would cause the file to re-compile itself.
  * Fixed bug when compiling templates that have ( ) or ' in their file names.
Build 2.5.17 (BETA)
  * Fixed issue with CodeSmith Studio hanging sometimes when <% was typed.
  * Made the VS.NET custom tool MUCH better.  It now reports errors in much more detail.
  * Added variable support to the VS.NET custom tool.
  * Added default property support to the VS.NET custom tool.
  * Made it so that goto line now expands the regions the line is on.
Build 2.5.16 (BETA):
  * Made various performance improvements to the engine and CodeSmith Studio.
  * Added syntax highlighting to target languages.
  * Added outlining support to CodeSmith Studio.
  * Added line modification markers to CodeSmith Studio.
  * Added auto copy output to clipboard option in CodeSmith Studio.
  * Fixed several find and replace bugs.
Build 2.5.15 (BETA):
  * Added ToString override to the schema collections so that the names of the selected objects show up.
  * Stopped indenting script blocks.
  * Fixed highlighting issues with escaped template tags <%% %%>.
  * Made register menu item hidden when already registered.
  * Fixed bug where pressing F4 on codebehind causes exception.
  * Changed RenderToFile using a merge strategy so that it creates a file if it doesn't exist.
  * Changed the output encoding to UTF-8.
  * Fixed bug in editor control where a black box was sometimes drawn.
  * Fixed bug in editor control where a clipboard operation would sometimes cause an exception.
  * Updated to the 1.5 version of Chris Nahr's collection templates.
  * Various other minor bug fixes.
Build 2.5.14 (Final):
  * Turned CodeSmith Professional licensing on.
Build 2.5.13 (RC4):
  * Fixed the check to see if a given file is already open (was case-sensitive).
  * Fixed issue with setting properties programmatically if they were not an exact type match but were still related types.
  * Disabled the replace and replace all buttons on the find dialog if a document is read only.
  * Fixed the StoredProcedures.cst template to handle user defined types.
  * Made it so that the explorer tree doesn't do a complete refresh on every file save.
  * Fixed painting issues in the Highlighting Style Editor dialog.
  * Fixed issue with the find function not always moving the find result into view.
  * Fixed issue with CTRL-TAB and new documents.
  * Fixed template parser to allow escaped "'s in the directive attributes.
Build 2.5.12 (RC3):
  * Fixed bug in SqlSchemaProvider where tables with .'s in their name would cause an error.
  * Changed SchemaExplorer to lazy load extended properties.  This made a huge difference in databases with a lot of schema objects. 
  * Fixed bug with RenderToFile where the file handle was not being released if an error occured during template execution.
  * Added the awesome DBDocumenter templates to the samples.
  * Added the C# CSLA.NET templates by Ricky Supit.
  * Added the StoredProcedureDescriptions.cst template by Oskar Austegard.
  * Fixed bug with save all button where not all documents would be saved.
  * Added context menu to the output and compiled source editors.
  * Fixed bug in the logo header of CodeSmithConsole.
  * Fixed bug with determining if a file has been modified in CodeSmith Studio.
  * Fixed various issues with the goto line feature in CodeSmith Studio.
  * Fixed formatting issue with template comment tags.
  * Fixed bugs with commands enabling and disabling in CodeSmith Studio.
  * Changed the F6 mapping in Studio to toggle between views of the current document.
  * Changed build shortcut to CTRL-SHIFT-B.
  * Fixed bug with external change modification notice.  Whenever you closed a document and re-opened it you would then get errant external 

change modification notices.
  * Fixed bug with CTRL-F sometimes causing a crash.
  * Fixed various painting issues in the editor control.
  * Added option to determine code behind open behaviour in CodeSmith Studio.
  * Fixed issue with various menu item actions not updating the document title.
  * Changed CTRL-TAB and CTRL-SHIFT-TAB to behave the same as VS.NET.
  * Added ability to select template editor application from CodeSmith Explorer.
  * Made it so the template will recompile if the code behind file has been modified.
Build 2.5.11 (RC2):
  * Fixed parser bug where whitespace would not be correctly handled in some scenerios.
  * Fixed bug with custom assembly resolution.
  * Fixed bug when closing multiple instances of Studio at the same time.
  * Fixed bugs in a few sample templates.
  * Fixed bug when using a \ in the find dialog.
Build 2.5.10 (RC1):
  * Added some new help content.  Thanks to James Avery.
  * Updated to the latest collection and CSLA.NET templates.
  * Added State (values: Default, Rendering, Validating, RestoringProperties, SavingProperties) property to CodeTemplate.  This can be used 

to tell what the template is currently doing.
  * Fixed bug when saving a newly created template.
  * Made the close start page on open setting work for all ways of opening files.
  * Fixed bug in collections where indexers threw an exception for items that did not exist.  These indexers now return null if the item is 

not found.
  * Added override for ToString() in CodeSmith.CustomProperties.StringCollection so that the items show up in the propertygrid instead of 

the type name.
  * Fixed bug in RestorePropertiesFromHashtable where you get a NullReferenceException when trying to populate a property that has been 

removed since the last compile.
  * Fixed bug in the about box where some names were being cut off.
  * Fixed bug with Load Property Set XML in the stand-alone property grid.
  * Fixed bug in CodeSmith Explorer with template folders that no longer exist.
  * Fixed bug in CodeSmith Studio with opening files that no longer exist.
Build 2.5.9 (Beta):
  * Added context menus to the document tabs.
  * Added CopyPropertiesTo method to CodeTemplate.  This can be used to copy all matching properties from one template instance to another.
  * Dramatically improved compiler performance on large templates.
  * Lots of improvements to the CodeSmith Explorer control.
  * Rebuilt all of the Schema Explorer collections using the awesome collection templates by Chris Nahr.  These collections are now 

editable, although the instances returned by Schema Explorer are marked as read-only.
  * Fixed bug where enum values were not being maintained during template compilation.
  * Fixed bug where new files were not added to the MRU list.
  * All configuration files have now been moved to the current user's ApplicationData folder.  It should now be possible to run CodeSmith as 

a non-Administrator user.
  * Added folder monitoring to Explorer so that new files are automatically picked up.
  * Added monitoring to all documents in CodeSmith Studio so that external changes are picked up.
Build 2.2.8 (Beta):
  * Added tool tip to document tabs in CodeSmith Studio.
  * Added keyboard shortcuts to almost everything in CodeSmith Studio.
  * Added ability to open any file type in CodeSmith Studio.
  * Added error underlines to the compiled template source when there are compilation errors.  These also have tooltips to display the error 

message.
  * Added Select All, Copy Output, Save Output, and Compile To Assembly menu items.
  * Added Insert Content menu items and shortcuts.
  * Added dialog to ask if you want to open the code behind for a template if it uses one.  (this really should be another tab in the 

template editor.)
  * Added F3 support and made various fixes to the find and replace operations.
  * Added menu item to save output to file.
  * Added Windows menu to CodeSmith Studio.
  * Added recent files menu to CodeSmith Studio.
  * Added context sensitive enabling/disabling of commands in CodeSmith Studio.
  * Added options dialog with various settings.
  * Fixed parser bug where comments (<%-- --%>) would collapse a line with other content on it.
  * Added ability to change language background color in the highlighting style editor dialog.
  * Added start page / embedded web browser to CodeSmith Studio.
Build 2.2.7 (Beta):
  * The Schema Explorer tool window in CodeSmith Studio works now (still need to have it let you manage your extended properties).
  * The properties grid is now used to show properties on just about everything.
  * Fixed bug when dropping a template onto the VS.NET Solution Explorer window.
  * Updated to the latest version of the CSLA.NET templates.
  * Created a new sample template CommandWrapperClass.cst.  This template creates a C# wrapper class for a stored procedure.
  * There is now a Description property on all schema objects.  This is simply a shortcut to the CS_Description extended property.
  * Made the find dialog set the currently selected text as the find value instead of it being hard-coded to "int".
  * Made the find dialog restore focus to the editor window when the dialog is closed.
  * Fixed bug in Studio where the same instance of a template was being used for multiple generations.
  * Added CS_IsComputed and CS_IsDeterministic extended properties to ColumnSchema and ViewColumnSchema.
  * Added CS_Default extended property to ParameterSchema.
  * Added CTRL-TAB and CTRL-SHIFT-TAB support to CodeSmith Studio.
  * Fixed printing issue in CodeSmith Studio where lines were not being wrapped.
  * Fixed bug in parser that caused <% = expression %> (space between <% and =) to be incorrectly parsed.
  * Fixed bug in parser that caused multi-line template comments to be incorrectly parsed.
  * Updated to version 1.3.1 of Chris Nahr's collection templates.
  * Created CodeSmith101 sample templates.
Build 2.2.6 (Beta):
  * Implemented cursor changes in CodeSmith Studio when the application is working.
  * Fixed bug in extended properties where extended property value was NULL.
  * Fixed several clipboard issues in CodeSmith Studio.
  * Added error trapping around template execution so that it's obvious the exception was from bad code in the template and not CodeSmith.
  * Updated to version 1.3.0 of Chris Nahr's collection templates.
  * Fixed bug in CodeSmith Studio where template properties would be lost after a failed compilation.
  * Added code to allow enum property types defined in multiple templates to be converted back and forth.
Build 2.2.5 (Beta):
  * Added icons to the Visual Studio .NET tool window and command.
  * Added a blank data source to all designers.
  * Added context menu items to the property grid to copy, save and load the property set XML.
  * Fixed bug with right-clicking in the property grid on a category cell.
  * Made a lot of internal changes to cleanup the way CodeSmith was searching for assemblies.
  * Replaced VSUserControlHost with CodeSmithUserControlHost.  I believe this change will fix the infamous "Invalid VSUserControlHost" error 

message in Visual Studio.
  * Added a ScriptTableData.cst sample template.
  * Made CodeSmith Studio persist highlighting style changes.
  * Added Schema Explorer tool window to CodeSmith Studio.
  * Fixed highlighting bug where single line comments would over-ride the end of a template block (%>).
  * Added highlighting support for template comments (<%-- %>).
  * Implemented alternate method of retrieving command schema result information in certain scenerios where it would fail otherwise.
  * Fixed bug with SQL7 and views.
  * Added option to installer to select whether or not VS.NET support is installed.
  * Made it so that Undo buffer is cleared right after document load.
Build 2.2.4 (Beta):
  * Added GetProperties and GetRequiredProperties to CodeTemplate.
  * Added AllInputParameters, AllOutputParameters, and NonReturnValueParameters to the CommandSchema object.
  * Fixed various exceptions in CodeSmith Studio.
  * Added EngineSample (this was previously ConsoleSample).
  * Added ConsoleSamples.  This contains various samples of using the command line client.
  * Added option to installer to include Visual Studio .NET 2003 support.
  * Made CodeSmith Studio handle saving to read-only files.
  * Fixed issue with command parameters extended properties.
  * Added new sample template that outputs all extended properties for a database.
Build 2.2.3 (Beta):
  * Fixed parser bug where first literal line of template would be parsed incorrectly and discarded.
  * Fixed parser bug where <script> tags were being incorrectly parsed.
  * Fixed bug in Property directive Default attribute where defaults would only work with properly cased types.
  * Added ParseDefaultValue to CodeTemplate.  This method is called to parse the Property directive Default attribute value and assign the 

default value.  The method is virtual and can be overridden to extend the supported data types.
  * The Property directive Default attribute now supports enum values as well as all integer data types (was Int32 only before).
  * Made it so that you can press delete on a folder in the CodeSmith Explorer control to remove a folder.  Also, made it so that the full 

folder path is shown when hovering over the folder.
Build 2.2.2 (Beta):
  * Added merge capabilities (let's you merge into a region of an existing file) to CodeSmithConsole.
  * Redesigned CodeSmithConsole parameters and switches.
  * Added owner support to collections (indexer, Contains, IndexOf).
  * Fixed issue with property sets not containing the owner information.
  * Fixed bug where a SQL float type would be mapped to a Decimal instead of a Double.
Build 2.2.1 (Beta):
  * Added CodeSmith Studio.
  * Added CommandSchema.CommandResults to allow for discovery of command results schema information.
  * Added ViewSchema.ViewResult to allow for discovery of view result schema information.
  * Added StringCollection to the CodeSmith.CustomProperties assembly.  This class fully supports the CodeSmith GUI and XML property set.
  * Added XmlSerializedTypeConvertor to the CodeSmith.CustomProperties assembly.  This class allows conversion of XML serialized objects 

back and forth to the property set format.
  * Added ability to save property set XML to file in the generator form.
  * Added ability to load property set from XML file in the generator form.
  * Added SavePropertiesToXmlFile and RestorePropertiesFromXmlFile to CodeTemplate.
  * Added support for executing a template in CodeSmithConsole.
  * Added more error handling support to CodeSmithConsole.
  * Fixed bug with TableSchema extended properties.
  * Made database extended properties populate.
  * Fixed bug with version check.
  * Added a custom exception dialog that can be expanded to show the stack trace in SchemaExplorer.
  * Fixed problem with SchemaExplorer and non-dbo owners.  Also added owner information into the designers.
  * Changed designers to default to the recently modified or added data source from the data source manager.
  * Updated to version 1.2.1 of Chris Nahr's collection templates.
  * Included CSLA.NET templates from Matt Altadonna.
  * Made all fields required on the data source dialog.
  * Modified XmlSerializedFilePicker to not require an attribute named type on the root element.  It will now assume the type of the 

property.
  * Made parser ignore duplicate import and assembly directives.
  * Included some nice synchronization changes to the CSVector.cst template contributed by Joel Mueller.
  * Changed CommandSchema.InputParameters to only return Input parameters.  Previously it returned Input and InputOutput parameters.
  * Changed CommandSchema.OutputParameters to only return Output parameters.  Previously it returned Output and InputOutput parameters.
  * Added CommandSchema.InputOutputParameters to return InputOutput parameters for the command.
  * Added CommandSchema.ReturnValueParameter to provide a reference to the return value parameter of a command.
  * Fixed bug with CommandSchema and copy property set XML.
Build 2.1.1270 (Release):
  * Fixed bug with copy property set XML and null values.
  * Added context menu to the property grid that allows clearing values and turning the help panel on and off.
  * Added ViewText to the ViewSchema object.
  * Implemented a workaround for the VB.NET on .NET 1.0 issue.
  * Added designers for TableSchemaCollection, CommandSchemaCollection, and ViewSchemaCollection.  These types can now be used as properties 

in the GUI and in the VS.NET custom tool.
  * Changed all Schema Explorer collections to make use of the new value based Equals method when calling Contains and IndexOf.
  * Added ability to select multiple root folders in CodeSmith Explorer.
  * Enabled the maximize button on the explorer and generator forms.
  * Included the awesome C# collection templates built by Chris Nahr.  Hopefully someone will be willing to convert these to VB.NET and they 

can be included too.
  * Implemented the Equals and GetHashCode methods for each schema object.  Equals will now check for value equality instead of reference 

equality.
  * Made all schema explorer designers re-sizable and also made them bigger by default.
  * Fixed various bugs in the generator form.
  * Added CTRL-G to the generator form as a shortcut to the Generate button.
  * Added CTRL-T to the generator form as a shortcut to the copy template output to clipboard button.
  * Made it so that if you cancel out of a schema explorer designer, it will not null out your current selection.
  * Made it so that if you had a previous selection the schema explorer designers will automatically select that item.
  * Fixed a bug in the GUI where it would use the same instance of the template for each generation.
  * Added CustomProperties sample.  This sample demonstrates using the XmlSerializer to deserialize an object and use it as a property.
  * Added ExtendedProperties collection to all schema objects.  These can be used to hold any custom data.
  * Made SqlSchemaProvider populate all extended properties from SQL 2000 into the ExtendedProperties collection on each schema object.
  * Made SqlSchemaProvider populate five additional extended properties on each column: CS_IsIdentity, CS_IdentitySeed, 

CS_IdentityIncrement, CS_IsRowGuidCol, and CS_Default
  * Added CommandText property to the CommandSchema object.  This can be used to get the code for the command.
  * Added IsDependantOf method to the TableSchema object.  This will determine if a given table is a dependant of another table by crawling 

the ForeignKey heirarchy.
  * Added TableDependancyComparer class.  This can be used to sort tables in order of dependancy.
  * Made all Schema Explorer designers remember their last selected data source.
  * Changed Indexes collection to include the primary key index.  I was explicitly excluding this index before.
  * Added IsUnique to ColumnSchema.  This simply checks for a unique index on this column.
  * Added IsPrimaryKey, IsUnique, and IsClustered properties to IndexSchema.
  * Added DateCreated to TableSchema, ViewSchema, and CommandSchema.
  * Added support for Debug attribute in the CodeTemplate directive.  This must be set to true before you will be able to debug your 

templates.
  * Fixed various bugs in the SqlSchemaProvider assembly.
  * Added Ctrl-A support to the output panels.
  * Added Ctrl-G (go to line) support on the Compiled Template Source panel.
  * Added error handling to CodeSmithConsole and changed it to return a non-zero number if it fails.
  * Added System.Data and System.Drawing as default assembly references.
  * Added System.Data as a default namespace import.
  * Fixed a couple of bugs in the StoredProcedures.cst and added a AllStoredProcedures.cst.  This new template will generate stored 

procedures for every table in the database.
  * Added typed DataSet sample template and test application (TypedDataSetTester).  These are a work in progress but I am hoping to get 

feedback.
  * Fixed bug with SQL7 compatability.
  * Made further changes to the installer so that it will hopefully work for more people.
  * Re-fixed a bug with command parameters.  This accidentally got reverted.
Build 2.0.1245:
  * Added SampleCustomProperties project.  This project contains a sample of creating custom types and type editors for use as CodeSmith 

properties.
  * Included CodeSmith.rtf User Documentation written by Pete Davis.
  * Fixed bug with ForeignKey collection.  If foreign and primary key column names were different you would get a ArgumentNullException.
  * Fixed bug with custom tool where assemblies in the same directory as the template could not be resolved.
  * Fixed bug where installer wouldn't install if Visual Studio.NET wasn't installed.
Build 2.0.1222:
  * Removed expiration.
  * Created installer.
  * Changed to a build system instead of going on and on forever with beta builds.
  * Dropped support for Visual Studio .NET 2002.  The Visual Studio features will only work with the final release of Visual Studio .NET 

2003.
  * Dropped RedRiver from all namespaces.  If you have templates that refer to RedRiver, you will need to update them.
  * Fixed problem where SchemaExplorer would fail if collation was different from the master database.
  * Added view support to SchemaExplorer.
  * Fixed problem with SQL7 compatibility and column descriptions.
  * Added a designer for the DatabaseSchema object.
  * Added Owner property to TableSchema, ViewSchema, and CommandSchema and fixed bug relating to tables, stored procedures and views were 

assuming dbo as an owner.
  * Updated CollectionGen templates from the latest CollectionGen release.
  * Added a Visual Basic Code Generator Sample (VBCodeGeneratorSample).
  * Added CodeSmithConsole.exe to enable processing a .xml property file from the command line. (CSharpCodeGeneratorSample and 

VBCodeGeneratorSample folders)
Beta 6:
  * Fixed bug where CodeSmith Explorer context menu was shown for node types other than templates.
  * Added ability to specify the application used to edit templates.  Can be changed in the "CodeSmith.Gui.dll.config" (key 

"codetemplateexplorercontrol.editapplication") file.
  * Fixed various bugs in SqlCodeTemplate.cs.
  * Changed expiration to 7/1/2003.
  * Seperated the VS.NET addin and custom tool into seperate assemblies.  This should allow the custom tool to run in VS.NET 2002 and 2003.
  * Changed ColumnSchema.DataType and ParameterSchema.DataType to DbType instead of SqlDbType.
  * Fix bug with ColumnSchema.IsPrimaryKeyMember when no primary key exists.
Beta 5:
  * Added a CodeSmith VS.NET custom tool.  This can be used to simulate generics (CSharpCodeGeneratorSample folder).
  * Added a CodeSmith Explorer tool window addin to VS.NET.  This allows you to quickly generate code using drag and drop.
  * Fixed a cosmetic parser bug (parser was eating too much white space after directives).
  * Fixed a bug in drag and drop from CodeSmith Explorer when the code generation was canceled.
Beta 4:
  * Made necessary changes to allow Debugger.Break() to launch a debugger and step through the generated template code.
  * Added ability to double-click compiler errors and go to the spot in the source code where this error was encountered.
  * Added various additional error messages to the compiler.
  * Added Response property to CodeTemplate so you can now use Response.Write statements in template code.
  * Fixed file associations so that .cst files have a CodeSmith icon now.
  * Fixed bug with removing data sources.
  * Added SetProperty and GetProperty helper methods to CodeTemplate.
  * Added a simple latest version check to the about dialog.  Also checks every 15 days (not yet configurable) when CodeSmith Explorer is 

run.
  * Fixed about dialog showing the wrong build number.
  * Added an example of using CodeSmith.Engine programatically (ConsoleSample folder).
  * Fixed several sample template bugs.
Beta 3:
  * Added ability to save template output to file.
  * Added ability to save compiled template to an assembly.
  * Schema Explorer API documentation is included.
  * Fixed a bug in the schema explorer data source manager when edit is clicked with no data source selected.
  * Fixed a bug with the IsForeignKey property of ColumnSchema and changed the property name to IsForeignKeyMember.
  * Fixed bug for templates that have spaces in their file names.
  * Fixed file association bug.
Beta 2:
  * Fixed a bug with running CodeSmith on .NET 1.0.
  * Added line and column information to the compiled template source tab.
  * Fixed bug where compiled template source would not be shown if there was an error in the template.
Beta 1:
  * Initial public release.
