Merge commit '9992e6a682b1c35b4385c3b512db329ec8ab9ede'
[unleashed.git] / FEATURES.txt
blob14f8ff9628e1369b0e01d0a8416983883d7dc552
1 Features
2 ========
4 This file documents feature changes at a very high level.
6 A '-' means that the support for that feature was removed, a '+' means that
7 the support for that feature was added, and a '*' means that the behavior
8 was changed.
10 <next> release
11 --------------
12  - hsfs-formatted boot archive support
13  - libc compat symbols: _nuname, __posix_readdir_r, __threaded
14  - binary compatibility bread/bwrite/bwrite2/getblk kernel symbols
15  - libxnet and libsocket filter libraries
16  - libm.so.1 (legacy libm)
17  * convert BREAD/BWRITE/BWRITE2/GETBLK macros to bread/bwrite/bwrite2/getblk
18    static inlines
20 1.0 release
21 -----------
22  - 32-bit x86 kernel support (32-bit x86 applications are still supported)
23  - sparc support
24  - xen domU and dom0 support
25  - Trusted Solaris aka. Trusted Extensions
26  - SVR4 pkg support & code
27  - solaris10 zone brand
28  - GRUB
29  - ndd(8) (use ipadm(8) and dladm(8) instead)
30  - closed source components were removed, including:
31    - in.iked(8) and related utilities
32    - kmdb modules: mpt and nfs
33    - kernel drivers: atiatom, bnx, ixgb, sdpib, usbser_edge, glm, mpt, adpu320,
34      bcm_sata, lsimega, marvel88sx, acpi_toshiba, intel_nhmex
35  - avs ("Sun StorageTek Availability Suite")
36  - tcopy(1)
37  - /usr/ucb and libbc ("SunOS/BSD Compatibility Package")
38  - rdist(1), rcp(1), rlogin(1), rlogind(1m), rsh(1), rshd(1m)
39  - uucp services (uuencode and uudecode are still present)
40  - libslp, slpd ("Service Location Protocol daemon")
41  - Java bits: poold(8), libzfs_jni, libadt_jni, libdtrace_jni,  DTrace Java
42    support, parts of libdns_sd
43  - Sun Studio and lint build support
44  - getpwent_r(3c), fgetpwent_r(3c), which are non-standard and were different
45    from other OSes
46  - getpw(3c)
47  - POSIX.1c Draft versions of several reentrant functions were removed.
48    Applications using the draft versions have to be modified; users of the
49    standard versions are unaffected.
50     - readdir_r
51     - getpwuid_r
52     - getpwnam_r
53  - c_synonyms.so
54  - drop support for Riyadh87, Riyadh88, and Riyadh89 timezones
55  - routeadm(1m), svc:/network/routing/legacy-routing,
56    svc:/network/ipv[46]-forwarding removed. use ipadm to manage forwarding and
57    smf to manage the routing-related daemons.
58  - xpg4, xpg6 directories were removed, utilities moved to /usr/bin.
59  - troff(1), nroff(1), addbib(1), checknr(1), deroff(1), diffmk(1), eqn(1),
60    indxbib(1), lookbib(1), refer(1), roffbib(1), soelim(1), tbl(1), ul(1),
61    vgrind(1), /usr/bin/makedev /usr/bin/ta removed -- made obsolete by mandoc
62  - pre-XPG5 behavior: ungetwc(3c), putwchar(3c), putwc(3c), fputwc(3c),
63    fputws(3c), fgetwc(3c), getwc(3c), getwchar(3c), fgetws(3c)
64  - C89 behavior: fprintf(3c), fscanf(3c), fwprintf(3c), fwscanf(3c),
65    printf(3c), scanf(3c), snprintf(3c), sprintf(3c), sscanf(3c),
66    swprintf(3c), swscanf(3c), vfprintf(3c), vfscanf(3c), vfwprintf(3c),
67    vfwscanf(3c), vprintf(3c), vscanf(3c), vsnprintf(3c), vsprintf(3c),
68    vsscanf(3c), vswprintf(3c), vswscanf(3c), vwprintf(3c), vwscanf(3c),
69    wprintf(3c), wscanf(3c)
70  + awk(1) replaced with a version imported from FreeBSD
71  + libcurses, libxcurses, libxcurses2, terminfo were replaced by ncurses
72  + grep(1) replaced with a version imported from FreeBSD
73  + errc(3), warnc(3) were added to libc
74  + fts(3) added to libc
75  + reallocarray(3) added to libc
76  + LibreSSL (libcrypto, libssl, libtls, openssl(1), nc(1)) added
77  + cpio-formatted boot archives
78  * man(1) is mandoc. mandoc.db support added, eliminating the need for
79    manpage symlinks.
80  * socket interfaces are now in libc. libsocket, libxnet and libnsl remain as
81    filter libraries.
82  * socket implementation was modified to be more reasonable by default, and it
83    is no longer possible to choose an alternate socket implementation.
84    msg_accrights was removed and msg_control members are now always visible in
85    struct msghdr.
86    Documentation was updated and moved to section 2: accept(2), bind(2),
87    connect(2), getpeername(2), getsockname(2), getsockopt(2), listen(2),
88    recv(2), send(2), shutdown(2), socket(2), socketpair(2), and the new
89    sockatmark(2) and CMSG_DATA(3)
90  * make(1) is bmake(1) instead of dmake(1)
91  * sed(1) replaced with a version imported from FreeBSD
92  * locale data has been updated to CLDR v28; tools to generate it were imported
93    from FreeBSD. This fixes many character classification errors.
94  * install(1m) was replaced by install(1) from OpenBSD.
95  * all process security flags are on by default
96  * putwchar(3c), putwc(3c), fputwc(3c), and fputws(3c) have only XPG5 behavior
97  * man pages from section 1M have been moved to section 8; third party code
98    (libncurses, namely) is not affected