diff --git a/CHANGELOG.md b/CHANGELOG.md index afb4a535e..5aeb246be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,13 @@ 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. +## 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]. diff --git a/Docs/Design/FileFormats/export.html b/Docs/Design/FileFormats/export.html index e60bfe00c..29ca8a849 100644 --- a/Docs/Design/FileFormats/export.html +++ b/Docs/Design/FileFormats/export.html @@ -5,7 +5,7 @@ * v. 2.0. If a copy of the MPL was not distributed with this file, You can * obtain one at https://mozilla.org/MPL/2.0/ * - * Copyright (C) 2012-2023, Peter Johnson (gravatar.com/delphidabbler). + * Copyright (C) 2012-2024, Peter Johnson (gravatar.com/delphidabbler). * * CodeSnip File Format Documentation: Export --> @@ -300,9 +300,13 @@

encoded in REML markup. REML v4 is supported.
  • - version 7.3 and later: Content is formatted text + version 7.3 and 7.4: Content is formatted text encoded in REML markup. REML v5 is supported.
  • +
  • + version 7.5 and later: Content is formatted text + encoded in REML markup. REML v6 is supported. +
  • @@ -447,7 +451,10 @@

    versions 5 to 7.2: supports REML v4.
  • - version 7.3 & later: supports REML v5. + version 7.3 & 7.4: supports REML v5. +
  • +
  • + version 7.5 & later: supports REML v6.
  • @@ -993,6 +1000,12 @@

    Updated in time for CodeSnip v4.22.0 to add support for Delphi 12 Athens.
    +
    + Version 7.5 - 2 April 2014 +
    +
    + Added support for REML v6, which is backward compatible with REML v4. +
    @@ -1042,7 +1055,7 @@

    - Readers of v2 files and later can parse REML as v5, since all versions of REML up to v5 are backwards compatible. + Readers of v2 files and later can parse REML as v6, since all versions of REML up to v6 are backwards compatible.

    diff --git a/Docs/Design/FileFormats/main-db.html b/Docs/Design/FileFormats/main-db.html index 25dc2834a..1b122069c 100644 --- a/Docs/Design/FileFormats/main-db.html +++ b/Docs/Design/FileFormats/main-db.html @@ -5,7 +5,7 @@ * v. 2.0. If a copy of the MPL was not distributed with this file, You can * obtain one at https://mozilla.org/MPL/2.0/ * - * Copyright (C) 2012-2023, Peter Johnson (gravatar.com/delphidabbler). + * Copyright (C) 2012-2024, Peter Johnson (gravatar.com/delphidabbler). * * CodeSnip File Format Documentation: Main Database --> @@ -928,7 +928,7 @@

    1. - REML is a text markup language used to format text. REML version 5 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.

    2. diff --git a/Docs/Design/FileFormats/user-db.html b/Docs/Design/FileFormats/user-db.html index 8a0e6945c..bc761983e 100644 --- a/Docs/Design/FileFormats/user-db.html +++ b/Docs/Design/FileFormats/user-db.html @@ -5,7 +5,7 @@ * v. 2.0. If a copy of the MPL was not distributed with this file, You can * obtain one at https://mozilla.org/MPL/2.0/ * - * Copyright (C) 2012-2023, Peter Johnson (gravatar.com/delphidabbler). + * Copyright (C) 2012-2024, Peter Johnson (gravatar.com/delphidabbler). * * CodeSnip File Format Documentation: User Database --> @@ -325,9 +325,13 @@

      encoded in REML markup. REML v4 is supported.

    3. - version 6.11 & later: Content is formatted text + version 6.11 & 6.12: Content is formatted text encoded in REML markup. REML v5 is supported.
    4. +
    5. + version 6.13 & later: Content is formatted text + encoded in REML markup. REML v6 is supported. +
    6. @@ -472,7 +476,10 @@

      versions 5 & 6.10: supports REML v4.
    7. - version 6.11 & later: supports REML v5. + version 6.11 & 6.12: supports REML v5. +
    8. +
    9. + version 6.13 & later: supports REML v6.
    10. @@ -1029,6 +1036,12 @@

      Updated in time for CodeSnip v4.22.0 to add support for Delphi 12 Athens.
      +
      + Version 6.13 - 2 April 2024 +
      +
      + Updated with CodeSnip v4.23.0 to add support for REML v6, which is backwards compatible with REML v4. +
      @@ -1087,7 +1100,7 @@

      - Readers of v2 and later files may parse REML from any file version as if it were REML v5, since all versions of REML up to v5 are compatible. + 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.

      diff --git a/Docs/Design/reml.html b/Docs/Design/reml.html index a84de371a..b945f4332 100644 --- a/Docs/Design/reml.html +++ b/Docs/Design/reml.html @@ -1,7 +1,7 @@ @@ -27,7 +27,7 @@

      Summary of End User License Agreement

      - DelphiDabbler CodeSnip is copyright © 2005-2023 by Peter D + DelphiDabbler CodeSnip is copyright © 2005-2024 by Peter D Johnson, @@ -43,8 +43,8 @@

      REML is CodeSnip's own little markup language that can be used to style the text of a snippet's description and / or extra - information. The latest version is v5, which is backwards compatible with - all other versions. + information. The latest version is v6, which is backwards compatible with + all other versions.

      Language Details diff --git a/Src/Install/Assets/License.rtf b/Src/Install/Assets/License.rtf index 7d2008d00..5ef3433ff 100644 --- a/Src/Install/Assets/License.rtf +++ b/Src/Install/Assets/License.rtf @@ -1,7 +1,7 @@ {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deftab709{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}} {\colortbl ;\red0\green0\blue255;} {\*\generator Riched20 10.0.18362}\viewkind4\uc1 -\pard\sa113\f0\fs18\lang1033 DelphiDabbler CodeSnip is copyright \'a9 2005-2023 by Peter D Johnson, {{\field{\*\fldinst{HYPERLINK https://en.gravatar.com/delphidabbler }}{\fldrslt{https://en.gravatar.com/delphidabbler\ul0\cf0}}}}\f0\fs18 . \par +\pard\sa113\f0\fs18\lang1033 DelphiDabbler CodeSnip is copyright \'a9 2005-2024 by Peter D Johnson, {{\field{\*\fldinst{HYPERLINK https://en.gravatar.com/delphidabbler }}{\fldrslt{https://en.gravatar.com/delphidabbler\ul0\cf0}}}}\f0\fs18 . \par The executable version of CodeSnip is made available under the terms of the Mozilla Public License 2.0 ({{\field{\*\fldinst{HYPERLINK https://www.mozilla.org/MPL/2.0/ }}{\fldrslt{https://www.mozilla.org/MPL/2.0/\ul0\cf0}}}}\f0\fs18 ). This means you can use, copy and distribute CodeSnip as you wish.\par You may also modify CodeSnip as you wish and you may distribute copies of your modified version under the terms of the Mozilla Public License. The only exception is that you may not use the CodeSnip name or branding (e.g. the program icon) in any modification you distribute unless you have the explicit permission of the copyright holder. \par For full information see the file \i License.html\i0 installed with this program.\fs24\lang2057\par diff --git a/Src/UGIFImageList.pas b/Src/UGIFImageList.pas index 3ba34c7c0..f3e26a199 100644 --- a/Src/UGIFImageList.pas +++ b/Src/UGIFImageList.pas @@ -3,7 +3,7 @@ * v. 2.0. If a copy of the MPL was not distributed with this file, You can * obtain one at https://mozilla.org/MPL/2.0/ * - * Copyright (C) 2008-2021, Peter Johnson (gravatar.com/delphidabbler). + * Copyright (C) 2008-2024, Peter Johnson (gravatar.com/delphidabbler). * * Image list descendant that enables representations of GIF images loaded from * HTML resource to be added. Resource names are mapped to image indices. @@ -70,7 +70,7 @@ implementation uses // Delphi - GIFImg, UClassHelpers, + GIFImg, ClassHelpers.UGraphics, // Project UComparers; diff --git a/Src/ULEDImageList.pas b/Src/ULEDImageList.pas index c5a7b9663..839b064fa 100644 --- a/Src/ULEDImageList.pas +++ b/Src/ULEDImageList.pas @@ -3,7 +3,7 @@ * v. 2.0. If a copy of the MPL was not distributed with this file, You can * obtain one at https://mozilla.org/MPL/2.0/ * - * Copyright (C) 2009-2021, Peter Johnson (gravatar.com/delphidabbler). + * Copyright (C) 2009-2024, Peter Johnson (gravatar.com/delphidabbler). * * Defines a custom image list that provides a list of LED images. Image list is * automatically loaded from resources when class is instantiated. @@ -55,7 +55,7 @@ implementation uses // Project - UClassHelpers; + ClassHelpers.UGraphics; { diff --git a/Src/UREMLDataIO.pas b/Src/UREMLDataIO.pas index 6924ab76c..76974afc8 100644 --- a/Src/UREMLDataIO.pas +++ b/Src/UREMLDataIO.pas @@ -3,7 +3,7 @@ * v. 2.0. If a copy of the MPL was not distributed with this file, You can * obtain one at https://mozilla.org/MPL/2.0/ * - * Copyright (C) 2008-2023, Peter Johnson (gravatar.com/delphidabbler). + * Copyright (C) 2008-2024, Peter Johnson (gravatar.com/delphidabbler). * * Implements classes that render and parse Routine Extra Markup Language (REML) * code. This markup is used to read and store active text objects as used by @@ -1035,7 +1035,7 @@ class function TREMLEntities.CharToMnemonicEntity(const Ch: Char): string; {Class constructor. Creates map of mnemonic entities to equivalent characters. } begin - SetLength(fEntityMap, 34); + SetLength(fEntityMap, 35); // Supported character entities. All are optional unless otherwise stated // REML v1 fEntityMap[0] := TREMLEntity.Create('amp', '&'); // required in REML @@ -1074,6 +1074,8 @@ class function TREMLEntities.CharToMnemonicEntity(const Ch: Char): string; fEntityMap[31] := TREMLEntity.Create('laquo', '«'); fEntityMap[32] := TREMLEntity.Create('raquo', '»'); fEntityMap[33] := TREMLEntity.Create('iquest', '¿'); + // REML v6 + fEntityMap[34] := TREMLEntity.Create('apos', SINGLEQUOTE); end; class destructor TREMLEntities.Destroy; diff --git a/Src/USnipKindListAdapter.pas b/Src/USnipKindListAdapter.pas index 47d03a6d6..745e819e1 100644 --- a/Src/USnipKindListAdapter.pas +++ b/Src/USnipKindListAdapter.pas @@ -3,7 +3,7 @@ * v. 2.0. If a copy of the MPL was not distributed with this file, You can * obtain one at https://mozilla.org/MPL/2.0/ * - * Copyright (C) 2009-2021, Peter Johnson (gravatar.com/delphidabbler). + * Copyright (C) 2009-2024, Peter Johnson (gravatar.com/delphidabbler). * * Implements a class that adapts a list of snippet kinds by providing an * alternative interface to the list, sorted by the name of the snippet kind. diff --git a/Src/VersionInfo.vi-inc b/Src/VersionInfo.vi-inc index 7fdf24930..c9ae9dae3 100644 --- a/Src/VersionInfo.vi-inc +++ b/Src/VersionInfo.vi-inc @@ -1,8 +1,8 @@ # CodeSnip Version Information Macros for Including in .vi files # Version & build numbers -version=4.22.0 -build=270 +version=4.23.0 +build=271 # String file information copyright=Copyright © P.D.Johnson, 2005-.