================================================== Changes from 2023-04-13 00:00:00 +0000 to present. ================================================== ---------------------------------------- version 6.2 at 2025-04-12 01:12:51 +0000 ---------------------------------------- Change: 55c77867bd6a1e8fd7c6601f854c7929fbad4410 Author: Brad Lhotsky Date : 2025-04-11 18:12:35 +0000 Release 6.2 to address test failures Change: ba05a2cf6ac90285e7c60d4cdaa24a594a6f61ff Author: Brad Lhotsky Date : 2025-04-11 18:06:21 +0000 Fix tests with around DST sensitivities Remove a broken test that wasn't very clear in what it was doing. There might be some indigestion between `Test::MockTime` and all the timezone madness in this test. We'll see once Poland flips back to standard time. Yay, DST! ---------------------------------------- version 6.1 at 2025-01-12 01:01:33 +0000 ---------------------------------------- Change: 6099102d49105be45e045e0aac20db26450d8b0b Author: Brad Lhotsky Date : 2025-01-11 17:01:33 +0000 Make SDATA cumulative and improve performance Each `SDATA` extractor will add to the SDATA hash, instead of having the "last" collector win. This shouldn't affect much, but would allow for logs containing JSON and lazy K/V pairs to expose both via SDATA. The order of the SDATA collectors determines precedence. The highest priority is RFC5424 Structured Data, followed by JSON, followed by "lazy" K/V data. Also: * Bump everything to `use v5.16` as that's the minimum Perl version * Add KV and JSON detection to the benchmark script for flame graphs on those parts * Fix cpanfile generation * Fix Github actions * Add `normalize_test_result()` function for handling elements in the results that might change based on the environment * Remove named captures. Named captures do make things more readable, but they are dramatically slower. Removing these from the library has increased the parse speed significantly. * Add `psl_enable_sdata()` function to adjust enable full structured data parse mode. * Don't create the empty hash as the copy takes more time than not reallocating it. Adjust tests to remove the empty keys. Change: 43f3f7976a945434667b53c58df369fc2214826c Author: Brad Lhotsky Date : 2025-01-10 21:49:50 +0000 Fallback to KV detection if JSON decoding fails * Added a test for non-JSON curly braces ---------------------------------------- version 6.0 at 2024-11-28 01:08:19 +0000 ---------------------------------------- Change: 03feb42143a10130f5ba401d481459fb1452e75f Author: Brad Lhotsky Date : 2024-11-27 17:08:19 +0000 Fix bugs in test regeneration When running `t/bin/create_test_entry.pl --regenerate --auto`, there was no processing of the `options` in the test file. This was due to my horrible choice to use package variables as configuration options. There's no easy way to "reset" them, so I punted on fixing it. This new version of the script forks a child and then munges the variables in the child. This automagically "resets" the global state. Use the new code to regenerate the `t/data` YAML. This just sorted keys, everything works as intended. Change: 7619fb4416b87ec7dd9856cad24e72df37b0482d Author: Brad Lhotsky Date : 2024-11-27 16:12:13 +0000 Version 6.0 - Migrate to Time::Moment The `HTTP::Date::str2time()` is nice, but the `Time::Moment` is **SO MUCH** faster. This reworks the code to use the `Time::Moment` interface. Additionally, I'm making sense out of the date handling parameters. I am removing support for `::DateTimeCreate` from this module. This was a terrible idea and we don't need it. If you want to use `DateTime` objects in your code do: ```perl use DateTime; use Parse::Syslog::Line; my $msg = parse_syslog_line(<>); $msg{datetime_obj} = DateTime->from_epoch( epoch $msg->{epoch} ); ``` Field Updates ------------- * Added `datetime_utc` - The ISO8601 timestamp as UTC * Added `datetime_local` - The ISO8601 timestamp in the timezone of the local server * Updated `datetime_str` - The ISO8601 timestamp in message local time * Deleted `datetime_obj` * Deleted `date_raw` API Updates ----------- * `TimeMomentFormatString` added to control the string formatting for dates * `DateTimeCreate` is **deprecated** * `HiResFmt` is **deprecated**, use `TimeMomentFormatString` * `NormalizeToUTC` is **deprecated**, every log now returns `datetime_utc` * `OutputTimeZone` is **deprecated**, use `TimeMomentFormatString` Supporting Updates ------------------ * Documentation updates * Dependencies updated * Updates for the benchmarking tools * Tests updated to pass with Time::Moment There's some issues with `Time::Moment` and DST. In the tests, as in production, check `datetime_utc` for those cases instead of using `datetime_local` or `datetime_str`. Change: 60e84965c35c7e66752f48db288ffb076c81f6c0 Author: Brad Lhotsky Date : 2024-11-27 12:19:52 +0000 Make Perl 5.14 used in all the places * `use v5.14` everywhere * Update CLI options to `parse-syslog-line.pl` Change: 6fef9d1a7f67333fe9debb10ad9d8d7ebad12765 Author: Brad Lhotsky Date : 2024-11-27 12:19:52 +0000 Updates for the basic benchmarking tool Change: 62e2979fc06ce690b96526cfba2967151e8de30d Author: Brad Lhotsky Date : 2024-11-26 16:07:46 +0000 Updates the test library to make one place for sample data * Adds `t/lib/test/Data.pm` to provide `get_test_data()` so tests and benchmarks can all use the same body of messages. * Updates `t/00-load.t` to check that the test data loads correctly This was done so the tests and benchmarks share the same data. It also prevents copy/pasta and makes things a bit more complete. ---------------------------------------- version 5.4 at 2024-11-26 19:59:13 +0000 ---------------------------------------- Change: 5af3b79a294614272c84c4caff77ad247bd87a33 Author: Brad Lhotsky Date : 2024-11-26 11:59:13 +0000 Prepping 5.4 Release * Add a test for the IETF syslog-proto23 bug * Bump version Change: 6d2e44764f8d7d03d8beaae7434c66dbbb077b8a Author: Brad Lhotsky Date : 2024-11-26 11:40:43 +0000 Bugfix: IETF-syslog-proto23 This addresses an issue parsing IETF Syslog Protocol 23 formatted messages. It adds a positive look-ahead to check if the preamble "version" number is followed by a space. This differentiates the start of an RFC-3339 date string from that of a version string. I.E. it assumes, there is a space between the version number and date string. Change: 204b56834f5e0181bb68b03f719b7e301c5a38b4 Author: Brad Lhotsky Date : 2024-11-26 11:40:43 +0000 ci: -m Updates for the benchmark tool Change: 268f5a6e413b477b0b7cc374623361cbf9e5b8f2 Author: Brad Lhotsky Date : 2024-09-18 17:09:34 +0000 Parse podman health status messages smarter * Updates the K/V Regexp to stop if it detects a `[` or `(` * Adds a test for the Podman health status output ---------------------------------------- version 5.3 at 2024-06-20 21:09:27 +0000 ---------------------------------------- Change: 403cddd9b4b685f8cc53817fb7d4695c20e2a354 Author: Brad Lhotsky Date : 2024-06-20 14:09:27 +0000 Updates broken regex The `{,MAX}` quantifier appears to have been broken until v5.33.6, which is what MinimumPerl was picking up on. This uses `{0,2}` to work-around it. ---------------------------------------- version 5.2 at 2024-06-20 20:56:49 +0000 ---------------------------------------- Change: fe1b7405a75fa190df57a677cde813c896f4e383 Author: Brad Lhotsky Date : 2024-06-20 13:56:49 +0000 Prep 5.2 Release Change: cee1e129ded8b27311a44fcf97473919fd749d07 Author: Brad Lhotsky Date : 2024-06-20 13:55:50 +0000 Bumping for 5.1 Release * Adds better handling of JunOS firewall logs Change: 75cce74d48812906ab551eb16a4b4c18e0ab7d57 Author: Brad Lhotsky Date : 2024-06-20 13:54:08 +0000 Add more test cases Change: 1216861b44f50e7e338430cbcfe7a14ea691284a Author: Brad Lhotsky Date : 2024-06-20 13:53:20 +0000 Replace YAML is YAML::XS, MinimumPerl got whacky, rollback to 5.14 manually Change: ad6f3e1f684b67b3ca87d3545cc57db98baa4514 Author: Brad Lhotsky Date : 2024-06-20 13:38:26 +0000 Create releases on GitHub too! Change: b85ae1cd0b82f4038929cc3a5bbbf96fe52601b1 Author: Brad Lhotsky Date : 2024-06-20 13:32:49 +0000 Add version detection for RFC5424 formatted messages I mistakenly missed the "VERSION" part of the RFC-5424 format Change: 1286f4d05287a600fbd90dde279ec85cf0909925 Author: Brad Lhotsky Date : 2024-06-11 13:43:57 +0000 Minor fixes and cleanups ---------------------------------------- version 5.1 at 2024-05-24 18:17:59 +0000 ---------------------------------------- Change: c3b622953845aefa0c29f66c2772113d293ded8e Author: Brad Lhotsky Date : 2024-05-24 11:17:59 +0000 Bumping for 5.1 Release * Adds better handling of JunOS firewall logs Change: 27c68a921a82b3985a4b5c3d8092684883dcea51 Author: Brad Lhotsky Date : 2024-05-24 11:12:42 +0000 Handle JunOS Firewall Logs The logs are stamped in a weird manner if they are a part of a load-balancing or fail-over pair. Add a test! Add testing on Perl 5.38 Change: b396a1e1cc8ef8f363dbe44959282114f81613bb Author: Brad Lhotsky Date : 2022-12-09 21:42:46 +0000 Don't use dzil in the workflow * `Dist::Zilla` has a higher Perl requirement than this module so we can't use it * Use `Dist::Zilla::Plugin::CPANFile` to create a `cpanfile` in the distribution * Copy the `cpanfile` back from the build and check in to git * Replace `cpanm` with `cpm` so we can run tests in the CI/CD Change: 2d523fb77108bf2bc112c71312387f7fe05e4996 Author: Brad Lhotsky Date : 2022-12-09 21:20:10 +0000 Test on all the Perls! Now that the CI/CD pipeline is passing, let's run tests on all the perls! Change: e5c158147e245751adf4f6de7f7e6f3c712c19a7 Author: Brad Lhotsky Date : 2022-12-09 21:15:08 +0000 More tweaks for CI workflows Change: 3f42a6eae7ba94335f0f83d6b314d9a9ebda798c Author: Brad Lhotsky Date : 2022-12-09 21:10:30 +0000 More issues with the workflow Change: 2a263ca1d74390372cd37eabe314d77cdbe858ca Author: Brad Lhotsky Date : 2022-12-09 21:05:49 +0000 Chasing issues in the workflow Change: c0cc69e441737af14d22ce04022af69cb09bf625 Author: Brad Lhotsky Date : 2022-12-09 20:33:04 +0000 Install dzil from packages Change: f46aaea8863d94f7afe5fcb39f03ea640bb9370b Author: Brad Lhotsky Date : 2022-12-09 20:25:39 +0000 Hoping to streamline dzil install Change: 249d3fe9c04483fb5ef8eacc930759c31301ed5e Author: Brad Lhotsky Date : 2022-12-09 20:19:41 +0000 Add warnings back Change: c87f5c94cd52f94d90ae1a3c728e2ee8bedb2eb4 Author: Brad Lhotsky Date : 2022-12-09 20:17:43 +0000 Update testing workflow to use dzil Use `dzil` to run the test suite Change: 242d1ed53499878911ae63ae80feb403921392d9 Author: Brad Lhotsky Date : 2022-12-09 20:14:04 +0000 Add a GitHub Action for Testing Attempt to enable GitHub Actions to run the test suite. ================================================= Plus 39 releases after 2023-04-13 00:00:00 +0000. =================================================