Update relnotes.adoc

Add release notes for bin/calendar, usr.bin/gh-bc (contrib/bc), and
the new getlocalbase() function in libutil

This is the first commit regarding actual changes of base components
in this document and I'm not sure about the style and format expected.
Feel free to edit and adapt the text from this commit (or let me know
how it should be changed) to make it better align with later additions
to this file.

Approved by:	re
main
Stefan Eßer 3 years ago
parent cef63a2e43
commit 4617898687

@ -103,10 +103,38 @@ This section covers changes and additions to userland applications, contributed
[[userland-programs]]
=== Userland Application Changes
==== calendar: Restore calendar file condition parsing
The calendar program used to invoke the traditional C pre-processor to process include files and conditional sections of the data files.
This had to be changed when the traditional C pre-processor was removed from FreeBSD, and a simple pre-processor was implemented within the calendar program itself.
The calendar program in FreeBSD-13 restores the condition and comment processing to the level provided by the C pre-processor and offers the the following features:
- Support #undef to cancel a prior #define
- #ifdef, #ifndef, #else, and #endif are supported and can be nested
- #include is now processed using the calendar owner's home directory (not the invoking user's home directory, fixes "calendar -a")
- Support for C and C++ style comments
Dates are now always displayed according to the locale of the invoking user, not the (optional) locales specified in the calendar files.
This prevents printing mixed date formats depending on the locales specified in each of the data files.
The calendar data files that used to be distributed with earlier version of FreeBSD have been moved to the deskutils/calendar-data port respectively the calendar-data package, with the exception of the FreeBSD committer data file, which has been kept.
[[userland-contrib]]
=== Contributed Software
==== contrib/bc: New implementation of the bc and dc programs
This implementation of the bc and dc programs offers a number of advantages over the previous versions in the FreeBSD base system:
- They do not depend on external large number functions (i.e. no dependency on OpenSSL or any other large number library).
- They implements all features found in GNU bc/dc (with the exception of the forking of sub-processes, which the author of this version considers as a security issue).
- They are significantly faster than the current code in base (more than 2 orders of magnitude in some of my tests, e.g. for 12345^100000).
- They should be fully compatible with all features and the behavior of the current implementations in FreeBSD.
- They support POSIX message catalogs and come with localized messages in Chinese, Dutch, English, French, German, Japanese, Polish, Portugueze, and Russian.
- They offer very detailed man-pages that provide far more information than the current ones.
The previous implementation is still available in FreeBSD-13 and can be selected instead of the new one by the build option WITHOUT_GH_BC.
[[userland-deprecated-programs]]
=== Deprecated Applications
@ -115,6 +143,14 @@ This section covers changes and additions to userland applications, contributed
[[userland-libraries]]
=== Runtime Libraries and API
==== getlocalbase() function
A function has been added to libutil to provide applications with a standard way to determine the path prefix for files installed by ports and packages.
This function will return the value of the environment variable LOCALBASE if it has been defined.
Else the value of the sysctl variable "user.localbase" is returned, which has a default value of __PATH_LOCALBASE ("/usr/local", unless changed in paths.h).
Shell scripts can directly use the environment variable LOCALBASE or "sysctl user.localbase" for this purpose.
[[kernel]]
== Kernel

Loading…
Cancel
Save