1*** Major changes in newlib version 4.4.0:
2
3- long double support for i386, aarch64, and x86_64 added from FreeBSD
4- RISC-V Zfinx/Zdinx extension support
5- wildcard support added to allow arbitrary include dirs to be specified for a platform
6- Xtensa port added
7- printf family helper functions split out into separate files to save space when linking
8- wide-oriented I/O fixes including proper split of byte and wide-oriented stdio functions
9- support added for RISC-V long double math
10- fixes for c99/gcc-14 warnings treated as errors in multiple platforms
11
12*** Major changes in newlib version 4.3.0:
13
14
15- remove i?86-pc-linux-gnu support
16- remove decstation & sunos support
17- remove phoenix OS support
18- remove unused members from struct _reent (see also --enable-newlib-reent-binary-compat)
19- build system internals heavily rewritten & updated
20- make arm jmp_buf size and alignment ABI-conformant
21- fixed bug in arm setjmp/longjmp to preserve floating-point register values
22- add --enable-newlib-reent-thread-local configuration option
23- add --enable-newlib-reent-binary-compat configuration option
24- add 64-bit powerpc setjmp/longjmp support
25- use global stdio streams for all configurations
26- use global atexit data for all configurations
27- vectorized math routines added for amdgcn platform
28- nvptx: remove newlib ELIX level 1 restriction
29
30*** Major changes in newlib version 4.2.0:
31
32- remove use of --cygnus option for automake
33- rename configure.in files to configure.ac
34- enable automake silent rules
35- import gdtoa from OpenBSD
36- update to Unicode 14.0
37- ignore _FORTIFY_SOURCE when building newlib
38- fixes to ldtoa
39- add clock support to nvptx port
40- various pthread POSIX APIs added
41- added implementatio for sig2str/str2sig
42- strtod/strtof to set errno to ERANGE consistently for underflow
43- fixed rounding issue with sqrt/sqrtf
44- fixed heap fragmentation issue with nano-malloc
45- FTW port for newlib
46- additions to sys/tree.h
47
48*** Major changes in newlib version 4.1.0:
49
50- fixes for regressions to pow/powf and tgamma functions
51- RISC-V semihosting support
52- RISC-V and arm patches
53
54*** Major changes in newlib version 4.0.0:
55
56- additional out-of-bounds checking for malloc/nano-malloc family
57- various fixes to makedocbook for python 3.8
58- multiple standard/accuracy fixes to libm math routines
59- C-SKY port
60- support for Armv8-R aarch64 added
61- move of __tzrules_struct from time.h to internal header
62- math additions/improvements for RISC-V and arm
63- all arm code converted to use unified syntax for Thumb1
64- fenv support added for multiple platforms
65- hard float support for PowerPC taken from FreeBSD
66- advertising clause removed from BSD licenses
67- various other fixes
68
69*** Major changes in newlib version 3.2.0:
70
71- memmem performance improvement
72- nanf() and HUGE_VALF now used in libm float routines to reduce size
73- new reduced "tiny" code size printf and puts support
74- errno setting enhanced in libm routines
75- new --enable-newlib-reent-check-verify configure option to verify reent memory
76- <fenv.h> support added
77- <sys/time.h> and <sys/_timespec.h> synced with FreeBSD
78- timeval macros moved to <sys/time.h>
79- newlib wide char conversion functions updated to Unicode 11.0
80- new msp430-elfbare target support
81- AMD GCN port
82- PRU port
83- nbdm port
84- various standard improvements
85
86*** Major changes in newlib version 3.1.0:
87
88- global stdio streams support added for reent small
89- _CLOCKID_T made system configurable
90- generated Unicode 10.0 width data, case conversion data,
91  character category data
92- Unicode table generation scripts fixed/enhanced
93- performance enhancements for qsort, strstr
94- nvptx port added
95- sinf/cosf/sincosf/exp/exp2/log/log2/pow rewritten for performance and accuracy
96- various gcc warnings fixed
97- various standard improvements
98
99
100*** Major changes in newlib version 3.0.0:
101
102- K&R support removed in code and docs
103- 64-bit time_t support
104- riscv platform support added
105- new expf, exp2f, logf, and powf implementations
106- unification of lock object names
107- locking routine retargetting at link time
108- new long double complex math routines
109- various ARM optimizations
110- various POSIX/BSD additions
111- further feature test macros overhaul
112
113*** Major changes in newlib version 2.5.0:
114
115- memory.h added
116- some header file reorganization
117- doc fixes
118- ctype rewrite
119- added per-locale string functions
120- additional feature test macro overhaul
121
122*** Major changes in newlib version 2.4.0:
123
124- feature test macro overhaul
125- new string functions (e.g. timingsafe_bcmp)
126- new stdlib functions (e.g. arc4random)
127- simplified versioning macros for newlib
128- Changelog files deprecated
129
130*** Major changes in newlib version 2.3.0:
131
132- dynamic atexit logic fixed
133- various arm performance enhancements
134- new version of strtold
135- doc improvements
136- arc platform support redone
137- strftime improvements/enhancements
138- imported logic from FreeBSD
139- locking fixes
140- complex math enhancements
141- visium platform support added
142- or1k platform support added
143
144*** Major changes in newlib version 2.2.0:
145
146- multiple functional/performance enhancements for arm/aarch64
147- new nano formatted I/O support
148- replacement of or16/or32 with or1k platform
149- qsort_r support
150- additional long double math routines
151- ito/utoa/ltoa
152- restructuring of gmtime/localtime so tz functions only linked by localtime
153- unlocked I/O functions
154- various warning clean-ups
155
156*** Major changes in newlib version 2.1.0:
157
158- multibyte decimal point support added to
159  scanf family
160- multiple changes for FreeBSD compatibility
161- multiple RTEMS changes for Linux compatibility
162- addition of restrict keyword
163- nano-malloc support added
164- global atexit support added
165- new nds32 platform support
166- new msp430 platform support
167- new nios2 platform support
168- lite exit support
169- updated arm support (aarch64)
170- newlib ported to x86_64-pc-cygwin
171
172*** Major changes in newlib version 2.0.0:
173
174- addition of aarch64 platform support
175- addition of epiphany platform support
176- addition of 'm' printf conversion specifier
177- memrchr function added
178- removal of many compiler warnings
179- removal of enable-newlib-fp-hw option and
180  deprecation of mathfp directory
181- type of offset in file structure changed from int to off_t
182- new optimized arm math routines
183- various bug fixes
184
185*** Major changes in newlib version 1.20.0:
186
187* I/O lock clean-up
188* fixes to strftime/strptime
189* fixes to arm support
190* new NO_INCLUDE_LIST configuration support
191* rl78 platform support contributed
192* sparc-leon platform support contributed
193* cvs-to-git mirroring of newlib
194* various bug fixes
195
196*** Major changes in newlib version 1.19.0:
197
198* complex math functions
199* locale support extended to maintain wide char values of native strings
200* eXtensible Data Record (XDR) support for Cygwin
201* wide char functions updated to Unicode 5.2
202* additional locale charsets
203* POSIX standard adherence improvements
204* tic6x platform support contributed
205* cr16 platform support contributed
206* various bug fixes
207
208*** Major changes in newlib version 1.18.0:
209
210* wide-char enhancements
211* long double math routines added for platforms where LDBL == DBL
212* long long math routines added
213* math cleanup
214* UTF-16 modifications for Cygwin
215* major locale charset overhaul including added charsets
216* added moxie platform
217* added rx platform
218* added xc16x platform
219* various cleanups
220* various bug fixes
221
222*** Major changes in newlib version 1.17.0:
223
224* new C99 wide-char function additions
225* lm32 platform support contributed
226* movement of regex functions from sys/linux directory into
227  shared libc/posix directory
228* string function optimizations
229* redesign of formatted I/O to reduce dependencies when using
230  sprintf/sscanf family of functions
231* numerous warning cleanups
232* documentation fixes to support pdf, info, ps formats and
233  eclipse libhover hover docs
234* various bug fixes
235
236*** Major changes in newlib version 1.16.0:
237
238* mep-elf support contributed
239* x86_64 support added
240* reentrant I/O clean-up
241* various new C functions added from C99, POSIX, SUSV, etc..
242* switch to use top-level libtool
243* spu floating-point environment and stdio enhancement
244* fastmath support
245* various bug fixes
246
247*** Major changes in newlib version 1.15.0:
248
249* new platforms added (bfin, spu, fido)
250* merge of csl branch changes (e.g. m68k)
251* additional C99 support (printf modifiers, strtod, isnan/isinf)
252* new configuration option to turn off dynamic allocation for atexit
253* reentrancy added for read / write functions
254* Cygwin fixes (e.g. POSIX read file flush behavior)
255* switch to autoconf 2.5.9
256* use of aclocal/automake 1.9.6
257* various bug fixes and doc cleanups
258
259*** Major changes in newlib version 1.14.0:
260
261* new platforms added (cris, mt, m32c)
262* more locking protection macros added
263* various C99/POSIX/SUSV3 compliance issue improvements
264* reentrancy cleanup
265* header file improvements (e.g. adding RTEMS stdint.h/inttypes.h)
266* various math fixes
267* changes made to allow use of gcc4 to build newlib
268* general bug fixes and cleanups
269
270*** Major changes in newlib version 1.13.0:
271
272* optimized iconv support
273* new configuration option to disable syscalls in newlib (e.g. sys/arm)
274* new configuration options controlling long long, long double support
275* ability of configuration options to override platform defaults
276* improved locking protection for file I/O functions
277* new reentrant functions
278* various fixes to allow building under FC3 and Debian Linux
279* cxa exit support
280* new platforms (e.g. crx)
281* new iprintf and iscanf family functions
282
283*** Major changes in newlib version 1.12.0:
284
285* general iconv support added
286* major cleanup with linux header files regarding warnings
287* thread-safety and reentrancy fixes
288* additional wide character C99 functions
289* addition of %lc, %ls, %S, and %C printf format specifiers
290* doc cleanup
291
292*** Major changes in newlib version 1.11.0:
293
294* enhanced EL/IX support for i[3456]86-pc-linux
295* new --enable-newlib-elix-level configuration option
296* positional arg I/O support for printf family (--enable-newlib-io-pos-args)
297* support for the Fujitsu FRV architecture added by Red Hat
298* support for Motorola Altivec and SPE added by Red Hat
299* new small reentrancy structure support
300* dynamic reentrancy structure support
301
302*** Major changes in newlib version 1.10.0:
303
304* libtool support for i[3456]86-pc-linux native builds
305* addition of libm/machine/i386 directory, for i386 fast math routines
306
307*** Major changes in newlib version 1.9.0:
308
309* i[3456]86-pc-linux support
310
311* Long Double I/O support via the WANT_IO_LONG_DBL flag
312
313* addition of reentrant environment functions
314
315* addition of xscale and AVR platforms
316
317* severe reduction in the number of warnings issued
318
319* consolidation of many RTEMS features into shared headers
320
321*** Major changes in newlib version 1.8.2:
322
323* RTEMS features and fixes from Joel Sherrill.
324
325* More work on reentrant routines.
326
327* Floating point math library check, --enable-newlib-hw-fp.
328
329*** Major changes in newlib version 1.8.1:
330
331* Added check for --enable-newlib-mb configure option which defines the
332  MB_CAPABLE macro.  Multibyte support for JIS, SJIS, and EUC-JP implemented.
333
334* Reduced code size for libm modules.
335
336* Replaced the BSD malloc with Doug Lea's malloc.
337
338*** Major changes in newlib version 1.8.0:
339
340* Added simulated signal handling functions _raise_r, _signal_r, raise, and
341  signal except for sparc-sun-sunos*, i[3456]86-*-sco*, and a29k-*-* systems,
342  which already provide access to signal.  The signal functionality provided
343  does not interact with hardware generated signals.
344
345* Added reentrant function rand_r from POSIX.1c.
346
347* Removed _asctime, _next, _scanpoint, and _signgam fields from struct
348  _reent.  These are no longer necessary since there are now functions
349  that explictly support multiple threads (asctime_r, ctime_r, gamma_r,
350  gmtime_r, lgamma_r, localtime_r, rand_r, & strtok_r).
351
352
353*** Major changes in newlib version 1.7.0:
354
355* Cross compiler target libraries are now built in a subdir of the top level
356  build directory.
357
358  Old way: build
359                /newlib
360                       /m68020
361                              /m68881
362  New way:
363           build
364                /m68k-coff
365                          /m68020
366                                 /m68881
367
368  where m68020 and m68881 are multilib subdirectories
369
370* m68k targets support --disable options to avoid building unwanted versions
371  of the libraries.
372
373  --disable-softfloat - don't build libc, libg++, etc. for -msoft-float
374  --disable-m68881    - don't build libc, libg++, etc. for -m68881
375  --disable-m68000    - don't build libc, libg++, etc. for -m68000
376  --disable-m68020    - don't build libc, libg++, etc. for -m68020
377
378  These options have *no* effect on the default libraries, so if the default
379  is -m68020, --disable-m68020 is nilpotent.
380
381* Reentrancy support in libm removed.
382
383* strtok, strtol, strtoul, assert, div, ldiv, qsort, vfprintf
384  replaced with NetBSD versions.
385
386* Support for systems with 32 bit "doubles" added.
387
388* unctrl added.
389
390* dtoa.c updated from upstream dtoa.c soruces (netlib.att.com)
391
392* Various bug fixes.
393
394*** Major changes in newlib version 1.6.1:
395
396* Added reentrant functions (asctime_r, ctime_r, gmtime_r, localtime_r,
397and strtok_r) from POSIX.1c.
398
399* Removed _asctime_r and _strtok_r functions.
400