Releases: goatshriek/stumpless
Releases · goatshriek/stumpless
v2.2.0
Added
@since
format check enforcement in CI pipeline.single-file
target for rollup.c
and.h
files.- SQLite3 logging targets.
- Target chains.
- Support for
pkg-config
. INSTALL_HEADERS
andINSTALL_HTML
build options.- Localizations for:
- Albanian (sq-AL 🇦🇱)
- Danish (da-DK 🇩🇰)
- Hebrew (he-IL 🇮🇱)
- Hungarian (hu-HU 🇭🇺)
- Japanese (ja-JP 🇯🇵)
- Sinhala (si-LK 🇱🇰)
- Swahili (sw-KE 🇰🇪)
- Teluga (te-IN 🇮🇳)
- Turkish (tr-TR 🇹🇷)
Fixed
- Deadlock potential in
stumpless_set_entry_hostname
and
stumpless_set_entry_procid
when validation fails. - Builds in ANSI C environments.
sys/socket.h
-based TCP network targets will immediately fail with an error
if the remote end sends a FIN message, instead of waiting forsend
to fail,
possibly sending messages that are not actually received by the remote end.
v2.1.0
API documentation available on the stumpless website.
Added
- Custom function logging targets.
- Localizations for:
- Bengali (bn-IN 🇮🇳)
- Chinese (zh-CN 🇨🇳)
- Czech (cz-CZ 🇨🇿)
- Hindi (hi-IN 🇮🇳)
- Polish (pl-PL 🇵🇱)
- Portuguese (pt-BR 🇧🇷)
- Spanish (es-ES 🇪🇸)
- Systemd journal logging targets (journald).
- Log source file tracing functions:
stump_trace
stumpless_trace_entry
stumpless_trace_log
stumpless_trace_message
stumplog_trace
vstump_trace
vstumpless_trace_log
vstumpless_trace_message
vstumplog_trace
- The TRACE log level severity shorthand function macros:
stump_t
stump_t_entry
stump_t_log
stump_t_message
stumplog_t
- Macro
STUMPLESS_SEVERITY_TRACE_VALUE
as an alias for
STUMPLESS_SEVERITY_DEBUG_VALUE
. - Macro
STUMPLESS_SEVERITY_TRACE
for the new level as an alias for
theSTUMPLESS_SEVERITY_DEBUG
enum member. - Runtime filtering mechanism, as well as default support for log masks, via
the following functions:stumpless_get_target_filter
stumpless_get_target_mask
stumpless_mask_filter
stumpless_set_target_filter
stumpless_set_target_mask
stumplog_set_mask
- Safer and more performant
_str
versions of any function taking a format
specifier string and variable number of arguments. - Default Windows Event Log messages that can be used when none are specified.
- Full unicode support with Windows Event Log targets, along with the following
new functions:stumpless_add_default_wel_event_source
stumpless_add_wel_event_source
stumpless_add_wel_event_source_w
stumpless_get_wel_category
stumpless_get_wel_event_id
stumpless_get_wel_insertion_param
stumpless_get_wel_insertion_string_w
stumpless_get_wel_type
stumpless_remove_default_wel_event_source
stumpless_remove_wel_event_source
stumpless_remove_wel_event_source_w
stumpless_set_wel_insertion_string_w
stumpless_set_wel_insertion_strings_w
vstumpless_set_wel_insertion_strings_w
STUMPLESS_OPTION_CONS
is now supported with similar semantics toLOG_CONS
fromsyslog.h
.- The procid and hostname can be overriden if the defaults are not wanted, via
the functions:stumpless_get_entry_hostname
stumpless_get_entry_procid
stumpless_set_entry_hostname
stumpless_set_entry_procid
- Other new functions:
stumpless_get_network_protocol
stumpless_get_target_type_string
stumpless_get_transport_protocol
Changed
- Auto-generated local socket names use abstract socket names if supported.
- Auto-generated local socket names are always
stumpless-socket
instead of
being generated usingmkstemp
.
Fixed
stumpless_perror
segmentation faults after the following errors:STUMPLESS_FILE_OPEN_ERROR
STUMPLESS_FILE_WRITE_ERROR
STUMPLESS_INVALID_ID
STUMPLESS_MEMORY_ALLOCATION_FAILURE
STUMPLESS_NETWORK_PROTOCOL_UNSUPPORTED
STUMPLESS_STREAM_WRITE_FAILURE
STUMPLESS_TRANSPORT_PROTOCOL_UNSUPPORTED
STUMPLESS_WINDOWS_EVENT_LOG_CLOSE_FAILURE
STUMPLESS_WINDOWS_EVENT_LOG_OPEN_FAILURE
- Several memory leaks:
- Object cache leak in some allocation failure scenarios
- Creating network target with unsupported protocols
close
syscall is no longer called on invalid socket handles- TCP network targets do not hang when the session is closed by the receiver.
v2.0.0
Added
- Localization framework for error messages and other library strings, and
localizations for:- French (fr-FR 🇫🇷)
- German (de-DE 🇩🇪)
- Italian (it-IT 🇮🇹)
- Slovak (sk-SK 🇸🇰)
- Swedish (sv-SE 🇸🇪)
- Thread safety for all functionality.
- The following functions:
stumpless_free_thread
stumpless_get_element_count
stumpless_get_target_name
stumpless_get_target_default_app_name
stumpless_get_target_default_msgid
stumpless_param_to_string
stumpless_read_buffer
- The following C++ function bindings:
Entry.GetAppName
Entry.GetMessage
Entry.GetMsgid
Version.Compare
Changed
- C++ namespace from
stumplesscpp
tostumpless
. - Including
stumpless/config.h
no longer definesWIN32_LEAN_AND_MEAN
. - Facilities, options, and severities are now only available in the
stumpless/facility.h
,stumpless/option.h
, andstumpless/severity.h
headers, respectively. - Functions that return strings now require the caller to free the string
when it is no longer needed. Prior to this version these strings pointed
to internal character buffers that could not be modified. The functions
affected by this are:stumpless_get_element_name
stumpless_get_entry_app_name
stumpless_get_entry_message
stumpless_get_entry_msgid
stumpless_get_entry_param_value_by_index
stumpless_get_entry_param_value_by_name
stumpless_get_param_name
stumpless_get_param_name_by_index
stumpless_get_param_value
stumpless_get_param_value_by_index
stumpless_get_param_value_by_name
- The underlying buffer in buffer targets should no longer be read manually,
but should instead use the newstumpless_read_buffer
function as the only
way to read messages. - All target open functions no longer require an options or default facility
parameter, resulting in much more concise code. If either of these fields
need to be adjusted on a target, use thestumpless_set_option
and
stumpless_set_default_facility
functions after the target has been
created. - Facilities and severities are now
enum
s instead of preprocessor symbols.
Deprecated
stumpless_destroy_entry
has been deprecated in favor of the more
descriptive and deliberatestumpless_destroy_entry_and_contents
and
stumpless_destroy_entry_only
functions in order to avoid unintentional
memory leaks and use-after-free mistakes.stumpless_destroy_element
has been deprecated in favor of the more
descriptive and deliberatestumpless_destroy_element_and_contents
and
stumpless_destroy_element_only
functions in order to avoid
unintentional memory leaks and use-after-free mistakes.
Fixed
- Memory leak in opening of network targets on systems using
sys/socket.h
for network services.
Removed
stumpless
andvstumpless
functions (usestump
andvstump
instead).STUMPLESS_SEVERITY_WARN
symbol.
v1.6.0
Added
- A number of new functions for working with entries, elements, and params.
- A rollup header,
stumpless.hpp
, for the C++ library to make use easier. - Logging functions that can be removed at compile time.