feat: release notes for 0.1.9; NetSurf license notices; bump version to 0.2.0

Cut two 0.1.9 x86_64 images: montauk-0.1.9-x86_64.iso (29 MB) and
montauk-0.1.9-sdk-x86_64.iso (194 MB). Both include the NetSurf port and
exclude the WIP git port; only the SDK image carries 0:/sdk.

GNUmakefile: add RELEASE_WITHOUT_SDK=1 to the release target, mirroring
RELEASE_WITH_PORTS. Needed because devkit is .PHONY and repopulates
programs/bin/sdk on every build, so the SDK cannot be held out by hand.
sdk/tcc and sdk/lua stay (installed by their own targets), as does 0:/tmp,
which the libc uses for tmpnam() and not just compiler intermediates.

Also strip .release-tmp/boot/kernel. The ramdisk carries its own copy of
the kernel -- the image the Installer lays down on the target disk -- and
it is not named *.elf, so the existing find missed it. It was shipping
unstripped at 6.2 MB against 0.7 MB.

Licensing: NetSurf (GPLv2, MIT artwork), the ten NetSurf project libraries
(MIT), utf8proc (MIT) and zlib now ship in both images and had no
attribution anywhere. Add notices for each, and broaden the stb_image
section to cover stb_truetype, which the GUI apps have always linked. The
component lists in license.txt and license.html were stale to match;
license.txt is the source for 0:/os/licenses/LICENSE.txt, so it ships.

downloads.html: 0.1.9 card with separate download links for the plain and
SDK images; 0.1.8 moves to the archive.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-08-13 10:54:42 +02:00
co-authored by Claude Opus 5
parent a28b8ad0b2
commit 86e3ebfe33
7 changed files with 349 additions and 14 deletions
+14
View File
@@ -270,8 +270,22 @@ ifneq ($(RELEASE_WITH_PORTS),1)
done
else
@echo "release: RELEASE_WITH_PORTS=1 - including out-of-tree port bundles"
endif
# The Montauk SDK (native GCC + binutils and their target sysroot under
# 0:/sdk) dominates the image size. Pass RELEASE_WITHOUT_SDK=1 to cut a slim
# ISO without it. Only the devkit-owned subtrees go: sdk/tcc and sdk/lua are
# installed by their own targets and stay, as does 0:/tmp, which the libc
# uses for tmpnam() and not just for compiler intermediates.
ifeq ($(RELEASE_WITHOUT_SDK),1)
@echo "release: RELEASE_WITHOUT_SDK=1 - excluding the Montauk SDK (0:/sdk dev tools)"
rm -rf .release-tmp/sdk/bin .release-tmp/sdk/lib .release-tmp/sdk/include \
.release-tmp/sdk/libexec .release-tmp/sdk/x86_64-montauk
endif
find .release-tmp -name '*.elf' -exec strip {} +
# The ramdisk carries its own copy of the kernel at 0:/boot/kernel -- that is
# the image the Installer lays down on the target disk -- and it is not named
# *.elf, so the find above misses it. Unstripped it is ~6 MB against ~0.7 MB.
strip .release-tmp/boot/kernel
./scripts/mkramdisk.sh .release-tmp iso_root/boot/ramdisk.tar
rm -rf .release-tmp
mkdir -p iso_root/boot/limine