; ------------------------------------------------------------------------------ ; This Source Code Form is subject to the terms of the Mozilla Public License, ; v. 2.0. If a copy of the MPL was not distributed with this file, You can ; obtain one at http://mozilla.org/MPL/2.0/ ; ; Copyright (C) 2012-2016, Peter Johnson (www.delphidabbler.com). ; ; $Rev$ ; $Date$ ; ; Change Log for CodeSnip Release 4 ; ------------------------------------------------------------------------------ Release v4.14.0 of 19 March 2016 + Changes to About Box's "Paths" tab: - Added new buttons to display the contents of the system and per-user config files. - Renamed tab as "Paths & Files". + Implemented feature request #83 (https://sourceforge.net/p/codesnip/feature-requests/83/) to enable the name and port of any web service test server to be passed on command line by using the new "--test-server" command line option. This replaces hard-wired test server name & port that was activated using the now removed "-localhost" command line switch. + Fixed bug #96: "Some open / save dialogues too small" (https://sourceforge.net/p/codesnip/bugs/96/). The height of customised dialogue boxes was increased. + Updated operating system detection code to detect Windows 10 TH2. + New photo of Sophie the dog added to the Easter egg slide show! + Updated help file re About Box changes. Release v4.13.2 of 20 February 2016 + Updated and corrected hints displayed in main window. + Changed some menu options and associated dialogue box captions. + Tweaked some button captions in Select Snippets dialogue box. + Updated help file re the menu and caption changes. + Updated copyright date in program license as displayed in help, about box, installer and documentation. Release v4.13.1 of 29 September 2015 + Improved operating system detection to detect Windows 10. + Modified program's manifest to declare it compatible with Windows 8 to 10. + Code that determines which system font to use no longer depends on OS version but simply on font availability. + Updated copyright date in program license as displayed in help, about box, installer and documentation. Release v4.13.0 of 5 September 2015 + Added support for test compilation with, and detection of, Delphi 10 Seattle compiler. + Made some minor changes to method used to build required type library to remove dependency on the MS MIDL compiler, greatly simplifying build process. + Updated documentation re changes. + Updated help file re changes. Release v4.12.0 of 6 May 2015 + Added support for test compilation with, and detection of, Delphi XE8 compiler. + Updated documentation re changes. + Updated help file re changes and fixed some spelling mistakes. Release v4.11.1 of 26 October 2014 + Corrected an erroneous error message that is displayed when circular snippet references are detected in the snippets editor (no bug report filed). + Corrected some spelling errors in UI. + Some documentation corrections. Release v4.11.0 of 25 September 2014 + Changes re licensing of snippets from online Code Snippets Database under MIT license: - Generated code now carries a reference to the MIT license where relevant. - Submit Snippets wizard has a new page where user must confirm that any submitted snippets may be MIT licensed. - "About the Database" of the About Box now refers to the license. - Documentation and help file updated accordingly. + Now uses version 6 of the Code Snippets Database update web service which supports the downloading of category and source code files larger than 32Kb. + The undocumented -localhost command line option now causes CodeSnip to expect web services to be on localhost port 8080 instead of port 80. This change has no effect on normal operation and is used only in testing. + Minor layout tweaks in in Display tab of Preferences dialogue box. + Minor changes to help file and documentation. Release v4.10.0 of 12 September 2014 + Added support for test compilation with, and detection of, Delphi XE7 compiler. + Updated documentation re changes. + Updated help file re changes. Release v4.9.0 of 30 April 2014 + Added support for test compilation with, and detection of, Delphi XE6 compiler. + Updated documentation re changes. + Updated help file re changes. Release v4.8.7 of 06 March 2014 + Fixed automatic update checker so that it correctly records last update date. This fixes bug #93 (http://bit.ly/NmSQUt). + Updated to use v2 of the DelphiDabbler CodeSnip update web service when checking for availability of program updates. + Minor corrections to help file. Release v4.8.6 of 28 February 2014 + Improved operating system detection to handle Windows 8.1. + Added compatibility section to application manifest that declares the program has been tested with Windows Vista and Windows 7. Release v4.8.5 of 13 January 2014 + Fixed bug #91 "Generated units won't compile on Delphi XE5" (http://bit.ly/1eBjym2). Compiler directives that are used to change compiler warnings now includes a conditionally compiled $LEGACYIFEND ON directive. + Fixed potential bug when checking for the existence of files. It had been possible that a "sym-link" to a file could give misleading results. + Updated program copyright date in license file, about box, help file and installer. Release v4.8.4 of 28 November 2013 + Improved user interface of SWAG Import Wizard. + Renamed "Save Snippet" and "Copy Snippet" menu options to "Save Annotated Source" and "Copy Annotated Source". This fixes bug #90: " Wrong caption on menu option for copying category to clipboard" (http://bit.ly/ImA398). + Revised and corrected numerous main menu and pop-up menu hints. + Updated help file re changes to menu options and SWAG Import Wizards. Release v4.8.3 of 06 November 2013 + Fixed registry access code so that the 64 bit view of the registry is used when CodeSnip runs on a Windows 64 bit operating system. + Changed to avoid use of a deprecated API call when using the Windows Browse for Folder dialogue box. + Updated documentation. Release v4.8.2 of 30 October 2013 + Modified Syntax Highlighter tab of Preferences dialogue box so that "vertical" fonts (whose names begin with "@") no longer appear in list of available fonts. + Fixed potential bug in operating system detection code that may fail on Windows 2000. Release v4.8.1 of 18 September 2013 + Removed "File | Page Setup" menu option because some settings made there were being ignored when a file was printed. This is a fix for bug #89 "Setup selections not being remembered" (http://bit.ly/1a3V94x). + Updated help file re changes. Release v4.8.0 of 12 September 2013 + Added support for Delphi XE5 compiler. + Fixed bug in code that reads or imports user database files written using CodeSnip 3 where Delphi XE4 compile results would be lost. + Updated documentation re changes. + Updated help file re changes. Release v4.7.2 of 27 August 2013 + Fixed bug #88 "SWAG Import Wizard display bug" (http://bit.ly/15ryOxz) where duplicate snippets could be displayed on the "Ready to import" page in certain circumstances. Release v4.7.1 of 18 August 2013 + Fixed bug where right clicking a tab in the detail pane sometimes caused the contents of the pane to be temporarily blanked out while the context menu was displayed. - This fix also, as a side effect, fixed bug #87 "Tab headings and contents don't match after a tab is closed." (http://bit.ly/15TD197). Release v4.7.0 of 31 July 2013 + Implemented feature request #71 "Support importing of one or more snippets from the SWAG database" (http://bit.ly/18AFlGu): - Uses DelphiDabbler SWAG web service to get SWAG data. - New wizard to permit user to select required SWAG snippets. This is accessible from the new "Snippets | Import Snippets From SWAG" menu option. - Snippets are imported into a new "SWAG Imports" category. + Implemented feature request #80 "Enable detail pane tabs to be re-ordered" (http://bit.ly/13cbjTZ). + In detail pane source code and compiler table now display horizontal scroll bars if they do not fit within the width of the pane. This implements feature requests #60 (http://bit.ly/17iCzT4) and #61 (http://bit.ly/1coDJ5f). + Minor changes to dialogue box that appears during long operations. + Fixed bug #86 "Snippets are sorted by snippet name in snippet table listings in detail pane" (http://bit.ly/17iD27H). + Fixed a few code errors that could have surfaced as bugs. + Modified how HTML based detail pane display is generated and displayed. + Some refactoring. + Updated some 3rd party code to latest available versions. + Updated help file re changes. + Updated privacy statement. Release v4.6.4 of 24 July 2013 + Fix for IE 9 related browser control script bugs introduced in v4.6.3 when IE 10 bugs were fixed: - Bug #84 "Script errors on startup" (http://bit.ly/13bfaAL). - Bug #85 "Check For Updates link " (http://bit.ly/1656pgE). Release v4.6.3 of 14 July 2013 + Further fix for IE 10 related bug #75 "Floating point error in 4.4.1" (http://bit.ly/12zAWSp). Re-implemented method used to display content in main window's detail pane using the IE web browser control. Release v4.6.2 of 09 July 2013 + Tentative fix for bug #83 "Error when the main form is shown" (http://bit.ly/12eUV5Y) that has been reported on Windows 8. The fix is tentative because the bug hasn't been reproduced. Release v4.6.1 of 01 July 2013 + Provided fix for reported bug #75 "Floating point error in 4.4.1" (http://bit.ly/12zAWSp) that apparently affects Windows 8, probably with IE 10 installed. + Fixed unreported bug where IE 10 browser was being reported as IE 9. + Fixed potential bug in code that processes class / advanced record snippet types ready for test compilation and inclusion in generated units. Release v4.6.0 of 02 June 2013 + Added new options to "Find Cross References" dialogue box to allow snippets that either cross reference or depend upon the selected snippet to be included in the search. This implements feature request #30 (http://bit.ly/13cYImA). + Added a new "Select and Close" button to the Dependencies dialogue box that causes the snippets displayed on the current tab to be selected in the main display. This implements feature request #77 (http://bit.ly/15s8fH2). + The background colour of source code displayed in the main display can now be customised via a new option on the Display tab of the Preferences dialogue box. This implements feature request #36 (http://bit.ly/17fxMGW). + CodeSnip now compiled with Delphi XE. + Per-user configuration file format changed to v15 which is not entirely compatible with previous versions of CodeSnip. + Updated help file re changes. Release v4.5.1 of 15 May 2013 + Added progress bars or marquees to several database operations that can take a long time on slower storage devices, i.e.: - When local files are being updated after downloading an updated database in the Update From Web dialogue box. This fixes bug #79 (https://sourceforge.net/p/codesnip/bugs/79/) - When the local database is being saved. - When the local database is being backed up or restored. - When the local database is being moved to a new location. + The user database can now be relocated to a network drive. This fixes issue #81 "Move database to a network drive" (https://sourceforge.net/p/codesnip/bugs/81/). + Fixed issue #80 "HTML output bug" (https://sourceforge.net/p/codesnip/bugs/80/). + Fixed minor alignment bug that occurred when displaying a wait dialogue box over the main window. + Some refactoring. + Updated help file re changes. Release v4.5.0 of 02 May 2013 + Added support for Delphi XE4 compiler. Implements feature request #78 (http://bit.ly/10uGhoD). + Updated documentation re changes. + Updated help file re changes. Release v4.4.2 of 26 April 2013 + Fixed bugs: - #76 (http://bit.ly/12Loz5o) - An advanced record snippet with a method name that clashes with a directive is not test compiling correctly. - #77 (http://bit.ly/11I9wXI) - Syntax highlighter highlights "contains", "requires" and "package" directives when used in method names. - #78 (http://bit.ly/ZQl3T4) - CodeSnip doesn't restore window in correct position when task bar on left or top of screen. Release v4.4.1 of 09 April 2013 + Fixed bug #73 "Attempting to check for program updates returns a 404 'Not found' error" (http://bit.ly/Yf3UGy) - this error happened only when using remote server, not localhost test server. Release v4.4.0 of 08 April 2013 + Implemented feature request #75 "Check for updates on start-up" (http://bit.ly/ZJ8OGH): - CodeSnip checks for both program and Code Snippets Database updates in low priority background threads that run when the program is first started. - Update checking takes place at intervals between once per day and once per month. - A new "Updates" tab was added to the "Preferences" dialogue box where update frequencies can be chosen, or the auto-update feature switched off. Program and database update checking can be configured individually. - Updates are notified via a new slide-in, slide-out notification window that is displayed for a fixed amount of time or until closed by the user. The notification window contains a button that can be used to initiate the appropriate update. For database updates the "Update From Web" dialogue box is opened while for program updates a suitable download web page is displayed in the default browser. - Program checking is edition specific, i.e. the standard edition checks for standard edition updates and the portable edition behaves similarly. + A new "Update Checks" section was added the welcome screen that gives information about the current auto-update settings and provides a link to change them. Some other text on the screen was tweaked. + The "Check For Program Updates" dialogue box now opens the correct version and edition specific web page to download the latest version of CodeSnip instead of simply opening a general download page. + A new CodeSnip specific program update web service on the codesnip.delphidabbler.com sub-domain is now used to get information about CodeSnip updates instead of the generic update service on delphidabbler.com. + Additional usage information is now sent to the DelphiDabbler Code Snippets database update web service. + Some refactoring and code clean-up. + The installer may now display an information page that describes the new automatic update checking feature. This page is displayed only when updating from v4.3.0 or earlier to v4.4.0 (or later). + Updated help file: - Updated and added help topics for all new features of the release. - Updated "What's New" topic re new features. + Updated documentation, including privacy statement, with information about automatic update checking. + Per-user configuration file format changed to v13 which is incompatible with previous versions of CodeSnip. Release v4.3.0 of 27 February 2013 + Implemented feature request #40 "Add 'Namespaces' tab to Configure Compilers dialogue box" (http://bit.ly/12XsX32). The new tab appears only for Delphi XE2 and later and obviates the need to manually create -NS commands for passing to the compilers. Suitable default namespaces are provided if none have been configured. + Implemented feature request #70 "Let user specify location of user database" (http://bit.ly/13aNCQZ). This feature is accessed from the new "Move Use Database" option on the Database menu. NOTE: The feature is not available in the portable edition which is designed to keep the user database together with the program. + Implemented feature request #69 "Enable custom syntax highlighter styles to be saved" (http://bit.ly/XQHkOI). The Syntax Highlighter tab of the Preferences dialogue box has been modified to enable custom syntax highlighter attributes to be saved under a given name and existing named styles to be used or deleted. + Changed name of "Delphi 2006" predefined syntax highlighter to "RAD Studio". This remains the default highlighter. + A little refactoring. + Enlarged Configure Compilers dialogue box. + Updated help file: - Updated and added help topics re all new features in the release. - Updated "What's New" topic re new features. - Removed help topic for "Browse For Folders" dialogue box accessed from Search Paths tab of Configure Compilers dialogue. + Per-user configuration file format changed to v12 which is not fully compatible with previous versions of CodeSnip. + Updated documentation. Release v4.2.1 of 14 February 2013 + Bug fix: changed Favourites dialogue to display snippet display names instead of unique names. Fixes bug #72 (http://bit.ly/Vj6ZCM). + Updated program copyright date in About box. Release v4.2.0 of 07 February 2013 + Added support for "favourite" snippets. Implements feature request #37 (http://bit.ly/12unShW): - Any displayed snippet can be flagged as a favourite via a menu option or toolbar button. - A new non-modal dialogue box can now be displayed alongside the CodeSnip window for easy selection and management of favourite snippets. + Changes to Duplicate Snippets dialogue box: - Display name of duplicate snippet can be edited. Implements feature request #64 (http://bit.ly/14TdUGF). - Snippets Editor can be opened immediately the Duplicate Snippet dialogue box closes to edit the duplicated snippet. Implements feature request #65 (http://bit.ly/UBlt2Y). + Status bar changed: first panel now displays no category information, but displays both total number of snippets and number of snippets in each database. + Fixed unreported bug in save dialogue boxes where overwrite permission requests could be displayed erroneously. + Program closes gracefully if run on unsupported versions. + Updated some 3rd party code to latest available versions. + Some refactoring. + Per-user configuration file format changed to v11 which is not fully compatible with older versions of CodeSnip. + Updated help file re changes in Duplicate Snippets dialogue box and addition of support for Favourites. + Updated documentation. Release v4.1.1 of 30 January 2013 + Fixed bugs: - #68 (http://bit.ly/WxG6LC): Comments missing in unit / code generation for some types. - #70 (http://bit.ly/WAYEHN): Changing syntax highlighter font has no effect in main display. - #71 (http://bit.ly/14v9i9v): Option to select monochrome printing not working properly. - Unreported: Changing syntax highlighter font has no effect when printing or when copying text to clipboard as RTF (related to bug #70). + Updated help file re syntax highlighter changes. Release v4.1.0 of 06 January 2013 + This is the first non-beta release to made available in both standard and portable editions, compiled from a common code base. The portable edition differs from the standard as follows (as per release v4.0.1 portable beta 1): - Executable file name is CodeSnip-p.exe. - Program caption identifies program as portable version. - Data directories are sub-directories of executable program directory. - Common file dialogue boxes default to program's working directory. - First run processing does not give the option to import old settings or existing user databases. - Different version information and program identifier. - There is no set up program. + Changes to snippets editor: - Added context menus to cross-references and dependencies check box lists. Both have menu item to clear list. Dependencies list has item to view dependencies. Implements feature request #3560960 (http://bit.ly/U83Swh). - Deleted "View Dependencies" button now that its functionality is now on context menu. - Enlarged various controls on all except "Code" tab. - Units listed on "References" tab is now persistent. Units can be removed, defaults restored and selection cleared via a new context menu. Implements feature request #3560962 (http://bit.ly/UM0c0B). + New source code formatting option added to only use first paragraph of a snippet description as snippet comment in generated code. This is configured via "Code Formatting" tab of "Preferences" dialogue box and / or from relevant "Save" dialogue boxes. Implements feature request #3560647 (http://bit.ly/UQrDax). + Changed mini-toolbar in overview pane to expand / collapse all overview tree view instead of just selected node. Implements feature request #3560646 (http://bit.ly/UOUQTr). + Reimplemented database search engine. + Some external links modified that will seamlessly accommodate future changes in destination URLs. + Changed some glyphs used in menus. + Per-user configuration file format changed: bumped file version to 10. + Some refactoring. + Help file updated re changes & added privacy statement to TOC. + Updated documentation: - Re changes to source code repository and bug / feature request trackers. - Re portable version. Release v4.0.2 of 17 December 2012 + Improvements to keyboard handling: - Fixed some keyboard focus bugs. - Fixed broken, missing and duplicate Alt-key short-cuts in several dialogue boxes. - Fixed broken keyboard access to list view in Code Generation tab of Preferences dialogue box. + Corrected an incorrect font in Compilers dialogue box. + Added title to "View Link" dialogue box displayed from mark-up editor. + Corrected error in "Submit Code to the Database" task help topic. Release v4.0.1 portable edition, beta 1 of 12 December 2012 Internal CodeSnip version 4.0.1.213 + Modified version of Release v4.0.1 that can run from a writeable removable medium without writing files or registry on host computer. This implements feature request #3577431 (http://bit.ly/UxvUj0). + Changes that apply only to portable version: - Changed executable file name to CodeSnip-p.exe. - Program caption changed to identify as portable version. - Data directories changed to be sub-directories of executable program directory. - Changed common file dialogue boxes to working directory by default. - First run processing no longer gives option to import old settings or existing user databases. - Different version information and program identifier format. - No set up program. + Code base modified to conditionally compile either portable or standard edition. + Updated documentation, including privacy statement. Release v4.0.1 of 08 December 2012 Internal CodeSnip version 4.0.1.212 + Fixed bug #3578652 (http://bit.ly/RXIwBC): "Pre-processor directive errors in main db ini files" by removing support for problematic directives. + Rolling mouse over links in detail pane no longer displays a hint in the status bar. This change fixes bug #3577407 (http://bit.ly/VeSVGg): Clicking detail pane snippet link leaves hint in status bar. + Windows no longer scale automatically when screen DPI differs from that on design system. This fixes bugs #3591818 (http://bit.ly/TvNaUL) "Strange window behaviour in Windows 7" and bug #3591820 (http://bit.ly/SEH6dO) "Incorrect font size used for some bold text". + Update operating system detection code to detect W0ndows 8 & 2012 server. + Some refactoring and some redundant code removed. + Updated documentation. + Updated help topic that describes main display. Release v4.0.0 of 12 October 2012 Final v4 release. See also changes from alpha, beta and release candidates below for details of changes since v3.9.3. + New glyphs that describes level of testing applied to snippets from online Code Snippets Database now appear in top right of detail pane. + Changed main window caption and task bar entry to include version number "4" after program name. + Fixed bugs: - #3572382 (http://bit.ly/OnEtNY): Automatic conversion of blank lines to paragraphs in REML mark-up editor gets confused if block level tags are already present. - Unreported: Controls in News dialogue box do not use correct font. + A little refactoring. + Updated help file: - Modified re recent changes - Added new "What's new" topic giving details of changes in v4. Implements feature request #3567490 (http://bit.ly/RgQx0W). - Renamed "Welcome" page as "Overview". + Updated documentation, including read-me file. Release v4.0 RC 3 of 18 September 2012 Internal CodeSnip version 3.999.3 + Fixed serious bug #3568628 (http://bit.ly/V5NX0H): "CodeSnip faulting at startup after fresh install with no previous v3 installation". Release v4.0 RC 2 of 17 September 2012 Internal CodeSnip version 3.999.2 + Fixed serious bug #3568515 (http://bit.ly/Oy2Q7g): Duplicating a snippet with a display name causes crash. + Minor update to licensing information and about box credits. Release v4.0 RC 1 of 14 September 2012 Internal CodeSnip version 3.999.1 + UI changes: - Welcome page completely revised. Instead of a program overview the page now describes the state of the databases and available compilers and displays help links and a donation request. There are also some links to the about box, news and program updates. - Many changes to glyphs used in menus and toolbar. - Removed some images that relate to trade marks, i.e. PayPal Donate button and Delphi compiler icons. - No clicking noise is now issued by UI in response to user interaction with Details pane. - Links to external commands and to other snippets re-styled. - Revised and updated program's main icon. + Fixed bug #3566426 (http://bit.ly/OmbwTB): About Box Paths Page displays wrongly when themes not available. + Added support for Delphi XE3 compiler. Implements feature request #3566346 (http://bit.ly/SIVpS2). + Completely new Easter Egg. + Refactoring and internal code changes, including a revision of the "external" object that communicates with JavaScript in browser controls. + Changed License: - EULA for executable code changed to Mozilla Public License v2.0. - Most original source code changed to Mozilla Public License v2.0 from v1.1. - Only an abbreviated version of the license is now displayed by the installer and in the help file. - License information has been consolidated into a new file: License.html. + About box changed re new license and changes in required and voluntary acknowledgements and credits. + Help file updated. + Documentation updated. Release v4.0 beta 2 of 25 August 2012 Internal CodeSnip version 3.99.2 + Bug fixes: - #3556620 (http://bit.ly/Mq1Khh): Serious flaw in generating units containing class types when the classes contain method types other than procedure or function. - #3556713 (http://bit.ly/RIzfvQ): Context menus are not displayed when pressing Alt+F10. - #3556715 (http://bit.ly/O3QN0u): Deleting a category then returning to it via the history list causes a GPF. - #3556718 (http://bit.ly/RVanCE): Inconsistent context menus for edit controls in Snippets Editor. - #3557107 (http://bit.ly/PfiYxm): New snippets and categories are not added to the history list. - #3558649 (http://bit.ly/PAXLQv): Closing the Preferences dialogue always refreshes the main display even if the dialogue box was cancelled or if nothing was changed. - #3559156 (http://bit.ly/TKXYQ7): "Previews" giving examples of the effect of changes made in the Preferences dialogue box sometimes disappear when the tab key is pressed. - #3559239 (http://bit.ly/Pm1HU4): Snippet names and display names are used inconsistently in the UI. - #3559257 (http://bit.ly/Qc8Fqu): Compile Results displayed from the main menu can get out of sync with the actual compile results of snippets that have been edited since they were last compiled. - #3559265 (http://bit.ly/NvV9iH): Viewing dependencies for an unnamed snippet or a snippet not in the database causes a GPF. - #3559266 (http://bit.ly/S69wO2): When include files are generated for a snippet that depends on a class type, the required class is not listed in the file's header comments. - #3560317 (http://bit.ly/PUcEgV): The caption of the Active Text preview dialogue box refers to "Extra" text when it is used to preview a snippet's description. - #3560521 (http://bit.ly/RG7Jlw): The state of the Overview tree often doesn't restore correctly after a database update. - #3560958 (http://bit.ly/TX7M9V): Snippets are not sorted correctly (i.e. on display name) in the Overview pane. - #3561014 (http://bit.ly/PEFgXY): The current view in the Display pane is not cleared, even though all tabs are closed, when the database is re-loading. - #3561047 (http://bit.ly/Pf5L5v): The Category view in the Overview pane sometimes appears fully expanded when it is expected to be fully collapsed. - Untracked: Removed "(v4 preview)" text that had been left in main window title bar. - Untracked: Minor accelerator key related problems in the Preferences dialogue box. + Main UI changes: - The Detail pane tab-set now has a context menu that can be used to close the current tab or all but the current tab. The Close tab option is also added to current view's context menu. - Right-clicking a tab in the Overview or Detail pane now selects the tab. - Middle-clicking an item in the Overview pane now selects it. Previously middle clicks were ignored. - Many more parts of the main display and dialogue boxes now display display names for snippets rather than unique names. - Ctrl clicking snippet and category links in the Detail pane and History UI controls now opens the chosen item in a new tab. Implements feature requests #3559377 (http://bit.ly/OqnAjd) and #3559378 (http://bit.ly/NPtEkX). - Different link styles are now used for the different types of link in the Detail pane. Implements feature request #3559464 (http://bit.ly/Pwsqg6). - Pressing Ctrl+Return on an active snippet or category link in the Details pane now opens the item in a new tab instead of the current tab. Pressing Return now opens the item in the current tab. - The Detail pane's context menu now displays more options when text selections and links are right clicked. Implements feature request #3559375 (http://bit.ly/NzaY8a) with some minor differences. - New button added to the Display tab of the Preferences dialogue box that resets default snippet heading colours. Implements feature request #3559140 (http://bit.ly/QKQo43). - The "Types" unit is now displayed by default in the Snippets Editor Reference Tab's predefined units list. + When a category is printed, any URLs in snippet descriptions are output and styled. + Names of units referenced by snippets may now contain dots. + Some refactoring and internal code changes, including a major reworking of the "first run" program configuration and a revision to the "external" object that communicates with JavaScript in browser controls. + Help file updated: - Re UI changes. - With a description of the need to configure namespaces for Delphi XE2 for each unit referenced by the code it is test compiling - addresses bug #3536531 (http://bit.ly/Q2bcmY). + Updated documentation. Release v4.0 beta 1 of 11 August 2012 Internal CodeSnip version 3.99.1 + New features: - Structure of snippet pages in details pane is now customisable: various page elements can be omitted and order of elements can be specified. Each snippet type has its own page customisation. Implements feature request #3519456 (http://bit.ly/NhT8Kr). - Snippets can now have a "display name" that can contain any characters and does not need to be unique. When provided the display name is displayed in preference to the normal name. Implements feature request #3519460 (http://bit.ly/NN6kRP). - Snippet descriptions can now be formatted and contain multiple paragraphs. This implements feature requests #3411890 (http://bit.ly/OS8a5a) and #3520405 (http://bit.ly/OS8yRe). - Snippets can now be configured so that their source code is not syntax highlighted. This change allows snippets in other languages not to be highlighted as if they are Pascal. Implements feature request #3519935 (http://bit.ly/LrNiAg) - Colour of headings for snippets and categories from main and user databases are now user configurable. This implements feature request #3519463 (http://bit.ly/Nz9JH2). - User can now limit the number of compilers that appear in the compiler results table in the display pane. This is done via the Configure Compilers dialogue box. Implements feature request #3519459 (http://bit.ly/Q5O51z). - New option on Tools menu that checks availability of new versions of CodeSnip. + User interface changes: - "Test Compile" link removed from snippet display in details pane. - "Test Compile" dialogue box changed so that only the installed compilers that CodeSnip uses for test compilation are displayed, instead of all known compilers. - Welcome page revised. + Changes to snippets editor: - New field on Code tab to enter optional snippet display name. - New check box on Code tab to specify if Pascal syntax highlighter is to be used for source code. - New tabbed "mark-up editor" lets user enter multi-paragraph snippet descriptions and extra information either as plain text or as REML mark-up. - Controls on Code tab re-ordered. - Extra Information tab revised with much larger edit control and deletion of explanatory text. - Editor enlarged. + Changes to Preferences dialogue box: - New "Snippet Layout" tab added where composition and layout of snippet pages can be customised. - "General" preferences tab split into two: "Misc." that contains only measurement units and "Display" that contains display related options. - Added controls to "Display" tab to set main and user database heading colours. - Changes that affect appearance of content of details pane are now reflected in the display as soon as the Preferences dialogue box closes, rather than on program restart. + Changes to REML mark-up handling: - Any REML text not embedded in block level tags is now automatically wrapped in

