==================================================
Changes from 2020-11-14 00:00:00 +0000 to present.
==================================================
----------------------------------------
version 5.0 at 2022-11-14 17:01:07 +0000
----------------------------------------
Change: 6ca871f422f19a4374187a3a78e0066db774fd47
Author: Brad Lhotsky <brad@divisionbyzero.net>
Date : 2022-11-13 20:46:30 +0000
Updates for the 5.0 Release
Breaking Changes ================
* Shipping with `RFC5424StructuredData` enabled and set to true.
The biggest effect this could have on users, is the `content` field is now
stripped of the components of RFC structured data.
Given:
``` <163>Jul 26 15:50:14 ether janus foobar[4291]: [lvl=2] [foo x=1] some
content [bar x=2] ```
The old behavior with the defaults would produce the following:
``` content => '[lvl=2] [foo x=1] some content [bar x=2]', ```
As of 5.x, this is changed and will now produce:
``` content => 'some content', SDATA => {
bar => {
x => 2,
},
foo => {,
x => 1,
},
lvl => 2, }, ```
The intent is this change makes the module even more useful as it defaults
to parsing structured data correctly according to the RFC. To restore the
prior functionality, you can disable this feature.
``` $Parse::Syslog::Line::RFC5424StructuredData = 0; ```
Improvements ============
* Make `JSON::MaybeXS` a requirement, recommend `Cpanel::JSON::XS` * Remove
all `use JSON` from the code * Split up the k/v regex using `/x` so it's
more maintainable * Add support for simplistic RFC structured data, ala,
`[group k=v]` * Add tests for the RFC structured data parsing * Add
`RFC5424StructuredDataStrict` and tests for strict parsing * Squelch
warnings in tests and benchmarks * Document environment variables that
interact with `Parse::Syslog::Line`
----------------------------------------
version 4.7 at 2021-02-25 00:03:01 +0000
----------------------------------------
Change: 54fff942c417fdb3c300b3bf08bc584c3d2c972d
Author: Brad Lhotsky <brad@divisionbyzero.net>
Date : 2021-02-24 16:03:01 +0000
Stop tests from failing without JSON::MaybeXS
Prior to this patch, tests were failing on the smoke test infrastructure
since `JSON::MaybeXS` is an optional dependency.
The tests now check for `JSON::MaybeXS` and only load and run the tests if
it's present.
Also adjusted the call of `decode_json()` to use the package path to
prevent issues if something else loads `JSON::MaybeXS` without importing
the `decode_json()` symbol.
Release as 4.7 to the CPAN.
----------------------------------------
version 4.6 at 2021-02-18 22:40:10 +0000
----------------------------------------
Change: 1e2b67a489bd9852e457c614a7eb0a1a1c76027e
Author: Brad Lhotsky <brad@divisionbyzero.net>
Date : 2021-02-18 14:40:10 +0000
Tag the 4.6 release
Change: 918d12c42851d19c9f9e78c7e2d81fac05eb7fc8
Author: Brad Lhotsky <brad@divisionbyzero.net>
Date : 2021-02-18 14:25:13 +0000
Handle weird program names
In squid3, the syslog ident changed from `squid` to `(squid)` which failed
to parse as a `program_name`. Correct this by allowing any character in the
first position.
Change: ce09b5506e374622e385c89ff40a5915be6d69a5
Author: Brad Lhotsky <brad@divisionbyzero.net>
Date : 2019-05-28 20:13:04 +0000
TravisCIA updated with App::CISetup
Change: 921ddbb57cc8f4d4a9b294258c193f3ac9553579
Author: Brad Lhotsky <brad@divisionbyzero.net>
Date : 2019-05-21 20:59:00 +0000
Documentation regenerated for 4.5 release
Change: 186d3914f5d0830e84976157f38c48bb9a3e8469
Author: Brad Lhotsky <brad@divisionbyzero.net>
Date : 2019-05-21 20:59:00 +0000
Document and fix parse_syslog_lines()
This commit fixes the parse_syslog_lines() function and starts the
documentation. This function is not exported by default and has no tests. I
will be fixing that in future releases while testing the integration into
syslog processors.
Change: 498a47f898be57eddf1ef7e610a4b81154f764ad
Author: Brad Lhotsky <brad@divisionbyzero.net>
Date : 2019-05-20 08:47:31 +0000
Fix unless conditional for JSON::MaybeXS loading
=================================================
Plus 36 releases after 2020-11-14 00:00:00 +0000.
=================================================