This is the fifth and final release of Unleashed - an operating system fork of illumos. For more information about Unleashed itself and the download links, see our website [1]. That is right, we are pulling the plug on this project. What began as a hobby project for two developers never grew much beyond being a hobby project for two developers. But after nearly 4 years of work, we proved that the illumos code base can be cleaned up significantly, its APIs modernized, and the user experience improved in general. While we've made too many changes [2] to list them all here, I'd like to highlight what I think are some of our major accomplishments: - shrinking the codebase by about 25% (~5.6 million lines of code) even though we imported major components (e.g., libressl, openbsd ksh) - reducing build times drastically (from ~40 minutes to ~16 minutes on a 2012-era 4 core CPU) - changing uname to Unleashed and amd64 (from SunOS 5.11 i86pc) In addition to the projects we finished, we were well on the way to several other improvements that we simply haven't gotten around to completing. Some of the more notable ones include: - page cache rewrite (~3/5 done) - modernizing the build system with bmake / removing dmake (~1/5 done) - everything 64-bit only (~4/5 done) All that we've accomplished is just the tip of the iceberg of what remains to be done. Unfortunately for Unleashed, we both decided that we wanted to spend our free time on different projects. I know I'm biased, but I think we've made some good changes in Unleashed and I'd love to see at least some of them make their way into illumos-gate or one of the illumos distros. So, I hope that someone will have the time and interest to integrate some of these changes. Finally, I'd like to encourage anyone who may be interested not to be afraid of forking an open source project. Even if it doesn't work out, it is extremely educational. The remainder of this email is the typical release announcement text. By far the most significant changes since 1.3 were the changes around the compilation environment. Namely: - compilers produce 64-bit output by default - /usr/bin/ld is binutils ld.bfd - 32-bit libs are in i386 subdirs, 64-bit libs are outside subdirs (no more amd64/) As before, you can install the system from scratch using the ISO or USB images, or update using pkg(1). To update an existing system, download the p5p and run: # pkg set-publisher -G '*' -g file:///path/to/unleashed-1.4.p5p unleashed # pkg set-publisher -G '*' -g file:///path/to/unleashed-1.4.p5p userland # pkg update # reboot You will also want to rebuild any additional software you may have built. With all this said, give the release a try. We will still be on IRC (#unleashed on Freenode) and the mailing list answering questions. Happy hacking! Jeff. [1] https://www.unleashed-os.org [2] https://repo.or.cz/unleashed.git/blob/HEAD:/FEATURES.txt --- A '-' means that the support for that feature was removed, a '+' means that the support for that feature was added, and a '*' means that the behavior was changed. + native compiler support: * all provided compilers and binutils generate 64-bit output by default. -m32 is required for 32-bit. * gcc 4.9 has been removed. gcc 6.4.0 is now the default compiler /usr/bin/cc, and it is used to build userland and the bmake part of base. * gcc 4.4.4 aka. illumos-gcc is provided in /opt/gcc/4.4.4/bin/gcc, and it is used to build itself as well as the dmake part of base. * the default compiler uses GNU binutils ld.bfd as the linker. gcc 4.4.4 stays with sunld for compatibility. * the default compiler does not support Solaris-specific features (eg. #pragma init/fini, cmn_err format checking, startfile selection from values-{Xa,Xc,Xs,Xt,xpg4,xpg6} based on -std) * the default compiler does not define sun/__sun/__sun___ or __svr4__/__SVR4. gcc 4.4.4 still does, for compatibility reasons. * __unleashed__ is automatically defined by all provided compilers. - multiarch support from python removed; it's now 64-bit only - /etc/log symlink & /var/adm/log directory - /etc/[uw]tmpx symlink - /usr/adm symlink - legacy accounting and reporting * 32-bit libraries moved to i386 subdir of /lib and /usr/lib, and 64-bit libraries moved from the amd64 subdir to the top level of /lib and /usr/lib. in subdirectories not directly handled by the default ld.so configuration, the old style of amd64 subdir is still (mostly) used. * moved all /var/adm files to /var/log * moved /var/svc/log to /var/log/svc * ntp has been replaced with openntpd 6.2p3 * bash 5.0.3 * zsh 5.7.1