Releases: AmigaLabs/clib4
v2.0.0
Notice: Applications that were compiled with older version of clib4, need to be recompiled to use the new version without issues
Highlights in this major release
- Memory allocator: overhauled. wmem now supports aligned allocations (e.g., memalign / posix_memalign).
- Pthreads: heavily optimized. Semaphores were replaced with mutexes where appropriate. Thread-local storage (TLS) operations are now much faster thanks to targeted inline assembly.
- I/O: fixes and speedups to stdio/unistd paths; performance now closely matches newlib’s.
- Startup: fixed issues when launching programs from Workbench tooltypes. Note: existing programs may need to be recompiled.
- ctype: fully rewritten; up to ~80% faster.
- Environment: getenv() / setenv() reimplemented for higher performance.
- Misc: numerous additional fixes and improvements.
What's Changed
- Version files changes by the github bot by @github-actions[bot] in #270
- Improved memalign by @afxgroup in #272
- Pthreads fixes by @afxgroup in #273
- Roundeven functions by @afxgroup in #274
- Profile fixes by @afxgroup in #278
- Small change on profile reverted by @afxgroup in #279
- Canonicalize file name by @afxgroup in #281
- Fixed a crash when debug was enabled by @afxgroup in #282
- Ctype by @afxgroup in #283
- Allocator alignment by @elfpipe in #284
- Allocator alignment (2) by @elfpipe in #285
- Remove #endif. by @elfpipe in #286
- Fixed pthread lib by @afxgroup in #287
- Update wmem/malloc/memalign code. by @elfpipe in #288
- Speedup I/O a little bit by @afxgroup in #289
- Fixed a problem on Input/Output/Error streams by @afxgroup in #290
- NECESSARY fix for the workbench startup message issue. by @elfpipe in #291
- This is another fix for the BLOCK allocator. by @elfpipe in #292
- Various speed up improvements by @afxgroup in #293
- Replaced Semaphores with Mutexes in pthread library by @afxgroup in #294
Full Changelog: v1.6.0...v2.0.0
v1.6.0
What's Changed
- Merge master to development by @walkero-gr in #227
- Code improvements by @walkero-gr in #228
- Split stubs by @3246251196 in #233
- Fix problems with spawnvpe and pthreads. by @elfpipe in #232
- Added a script to check offset values for stubs by @3246251196 in #235
- Patches for spawnv and popen (qt6) by @elfpipe in #237
- Fix memory allocator. by @elfpipe in #238
- Fix waitpid and popen + some details by @elfpipe in #239
- Added test for hints->ai_socktype == 0 in getaddrinfo.c (qt6). by @elfpipe in #240
- Fix stack size code in pthread_create.c by @elfpipe in #242
- sigtimedwait & sigwaitinfo implemented by @migthymax in #243
- Converted all line endings to LF (Linux) by @josefwegner in #244
- Set dicord announcements on PRs by @walkero-gr in #245
- Removed uneeded call to flush by @migthymax in #246
- More line endings changes by @afxgroup in #247
- clib4 requirements in crtbegin was using a wrong PrintF by @afxgroup in #248
- Modifications to flock.c by @elfpipe in #249
- Fixed iconv problem on dcngettext. Added Amiga-1251 charset on iconv by @afxgroup in #250
- Added dlopen example to test shared objects along rpath and soname by @afxgroup in #251
- Afxgroup by @afxgroup in #252
- Version files changes by the github bot by @github-actions in #254
- Fix scp in GitHub actions by @walkero-gr in #255
- Make announcements smaller by @walkero-gr in #256
- Added static_assert on assert.h by @afxgroup in #257
- Reverted flock.c changes by @afxgroup in #258
- Changed back (again..) flock.c by @afxgroup in #259
- Added NETBSD getvfsstat function amd missing blkcnt_t in sys/types.h by @afxgroup in #261
- __time_delay was not working if wasn't in main thread by @afxgroup in #262
- tzset() reworked by @afxgroup in #263
- Added baserel support to clib4 by @afxgroup in #264
- Moved constructors and destructors on libOpen by @afxgroup in #265
- Implemented getpriority and setpriority by @afxgroup in #266
- Implemented unixPathsEnabled by @afxgroup in #267
- Merge all the latest changes to master and prepare the next release by @walkero-gr in #269
Full Changelog: v1.5.0...v1.6.0
v1.5.0
What's Changed
- Code improvements by @walkero-gr in #228
- Split stubs by @3246251196 in #233
- Fix problems with spawnvpe and pthreads. by @elfpipe in #232
- Added a script to check offset values for stubs by @3246251196 in #235
- Patches for spawnv and popen (qt6) by @elfpipe in #237
- Fix memory allocator. by @elfpipe in #238
- Fix waitpid and popen + some details by @elfpipe in #239
- Added test for hints->ai_socktype == 0 in getaddrinfo.c (qt6). by @elfpipe in #240
- Fix stack size code in pthread_create.c by @elfpipe in #242
- sigtimedwait & sigwaitinfo implemented by @migthymax in #243
- Converted all line endings to LF (Linux) by @josefwegner in #244
- Set dicord announcements on PRs by @walkero-gr in #245
- Removed uneeded call to flush by @migthymax in #246
- More line endings changes by @afxgroup in #247
- clib4 requirements in crtbegin was using a wrong PrintF by @afxgroup in #248
- Modifications to flock.c by @elfpipe in #249
- Fixed iconv problem on dcngettext. Added Amiga-1251 charset on iconv by @afxgroup in #250
- Added dlopen example to test shared objects along rpath and soname by @afxgroup in #251
- Afxgroup by @afxgroup in #252
Full Changelog: v1.4.1...v1.5.0
v1.4.1
What's Changed
- Include .so files in archive by @walkero-gr in #218
- Create an spe version of clib4 by @walkero-gr in #219
Full Changelog: v1.4.0...v1.4.1
v1.4.0
What's Changed
- Fix problems with pipe and O_NONBLOCK. by @elfpipe in #185
- Fixed Spawnv. Added waitpid/wait functions by @afxgroup in #186
- Reverse the order of SBM_(NON_)BLOCKING. (Second attempt.) by @elfpipe in #188
- Added ERROR_WOULD_BLOCK == EWOULDBLOCK to __translate_io_error_to_err… by @elfpipe in #189
- Added handling of O_NONBLOCK fds for select/poll. by @elfpipe in #190
- Poll mode reported avaibale data,even that isn't the case by @migthymax in #192
- Added private function __search_expand_command_path() by @elfpipe in #193
- Further patches on the unix->amiga path translation algorithm by @elfpipe in #194
- Suggestion to implement spawnvpe_callback + fix a few thangs with regular spawnvpe by @elfpipe in #196
- Beta10 - spawnvpe contributions by @elfpipe in #198
- Test for spawnvpe (+pipe) by @elfpipe in #199
- Remove unneeded assertion in getcwd, because are valid input parameter by @migthymax in #200
- Added sigsuspend by @migthymax in #202
- Update version in repo after a release by @walkero-gr in #201
- Make announcement in discord by @walkero-gr in #203
- Beta10 - patches to fix performance of spawnvpe+waitpid by @elfpipe in #204
- Fix return code for spawnvpe/waitpid. by @elfpipe in #205
- Revert initializer to 0 instead of EOF (stdio/fwrite.c). by @elfpipe in #206
- Fix popen/pclose and add test for popen. by @elfpipe in #207
- Remove command size limit in spawning functions. by @elfpipe in #209
- Wmem new memory allocator by @afxgroup in #213
- Preparing release of the v1.4.0 by @walkero-gr in #214
New Contributors
Full Changelog: v1.3.0...v1.4.0
v1.3.0
What's Changed
- Optimizations by @afxgroup in #173
- Optimizations by @afxgroup in #174
- Determine the SDK version for which clib4 is being built with during … by @3246251196 in #176
- Fixed a bug in pthread_cond_timedwait by @afxgroup in #179
- Beta10 by @afxgroup in #181
- Release the attempted lock in the case of PTHREAD_MUTEX_ERRORCHECK. R… by @3246251196 in #183
- Merge Beta10 into master by @afxgroup in #184
Full Changelog: v1.2.0...v1.3.0
More details on some changes
- Moved all runtime optimized functions check to library initialization.This will speedup drastically a lot of functions
- Add an additional test on mkdir to avoid the possibility to use more than one : in name
- Fixed TIOCSWINSZ ioctl command. Check comment for details. Added FDF_IS_SERIAL to implement serial communication over fd (not yet implemented)
- Added the possibility to profile the clib4
- Fixed resolv problem was causing bad nameserver reading. Added _SC_TTY_NAME_MAX to sysconf
- Fixed pipe2 was not using a reentrant pipenum variable. Fixed a problem in name resolution was not correctly loading search domain and hosts file
- Pthread constructor is not static because needs to be called from shared amiga libraries if needed since constructors are not called due lack of main and all initialization done in _start
- Fixed the destructor problem
- Don't call GETCLIB4 on checkabort if we have already called it previously
- Fixed some SPE errors during compilation. Move tzname* variables to global. Some minor makefile changes
- Added elf.h
- Implemented tzset was empty and reworked _tzname, _timezone and _daylight variables
- Added missing in_pktinfo in in.h
- Fixed dos.h to define BOOL. Added into features.h inline and define keyword if -ansi/-stdc=90 is used (not in c++)
- Accept revisions of clib4 higher that current
- Fixed socket flags was causing ffmpeg to fail
- Determine the SDK version for which clib4 is being built with during the building of a cross compiler
- Fixed a bug in fgets was using trashed buffers if used in while
- Fixing pthread_timer_cond bug and some time problems
- Fixed a problem in timersub
v1.1.0
What's Changed
- Removed definition flag in C options that was -D__CLIB2__. This is no… by @3246251196 in #151
- Fixed profiling code by @afxgroup in #153
- Actions CICD by @walkero-gr in #154
- Merged Beta10 into master by @afxgroup in #155
- The makefile will perform a check to ensure that a cross compiler exi… by @3246251196 in #156
- Added some targets that are PHONY targets. The checking of the existe… by @3246251196 in #158
- Merhed beta10 into master by @afxgroup in #159
- Github Actions by @walkero-gr in #163
- Disable os4depot release by @walkero-gr in #164
- Add version to the library befor start the compilation by @walkero-gr in #169
New Contributors
- @walkero-gr made their first contribution in #154
Full Changelog: clib4-1.0.0...v1.1.0
clib4-1.0.0b1
First clib4.library version with the new name
Beta10
Clib2 now is an AmigaOS shared library
Clib2 now is fully reentrant
Clib2 now supports Unix sockets (emulated using native sockets)
SYSV library is now included into clib2 and external library is not needed anymore
Many new functions and fixes
Added AmigaOS installer
Beta9
Added aio* POSIX functions with some minor limitations
Fixed shared objects libraries (They needs a new elf.library)
Added sigsetjmp/siglongjmp
pthread moved into libc. libpthread however exists for compatibility reasons
Some minor fixes
Added more test programs