tags. - Nested REML block level tags are no longer allowed. - Changed handling of multiple spaces in REML code to be the same as in HTML. - Formatting of REML code improved when re-displayed. + Bug fixes: - Bug #3536331 fixed (http://bit.ly/KQTYc3): words at the end of some paragraphs in a snippet's extra information were not being found in "whole word only" searches. - Fixed unreported file parsing bug that occurred when loading a saved snippet selection from disk. + Changed Delphi compiler detection so that compilers can be detected by examining current user registry key in addition to local machine registry key. This enables Delphis that were installed for a given user only to be detected. + Improved error handling when reading and writing snippet selection files. + User database and export file formats updated to v6. + Per-user configuration file format changes: bumped file version to v9. + Major changes to installer: - Now always brings forward any earlier common configuration files if needed. - Per user configuration files are now ignored: they are handled by main program (see below). - Only main database, not user database, is now imported from earlier versions on user request. User databases are now handled by main program (see below). - There is no longer an option to delete old databases or configuration files. - Updating from a v4 preview (alpha) release causes an extra page to be displayed that gives instructions relating to updating from preview to current release. + Program now detects if it is running for first time since updating: - If this is first run since updating from v3 or earlier a "first run" wizard guides user through importing any old preferences or user databases. - For point v4.x point updates user configuration file is silently updated as necessary. + Significant refactoring. + Updated help file in line with changes and new features. + Updated documentation, including minor changes to privacy statement and license. Release v4.0 alpha 3 (preview) of 18 June 2012 Internal CodeSnip version 3.98.3 + New features: - Compiler warnings can now be switched on as well as off in generated code. - Names and descriptions of snippets in a category can now be printed. - Text and compiler searches can now be nested so that the later search refines the earlier one. - Current selection (i.e. search result set) can be saved to disk and loaded again later. + User interface changes: - Overview pane now displays buttons that can be used to collapse or expand non-empty section headings. - Ctrl + arrow keys can now be used to scroll overview pane tree view vertically and horizontally without changing selection in overview pane. - Main window is now refreshed whenever changes that affect it are made in the Preferences dialogue box. - Some main menu short-cut keys changed. - Dependencies dialogue box now has two tabs: the first displays the snippets required to compile the selected snippet while the second tab displays snippets that depend upon the selected snippet. - Code Generation tab of Preferences dialogue box updated to enable warnings to be switched on or off. In addition default warnings can be restored, list view columns can be sorted and Alt key short-cuts tweaked. - Code Import dialogue box improved: now sorts imported units in list view and scrolls to make renamed snippets visible. - Snippet selection and cross-reference search dialogues now report if existing search results will be overwritten. - Text and compiler search dialogues now ask if any current search results are to be refined. - Tree views in Snippet Selection, Snippets export and Snippets submission dialogue boxes can now be expanded and collapsed. - Appearance of message boxes tweaked. - Program tab of About box updated with credits for new third party code. + Bug fixes: - Error in logic of code that generates program ID was fixed. - Bug #2868708 fixed (http://bit.ly/KeyAvS): edited snippets are no longer lost from manual snippet selections unless snippet names are changed. - Bug #3534138 fixed (http://bit.ly/Mg9gJG): details pane display is now cleared when last tab is closed: previously content of last closed tab remained on screen. + Info about user's OS and IE version is now sent to web server during online database updates. + Some refactoring. + Help file updated in line with changes and new features. Some US English spellings changed to UK English for consistency. + Updated documentation, including: - Privacy statement updated re changes in data recorded via database update log-ons. - Licensing docs updated re introduction of some MPL 2.0 files. Release v4.0 alpha 2 (preview) of 21 April 2012 Internal CodeSnip version 3.98.2 + New features: - New "unit" snippet type that enables complete units to be stored in database and to be test compiled. - New "classes" snippet type that enables a single Object Pascal class or advanced record-with-methods to be stored in database, test compiled and included in generated units. - Snippets from both the user and main databases can now be duplicated. Duplicates are editable and are stored in the user database. - Online CodeSnip FAQs can now be displayed in the default browser from a new option on the "Help" menu. + User interface changes: - New "Snippets" and "Categories" top level menus have been added. They are populated with items previously on the "Database" menu. "Snippets" menu also has new "Duplicate Snippet" item. - "Help" menu re-arranged: items from the former "On The Web" sub-menu are now placed directly on "Help" menu. - Numerous new and updated glyphs on toolbar, menu and in main display. - Minor tweaks to controls in the Code tab of the Snippets Editor. - Minor changes to the style of version info displayed on the splash screen. + Bug fixes: - Fixed potential source of a bug in code that edits user-defined categories. - Fixed unreported minor bug in dialogue boxes that display tabbed page controls: clicking a tab did not always give it the keyboard focus. - Fixed bug #3519784 (http://bit.ly/IsCsun) where multi-line "type" or "constant" snippets that start on the same line as the type or const keyword were corrupted when included in units using the "comments after snippet header" comment style. + Characters used to introduced switches on the command line were changed: '/' replaces '\'. '-' is still permitted. + User and main database formats modified. User databases saved with this version may not be readable with release 4.0 alpha 1. + Some refactoring. + Help file updated in line with changes and some errors fixed. + Updated documentation. Release v4.0 alpha 1 (preview) of 31 December 2011 Internal CodeSnip version 3.98.1 Changes relate to v3.9.3 + User interface changes: - New multi-tab detail pane can now show more than one snippet, category etc. - Results of test compiles now appear in a dialogue box instead of in details pane. - New code import wizard for cleaner control over import process. - New "Compile" top level menu that groups all actions relating to test compilation. - Empty section headings can now be displayed in overview pane if required. - New display options relating to multi-tab display. - New view displayed instead of welcome screen when database updated. - Some additions and changes to main window navigation keys. - Main window and task bar captions changed. - Some dialogue boxes tweaked. - Compiler configuration dialogue box heavily revised to support default compiler paths. - "About" dialogue box paths tab display improved. - Compile error dialogue box display standardised. - Splash screen updated. + Improved Delphi code syntax highlighter: - Recognises Delphi 2010 keywords - Correctly handles context sensitive directives within "property", "exports" and "external" statements. - Recognises '&' prefix that causes keywords to be treated as identifiers. + Compiler search paths can now be specified for included units permitting non-VCL units to be used by snippets. + Database: - Non-empty categories can no longer be deleted. - File format of both user-defined and main databases changed. - Database locations changed: updates to main database and edits to user database do not affect databases used by v3 and earlier. - Location and file format of both user defined and main databases changed. - Database now supports Unicode Delphi source code. - Unicode Delphi identifiers can now be used for snippet names. - Export and backup file formats updated: new formats are not backward compatible but older versions can still be imported. - Code submission service now supports Unicode source code. - Database updates now use v5 of delphidabbler.com web update service with revised checksum handling. + Unicode support: - Program now fully supports Unicode internally. - Test units now use UTF-8 format if source code contains non-ANSI characters. ANSI format is used otherwise to permit compilation on older Delphi compilers. - Many export file formats now support Unicode and UTF8 formats. User may specify file types from Save dialogue box. - Configuration files are now in Unicode format. - Some Unicode support added to database (see above). + Web service data handling code improved: now includes ability to send raw bytes and can detect and adapt to character encoding used in responses. + Common and per-user configuration file names and locations changed. Bumped file version numbers to 6 and 8 respectively. + Fixed some bugs: - Various Unicode and code page related problems in RTF code generation. - Memory leaks. - Version detection in backup file restoration. + Cascading style sheet handling improved. + Any errors in scripts run in browser control now trapped and reported as exceptions instead of via browser control's own error dialogue box. + Revised external object that communicates with JavaScript in browser controls. + Hyper-links used in snippets now support the https:// protocol. + A default title now used in print spooler if none specified. + Source code heavily refactored. + Help file updated in line with changes. + Installer: - Changed so that v3 and v4 installs can co-exist - default install locations are different and v4 does not overwrite v3. - Converts v3 configuration files to v4 Unicode format and copies to new locations. File version stamps are updated. - Installer is now compiled with Unicode version of Inno Setup instead of ANSI version. - Scripts updated and refactored. + Updated documentation, including changes to privacy statement and new file format documentation.