diff --git a/AppCommon/GlobalAppVersion.cs b/AppCommon/GlobalAppVersion.cs index 3dab59f..ebc8e1c 100644 --- a/AppCommon/GlobalAppVersion.cs +++ b/AppCommon/GlobalAppVersion.cs @@ -27,7 +27,7 @@ public static class GlobalAppVersion { /// Overall application version. /// public static readonly CommonUtil.Version AppVersion = - new CommonUtil.Version(1, 0, 2, CommonUtil.Version.PreRelType.Dev, 3); + new CommonUtil.Version(1, 0, 2, CommonUtil.Version.PreRelType.Final, 0); // NOTE: there's an independent version in DiskArc/Defs.cs } } diff --git a/DiskArc/Defs.cs b/DiskArc/Defs.cs index 5f381d0..ca14c1b 100644 --- a/DiskArc/Defs.cs +++ b/DiskArc/Defs.cs @@ -27,7 +27,7 @@ public static class Defs { /// DiskArc library version number. /// public static CommonUtil.Version LibVersion { get; } = - new CommonUtil.Version(1, 0, 1, CommonUtil.Version.PreRelType.Final, 0); + new CommonUtil.Version(1, 0, 2, CommonUtil.Version.PreRelType.Final, 0); public const string BUILD_TYPE = #if DEBUG diff --git a/Install.md b/Install.md index 11ae27f..c910939 100644 --- a/Install.md +++ b/Install.md @@ -24,14 +24,14 @@ or use one of these links to download a recent stable release: System | Self-Cont'd? | Link ------------- | ------------ | ---- -Windows x86 | no | https://github.com/fadden/CiderPress2/releases/download/v1.0.1/cp2_1.0.1_win-x86_fd.zip -Windows x86 | yes | https://github.com/fadden/CiderPress2/releases/download/v1.0.1/cp2_1.0.1_win-x86_sc.zip -Windows x64 | no | https://github.com/fadden/CiderPress2/releases/download/v1.0.1/cp2_1.0.1_win-x64_fd.zip -Windows x64 | yes | https://github.com/fadden/CiderPress2/releases/download/v1.0.1/cp2_1.0.1_win-x64_sc.zip -Mac OS x64 | no | https://github.com/fadden/CiderPress2/releases/download/v1.0.1/cp2_1.0.1_osx-x64_fd.zip -Mac OS x64 | yes | https://github.com/fadden/CiderPress2/releases/download/v1.0.1/cp2_1.0.1_osx-x64_sc.zip -Linux x64 | no | https://github.com/fadden/CiderPress2/releases/download/v1.0.1/cp2_1.0.1_linux-x64_fd.zip -Linux x64 | yes | https://github.com/fadden/CiderPress2/releases/download/v1.0.1/cp2_1.0.1_linux-x64_sc.zip +Windows x86 | no | https://github.com/fadden/CiderPress2/releases/download/v1.0.2/cp2_1.0.2_win-x86_fd.zip +Windows x86 | yes | https://github.com/fadden/CiderPress2/releases/download/v1.0.2/cp2_1.0.2_win-x86_sc.zip +Windows x64 | no | https://github.com/fadden/CiderPress2/releases/download/v1.0.2/cp2_1.0.2_win-x64_fd.zip +Windows x64 | yes | https://github.com/fadden/CiderPress2/releases/download/v1.0.2/cp2_1.0.2_win-x64_sc.zip +Mac OS x64 | no | https://github.com/fadden/CiderPress2/releases/download/v1.0.2/cp2_1.0.2_osx-x64_fd.zip +Mac OS x64 | yes | https://github.com/fadden/CiderPress2/releases/download/v1.0.2/cp2_1.0.2_osx-x64_sc.zip +Linux x64 | no | https://github.com/fadden/CiderPress2/releases/download/v1.0.2/cp2_1.0.2_linux-x64_fd.zip +Linux x64 | yes | https://github.com/fadden/CiderPress2/releases/download/v1.0.2/cp2_1.0.2_linux-x64_sc.zip Once downloaded, unzip the file somewhere convenient (Safari on the Mac will do the unzip for you). There is no installer; the commands are executed directly from where they are unzipped. diff --git a/README.md b/README.md index daeb659..32a6eaf 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# CiderPress II # +# CiderPress II # CiderPress II is a software tool for working with disk images and file archives associated with vintage Apple computers, notably the Apple II line and early Macintoshes. It runs on diff --git a/SourceNotes.md b/SourceNotes.md index 27d22f5..7464237 100644 --- a/SourceNotes.md +++ b/SourceNotes.md @@ -115,3 +115,49 @@ As of v1.0, the division of code between components is approximately: (Based on Lines of Executable Code, from Visual Studio's "Calculate Code Metrics" feature.) + +## Publishing a New Release ## + +There are several steps involved in publishing a new release. Start by +updating versions and running a final set of tests on the app. + + 1. Update the version number in `AppCommon/GlobalAppVersion.cs`. This + changes the version number displayed by the applications, and + determines the version in the filenames generated by MakeDist. + 2. Update the version number in `DiskArc/Defs.cs`. This just tracks + GlobalAppVersion. It's stored redundantly because the library is + intended to be separable from the application. (You don't need to + update this for a non-final release.) + 3. Do a full build of the project in Visual Studio, in Debug mode. It's + important to build for Debug to enable assertions and extended checks. + Note this step builds MakeDist with the updated version number. + 4. Launch the GUI application. Verify the version number. It's also good + to do this because, in a Debug build, some library unit tests are + executed during app startup. + 5. Run the command-line tests: `cp2 debug-test`, `cp2 debug-test-da`, + and `cp2 debug-test-fc`. These require files in the TestData directory. + All tests must pass. If you're not built for Debug mode, you will see + a warning at the end of the test runs. + +If this is a "final" release, you will need to publish updated documentation +as well. Don't do this for pre-releases; the web documentation should +always match the latest final release. + + 6. Update the `app_version` number in `ndocs/publish.py`. This is used + for text substitution in the descriptive text and installer links. + 7. From the command line, in the `ndocs` directory, run `publish.py` + (you may need to explicitly run python). This will update the contents + of the `docs` directory and the top-level documentation (including + this file) with the contents of `ndocs`. Check the diffs. + +Finally, build the applications and submit the changes. + + 8. Run `makedist build` from the top level of the source tree (it'll be in + `MakeDist/bin/debug/NET6.0`). This builds the distribution packages. + The output will be in the `DIST` directory. + 9. Submit all changes to git, push them to the server. + 10. Create a new release on github. Drag `DIST/*.zip` into the release. + 11. Update/close any issues that have been addressed by the new release. + +Version numbers should follow the semantic versioning scheme: v1.2.3, +v1.2.3-dev1, etc. diff --git a/docs/Manual-cp2.md b/docs/Manual-cp2.md index 1c79785..1e22e5b 100644 --- a/docs/Manual-cp2.md +++ b/docs/Manual-cp2.md @@ -1600,9 +1600,11 @@ Text documents: - `teach`: Apple IIgs Teach Document Graphics: + - `ashape`: Applesoft shape table - `dhgr`: Apple II double-hi-res screen - `conv` (multi): color conversion: `bw`, `latch`, `window`, or `simple` (default is `latch`) + - `gsicon`: Apple IIgs Finder icon file - `hgr`: Apple II hi-res screen - `bw` (bool): false=color (default), true=black & white - `hgrfont`: Apple II or /// hi-res screen font @@ -1612,6 +1614,8 @@ Graphics: - `mult` (bool): true=multiplies pixels 2x horiz, 3x vert (default) - `psfont`: Print Shop font - `mult` (bool): true=multiplies pixels 2x horiz, 3x vert (default) + - `qdfont`: Apple IIgs QuickDraw II bitmap font file + - `mode` (multi): output type: `sample`, `grid` - `shr`: Apple IIgs super hi-res screen ($C1/0000) - `shr3200`: Apple IIgs super hi-res 3200-color screen ($C1/0002) - `shr3201`: Apple IIgs compressed super hi-res 3200-color screen @@ -1665,6 +1669,7 @@ ignored, because the input files are expected to be host files. The available converters are: - `bas`: convert Applesoft BASIC listing back to a tokenized program (only works on .txt output, not .rtf output) + - `merlin`: convert a plain text file to Merlin's ProDOS file format - `text`: convert host text file, replacing end-of-line markers and converting characters - `inchar` (multi): define input (host) character set diff --git a/docs/README.md b/docs/README.md index adc410e..35629c3 100644 --- a/docs/README.md +++ b/docs/README.md @@ -28,7 +28,7 @@ handful of top-level documents (like the project README and installation instructions) are copied out of the `top` directory. Some text variable substitutions can be performed on HTML and Markdown files -as they are copied, e.g. all occurrences of `1.0.1` will be replaced with +as they are copied, e.g. all occurrences of `1.0.2` will be replaced with the current app version. This is used to update the links in the download instructions (`Install.md`) to point at the current release. diff --git a/docs/doc-index.html b/docs/doc-index.html index 0af2e73..27e1c54 100644 --- a/docs/doc-index.html +++ b/docs/doc-index.html @@ -163,7 +163,7 @@

Filesystems

  • CP/M for Apple II 5.25" and 3.5" disks
  • - DOS (Disk Operating System) 3.2 / 3.3
  • + Apple DOS (Disk Operating System) 3.2 / 3.3
  • Gutenberg word processor filesystem
  • @@ -171,7 +171,7 @@

    Filesystems

  • MFS (Macintosh File System)
  • - Pascal (filesystem developed for Apple Pascal)
  • + Pascal (filesystem developed for Apple's UCSD Pascal)
  • ProDOS (Professional Disk Operating System) and SOS (Sophisticated Operating System)
  • @@ -220,6 +220,10 @@

    Vintage File Formats

    Apple IIgs super-hi-res image (various formats, including APF and DreamGrafix)
  • Apple IIgs QuickDraw II bitmap font file
  • +
  • + Apple IIgs Finder icon file
  • +
  • + Applesoft shape table
  • MacPaint graphics document
  • diff --git a/docs/features.html b/docs/features.html index 8cbc13e..8d0ee3d 100644 --- a/docs/features.html +++ b/docs/features.html @@ -213,12 +213,15 @@

    File Conversion - Export

    Teach Document most formatting supported Apple II hi-res 560x384 color or B&W bitmap, with half-pixel shifts Apple II & Apple /// hi-res font bitmap grid with 96 or 128 glyphs + Applesoft shape table bitmap grid LZ4FH hi-res 560x384 color or B&W Apple II double hi-res 560x384 color or B&W Apple IIgs super hi-res 640x400 color; unpacked ($C1/0000), Paintworks ($C0/0000), packed ($C0/0001), APF ($C0/0002) Apple IIgs super hi-res 3200 640x400 color; unpacked ($C1/0002), DreamGrafix ($C0/8005), ".3201" + Apple IIgs bitmap font bitmap with rendered sample or a glyph grid + Apple IIgs Finder icon file bitmap grid with large/small icons and masks MacPaint 576x720 B&W Print Shop / GS clip art color and monochrome Print Shop font bitmap @@ -238,11 +241,12 @@

    File Conversion - Import

    Action Plain text convert EOL and character set - Applesoft BASIC plain text to executable form + Merlin Assembler convert plain text to Merlin's ProDOS file format + Applesoft BASIC convert plain text to executable form -

    Imported text files may be encoded with UTF-8, ISO 8859-1, or CP 1252. -They can be converted to ASCII, high ASCII, or Mac OS Roman.

    +

    For plain text conversions, imported text files may be encoded with +UTF-8, ISO 8859-1, or CP 1252. They can be converted to ASCII, high ASCII, or Mac OS Roman.

    diff --git a/docs/index.html b/docs/index.html index ac0082c..ff6e4d7 100644 --- a/docs/index.html +++ b/docs/index.html @@ -105,7 +105,7 @@

    Key features:

    -Download the latest release (1.0.1) from github.

    +Download the latest release (1.0.2) from github.

    Free Software

    The full source code for CiderPress II is available on diff --git a/ndocs/publish.py b/ndocs/publish.py index 7e560bb..8bc494f 100644 --- a/ndocs/publish.py +++ b/ndocs/publish.py @@ -15,7 +15,7 @@ # Current version string. Used for text substitution. -app_version = "1.0.1" +app_version = "1.0.2" pkg_version = app_version # ----- nothing configurable below ----- diff --git a/ndocs/top/SourceNotes.md b/ndocs/top/SourceNotes.md index 8b55f0b..7464237 100644 --- a/ndocs/top/SourceNotes.md +++ b/ndocs/top/SourceNotes.md @@ -124,39 +124,40 @@ updating versions and running a final set of tests on the app. 1. Update the version number in `AppCommon/GlobalAppVersion.cs`. This changes the version number displayed by the applications, and determines the version in the filenames generated by MakeDist. - 1. Update the version number in `DiskArc/Defs.cs`. This just tracks + 2. Update the version number in `DiskArc/Defs.cs`. This just tracks GlobalAppVersion. It's stored redundantly because the library is intended to be separable from the application. (You don't need to update this for a non-final release.) - 1. Do a full build of the project in Visual Studio, in Debug mode. It's + 3. Do a full build of the project in Visual Studio, in Debug mode. It's important to build for Debug to enable assertions and extended checks. Note this step builds MakeDist with the updated version number. - 1. Launch the GUI application. Verify the version number. It's also good + 4. Launch the GUI application. Verify the version number. It's also good to do this because, in a Debug build, some library unit tests are executed during app startup. - 1. Run the command-line tests: `cp2 debug-test`, `cp2 debug-test-da`, - and `cp2 debug-test-fc`. All tests must pass. If you're not built for - Debug mode, you will see a warning at the end of the test runs. + 5. Run the command-line tests: `cp2 debug-test`, `cp2 debug-test-da`, + and `cp2 debug-test-fc`. These require files in the TestData directory. + All tests must pass. If you're not built for Debug mode, you will see + a warning at the end of the test runs. If this is a "final" release, you will need to publish updated documentation as well. Don't do this for pre-releases; the web documentation should always match the latest final release. - 1. Update the `app_version` number in `ndocs/publish.py`. This is used + 6. Update the `app_version` number in `ndocs/publish.py`. This is used for text substitution in the descriptive text and installer links. - 1. From the command line, in the `ndocs` directory, run `publish.py` + 7. From the command line, in the `ndocs` directory, run `publish.py` (you may need to explicitly run python). This will update the contents of the `docs` directory and the top-level documentation (including this file) with the contents of `ndocs`. Check the diffs. Finally, build the applications and submit the changes. - 1. Run `makedist build` from the top level of the source tree (it'll be in + 8. Run `makedist build` from the top level of the source tree (it'll be in `MakeDist/bin/debug/NET6.0`). This builds the distribution packages. The output will be in the `DIST` directory. - 1. Submit all changes to git, push them to the server. - 1. Create a new release on github. Drag `DIST/*.zip` into the release. - 1. Update/close any issues that have been addressed by the new release. + 9. Submit all changes to git, push them to the server. + 10. Create a new release on github. Drag `DIST/*.zip` into the release. + 11. Update/close any issues that have been addressed by the new release. Version numbers should follow the semantic versioning scheme: v1.2.3, v1.2.3-dev1, etc.