diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..765207f06 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,6 @@ +# Customise GitHub Linguist + +# Highlight Inno Setup's .ps files as Pascal +*.ps linguist-language=Pascal +# Include Markdown files in stats +*.md linguist-detectable diff --git a/.gitignore b/.gitignore index 34885dadb..64f314858 100644 --- a/.gitignore +++ b/.gitignore @@ -10,10 +10,6 @@ __history/ # Project specific directories & files -Bin -Exe -Release +_build Src/CodeSnip.cfg Src/AutoGen/IntfExternalObj.pas -Src/Portable/CodeSnipPortable.cfg -Src/Main/AutoGen/IntfExternalObj.pas diff --git a/Build.html b/Build.html index 35d54831c..5dde59363 100644 --- a/Build.html +++ b/Build.html @@ -1,17 +1,17 @@ + "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - +
+ For an explanation of why CodeSnip still uses Delphi XE see + FAQ 11 of the CodeSnip Compiling & Source Code FAQs. +
+The are currently two editions of CodeSnip: the standard edition and the portable edition. They both share the same code base: the different @@ -150,7 +160,7 @@
ExternalObj.idl.
+ code contained in ExternalObj.ridl.
- This tool is used to compile version information (.vi) files
- into intermediate resource source (.rc) files. Version 2.11.2
- or later is required.
- Version Information Editor can be obtained from
+ This tool is used to compile version information (.vi) files and
+ any associated macro file(s) into intermediate resource source
+ (.rc) files. Version 2.15.0 or later is required. Version
+ Information Editor can be obtained from
https://github.com/delphidabbler/vied/releases.
@@ -235,8 +245,8 @@
You can get Inno Setup at http://www.jrsoftware.org/isinfo.php. Choose the Unicode version and + href="https://www.jrsoftware.org/isinfo.php" + >https://www.jrsoftware.org/isinfo.php. Choose the Unicode version and ensure that the ISPP pre-processor is installed. If you already have the ANSI version the Unicode version can be installed alongside it - just use a different install directory and program group name. @@ -274,11 +284,19 @@
- This program is used to create CodeSnip's release file. - You can get a Windows command line version at + This program is used to create CodeSnip's release file. The InfoZip + version of zip is required. You can get a Windows command line version at http://stahlforce.com/dev/index.php?tool=zipunzip. + >http://stahlforce.com/dev/index.php?tool=zipunzip. +
+ +
+ Warning: The above link is http only. If you or
+ your browser object to the insecure link you can download an identical version
+ from delphidabbler.com, using the https protocol. See https://delphidabbler.com/extras/info-zip.
@@ -369,30 +387,34 @@
- The source code is maintained in the delphidabbler/codesnip Git respository on GitHub.
-
- If you are intending to contribute code to the project you need to:
+ The source code is maintained in the delphidabbler/codesnip Git respository on GitHub. Source code can be obtained in three ways:
development branch.
+ + Fork the project from GitHub and then clone your forked repository. +
+ Clone the existing repository using: +
+> git clone https://github.com/delphidabbler/codesnip.git
delphidabbler/codesnip repo.
+ + Download the source of a specific release from the project's Releases section on GitHub – just choose the version you want. +
- If you only intend to use the code for your own purposes you can still fork the repository as above. Alternatively you can download the source code from the project's Releases section on GitHub – just choose the version you want. + If you are intending to contribute code to the project please read the most up to date version of the project's read-me file before doing so. +
+ ++ Important: If you are planning to fork CodeSnip and to develop and release your own application derived from the CodeSnip code base then some changes to the code are required under the terms of the CodeSnip license. See the Conditions For Release of Modified Code section below for details.
./
|
- +-- Docs - documentation
+ +-- Docs - documentation
| |
- | +-- Design - documents concerning program design
+ | +-- Design - documents concerning program design
| |
- | +-- FileFormats - documentation of CodeSnip's file formats
+ | +-- FileFormats - documentation of CodeSnip's file formats
|
- +-- Src - main CodeSnip source code
+ +-- Src - main CodeSnip source code
| |
- | +-- 3rdParty - third party & DelphiDabbler library source code
+ | +-- 3rdParty - third party & DelphiDabbler library source code
| |
- | +-- AutoGen - receives automatically generated code
+ | +-- AutoGen - receives automatically generated code
| |
- | +-- Help - help source files
+ | +-- Help - help source files
| | |
- | | +-- CSS - CSS code for help files
+ | | +-- CSS - CSS code for help files
| | |
- | | +-- HTML - HTML files included in help file
+ | | +-- HTML - HTML files included in help file
| | |
- | | +-- Images - images included in help file
+ | | +-- Images - images included in help file
| |
- | +-- Install - setup script and support code
+ | +-- Install - setup script and support code
| | |
- | | +-- Assets - files required for inclusion in install program
+ | | +-- Assets - files required for inclusion in install program
| |
- | +-- Res - container for files that are embedded in resources
+ | +-- Res - container for files that are embedded in resources
| |
- | +-- CSS - CSS files
+ | +-- CSS - CSS files
| |
- | +-- HTML - HTML files
+ | +-- HTML - HTML files
| |
- | +-- Img - image files
+ | +-- Img - image files
+ | | |
+ | | +-- AltBranding - image files used for 3rd party branding
| | |
- | | +-- Branding - image files used for CodeSnip branding
+ | | +-- Branding - image files used for CodeSnip branding only
| | |
- | | +-- Egg - image files for 'Easter Egg'
+ | | +-- Egg - image files for 'Easter Egg'
| |
- | +-- Misc - other resources
+ | +-- Misc - other resources
| |
- | +-- Scripts - scripting files
+ | +-- Scripts - scripting files
| |
- | +-- 3rdParty - 3rd party scripting files
+ | +-- 3rdParty - 3rd party scripting files
|
- +-- Tests - contains test code
+ +-- Tests - contains test code
|
- +-- Src - test source code
+ +-- Src - test source code
|
- +-- DUnit - test source code that uses the DUnit framework
+ +-- DUnit - test source code that uses the DUnit framework
- If, by chance you also have Bin, Exe and / or
- Release directories don't worry - all will become clear.
+ If, by chance you also have a _build directory don't worry - all will become clear.
Git users may also see the usual .git hidden
directory. If you have done some editing in the Delphi IDE you may also see
occasional hidden __history folders.
@@ -491,19 +514,21 @@
./ | - +-- Bin - receives object files for CodeSnip - | - ... - | - +-- Exe - receives executable code and compiled help file - | - +-- Release - receives release files + +-- _build - contains all the build files + | | + | +-- bin - receives object files for CodeSnip + | | + | +-- exe - receives executable code and compiled help file + | | + | +-- release - receives release files + | | + | +-- ~tmp~ - store for temp files ceated in release process | ...
- If the Bin folder already existed, it will have been emptied.
- In addition, Make will have created a .cfg file from
+ If the _build/bin folder already existed, it will have been emptied.
+ In addition, Make will have created a .cfg file from a
template in the Src folder. This .cfg file is needed
for DCC32 to run correctly. The file will be ignored by Git.
- Each of these options is described below. All except the last assume that
+ Each of these options is described below. All except options 5 and 6 assume that
Make config has been run.
The CodeSnip executable, named CodeSnip.exe will be
- placed in the Exe folder.
+ placed in the _build\exe folder.
> Make -DPORTABLE codesnip
- Again the executable is placed in the Exe folder, but this time
+ Again the executable is placed in the _build\exe folder, but this time
it is named CodeSnip-p.exe
> Make help
+
+ The compiled help file will be written to the _build\exe folder.
+
+ The same help file is used for the standard and portable editions. +
+
- The setup program requires that the CodeSnip excutable and the
- compiled help file are already present in the Exe directory.
+ The setup program requires that the CodeSnip executable and the
+ compiled help file are already present in the _build\exe directory.
@@ -672,7 +705,7 @@
The setup program is named CodeSnip-Setup-x.x.x.exe, where
x.x.x is the version number extracted from CodeSnip's version
- information. It is placed in the Exe directory.
+ information. It is placed in the _build\exe directory.
@@ -697,6 +730,7 @@
Make can create zip files containing all the files that are included in a release.
+ Zip files are written to the _build\release directory.
- The release file for the standard edition of CodeSnip includes the
- setup file along with ReadMe.txt from the Docs
- directory. Both files must exist.
+ The release zip file for the standard edition requires that the setup files is already
+ present in the _build\exe directory.
+
+ The release file includes the setup file along with ReadMe.txt
+ that is automatically generated from Docs\ReadMe-standard.txt.
@@ -716,22 +754,33 @@
> Make release
- By default the release file is named dd-codesnip.zip. You can
+ By default the release file is named codesnip-exe.zip. You can
change this name by defining the RELEASEFILENAME macro or
enviroment variable. For example, you can name the file
MyRelease.zip by doing:
> Make -DRELEASEFILENAME=MyRelease.zip release
+> Make -DRELEASEFILENAME=MyRelease release
+
+
+ Note that the .zip extension should not be included in the file name.
+
- The release file for the portable edition includes the portable executable
- file, CodeSnip-p.exe, the help file CodeSnip.chm and
- several files from the Docs directory. All must be present.
+ The release zip file for the portable edition cannot be created until the
+ CodeSnip excutable and the compiled help file are already present in the
+ _build\exe directory.
+
+ The release file includes the portable executable file, CodeSnip-p.exe,
+ the help file CodeSnip.chm, Docs\License.html and
+ ReadMe.txt that is automatically generated from
+ Docs\ReadMe-portable.txt.
@@ -747,7 +796,11 @@
MyPortableRelease.zip by doing:
-> Make -DPORTABLE -DRELEASEFILENAME=MyPortableRelease.zip release
+> Make -DPORTABLE -DRELEASEFILENAME=MyPortableRelease release
+
+
+ Once again note that the .zip extension should not be included in the file name.
+
Warning: If you are building both the standard and portable @@ -756,6 +809,35 @@
+ A version number can be suffixed to the release zip file name by defining the VERSION macro.
+ This macro works with both the PORTABLE and RELEASEFILENAME macros.
+
+ For example to appended version number 4.22.0 to the zip file name on a standard edition build, with the default + file name do: +
+ +> Make -DVERSION=4.22.0 release
+
+
+ This will create a zip file named codesnip-exe-4.22.0.zip.
+
+ A more complex example would be to append the same version number to a portable edition build named MyPortableRelease. Do:
+
> Make -DPORTABLE -DRELEASEFILENAME=MyPortableRelease -DVERSION=4.22.0 release
+
+
+ This time the resulting zip file will be named MyPortableRelease-4.22.0.zip.
+
To perform a complete build of the portable edition of CodeSnip do
> Make -DPORTABLE
+
+ Note that the RELEASEFILENAME and VERSION macros that can be used for customising
+ zip file names can be used here too.
+
+ There is also a quicker way to build a release, but you must provide a version number to use it. First navigate up + to the repository root. Then run +
+ +> Deploy 9.9.9
+
+
+ where 9.9.9 is the release version number.
+
+ This command will build both the standard and portable executables, the help file, the standard edition setup file + and finally create the release zip files for both editions, with the release version number incorporated in the file names. +
+ +
+ Using Deploy 9.9.9 is the equivalent of doing:
+
> cd Src +> Make -DVERSION=9.9.9 +> Make -DPORTABLE -DVERSION=9.9.9 +> cd ..+
- To compile the tests, open the .\Src\CodeSnip.groupproj group
+ To compile the tests, open the Src\CodeSnip.groupproj group
project file in the Delphi XE IDE. Now select the CodeSnipTests.exe
target in the project manager and compile.
If they were not already present Bin and Exe
- sub-directories will have been created in the .\Tests directory.
+ sub-directories will have been created in the Tests directory.
The Exe directory contains the DUnit test program while
Bin contains intermediate binaries.
You can compile the tests as either a GUI application (default) or as a
console application. For details please see the comments in
- .\Tests\Src\DUnit\CodeSnipTests.dpr.
+ Tests\Src\DUnit\CodeSnipTests.dpr.
+ If you are intending to release your own application based on the CodeSnip source code you must either change the source code as described below or seek written permission to use the DelphiDabbler CodeSnip branding. To seek such permission please use the CodeSnip Issue Tracker on GitHub. +
+ ++ The changes are required to remove DelphiDabbler CodeSnip copyrighted branding from the program, to prevent interference with existing CodeSnip installations and to remove any implied endorsement of the modified release. You must: +
+ +
+ Replace the files in the Src\Res\Img\Branding directory with copies of the identically named placeholder files in the Src\Res\Img\AltBranding directory. The placeholder files are Public Domain, so you may use them as-is, edit them or replace them. If you delete the files in Src\Res\Img\Branding without copying the placeholder files across then CodeSnip will fail to build.
+
+ Replace all relevant references, in source code and documentation, to the names "CodeSnip" and "DelphiDabbler" with your own company and program name. Relevant occurences are: +
+%ProgramData% and %AppData% sub-directories.
+
+ Provide your own license file with content compatible with the requirements of the CodeSnip license as it relates to the code reused from the CodeSnip source tree. Do not edit or re-use Docs/License.html.
+
+ Modify source code and documentation where necessary to acknowledge the origins of the program's source code, documentation and images, in accordance with the CodeSnip license. +
+
+ Note that the CodeSnip license can be found in Docs\License.html.
+
+ If you are unsure about whether your changes meet the license requirements then you can seek clarification by creating an issue on the aforementioned Issue Tracker. +
+ diff --git a/CHANGELOG.md b/CHANGELOG.md index acb677949..716973f89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,473 +1,664 @@ # Changelog +This is the change log for _DelphiDabbler CodeSnip_. It begins with the first ever pre-release version of _CodeSnip_. -This is the change log for _DelphiDabbler CodeSnip_. - -All notable changes to this project are documented in this file. - -This change log begins with the first ever pre-release version of _CodeSnip_. Releases are listed in reverse version number order. +Releases are listed in reverse version number order. > Note that _CodeSnip_ v4 was developed in parallel with v3 for a while. As a consequence some v3 releases have later release dates than early v4 releases. -From v4.1.0 the version numbering has attempted to adhere to the principles of [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - +## Release v4.27.0 of 12 September 2025 + +* Added support for test compiling snippets with Delphi 13 Florence [issue #170]. +* Documentation changes re addition of support for Delphi 13: + * File format additions for config file, export files, user database and main database. + * `Docs/ReadMe-portable.txt` & `Docs/ReadMe-standard.txt` + * Relevant help topics. + +## Release v4.26.0 of 02 May 2025 + +* Updated the dialogue box displayed when saving units and annotated source code [issue #166]: + * The _File Encoding_ drop down list control is disabled if there is only one encoding option. + * Updated and clarified the naming of encodings in the _File Encoding_ drop down list. + * The sole encoding option displayed for the _Rich text file_ file type was changed from the erroneous ANSI to the correct ASCII. +* Fixed bug where, when ANSI encoding was selected in the _Save Unit_ and _Save Annotated Source_ dialogue boxes, snippets containing characters not supported in the default locale's code page were being rendered diffently in the Preview dialogue box to when saved to file [issue #164]. The previewed code is now the same as that of the saved source code. +* Updated file formats available when the _File | Save Snippet Information_ menu option is selected: + * Syntax highlighting of the existing RTF format output is now optional. + * Added the option to save snippet information in the following new formats: + * Plain text, in UTF-8, UTF-16LE, UTF-16BE and the system locale's default ANSI code page. [issue #162] + * HMTL 5 with optional syntax highlighting, in UTF-8 format [issue #153]. + * XHTML with optional syntax highlighting, in UTF-8 format [issue #153]. + * Markdown, in UTF-8, UTF-16LE, UTF-16BE and the system locale's default ANSI code page [issue #155]. + * Changed the _Save Snippet Information_ dialogue box: + * It is now based on that used for saving unit and annotated source code in that file encoding and snippet highlighting can be customised where relevant, although the _Comment style_ controls are disabled since they are not relevant. + * The suggested file name was changed from "SnippetInfo" to the display name of the selected snippet. + * The dialogue box caption now contains the display name of the selected snippet. +* Changed the title of the _Save Annotated Source_ dialogue box when displaying snippets. +* Added option to prevent descriptive comments from appearing in the implementation section of generated units. A check box for this option has been added to the _Code Formatting_ tab of the _Preferences_ dialogue box [issue #85]. +* The _Help | CodeSnip News Blog_ menu item was changed to link to the [DelphiDabbler Blog](https://delphidabbler.blogspot.com/) instead of the CodeSnip Blog, because the latter is to be closed down. The menu item was renamed to _Help | CodeSnip News On DelphiDabbler Blog_ [issue #161]. +* Improved how the CSS used in generated HTML 5 and XHTML files is generated: + * The ordering of CSS selectors can now be pre-determined. + * CSS lengths and sizes can now be specified in units, such as `em`, instead of just pixels. +* Refactored the `USourceGen` unit to remove an unnecessary dependency on user preferences [issue #167]. +* Updated the help file: + * Re changes when saving snippet information [issue #163]. + * Re changes to the _Save Unit_ and _Save Annotated Source_ dialogue boxes. + * Re changes to the blog linked from the _Help_ menu. + * Re the new option to inhibit comments in the implementation sections of generated units. +* Updated documentation: + * File format documentation was changed re the addition of the Markdown file format and the changes to the encodings used in saved files. + * Read-me files were updated re the change of news blog. + +## Release v4.25.0 of 19 April 2025 + +* Added new feature to save snippet information to file in RTF format using the new _File | Save Snippet Information_ menu option [issue #140]. +* Added the option to save optionally highlighted annotated source code and units in HTML 5 format [issue #87]. +* Fixed malformed bullet character(s) in the list of imported snippets on the last page of the Snippets Import Wizard dialogue box [issue #147]. +* Improved the solution to the crash after hibernation bug, initially fixed in v4.24.1 and v4.24.2, with much improved and more stable code [issue #158]. Implemented by [@SirRufo](https://github.com/SirRufo). +* Overhauled rich text format processing: + * Fixed bug where Unicode characters that don't exist in the system code page were not being displayed correctly [issue #157]. + * Fixed potential bug where some reserved ASCII characters may not be escaped properly [issue #159]. + * Refactored and improved the rich text handling code [issue #100]. +* Corrected the copyright date displayed in the About Box to include 2025 [issue #149]. +* Documentation changes: + * Fixed error in the export file formation documentation and related help topic [issue #151]. + * Corrected erroneous comments for the _TREMLEntities.MapToEntity_ method [issue #84]. + * Updated file format documentation with details the changes introduced when implementing issues #87 and #140. + * Updated the help file with details of the new features added in this release. + +## Release v4.24.2 of 14 April 2025 + +Hotfix release. + +* Updated bug fix implemented in v4.24.1 to avoid relying on a potentially problematic windows event [issue #70 (2nd attempt)]. +* Corrected release date error for v4.24.1 in `CHANGELOG.md`. + +## Release v4.24.1 of 13 April 2025 + +* Fixed bug where CodeSnip occasionally crashes after a computer resumes from hibernation [issue #70]. +* Updated license copyright dates for 2025. + +## Release v4.24.0 of 23 October 2024 + +* Compilers with which a snippet has not been tested are now omitted from snippet information that is copied to the clipboard and included in print outs [issue #143]. +* Reversed order of compilers in the snippets editor's _Compile Results_ tab so that later compilers are display first. This change was accidentally left out of release v4.22.0 when similar changes were made in other parts of the UI [issue #135]. +* Release version number is now displayed in the program title bar [issue #122]. +* Fixed incorrect copyright date displayed in About Box [issue #129]. +* Fixed bug when checking for correct preamble bytes (BOMs) in UTF-8 and UTF-16 format text files [issue #139]. +* Portable and Standard edition now use the same program names. Portable edition was previously declaring itself as _DelphiDabbler CodeSnip-p_ instead of _DelphiDabbler CodeSnip_ [issue #130]. +* Updated operating system detection code [issues #126 and #144]. +* Added `Deploy.bat` script to create and package both the CodeSnip standard and portable releases [issue #128]. +* Documentation changes: + * CodeSnip standard and portable releases now each have their own release read-me files instead of both releases being shipped with the same read-me [issue #127]. Updated `Build.html` and `README.md` re this change. + * Updated and corrected REML documentation and REML help topic. Those documents and others that discuss REML were also changed to link to authoritative REML definitions in the `delphidabbler/reml` repository. [issues #131, #133 & #134]. + * Updated `Build.html` with alternative, more secure, download link for `zip.exe` program that is required to package releases [issue #137]. + +## Release v4.23.0 of 02 April 2024 + +* Removed marketing names (e.g. "Athens" or "Rio") from Delphi compiler names to save space when the compiler names are displayed in the UI [issue #125]. +* Added new `'` entity to REML markup language and boosted REML version to v6 as a consequence [issue #99]. +* Refactored class helper code by splitting a single monolithic unit into three more specialised units [issue #90]. +* Updated documentation and related help topic re change to REML v6. + +## Release v4.22.0 of 08 November 2023 + +* Added support for test compiling snippets with Delphi 12 Athens [issue #121]. +* Documentation changes re addition of support for Delphi 12: + * File format additions for config, export, user database and main database. + * `Docs/ReadMe.txt`. + * Relevant help topics. +* Reversed order in which compilers are listed in the Configure Compilers and Find Compilers dialogue boxes so that the most recent version of Delphi is listed first [issue #51]. +* Refactored out all `with` statements from Pascal source code [issue #118]. +* Fixed error in `CHANGELOG.md` entry for release v4.21.2 [issue #120]. + +## Release v4.21.2 of 14 July 2023 + +* Removed broken links and fixed unsafe links in the About box [issue #105]. +* Fixed bug in version information files that resulted in an error in the Comments section of the version information of both editions of _CodeSnip_ [issue #106]. +* Fixed potential XSS vulnerability in JQuery code used in Easter egg [issue #107]. +* Documentation changes: + * Rationalised, corrected, updated and clarified licensing information. These changes affected many documentation files. [issue #108]. + * Overhauled `README.md` and `Docs/ReadMe.txt` and created a new `CONTRIBUTING.md` file that explains how to contribute in detail [issue #104]. + +## Release v4.21.1 of 09 April 2023 + +* Completed implementation of support for [REML version 5](https://htmlpreview.github.io/?https://github.com/delphidabbler/codesnip/blob/version-4.21.0/Docs/Design/reml.html) (omitted from v4.21.0 in error) and fixed some bugs in the original implementation [issues #81 and #82], including: + * Heavily revised "active text" handling code and document model to fix support for lists introduced in v4.21.0. + * Added support for rendering lists in plain text reports and generated source code header comments. + * Added support for rendering lists in Rich Text Format for use in printed information and in reports copied to the clipboard. + * Overhauled HTML rendering code that generates HTML for display in the UI. + * Heavily revised parsing and generation of REML code. + * Updated "active text" validation code. +* Prevented snippets editor from stripping REML `` tags [issue #103]. +* Fixed garbled copyright symbols in generated source code [issue #80]. +* Fixed bug in code that compresses multiple white space into a single space [issue #95]. +* Fixed out of range error in code that handles text encodings [issue #97]. +* Fixed broken formatting of compiler result tables in text and rich text snippet reports & print outs [issue #101]. +* Updated copyright date displayed in about box [issue #98]. +* Updated operating system detection code to detect Windows 10/11 builds released in December 2022 and Q1 2023. +* Some refactoring [including issue #83] +* Changed build process to create all files in `_build` directory and to use different zip file names [issue #78]. +* Documentation changes: + * Updated `Build.html` to document changes in build process. + * Updated `CHANGELOG.md` to fix broken link [issue #76] and to remove information about semantic versioning. + * Removed broken links in `Docs/License.html`. + * Updated copyright date in various license files [including issue #96]. + * Fixed errors and oversights in REML documentation. +* Removed some redundant tests that were failing due to passing invalid parameters to the revised _StrWrap_ routine [issue #79]. + +## Release v4.21.0 of 16 December 2022 + +* Updated to support [REML version 5](https://htmlpreview.github.io/?https://github.com/delphidabbler/codesnip/blob/version-4.21.0/Docs/Design/reml.html) in snippet description & extra information [issue #71]: + * Numerous new character entities supported. + * New list tags: `
`...`
` 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. - +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 [SourceForge] feature request #3519456. + * 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 [SourceForge] feature request #3519460. + * Snippet descriptions can now be formatted and contain multiple paragraphs. This implements [SourceForge] feature requests #3411890 and #3520405. + * 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 [SourceForge] feature request #3519935. + * Colour of headings for snippets and categories from main and user databases are now user configurable. This implements [SourceForge] feature request #3519463. + * 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 [SourceForge] feature request #3519459. + * 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: + * [SourceForge] bug #3536331 fixed: 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. - +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. + * [SourceForge] Bug #2868708 fixed: edited snippets are no longer lost from manual snippet selections unless snippet names are changed. + * [SourceForge] Bug #3534138 fixed: 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. - +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 [SourceForge] bug #3519784 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_ +Internal CodeSnip version 3.98.1 **Changes relate to v3.9.3:** CodeSnip 4 development branched off CodeSnip 3.9.3. CodeSnip v3 continued to be developed in parallel. -+ 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. - +* 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. ## Release v3.13.2 of 31 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. -+ 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. - +* 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. +* 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. ## Release v3.13.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. - +* Removed File | Page Setup menu option because some settings made there were being ignored when a file was printed. This is a fix for [SourceForge] bug #89 "Setup selections not being remembered". +* Updated help file re changes. ## Release v3.13.0 of 12 September 2013 -+ Added support for Delphi XE5 compiler. -+ Updated documentation re changes. -+ Updated help file re changes. - +* Added support for Delphi XE5 compiler. +* Updated documentation re changes. +* Updated help file re changes. ## Release v3.12.1 of 01 July 2013 -+ Fixed bug #82 "Fatal divide by zero exception on start-up" ~~(http://bit.ly/15aIJqQ)~~ that affected all v3.x versions when the IE 10 browser was installed. -+ Fixed unreported bug where IE 10 browser was being reported as IE 9. -+ Updated all third party DelphiDabbler code to latest available versions. -+ Updated documentation re changes. +* Fixed [SourceForge] bug #82 "Fatal divide by zero exception on start-up" that affected all v3.x versions when the IE 10 browser was installed. +* Fixed unreported bug where IE 10 browser was being reported as IE 9. +* Updated all third party DelphiDabbler code to latest available versions. +* Updated documentation re changes. ## Release v3.12.0 of 02 May 2013 -+ Added support for Delphi XE4 compiler. Implements feature request #78 ~~(http://bit.ly/10uGhoD)~~. -+ Fixed bug #78 ~~(http://bit.ly/ZQl3T4)~~ - CodeSnip doesn't restore window in correct position when task bar on left or top of screen. -+ Updated documentation re changes. -+ Updated help file re changes. - +* Added support for Delphi XE4 compiler. Implements [SourceForge] feature request #78. +* Fixed [SourceForge] bug #78: CodeSnip doesn't restore window in correct position when task bar on left or top of screen. +* Updated documentation re changes. +* Updated help file re changes. ## Release v3.11.1 of 08 December 2012 -+ Fixed bug #3578654 ~~(http://bit.ly/T7fTxu)~~: "Pre-processor directive errors in main db ini files" by removing support for problematic directives. -+ Hints are no longer displayed in status bar when user rolls mouse over a link in the display pane. This fixes bug #3577408 ~~(http://bit.ly/WEzZGg)~~: "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". -+ Updated operating system detection code to detect Windows 8 & 2012 server. -+ Updated documentation - +* Fixed [SourceForge] bug #3578654: "Pre-processor directive errors in main db ini files" by removing support for problematic directives. +* Hints are no longer displayed in status bar when user rolls mouse over a link in the display pane. This fixes [SourceForge] bug #3577408: "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 [SourceForge] bug #3591818: "Strange window behaviour in Windows 7" and [SourceForge] bug #3591820: "Incorrect font size used for some bold text". +* Updated operating system detection code to detect Windows 8 & 2012 server. +* Updated documentation ## Release v3.11.0 of 17 September 2012 -+ Added support for Delphi XE3 compiler. Implements feature request #3566345 ~~(http://bit.ly/OvbBPp)~~. -+ Bug fixes: - - #3561713 ~~(http://bit.ly/QEYRFx)~~: The Category view in the Overview pane sometimes appears fully expanded when it is expected to be fully collapsed. - - #3566430 ~~(http://bit.ly/U1KnGZ)~~: About Box Paths Page displays wrongly when themes not available. -+ Updated documentation re changes. -+ Updated help file re changes. - +* Added support for Delphi XE3 compiler. Implements [SourceForge] feature request #3566345. +* [SourceForge] Bug fixes: + * #3561713: The Category view in the Overview pane sometimes appears fully expanded when it is expected to be fully collapsed. + * #3566430: About Box Paths Page displays wrongly when themes not available. +* Updated documentation re changes. +* Updated help file re changes. ## Release v3.10.5 of 21 August 2012 -+ Fixed bugs: - - #3559257 ~~(http://bit.ly/Qc8Fqu)~~: Compile Results accessed from menu can get out of sync. - - #3559156 ~~(http://bit.ly/TKXYQ7)~~: "Previews" disappearing in Preferences dialogue box - +* Fixed [SourceForge] bugs: + * #3559257: Compile Results accessed from menu can get out of sync. + * #3559156: "Previews" disappearing in Preferences dialogue box ## Release v3.10.4 of 16 August 2012 -+ Added support for displaying pop-up menus over appropriate control when Alt+F10 is pressed. Fixes bug #3556713 ~~(http://bit.ly/RIzfvQ)~~. -+ Changes to snippets editor: - - Added missing edit context menu to "add unit" edit control on References tab. Fixes bug #3556718 ~~(http://bit.ly/RVanCE~~) as it relates to v3. - - Predefined list of units in Units list on References tab now includes the "Types" unit. - - Referenced unit names may now contain dots. - - Snippets Editor help topic now explains need to configure Delphi XE2 compiler to search namespaces containing referenced units. This provides a solution to bug #3536531 ~~(http://bit.ly/Q2bcmY)~~. - +* Added support for displaying pop-up menus over appropriate control when Alt+F10 is pressed. Fixes [SourceForge] bug #3556713. +* Changes to snippets editor: + * Added missing edit context menu to "add unit" edit control on References tab. Fixes [SourceForge] bug #3556718 as it relates to v3. + * Predefined list of units in Units list on References tab now includes the "Types" unit. + * Referenced unit names may now contain dots. + * Snippets Editor help topic now explains need to configure Delphi XE2 compiler to search namespaces containing referenced units. This provides a solution to [SourceForge] bug #3536531. ## Release v3.10.3 of 25 July 2012 -+ Changed so that Delphi 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. -+ Fixed bug in Compiler tab of Configure Compilers dialogue box that failed to flag selected compiler as unavailable after button was pressed. - +* Changed so that Delphi 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. +* Fixed bug in Compiler tab of Configure Compilers dialogue box that failed to flag selected compiler as unavailable after button was pressed. ## Release v3.10.2 of 19 June 2012 -+ Fixed bug #3536331 ~~(http://bit.ly/KQVATf)~~ where some distinct words in a snippet's Extra text where not being found in text searches. -+ Info about user's OS and IE version is now sent to web server during online database updates. -+ Updated privacy statement re changes in information sent by update web service. - +* Fixed [SourceForge] bug #3536331 where some distinct words in a snippet's Extra text where not being found in text searches. +* Info about user's OS and IE version is now sent to web server during online database updates. +* Updated privacy statement re changes in information sent by update web service. ## Release v3.10.1 of 20 April 2012 -+ Fixed bug #3519784 ~~(http://bit.ly/IsCsun)~~ where multi-line type or constant snippets that start on same line as type or const keyword were corrupted when included in units using the "comments after snippet header" comment style. -+ Also fixed potential source of a bug in code that edits user-defined categories. - +* Fixed [SourceForge] bug #3519784 where multi-line type or constant snippets that start on same line as type or const keyword were corrupted when included in units using the "comments after snippet header" comment style. +* Also fixed potential source of a bug in code that edits user-defined categories. ## Release v3.10.0 of 17 April 2012 -+ Added new Help | On The Web | FAQs menu option to display CodeSnip FAQs in default browser. -+ Fixed unreported minor bug in dialogue boxes that display tabbed page controls: clicking a tab did not always give it the keyboard focus. -+ Characters used to introduced switches on command line were changed: '/' replaces non-standard '\'. '-' is still permitted. -+ Updated help file: added topic for new menu option and minor change to FAQ help topic. - +* Added new Help | On The Web | FAQs menu option to display CodeSnip FAQs in default browser. +* Fixed unreported minor bug in dialogue boxes that display tabbed page controls: clicking a tab did not always give it the keyboard focus. +* Characters used to introduced switches on command line were changed: '/' replaces non-standard '\'. '-' is still permitted. +* Updated help file: added topic for new menu option and minor change to FAQ help topic. ## Release v3.9.3 of 23 November 2011 **Note:** Development of CodeSnip 4 branched off this release. -+ Fixed some bugs in main window: - - Toolbar was truncated when window is too narrow to display it all. It now wraps. - - Treeview state in Overview pane was not restoring correctly after navigating away from and then returning to a tab. - - Pressing Ctrl+Tab or Shift+Ctrl+Tab did not necessarily change the tab in the expected tab set in either the Overview or Detail panes. -+ Fixed a broken URL in about box. -+ Bumped installer program helper build number re Delphi 2010 compilation (should have been done at v3.5.1). - +* Fixed some bugs in main window: + * Toolbar was truncated when window is too narrow to display it all. It now wraps. + * Treeview state in Overview pane was not restoring correctly after navigating away from and then returning to a tab. + * Pressing Ctrl+Tab or Shift+Ctrl+Tab did not necessarily change the tab in the expected tab set in either the Overview or Detail panes. +* Fixed a broken URL in about box. +* Bumped installer program helper build number re Delphi 2010 compilation (should have been done at v3.5.1). ## Release v3.9.2 of 28 October 2011 -+ Fixed bug #3427741 ~~(http://bit.ly/vq2fAz)~~ where details pane tabs didn't change in response to key presses. -+ Fixed bug #3427866 ~~(http://bit.ly/w31z8L)~~ where selection in overview was not always same as item displayed in details pane. -+ Fixed bug #3427889 ~~(http://bit.ly/tijnmF)~~ where there was the possibility of a GPF in overview pane. - +* Fixed [SourceForge] bug #3427741 where details pane tabs didn't change in response to key presses. +* Fixed [SourceForge] bug #3427866 where selection in overview was not always same as item displayed in details pane. +* Fixed [SourceForge] bug #3427889 where there was the possibility of a GPF in overview pane. ## Release v3.9.1 of 18 September 2011 -+ Fixed bug #3369422 ~~(http://bit.ly/omSp6F)~~ in Pascal highlighter that was causing an assertion failure when parsing malformed Pascal general format floating point numbers. - +* Fixed [SourceForge] bug #3369422 in Pascal highlighter that was causing an assertion failure when parsing malformed Pascal general format floating point numbers. ## Release v3.9.0 of 07 September 2011 -+ Added support for Delphi XE2 Windows 32 bit compiler: - - Can now test compile and display results with Delphi XE2 32 bit. - - Delphi XE2 compiler version 23.0 has been added to the drop down menu in the Code Generation tab of the preference dialogue box. - - Updated help file re Delphi XE2 support. - - Updated documentation. -+ Limited user name edit control to 48 chars in registration wizard because this is limit in online registration database. - +* Added support for Delphi XE2 Windows 32 bit compiler: + * Can now test compile and display results with Delphi XE2 32 bit. + * Delphi XE2 compiler version 23.0 has been added to the drop down menu in the Code Generation tab of the preference dialogue box. + * Updated help file re Delphi XE2 support. + * Updated documentation. +* Limited user name edit control to 48 chars in registration wizard because this is limit in online registration database. ## Release v3.8.11 of 02 July 2011 -+ Fixed display problem in about box and compiler error dialogue boxes on systems using Internet Explorer v9 web browser control. This fixes issue #3349186 ~~(http://bit.ly/lF6bTO)~~. -+ Updated read-me file re support for IE9 browser control. - +* Fixed display problem in about box and compiler error dialogue boxes on systems using Internet Explorer v9 web browser control. This fixes [SourceForge] issue #3349186. +* Updated read-me file re support for IE9 browser control. ## Release v3.8.10 of 20 May 2011 -+ Reverted checked tree views and list boxes to standard Windows behaviour. Clicking item text no longer toggles associated check boxes. This behaviour was more problematic then helpful. -+ Updated documentation, including new info about CodeSnip FAQ. -+ Added FAQs topic and TOC entry to help file that links to online FAQ. - +* Reverted checked tree views and list boxes to standard Windows behaviour. Clicking item text no longer toggles associated check boxes. This behaviour was more problematic then helpful. +* Updated documentation, including new info about CodeSnip FAQ. +* Added FAQs topic and TOC entry to help file that links to online FAQ. ## Release v3.8.9 of 10 May 2011 -+ Fixed bug #3299870 ~~(http://bit.ly/iX8Its)~~ that was allowing imported snippets with duplicate names to be renamed with invalid names. -+ Improved UI used to edit imported snippet names. -+ Any "warning" compile results in main database are now treated and displayed as "success" results per feature request #3290359 ~~(http://bit.ly/mshbRa)~~. -+ Fixed unreported potential bug in code that sets window class names. -+ Updated documentation. - +* Fixed [SourceForge] bug #3299870 that was allowing imported snippets with duplicate names to be renamed with invalid names. +* Improved UI used to edit imported snippet names. +* Any "warning" compile results in main database are now treated and displayed as "success" results per [SourceForge] feature request #3290359. +* Fixed unreported potential bug in code that sets window class names. +* Updated documentation. ## Release v3.8.8 of 19 January 2011 -+ Added facility for user to specify maximum age of news items displayed in news dialogue box. New preferences tab added where the maximum age can be customised. -+ Preferences dialogue box now displays multi-line tabs when necessary. -+ Refactored some code used to align controls on forms. -+ Updated license. License HTML help file is no longer MPLd and may not be altered by third parties. -+ Updated help file re changes. -+ Updated documentation. - +* Added facility for user to specify maximum age of news items displayed in news dialogue box. New preferences tab added where the maximum age can be customised. +* Preferences dialogue box now displays multi-line tabs when necessary. +* Refactored some code used to align controls on forms. +* Updated license. License HTML help file is no longer MPLd and may not be altered by third parties. +* Updated help file re changes. +* Updated documentation. ## Release v3.8.7 of 16 December 2010 -+ Delphi XE compiler version 22.0 has been added to the drop down menu in the Code Generation tab of the preference dialogue box. -+ Bug fix: compiler results are no longer listed when free-form snippets are printed or copied to the clipboard using the "Edit | Copy Information" menu item. - +* Delphi XE compiler version 22.0 has been added to the drop down menu in the Code Generation tab of the preference dialogue box. +* Bug fix: compiler results are no longer listed when free-form snippets are printed or copied to the clipboard using the "Edit | Copy Information" menu item. ## Release v3.8.6 of 06 December 2010 -+ Bug fix release (none reported in bug tracker): - - Corrected XML file validation so that it does not reject XML processing instructions that contain an "encoding" attribute. - - Fixed long standing bug that was crashing CodeSnip when the database was updated or restored after editing, adding or deleting any user defined snippet. - - Attempting to restore a database backup with an unknown (later) file format now raises an exception. Previously CodeSnip tried, unsuccessfully, to read the file. - +* Bug fix release (none reported in bug tracker): + * Corrected XML file validation so that it does not reject XML processing instructions that contain an "encoding" attribute. + * Fixed long standing bug that was crashing CodeSnip when the database was updated or restored after editing, adding or deleting any user defined snippet. + * Attempting to restore a database backup with an unknown (later) file format now raises an exception. Previously CodeSnip tried, unsuccessfully, to read the file. ## Release v3.8.5 of 28 November 2010 -+ Fixed bug where user was able to create snippets with valid names that would crash the alphabetic overview. Snippet names are now limited to letters from English alphabet and the underscore. Fixes bug #3120958 ~~(http://bit.ly/fDAswL)~~. -+ Fixed bug where snippets that have names beginning with a lower case letter were being omitted from from the associated list of snippets shown in the detail pane. Fixes bug #3120962 ~~(http://bit.ly/eGhQvc)~~. -+ Updated Snippets Editor topic in help file. - +* Fixed bug where user was able to create snippets with valid names that would crash the alphabetic overview. Snippet names are now limited to letters from English alphabet and the underscore. Fixes [SourceForge] bug #3120958. +* Fixed bug where snippets that have names beginning with a lower case letter were being omitted from from the associated list of snippets shown in the detail pane. Fixes [SourceForge] bug #3120962. +* Updated Snippets Editor topic in help file. ## Release v3.8.4 of 26 November 2010 -+ User can now opt to terminate the application when an unexpected exception is trapped. This implements feature request #3074914 ~~(http://bit.ly/hUyEAw)~~. -+ Wording of bug report dialogue boxes changed. -+ Snippets selection dialogue box now displays wait cursor while waiting for it to be displayed. -+ Some corrections and clarifications made to comments that appear in generated "include" files. -+ Custom message boxes can now display custom title and icon. -+ Imported some updates from "new-backend" development tree: - - Some source code re-organisation and renaming. - - Updated some sorted list management code. - +* User can now opt to terminate the application when an unexpected exception is trapped. This implements [SourceForge] feature request #3074914. +* Wording of bug report dialogue boxes changed. +* Snippets selection dialogue box now displays wait cursor while waiting for it to be displayed. +* Some corrections and clarifications made to comments that appear in generated "include" files. +* Custom message boxes can now display custom title and icon. +* Imported some updates from "new-backend" development tree: + * Some source code re-organisation and renaming. + * Updated some sorted list management code. ## Release v3.8.3 of 24 November 2010 -+ Added button to "Compile" tab of Snippets Editor to display unit used to test compile snippets. This implements feature request #3108008 ~~(http://bit.ly/elBZnn)~~. -+ Fixed unreported bugs in handling of exceptions raised in threads. -+ Simplified method used to load database on start up. No longer uses a separate thread. -+ Overhauled and simplified code used to display "wait" dialogues during test compilations and database reloading. -+ Refactorings: - - Increased use of generics in lists and enumerators. - - Reorganised source code tree by moving some code to more relevant units, renaming some units and increasing use of namespaces. - - Removed some redundant code. -+ Updated help file re changes to snippets editor. - +* Added button to "Compile" tab of Snippets Editor to display unit used to test compile snippets. This implements [SourceForge] feature request #3108008. +* Fixed unreported bugs in handling of exceptions raised in threads. +* Simplified method used to load database on start up. No longer uses a separate thread. +* Overhauled and simplified code used to display "wait" dialogues during test compilations and database reloading. +* Refactorings: + * Increased use of generics in lists and enumerators. + * Reorganised source code tree by moving some code to more relevant units, renaming some units and increasing use of namespaces. + * Removed some redundant code. +* Updated help file re changes to snippets editor. ## Release v3.8.2 of 16 November 2010 -+ The position of the caret in the Snippets Editor's Extra Information control is now displayed. Implements feature request #3105288 ~~(http://bit.ly/bRV86Z)~~. -+ Code that displays caret positions was refactored and improved. -+ Display of errors in the Snippets Editor's text edit controls has been improved in most cases either by positioning the caret near the error or selecting the erroneous text. This implements feature request #3107042 ~~(http://bit.ly/cKx5YQ)~~. -+ Made significant changes to code that parses REML mark-up: - - Rationalised error reporting and added support for reporting the position of errors. - - Fixed unreported bug that produced wrong error message when empty tags are encountered. - - Fixed bug #3107982 ~~(http://bit.ly/cp9Cff)~~ that failed to report some unclosed tags as errors. - - Refactored and reorganised much of the code. -+ All encoding and decoding of URIs is now RFC 3986 compliant. -+ Refactored character detection and string encoding support code. -+ Renamed some units and classes. -+ Updated documentation. - +* The position of the caret in the Snippets Editor's Extra Information control is now displayed. Implements [SourceForge] feature request #3105288. +* Code that displays caret positions was refactored and improved. +* Display of errors in the Snippets Editor's text edit controls has been improved in most cases either by positioning the caret near the error or selecting the erroneous text. This implements [SourceForge] feature request #3107042. +* Made significant changes to code that parses REML mark-up: + * Rationalised error reporting and added support for reporting the position of errors. + * Fixed unreported bug that produced wrong error message when empty tags are encountered. + * Fixed [SourceForge] bug #3107982 that failed to report some unclosed tags as errors. + * Refactored and reorganised much of the code. +* All encoding and decoding of URIs is now RFC 3986 compliant. +* Refactored character detection and string encoding support code. +* Renamed some units and classes. +* Updated documentation. ## Release v3.8.1 of 08 November 2010 -+ Fixed bug #3015589 ~~(http://bit.ly/cdPedH)~~ where some user syntax highlighter settings were being ignored in main display. -+ Changed Test Unit view dialogue box to use user syntax highlighter settings. -+ Revised credits in About Box program tab. -+ Updated third party units: PJMD5 to v0.3, PJSysInfo to v3.3, PJVersionInfo to v3.3. -+ Modified version info code to use new features of new PJVersionInfo 3rd party unit. -+ Refactored code that parses XHTML-style code. -+ Updated compiler warnings used in project and made command line and IDE options the same. -+ Updated documentation. - +* Fixed [SourceForge] bug #3015589 where some user syntax highlighter settings were being ignored in main display. +* Changed Test Unit view dialogue box to use user syntax highlighter settings. +* Revised credits in About Box program tab. +* Updated third party units: PJMD5 to v0.3, PJSysInfo to v3.3, PJVersionInfo to v3.3. +* Modified version info code to use new features of new PJVersionInfo 3rd party unit. +* Refactored code that parses XHTML-style code. +* Updated compiler warnings used in project and made command line and IDE options the same. +* Updated documentation. ## Release v3.8.0 of 23 October 2010 -+ Added support for Delphi XE to program. Can now test compile and display results with Delphi XE. -+ Updated help file re Delphi XE support. -+ Some refactoring. -+ Standardised bug-trap and assertion failure exception messages. - +* Added support for Delphi XE to program. Can now test compile and display results with Delphi XE. +* Updated help file re Delphi XE support. +* Some refactoring. +* Standardised bug-trap and assertion failure exception messages. ## Release v3.7.0 of 23 September 2010 -+ Added new "Help | CodeSnip News" menu option that displays latest news about CodeSnip and the online database in a dialogue box. The news comes from the CodeSnip RSS news feed. -+ Removed news pane from "Update from Web" dialogue box and replaced with button that displays new "CodeSnip News" dialogue box. -+ Removed mailing list subscription facility: - - Removed subscription dialogue box and associated menu option. - - Removed code that accessed mailing list web service. - - Removed subscription option from program registration dialogue box. -+ Fixed a memory leak. -+ Added code that downloads XML document and reads and parses RSS feeds. -+ Refactored and improved HTTP request handling code. -+ Some further refactoring. -+ Updated help file re changes in this release. -+ Updated privacy statement. - +* Added new "Help | CodeSnip News" menu option that displays latest news about CodeSnip and the online database in a dialogue box. The news comes from the CodeSnip RSS news feed. +* Removed news pane from "Update from Web" dialogue box and replaced with button that displays new "CodeSnip News" dialogue box. +* Removed mailing list subscription facility: + * Removed subscription dialogue box and associated menu option. + * Removed code that accessed mailing list web service. + * Removed subscription option from program registration dialogue box. +* Fixed a memory leak. +* Added code that downloads XML document and reads and parses RSS feeds. +* Refactored and improved HTTP request handling code. +* Some further refactoring. +* Updated help file re changes in this release. +* Updated privacy statement. ## Release v3.6.3 of 22 July 2010 -+ Completely overhauled code that interacts with web services. - - Character encodings are now correctly handled per information in HTTP header and several different encodings are supported. - - MD5 checksums in HTTP headers are now supported. -+ Updated and corrected the contents of the About Box's "About The Program" Tab. -+ Some refactorings, mainly to code that uses MD5 message digests. -+ Attempts to compile source with Delphi 2009 and earlier are now prevented. -+ Updated documentation. - +* Completely overhauled code that interacts with web services. + * Character encodings are now correctly handled per information in HTTP header and several different encodings are supported. + * MD5 checksums in HTTP headers are now supported. +* Updated and corrected the contents of the About Box's "About The Program" Tab. +* Some refactorings, mainly to code that uses MD5 message digests. +* Attempts to compile source with Delphi 2009 and earlier are now prevented. +* Updated documentation. ## Release v3.6.2 of 18 June 2010 -+ Fixed source code formatting problem in code generator where "forward" declarations were sometimes preceded with an unwanted blank line. -+ Fixed potential bug in code that parses mark-up used for a snippet's Extra information. Symbolic entities were not case sensitive. -+ Fixed a memory leak. -+ Some refactorings that increase use of generics and some others. -+ Read-me file updated re v3.6.1 password changes. - +* Fixed source code formatting problem in code generator where "forward" declarations were sometimes preceded with an unwanted blank line. +* Fixed potential bug in code that parses mark-up used for a snippet's Extra information. Symbolic entities were not case sensitive. +* Fixed a memory leak. +* Some refactorings that increase use of generics and some others. +* Read-me file updated re v3.6.1 password changes. ## Release v3.6.1 of 01 June 2010 -+ Proxy server passwords can now contain any Unicode character, not just those included in the Windows-1252 code page. -+ Password format in per user ini file changed. Existing passwords have to be re-entered. Ini file format updated to v7. -+ Installer updated: - - It deletes any passwords from v6 and earlier per user ini files. - - Per-user ini file now stamped as v7. -+ Some potential Unicode-ANSI string conversion problems fixed. -+ Updated documentation. - +* Proxy server passwords can now contain any Unicode character, not just those included in the Windows-1252 code page. +* Password format in per user ini file changed. Existing passwords have to be re-entered. Ini file format updated to v7. +* Installer updated: + * It deletes any passwords from v6 and earlier per user ini files. + * Per-user ini file now stamped as v7. +* Some potential Unicode-ANSI string conversion problems fixed. +* Updated documentation. ## Release v3.6.0 of 26 May 2010 -+ Added support for emitting compiler directives to switch off specified warnings. This implement feature request #2994485 ~~(see http://bit.ly/cxDJG4)~~. -+ Preferences dialogue box updated: - - New "Code Generation" tab used to configure which if any warnings are to be inhibited. - - Renamed "Source Code" tab to "Code Formatting". -+ Added new tab to About Box that displays and enables exploration of some key directories used by CodeSnip. -+ Snippets editor now displays row and column occupied by text cursor. -+ Per user ini file format changed. It now supports code generation preferences. Ini file version updated to v6. -+ Installer updated: - - Ini files are stamped with correct program and ini file version information. - - Older versions (v1..v5) of per-user ini file are updated with default code generation preferences. - - Per-user ini file now stamped as v6. -+ Fixed numerous memory leaks. -+ Fixed some other potential and unreported minor bugs. -+ Some refactoring. -+ Updated help file re changes. - +* Added support for emitting compiler directives to switch off specified warnings. This implement [SourceForge] feature request #2994485. +* Preferences dialogue box updated: + * New "Code Generation" tab used to configure which if any warnings are to be inhibited. + * Renamed "Source Code" tab to "Code Formatting". +* Added new tab to About Box that displays and enables exploration of some key directories used by CodeSnip. +* Snippets editor now displays row and column occupied by text cursor. +* Per user ini file format changed. It now supports code generation preferences. Ini file version updated to v6. +* Installer updated: + * Ini files are stamped with correct program and ini file version information. + * Older versions (v1..v5) of per-user ini file are updated with default code generation preferences. + * Per-user ini file now stamped as v6. +* Fixed numerous memory leaks. +* Fixed some other potential and unreported minor bugs. +* Some refactoring. +* Updated help file re changes. ## Release v3.5.5 of 24 March 2010 -+ Fixes download stream read bug #2976048 ~~(see http://bit.ly/ds6mBr)~~. - +* Fixes download stream read [SourceForge] bug #2976048. ## Release v3.5.4 of 18 March 2010 -+ Temporary fix for download error checking bug #2970055 ~~(see http://bit.ly/cvf9Mm)~~. -+ Fixed https protocol bug #2970896 ~~(see http://bit.ly/bCIx38)~~. - +* Temporary fix for download error checking [SourceForge] bug #2970055. +* Fixed https protocol [SourceForge] bug #2970896. ## Release v3.5.3 of 08 March 2010 -+ Fixed database download error checking bug #2964767 ~~(see http://bit.ly/90vFfp)~~. -+ Updated PayPal donations narrative on welcome page. - +* Fixed database download error checking [SourceForge] bug #2964767. +* Updated PayPal donations narrative on welcome page. ## Release v3.5.2 of 22 February 2010 -+ Changed database downloader to: - - Use web service's revised download file format - - Validate download data before updating local database. - - Provide better download error messages. -+ Fixed bug #2947794 in view link dialogue box ~~(see http://bit.ly/beiZZ8)~~. -+ Refactored some exception handling code. - +* Changed database downloader to: + * Use web service's revised download file format + * Validate download data before updating local database. + * Provide better download error messages. +* Fixed [SourceForge] bug #2947794 in view link dialogue box. +* Refactored some exception handling code. ## Release v3.5.1 of 09 February 2010 -+ New Unicode build of the program compiled with Delphi 2010. File I/O remains ANSI. -+ Windows NT is no longer supported. Windows 2000 is now the minimum OS. Set-up program changed to enforce this. -+ More rigorous enforcement of rules for REML tag attributes used in a snippet's Extra information. -+ Fixed a couple of minor UI problems in the Proxy Server and Trapped Bug Report dialogue boxes. -+ Minor changes to HTML and embedded browser code. -+ Some refactoring. -+ Updated documentation. - +* New Unicode build of the program compiled with Delphi 2010. File I/O remains ANSI. +* Windows NT is no longer supported. Windows 2000 is now the minimum OS. Set-up program changed to enforce this. +* More rigorous enforcement of rules for REML tag attributes used in a snippet's Extra information. +* Fixed a couple of minor UI problems in the Proxy Server and Trapped Bug Report dialogue boxes. +* Minor changes to HTML and embedded browser code. +* Some refactoring. +* Updated documentation. ## Release v3.5.0 of 16 January 2010 -+ Overview pane can now be configured using Preferences dialogue box to start up with all sections collapsed. -+ Reference to ability to donate by credit / debit card removed from Donate dialogue box: now PayPal only. -+ Help file updated re above changes. -+ Minor refactoring of code that provides information about and renders source code comments. - +* Overview pane can now be configured using Preferences dialogue box to start up with all sections collapsed. +* Reference to ability to donate by credit / debit card removed from Donate dialogue box: now PayPal only. +* Help file updated re above changes. +* Minor refactoring of code that provides information about and renders source code comments. ## Release v3.4.8 of 10 January 2010 -+ Made some changes to key presses responded to by overview pane and fixed bug where Alt+F4 was not closing program when pane had focus. -+ Made some changes to hints displayed when rolling over links in compiler check pane. Also removed pop-up windows describing compiler errors. -+ Updated help file: noted Delphi 2010 compiler support and added new information about overview pane keyboard short-cuts. - +* Made some changes to key presses responded to by overview pane and fixed bug where Alt+F4 was not closing program when pane had focus. +* Made some changes to hints displayed when rolling over links in compiler check pane. Also removed pop-up windows describing compiler errors. +* Updated help file: noted Delphi 2010 compiler support and added new information about overview pane keyboard short-cuts. ## Release v3.4.7 of 31 December 2009 -+ Added IE version number to OS information submitted when program is registered. -+ Program now displays "[localhost]" in main window caption when started with -localhost switch. -+ All text edit controls in snippets editor now have custom pop-up menus and short-cuts for "cut", "copy", "paste", "select all" and "undo" now work. -+ Refactored code that supports use of fonts. -+ Updated privacy statement re registration changes. - +* Added IE version number to OS information submitted when program is registered. +* Program now displays "[localhost]" in main window caption when started with -localhost switch. +* All text edit controls in snippets editor now have custom pop-up menus and short-cuts for "cut", "copy", "paste", "select all" and "undo" now work. +* Refactored code that supports use of fonts. +* Updated privacy statement re registration changes. ## Release v3.4.6 of 18 November 2009 -+ Changed code that takes a security backup of main database during updates to store backup in a single file rather as separate files in a temporary folder. This should fix bug #2898687 ~~(see http://bit.ly/bKg6oH)~~. -+ Slightly modified user database backup file format to match that now used for main database backup. -+ Fixed potential bugs: - - Code that performs busy waits could have caused program to freeze. - - Negative numbers written to backup files were not being written correctly. - - A garbled error message was corrected. - +* Changed code that takes a security backup of main database during updates to store backup in a single file rather as separate files in a temporary folder. This should fix [SourceForge] bug #2898687. +* Slightly modified user database backup file format to match that now used for main database backup. +* Fixed potential bugs: + * Code that performs busy waits could have caused program to freeze. + * Negative numbers written to backup files were not being written correctly. + * A garbled error message was corrected. ## Release v3.4.5 of 09 November 2009 -+ Home, Ctrl+Home, End and Ctrl+End keys now work in overview pane and go to first and last item in tree view respectively per feature request #2888880 ~~(see http://bit.ly/bgJCVU)~~. -+ State of tree view in overview pane is now maintained after editing the user database: the tree is no longer always fully expanded after each edit. -+ Removed "Properties" button from print dialogue box along with associated dialogue boxes. This option has always been buggy. This "fixes" bug #2868706 ~~(see http://bit.ly/9LArqI)~~. -+ Fixed unreported makefile bug. - +* Home, Ctrl+Home, End and Ctrl+End keys now work in overview pane and go to first and last item in tree view respectively per [SourceForge] feature request #2888880. +* State of tree view in overview pane is now maintained after editing the user database: the tree is no longer always fully expanded after each edit. +* Removed "Properties" button from print dialogue box along with associated dialogue boxes. This option has always been buggy. This "fixes" [SourceForge] bug #2868706. +* Fixed unreported makefile bug. ## Release v3.4.4 of 21 October 2009 -+ Changed bug reporting mechanism. Bugs are now reported via the on-line bug tracker. Bug report dialogues changed accordingly. Access to the old bug report web service was removed. -+ Added two new default syntax highlighter styles: "Visual Studio" and "No Highlighter". The latter switches off syntax highlighting. -+ Fixed bug no. 2882331 ~~(see http://bit.ly/beArcC)~~. This was a bug in the syntax highlighter that occurred when an unexpected character was encountered. -+ Updated help file re changes. -+ Some minor source code corrections. - +* Changed bug reporting mechanism. Bugs are now reported via the on-line bug tracker. Bug report dialogues changed accordingly. Access to the old bug report web service was removed. +* Added two new default syntax highlighter styles: "Visual Studio" and "No Highlighter". The latter switches off syntax highlighting. +* Fixed [SourceForge] bug #2882331. This was a bug in the syntax highlighter that occurred when an unexpected character was encountered. +* Updated help file re changes. +* Some minor source code corrections. ## Release v3.4.3 of 19 October 2009 -+ User's OS is now reported and recorded when program is registered. -+ Text displayed in preview dialogue boxes can now be scrolled horizontally. -+ Added support for building source against later releases of Indy 10 components. -+ Help file and privacy statement updated. -+ Further updated third party GIF image handling code to latest release. -+ Some changes to source code project options. - +* User's OS is now reported and recorded when program is registered. +* Text displayed in preview dialogue boxes can now be scrolled horizontally. +* Added support for building source against later releases of Indy 10 components. +* Help file and privacy statement updated. +* Further updated third party GIF image handling code to latest release. +* Some changes to source code project options. ## Release v3.4.2 of 10 October 2009 -+ Fixed bugs #2868706 ~~(see http://bit.ly/9LArqI)~~ and #2875857 ~~(see http://bit.ly/bN4xqE)~~ -+ Updated GIF image handling code. - +* Fixed [SourceForge] bugs #2868706 and #2875857. +* Updated GIF image handling code. ## Release v3.4.1 of 29 September 2009 -+ All dialogue boxes that request a user's name and / or email address now remember the information last entered, to save retyping the same data. -+ Changed to use Indy Internet Components v10 instead of v9 for net access. -+ Refactored: - - Code that stores information about a user. - - Code that gets details of system folders on local system and other file system related code. -+ Updated privacy statement (text file and in help file). - +* All dialogue boxes that request a user's name and / or email address now remember the information last entered, to save retyping the same data. +* Changed to use Indy Internet Components v10 instead of v9 for net access. +* Refactored: + * Code that stores information about a user. + * Code that gets details of system folders on local system and other file system related code. +* Updated privacy statement (text file and in help file). ## Release v3.4 of 24 September 2009 -+ Added support for Delphi 2010 to program. Can now test compile and display results with Delphi 2010. -+ Bug fixes: - - "Invalid cast" error that occasionally appears when a snippet is updated. - - Bug that kept backup files locked open after restoring a database backup. - - Current selection is now displayed in Alphabetic and Snippet Kind tabs of overview pane: previously all the database was shown, regardless of search. - +* Added support for Delphi 2010 to program. Can now test compile and display results with Delphi 2010. +* Bug fixes: + * "Invalid cast" error that occasionally appears when a snippet is updated. + * Bug that kept backup files locked open after restoring a database backup. + * Current selection is now displayed in Alphabetic and Snippet Kind tabs of overview pane: previously all the database was shown, regardless of search. ## Release v3.3 of 21 September 2009 -+ Added support for user defined categories which can now be added, renamed or deleted. -+ Made changes to snippets editor: - - On the "Compile Results" Tab, a single simplified list box is now used to both display and change compile results. This replaces two linked controls. - - The text case of a snippet name can now be changed without causing a duplicate name error. - - Some controls resized. -+ Fixed bug where attempting to overwrite files that are in use caused the bug report dialogue box to appear instead of simply reporting the problem. -+ Improved validity checking of snippets that are included in generated source code. -+ Help file updated. -+ Refactored: - - UI handling code in snippets editor. - - Some Snippets database and validation code. - +* Added support for user defined categories which can now be added, renamed or deleted. +* Made changes to snippets editor: + * On the "Compile Results" Tab, a single simplified list box is now used to both display and change compile results. This replaces two linked controls. + * The text case of a snippet name can now be changed without causing a duplicate name error. + * Some controls resized. +* Fixed bug where attempting to overwrite files that are in use caused the bug report dialogue box to appear instead of simply reporting the problem. +* Improved validity checking of snippets that are included in generated source code. +* Help file updated. +* Refactored: + * UI handling code in snippets editor. + * Some Snippets database and validation code. ## Release v3.2.3 of 14 September 2009 -+ Fixed bug in "update from web" dialogue box where most up to date news item was not being displayed. -+ Dialogue boxes that that enable selection of categories and snippets by means of tree views and associated check boxes now sort categories by description. -+ Categories and snippet kinds displayed in the snippets editor are now sorted by description. -+ Refactored: - - Code that displays tree views in overview pane and snippet selection dialogues. - - Some list management code. - - Some snippets editor code. - +* Fixed bug in "update from web" dialogue box where most up to date news item was not being displayed. +* Dialogue boxes that that enable selection of categories and snippets by means of tree views and associated check boxes now sort categories by description. +* Categories and snippet kinds displayed in the snippets editor are now sorted by description. +* Refactored: + * Code that displays tree views in overview pane and snippet selection dialogues. + * Some list management code. + * Some snippets editor code. ## Release v3.2.2 of 08 September 2009 -+ Fixed bug in check list boxes where moving selection using keyboard causes check state to be toggled. -+ Custom colours used in colour dialogue, on syntax highlighter page of preferences dialogue box, are now persistent. -+ Re-implemented code that displays pop-up menus in detail pane, and fixed a minor glitch as a side effect. -+ Simplified code that manages help system. -+ Refactored code that manages and customises common dialogues. - +* Fixed bug in check list boxes where moving selection using keyboard causes check state to be toggled. +* Custom colours used in colour dialogue, on syntax highlighter page of preferences dialogue box, are now persistent. +* Re-implemented code that displays pop-up menus in detail pane, and fixed a minor glitch as a side effect. +* Simplified code that manages help system. +* Refactored code that manages and customises common dialogues. ## Release v3.2.1 of 24 August 2009 -+ Appearance of comments that appear at the top of generated source code was changed. -+ Slightly modified "license" that appears at the top of some generated units. -+ Information about contributor of imported code is now appended to snippet's "extra" information. -+ Added a garbage collector. -+ Changed size of About box - now wider and credits scroll boxes are now taller. Added credit for encryption code. -+ Fixed minor bug that could display a JavaScript error dialogue if an exception occurred in an action initiated by clicking a link in the main display. -+ Numerous refactorings. - +* Appearance of comments that appear at the top of generated source code was changed. +* Slightly modified "license" that appears at the top of some generated units. +* Information about contributor of imported code is now appended to snippet's "extra" information. +* Added a garbage collector. +* Changed size of About box - now wider and credits scroll boxes are now taller. Added credit for encryption code. +* Fixed minor bug that could display a JavaScript error dialogue if an exception occurred in an action initiated by clicking a link in the main display. +* Numerous refactorings. ## Release v3.2 of 17 August 2009 -+ Added facility for CodeSnip to use a proxy server when accessing the Internet. -+ Provided a new dialogue box to configure any proxy server. -+ Updated help file re proxy server support and configuration. -+ UI is no longer frozen while web services are executing requests. "Update from Web" dialogue box changed to indicate if cancel button pressed when a web request is executing. -+ Product version reported in generated source code header comments, splash screen and about box now includes any special build information. -+ Some minor code tweaks and refactoring. - +* Added facility for CodeSnip to use a proxy server when accessing the Internet. +* Provided a new dialogue box to configure any proxy server. +* Updated help file re proxy server support and configuration. +* UI is no longer frozen while web services are executing requests. "Update from Web" dialogue box changed to indicate if cancel button pressed when a web request is executing. +* Product version reported in generated source code header comments, splash screen and about box now includes any special build information. +* Some minor code tweaks and refactoring. ## Release v3.1.1 of 15 August 2009 -+ Check list boxes throughout program changed so that clicking anywhere on an item toggles check state. -+ Button used to render and display extra information in snippets editor is now disabled when there is no extra information to display. -+ Made minor changes to layout of some dialogue boxes: replaced missing text in bug report dialogue box. -+ Some refactorings. - +* Check list boxes throughout program changed so that clicking anywhere on an item toggles check state. +* Button used to render and display extra information in snippets editor is now disabled when there is no extra information to display. +* Made minor changes to layout of some dialogue boxes: replaced missing text in bug report dialogue box. +* Some refactorings. ## Release v3.1 of 11 August 2009 -+ Added a button to the snippets editor to preview an HTML rendering of the mark-up entered as extra information. Includes facility to check any links in the mark-up. - +* Added a button to the snippets editor to preview an HTML rendering of the mark-up entered as extra information. Includes facility to check any links in the mark-up. ## Release v3.0.5 of 21 July 2009 -+ Default font is now dependent on underlying OS: Vista - Segoe UI, XP/2000 - Tahoma, NT - MS Sans Serif. -+ Some dialogues and splash screen modified to accommodate OS font, in particular larger Vista font. Some also given a light makeover. - +* Default font is now dependent on underlying OS: Vista - Segoe UI, XP/2000 - Tahoma, NT - MS Sans Serif. +* Some dialogues and splash screen modified to accommodate OS font, in particular larger Vista font. Some also given a light makeover. ## Release v3.0.4 of 13 July 2009 -+ Added a snippet's category description to main display and to snippet information copied to clipboard or printed. Category description in main display can be clicked to display the category. -+ Refactored code that displays clicked routines and code that displays a snippet for editing. - +* Added a snippet's category description to main display and to snippet information copied to clipboard or printed. Category description in main display can be clicked to display the category. +* Refactored code that displays clicked routines and code that displays a snippet for editing. ## Unreleased v3.0.3 of 12 July 2009 -+ Refactored code: - - Rationalised some JavaScript code. - - Rationalised some dialogue alignment code. - - Changed some object types and class hierarchies. - - Added some automatic object lifetime management logic. - - Removed some duplicate code and merged some units. -+ Fixed an obscure bug in category code snippet generation as a side effect of refactoring. - +* Refactored code: + * Rationalised some JavaScript code. + * Rationalised some dialogue alignment code. + * Changed some object types and class hierarchies. + * Added some automatic object lifetime management logic. + * Removed some duplicate code and merged some units. +* Fixed an obscure bug in category code snippet generation as a side effect of refactoring. ## Release v3.0.2 of 08 July 2009 -+ Fixed broken link to CodeSnip database in welcome page. -+ Fixed bug in selection search that was selecting both user defined and main database snippets with same name if only one was selected. -+ Fixed bug where units required by constants and type definitions were not being added to generated units. - +* Fixed broken link to CodeSnip database in welcome page. +* Fixed bug in selection search that was selecting both user defined and main database snippets with same name if only one was selected. +* Fixed bug where units required by constants and type definitions were not being added to generated units. ## Release v3.0.1 of 06 July 2009 -+ Added support for file:// protocol in links in a snippet's extra information. -+ Updated help file re changes to extra info. -+ Updated exported code and user database file formats to v4 to accommodate revised extra information, although we now save data in v3 format if possible. - +* Added support for file:// protocol in links in a snippet's extra information. +* Updated help file re changes to extra info. +* Updated exported code and user database file formats to v4 to accommodate revised extra information, although we now save data in v3 format if possible. ## Release v3.0 of 29 June 2009 -+ Added support for constants and type definition snippets: there are now four types of snippets - routines, constants, types and free-form (which don't conform to any format). Free-form snippets cannot be included in generated units. -+ Further formatting instructions added to the active text used in database's Extra information field. Also added a contributors field to database. -+ Three predefined syntax highlighters are now provided, with default changing to Delphi 2006 default style. Syntax highlighting used in main display is now customisable. Highlighter keyword list updated. -+ Main display changed: - - Test unit is no longer displayed in compiler check pane: it's now displayed in a dialogue box. - - Compiler check pane's font changed to true type, with face depending on OS. - - Information pane now hides compiler table when a free-form snippet is displayed. - - Compiler check pane now displays special "not available" pages when no compilers installed or a free-form snippet or a section header is selected. - - "Uncategorised" tab removed from overview pane and replaced with new "Alphabetical" tab that groups snippets by initial letter and "Snippet Kind" tab that groups snippets by kind. - - "Section" nodes in overview pane can now be expanded and collapsed: pane now has toolbar to perform these actions. - - "Edit snippet" links displayed in information pane are now also displayed in compiler check pane. - - Information about snippet type added to information pane. - - Context menu added to overview pane. - - Some changes to menu glyphs and short-cut keys. - - Welcome display modified and now has a link to the donate dialogue box. -+ Added option to copy an snippet's source code to clipboard in text and RTF formats. -+ Exporting and copying of snippets complete with descriptions and cross references is restricted to routines: not supported for free-form, types and constants. -+ Improved detection of invalid dependencies in snippets, including circular dependencies, and provided option to view all dependencies for any snippet from main window and snippets editor. -+ Revised content of many dialogue boxes etc to refer to "snippets" instead of "routines" where necessary. -+ Changed format and location of user-defined database and format of exported and submitted files. -+ Added new "Imported Snippets" category that receives imported routines: they were formerly imported into the "User Defined" category -+ Modified code that reads main database to deal with revised file format for new snippets types and introduction of pre-processor instructions to enable retrofitting of new snippets without breaking earlier versions of CodeSnip. -+ Changed name and location of user preference configuration file. -+ Revised external object that communicates with JavaScript in browser controls. -+ Updated program credits in about box, restyled and widened it. -+ Changed size of preferences dialogue box and revised syntax highlighter tab. -+ Changed captions in preview dialogue box. -+ Changed appearance of splash screen. -+ Modified snippets editor to work with new snippet types, improved error checking code and prevented test compilation of free-form snippets. -+ Speeded up loading of main database. -+ Added an Easter egg! -+ A few refactorings. -+ Fixed several bugs: - - Bug in backup files including database files larger than 32Kb was fixed. - - Bug in history list following editing user defined snippets fixed by clearing list after snippets have been edited. - - Imported user defined routines no longer forget any dependencies on main database snippets. - - Occasional bug in displaying test unit fixed by displaying test unit in dialogue box instead of main display. -+ Modified installer re new folder structure and copying over data from previous versions. -+ Revised help file to reflect changes. Added new main contents "chapter" about the various snippet types. - +* Added support for constants and type definition snippets: there are now four types of snippets - routines, constants, types and free-form (which don't conform to any format). Free-form snippets cannot be included in generated units. +* Further formatting instructions added to the active text used in database's Extra information field. Also added a contributors field to database. +* Three predefined syntax highlighters are now provided, with default changing to Delphi 2006 default style. Syntax highlighting used in main display is now customisable. Highlighter keyword list updated. +* Main display changed: + * Test unit is no longer displayed in compiler check pane: it's now displayed in a dialogue box. + * Compiler check pane's font changed to true type, with face depending on OS. + * Information pane now hides compiler table when a free-form snippet is displayed. + * Compiler check pane now displays special "not available" pages when no compilers installed or a free-form snippet or a section header is selected. + * "Uncategorised" tab removed from overview pane and replaced with new "Alphabetical" tab that groups snippets by initial letter and "Snippet Kind" tab that groups snippets by kind. + * "Section" nodes in overview pane can now be expanded and collapsed: pane now has toolbar to perform these actions. + * "Edit snippet" links displayed in information pane are now also displayed in compiler check pane. + * Information about snippet type added to information pane. + * Context menu added to overview pane. + * Some changes to menu glyphs and short-cut keys. + * Welcome display modified and now has a link to the donate dialogue box. +* Added option to copy an snippet's source code to clipboard in text and RTF formats. +* Exporting and copying of snippets complete with descriptions and cross references is restricted to routines: not supported for free-form, types and constants. +* Improved detection of invalid dependencies in snippets, including circular dependencies, and provided option to view all dependencies for any snippet from main window and snippets editor. +* Revised content of many dialogue boxes etc to refer to "snippets" instead of "routines" where necessary. +* Changed format and location of user-defined database and format of exported and submitted files. +* Added new "Imported Snippets" category that receives imported routines: they were formerly imported into the "User Defined" category +* Modified code that reads main database to deal with revised file format for new snippets types and introduction of pre-processor instructions to enable retrofitting of new snippets without breaking earlier versions of CodeSnip. +* Changed name and location of user preference configuration file. +* Revised external object that communicates with JavaScript in browser controls. +* Updated program credits in about box, restyled and widened it. +* Changed size of preferences dialogue box and revised syntax highlighter tab. +* Changed captions in preview dialogue box. +* Changed appearance of splash screen. +* Modified snippets editor to work with new snippet types, improved error checking code and prevented test compilation of free-form snippets. +* Speeded up loading of main database. +* Added an Easter egg! +* A few refactorings. +* Fixed several bugs: + * Bug in backup files including database files larger than 32Kb was fixed. + * Bug in history list following editing user defined snippets fixed by clearing list after snippets have been edited. + * Imported user defined routines no longer forget any dependencies on main database snippets. + * Occasional bug in displaying test unit fixed by displaying test unit in dialogue box instead of main display. +* Modified installer re new folder structure and copying over data from previous versions. +* Revised help file to reflect changes. Added new main contents "chapter" about the various snippet types. ## Unreleased v2.4.1 of 13 May 2009 -+ Refactored code that provides information about the program and web URLs and services it accesses. -+ Changed URL accessed by donations dialogue box. - +* Refactored code that provides information about the program and web URLs and services it accesses. +* Changed URL accessed by donations dialogue box. ## Release v2.4 of 11 May 2009 -+ Added donate menu option and dialogue that accesses a PayPal donation web page. -+ Removed support for the Windows 9x platform since CodeSnip now generates fatal errors on that platform: - - Removed Windows 9x specific code. - - Changed installer to prevent installation on Windows 9x. -+ Updated help file re changes. - +* Added donate menu option and dialogue that accesses a PayPal donation web page. +* Removed support for the Windows 9x platform since CodeSnip now generates fatal errors on that platform: + * Removed Windows 9x specific code. + * Changed installer to prevent installation on Windows 9x. +* Updated help file re changes. ## Release v2.3.7 of 26 April 2009 -+ Made user name and email address entered in Code Submission Wizard persistent on a per-user basis. -+ Updated Code Submission Wizard and Privacy Statement help topics re the changes. - +* Made user name and email address entered in Code Submission Wizard persistent on a per-user basis. +* Updated Code Submission Wizard and Privacy Statement help topics re the changes. ## Unreleased v2.3.6 of 26 January 2009 -+ Changed method that is used to get locale information to be compatible with Vista as well as earlier OSs. - +* Changed method that is used to get locale information to be compatible with Vista as well as earlier OSs. ## Release v2.3.5 of 25 January 2009 -+ Changed method used to generate HTML displayed in main program window to avoid dynamic updating of documents in attempt to counter a reported JavaScript bug. -+ Refactored generation of HTML tags in all parts of program that use HTML in display. -+ Corrected method naming error. - +* Changed method used to generate HTML displayed in main program window to avoid dynamic updating of documents in attempt to counter a reported JavaScript bug. +* Refactored generation of HTML tags in all parts of program that use HTML in display. +* Corrected method naming error. ## Unreleased v2.3.4 of 16 January 2009 -+ Copy Source Code menu item now places a copy of selected snippet on clipboard in syntax highlighted rich text in addition to plain text. -+ Updated help file accordingly. - +* Copy Source Code menu item now places a copy of selected snippet on clipboard in syntax highlighted rich text in addition to plain text. +* Updated help file accordingly. ## Unreleased v2.3.3 of 14 January 2009 -+ Browser controls and snippets tree-views are now selected when containing frame is entered. -+ Discrepancy in way highlighting works in snippets tree-views fixed. -+ "&" characters are now rendered correctly in TMessageBox dialogues. -+ Code that executes compilers now uses one thread instead of two. -+ Refactorings: - - Some constants relocated. - - Rationalised some routine and method calls. - - Replaced some control character literals with constants. - - Updated IntfUIHandlers unit with IE6/7 related constants. - +* Browser controls and snippets tree-views are now selected when containing frame is entered. +* Discrepancy in way highlighting works in snippets tree-views fixed. +* "&" characters are now rendered correctly in TMessageBox dialogues. +* Code that executes compilers now uses one thread instead of two. +* Refactorings: + * Some constants relocated. + * Rationalised some routine and method calls. + * Replaced some control character literals with constants. + * Updated IntfUIHandlers unit with IE6/7 related constants. ## Unreleased v2.3.2 of 10 January 2009 -+ Revised compilers object. Singleton instance removed. Local instances of object are created where needed. -+ Added new method to compiler objects to detect errors and warnings -+ Fixed incorrect caption in compiler error dialogue. -+ Added new object that manages test compilations, compiler set-up and viewing compile errors. Used by main form and snippets editor. -+ Added "View Compile Errors" menu option to Database menu. -+ Added Alt+V hot key to view compile errors in Snippets editor. -+ Updated help file for database menu to add "View Compile Errors" and missing entries for Submission, import and export of user database. - +* Revised compilers object. Singleton instance removed. Local instances of object are created where needed. +* Added new method to compiler objects to detect errors and warnings +* Fixed incorrect caption in compiler error dialogue. +* Added new object that manages test compilations, compiler set-up and viewing compile errors. Used by main form and snippets editor. +* Added "View Compile Errors" menu option to Database menu. +* Added Alt+V hot key to view compile errors in Snippets editor. +* Updated help file for database menu to add "View Compile Errors" and missing entries for Submission, import and export of user database. ## Unreleased v2.3.1 of 06 January 2009 -+ Fixed test compilation bug in snippets editor that could corrupt compiler errors or warnings displayed from main display. -+ Added support for tab switching in compiler errors dialogue box using Ctrl+Tab and Shift+Ctrl+Tab. - +* Fixed test compilation bug in snippets editor that could corrupt compiler errors or warnings displayed from main display. +* Added support for tab switching in compiler errors dialogue box using Ctrl+Tab and Shift+Ctrl+Tab. ## Release v2.3 of 05 January 2009 -+ Changed name of Copy Snippet menu item to Copy Source Code. -+ Added new Copy Information menu item to Copy menu - copies all snippet information to clipboard in text and RTF. -+ Added Save Database button to toolbar. -+ Changed status bar to display a count of user defined routines and an indicator that shows when user database has been modified. -+ Refactored and extended clipboard management code. -+ Added new buttons to selection search dialogue box to select user defined or main database routines. -+ Added facility to test compile routines to user defined snippets editor dialogue box. -+ Modified compiler errors dialogue box to be able to display results of compilation with more than one compiler. -+ Updated help file re changes. - +* Changed name of Copy Snippet menu item to Copy Source Code. +* Added new Copy Information menu item to Copy menu - copies all snippet information to clipboard in text and RTF. +* Added Save Database button to toolbar. +* Changed status bar to display a count of user defined routines and an indicator that shows when user database has been modified. +* Refactored and extended clipboard management code. +* Added new buttons to selection search dialogue box to select user defined or main database routines. +* Added facility to test compile routines to user defined snippets editor dialogue box. +* Modified compiler errors dialogue box to be able to display results of compilation with more than one compiler. +* Updated help file re changes. ## Release v2.2.5 of 31 December 2008 -+ Replaced routine's credits and comments properties with new Extra information property that can store formatted text. -+ Added parser for mark-up language used by new Extra property. -+ Modified snippets edit dialogue box to use new Extra property. -+ Changed main database, user database and export file format to support new Extra property. User database and export files generated by this version can't be read by earlier versions of the program. -+ Modified and refactored print document generation code to use new Extra property. -+ Refactored some HTML generation code. -+ Fixed a bug that occasionally causes a GPF when updating a user defined routine. -+ Removed redundant topic from help file. - +* Replaced routine's credits and comments properties with new Extra information property that can store formatted text. +* Added parser for mark-up language used by new Extra property. +* Modified snippets edit dialogue box to use new Extra property. +* Changed main database, user database and export file format to support new Extra property. User database and export files generated by this version can't be read by earlier versions of the program. +* Modified and refactored print document generation code to use new Extra property. +* Refactored some HTML generation code. +* Fixed a bug that occasionally causes a GPF when updating a user defined routine. +* Removed redundant topic from help file. ## Release v2.2.4 of 19 December 2008 -+ Fixed bug in text and RTF preview dialogue boxes that was setting margins incorrectly and clipping displayed text. - +* Fixed bug in text and RTF preview dialogue boxes that was setting margins incorrectly and clipping displayed text. ## Unreleased v2.2.3 of 17 December 2008 -+ Refactored code that handles XML files (user database and import / export). Pulled out common code and further extended XML document object. - +* Refactored code that handles XML files (user database and import / export). Pulled out common code and further extended XML document object. ## Unreleased v2.2.2 of 16 December 2008 -+ Added glyphs to printers in print dialogue box. -+ Various refactorings of print and highlighting related code. -+ Printing now uses user-defined highlighters. Current highlighting is now previewed in print preferences. -+ Bug fixes: - - Help button now displays in page set-up dialogue on Vista. - - Page set-up dialogue now makes use of custom margin settings. - +* Added glyphs to printers in print dialogue box. +* Various refactorings of print and highlighting related code. +* Printing now uses user-defined highlighters. Current highlighting is now previewed in print preferences. +* Bug fixes: + * Help button now displays in page set-up dialogue on Vista. + * Page set-up dialogue now makes use of custom margin settings. ## Unreleased v2.2.1 of 16 December 2008 -+ Several refactorings: - - Rationalised email validation code. - - Rationalised exceptions raised when validating entry into dialogue box. - - Rationalised code that momentarily pauses execution of a thread. - - Made wide use of extended TRect structure. - - Changed various loops to use enumerators. - - Removed some unused code. -+ Fixed minor bug in open and save dialogues that occasionally failed to detect existence of a file. - +* Several refactorings: + * Rationalised email validation code. + * Rationalised exceptions raised when validating entry into dialogue box. + * Rationalised code that momentarily pauses execution of a thread. + * Made wide use of extended TRect structure. + * Changed various loops to use enumerators. + * Removed some unused code. +* Fixed minor bug in open and save dialogues that occasionally failed to detect existence of a file. ## Unreleased v2.2 of 15 December 2008 -+ Added facility to submit user defined snippets via Internet for inclusion in main database. -+ Added facility to export user defined routines to file and to import exported files. -+ Made minor changes to wizard dialogue boxes. -+ Rewrote message dialogue box code. -+ Made minor changes to open and save dialogue boxes. -+ Updated help file for the new code import, export and submission features. - +* Added facility to submit user defined snippets via Internet for inclusion in main database. +* Added facility to export user defined routines to file and to import exported files. +* Made minor changes to wizard dialogue boxes. +* Rewrote message dialogue box code. +* Made minor changes to open and save dialogue boxes. +* Updated help file for the new code import, export and submission features. ## Release v2.1 of 11 October 2008 -+ Added support for Delphi 2009 Win 32 personality. -+ Added a button to set all compiler results to success to snippets edit dialogue box. -+ Refactored some code. -+ Updated help file re Delphi 2009 support. - +* Added support for Delphi 2009 Win 32 personality. +* Added a button to set all compiler results to success to snippets edit dialogue box. +* Refactored some code. +* Updated help file re Delphi 2009 support. ## Unreleased v2.0.7 of 05 October 2008 -+ Fixed residual bug in alt key bug work-around (CodeGear Quality Central bug report #374030). The bug was manifesting itself only for the first dialogue box displayed after the program started. - +* Fixed residual bug in alt key bug work-around (CodeGear Quality Central bug report #374030). The bug was manifesting itself only for the first dialogue box displayed after the program started. ## Unreleased v2.0.6 of 05 October 2008 -+ Refactoring: - - Added class methods to instantiate and use various classes that have only one public method to save caller having to create, execute and destroy object. Public constructors of these classes were changed to cause assertion failure if directly called. - - Made static classes derive from new base class that causes assertion failure if constructor called. - - Combined some action update handlers in main form. - - Updated assertions and raising of EBug exceptions to programatically get name of class triggering error. - - Made some class' protected and private sections strict. - +* Refactoring: + * Added class methods to instantiate and use various classes that have only one public method to save caller having to create, execute and destroy object. Public constructors of these classes were changed to cause assertion failure if directly called. + * Made static classes derive from new base class that causes assertion failure if constructor called. + * Combined some action update handlers in main form. + * Updated assertions and raising of EBug exceptions to programatically get name of class triggering error. + * Made some class' protected and private sections strict. ## Unreleased v2.0.5 of 03 October 2008 -+ Refactoring: changed custom save source dialogue to descend from extended save dialogue box. - +* Refactoring: changed custom save source dialogue to descend from extended save dialogue box. ## Release v2.0.4 of 21 September 2008 -+ Improved speed of looking up routines in database. -+ Prevented any user defined routine from referencing itself. -+ User defined routines now always reference routines from user database in preference to main database when there is a name conflict. - +* Improved speed of looking up routines in database. +* Prevented any user defined routine from referencing itself. +* User defined routines now always reference routines from user database in preference to main database when there is a name conflict. ## Unreleased v2.0.3 of 20 September 2008 -+ Fixed bug that caused an assertion failure when an attempt was made to display the Select Routines dialogue box when an empty category was present in database. - +* Fixed bug that caused an assertion failure when an attempt was made to display the Select Routines dialogue box when an empty category was present in database. ## Unreleased v2.0.2 of 19 September 2008 -+ Now gives option to save changed user defined database before updated main database. -+ When a routine is updated or deleted references to it in other routines are updated or removed. -+ Corrected reference in installer to menu item used to update database (this changed from v2). - +* Now gives option to save changed user defined database before updated main database. +* When a routine is updated or deleted references to it in other routines are updated or removed. +* Corrected reference in installer to menu item used to update database (this changed from v2). ## Release v2.0.1 of 18 September 2008 -+ Fixed bug that fails to load user database and deletes it if a category is added to main database during on-line update. -+ Fixed bug that ignores any user defined snippets that have same name as snippets in main database. -+ Ensured main form is disabled when database is loading. -+ Ensured splash form is hidden if an exception occurs while splash form is displayed. - +* Fixed bug that fails to load user database and deletes it if a category is added to main database during on-line update. +* Fixed bug that ignores any user defined snippets that have same name as snippets in main database. +* Ensured main form is disabled when database is loading. +* Ensured splash form is hidden if an exception occurs while splash form is displayed. ## Release v2.0 of 15 September 2008 -+ Added support for user defined snippets: - - User database can be edited, saved, backed-up and restored. - - User database can reference code in main database. - - Names of user defined snippets are coloured blue to distinguish them from main database. - - User database is stored as a mix of XML and source files in a sub-folder of the per-user application data folder. - - Queries can now be refreshed when content of user database changes. -+ Modified extended external object that communicates between browser controls and application. -+ Main database engine heavily modified. -+ Greater use of DHTML to manipulate main display. -+ Made browser pop-up menu display glyphs for items menu items that replicate links in browser control. -+ Modified welcome page to appear differently depending on state of main and user defined databases. -+ Disclaimers, copyright and other headers of saved, printed and copied documents changed. -+ Commenting of exported code changed slightly to allow for user snippets that may not support all commenting styles. -+ Fixed status bar display bug. -+ Category headers in overview pane are now in bold. -+ Added enumerators to several list objects to support for..in construct. -+ Tweaked exception handling. -+ Added support for converting GIF resources into bitmaps for use in image lists. -+ Changed URL used to access program's home page. -+ Updated help file to reflect changes. -+ Added credits for use of Anders Melander's GIFImage unit to about box. - +* Added support for user defined snippets: + * User database can be edited, saved, backed-up and restored. + * User database can reference code in main database. + * Names of user defined snippets are coloured blue to distinguish them from main database. + * User database is stored as a mix of XML and source files in a sub-folder of the per-user application data folder. + * Queries can now be refreshed when content of user database changes. +* Modified extended external object that communicates between browser controls and application. +* Main database engine heavily modified. +* Greater use of DHTML to manipulate main display. +* Made browser pop-up menu display glyphs for items menu items that replicate links in browser control. +* Modified welcome page to appear differently depending on state of main and user defined databases. +* Disclaimers, copyright and other headers of saved, printed and copied documents changed. +* Commenting of exported code changed slightly to allow for user snippets that may not support all commenting styles. +* Fixed status bar display bug. +* Category headers in overview pane are now in bold. +* Added enumerators to several list objects to support for..in construct. +* Tweaked exception handling. +* Added support for converting GIF resources into bitmaps for use in image lists. +* Changed URL used to access program's home page. +* Updated help file to reflect changes. +* Added credits for use of Anders Melander's GIFImage unit to about box. ## Release v1.9.4 of 01 September 2008 -+ Improved handling of errors encountered when running compilers. -+ Provided checks for invalid compiler executable files in Config Compilers dialogue box. -+ Added enumerator to Compilers object. -+ Made ECodeSnip exceptions and descendants clonable when copying between threads. - +* Improved handling of errors encountered when running compilers. +* Provided checks for invalid compiler executable files in Config Compilers dialogue box. +* Added enumerator to Compilers object. +* Made ECodeSnip exceptions and descendants clonable when copying between threads. ## Unreleased v1.9.3 of 24 August 2008 -+ Fixed bug in the database updater which could cause a deleted local file not to be noticed and not replaced. - +* Fixed bug in the database updater which could cause a deleted local file not to be noticed and not replaced. ## Unreleased v1.9.2 of 24 August 2008 -+ Changed method used to generate program key. No longer uses MAC Address, since code to find this fails on Windows Vista. -+ Refactored to remove knowledge of how contributor information and database are stored from TAppInfo class. -+ Revised code that manages contributors so that storage details are private to the classes. - +* Changed method used to generate program key. No longer uses MAC Address, since code to find this fails on Windows Vista. +* Refactored to remove knowledge of how contributor information and database are stored from TAppInfo class. +* Revised code that manages contributors so that storage details are private to the classes. ## Unreleased v1.9.1 of 24 August 2008 -+ Rebuilt CodeSnip and install helper program with Delphi 2006: -+ Modified CodeSnip source to compile without warnings. -+ Replaced deprecated library calls with alternatives. - +* Rebuilt CodeSnip and install helper program with Delphi 2006: +* Modified CodeSnip source to compile without warnings. +* Replaced deprecated library calls with alternatives. ## Release v1.9 of 14 August 2008 -+ Changed so that all user accounts use the same database rather than having their own copy. Database now stored in common application data folder, along with registration information. Per-user configuration information remains in per-user application data folder in renamed file. -+ Installer can now optionally preserve data stored in database and configuration file used by earlier versions of the program. This involves creating new configuration files and moving the database. -+ Updated help file re these changes. - +* Changed so that all user accounts use the same database rather than having their own copy. Database now stored in common application data folder, along with registration information. Per-user configuration information remains in per-user application data folder in renamed file. +* Installer can now optionally preserve data stored in database and configuration file used by earlier versions of the program. This involves creating new configuration files and moving the database. +* Updated help file re these changes. ## Unreleased v1.8.11 of 11 August 2008 -+ Removed duplicate compiler glyph resources and modified compiler handling code accordingly. - +* Removed duplicate compiler glyph resources and modified compiler handling code accordingly. ## Unreleased v1.8.10 of 11 August 2008 -+ Refactored various units to use extended theme support. -+ Fixed redraw bug in tree views that use check boxes: check boxes were redrawing in wrong state when themes changed. -+ Improved support for theme changes. Theme manager now gets notified of changes directly from Windows. -+ Suppressed unnecessary compiler warnings. - +* Refactored various units to use extended theme support. +* Fixed redraw bug in tree views that use check boxes: check boxes were redrawing in wrong state when themes changed. +* Improved support for theme changes. Theme manager now gets notified of changes directly from Windows. +* Suppressed unnecessary compiler warnings. ## Unreleased v1.8.9 of 10 August 2008 -+ Modified Select Compiler dialogue box (opened from Configure Compiler dialogue) and Choose Element Colour dialogue (opened from Preferences dialogue) to be aligned correctly over dialogues, work correctly with Vista task bar and support help keywords. -+ Select Compiler file open dialogue now defaults to display any current compiler executable. -+ Choose Element Colour dialogue box now uses UK English and has custom title. -+ Added help topics for Select Compiler and Choose Element Colour dialogues. - +* Modified Select Compiler dialogue box (opened from Configure Compiler dialogue) and Choose Element Colour dialogue (opened from Preferences dialogue) to be aligned correctly over dialogues, work correctly with Vista task bar and support help keywords. +* Select Compiler file open dialogue now defaults to display any current compiler executable. +* Choose Element Colour dialogue box now uses UK English and has custom title. +* Added help topics for Select Compiler and Choose Element Colour dialogues. ## Release v1.8.8 of 16 June 2008 -+ Changed to make application minimisation, task bar preview window, and appearance in "Flip 3D" task switching display correctly on Windows Vista. -+ Provided work-around for Delphi's Alt key bug on XP and Vista (CodeGear Quality Central bug report #374030). - +* Changed to make application minimisation, task bar preview window, and appearance in "Flip 3D" task switching display correctly on Windows Vista. +* Provided work-around for Delphi's Alt key bug on XP and Vista (CodeGear Quality Central bug report #374030). ## Unreleased v1.8.7 of 05 June 2008 -+ Made selected tabs in information and detail pane persistent. -+ Fixed bug in build script. - +* Made selected tabs in information and detail pane persistent. +* Fixed bug in build script. ## Unreleased v1.8.6 of 02 June 2008 -+ Fixed lock-up that could occur when displaying wait dialogue box while background tasks execute. Previous attempt to fix this problem failed. -+ Changed "marquee" that is displayed in wait dialogue box to appear correctly on Vista. - +* Fixed lock-up that could occur when displaying wait dialogue box while background tasks execute. Previous attempt to fix this problem failed. +* Changed "marquee" that is displayed in wait dialogue box to appear correctly on Vista. ## Release v1.8.5 of 30 May 2008 -+ Fixed bug that was causing Save Snippet and Save Unit dialogue boxes to ignore file type +* Fixed bug that was causing Save Snippet and Save Unit dialogue boxes to ignore file type selected by user, always outputting default file type. -+ Deleted some unused source code. -+ Removed option to install a desktop icon from installer. Also refactored install script to conform to current Inno Setup standards. - +* Deleted some unused source code. +* Removed option to install a desktop icon from installer. Also refactored install script to conform to current Inno Setup standards. ## Release v1.8.4 of 22 April 2008 -+ Added manifest resource to ensure compatibility with Windows Vista and to use Vista themes. -+ Fixed border problem in web update dialogue box and about box when displayed under Vista / IE7 browser control. -+ Prevented selection of text in previews displayed in preferences dialogue box. -+ Updated set-up script to use macros. -+ Modified Build batch file to work with Windows SDK 2008. - +* Added manifest resource to ensure compatibility with Windows Vista and to use Vista themes. +* Fixed border problem in web update dialogue box and about box when displayed under Vista / IE7 browser control. +* Prevented selection of text in previews displayed in preferences dialogue box. +* Updated set-up script to use macros. +* Modified Build batch file to work with Windows SDK 2008. ## Unreleased v1.8.3 of 05 November 2007 -+ Refactored dynamic CSS generation code. - +* Refactored dynamic CSS generation code. ## Unreleased v1.8.2 of 04 November 2007 -+ Refactored assignable interfaced objects. - +* Refactored assignable interfaced objects. ## Release v1.8.1 of 04 November 2007 -+ Made changes to browser control and URL handling. - +* Made changes to browser control and URL handling. ## Unreleased v1.8 of 04 November 2007 -+ Added pop-up context menus to main display's detail pane. - +* Added pop-up context menus to main display's detail pane. ## Unreleased v1.7.7 of 29 October 2007 -+ Modified code of compiler wait dialogue box and splash screen to try to prevent bug that occasionally prevent the dialogue from closing, locking up application. - +* Modified code of compiler wait dialogue box and splash screen to try to prevent bug that occasionally prevent the dialogue from closing, locking up application. ## Unreleased v1.7.6 of 18 October 2007 -+ Shift-clicking links in the main display and some dialogue boxes was starting Internet Explorer. Fixed so that Internet Explorer is no longer started and shift-clicking external links now starts default browser. - +* Shift-clicking links in the main display and some dialogue boxes was starting Internet Explorer. Fixed so that Internet Explorer is no longer started and shift-clicking external links now starts default browser. ## Unreleased v1.7.5 of 17 October 2007 -+ Modified Preferences dialogue box: - - Refactored code that displays measurement units. - - Preview on Source Code tab now takes on appearance of source code highlighter defined on Syntax Highlighter tab. -+ Changed format of ini file that stores persistent settings so that source code highlighter preferences are now stored in Prefs section of ini file rather than own section. -+ Customised installer to update existing ini files to revised version. - +* Modified Preferences dialogue box: + * Refactored code that displays measurement units. + * Preview on Source Code tab now takes on appearance of source code highlighter defined on Syntax Highlighter tab. +* Changed format of ini file that stores persistent settings so that source code highlighter preferences are now stored in Prefs section of ini file rather than own section. +* Customised installer to update existing ini files to revised version. ## Release v1.7.4 of 14 October 2007 -+ Fixed display bug when selecting routines following a text search. -+ Improved text search algorithm to permit search strings containing punctuation characters. -+ Fixed typo in the "About The Database" section of the About box. - +* Fixed display bug when selecting routines following a text search. +* Improved text search algorithm to permit search strings containing punctuation characters. +* Fixed typo in the "About The Database" section of the About box. ## Release v1.7.3 of 27 September 2007 -+ Improved alignment of dialogue boxes and splash screen over owning forms. Alignment code substantially refactored. -+ Added support for multiple monitors. - +* Improved alignment of dialogue boxes and splash screen over owning forms. Alignment code substantially refactored. +* Added support for multiple monitors. ## Release v1.7.2 of 24 September 2007 -+ Fixed bug that was preventing wait dialogue box from displaying during long compilations. - +* Fixed bug that was preventing wait dialogue box from displaying during long compilations. ## Unreleased v1.7.1 of 22 September 2007 -+ Added list of testers to credits section of Database tab in About box. -+ Added new help menu item that displays privacy statement. -+ Rearranged help menu items. -+ Updated help file re changes to help menu. - +* Added list of testers to credits section of Database tab in About box. +* Added new help menu item that displays privacy statement. +* Rearranged help menu items. +* Updated help file re changes to help menu. ## Release v1.7 of 08 September 2007 -+ Added new facility to print information about selected routines, with page set-up and printer configuration. -+ Added new "general" tab (sets default measurement units) and "printing" tab (to set printing defaults) to preferences dialogue box. -+ Changed format of ini file that stores persistent settings. -+ Updated help file to reflect changes. -+ Customised installer to update existing ini files to revised version. - +* Added new facility to print information about selected routines, with page set-up and printer configuration. +* Added new "general" tab (sets default measurement units) and "printing" tab (to set printing defaults) to preferences dialogue box. +* Changed format of ini file that stores persistent settings. +* Updated help file to reflect changes. +* Customised installer to update existing ini files to revised version. ## Unreleased v1.6.4 of 02 July 2007 -+ Corrected typos in generated source code header comments. -+ Added support for embedding titles in generated documents where document supports title meta data. -+ Added suggested file name to save unit and save snippets dialogue boxes. -+ Refactored code in syntax highlighter that generates XHTML. - +* Corrected typos in generated source code header comments. +* Added support for embedding titles in generated documents where document supports title meta data. +* Added suggested file name to save unit and save snippets dialogue boxes. +* Refactored code in syntax highlighter that generates XHTML. ## Unreleased v1.6.3 of 13 May 2007 -+ Added support for selecting and copying text displayed in preview dialogue. -+ Changed so that each document type displayed in preview dialogue box has same margins. -+ Updated help file re changes to preview dialogue box. - +* Added support for selecting and copying text displayed in preview dialogue. +* Changed so that each document type displayed in preview dialogue box has same margins. +* Updated help file re changes to preview dialogue box. ## Unreleased v1.6.2 of 12 May 2007 -+ Updated to use revised news data format provided by web service. -+ Update from Web dialogue box now displays number of news items along with page number of currently displayed item. - +* Updated to use revised news data format provided by web service. +* Update from Web dialogue box now displays number of news items along with page number of currently displayed item. ## Release v1.6.1 of 09 May 2007 -+ Fixed bug that allowed user to select a different routine while compiling another causing display to get out sync. - +* Fixed bug that allowed user to select a different routine while compiling another causing display to get out sync. ## Release v1.6 of 08 May 2007 -+ Added support for Delphi 2007 compiler. -+ Updated help file re new compiler support. - +* Added support for Delphi 2007 compiler. +* Updated help file re new compiler support. ## Release v1.5.13 of 04 March 2007 -+ Fixed bug from v1.5.11 where Tools | Register CodeSnip and View | Show/Hide Test Unit menu options were permanently disabled. -+ Fixed bug from v1.5.9 where showing and hiding test units from menus was out of sync with links in compiler check pane. - +* Fixed bug from v1.5.11 where Tools | Register CodeSnip and View | Show/Hide Test Unit menu options were permanently disabled. +* Fixed bug from v1.5.9 where showing and hiding test units from menus was out of sync with links in compiler check pane. ## Release v1.5.12 of 01 March 2007 -+ Made long operations (loading database and compiling test units) execute in threads. -+ Changed to display wait dialogue while updated database is being loaded. -+ Made progress meters displayed in wait dialogues update more smoothly. - +* Made long operations (loading database and compiling test units) execute in threads. +* Changed to display wait dialogue while updated database is being loaded. +* Made progress meters displayed in wait dialogues update more smoothly. ## Release v1.5.11 of 25 February 2007 -+ Added splash screen displayed when program is loading. -+ Main window, menu and toolbar is now disabled when program is initialising and when updated database is loading. -+ Program window is now centred on screen first time it is run and program is now never started minimized. - +* Added splash screen displayed when program is loading. +* Main window, menu and toolbar is now disabled when program is initialising and when updated database is loading. +* Program window is now centred on screen first time it is run and program is now never started minimized. ## Unreleased v1.5.10 of 17 February 2007 -+ Refactored code that handles web browser controls. Moved various pieces of code that manipulates and queries browser controls into central UI and IO manager classes. Also added helper classes to manipulate HTML documents and browser controls. -+ Some code made redundant by above changes was removed. -+ Lightened and centralised colours used to highlight text search results. - +* Refactored code that handles web browser controls. Moved various pieces of code that manipulates and queries browser controls into central UI and IO manager classes. Also added helper classes to manipulate HTML documents and browser controls. +* Some code made redundant by above changes was removed. +* Lightened and centralised colours used to highlight text search results. ## Unreleased v1.5.9 of 16 February 2007 -+ Refactoring update. Revised code that manages the main display, i.e overview and details panes. - +* Refactoring update. Revised code that manages the main display, i.e overview and details panes. ## Release v1.5.8 of 16 February 2007 -+ Fixed bug in view history where selecting an item from the history list could cause a crash after database has been updated. This was fixed by clearing the history list after updating the database. -+ Now clears the main display before re-displaying an updated database to prevent an item from the old version of the database being selected. - +* Fixed bug in view history where selecting an item from the history list could cause a crash after database has been updated. This was fixed by clearing the history list after updating the database. +* Now clears the main display before re-displaying an updated database to prevent an item from the old version of the database being selected. ## Unreleased v1.5.7 of 12 February 2007 -+ Refactored, relocated and extended use of some utility routines, resulting in some other minor changes: - - All error and information message boxes now have properly terminated sentences. - - Generated XHTML less likely to contain illegal characters. - +* Refactored, relocated and extended use of some utility routines, resulting in some other minor changes: + * All error and information message boxes now have properly terminated sentences. + * Generated XHTML less likely to contain illegal characters. ## Unreleased v1.5.6 of 11 February 2007 -+ Modified about dialogue box to display information about the Code Snippets Database in addition to the program. The two kinds of information are displayed in two tabs. -+ Added code to get list of database contributors from a file downloaded with database updates. - +* Modified about dialogue box to display information about the Code Snippets Database in addition to the program. The two kinds of information are displayed in two tabs. +* Added code to get list of database contributors from a file downloaded with database updates. ## Unreleased v1.5.5 of 11 February 2007 -+ Made keyboard interaction with application more consistent: - - Made browser controls activate and focus properly when user tabs into them. - - Fixed tab order problems in main display and about dialogue box so that only controls that may need to receive user input are now activated by tabbing. - - Links displayed in browser controls are always now included in tab sequence and can be activated by Ctrl+Return when focused. - - Fixed inconsistency in tab sets in overview and details pane responded inconsistently to Ctrl+Tab and Shift+Ctrl+Tab. -+ Changed browser control respond to activation via the mouse to be the same as for the keyboard. - +* Made keyboard interaction with application more consistent: + * Made browser controls activate and focus properly when user tabs into them. + * Fixed tab order problems in main display and about dialogue box so that only controls that may need to receive user input are now activated by tabbing. + * Links displayed in browser controls are always now included in tab sequence and can be activated by Ctrl+Return when focused. + * Fixed inconsistency in tab sets in overview and details pane responded inconsistently to Ctrl+Tab and Shift+Ctrl+Tab. +* Changed browser control respond to activation via the mouse to be the same as for the keyboard. ## Release v1.5.4 of 09 February 2007 -+ Added disclaimers re database code to generated units and snippets and to program's welcome page. -+ Made slight modifications to source code generation code. +* Added disclaimers re database code to generated units and snippets and to program's welcome page. +* Made slight modifications to source code generation code. ## Release v1.5.3 of 08 February 2007 -+ Refactored and rationalised code in main form and moved some code into help classes. -+ Revised code that performs customisation, auto-sizing and alignment of forms and dialogue boxes. -+ Standardised execution method of dialogue boxes. - +* Refactored and rationalised code in main form and moved some code into help classes. +* Revised code that performs customisation, auto-sizing and alignment of forms and dialogue boxes. +* Standardised execution method of dialogue boxes. ## Unreleased v1.5.2 of 04 February 2007 -+ Refactored help manager system to make it easier to swap in new help systems in future. -+ Modified help handlers in forms to remove redundant code. -+ Modified how help menu items call help topics. - +* Refactored help manager system to make it easier to swap in new help systems in future. +* Modified help handlers in forms to remove redundant code. +* Modified how help menu items call help topics. ## Unreleased v1.5.1 of 04 February 2007 -+ Refactored handling of database searches by creating new global query object to store information about current query on database. -+ Changed relevant code to use the new object and deleted resulting redundant code. -+ Made some other minor code improvements and modifications. - +* Refactored handling of database searches by creating new global query object to store information about current query on database. +* Changed relevant code to use the new object and deleted resulting redundant code. +* Made some other minor code improvements and modifications. ## Unreleased v1.5 of 03 February 2007 -+ Made status bar display database and search information along with other prompts in addition to displaying hints. - +* Made status bar display database and search information along with other prompts in addition to displaying hints. ## Unreleased v1.4.6 of 17 December 2006 -+ Made minor changes to appearance: - - Changed some colours to system colours from hard-wired colours. - - Changed help links in main display from blue to green. - - Removed text highlighting from welcome page. - +* Made minor changes to appearance: + * Changed some colours to system colours from hard-wired colours. + * Changed help links in main display from blue to green. + * Removed text highlighting from welcome page. ## Unreleased v1.4.5 of 04 December 2006 -+ Refactored code that generates test units. As a consequence names of test units displayed in Compiler Check pane have been corrected to the actual names used in test compilations. - +* Refactored code that generates test units. As a consequence names of test units displayed in Compiler Check pane have been corrected to the actual names used in test compilations. ## Release v1.4.4 of 04 December 2006 -+ Added new menu item to View menu that toggles visibility of test units in the compiler check tab. -+ Changed glyph used for link that performs same action in compiler check tab and made image change depending on visibility of test unit. - +* Added new menu item to View menu that toggles visibility of test units in the compiler check tab. +* Changed glyph used for link that performs same action in compiler check tab and made image change depending on visibility of test unit. ## Unreleased v1.4.3 of 03 December 2006 -+ Changed information pane to load routines dynamically via DHTML rather than reloading document each time. -+ Refactored DHTML code and detail frames that support DHTML. -+ Refactored routine HTML generation code. -+ Rationalised some dynamic CSS generating code. -+ Revised information pane's underlying HTML code. - +* Changed information pane to load routines dynamically via DHTML rather than reloading document each time. +* Refactored DHTML code and detail frames that support DHTML. +* Refactored routine HTML generation code. +* Rationalised some dynamic CSS generating code. +* Revised information pane's underlying HTML code. ## Unreleased v1.4.2 of 03 December 2006 -+ Corrected alignment of About and Compiler Errors dialogue boxes over main form. - +* Corrected alignment of About and Compiler Errors dialogue boxes over main form. ## Unreleased v1.4.1 of 03 December 2006 -+ Fixed bug where Test Compile menu option and tool button were always enabled and could cause an assertion failure when no routine was selected or no compilers were available. - +* Fixed bug where Test Compile menu option and tool button were always enabled and could cause an assertion failure when no routine was selected or no compilers were available. ## Unreleased v1.4 of 03 December 2006 -+ Revised display in compiler check pane. Now lists database and test results side by side. -+ Changed routine compiler check page to be updated dynamically (using JavaScript) when routine selection changes rather than always reloading page. -+ Modified some JavaScript support code. -+ Fixed potential bug in compiler code. -+ Updated help file re changes to Compiler Check tab. -+ Fixed a typo and index error in help file. - +* Revised display in compiler check pane. Now lists database and test results side by side. +* Changed routine compiler check page to be updated dynamically (using JavaScript) when routine selection changes rather than always reloading page. +* Modified some JavaScript support code. +* Fixed potential bug in compiler code. +* Updated help file re changes to Compiler Check tab. +* Fixed a typo and index error in help file. ## Unreleased v1.3.5 of 01 December 2006 -+ Changed to display a border-less message dialogue during long test compilations. The dialogue is not displayed for shorter compilations. -+ Updated help file re above and fixed an error in the search menu topic. - +* Changed to display a border-less message dialogue during long test compilations. The dialogue is not displayed for shorter compilations. +* Updated help file re above and fixed an error in the search menu topic. ## Unreleased v1.3.4 of 26 November 2006 -+ Refactored JavaScript used to interface between main program and HTML display. -+ Centralised generation of JavaScript in main code. - +* Refactored JavaScript used to interface between main program and HTML display. +* Centralised generation of JavaScript in main code. ## Unreleased v1.3.3 of 25 November 2006 -+ Refactored handling of CSS and XHTML: - - Changed way CSS is provided to enable use of system font and colours. - - Tidied source HTML documents to remove illegal XHTML strict attributes and to remove hard-wired colours. - +* Refactored handling of CSS and XHTML: + * Changed way CSS is provided to enable use of system font and colours. + * Tidied source HTML documents to remove illegal XHTML strict attributes and to remove hard-wired colours. ## Release v1.3.2 of 24 November 2006 -+ Made program remember whether test units are displayed or hidden until end of session. - +* Made program remember whether test units are displayed or hidden until end of session. ## Unreleased v1.3.1 of 21 November 2006 -+ Made minor modification to appearance of Configure Compilers dialogue box. - +* Made minor modification to appearance of Configure Compilers dialogue box. ## Unreleased v1.3 of 18 November 2006 -+ Added facility to sign up to CodeSnip mailing list on-line. -+ Corrected further typos in registration wizard. -+ Updated help file re mailing list sign-up, changed privacy statement and added license to contents page. - +* Added facility to sign up to CodeSnip mailing list on-line. +* Corrected further typos in registration wizard. +* Updated help file re mailing list sign-up, changed privacy statement and added license to contents page. ## Release v1.2.5 of 16 November 2006 -+ Corrected and modified text displayed on last page of Registration Wizard when user elects to join mailing list. - +* Corrected and modified text displayed on last page of Registration Wizard when user elects to join mailing list. ## Unreleased v1.2.4 of 14 November 2006 -+ Changed about box and help menu to display end user license agreement in help file rather than separate text file. -+ Added license topic and made related changes to help file. - +* Changed about box and help menu to display end user license agreement in help file rather than separate text file. +* Added license topic and made related changes to help file. ## Unreleased v1.2.3 of 12 November 2006 -+ Fixed incorrect glyph used for Show All search menu item and tool button. -+ Moved Tools | Preferences menu option to top of Tools menu. - +* Fixed incorrect glyph used for Show All search menu item and tool button. +* Moved Tools | Preferences menu option to top of Tools menu. ## Unreleased v1.2.2 of 12 November 2006 -+ Added hot tracking to tree view check boxes used in Select Routines dialogue box when Windows XP themes are enabled. - +* Added hot tracking to tree view check boxes used in Select Routines dialogue box when Windows XP themes are enabled. ## Unreleased v1.2.1 of 11 November 2006 -+ Refactoring release: - - Method used to construct and use help file changed. - - Moved code that detects HTML and RTF files to appropriate utility units. - - Streamlined code in preview dialogue box. - +* Refactoring release: + * Method used to construct and use help file changed. + * Moved code that detects HTML and RTF files to appropriate utility units. + * Streamlined code in preview dialogue box. ## Release v1.2 of 11 November 2006 -+ Changed syntax highlighter used to format units and code snippets to be able to read custom settings from persistent storage. -+ Added Syntax Highlighter tab to preferences dialogue box to enable users to customise the font, style and colours used by the syntax highlighter. -+ Modified preferences dialogue box's Source Code tab to display a preview of routines using various comment styles. -+ Updated help file re revised preferences dialogue box. - +* Changed syntax highlighter used to format units and code snippets to be able to read custom settings from persistent storage. +* Added Syntax Highlighter tab to preferences dialogue box to enable users to customise the font, style and colours used by the syntax highlighter. +* Modified preferences dialogue box's Source Code tab to display a preview of routines using various comment styles. +* Updated help file re revised preferences dialogue box. ## Unreleased v1.1.2 of 07 November 2006 -+ Refactoring release: - - Added code to generate CSS properties. - - Added new classes to generate RTF code. - - Re-implemented RTF highlighted code. -+ Now generates much smaller RTF export files. - +* Refactoring release: + * Added code to generate CSS properties. + * Added new classes to generate RTF code. + * Re-implemented RTF highlighted code. +* Now generates much smaller RTF export files. ## Unreleased v1.1.1 of 31 October 2006 -+ Changed Select Routines dialogue to use XP style check boxes when XP themes active and custom check boxes when XP themes inactive. - +* Changed Select Routines dialogue to use XP style check boxes when XP themes active and custom check boxes when XP themes inactive. ## Release v1.1 of 30 October 2006 -+ Added ability to generate and save whole Pascal unit containing currently selected routines. -+ Added new search that can find all routines cross-referenced by a given routine. -+ Added ability to manually select routines that are displayed in overview pane. -+ Added short-cut key and changed glyph for File | Save Snippet option / tool button. -+ Updated way source code preferences are stored. Broke backwards compatibility with previous storage method, so upgraders may loose settings. -+ Made minor changes to preferences dialogue box. -+ Word-wrapped long uses lists in generated units. -+ Refactored code that determines type of exported files. -+ Refactored and expanded code that deals with source code exporting. -+ Fixed some minor bugs: - - Previews of large rich text documents were displaying RTF source instead of rendering document. - - Assertion failure could (rarely) happen when displaying message boxes without specifying parent form. - - Saving snippets in a file without supplying a file extension could silently overwrite existing files. - - Comment style was being ignored when generating a unit. -+ Updated help file: - - Added new topics, index entries and TOC entries for new features. - - Updated some existing topics to refer to new features. - - Revised and corrected several existing help topics. - +* Added ability to generate and save whole Pascal unit containing currently selected routines. +* Added new search that can find all routines cross-referenced by a given routine. +* Added ability to manually select routines that are displayed in overview pane. +* Added short-cut key and changed glyph for File | Save Snippet option / tool button. +* Updated way source code preferences are stored. Broke backwards compatibility with previous storage method, so upgraders may loose settings. +* Made minor changes to preferences dialogue box. +* Word-wrapped long uses lists in generated units. +* Refactored code that determines type of exported files. +* Refactored and expanded code that deals with source code exporting. +* Fixed some minor bugs: + * Previews of large rich text documents were displaying RTF source instead of rendering document. + * Assertion failure could (rarely) happen when displaying message boxes without specifying parent form. + * Saving snippets in a file without supplying a file extension could silently overwrite existing files. + * Comment style was being ignored when generating a unit. +* Updated help file: + * Added new topics, index entries and TOC entries for new features. + * Updated some existing topics to refer to new features. + * Revised and corrected several existing help topics. ## Unreleased v1.0.3 of 26 October 2006 -+ Refactored various parts of source code. No changes to program's functionality. Details are: - - Standardised all singleton objects on interface based implementation. - - Centralised code that gets location of license file. - - Standardised links that trigger JavaScript in some HTML resources. - - Changed bug report dialogue box to descend from common wizard dialogue box. - +* Refactored various parts of source code. No changes to program's functionality. Details are: + * Standardised all singleton objects on interface based implementation. + * Centralised code that gets location of license file. + * Standardised links that trigger JavaScript in some HTML resources. + * Changed bug report dialogue box to descend from common wizard dialogue box. ## Release v1.0.2 of 25 October 2006 -+ Changed so that links from program to external web pages display in default browser rather than IE. -+ Refactored code that displays license text file in external application. -+ Reworded some of welcome screen and added links to on-line database. -+ Refactored some JavaScript code that works with main display HTML and web browser code. -+ Made minor changes to hints displayed in status bar when cursor is over links. - +* Changed so that links from program to external web pages display in default browser rather than IE. +* Refactored code that displays license text file in external application. +* Reworded some of welcome screen and added links to on-line database. +* Refactored some JavaScript code that works with main display HTML and web browser code. +* Made minor changes to hints displayed in status bar when cursor is over links. ## Release v1.0.1 of 14 October 2006 -+ Fixed problem in web update that caused program to crash on Windows 9x platforms. - +* Fixed problem in web update that caused program to crash on Windows 9x platforms. ## Release v1.0 of 09 June 2006 -+ Revised About Box text and appearance and added link that displays license file. -+ Refactored and renamed some code. -+ Made minor changes to appearance and effect of Configure Compilers dialogue box. -+ Fixed potential bug displaying JavaScript error dialogue if help called from links in main display fail. -+ Made some literal strings resource strings. -+ Made calls to help system fail gracefully on machines without HTML Help installed. -+ Modified code that reads program's version information. -+ Added important compiler directives. -+ Standardised appearance of all groups of action links in main display. -+ Added Help menu item to display license and to access CodeSnip web page. -+ Moved bug report and registration menu options from Help to Tools menu. -+ Updated and help file re new commands, corrected some errors and re-styled menu help sections. -+ Created installer using Inno Setup. -+ Added new batch file to build program. -+ Fully commented code. -+ Changed to new end user license agreement for the executable program. The program remains open source. - +* Revised About Box text and appearance and added link that displays license file. +* Refactored and renamed some code. +* Made minor changes to appearance and effect of Configure Compilers dialogue box. +* Fixed potential bug displaying JavaScript error dialogue if help called from links in main display fail. +* Made some literal strings resource strings. +* Made calls to help system fail gracefully on machines without HTML Help installed. +* Modified code that reads program's version information. +* Added important compiler directives. +* Standardised appearance of all groups of action links in main display. +* Added Help menu item to display license and to access CodeSnip web page. +* Moved bug report and registration menu options from Help to Tools menu. +* Updated and help file re new commands, corrected some errors and re-styled menu help sections. +* Created installer using Inno Setup. +* Added new batch file to build program. +* Fully commented code. +* Changed to new end user license agreement for the executable program. The program remains open source. ## Release v1.0 RC 3 of 01 May 2006 -_Internal CodeSnip version 0.12.0_ - -+ 3rd release candidate for the v1.0 release. -+ Updated to use v4 of update web service that uses completely new update protocol. Significant changes to code were needed to achieve this. -+ Redesigned update dialogue box accordingly. -+ Added ability to update dialogue to display latest CodeSnip news delivered as part update process. -+ Updated help file re changes to update dialogue box. +Internal CodeSnip version 0.12.0 +* 3rd release candidate for the v1.0 release. +* Updated to use v4 of update web service that uses completely new update protocol. Significant changes to code were needed to achieve this. +* Redesigned update dialogue box accordingly. +* Added ability to update dialogue to display latest CodeSnip news delivered as part update process. +* Updated help file re changes to update dialogue box. ## Release v1.0 RC 2 of 16 April 2006 -_Internal CodeSnip version 0.11.3_ - -+ 2nd release candidate for the v1.0 release. -+ Fixed bug where user could drag and drop files onto web browser controls and file contents would overwrite the display. +Internal CodeSnip version 0.11.3 +* 2nd release candidate for the v1.0 release. +* Fixed bug where user could drag and drop files onto web browser controls and file contents would overwrite the display. ## Release v1.0 RC 1 of 11 April 2006 -_Internal CodeSnip version 0.11.2_ - -+ 1st release candidate for the v1.0 release. -+ Updated help file: - - Ensured that external links display in a web browser window rather than in the help window. - - Added additional internal links to some help topics. -+ Fixed compiler warnings. -+ Removed some redundant code. +Internal CodeSnip version 0.11.2 +* 1st release candidate for the v1.0 release. +* Updated help file: + * Ensured that external links display in a web browser window rather than in the help window. + * Added additional internal links to some help topics. +* Fixed compiler warnings. +* Removed some redundant code. ## Unreleased v0.11.1 Beta of 10 April 2006 -+ Improved and fixed interaction with database update web service: - - Download manager now sends program's key and registration code to web service instead of place-holder strings. - - Handling for HTTP error messages improved. Short HTTP error descriptions are displayed rather than full content of error pages. - +* Improved and fixed interaction with database update web service: + * Download manager now sends program's key and registration code to web service instead of place-holder strings. + * Handling for HTTP error messages improved. Short HTTP error descriptions are displayed rather than full content of error pages. ## Release v0.11.0 Beta of 07 April 2006 -+ Added ability to register CodeSnip at DelphiDabbler.com: - - Registration is performed via a new wizard that gathers registration information and interacts with web server. - - Wizard is accessed via a Help menu option and About box button that appear only when application is unregistered. - - Application is identified by a unique key. - - Registration information is stored in persistent storage. -+ Reworked and added classes to centralise access to system and application information. -+ Updated help file with details of registration dialogue and CodeSnip mailing list. - +* Added ability to register CodeSnip at DelphiDabbler.com: + * Registration is performed via a new wizard that gathers registration information and interacts with web server. + * Wizard is accessed via a Help menu option and About box button that appear only when application is unregistered. + * Application is identified by a unique key. + * Registration information is stored in persistent storage. +* Reworked and added classes to centralise access to system and application information. +* Updated help file with details of registration dialogue and CodeSnip mailing list. ## Unreleased v0.10.12 Beta of 04 April 2006 -+ Improved code that stores global application settings. Prepared way for having per-user and global settings rather than just per-user settings as at present. - +* Improved code that stores global application settings. Prepared way for having per-user and global settings rather than just per-user settings as at present. ## Unreleased v0.10.11 Beta of 03 April 2006 -+ Revised to work with v3.1 of CodeSnip database update web service. - +* Revised to work with v3.1 of CodeSnip database update web service. ## Unreleased v0.10.10 Beta of 02 April 2006 -+ Added program icon (16x16, 32x32 and 48x48 versions). - +* Added program icon (16x16, 32x32 and 48x48 versions). ## Release v0.10.9 Beta of 02 April 2006 -+ Fixed bug where browser controls displayed JavaScript error dialogue when exceptions were raised by database updates initiated from browser control's "external" object. -+ Refactored some code in main form and main snippets object as a result of above fix. -+ Also refactored some of search code in main form. - +* Fixed bug where browser controls displayed JavaScript error dialogue when exceptions were raised by database updates initiated from browser control's "external" object. +* Refactored some code in main form and main snippets object as a result of above fix. +* Also refactored some of search code in main form. ## Unreleased v0.10.8 Beta of 02 April 2006 -+ Removed bug in database update manager that was causing database to be restored unnecessarily. -+ Heavily refactored update manager code as part of bug fix. - +* Removed bug in database update manager that was causing database to be restored unnecessarily. +* Heavily refactored update manager code as part of bug fix. ## Release v0.10.7 Beta of 28 January 2006 -+ Fixed display problems in details pane when running on Windows 2000. -+ Changed style of scroll bars from flat to normal when running in Windows XP classic style or on earlier Windows version. -+ Made compiler check pane update itself when compilers are added or removed. - +* Fixed display problems in details pane when running on Windows 2000. +* Changed style of scroll bars from flat to normal when running in Windows XP classic style or on earlier Windows version. +* Made compiler check pane update itself when compilers are added or removed. ## Release v0.10.6 Beta of 20 January 2006 -+ Fixed bug where backup directory was not being deleted after database updates. - +* Fixed bug where backup directory was not being deleted after database updates. ## Release v0.10.5 Beta of 14 January 2006 -+ Added credits for third party code to about box. -+ Completed help file. - +* Added credits for third party code to about box. +* Completed help file. ## Release v0.10.4 Beta of 12 January 2006 -+ Added checking of checksums of downloaded files to increase security. Exceptions now raised when a file's checksum is incorrect. -+ Fixed small alignment problem in update dialogue. - +* Added checking of checksums of downloaded files to increase security. Exceptions now raised when a file's checksum is incorrect. +* Fixed small alignment problem in update dialogue. ## Unreleased v0.10.3 Beta of 11 January 2006 -+ Changed so that compiler output is now captured directly rather than via temporary log file. -+ Compiler execution is now time-sliced and time-limited rather than being allowed infinite processing time. - +* Changed so that compiler output is now captured directly rather than via temporary log file. +* Compiler execution is now time-sliced and time-limited rather than being allowed infinite processing time. ## Unreleased v0.10.2 Beta of 10 January 2006 -+ Reverted to Delphi 7 to avoid Delphi 2006 bug that was enabling dialogues to be minimized and maximized. -+ Reordered controls in Find Compiler dialogues. -+ Restored title bar close button to web update dialogue. -+ Reverted to Indy 9 Internet controls (from Indy 10) and made relevant adjustments to code. -+ Completed help topics for Find Text and Find Compiler dialogues. - +* Reverted to Delphi 7 to avoid Delphi 2006 bug that was enabling dialogues to be minimized and maximized. +* Reordered controls in Find Compiler dialogues. +* Restored title bar close button to web update dialogue. +* Reverted to Indy 9 Internet controls (from Indy 10) and made relevant adjustments to code. +* Completed help topics for Find Text and Find Compiler dialogues. ## Release v0.10.1 Beta of 09 January 2006 -+ Removed debug code (message box) mistakenly left in compiler execution code. -+ Refactored compiler support classes. - +* Removed debug code (message box) mistakenly left in compiler execution code. +* Refactored compiler support classes. ## Release v0.10.0 Beta of 08 January 2006 -+ Added support for Delphi 2005/6 Win32 compilers. -+ Refactored some compiler support code. -+ Added support for user-configurable compiler switches. -+ Used new tabbed layout for Configure Compilers dialogue box and added tab for configuring compiler switches. -+ Updated help file to reflect redesign of Configure Compilers dialogue box. - +* Added support for Delphi 2005/6 Win32 compilers. +* Refactored some compiler support code. +* Added support for user-configurable compiler switches. +* Used new tabbed layout for Configure Compilers dialogue box and added tab for configuring compiler switches. +* Updated help file to reflect redesign of Configure Compilers dialogue box. ## Release v0.9.0 Beta of 06 January 2006 -+ Added facility to copy code snippets to clipboard. -+ Added new preferences dialogue box to enable configuration of default format for code snippets. -+ Added new preferences class to persist data entered in the preferences dialogue. -+ Refactored main snippets class to simplify addition of new copy snippet facility. -+ Updated help file re new additions. - +* Added facility to copy code snippets to clipboard. +* Added new preferences dialogue box to enable configuration of default format for code snippets. +* Added new preferences class to persist data entered in the preferences dialogue. +* Refactored main snippets class to simplify addition of new copy snippet facility. +* Updated help file re new additions. ## Unreleased v0.8.3 Beta of 04 January 2006 -+ Modified to compile with Indy Components v10 and Delphi 2006 for Win 32. - +* Modified to compile with Indy Components v10 and Delphi 2006 for Win 32. ## Unreleased v0.8.2 Beta of 04 January 2006 -+ Created static class to interpret command line and changed other code to work with the new class. - +* Created static class to interpret command line and changed other code to work with the new class. ## Unreleased v0.8.1 Beta of 04 January 2006 -+ Fixed minor display bug in web update dialogue box. -+ Fixed about box's problem in displaying help in response to F1 key press. - +* Fixed minor display bug in web update dialogue box. +* Fixed about box's problem in displaying help in response to F1 key press. ## Release v0.8.0 Beta of 30 November 2005 -+ Changed help file from WinHelp (.hlp) format to HTML Help (.chm) format. -+ Changed program to use new format help file. - +* Changed help file from WinHelp (.hlp) format to HTML Help (.chm) format. +* Changed program to use new format help file. ## Release v0.7.7 Beta of 22 November 2005 -+ Refactored and revised code that accesses DelphiDabbler web services. -+ Updated to use v2 of the database update web service. -+ Added topics for Bug Report dialogue and Web Update dialogue to help file. - +* Refactored and revised code that accesses DelphiDabbler web services. +* Updated to use v2 of the database update web service. +* Added topics for Bug Report dialogue and Web Update dialogue to help file. ## Release v0.7.6 Beta of 04 June 2005 -+ Fixed Delphi compiler auto-detection bug. -+ Fixed bug that caused endless loop of exceptions when "database" was corrupt. -+ Syntax highlighter now generates correct XHTML for multi-line comments and generates correct CSS for mono-spaced fonts. -+ Occasional failure to create compiler log files now reported as error rather than bug. - +* Fixed Delphi compiler auto-detection bug. +* Fixed bug that caused endless loop of exceptions when "database" was corrupt. +* Syntax highlighter now generates correct XHTML for multi-line comments and generates correct CSS for mono-spaced fonts. +* Occasional failure to create compiler log files now reported as error rather than bug. ## Release v0.7.5 Beta of 03 June 2005 -+ Fixes bugs that surface when user has disabled scripts in IE's Internet zone. Program no longer runs in Internet zone. - +* Fixes bugs that surface when user has disabled scripts in IE's Internet zone. Program no longer runs in Internet zone. ## Release v0.7.4 Beta of 09 May 2005 -+ Made user defined settings in Save Snippets dialogue box persistent. - +* Made user defined settings in Save Snippets dialogue box persistent. ## Unreleased v0.7.3 Beta of 25 April 2005 -+ Disabled test compile button on compiler checks pane along with associated menu and toolbar button when no compilers installed. -+ Rewrote main welcome page, adding links to compiler check dialogue. Made same welcome page appear in both detail panes. -+ Updated compiler check pages by adding links to compiler check dialogue and new "about compiler checks" help topic. -+ Updated help file with new "about compiler checks" topic and completed "QuickStart" topic. -+ Added new features to DOM's external object to support above changes. - +* Disabled test compile button on compiler checks pane along with associated menu and toolbar button when no compilers installed. +* Rewrote main welcome page, adding links to compiler check dialogue. Made same welcome page appear in both detail panes. +* Updated compiler check pages by adding links to compiler check dialogue and new "about compiler checks" help topic. +* Updated help file with new "about compiler checks" topic and completed "QuickStart" topic. +* Added new features to DOM's external object to support above changes. ## Unreleased v0.7.2 Beta of 21 April 2005 -+ Refactored code that maintains persistent application data. -+ Refactored syntax highlighter code and moved interfaces and enumerated types to own unit. -+ Renamed unit generation unit now that it generates source code other than complete units. -+ Carried out minor refactoring of Pascal analyser unit. - +* Refactored code that maintains persistent application data. +* Refactored syntax highlighter code and moved interfaces and enumerated types to own unit. +* Renamed unit generation unit now that it generates source code other than complete units. +* Carried out minor refactoring of Pascal analyser unit. ## Unreleased v0.7.1 Beta of 20 April 2005 -+ Disabled F1 key press handling in dialogues with no help button. Was triggering bad topic errors in WinHelp. -+ Added "Compile" prefix to compiler check page's "Test Compile" button. -+ Fixed errors in "do nothing" doc host handler used by web browser control. - +* Disabled F1 key press handling in dialogues with no help button. Was triggering bad topic errors in WinHelp. +* Added "Compile" prefix to compiler check page's "Test Compile" button. +* Fixed errors in "do nothing" doc host handler used by web browser control. ## Release v0.7.0 Beta of 17 March 2005 -+ Added new facility to save a routine, or a whole category of routines, to file. -+ Reworked syntax highlighter implementation. -+ Updated help file with details of new routine saving feature. - +* Added new facility to save a routine, or a whole category of routines, to file. +* Reworked syntax highlighter implementation. +* Updated help file with details of new routine saving feature. ## Release v0.6.0 Beta of 10 March 2005 -+ Added syntax highlighting for source code displayed in detail panes. - +* Added syntax highlighting for source code displayed in detail panes. ## Release v0.5.0 Beta of 05 March 2005 -+ Added support for Free Pascal compiler by totally reworking the compiler support engine. -+ Added new dialogue box to configure compilers. Compiler detection ability retained but now only works in response to user request. -+ Revised about box to include "powered by Delphi" logo. -+ Updated help file: - - Added incomplete topics for each of the main menus. - - Added complete new topic for the compiler configuration dialogue box. - - Fixed K-keyword errors and added extra keywords for dialogue boxes. - +* Added support for Free Pascal compiler by totally reworking the compiler support engine. +* Added new dialogue box to configure compilers. Compiler detection ability retained but now only works in response to user request. +* Revised about box to include "powered by Delphi" logo. +* Updated help file: + * Added incomplete topics for each of the main menus. + * Added complete new topic for the compiler configuration dialogue box. + * Fixed K-keyword errors and added extra keywords for dialogue boxes. ## Release v0.4.0 Beta of 28 February 2005 -+ Text search results are now highlighted when routines are displayed in the information pane. - +* Text search results are now highlighted when routines are displayed in the information pane. ## Unreleased v0.3.4 Beta of 26 February 2005 -+ Separated back end database code from Snippets object. -+ New back end code designed to make it easy to change the data provider in future versions. Current version accesses data in .ini and .dat files. - +* Separated back end database code from Snippets object. +* New back end code designed to make it easy to change the data provider in future versions. Current version accesses data in .ini and .dat files. ## Unreleased v0.3.3 Beta of 25 February 2005 -+ Fixed bug that was preventing Ctrl+F from activating Find Text dialogue box. -+ Realigned controls in bug report dialogue and fixed tab order problems. -+ Fixed email address validation error in bug report dialogue - +* Fixed bug that was preventing Ctrl+F from activating Find Text dialogue box. +* Realigned controls in bug report dialogue and fixed tab order problems. +* Fixed email address validation error in bug report dialogue ## Unreleased v0.3.2 Beta of 24 February 2005 -+ Refactored code that provides compiler names and introduced global Compilers object. - +* Refactored code that provides compiler names and introduced global Compilers object. ## Unreleased v0.3.1 Beta of 24 February 2005 -+ Centralised code that displays message dialogues and standardised their appearance. - +* Centralised code that displays message dialogues and standardised their appearance. ## Unreleased v0.3.0 Beta of 23 February 2005 -+ Updated welcome pages to provide more help on using CodeSnip. -+ Removed dialogues that appeared on start up when database was empty. Welcome page now provides this information along with an option to download database. -+ Improved handling of welcome page. - +* Updated welcome pages to provide more help on using CodeSnip. +* Removed dialogues that appeared on start up when database was empty. Welcome page now provides this information along with an option to download database. +* Improved handling of welcome page. ## Unreleased v0.2.4 Beta of 23 February 2005 -+ Refactored and simplified access to dialogue boxes. -+ Improved search code. - +* Refactored and simplified access to dialogue boxes. +* Improved search code. ## Unreleased v0.2.3 Beta of 23 February 2005 -+ Created a class hierarchy for all frames that display HTML in a web browser control. - +* Created a class hierarchy for all frames that display HTML in a web browser control. ## Unreleased v0.2.2 Beta of 22 February 2005 -+ Localised various literal strings and moved some constant values to a common location. - +* Localised various literal strings and moved some constant values to a common location. ## Unreleased v0.2.1 Beta of 22 February 2005 -+ Overhauled web browser external object extender that communicates browser events to application. -+ Added new notifier object that centralises handling of GUI user interaction. - +* Overhauled web browser external object extender that communicates browser events to application. +* Added new notifier object that centralises handling of GUI user interaction. ## Unreleased v0.2.0 Beta of 21 February 2005 -+ Made minor changes to appearance of main display. -+ Refactored the HTML generation engine, added several HTML templates to resources and localised all strings used in generated HTML. - +* Made minor changes to appearance of main display. +* Refactored the HTML generation engine, added several HTML templates to resources and localised all strings used in generated HTML. ## Unreleased v0.1.4 Beta of 19 February 2005 -+ Refactored some code. - +* Refactored some code. ## Unreleased v0.1.3 Beta of 18 February 2005 -+ Removed redundant code. - +* Removed redundant code. -##Unreleased v0.1.2 Beta of 18 February 2005 - -+ Removed debug code. +## Unreleased v0.1.2 Beta of 18 February 2005 +* Removed debug code. ## Unreleased v0.1.1 Beta of 18 February 2005 -+ Fixed minor bugs. - +* Fixed minor bugs. ## Release v0.1.0 Beta of 30 January 2005 -+ Original beta release. +* Original beta release. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..8531ff7e8 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,195 @@ +# Contributing + +Thanks for you interest in contributing to the CodeSnip project. + +## Contents + +* [Overview](#overview) +* [Issues](#issues) +* [Documentation](#documentation) +* [Coding](#coding) +* [About Pull Requests](#about-pull-requests) +* [Licensing of Contributions](#licensing-of-contributions) +* [Code of Conduct](#code-of-conduct) +* [Attributions](#attributions) + +## Overview + +Contributions of all kinds are more than welcome. + +> 💡 You will need a GitHub account to be able to make contributions. [Sign up here](https://docs.github.com/en/get-started/signing-up-for-github/signing-up-for-a-new-github-account). + +There three main ways in which you can contribute, each of which is explained in its own section below. From easiest to hardest, they are: + +* [Issues](#issues) - report bugs and request new features. +* [Documentation](#documentation) - improve the project's documentation. +* [Coding](#coding) - modify the project's source code. + +Regardless of how you choose to contribute, please respect the project's [code of conduct](#code-of-conduct). + +## Issues + +The easiest way to make a contribution is to [create an issue](https://github.com/delphidabbler/codesnip/issues/new). + +You can use issues to: + +1. [Report a bug](#reporting-a-bug) +2. [Request a new program feature](#requesting-a-new-feature) +3. [Suggest changes to documentation](#suggesting-documentation-changes) + +It is helpful if you perform a cursory search of [existing issues](https://github.com/delphidabbler/codesnip/issues?q=is%3Aissue) to see if there is already a similar issue. If so then please add your thoughts as comments on that issue rather than open a new one. + +### Reporting a bug + +Before reporting a bug please make sure the bug exists in the [latest release](https://github.com/delphidabbler/codesnip/releases) of CodeSnip 4. + +To report a bug please provide as much information about the bug as possible, including the program's version number, what happened, what you expected to happen and what you were doing at the time. If possible, explain how to reproduce the bug. + +> 💡 You can find CodeSnip's version number in the program's About box (_Help | About_ menu option). + +If you have resolved an issue yourself please consider contributing your fix so that others can benefit from your work. Please read the [Coding](#coding) section before doing so. + +### Requesting a new feature + +If you think of a feature that you would like to see added to CodeSnip you can open an issue to request it. + +Please be as clear as possible about what you expect the feature to do and why you want it. + +Ideas about how to implement the feature are welcome. Even better, if you have implemented the feature yourself, you may be able to contribute the code. But please read the [Coding](#coding) section before doing so. + +### Suggesting documentation changes + +The third reason to create an issue is if you want to suggest new documentation or ammendments to existing documentation. + +There are two types of documentation within the CodeSnip repository. Firstly, there is general documentation that can be found in the [repository root](https://github.com/delphidabbler/codesnip/tree/develop) and in the [`Docs`](https://github.com/delphidabbler/codesnip/tree/develop/Docs) directory. Secondly, there are numerous HTML help files in the [`Src/Help/HTML`](https://github.com/delphidabbler/codesnip/tree/develop/Src/Help/HTML) directory. + +If you have written or corrected some documentation yourself please consider submitting it. See the [Documentation](#documentation) section below to find out how to do this. + +## Documentation + +Writing and editing documentation is a relatively easy way to start contributing. Providing simple clear or helpful documentation for users is critical. Things that *you* found hard to understand as a user, or difficult to work out, are excellent places to begin. + +There are two ways to contribute documentation. The preferred method is by means of a [pull request](#about-pull-requests). But, you can simply create an issue and attach documentation files to the issue comments. This approach is perfectly acceptable for a small number of files, and saves you having to install Git! + +## Coding + +Code contributions to the [CodeSnip 4 development tree](https://github.com/delphidabbler/codesnip/tree/develop) are always welcome, from fixing bugs to developing new features. + +> 😠Before going any further, let's address the elephant in the room. CodeSnip has to be compiled with the now rather ancient Delphi XE. It would be much better if development could move to a more recent version of Delphi, but that's proving to be extremely problematic. See [this FAQ](https://github.com/delphidabbler/codesnip-faq/blob/master/SourceCode.md#faq-11) for an explanation. + +If you're still here, you will need to set up a valid build environment in order to compile CodeSnip from source. [`Build.html`](https://htmlpreview.github.io/?https://github.com/delphidabbler/codesnip/blob/develop/Build.html) tells you everything you need to know about configuring the environment, the tools you will need, and how compile CodeSnip using the provided `Makefile`. + +> 💡 Need ideas? You can [browse open issues](https://github.com/delphidabbler/codesnip/issues) and see if you can help with any of them. + +Contributions should normally be made using [pull requests](#about-pull-requests). + +But, if you have just a few lines of code to suggest it _may_ be possible to accept the code within (or attached to) a comment on an issue. If in doubt, ask first by means of a comment. When including the code in a comment, please use [GitHub code fencing](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks) to format the code and make it easier to read. For example: + + ```pascal + procedure TFoo.CoolNewMethod; + begin + // cool code here + end; + ``` + +## About Pull Requests + +All pull requests *must* relate to an [open _accepted_ issue](https://github.com/delphidabbler/codesnip/issues?q=is%3Aissue+label%3Aaccepted++is%3Aopen+) on GitHub. + +If you wish to contribute code for which there is no existing issue you can create one. Please wait for the issue to be accepted by the project owner before submitting your pull request. Acceptance is indicated by attaching an "accepted" label to the issue and is signed off by means of a comment on the issue from the project owner. + +> 💡 Should you get stuck at any point please ask for help by leaving a comment on the relevant issue. + +Before you can start you need to get the source code. Here's how: + +1. Fork the CodeSnip project into your own GitHub repository. + + â***Important***â _Ensure that all remote branches are included in the fork_, not just `master`. On GitHub this means clearing the "Copy the `master` branch only" check box before creating the fork. + +2. Clone the forked repository onto your own system using: + + $ git clone https://github.com/
- There have been several versions of this file. The current one is version 16. The change to version 16 came with CodeSnip v4.16.0 and the removal of DelphiDabbler web service support.
+ There have been several versions of this file. The current one is version 20. The change to version 20 came with CodeSnip v4.26.0 and the addition of the UseCommentsInUnitImpl key in the [Prefs:SourceCode] section.
@@ -256,6 +256,15 @@
CanAutoInstall (Boolean)
+ + This section records configuration information that applies to all, or + multiple, compilers. +
+ ++ Name / Value pairs: +
+ +PermitStartupDetection (Boolean)
+ D11A (Boolean)
+ D12Y (Boolean)
+ D13F (Boolean)
+ FPC (Boolean)
1.
16.
+ The current value is 20.
+ Stores information about the Preferences dialogue box itself, rather than actual preferences data. Actual preference data is stored in sections with names like [Prefs:XXX] where XXX is a preferences sub-section. +
+ ++ Name / Value pairs: +
+ +LastTab (string)
+ ColourID=ColourNum where ColourID is a value from ColorA to ColorP and ColourNum is the hex representation of the colour.
+ OverviewFontSize (Integer)
+ DetailFontSize (Integer)
+ True ⇒ truncate the description; False ⇒ use the full description.
UseCommentsInUnitImpl (Boolean)
+ True ⇒ emit comments in both the interface and implementation sections; False ⇒ emit comments in the interface section only.
+ UseSyntaxHiliting (Boolean)
- There have been seven different versions of the XML export file format – v1 to - v7. Tags used by all versions are explained below, with notes describing + There have been eight different versions of the XML export file format – v1 to + v8. Tags used by all versions are explained below, with notes describing which versions a tag applies to. Where there is no note the tag is valid in all versions.
@@ -108,7 +147,7 @@+ The codesnip-export/routines/routine/xref and codesnip-export/routines/routine/xref/pascal-name tags were included in versions 1 to 7 of this specification in error. XRefs were never intended to be written to export files by any version of CodeSnip, as source code comments make clear. +
+ ++ These tags have been removed from this document entirely of specification version 8. +
+ +- The differences between different export file versions is summarised below: + This section describes the changes between versions of the file format. +
+ ++ There were small changes within versions, that probably should have been given minor version numbers - but weren't. Such minor numbers have been assigned retrospectively below, in order to better explain when in-version changes actually took place. +
+ ++ File formats v4 and v5/v6 actually overlapped in the dates they were in use. This is because v4 was used by CodeSnip v3 and v5/v6 were used by CodeSnip 4. Those two versions of CodeSnip were maintained in parallel for a while.
+ Introduced in CodeSnip v2.2 +
++ First version of export file format. +
++ Supported Delphi compilers from Delphi 2 to Delphi 2009 plus Free Pascal. +
++ REML not supported. +
++ The XML file was in UTF-8 format with no BOM and no XML encoding attribute. +
+ Introduced with CodeSnip v2.2.5. +
++ Removed following tags: +
+ Added following tag: +
+ The version of REML supported by the + codesnip-export/routines/routine/extra tag was v1. +
+ Introduced with CodeSnip v3.0. +
++ The following tag was removed: +
The following tag was introduced: -
The version of REML supported by the codesnip-export/routines/routine/extra tag was updated to v2. -
+ Introduced with CodeSnip v3.0.1. +
++ The version of REML supported by the + codesnip-export/routines/routine/extra tag was updated to v3. +
++ Introduced with CodeSnip v4.0 alpha 1. +
+The XML file's encoding was explicitly set to "UTF-8" by setting the encoding attribute of the XML processing instruction to this value. -
Snippet names, wherever they occur in the XML file, can now begin with any character that is a valid first character of a Unicode Pascal identifier. Previously the first character of the attribute had to be one of 'A'..'Z', 'a'..'z' or '_'. -
New "class" and "unit" snippet kinds supported. -
+ The version of REML supported by the + codesnip-export/routines/routine/extra tag was updated to v4. +
+ Introduced with CodeSnip v4.0 beta 1. +
++ A snippet's description is now stored as formatted text using REML v4 markup. Previously the description was plain text. +
+The following tags were introduced: -
+ Introduced with CodeSnip v4.16.0. +
++ The codesnip-export/user-info tag and sub-tags were no longer supported. +
++ Introduced with CodeSnip v4.24.3. +
++ The codesnip-export/routines/routine/xref and codesnip-export/routines/routine/xref/pascal-name tags were removed from the specification. See Erratum above for details. +
+Readers of v1 files must convert the contents of the - codesnip-data/routines/routine/comments, - codesnip-data/routines/routine/credits and - codesnip-data/routines/routine/credits-url tags into formatted text + codesnip-export/routines/routine/comments, + codesnip-export/routines/routine/credits and + codesnip-export/routines/routine/credits-url tags into formatted text that simulates the parsed content of a - codesnip-data/routines/routine/extra tag. + codesnip-export/routines/routine/extra tag.
Readers of v1 and v2 files should map a - codesnip-data/routines/routine/standard-format value of "0" - to a codesnip-data/routines/routine/kind value of + codesnip-export/routines/routine/standard-format value of "0" + to a codesnip-export/routines/routine/kind value of "freeform" and a value of "1" to "routine".
@@ -809,7 +1055,7 @@+ Readers of v2 files and later can parse REML as v6, since all versions of REML up to v6 are backwards compatible. +
+ ++ Readers of v1 to v7 files must ignore any codesnip-export/routines/routine/xref tags and sub tags in the unlikely event that they are found. For an explanation see Erratum above. +
+ +Delphi104S – Delphi 10.4 Sydney compiler *
Delphi11A – Delphi 11.x Alexandria compiler *
+ Delphi12A – Delphi 12 Athens compiler *
+ Delphi13F – Delphi 13 Florence compiler *
+ FPC – Free Pascal compiler
- REML is a text markup language used to format text. REML version 4 is supported. The REML format is documented here. + REML is a text markup language used to format text. REML version 6 is supported. The REML format is documented here.
Credits and Credits_URL key work together.
- If Credits="See [example]" and Credits_URL="http://example.com" and the Extra key is empty or missing then the extra text generated will be See <a href="example.com">example 1</a>.
+ If Credits="See [example]" and Credits_URL="https://example.com" and the Extra key is empty or missing then the extra text generated will be See <a href="example.com">example 1</a>.
- CodeSnip saves external files in two different ways: + CodeSnip saves external files in three different ways:
- In each case the following file types can be chosen by the user: + In the first case the snippet information can be saved as one of the following file types: +
+ ++ In the second two cases the following file types can be chosen by the user:
- There is no specific file format for these files, except that XHTML and RTF + There is no specific file format for these files, except that HTML 5, XHTML, RTF and Markdown files conform to published specifications.
@@ -87,7 +115,7 @@- The encodings used depend on the file type and user choice. Different file + The available encodings depend on the file type and user choice. Different file types have different encoding choices, as follows:
@@ -104,10 +132,10 @@- There have been several different versions of the XML file format. Each of - these is explained below. + There have been several different versions of the XML file format. The differences between versions are explained below. Details of all the changes between versions are listed in the Change Log at the end of this document
+- Prior to CodeSnip v4 source code data files were encoded using the system - default ANSI code page. The XML file was in UTF-8, but its XML processing - instruction had no "encoding" atrribute. + Prior to CodeSnip v4 (and database v5) source code data files were encoded using ANSI code page 1252. The XML file was in UTF-8, but its XML processing instruction had no "encoding" atrribute.
@@ -88,11 +125,15 @@
- The differences between different user database file versions is summarised - below: + This section describes the changes between versions of the file format. +
+ ++ There were small changes within versions, that probably should have been given minor version numbers - but weren't. Such minor numbers have been assigned retrospectively below in order to better explain when in-version changes actually took place. +
+ ++ File formats v4 and v5/v6 actually overlapped in the dates they were in use. This is because v4 was used by CodeSnip v3 and v5/v6 were used by CodeSnip 4. Those two versions of CodeSnip were maintained in parallel for a while.
+ Introduced with CodeSnip v2.0. +
++ Supported Delphi compilers from Delphi 2 to Delphi 2007 plus Free Pascal. +
++ REML not supported. +
++ Data files were ANSI text using code page 1252. The XML file was in UTF-8 format with no BOM and no XML encoding attribute. +
++ Introduced with CodeSnip v2.2.5. +
++ Removed following tags: +
+ Added following tag: +
+ The version of REML supported by the + codesnip-data/routines/routine/extra tag was v1. +
+ Introduced with CodeSnip v3.0. +
+The following tag is no longer supported: -
The following tag was introduced: -
+ The version of REML supported by the + codesnip-data/routines/routine/extra tag was updated to v2. +
+ Introduced with CodeSnip v3.0.1. +
++ The version of REML supported by the + codesnip-data/routines/routine/extra tag was updated to v3. +
++ Introduced with CodeSnip v4.0 alpha 2. +
+The XML file's encoding was explicitly set to "UTF-8" by setting the encoding attribute of the XML processing instruction to this value. -
Snippet names, wherever they occur in the XML file, can now begin with any character that is a valid first character of a Unicode Pascal identifier. Previously the first character of the attribute had to be one of 'A'..'Z', 'a'..'z' or '_'. -
Data files changed to use UTF-8 encoding with no BOM instead of the system default encoding. -
New "class" and "unit" snippet kinds supported. -
+ The version of REML supported by the + codesnip-data/routines/routine/extra tag was updated to v4. +
+ Introduced with CodeSnip v4.0 beta 1. +
++ A snippet's description is now stored as formatted text using REML v4 markup. Previously the description was plain text. +
+The following tags were introduced: -
+ To ensure backwards compatibility with all user database versions file reader software that works with the latest version of CodeSnip needs to be able to interpret older formats as follows. +
+ +- Readers of version 1 files must convert the contents of the - codesnip-data/routines/routine/comments, - codesnip-data/routines/routine/credits and - codesnip-data/routines/routine/credits-url tags into valid REML code - that simulates the parsed content of the - codesnip-data/routines/routine/extra tag. + Readers of version 1 files must convert the contents of the the following tags: +
+ ++ into valid REML code that simulates the parsed content of the codesnip-data/routines/routine/extra tag.
@@ -838,18 +1095,37 @@
Readers of v1 to v5 files must:
-+ Readers of v2 and later files may parse REML from any file version as if it were REML v6, since all versions of REML up to v6 are compatible. +
+ ++ Readers of v1 to v4 files should interpret all source code .dat files as encoded in ANSI code page 1252 - the files were created using the default code page in the UK, which is 1252. The XML file should be assumed to be in UTF-8 format, regardless of the absence of an encoding attribute. +
+ ++ v5 and later files will always be encoded in UTF-8. +
+ +- DelphiDabbler CodeSnip is copyright © 2005-2020 by CodeSnip is copyright © 2005-2025 by Peter D Johnson. @@ -71,39 +71,33 @@ The MD5 digest code used in this program is based on the RSA Data Security, Inc. MD5 Message-Digest Algorithm.
+ Before going any further you are strongly advised to take a backup of your snippets database. Use the Database | Backup User Database menu option to do this. +
+ ++ This action cannot be undone: you will loose all your user-defined snippets. +
+ +
+ To confirm enter DELETE MY SNIPPETS (in capital letters) in the box below, then click OK.
+
+ There will be no further chances to change your mind. +
+ + + + diff --git a/Src/Res/HTML/dlg-dbupdate-finish.html b/Src/Res/HTML/dlg-dbupdate-finish.html index a63e26995..14795acd8 100644 --- a/Src/Res/HTML/dlg-dbupdate-finish.html +++ b/Src/Res/HTML/dlg-dbupdate-finish.html @@ -2,20 +2,20 @@ + "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - +
+ If you don't wish to receive notifications like this again you have two + options: +
++ Turn off all checks for new compiler installations. + Do this by ticking the Don't show this again check box below. +
++ If you change your mind later you can re-enable the checks from the + Configure Compilers dialogue box. +
++ Turn notifications on or off on a per-compiler basis. + You need to do this after you have closed this dialogue box, again by + using the Configure Compilers dialogue box. +
++ For information about how to configure automatic detection of Delphi + compilers see the Register Compilers with CodeSnip help topic. +
++ Note: only Delphi compilers can be automatically + registered with CodeSnip: this doesn't work with Free Pascal. +
+ + diff --git a/Src/Res/HTML/dlg-rssnews.html b/Src/Res/HTML/dlg-rssnews.html deleted file mode 100644 index c7f1a3a4c..000000000 --- a/Src/Res/HTML/dlg-rssnews.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - -- Important information about CodeSnip v4.16.0 -
There are several important differences from your old version of CodeSnip that you need to know about.
@@ -72,11 +63,11 @@ You can no longer submit snippets for inclusion in the DelphiDabbler Code Snippets Database.diff --git a/Src/Res/HTML/info-basic-tplt.html b/Src/Res/HTML/info-basic-tplt.html index 31889ffe2..a8bfc2f73 100644 --- a/Src/Res/HTML/info-basic-tplt.html +++ b/Src/Res/HTML/info-basic-tplt.html @@ -2,19 +2,19 @@ + "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - +