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