Portable CodeSnip Changelog

What's new in Portable CodeSnip 4.18.1

Nov 29, 2021
  • Improved handling of control and whitespace characters in generated HTML: revised which characters were converted to HTML character attributes / entities.
  • Fixed error in title of Save Annotated Source dialogue box.
  • Replaced use 3rd party GIFImage unit with similar GIFImg unit from Delphi XE VCL.
  • Corrected help topic for Dependencies dialogue box to describe Save & Close button.
  • Operating system detection code was updated to correctly detect Windows 11 and Windows 10 version 21H2.
  • Some refactoring.
  • Updated license document (License.html) following removal of dependency on GIFImage unit.

New in Portable CodeSnip 4.18.0 (Sep 13, 2021)

  • Added support for test compilation with, and detection of, Delphi 11 Alexandria.
  • Updated various dialogue boxes to widen lists of compilers to accommodate length of new compiler name.
  • Operating system detection code was updated to correctly detect Windows 10 version 20H2.
  • Updated documentation re changes.
  • Updated help file re changes.
  • Minor documentation corrections.

New in Portable CodeSnip 4.16.0 (May 31, 2020)

  • This is a significant update. It's purpose is to remove CodeSnip's dependencies on the delphidabbler.com website and associated web services. This was done because of the expected June 2020 closure or reduced functionality of delphidabbler.com. Some affected features were removed and others replaced with alternatives.
  • Removed all dependencies on web services. The following changes were made as a consequence of this:
  • Replaced the option to update the main DelphiDabbler Code Snippets database from the web with an option to update it from locally stored data:
  • Replaced the Update from Web dialogue box with a new wizard. Menu options on the Snippets menu were renamed accordingly and the old tool bar button was removed.
  • Changed the database update code to use data that has been manually downloaded from the delphidabbler/code-snippets GitHub project.
  • Modified the database reading code to accept both the new Code Snippets database v2 format and the legacy v1 format.
  • Replaced the option to import SWAG snippets from an on-line REST service with an option to import snippets from locally stored data.
  • Revised the SWAG import wizard re the changes to the import method.
  • Modified the SWAG import code to use data that has been manually downloaded from the delphidabbler/swag GitHub project.
  • The option to register the program was removed. No registration key is now generated or stored.
  • Replaced the option to read and display the CodeSnip RSS news feed with one to display the CodeSnip Blog.
  • Removed the menu option used to check for program updates.
  • Removed the background task that automatically checked for program and database updates.
  • Removed the option to submit snippets for addition to the DelphiDabbler Code Snippets database.
  • Removed support for a proxy web server - now unnecessary.
  • Removed support for the --test-server command line option that enabled use of a different server to test web services.
  • Updated install program so it no longer displays a page stating that CodeSnip will go automatically go on-line to check for updates.
  • Removed references and links to delphidabbler.com from the program, the installer, the help file and documentation. Some references were deleted while others were replaced with alternatives, including:
  • Changed the URL of the FAQs to refer to the codesnip-faq GitHub project.
  • References to swag.delphidabbler.com were replaced with references to the delphidabbler/swag project on GitHub.
  • URLs that were redirected via a service on delphidabbler.com were replaced by hard coded URLs.
  • The export file format was changed to exclude personal user information. The original format can still be read but any user information is ignored and discarded.
  • Config file processing changes:
  • Removed support for reading or writing data relating to removed features.
  • When CodeSnip is first run after updating from an earlier version, any pre-existing config files are purged of any information that is no longer relevant.
  • The common config file is no longer used by the portable edition. Any pre-existing file is deleted the first time the portable edition is run.
  • The common and per-user config file versions were bumped to 7 and 16 respectively.
  • Welcome page changes:
  • Removed the Update Checks and Donate sections and related links.
  • Removed links used to check for program and database updates.
  • Replaced the link used to display the news feed with one that displays the CodeSnip blog.
  • Added a "What's New" type of dialogue box that can be selectively displayed when a new version of CodeSnip is run for the first time. v4.16.0 always displays the dialogue box when first run.
  • The operating system detection code was updated to correctly detect all Windows and Windows Server releases as of March 2020.
  • Revised the About dialogue box:
  • To display version and licensing information extracted from Code Snippets Database v2 meta data.
  • To remove credits for 3rd party code that is no longer used.
  • The bug tracker dialogue boxes were updated re the change of issue tracker from SourceForge to GitHub.
  • Removed redundant pages and controls from the Preferences dialogue box.
  • Removed the Donate dialogue box and associated menu options.
  • Revised and re-ordered some menu options.
  • The program no longer generates and saves an application identifier key.
  • Bugs fixed:
  • Corrected license information stored in the Extra information section of imported SWAG packages.
  • Fixed a text formatting error in the SWAG import wizard (issue #4).
  • Fixed broken help topic links in some dialogue boxes (issue #3)
  • Fixed a bug in the portable edition's startup processing of its config file.
  • Fixed the dialogue box displayed when updating from CodeSnip v3 or earlier to display an icon in the Windows task bar.
  • Corrected the license details included in comments of generated source code that includes snippets from the main database.
  • Corrected typos and errors in the UI.
  • Some source code refactoring and clarifications.
  • Removed redundant library code:
  • Encryption library.
  • Indy Internet components.
  • Help file overhauled: new topics added, redundant topics removed and many errors corrected. Some restyling.
  • Updated documentation, including:
  • Major changes to ./README.md and ./Docs/ReadMe.txt.
  • Merged all the major version specific changelogs into a single ./CHANGELOG.md file and deleted the old files.
  • File format documentation was overhauled re changes introduced in this release.
  • Edited ./Docs/License.html to remove license information and acknowledgements for 3rd party code that is no longer used.
  • Fixed errors in ./Build.html concerning the source code repository and made some other minor changes.
  • Removed the privacy statement document, ./Docs/Privacy.txt since CodeSnip no longer stores or transmits any personal information. (Also removed privacy help topic and menu item.)
  • Removed ./Docs/Design/WebServices.txt file that described the web services used by CodeSnip.

New in Portable CodeSnip 4.15.1 (Feb 15, 2018)

  • Updated OS detection code to detect Windows 10 Version 1607 (Anniversary update) and all technical previews of Windows 2016 Server to date.

New in Portable CodeSnip 4.11.0 (Sep 25, 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.

New in Portable CodeSnip 4.10.0 (Sep 25, 2014)

  • Added support for test compilation with, and detection of, Delphi XE7 compiler.
  • Updated documentation re changes.
  • Updated help file re changes.

New in Portable CodeSnip 4.9.0 (May 1, 2014)

  • Added support for test compilation with, and detection of, Delphi XE6 compiler.
  • Updated documentation re changes.
  • Updated help file re changes.

New in Portable CodeSnip 4.8.7 (Mar 7, 2014)

  • Changed so that automatic bug checker now correctly records last update date. This fixes bug #93
  • Updated to use v2 of the DelphiDabbler CodeSnip update web service when checking for availability of program updates.
  • Minor corrections to help file.

New in Portable CodeSnip 4.8.6 (Mar 7, 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.

New in Portable CodeSnip 4.8.5 (Mar 7, 2014)

  • Fixed bug #91 "Generated units won't compile on Delphi XE5". 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

New in Portable CodeSnip 4.8.4 (Nov 29, 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

New in Portable CodeSnip 4.8.3 (Nov 8, 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.

New in Portable CodeSnip 4.8.2 (Oct 30, 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.

New in Portable CodeSnip 4.8.1 (Sep 19, 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"
  • Updated help file re changes.

New in Portable CodeSnip 4.8.0 (Sep 13, 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.

New in Portable CodeSnip 4.7.2 (Aug 27, 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.

New in Portable CodeSnip 4.7.1 (Aug 19, 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.".

New in Portable CodeSnip 4.7.0 (Aug 1, 2013)

  • Implemented feature request #71 "Support importing of one or more snippets from the SWAG database":
  • 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".
  • 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 and #61.
  • 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"
  • 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.

New in Portable CodeSnip 4.6.4 (Jul 26, 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
  • Bug #85 Check For Updates link

New in Portable CodeSnip 4.6.3 (Jul 15, 2013)

  • Further fix for IE 10 related bug #75 "Floating point error in 4.4.1". Re-implemented method used to display content in main window's detail pane using the IE web browser control.

New in Portable CodeSnip 4.6.2 (Jul 10, 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.

New in Portable CodeSnip 4.6.1 (Jul 2, 2013)

  • Provided fix for un-reproduced bug #75 "Floating point error in 4.4.1" 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.

New in Portable CodeSnip 4.6.0 (Jun 21, 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.

New in Portable CodeSnip 4.5.1 (May 16, 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
  • 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"
  • Fixed issue #80 "HTML output bug"
  • Fixed minor alignment bug that occurred when displaying a wait dialogue box over the main window.
  • Some refactoring.
  • Updated help file re changes.

New in Portable CodeSnip 4.5.0 (May 3, 2013)

  • Added support for Delphi XE4 compiler. Implements feature request #78
  • Updated documentation re changes.
  • Updated help file re changes.

New in Portable CodeSnip 4.4.2 (Apr 26, 2013)

  • Fixed bugs:
  • An advanced record snippet with a method name that clashes with a directive is not test compiling correctly.
  • Syntax highlighter highlights "contains", "requires" and "package" directives when used in method names.
  • CodeSnip doesn't restore window in correct position when task bar on left or top of screen.

New in Portable CodeSnip 4.4.1 (Apr 9, 2013)

  • Fixed bug #73 "Attempting to check for program updates returns a 404 'Not found' error" - this error happened only when using remote server, not localhost test server.

New in Portable CodeSnip 4.4.0 (Apr 9, 2013)

  • Implemented feature request #75 "Check for updates on start-up":
  • 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.

New in Portable CodeSnip 4.3.0 (Feb 27, 2013)

  • Implemented feature request #40 "Add 'Namespaces' tab to Configure Compilers dialogue box". 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". 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 toegther with the program.
  • Implemented feature request #69 "Enable custom syntax highlighter styles to be saved" . 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.

New in Portable CodeSnip 4.2.1 (Feb 15, 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.

New in Portable CodeSnip 4.2.0 (Feb 8, 2013)

  • Added support for "favourite" snippets. Implements feature request #37:
  • 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.
  • Snippets Editor can be opened immediately the Duplicate Snippet dialogue box closes to edit the duplicated snippet. Implements feature request #65.
  • 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 Favorites.
  • Updated documentation.

New in Portable CodeSnip 4.1.1 (Jan 31, 2013)

  • Fixed bugs:
  • Comments missing in unit / code generation for some types.
  • Changing syntax highlighter font has no effect in main display.
  • 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.