Skip to content

Commit

Permalink
Merge branch 'release/4.21.2'
Browse files Browse the repository at this point in the history
Release v4.21.2
  • Loading branch information
delphidabbler committed Jul 13, 2023
2 parents 7482558 + ea20cb9 commit dd17a64
Show file tree
Hide file tree
Showing 29 changed files with 771 additions and 388 deletions.
164 changes: 117 additions & 47 deletions Build.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,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-2022, Peter Johnson (gravatar.com/delphidabbler).
* Copyright (C) 2009-2023, Peter Johnson (gravatar.com/delphidabbler).
*
* Instructions for building CodeSnip from source.
-->
Expand All @@ -21,6 +21,9 @@
body {
font-family: sans-serif;
}
code, pre {
font-size: 1rem;
}
dt.spaced {
margin-top: 0.5em;
}
Expand Down Expand Up @@ -157,7 +160,7 @@ <h3>
</dt>
<dd>
Type library importer tool. Used to create a Pascal unit that describes
code contained in <code>ExternalObj.idl</code>.
code contained in <code>ExternalObj.ridl</code>.
</dd>
</dl>

Expand Down Expand Up @@ -193,7 +196,7 @@ <h3>
<p>
This tool is used to compile version information (<code>.vi</code>) files and
any associated macro file(s) into intermediate resource source
(<code>.rc</code>) files. Version 2.14.0 or later is required. Version
(<code>.rc</code>) files. Version 2.15.0 or later is required. Version
Information Editor can be obtained from
<a
href="https://github.com/delphidabbler/vied/releases"
Expand Down Expand Up @@ -376,30 +379,34 @@ <h3>
</h3>

<p>
The source code is maintained in the <code><a href="https://github.com/delphidabbler/codesnip">delphidabbler/codesnip</a></code> Git respository on GitHub.
The source code is maintained in the <code><a href="https://github.com/delphidabbler/codesnip">delphidabbler/codesnip</a></code> Git respository on GitHub. Source code can be obtained in three ways:
</p>

<p>
If you are intending to contribute code to the project you need to:
</p>

<ol class="spaced">
<li>
Fork the project on GitHub.
</li>
<ol>
<li>
Create a new branch off the <code>development</code> branch.
<p>
Fork the project from GitHub and then clone your forked repository.
</p>
</li>
<li>
Make your changes on the branch you created.
<p>
Clone the existing repository using:
</p>
<pre class="cmd"><span class="prompt">&gt;</span> git clone https://github.com/delphidabbler/codesnip.git</pre>
</li>
<li>
Once finished raise a pull request for your code on the <code>delphidabbler/codesnip</code> repo.
<p>
Download the source of a specific release from the project's <a href="https://github.com/delphidabbler/codesnip/releases">Releases</a> section on GitHub &ndash; just choose the version you want.
</p>
</li>
</ol>

<p>
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 <a href="https://github.com/delphidabbler/codesnip/releases">Releases</a> section on GitHub &ndash; 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 <a href="https://github.com/delphidabbler/codesnip/blob/develop/README.md">read-me file</a> before doing so.
</p>

<p class="note">
<strong>Important:</strong> If you are planning to fork <em>CodeSnip</em> 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 <em>CodeSnip</em> license. See the <a href="#conditions">Conditions For Release of Modified Code</a> section below for details.
</p>

<h3>
Expand All @@ -412,53 +419,55 @@ <h3>

<pre>./
|
+-- 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 &amp; DelphiDabbler library source code
| +-- 3rdParty - third party &amp; 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</pre>
+-- DUnit - test source code that uses the DUnit framework</pre>
<p>
If, by chance you also have a <code>_build</code> directory don't worry - all will become clear.
Git users may also see the usual <code>.git</code> hidden
Expand Down Expand Up @@ -497,13 +506,13 @@ <h3>

