-

A modern system for literate programming. This is version 7.1.0.

+

A modern system for literate programming. This is version 7.1.1.


    diff --git a/notes/release/7-1-0.md b/notes/release/7-1-0.md new file mode 100644 index 0000000..d2834ee --- /dev/null +++ b/notes/release/7-1-0.md @@ -0,0 +1,5 @@ +# Release notes for Inweb v7.1.0 + +This release was made in April 2022, but was only a prerelease and was marked +`-beta` in its semantic version number. The first proper release for major +version 7 is [v7.2.0](7-2-0.md). diff --git a/notes/release/7-2-0.md b/notes/release/7-2-0.md new file mode 100644 index 0000000..e62f6b5 --- /dev/null +++ b/notes/release/7-2-0.md @@ -0,0 +1,9 @@ +# Release notes for Inweb v7.2.0 + +This release was made in August 2022, and was the first proper release for major +version 7. This release is the baseline for Inweb release notes from here on. + +The prerelease version [v7.1.0](7-1-0.md), a stopgap during the period when +Inform's open-sourcing was getting going, is substantially the same program. +However, 7.2.0 corrects a few bugs, and the `foundation` library added a number +of useful functions, notably to do with JSON file parsing and validation. diff --git a/notes/version_history.md b/notes/version_history.md new file mode 100644 index 0000000..6032759 --- /dev/null +++ b/notes/version_history.md @@ -0,0 +1,12 @@ +# Version history + +See [versions](versions.md) for details of Inweb's version numbering. + +Links in the following table are to the archive of release notes, which +covers only the open-source era of Inform. (Earlier versions of Inweb were +sufficiently different to be not worth covering here.) + +Version | Build | Date | Highlights +--------------------------- | ----- | -------------- | ---------- +[7.1.0](release/7-1-0.md) | 1A96 | April 2022 | Prereleased beta +[7.2.0](release/7-2-0.md) | 1B15 | August 2022 | First proper release diff --git a/notes/versioning.md b/notes/versioning.md new file mode 100644 index 0000000..6de37d6 --- /dev/null +++ b/notes/versioning.md @@ -0,0 +1,26 @@ +# Branching and versioning policy + +## Version numbers for Inweb + +Inweb is developed in public. Command-line users comfortable with git can always get the very latest state. But that potentially means endless different versions of Inweb out there in the wild. To clarify this situation, all versions are numbered, and we will distinguish between "release" versions, which are ready for public use, and "unstable" versions, which are not. + +"Release" versions have simple version numbers in the shape `X.Y.Z`: for example, `7.1.0`. + +"Unstable" versions are commits of the software between releases. These have much longer version numbers, containing an `-alpha` or `-beta` warning. For example, `7.1.0-beta+1B14`. (The `+1B14` is a daily build number, also only +present on version numbers of unstable versions.) + +Note that `inweb -version` prints out the full version number of the core +source it was compiled from. This one is clearly unstable: + + $ inweb/Tangled/inweb -version + inweb version 7.1.0-beta+1B14 'Escape to Danger' (9 August 2022) + +(At some point, major versions of Inweb were given code-names according to the +episodes of the 1964 Doctor Who serial [The Web Planet](https://en.wikipedia.org/wiki/The_Web_Planet). +Major version 8 will be "Crater of Needles".) + +## Branching + +In the core Inweb repository, active development is on the `master` branch, at least for now. That will always be a version which is unstable. All releases will be made from short branches off of `master`. For example, there will soon be a branch called `r7.1`. This will contain as few commits as possible, ideally just one, which would be the actual release version of 7.1.0. But if there are then point updates with bug fixes, say 7.1.1, 7.1.2, and so on, those would be further commits to the `r7.1` branch. Later, another short branch from `master` would be `r7.2`. + +Releases will be tagged with their version numbers, so the commit representing 7.1.0 will be tagged `v7.1.0`. These will be presented under Releases in the usual Github way, from the column on the right-hand side of the home page. We expect to provide the app installers as associated binary files on those releases, though that won't be the only place they are available. diff --git a/scripts/inweb.rmscript b/scripts/inweb.rmscript index dd1f97e..57ae442 100644 --- a/scripts/inweb.rmscript +++ b/scripts/inweb.rmscript @@ -1,6 +1,6 @@ # Inweb {bibliographic datum: Version Number of: inweb} -v{bibliographic datum: Semantic Version Number of: inweb} '{bibliographic datum: Version Name of: inweb}' ({bibliographic datum: Build Date of: inweb}) +[Version](notes/versioning.md): {bibliographic datum: Semantic Version Number of: inweb} '{bibliographic datum: Version Name of: inweb}' ({bibliographic datum: Build Date of: inweb}) ## About Inweb @@ -40,24 +40,27 @@ This is in order that there can be clear ownership. ## Build Instructions +**Caution**: The `main` branch of this repository generally holds "unstable", that is, +unreleased work-in-progress versions of Inform. See [notes/versioning.md](notes/versioning.md). + Inweb is intentionally self-sufficient, with no dependencies on any other software beyond a modern C compiler. However, it does in a sense depend on itself: because Inweb is itself a web, you need Inweb to compile Inweb. Getting around that circularity means that the initial setup takes a few steps. -Make a directory in which to work: let's call this "work". Then: +Make a directory in which to work: let's call this `work`. Then: -* Change the current directory to this: "cd work" -* Clone Inweb: "git clone https://github.com/ganelson/inweb.git" +* Change the current directory to this: `cd work` +* Clone Inweb: `git clone https://github.com/ganelson/inweb.git` * Run **one of the following commands**. - * "bash inweb/scripts/first.sh linux" - * "bash inweb/scripts/first.sh macos" - * "bash inweb/scripts/first.sh macos32" - * "bash inweb/scripts/first.sh macosarm" - * "bash inweb/scripts/first.sh macosuniv" - * "bash inweb/scripts/first.sh unix" - * "bash inweb/scripts/first.sh windows" -* Test that all is well: "inweb/Tangled/inweb -help" + * `bash inweb/scripts/first.sh linux` + * `bash inweb/scripts/first.sh macos` + * `bash inweb/scripts/first.sh macos32` + * `bash inweb/scripts/first.sh macosarm` + * `bash inweb/scripts/first.sh macosuniv` + * `bash inweb/scripts/first.sh unix` + * `bash inweb/scripts/first.sh windows` +* Test that all is well: `inweb/Tangled/inweb -help` Some notes on which platform to choose: * For Intel Macs running MacOS 10.13 ("High Sierra") or earlier, use macos32. @@ -75,13 +78,13 @@ has not yet an opportunity to contribute build settings. You should now have a working copy of Inweb, with its own makefile tailored to your platform now in place (at inweb/inweb.mk). To build inweb again, e.g. after editing inweb's source code, do not run the shell script first.sh again. -Instead, you must use: "make -f inweb/inweb.mk" +Instead, you must use: `make -f inweb/inweb.mk` If you wish to tweak the makefile, do not edit it directly. Instead, edit inweb/scripts/inweb.mkscript and inweb/Materials/platforms/PLATFORM.mkscript, -where PLATFORM is your choice as above (e.g., 'macos'). Then run "make -f inweb/inweb.mk makers" +where PLATFORM is your choice as above (e.g., 'macos'). Then run `make -f inweb/inweb.mk makers` to rebuild all these makefiles with your changes incorporated; and then run -the shell script "inweb/scripts/first.sh" again. +the shell script `inweb/scripts/first.sh` again. A few features of inweb used when integrating the core Inform software into its apps rely on having the standard Unix tool "rsync" installed: so on Linux, where @@ -141,7 +144,7 @@ A small executable for running unit tests against Foundation is also included: ## Testing Inweb -If you have also built Intest as "work/intest", then you can try these: +If you have also built Intest as `work/intest`, then you can try these: * intest/Tangled/intest inweb all * intest/Tangled/intest inweb/foundation-test all diff --git a/versions.txt b/versions.txt index ff908b1..3a3a0ca 100644 --- a/versions.txt +++ b/versions.txt @@ -2,4 +2,3 @@ 4 5Z71 April 2009 The Web Planet 5 6H66 April 2011 Ported to C The Zarbi 6 6L02 May 2014 -Escape to Danger 7.1 * 28 April 2022 Modernised throughout