RELEASE Notes: This section describes Changes and Enhancements made to ApexSQL Clean Best viewed with 'WORD WRAP' unchecked ---------------------------------------------------- RELEASE 2005.09.0127 DATE: October 18, 2007 DESCRIPTION: Minor Fix Release ---------------------------------------------------- Fixes: - User types having references are shown as unreferenced under SQL Server 2000 - Generating incorrect drop script for aggregates from SQL Server 2005 databases - Missing queue schema when generating drop script for on-queue event notifications - Missing references for scripting with different casing in case insensitive databases - Missing references for event notifications over queues in some cases - Some objects reported unreferenced in case sensitive databases - Incorrect syntax for dropping user types from SQL Server 2000 database - Deleting patterns by keyboard in object filtering steps of project wizard is not working - Multiple GUI fixes on main overview window - Dependencies Type box disabled in Dependency Viewer when viewing dependencies for all objects - Dependency Viewer exception related to connection time expiry - System objects appearing in Dependency Viewer - Relations between Assemblies and Datatypes do not show in Dependency Viewer - Analysis exception on identically named user defined functions with system functions - Freeze bug for complex stored procedures analysis - Bug with null reference exception being thrown while processing BEGIN DIALOG ... ON CONTRACT statement with variable - Bug with ALTER TABLE processing FOREIGN KEY constraint - Bug with null reference exception when parsing CREATE PROCEDURE with empty server identifier (this is allowed) - Bug with "NotImplementedException" being thrown on some inner joins containing FULLTEXT keyword Changes: - Moved "Show System Databases" option from Options to Project Wizard Login step Enhancements: - CLI switch descriptions and output - Added project name and dirty status notification into status bar - EXCEPT and INTERSECT subqueries dependency analysis is now functional on all query related methods (views, procedures, functions, expressions) ---------------------------------------------------- RELEASE 2005.08.0126 DATE: July 19, 2007 DESCRIPTION: Medium Fix Release ---------------------------------------------------- Fixes: - Tab stop issue in Drop Generation Wizard - No details on CLI help for switch /comment_delimiters (/cd) - CLI incorrect warning message when a switch must be used with another switch - Drop Generation Wizard output generates a warning message when saving a script to default file name - SqlException when refreshing the main grid while chosen SQL Server or database is unavailable - Inability to increase size after decreasing it for the column 'Name' in 'External Database Selection' grid for Project Wizard - Inability to save column setup in Project History Grid on the first Project Wizard step - Incorrect display of database object names in reference to "Show default owner/schema qualification" option - Warning message when trying to browse by context menu to an object which is filtered out in Main Grid - Inability to parse from CLI any secondary comment delimiters that start with forward slash; they can be parsed now by using an escape character "/" - when specifying a comment delimiter starting with "/" it should instead begin with "//" - Several label captions - Several button captions - Exception when trying to open an empty Print Preview from Dependency Browser - Menu caption in Dependency Viewer - Wrongly enabled and/or visible context menu commands in Main Grid, Parents Grid, Dependency Tree... - Wrongly enabled toolbar buttons on the Main form - GUI too large and not showing several items in Project Wizard and Dependency Viewer Options when Windows font resolution is set to 120dpi - Two different "Object reference not set to an instance of an object" exceptions during database analysis - Description for /include CLI switch - Incorrect naming of group rows in grids - 80 or lower compatible databases on the SQL 2005 Server were treated as SQL 2000 databases, missing SQL 2005 object types in several places - Not working File Save dialog extension filter in Dependency Viewer's export image - Exception and inability to load multiple Event Notification objects with the same name over different Queues / DBs - Several grammar and text changes - CLI commands /include and /exclude are now really using regular expressions as said in help and not wildcards - Object names cut in Dependency Viewer sometimes when displayed within a Diamond shape - Project wizard project list correctly fills out the Name column / sets the Name for the newly created projects - Exception when loading permissions from corrupted databases - Issue with checking before drop for schema-based objects - Issue with checking before drop for for credentials - Issue with checking before drop for role members - Issue with checking for existence for extended properties - Issue with checking before drop for role members for SQL Server 2005 - Issue with triggers order scripting for triggers with quote in name - Issue with FK and references loading under SQL 2005 server when 2 same name FK from 2 same name tables but with different schemas references to another one table - Issue with Filegroups reloading under SQL 2005 Server - Issue with NotEnoughRightsException exception - Issues with checking for Extended properties existence under 2000 server - Issues with checking for indexes existence before drop - Issues with checking for foreign keys / references existence - Bug that parser does not see Assembly object as child for CLR dependent objects - Bug that parser doesn't pick object from schema dependencies - Bug when parser does not consider schema dependencies in ordering - Bug with cache usage on two different databases - Bug with role dependent users/logins not displaying in the dependencies - Bug when parser doesn't find dependencies for some view constructs (using EXCEPT keyword) - RULE objects to be schema dependant - Distinguish RULE objects from different schemas - Bug when parser doesn't find dependencies for some view constructs (using INTERSECT keyword) - Bug for functions having non-quoted system function names - Bug which froze parser (related to inner/pivoted joined view expansion) - Bug on using IDENTITY or ROWGUID or STAR colum reference in the search condition sub-statement (null reference exception) Changes: - Minor GUI visual appearance for some parts of Project Wizard and Program Options - Project Wizard's Next and Back buttons now skip over the "Options" step as it is the same as "Options -> General" - Drop Generation Wizard begins from the "Options -> General" tab and its Next and Back buttons won't go to the "Options" tab as it is the same - First editable control is focused on in each of the Wizards' steps - Next button is now default button in each of the Wizards (activated when pressing Enter key) - "Name" column in Main Grid, Drop Generation Wizard's Object Selection Grid and Dependency Viewer's Object Browser Grid is now filtered by regular expressions instead of wildcards - After first project start, default number of recent projects to be shown in File menu is 7 - Default column setup in Project History Grid on the first Project Wizard step - For items with missing schema there is no more asterisk sign in Object Browser in Dependency Viewer - Show System Databases now separated from the main option in the External Database selection as new checkbox field; main Show System Databases option now affects only main database selection dropdown list - First focused item on the HTML Report / XML Export is now first checkbox field and not the Help button - File analysis patterns are now regular expressions and not wildcards - "Location" column in Dependency Viewer object browser is now filtered using regular expressions and not wildcards - Clicking on grids' selector column (checkbox) function of check / uncheck all rows is replaced by sorting by checked / unchecked rows - Object filtering by patterns is now changed so that patterns are using regular expressions instead of wildcards - AutoCreatedLocal system route SQL Server 2005 object is now filtered out as system object - Split Search Options in the project wizard so they can be distinguished between File Analysis options and Database Analysis options - Changed dropping order for tables and views subobjects - Cache back end implementation performance rewrite (cache split between servers/databases to different directories) - Added new parser unified parsing path for per object and whole DB parsing Enhancements: - CLI warning that switches /object_name (/n) and /object_schema (/os) must be used together - Warning when trying to use ApexSQLClean.exe for processing from CLI - More details about current dependency view in the caption of the dependency view window (server name and database name / object type and object name) - Status bar now displays server version in brackets next to the server name and database compatibility level in brackets next to database name - CLI switch /exclude - excludes specific objects from processing; objects can be specified via bitwise type followed by ":" and a regular expression (TypeConstant:Expr ... TypeConstant:Expr ...); /exclude can be combined with /include in which case it will take priority over any objects matched by both switches - Grids' selector column (checkbox) can now also be filtered as any other column - All grids which are grouped by Type now have corresponding object type representation icon before the type name - Outlook Button Bar on the left of the Main Form is now movable as any other tool strip - External databases can be selected using space - the same as in other grids where rows can be checked - Help file improved - Several new direct F1 links to the help file from some controls when focused - performance improvements for inner/pivoted join expansion parsing (on all inner SELECT methods) Known issues: - Incorrect syntax is used for dropping user types from SQL Server 2000 dbs - User types having references are shown as un-referenced for SQL Server 2000 dbs (e.g. pubs) ---------------------------------------------------- RELEASE 2005.07.0122 DATE: November 20, 2006 DESCRIPTION: Minor Fix Release/Minor Feature Release ---------------------------------------------------- Fixes: - Improper structure of xml export - Handling IO error on opening deleted application file from grids in main form Changes: - CLI switch /file_dir - several directories can be specified (/file_dir:dir1 dir2 dir3 ...) Enhancements: - CLI switch /external_databases - specifies list of databases for analysis of external references (format: /external_databases:db1 db2 db3 ...) - CLI switch /comment_delimiters - specifies list of comment delimiters associated with the client program for file analysis (format: /comment_delimiters:start_delimiter1:end_delimiter1 single_line_delimiter2 start_delimiter3:end_delimeter3...) - CLI switch /search_settings - specifies search settings (WholeWordSearch, IgnoreTrigger, CaseSensitive) - CLI switch /report_options - specifies xml export or html report options (IncludeChildren, IncludeParent, IncludeOwner, etc) - CLI switch /include - includes specific objects in processing, objects can be specified via regular expressions (TypeConstant:Expr ... TypeConstant:Expr ...) - CLI switch /script_options - specifies optional script elements (IncludeHeader, IncludeComments, IncludePrint, IncludeTransactionHandling) - CLI switch /filename_patterns - specifies list of patterns for file searching - CLI switch /backup specifies - user's backup path or one of the following options: Default - sets default value, None - sets value to none - Option 'Show default owner/schema Qualification in common interface labels' in Options form - Option 'Maximum Items Shown in File Menu' in Options form - Option 'Save To' in Drop Generation Wizard that allows saving generated scripts to wanted location ---------------------------------------------------- RELEASE 2005.06.0121 DATE: 28 September 2006 DESCRIPTION: Minor Fix Release/Minor Feature Release ---------------------------------------------------- Fixes: - Element with key xxx.xxx.xxx was not found in this collection. - Proper work 'object type' filter in Dependency Viewer - Handling IO errors such as: 'The path is too long' and 'Access to the path "xxxxx" is denied' Enhancements: - Script shower(default apexsql editor) caption have changed from 'Script' to object name or file name - New column in sql column level grid(part of main grid of main form) - 'dependant column type'. - 'Multi-column sort' form for sorting columns in main grid - 'Multi-column group by' form for grouping columns in main grid - 'Field chooser' form for selecting columns in main grid ---------------------------------------------------- RELEASE 2005.05.0119 DATE: 6 September 2006 DESCRIPTION: Major Feature Release ---------------------------------------------------- Changes: - 'Script Header' tab from wizard was moved to options form - Switch '/selection_profile' has been renamed to '/includes' Enhancements: - Various printing options in dependency viewer(fit to page, printing scale, print setup) - 'Show owner in dependency images' option in dependency viewer - Show column level dependencies as 'Columns' sub table in main and parent grids - Button in Main form for show/hide 'Columns' sub table - Column level dependencies in xml export and html report - Opportunity to show external dependencies in main form in parents and children grids. - Opportunity to show external dependencies in dependency viewer. - Button in dependency viewer form for show/hide external dependencies - Overview panel in dependency viewer form for navigate in dependecy viewer - Object browser panel in dependency viewer form for find object by name,owner,type - Dependencies panel in dependency viewer form for show dependencies of current object in tree representation - Export column level dependencies in xml and html reports - 'Fit to Window' button in dependency viewer form - 'Zoom 100%' button in dependency viewer form - 'Zoom In 10%' button in dependency viewer form - 'Zoom Out 10%' button in dependency viewer form - Options 'Show Blank Instead of 0' for grids in Main form - Opportunity for show drop script in external editor - Group options 'Prompt to Save Project Changes on': 'Wizard Close/Cancel','Application Close','New/Open Project' - New step in 'Dependency Analysis Wizard' for select databases for analyzing external references - New step in 'Drop Wizard' for selecting objects for drop - Options 'Comments' in generation wizard for including comments in drop script - Opportunity to add visual studio solution\project file for analyze source files - Switch /dependency_type for creating image with specific dependency type:Children, Descendents, ParentsAndChildren, ParentsAndDescendents - Switch /layout for creating image with specific model type:Circular,Hierarchical, ForceDirected, Orthogonal - Switch /object_types - bitwise set of object type constants - Switch /depviewer_options - dependency viewer options path - Switches /object_name, /object_schema for creating image for this object ---------------------------------------------------- RELEASE 2005.02.0110 DATE: 17 April 2006 DESCRIPTION: Medium Fix Release ---------------------------------------------------- Fixes: - saving images in dependency viewer - performance of loading dependency viewer - Stack Empty exception thrown in structure mode at db parsing stage - NotImplementedException thrown in structure mode at db parsing stage - Exception thrown for dbs having $ sign in object names in structure mode at db parsing stage ---------------------------------------------------- RELEASE 2005.01.0109 DATE: 14 March 2006 DESCRIPTION: Major Enhancement ---------------------------------------------------- Enhancements: - added opportunity to see dependences in graphical representation(Dependency Viewer). Where each object is submitted by a figure, and dependence a line between objects / figures. Before display of dependences the opportunity to choose required objects(with the help of a wizard). Only for database with 2000 and 2005-compatibility. - Supporting some sql2005 objects: DDL Triggers, Partition Functions, Partition Schemes, Synonyms,Assemblies, Contracts, Event Notifications, Fulltext Catalogs, Message Types, Queues, Routes, Services, Xml Schema Collections. The analysis of dependences occurs between objects of these types and also including objects sql server 2000. Added opportunity to select this objects for analyze as individual as by type. Objects of these types are included in drop script, xml export and html report. - Supporting of Command Line Interface Added switches: /help for print help message /server for choose server name /database for choose database name /user for choose login /password for choose password /output_format for choose output format (sql drop script, xml export, html report) /output_name for choose output filename /project - specifed XML project file /argfile - specifed XML file with set of arguments with values /selection_profile - specifed XML file with information about selected object types and selected objects /file_dir - specifed directory for searching files for analyzing dependences in appl ication files /include_subdir option that to allow include subdirectory for pattern search /force option that to allow override existing file of same name /verbose for choose verbose output mode /test option that to allow output parsed options without taking any action - Added option to include transaction handling in generated drop scripts. - Added option to include backup/restore_on_error action in generated drop scripts. - Added option to exclude comments in files and scripts in dependencies search. - Added option to highlight references in Script Shower when viewing scripts/files in Children grid. - Added option Match Whole Word Only to exclude partial matching from dependencies search. - Added opportunity to choose object types for looking in grid via filter toolbar - Using wizard for creating drop script. Wizard contains several steps: Step 1: Choose General Options: include transaction handling, opportunoty to select backup action Step 2: Customize script with custom header as well as indicating preference for print statements and header Step 3: Script preview Step 4: Choose output action: show script in editor, save to file or execute directly - Using wizard for creating project. Wizard contains several steps: Step 1: Choose action - New project, Edit project, Open project. Step 2: Choose data source - connection information(server, database, login, password,etc) Step 3: Options. Indicate the comment delimiters associated with the client program for file analysis Step 4: Options. Search settings Step 5: Chose object types and manage sub selections of specific objects via object selection profiles. Oppotunity to select types of objects for analyze. Group of steps for choose individual objects. Oppotunity to select objects for analyze. Last step: Select files for analyze - Using project paradigma. Project contains connection information, object selections, options of the analysis of dependences, script generation options, etc. - Added oppotunity to select objects for drop. Objects get out in the main form of the app. It is possible to choose only not referenced objects. - The analysis of dependences occurs to use of a new method ("Dependency Parser"). In case of occurrence of a error at analysis ddl the "Dependency Parser" of the analyze does not interrupt. In this case the analysis of dependences occurs to use of the text search. - Added oppotunity to show script in SQL Server Management Studio ---------------------------------------------------- RELEASE 3.1.100 DATE: 21 September 2005 DESCRIPTION: Total Rewrite ---------------------------------------------------- Enhancements: - Supports Unicode - Added auto-update feature - Improved Help file -------------------------------------------------------------------------------------------------- RELEASE 3.0.94 DATE: March 2005 DESCRIPTION: Major Fix/Feature release -------------------------------------------------------------------------------------------------- Enhancements: - New redesigned interface, with support for Office 2003 style themes. Enhancement: All actions were reviewed and disabled in processing mode, to avoid illegal operations while performing actions related to database objects - Added option to stop current database/files processing Fixes: - Fixed error while parsing database SQL drop statements, that raised "Incorrect syntax near GO" in perfectly correct SQL scripts - Fixed "access violation" bug that caused the application to hang when closing the internal editor with a large amount of text selected - Internal editor adjusted to properly handle code written in different languages - Fixed incorrect caption of "Re Connect to Database" menu item - Fixed error generated when loading encrypted database objects - Process File Dependencies screen optimized - Fixed tab order of items throughout application - Fixed bug when loading database objects with space caracter at the end of their names - Fixed bug when loading database objects with names containing "'" -------------------------------------------------------------------------------------------------- RELEASE 2.9.93 DATE: Jan 2004 DESCRIPTION: Minor Fix/Feature release -------------------------------------------------------------------------------------------------- Fixes: - Now support output to Query Analyzer on SQL Servers with hyphens, slashes and other string breaking characters -------------------------------------------------------------------------------------------------- RELEASE 2.8.90 DATE: 21 Jan 2004 DESCRIPTION: Minor Fix/Feature release -------------------------------------------------------------------------------------------------- Enhancements: - Allow for longer than 3 char file extensions - Added search for Functions when doing an Application/File search - Product Name change and updated help file Fixes: - Status bar graphics for Views and Procs were reversed -------------------------------------------------------------------------------------------------- RELEASE 2.7.88 DATE: 4 Jun 2003 DESCRIPTION: Minor Fix/Feature release -------------------------------------------------------------------------------------------------- Enhancements: - Added a trap for required pre-requisites to alert user when such prerequisites such as ADO and SQLDMO are missing - Added "Check for Updates" feature in Help submenu that will validate current version against any new versions of software on the website and alert user if newer version of software exists and direct them to download link - Added support for file extensions that are not jus 3 chars long Fixes: - Fixed General Protection Fault error that occurred on some OS versions when cancel was clicked on Login Dialog - Option for Case Sensitive search was reversed - Fixed Case Else Error (I got one report of it) in CheckTableDependancies - Made recursive file check box default to FALSE ---------------------------------------------------------------------------------- RELEASE 2.6.85 Date: 10 Feb 2003 Description: Small Fix Release ---------------------------------------------------------------------------------- Enhancements: - Improved interface slightly by replacing check boxes for "Has Children" and "Has Parent" with graphics but preserving ability to sort Fixes: - [SQL-DMO]This object has been detached from SQLDMO, as the result of a refresh, automatic shutdown, error, or App.Quit. ---------------------------------------------------------------------------------- RELEASE 2.5.83 Date: 24 Jan 2003 Description: Medium Fix / Feature Release ---------------------------------------------------------------------------------- Fixes: - Updated interface - moved form buttons to toolbar for expand, collapse, group, ungroup - Made default sort order in grouping Object Type, Name - automatically sort by Name Ascending on grid load - Automatically check database for references on application load - Improved look of Graph form - Now allows Sorting by columns "Is Ref'd" and "Has Refs" (now "Has Parents" and "Has Children") Enhancements: Enhancement: Changed column labels from "Is Ref'd" and "Has Refs" to "Has Parents" and "Has Children" Enhancement: Updated some form icons "Database" >> "Server" Enhancement: Significantly altered interface to move "Parents" and "Children" grids to bottom form from the right side of the form Enhancement: Added QuickLaunch and Shortcut icons to installation scenario - Fixed a General Protection Fault error that occurred on some OS versions when the main form (via File Menu) or login form was closed ---------------------------------------------------------------------------------- RELEASE 2.4.80 Date: 2 Sept 2002 Description: Minor Fix Release ---------------------------------------------------------------------------------- Change: Eliminated Minimize button on results form Change: Changed labels ---------------------------------------------------------------------------------- RELEASE 2.3.76 Date: 8/4/02 Description: Minor Fix Release ---------------------------------------------------------------------------------- Fixes: - Fixed problem where no login was permitted if sql password was required - still not fixed from previous version ---------------------------------------------------------------------------------- RELEASE 2.2.75 Date: 7/25/02 Description: Minor Fix Release ---------------------------------------------------------------------------------- Fixes: - Fixed "basFunctions.Refresh_StatusBar" Error - Fixed "frmMain.cboDatabase_Click" Error Line: 26 Error - Fixed problem where no login was permitted if sql password was required - Fixed problem where double clicking on file reference produced an error - Fixed problem where sql objects were not being syntax highlighted with yellow if a new database was selection after another one had already been logged into. - Removed a dependancy on SQLDMO for Version SQL Server 2000 that would cause ActiveX error on login - UDFs weren't being processed properly. ---------------------------------------------------------------------------------- RELEASE 2.1.71 Date: 7/18/02 Description: Minor Enhancement Release ---------------------------------------------------------------------------------- Enhancements: - Updated Help file and a few small tweaks made (minor enhancements) ---------------------------------------------------------------------------------- RELEASE 2.0.70 Date: 7/17/02 Description: New Version - most new features undocumented ---------------------------------------------------------------------------------- Enhancements: - Improved view SQL DDL form - Added ability to cancel the loading of Database METADATA - Improved toolbars for main and results form - Added tooltips - Removes system databases from database list - show Table DDL on double click - Added option to Exclude System Tables - See Options form >> Configuration - Updated Data Access routine for better error handling and diagnostics - Optimized code for setting editor language (a frequent source of bugs) - Added database name to form caption - Locked down interface better to force user to login before attempting to perform database operations - Added progress bar meter for loading sql objects into memory Fixes: - Fixed problem in registration form where eval period wasn't working for countries that use MM/DD/YYYY Date format - Fixed problem where Cancel on Database login form was hanging the app - Enabled File Menu when result script loads - before you had to click on code window to enable file menu items (i.e. Copy to Clipboard) - Prevented unauthorized actions if database has not yet been selected - Fixed a database case sensitive issue sp_helpText - Fixed formatting of records and record % in the status bar - Fixed "frmFolderFind.cmdGetFileList_Click" bug in File Search - when Recursive Check box is set to false Change: For security reasons eliminated the feature by which Database password was remembered by the application ---------------------------------------------------------------------------------- RELEASE 1.4.65 Date: 11/28/01 Description: Fix Release ---------------------------------------------------------------------------------- Fixes: - Fixed problem with case sensitive databases Enhancements: - Improved Login screen - Improved Results form - Enhanced interface graphics - Added output options of SQL Query Analyzer and Suppress Output - Added ability to view DDL for sprocs, views and additional information for tables by double clicking - Updated help file ---------------------------------------------------------------------------------- RELEASE 1.3.63 Date: 08/16/01 Description: Fix Release ---------------------------------------------------------------------------------- Fixes: - Stored procedures were not being processed when Database was analyzed - Performance for database processing improved significantly Enhancements: - Improved help file ---------------------------------------------------------------------------------- RELEASE 1.2.60 Date: 07/15/01 Description: Fix Release ---------------------------------------------------------------------------------- Fixes: - Fixed problem where Drop statements were generating fatal error - Performance for database processing improved significantly Enhancements: - Improved help file ---------------------------------------------------------------------------------- RELEASE 1.1.57 Date: 07/15/01 Description: Fix Release ---------------------------------------------------------------------------------- Fixes: FIX: Fixed form resize error on Drop SQL form ---------------------------------------------------------------------------------- RELEASE 1.0.55 Date: 07/11/01 Description: Initial Release ----------------------------------------------------------------------------------