------------------------------------------------------------------- Fri Jul 16 10:12:29 UTC 2021 - John Paul Adrian Glaubitz - Update to version 0.6.7 * Datetime updates part 2 + Support for millisecond-precise time query in aws_date_time_as_epoch_secs - from version 0.6.6 * Datetime updates + Datetime now supports millisecond precision ------------------------------------------------------------------- Wed Jul 7 10:51:08 UTC 2021 - John Paul Adrian Glaubitz - Update to version 0.6.5 * Managed thread handle cleanup + Fixes an issue where managed thread handles could be leaked on Windows + Fixes some incorrect logging format strings. ------------------------------------------------------------------- Mon Jun 28 12:16:30 UTC 2021 - John Paul Adrian Glaubitz - Update to version 0.6.4 * Added aws_split_debug_info to cmake for Unix platforms + Added a function to split debug info out of shared libs and executables (#819) - from version 0.6.3 * Shrink size of all AWS libraries when using AwsCFlags * Only apply -fno-omit-frame-pointer when debug info is present (#818) ------------------------------------------------------------------- Thu Jun 10 10:58:42 UTC 2021 - John Paul Adrian Glaubitz - Update to version 0.6.2 * Bugfix for CMake build + Proper import of CMake module (#812) - from version 0.6.1 + Fix checking for Large File Support on Android * BUGFIX: Fix cmake feature checks for Large File Support (LFS) on Android - from version 0.6.0 + aws_off_t is always 64 bits * CHANGE: aws_off_t is always 64 bits. Previously, it might be interpreted as 32 or 64 bits, depending on a project's compiler flags, which was leading to bugs. * CHANGE: Pass -DAWS_WARNINGS_ARE_ERRORS=ON if you want warnings to fail the build. Previously, warnings would always fail the build, now it is opt-in. * NEW: aws_promise ------------------------------------------------------------------- Fri May 14 11:36:49 UTC 2021 - John Paul Adrian Glaubitz - Update to version 0.5.11 + GCC compile fix * Marking aws-c-common/source/posix/system_info.c as a non-parameters function (#797) - from version 0.5.10 + Diagnostics fixes/improvements (#796) * Disable AddressSanitizer on hashlittle2, it overreads, but not in a dangerous way * Added log level to aws_backtrace_log, and fixed stacktrace decoding test to be permissive on weird platforms * Fixed aws_backtrace_log versions for execinfo/no execinfo - from version 0.5.8 + Intrudocing aws_fopen * Mainly to support fopen with a non-ascii file path from Windows. The aws_fopen can support non-ascii file path across platform ------------------------------------------------------------------- Mon Apr 26 09:02:07 UTC 2021 - John Paul Adrian Glaubitz - Update to version 0.5.7 + High resolution clock fix for Windows, take 2 * Reverts and reimplements previous release's attempt at a high-resolution clock fix on Windows - from version 0.5.6 + High priority clock overflow fix for Windows * Fix an issue where the high resolution clock would saturate to a maximum value after 21 days, breaking event loop task processing. - from version 0.5.5 + Support non-desktop Windows * Prevent log-subject ordering errors (#789) - from version 0.5.4 + Dynamic log level control * Adds support for dynamic log level control in the standard logger - from version 0.5.3 + Fix for thread affinity functionality and other bug fixes * BUG FIX: MinGW/Windows related preprocessor fixes * BUG FIX: No longer appending exact location of CoreFoundation in CMake * BUG FIX: Fixing thread affinity symbol check in CMake * BUG FIX: Preventing undefined behavior in allocators ------------------------------------------------------------------- Tue Mar 16 10:59:36 UTC 2021 - John Paul Adrian Glaubitz - Update to version 0.5.2 + Musl support and thread join changes * Correct/improve Musl support with respect to thread affinity control * Update managed thread join to return success/failure, allowing downstream callers (CRTs) to branch shutdown logic between strict and permissive - from version 0.5.1 + Fix shared lib builds * `aws_thread_set_managed_join_timeout_ns()` and `aws_thread_join_all_managed()` are declared in `thread.h` and implemented in `thread_shared.c`. But since `thread_shared.c` did not include `thread.h`, it was not seen as the implementation by the linker. - from version 0.5.0 + New managed thread API * Transition to a new thread API for threads that cannot be explicitly joined by user code. These threads get lazily joined as their thread functions exit. - from version 0.4.68 + Introduce AWS_ERROR_NO_SPACE * Mapping ENOSPC to AWS_ERROR_NO_SPACE for out of space error ------------------------------------------------------------------- Mon Feb 15 10:55:05 UTC 2021 - John Paul Adrian Glaubitz - Update to version 0.4.67 + NUMA set_mempolicy fix * Modifies how NUMA symbols are looked up so that symbols that are weak on certain platforms don't end up getting stomped - from version 0.4.66 + Infinite Loop Fix * Fixes an infinite loop in the thread scheduler - from version 0.4.65 + MSVC warnings fixes * Disabled non-standard extension warning that is actually a lie on MSVC - from 0.4.64 + Windows TryLock fix * Fixes an issue with aws_mutex_try_lock on Windows ------------------------------------------------------------------- Wed Dec 16 10:54:25 UTC 2020 - John Paul Adrian Glaubitz - Update to version 0.4.63 + Fix FreeBSD * Fix thread.c for FreeBSD (#741) - from version 0.4.62 + Remove unnecessary API * Removes an unnecessary API hopefully before anyone uses it externally - from version 0.4.61 + Use runtime symbol resolution instead of addr2line for memtrace by default * Do not use addr2line by default, backtrace_symbols will do the job (#739) * Fixed memtrace/stack decoding test so it works more robustly - from version 0.4.60 + Fixed MSVC 2015 non-constant aggregate initializer warning for all downstreams * Disabled MSVC 2015's non-constant aggregate initializer warning (#738) ------------------------------------------------------------------- Thu Oct 8 09:59:20 UTC 2020 - John Paul Adrian Glaubitz - Update to version 0.4.59 + Re-adding SOVERSION to CMakeLists.txt (#702) * Re-adding SOVERSION to CMakeLists.txt to fix SONAME. - from version 0.4.58 + Print CMake version when configuring. (#701) * Useful for diagnosing issues on various machines. - from version 0.4.57 + Fixed aarch64 detection/support * Imported PR from #695 to fix aarch64 builds (#696) - from version 0.4.56 + Testing build fixes * Fixes a build failure with logging tests on Windows - from version 0.4.55 + Ref counting framework * Adds a simple ref-counting API intended for long-lived types used by the CRTs * Adds a test-oriented wait API for all threads created by internal CRT types (event_loop_group, host_resolver) - from version 0.4.54 + Fixed iOS platform check on OSX * Fixed iOS check (#682) - from version 0.4.53 + OS detection macros to support iOS in downstream libraries * Added AWS_OS_* macros to detect OS (#681) * Added platform.h to common.h * Fixed narrowing warning for backtrace APIs - Bump library_soversion to 1 ------------------------------------------------------------------- Tue Aug 25 10:20:16 UTC 2020 - John Paul Adrian Glaubitz - Update to version 0.4.52 + More string helpers * aws_byte_buf_init_cache_and_update_cursors(): #676 ------------------------------------------------------------------- Fri Aug 14 09:40:17 UTC 2020 - John Paul Adrian Glaubitz - Update to version 0.4.51 + aws_byte_cursor_read_hex_u8() and other string helpers (#657) * `aws_byte_cursor_read_hex_u8()`: Reads 2 hex characters from ASCII/UTF-8 text to produce an 8-bit number. * `aws_lookup_table_hex_to_num_get()`: Returns lookup table to go from ASCII/UTF-8 hex character to a number (0-15). * `aws_string_new_from_cursor()` and `aws_string_new_from_buf()`: obviously * `aws_byte_cursor_next_split()`: fixed to handle source with 0 len and NULL ptr - from version 0.4.50 + Fixes for RHEL5_64, additional byte_buf APIs * Don't include avx2 and stuff on old compilers (#655) ------------------------------------------------------------------- Thu Jul 16 11:39:08 UTC 2020 - John Paul Adrian Glaubitz - Update to version 0.4.49 + Added AWS_SUPPORT_WIN7, Win7 is no longer supported by default (#669) * Added AWS_SUPPORT_WIN7, Win7 is no longer supported by default * Added AWS_SUPPORT_WIN7 macro for feature detection ------------------------------------------------------------------- Tue Jun 30 08:31:33 UTC 2020 - John Paul Adrian Glaubitz - Update to version 0.4.48 + Bytebuf updates * Added some new aws_byte_buf APIs - functions for securely (zero all released memory) appending both cursors and single bytes. * Removed aws_bigint; it is no longer needed. ------------------------------------------------------------------- Tue Jun 16 08:58:04 UTC 2020 - John Paul Adrian Glaubitz - Update to version 0.4.57 + Biging constant time updates * Reworks certain bigint constructors and operators to constant time - from version 0.4.46 + Added support for BOM/text encoding detection * Added BOM detection/encoding detection via aws_text_encoding_detect (#647) * Added aws_text_is_utf8 and tests, as well as ascii resource test - from version 0.4.45 + Added support for MSVC static CRT linkage + Doc update for STATIC_CRT (#644) - from version 0.4.44 + AWS versions of isspace(), isalpha(), etc. * aws versions of isspace() isalpha() etc (#642) * Versions of isspace() isalpha() etc for use with ASCII/UTF-8. * C's built-in functions are affected by user's locale. - from version 0.4.43 + Added newline to a test file that was breaking builds. * Added newline to process_test.c (#641) ------------------------------------------------------------------- Sun May 31 08:19:43 UTC 2020 - John Paul Adrian Glaubitz - Update to version 0.4.42 + Updated Process API to expose max fds for the system. * IO handle ulimit stuff. (#637) * API for reading max fds and updating the soft limit. - from version 0.4.41 + SBA fix for windows, warning fixes for ctz math fallbacks * Windows compilation fixes (#631) * Use _WIN32 consistently, no WIN32 * Use signed compare in fallback ctz implementations * Added cross compile CI * Don't build consumers for cross compile, they're not all guaranteed to work * Use builder version v0.6.4 - from version 0.4.40 + Small Block Allocator support * Add utility to append null terminator to aws_byte_buf. * Co-authored-by: Andrew Tang - from version 0.4.39 + Minor fix for logcat log formatting * Removed erroneous bracket in log output via logcat (#624) - from version 0.4.38 + Android logcat logger * Additional PR Feedback from #621 (#623) * clang-format - from version 0.4.37 + Add aws_hash_combine ------------------------------------------------------------------- Tue Mar 31 11:36:40 UTC 2020 - John Paul Adrian Glaubitz - Update to version 0.4.36 + Fixed cmake error during cross compile (#614) - from version 0.4.35 + Basic bigint implementation ------------------------------------------------------------------- Sat Mar 7 16:19:11 UTC 2020 - John Paul Adrian Glaubitz - Update to version 0.4.34 + Set policy to allow BUILD_TESTING to be used as a variable (#606) - from version 0.4.33 + Bigint part 1 - init/cleanup/comparisons - from version 0.4.32 + Allow cross-compiled tests via ALLOW_CROSS_COMPILED_TESTS (#602) ------------------------------------------------------------------- Mon Feb 24 09:25:31 UTC 2020 - John Paul Adrian Glaubitz - Update to version 0.4.31 + Will now work on ARM platforms that do not have execinfo.h (e.g. alpine) - from version 0.4.30 + Stride, not stride bits (#590) ------------------------------------------------------------------- Fri Jan 31 22:42:43 UTC 2020 - John Paul Adrian Glaubitz - Update to version 0.4.29 + Add libdl as needed (#583) - from version 0.4.28 + Address TSAN issues, improve mutex apis * Add clang tsan github action (#578) ------------------------------------------------------------------- Mon Jan 20 14:17:40 UTC 2020 - John Paul Adrian Glaubitz - Update to version 0.4.27 + Rework alignment tests to only require 32 byte support when avx2 is enabled - from version 0.4.26 + aws_thread_id_t * Move include ctest up, this should reneable tests. (#571) - from version 0.4.25 + Make build friendly to in-source builds * Support in source builds of aws-c-* libs. (#566) - from version 0.4.24 + Portable Header Check (#558) * Rewrite header tester to be portable * Install CheckHeaders.cmake - from version 0.4.23 + Adds no-allocation logger implementation ------------------------------------------------------------------- Fri Nov 22 14:16:13 UTC 2019 - John Paul Adrian Glaubitz - Update to version 0.4.22 + aws_byte_buf_append_and_update * Add append and update function to common (#554) - from version 0.4.21 + Made windows stack trace much more resilient (#552) * SymSetOptions, try to be more resilient * Write symbol name and addr if file/line cannot be found * Simplified and cleaned up symbol printing, ensure that we get the most info possible * fflush at the end of aws_backtrace_print() * fflush and free, clang-format - from version 0.4.20 + Fix for ancient linux * Fix for old linux (#545) ------------------------------------------------------------------- Wed Nov 13 13:09:43 UTC 2019 - John Paul Adrian Glaubitz - Update to version 0.4.19 + Stack dump improvements * Added newlines to stacktrace headers (#541) - from version 0.4.18 + Stack dump improvements * Always print both raw and resolved stack trace, helps in release builds ------------------------------------------------------------------- Thu Nov 7 00:35:53 UTC 2019 - John Paul Adrian Glaubitz - Update to version 0.4.17 + Memory tracing updates * Fixed probing for stack trace availability (#537) - from version 0.4.16 + Memory Tracing * Ported alloc tracer from Java CRT, added unit tests * Generalized backtrace/backtrace_symbols for multiple platforms * Added tests to ensure midstream usage works * Stack trace decoding test now uses virtual logger * Fixed AWS_VARIABLE_LENGTH_ARRAY on windows, causing stack corruption * Converted all tests to use the mem tracer * Removed allocator from test harness structure, enabled logging by default - from version 0.4.15 + aws_string_c_str() helper fn * aws_string_c_str() (#534) ------------------------------------------------------------------- Mon Oct 28 15:24:40 UTC 2019 - John Paul Adrian Glaubitz - Update to version 0.4.14 + Fix alignment on Windows * Remove AWS_ALIGN, as it doesn't work reliably, add AWS_ALIGNED_TYPEDEF - from version 0.4.13 + Imported ring buffer allocator from node CRT * Imported ring buffer allocator from node, fixed bugs, added unit test * Implemented realloc as an assert to prevent use - from version v0.4.12 + Static libs and security fixes * Fixed visibility on static libs * Added secure string length functions * Fixed buffer overflow vulnerability in stack trace printing ------------------------------------------------------------------- Thu Oct 3 11:58:04 UTC 2019 - John Paul Adrian Glaubitz - Update to version 0.4.11 + Fix stupid bad boolean logic in macro. * Fix stupid bad boolean logic in macro * simplified gcc macro for assume - from version 0.4.10 + Fixed support for gcc 4.1.2. - from version 0.4.9 + fixed mixed static/shared builds. * Reorder thread shutdown so that only truly necessary memory is still allocated at shutdown callback town - from version 0.4.8 + Made AWS_ENABLE_LTO an option * AWS_ENABLE_LTO=ON|OFF now controls LTO globally * Made AWS_ENABLE_LTO an option - from version 0.4.7 + Added support for thread exit callbacks * Added support for thread exit callbacks * Added user data support to aws_thread_call_once - from version 0.4.6 + LTO support * Added IPO/LTO support to cmake * Removed the requirement that release builds produce good backtrace output * Check for IPO policy in older versions of CMake * Add policy existence check to c flags - Re-enable link-time optimization (LTO) in spec file ------------------------------------------------------------------- Mon Sep 2 13:44:18 UTC 2019 - John Paul Adrian Glaubitz - Update to version 0.4.5 + Move allocator functions to their own file * Move the allocator related functions to allocator.c * Add overrides for the allocator functions * PR Comments - from version 0.4.4 + Relaxed constraints on gcc+x86/x64 to gcc 4.1.2 * Relaxed constraints on gcc+x86/x64 to gcc 4.1.2, added ARM and Itanium detection for gcc 4.4 - from version 0.4.3 + Use CMake Threads module instead of manual pthreads linking * Depend on pthreads via Threads rather than manually - from version 0.4.2 + Fix error info * Fixed issue where the wrong info was returned for some error codes. - from version 0.4.1 + Logging refactor * Add yaml file for aws_byte_buf_cat proof (#448) * Proof harness for aws_byte_buf_cat with a fixed number of arguments - from version 0.4.0 + Task logging * Adds string tags to tasks and task logging for easier identification - from version 0.3.15 + Fix nasty overflow bug in high-res clock on 32-bit systems. + Fixed typo that broke osx build. (#425) - Disable link-time optimization (LTO) as it currently breaks the testsuite + https://github.com/awslabs/aws-c-common/issues/456 ------------------------------------------------------------------- Tue Jun 18 09:39:29 UTC 2019 - John Paul Adrian Glaubitz - Update to version 0.3.14 + Linux stack trace fixes * Parse (+) backtrace format on POSIX systems (#422) - from version 0.3.13 + Compile warning fixes * Re-enabled unknown pragma warnings, wrapped CPROVER pragmas (#420) - from version 0.3.12 + Miscellaneous cleanup * Fixes to clang-tidy failures in dependent libs * Fixed test harness asserts to prove to clang-tidy that compared values are non-null, initialized out params * Fixed mis-used asserts and multi-eval of assert values * Preserve existing behavior - from version 0.3.11 + C++ build fixes * Alter header code so it can compile in c++ as well * Allow constant expressions in AWS_ASSERT - from version 0.3.10 + Fix shared-lib builds - from version 0.3.9 + Added backtraces to asserts * assert() -> AWS_ASSERT() * Removed assert.h includes * rewrote resolve buffer reading to appease gcc - from version 0.3.8 + Memory-safety proofs for aws_byte_buf + Adds invariants and proof harnesses for the following functions: * aws_byte_buf_append * aws_byte_buf_append_dynamic * aws_byte_buf_append_with_lookup * aws_byte_buf_clean_up * aws_byte_buf_from_array * aws_byte_buf_from_empty_array * aws_byte_buf_init * aws_byte_buf_init_copy_from_cursor * aws_byte_buf_reserve * aws_byte_buf_secure_zero ------------------------------------------------------------------- Wed May 8 12:51:10 UTC 2019 - John Paul Adrian Glaubitz - Update to version 0.3.7 + Build fixes * cmake now respects BUILD_TESTING * Fixed compiler warnings ------------------------------------------------------------------- Mon Apr 22 21:11:11 UTC 2019 - John Paul Adrian Glaubitz - Update to version 0.3.6 + Faster CBMC stubs for memset and memcpy (#300) * new memset and memcpy functions that are often faster for CBMC to analyze * PR comments addressed ------------------------------------------------------------------- Wed Apr 10 11:48:21 UTC 2019 - John Paul Adrian Glaubitz - Update to version 0.3.5 + Byte buf utility functions - append that grows, append with internal tolower, reserve (#297) + Byte buf append function that grows when capacity limit hit + Byte buf reserve + Byte buf append with lookup table translation - from version 0.3.4 + getopt_long() implementation + Android compile fixes + Atomics fixes for gcc < 4.6 + Security bug fixes from AWS - from version 0.3.3 + FreeBSD compile fixes - from version 0.3.2 + Fix downstream build script. (#246) + Fix codebuild scripts to not need relative paths and use out of source builds. - from version 0.3.1 + Added CI job for x64 old linux. (#240) + Added CI job for x64 old linux. + Added 32bit builds, updated a comment. - Move cmake files to correct installation path ------------------------------------------------------------------- Fri Jan 25 12:47:20 UTC 2019 - John Paul Adrian Glaubitz - Initial build + Version 0.3.0