<pre>./
|
+-- _build - contains all the build files
+-- _build - contains all the build files
| |
| +-- bin - receives object files for CodeSnip
| +-- bin - receives object files for CodeSnip
| |
| +-- exe - receives executable code and compiled help file
| +-- exe - receives executable code and compiled help file
| |
| +-- release - receives release files
| +-- release - receives release files
|
...</pre>

Expand Down Expand Up @@ -861,22 +870,22 @@ <h2>
</p>

<p>
To compile the tests, open the <code>.\Src\CodeSnip.groupproj</code> group
To compile the tests, open the <code>Src\CodeSnip.groupproj</code> group
project file in the Delphi XE IDE. Now select the <em>CodeSnipTests.exe</em>
target in the project manager and compile.
</p>

<p>
If they were not already present <code>Bin</code> and <code>Exe</code>
sub-directories will have been created in the <code>.\Tests</code> directory.
sub-directories will have been created in the <code>Tests</code> directory.
The <code>Exe</code> directory contains the <em>DUnit</em> test program while
<code>Bin</code> contains intermediate binaries.
</p>

<p>
You can compile the tests as either a GUI application (default) or as a
console application. For details please see the comments in
<code>.\Tests\Src\DUnit\CodeSnipTests.dpr</code>.
<code>Tests\Src\DUnit\CodeSnipTests.dpr</code>.
</p>

<h2>
Expand All @@ -893,6 +902,67 @@ <h2>
directory.
</p>

<h2 id="conditions">
Conditions For Release of Modified Code
</h2>

<p>
If you are intending to release your own application based on the <em>CodeSnip</em> source code you <strong>must</strong> <em>either</em> change the source code as described below <em>or</em> seek written permission to use the DelphiDabbler CodeSnip branding. To seek such permission please use the <em>CodeSnip</em> <a href="https://github.com/delphidabbler/codesnip/issues">Issue Tracker</a> on GitHub.
</p>

<h3>
Required Changes
</h3>

<p>
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 <strong>must</strong>:
</p>

<ol>
<li>
<p>
Replace the files in the <code>Src\Res\Img\Branding</code> directory with copies of the identically named placeholder files in the <code>Src\Res\Img\AltBranding</code> 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 <code>Src\Res\Img\Branding</code> without copying the placeholder files across then <em>CodeSnip</em> will fail to build.
</p>
</li>
<li>
<p>
Replace all relevant references, in source code and documentation, to the names &quot;CodeSnip&quot; and &quot;DelphiDabbler&quot; with your own company and program name. Relevant occurences are:
</p>
<ul>
<li>
Wherever the names may be displayed in the GUI.
</li>
<li>
Wherever the names may be displayed by the installer.
</li>
<li>
Wherever the names occur in directory names. In particular do not use the names in the program's <code>%ProgramData%</code> and <code>%AppData%</code> sub-directories.
</li>
<li>
Anywhere else that use of the names could imply endorsement of the modified code.
</li>
</ul>
</li>
<li>
<p>
Provide your own license file with content compatible with the requirements of the <em>CodeSnip</em> license as it relates to the code reused from the <em>CodeSnip</em> source tree. <strong>Do not</strong> edit or re-use <code>Docs/License.html</code>.
</p>
</li>
<li>
<p>
Modify source code and documentation where necessary to acknowledge the origins of the program's source code, documentation and images, in accordance with the <em>CodeSnip</em> license.
</p>
</li>
</ol>

<p>
Note that the <em>CodeSnip</em> license can be found in <code>Docs\License.html</code>.
</p>

<p>
If you are unsure about whether your changes meet the license requirements then you can seek clarification by creating an issue on the aforementioned <a href="https://github.com/delphidabbler/codesnip/issues">Issue Tracker</a>.
</p>

</body>

</html>
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,15 @@ 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.21.2 of 13 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) (ommitted from v4.20.0 in error) and fixed some bugs in the original implementation [issues #81 and #82], including:
Expand Down
Loading

0 comments on commit dd17a64

Please sign in to comment.