Releases: driskell/log-courier
v1.8.3
21st April 2016
_Log Courier_
- Do not open dead files on startup (which causes excessive memory usage if
there are many of them) if their size has not changed since they were last
opened (#242) - When a long line was split, the "splitline" tag was not being appended if the
fields configuration already contained tags
_RPM Packaging_
- Fix broken systemd configuration (#237)
- Fix non-fatal %postun script failure, and fix starting of Log Courier during
package upgrade even if it was not originally started (#228)
_DEB Packaging_
- Fix broken systemd configuration (#237)
v1.8.2
30th October 2015
_Log Courier_
No Changes
_RPM Packaging_
- Fixed incorrect license specification - the spec file specified GPL which was
incorrect - the license is Apache. The spec file has been updated.
_Logstash Plugins_
- Introduce compatibility with Logstash 2.0.0 (#245)
v1.8.1
7th August 2015
_Log Courier_
No Changes
_DEB Packaging_
- Fix a regression in the upstart script due to the addition of a configtest
(#217 - Thanks to @eliecharra)
_Logstash Plugins_
v1.8
6th August 2015
_Log Courier_
- Fix various causes of multiline codec causing Log Courier to crash (#188)
- Improve handling of file truncation when using codecs (derived from #194)
- Fix "Unknown message received" errors caused by partial reads which occur
frequently with Logstash 1.5.3 due to OpenSSL cipher hardening (#208) - Fix systemd service configuration providing incorrect arguments to log-courier
(#204) - Implement configuration test before start and restart for Debian upstart init
script (#189) - Implement options to enable/disable automatic fields such as "host", "offset"
and "path" - Implement an option to add a "timezone" field to events containing the local
machine's timezone in the format "-0700 MST" (#203)
_Logstash Plugins_
- Fix broken JSON parser error handling in input plugin (#200)
- Fix Logstash shutdown not working with the input plugin
- Fix broken client certificate verification in the output plugin
- Fix compatibility with Logstash 1.4 due to missing milestone in both plugins
v1.7
3rd June 2015
_Important notice regarding the Logstash Plugins_
The Logstash plugin installation identifier has been changed from
"logstash-xxxxx-log-courier" to "logstash-xxxxx-courier" in order to meet the
specification set by the GA release of Logstash 1.5, which is for the identifier
to match the format "logstash--". The configuration name is
unchanged and remains "courier" - configurations do not need to be changed.
If you are using Logstash 1.5 and would like to update the plugin you will need
to uninstall the previous plugin using the previous name before installing the
new version using the new name.
./bin/plugin uninstall logstash-input-log-courier
./bin/plugin uninstall logstash-output-log-courier
./bin/plugin install logstash-input-courier
./bin/plugin install logstash-output-courier
_Log Courier_
- Report a configuration error if no servers are specified instead of continuing
and crashing during startup (#149) - Report a configuration error if the configuration file is empty or contains
only whitespace instead of crashing during startup (#148) - Report a configuration error when a files entry is specified without any paths
instead of continuing and ignoring it (#153) - Implement server shuffling when multiple servers are specified to prevent
site-wide convergence of Log Courier instances towards a single server (#161) - Fix pending payload limit being exceeded if a disconnect and reconnect occurs
- Fix a rare race condition in the tcp and tls transport that could cause Log
Courier to stop sending events after a connection failure - Improve build process to work seamlessly with msysGit on Windows
_Logstash Plugins_
- Rename to logstash-input-courier and logstash-output-courier to meet the
latest plugin specified and fix the "This plugin isn't well supported" warnings
in Logstash 1.5 (#164) - Remove deprecated milestone declaration to fix a Logstash 1.5 warning (#164)
- Fix a crash in the output plugin that can sometimes occur if a connection
fails (#143) - Fix a crash on Windows caused by a Logstash patch to Ruby stdlib
(elastic/logstash#3364) (#169) - Fix confusing log messages that appear to come from Log Courier plugin but
in fact come from another plugin or Logstash itself (#176) - Fix rare transport failures caused by payload identifiers ending in NUL bytes
v1.6
22nd March 2015
_Plugin-only release_
- The output plugin would fail if the connection to the remote Logstash was lost
and events had to be resent (#136) - The input and output plugins were incompatible with Logstash RC1 and RC2 due
to breaking changes that occurred after the release of Beta1 (#121)
No changes were made to Log Courier.
v1.5
28th February 2015
_Breaking Changes_
- The way in which logs are read from stdin has been significantly changed. The
"-" path in the configuration is no longer special and no longer reads from
stdin. Instead, you must now start log-courier with the-stdin
command line
argument, and configure the codec and additional fields in the newstdin
configuration file section. Log Courier will now also exit cleanly once all data
from stdin has been read and acknowledged by the server (previously it would
hang forever.) - The output plugin will fail startup if more than a single
host
address is
provided. Previous versions would simply ignore additional hosts and cause
potential confusion.
_Changes_
- Implement random selection of the initial server connection. This partly
reverts a change made in version 1.2. Subsequent connections due to connection
failures will still round robin. - Allow use of certificate files containing intermediates within the Log Courier
configuration. (Thanks @mhughes - #88) - A configuration reload will now reopen log files. (#91)
- Implement support for SRV record server entries (#85)
- Fix Log Courier output plugin (#96 #98)
- Fix Logstash input plugin with zmq transport failing when discarding a message
due to peer_recv_queue being exceeded (#92) - Fix a TCP transport race condition that could deadlock publisher on a send()
error (#100) - Fix "address already in use" startup error when admin is enabled on a unix
socket and the unix socket file already exists during startup (#101) - Report the location in the configuration file of any syntax errors (#102)
- Fix an extremely rare race condition where a dead file may not be resumed if
it is updated at the exact moment it is marked as dead - Remove use_bigdecimal JrJackson JSON decode option as Logstash does not
support it. Also, using this option enables it globally within Logstash due to
option leakage within the JrJackson gem (#103) - Fix filter codec not saving offset correctly when dead time reached or stdin
EOF reached (reported in #108) - Fix Logstash input plugin crash if the fields configuration for Log Courier
specifies a "tags" field that is not an Array, and the input configuration for
Logstash also specified tags (#118) - Fix a registrar conflict bug that can occur if a followed log file becomes
inaccessible to Log Courier (#122) - Fix inaccessible log files causing errors to be reported to the Log Courier
log target every 10 seconds. Only a single error should be reported (#119) - Fix unknown plugin error in Logstash input plugin if a connection fails to
accept (#118) - Fix Logstash input plugin crash with plainzmq and zmq transports when the
listen address is already in use (Thanks to @mheese - #112) - Add support for SRV records in the servers configuration (#85)
_Security_
- SSLv2 and SSLv3 are now explicitly disabled in Log Courier and the logstash
courier plugins to further enhance security when using the TLS transport.
v1.3
2nd January 2014
- Added support for Go 1.4
- Added new "host" option to override the "host" field in generated events
(elastic/logstash-forwarder#260) - The Logstash input gem can now be requested to add extra fields to events for
peer identification. The tls and tcp transports can now add a "peer" field
containing the host and port, and the tls transport a "peer_ssl_cn" field that
will be set to the client certificates common name. The "add_peer_fields" plugin
option will enable these fields (#77) - Fix missing file in Logstash gem that prevents ZMQ transports from working
(#75) - Fix Logstash gem crash with ZMQ if a client enters idle state (#73)
- During shutdown, Logstash gem with ZMQ will now never loop with context
terminated errors (#73) - Significantly improve memory usage when monitoring many files (#78)
- Fix Logstash courier output plugin hanging whilst continuously resending
events and add regression test - Fix Logstash courier output plugin not verifying the remote certificate
correctly - Various other minor tweaks and fixes
v1.2
1st December 2014
_Changes_
- Fix repeated partial Acks triggering an incorrect flush of events to registrar
- Fix a loop that could occur when using ZMQ transport (#68)
- TLS and TCP transport will now round robin the available server addresses
instead of randomising - Implemented "Dead time in" on
lc-admin
harvester statuses lc-admin
status output is now sorted and no longer in random order- Add a workaround for logstash shutdown looping with "Context is terminated"
messages (#73) - Implement asynchronous ZMQ receive pipeline in the Logstash gem to resolve
timeout issues with multiple clients and a busy pipeline - Implement multithreaded SSL accept in the Logstash gem to prevent a single
hung handshake attempt from blocking new connections - Switch to ruby-cabin logging in the gems to match Logstash logging
- Updated the RedHat/CentOS 5/6 SysV init script in contrib to follow Fedora
packaging guidelines - Provided a RedHat/CentOS 7 systemd service configuration in contrib (with fixes from @matejzero)
_Known Issues_
- The Logstash courier output plugin hangs whilst continuously resending events.
This issue is fixed in the following version. No workaround is available.
v1.1
30th October 2014
- Implement gems for the new Logstash plugin system (#60)
- Fix gem build failing on develop branch with old rubygems versions due to a
malformed version string (#62) - Fix ZeroMQ transports in the ruby gem with Logstash 1.4.x (#63)
- Fix build issue with ZeroMQ 3.2 and
make with=zmq3
- Fix partial acknowledgements not being passed to registrar and persisted to
disk - Fix a race condition when the spooler flushes to prevent a timeout occurring
one or more times after a flush due to size - Print informational messages containing ZMQ library version information during
gem and log-courier startup to aid in diagnostics - Raise a friendly error when trying to use the zmq transport in the Log Courier
gem with incompatible versions of libzmq - Various fixes and improvements to log-courier, gem, build and tests