Releases: delphidabbler/code-snippets
Releases · delphidabbler/code-snippets
v2.3.0
Released 2025-09-13
n specification:
* Added snippet properties to enable recording of compilation results with Delphi 13 (issue 62).
* Deprecated compiler results with value W (issue 63).
- Changes were made to the Structures category:
- Added a new TIntegerRangeadvanced record (issue 56).
- Fixed an error in the description of the Rangesnippet.
- Added a warning to the TRangeExadvanced record to note potentially buggy behaviour if the range lower bound is greater than the upper bound.
 
- Added a new 
- Added new RandomStringroutine to the String Management category (issue 28).
- Added results of compiling every snippet with Delphi 13 (issue 60).
- Fixed bug that was preventing the Softmaxroutine in the Mathematics category from compiling due to a missing unit declaration (issue 61).
- Changes to unit tests:
- Added a new DUnit test project for the Structures category and added it to the CodeSnippetsTestsXE project group. Unit tests for all snippets in the Structures category were created (issue 58).
- Added further unit tests for all snippets in the Arrays category that did not already have them (issue 38).
- Added unit tests for the new RandomStringroutine.
 
- Documentation:
- Updated tests/README.mdre the unit test changes in this release and other minor revisions.
- Fixed typo in README.md.
 
- Updated 
v2.2.3
Released 2025-04-03
- Added results of compiling with Delphi 12 for all snippets with no pre-existing compile results for that compiler (issue #27).
- Fixed memory leak in the CountOccurencesfunction (issue #54).
- Updated GetGIFSizefunction to work around a deprecated warning with Delphi 12 and some earlier compilers because of a call toSysUtils.StrLCompwhich has been moved to theAnsiStringsunit (issue #52).
v2.2.2
Released 2025-01-19
- New snippets were added to the Arrays and Mathematics categories:
- Arrays category:
- Mathematics category:
- 3 overloaded versions of each of the ArithmeticMean&WeightedArithmeticMeanfunctions (issue #30).
- DigitSumBase,- DigitCountBase&- DigitsOffunction (issue #17).
- DigitPowerSumfunction (issue #39).
- IsPalindromicfunction (issue #19).
- IsNarcissisticfunction (issue #18).
- LSE&- Softmaxfunctions (issue 34).
- 3 overloaded versions of a Medianfunction (issue #41).
- 2 overloaded versions of each of the MinMaxOfArray,RescaleRange,NormaliseByWeight&RangeOffunctions (issue #44).
- 3 overloaded versions of each of the GeometricMeanandWeightedGeometricMeanfunctions (issue #31).
- 3 overloaded versions of each of the SumOfReciprocalsandHarmonicMeanfunctions (issue #35).
- 3 overloaded versions of a WeightedHarmonicMeanfunction (issue #47).
- LogarithmicMeanfunction (issue #32).
- 3 overloaded versions of the PowerMeanandWeightedPowerMeanfunctions (issue #33).
- Mode,- ModeAlt,- ModeCount,- HasMode&- CountOccurencesfunctions (issue #42).
- 2 overloaded versions of a RMSfunction (issue #49).
- 2 overloaded versions of a TSS(total sum of squares) function (issue #51).
 
- 3 overloaded versions of each of the 
 
- Updates to snippets in the Mathematics category:
- Overflow checking was added to the PowNZN.
- Fixed bug in all overloads of the SumOfLogsroutine that was causing access violations whenever an exception was to be raised (issue #46).
 
- Overflow checking was added to the 
- Changes to tests:
- Added unit tests for all the routines and methods that were added to the Arrays and Mathematics categories in this release.
- Added unit test for the pre-existing ByteArraysEqualfunction in the Arrays category.
- Modified unit test for PowNZNto check for newEOverflowexception raised when an overflow condition is detected.
- Removed conditional compilation directives from the array unit test unit.
 
- Updated README.mdto note that there are now over 700 snippets in the collection.
- Updated all copyright dates for 2025.
v2.2.1
v2.2.0
Released 2024-10-15
- Updated collection specification:
- Changes to the collection:
- Added 3 new IEEE Pown functions to the Maths category: PowN,PowNZN,PowNZZ. Fixes issue #20.
- Added 7 overloaded version of each of two new summing functions in the Maths category: ArraySum&SumOfLogs. Fixes issue #25.
- Added AdvancedTest.Levelvalues to numerous snippets that have received advanced testing to provide details of the type of testing. See issue #15.
- Added AdvancedTest.URLvalues to to numerous snippets that have received advanced testing to provide links to the test source code. See issue #13
- Corrected RFC1123DateGMTsnippet test level fromadvancedtobasic.
- Fixed syntax errors in maths.ini&hex.inicategory files.
 
- Added 3 new IEEE Pown functions to the Maths category: 
- Changes to tests:
- Comments corrected and updated in the test projects for the driveandwinsyscategories.
- Pascal files in test projects that were generated from the collection had header comments changed to refer to the revised LICENSE.md.
- Added unit tests for the PowN,PowNZN,PowNZZroutines and theArraySum&SumOfLogsoverloaded functions the to maths category test project.
 
- Comments corrected and updated in the test projects for the 
- Restructured source code repository. All files and sub-directories that were in the csdbdirectory were moved up one directory level andcsdbwas deleted. Fixes issue #14.
- Updated documentation:
- README.mdin the repo root was heavily edited to include information formerly in- csdb/README.md, which was deleted.
- tests/README.mdwas changed to reflect the changed repo directory structure and footnotes were converted to GitHub style.
- LICENSE.mdwas changed to reflect the different copyright details that apply to the files belong to the collection and other files.
- Collection documentation updated as follows:
- Noted changes to the collection specification made in this releases.
- General editing
- Revised styling
- Added a new section discussing some issues that may be encountered when designing software to that reads the database.
 
- Fixed a CSS error in docs/main.css.
- Rewrote REML documentation to link to become a brief overview that links to an authoratitive definition of REML in the delphidabbler/remlrepository. Fixes issue #24.
 
v2.1.2
v2.1.1 (HOTFIX)
Released 2021-12-29
- Fixed malformed REML tags. Fixes issue #7.
v2.1.0
Released 2021-12-26
- Deprecated Desc,Comments,Credits&Credits_URLkeys in Code Snippets Database collection and changedDescExkey to be required. Made following changes to.inifiles as a consequence:- Changed all Desckeys toDescExkeys and removed allDesckeys as a result.
- Converted content of all Comments,Credits&Credits_URLkeys toExtrakey values and removed the deprecated keys.
 
- Changed all 
- Made all DescExandExtravalues fully REML v4 compliant by ensuring all content is wrapped in<p>..</p>tags.
- Fixed errors in .inifiles. Fixes issue #6.
- Updated a small number of snippet descriptions and extra information.
- Updated documentation in collection-format.htmlandreml.htmlto reflect the above changes.
v2.0.1
Released 2021-10-12
- Add new unit tests and demo code for some snippets from the database. All such code was added to a new testsdirectory. Seetests/README.mdfor details.
- Fix minor errors in documentation.
Other than to update the
VERSIONfile there were no changes to any snippets or associated meta-data in this release.
Released in three separate files (see below):
- csdb-v2.0.1-data.zip- the snippets collection - contains all the files needed to use the "database".
- csdb-v2.0.1-docs.zip- documentation.
- csdb-v2.0.1-tests.zip- unit tests and demo code.
v2.0.0
Released 2020-05-02
Initial release of v2 of the collection.
Changes since last v1 release
- Removed any code that restricted use of the collection to DelphiDabbler CodeSnip. The collection can now be used by 3rd party applications.
- Removed backwards compatibility with CodeSnip v4.15.1 and earlier.
- Removed conditionally included code and CodeSnip version dependent code from category .ini files.
- Merged multiple versions of category .ini files down into a single file. (These multiple file were used to hide some categories from earlier versions of CodeSnip).
- Removed duplicated, CodeSnip version dependent, source code files: used a copy of the most recent version and removed version specifiers from the file names.
 
- Rationalised and corrected errors in category .ini files:
- Condensed two string management categories into one.
- Removed Desckeys where they duplicatedDescExkeys.
- Removed some duplicate CreditsandCommentskeys.
- Removed some empty keys.
- Fixed or removed some broken web links.
- Rephrased some descriptive text.
 
- Changed layout of category .ini files and categories.ini:- Re-ordered sections of categories.iniin alphabetic order.
- Removed all explanatory comments: there were inconsistencies.
- Added header comments, including copyright and licensing information, to all .ini files.
 
- Re-ordered sections of 
- File format changes:
- Removed the StandardFormatkey from the specification of category .ini files.
- Added requirements for LICENSE,LICENSE_INFOandVERSIONfiles and added suitable files to the collection.
- Changed the required name for the contributors and testers files to CONTRIBUTORSandTESTERSrespectively. Renamed the existingcontrib.txtandtesters.txtfiles accordingly.
- Made support for REML v4 an official requirement.
- Dropped support for conditional inclusion of code in .ini files.
 
- Removed the 
- Added documentation:
- Of the collection file format.
- A read-me file.
- This change log.
 
- Ensured that all files in the collection use the UTF-8 text file preamble (aka byte order mark).
- Added a shell script to create releases.
- Officially adopted the MIT license for source code files.