|
3 | 3 | All notable changes to this project will be documented in this file. |
4 | 4 |
|
5 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), |
6 | | -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 6 | +and this project adheres to |
| 7 | +[Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
7 | 8 |
|
8 | 9 | ## [Unreleased] |
9 | 10 |
|
10 | 11 | ### Added |
11 | 12 |
|
12 | | -- Add mypy type checking with serde-compatible configuration (fac243d, #16) |
13 | | -- Add `.editorconfig` for consistent editor settings (fac243d, #16) |
14 | | -- Add Dependabot configuration for pip and GitHub Actions (2144fb2, #12) |
| 13 | +- Add mypy type checking with serde-compatible configuration |
| 14 | + ([fac243d], [#16]) |
| 15 | +- Add `.editorconfig` for consistent editor settings ([fac243d], [#16]) |
| 16 | +- Add Dependabot configuration for pip and GitHub Actions ([2144fb2], [#12]) |
15 | 17 |
|
16 | 18 | ### Changed |
17 | 19 |
|
18 | | -- Expand Makefile with self-documenting help and additional targets (fac243d, #16) |
| 20 | +- Expand Makefile with self-documenting help and additional targets |
| 21 | + ([fac243d], [#16]) |
19 | 22 | - Add explicit tool configuration for ruff, black, isort in pyproject.toml |
20 | | - (fac243d, #16) |
| 23 | + ([fac243d], [#16]) |
21 | 24 | - Fix type annotations in `Decimal` class and improve exception handling |
22 | | - (fac243d, #16) |
| 25 | + ([fac243d], [#16]) |
23 | 26 |
|
24 | 27 | ### Infrastructure |
25 | 28 |
|
26 | | -- CI: bump actions/checkout from 4 to 6 (138b369, #14) |
27 | | -- CI: bump actions/setup-python from 5 to 6 (2c42bd0, #15) |
28 | | -- CI: add typecheck step to workflow (fac243d, #16) |
| 29 | +- CI: bump actions/checkout from 4 to 6 ([138b369], [#14]) |
| 30 | +- CI: bump actions/setup-python from 5 to 6 ([2c42bd0], [#15]) |
| 31 | +- CI: add typecheck step to workflow ([fac243d], [#16]) |
29 | 32 | - CI: update to Python 3.13, remove Python 3.14 due to serde compatibility |
30 | | - (17402be, #13) |
| 33 | + ([17402be], [#13]) |
31 | 34 |
|
32 | 35 | ## [1.3.2] - 2025-01-23 |
33 | 36 |
|
34 | 37 | ### Changed |
35 | 38 |
|
36 | | -- Bump version to 1.3.2 (5887f5e, #10) |
37 | | -- README: remove versioning section (f2694d7, #10) |
| 39 | +- Bump version to 1.3.2 ([5887f5e], [#10]) |
| 40 | +- README: remove versioning section ([f2694d7], [#10]) |
38 | 41 |
|
39 | 42 | ### Infrastructure |
40 | 43 |
|
41 | | -- CI: add format, lint, and import sort checks (f3f9ebd, #8) |
42 | | -- Add Makefile with standard targets (7be8625, #8) |
43 | | -- Update development dependencies (60ee697, #8) |
44 | | -- Update README with current usage instructions (269c004, #9) |
| 44 | +- CI: add format, lint, and import sort checks ([f3f9ebd], [#8]) |
| 45 | +- Add Makefile with standard targets ([7be8625], [#8]) |
| 46 | +- Update development dependencies ([60ee697], [#8]) |
| 47 | +- Update README with current usage instructions ([269c004], [#9]) |
45 | 48 |
|
46 | 49 | ## [1.3.1-1] - 2025-01-23 |
47 | 50 |
|
48 | 51 | ### Added |
49 | 52 |
|
50 | | -- L9Event: add missing field `port` (03d6655, #6) |
| 53 | +- L9Event: add missing field `port` ([03d6655], [#6]) |
51 | 54 |
|
52 | 55 | ### Changed |
53 | 56 |
|
54 | | -- Bump minimum Python version to 3.9 (577774e, #7) |
55 | | -- Use `Exception` instead of undefined `ValidationError` (285fe96) |
| 57 | +- Bump minimum Python version to 3.9 ([577774e], [#7]) |
| 58 | +- Use `Exception` instead of undefined `ValidationError` ([285fe96]) |
56 | 59 |
|
57 | 60 | ### Infrastructure |
58 | 61 |
|
59 | | -- CI: drop Python 3.7 and 3.8 support (66faa74, de5aae6, #7) |
60 | | -- CI: add Python 3.12 support (ba3b5a5, #7) |
61 | | -- CI: use Poetry 1.8.5 (635b24c, #7) |
62 | | -- CI: update to ubuntu 22.04 (afdbe95) |
63 | | -- CI: update CI configuration and fix variable name (61683cb, 8612f13, #4, #5) |
| 62 | +- CI: drop Python 3.7 and 3.8 support ([66faa74], [de5aae6], [#7]) |
| 63 | +- CI: add Python 3.12 support ([ba3b5a5], [#7]) |
| 64 | +- CI: use Poetry 1.8.5 ([635b24c], [#7]) |
| 65 | +- CI: update to ubuntu 22.04 ([afdbe95]) |
| 66 | +- CI: update CI configuration and fix variable name ([61683cb], [8612f13], |
| 67 | + [#4], [#5]) |
64 | 68 |
|
65 | 69 | ## [1.3.1-0] - 2021-12-21 |
66 | 70 |
|
67 | 71 | ### Added |
68 | 72 |
|
69 | | -- Add `L9Aggregation` model (4807f73) |
70 | | -- Add `record_age` as optional field (0d91cab) |
71 | | -- Add `__init__.py` with `__version__` for version verification (897bd6c) |
72 | | -- Add Decimal fields for `lat` and `lon` in GeoPoint (dad2666) |
73 | | -- Add more tests with ip4scout outputs (5102665) |
74 | | -- Add mypy for type checking (cd75682) |
| 73 | +- Add `L9Aggregation` model ([4807f73]) |
| 74 | +- Add `record_age` as optional field ([0d91cab]) |
| 75 | +- Add `__init__.py` with `__version__` for version verification ([897bd6c]) |
| 76 | +- Add Decimal fields for `lat` and `lon` in GeoPoint ([dad2666]) |
| 77 | +- Add more tests with ip4scout outputs ([5102665]) |
| 78 | +- Add mypy for type checking ([cd75682]) |
75 | 79 |
|
76 | 80 | ### Changed |
77 | 81 |
|
78 | | -- Make `leak` field optional in L9Event (25d841e) |
79 | | -- Make some fields optional in models (4807f73) |
80 | | -- Use `DateTime` instead of `Time` for time fields (20d4b1d, #3) |
81 | | -- Empty lists are returned as None (4a58022, #2) |
82 | | -- Move tests to the root directory (b7eecf6, #2) |
83 | | -- Remove decimal dependency (094ddd2) |
| 82 | +- Make `leak` field optional in L9Event ([25d841e]) |
| 83 | +- Make some fields optional in models ([4807f73]) |
| 84 | +- Use `DateTime` instead of `Time` for time fields ([20d4b1d], [#3]) |
| 85 | +- Empty lists are returned as None ([4a58022], [#2]) |
| 86 | +- Move tests to the root directory ([b7eecf6], [#2]) |
| 87 | +- Remove decimal dependency ([094ddd2]) |
84 | 88 |
|
85 | 89 | ### Infrastructure |
86 | 90 |
|
87 | | -- Complete pyproject.toml configuration (d7f8696) |
88 | | -- Add poetry build in CI (325581f) |
89 | | -- Check format in CI and move black to dev deps (2a33ed0) |
90 | | -- Use Poetry 1.1.11 (259a81b) |
| 91 | +- Complete pyproject.toml configuration ([d7f8696]) |
| 92 | +- Add poetry build in CI ([325581f]) |
| 93 | +- Check format in CI and move black to dev deps ([2a33ed0]) |
| 94 | +- Use Poetry 1.1.11 ([259a81b]) |
91 | 95 |
|
92 | 96 | ## [1.0.0] - 2021-05-23 |
93 | 97 |
|
94 | 98 | ### Added |
95 | 99 |
|
96 | | -- Initial release based on l9format Go implementation (67cc265, #1) |
| 100 | +- Initial release based on l9format Go implementation ([67cc265], [#1]) |
97 | 101 | - L9Event model with HTTP, SSL, SSH, Service, Leak, GeoIP, and Network fields |
98 | 102 | - Basic serialization/deserialization using serde library |
99 | 103 |
|
| 104 | +<!-- Version links --> |
| 105 | + |
100 | 106 | [Unreleased]: https://github.com/LeakIX/l9format-python/compare/1.3.2...HEAD |
101 | 107 | [1.3.2]: https://github.com/LeakIX/l9format-python/compare/1.3.1-1...1.3.2 |
102 | 108 | [1.3.1-1]: https://github.com/LeakIX/l9format-python/compare/1.3.1-0...1.3.1-1 |
103 | 109 | [1.3.1-0]: https://github.com/LeakIX/l9format-python/compare/1.0.0...1.3.1-0 |
104 | 110 | [1.0.0]: https://github.com/LeakIX/l9format-python/releases/tag/1.0.0 |
| 111 | + |
| 112 | +<!-- Commit links --> |
| 113 | + |
| 114 | +[fac243d]: https://github.com/LeakIX/l9format-python/commit/fac243d |
| 115 | +[2144fb2]: https://github.com/LeakIX/l9format-python/commit/2144fb2 |
| 116 | +[138b369]: https://github.com/LeakIX/l9format-python/commit/138b369 |
| 117 | +[2c42bd0]: https://github.com/LeakIX/l9format-python/commit/2c42bd0 |
| 118 | +[17402be]: https://github.com/LeakIX/l9format-python/commit/17402be |
| 119 | +[5887f5e]: https://github.com/LeakIX/l9format-python/commit/5887f5e |
| 120 | +[f2694d7]: https://github.com/LeakIX/l9format-python/commit/f2694d7 |
| 121 | +[f3f9ebd]: https://github.com/LeakIX/l9format-python/commit/f3f9ebd |
| 122 | +[7be8625]: https://github.com/LeakIX/l9format-python/commit/7be8625 |
| 123 | +[60ee697]: https://github.com/LeakIX/l9format-python/commit/60ee697 |
| 124 | +[269c004]: https://github.com/LeakIX/l9format-python/commit/269c004 |
| 125 | +[03d6655]: https://github.com/LeakIX/l9format-python/commit/03d6655 |
| 126 | +[577774e]: https://github.com/LeakIX/l9format-python/commit/577774e |
| 127 | +[285fe96]: https://github.com/LeakIX/l9format-python/commit/285fe96 |
| 128 | +[66faa74]: https://github.com/LeakIX/l9format-python/commit/66faa74 |
| 129 | +[de5aae6]: https://github.com/LeakIX/l9format-python/commit/de5aae6 |
| 130 | +[ba3b5a5]: https://github.com/LeakIX/l9format-python/commit/ba3b5a5 |
| 131 | +[635b24c]: https://github.com/LeakIX/l9format-python/commit/635b24c |
| 132 | +[afdbe95]: https://github.com/LeakIX/l9format-python/commit/afdbe95 |
| 133 | +[61683cb]: https://github.com/LeakIX/l9format-python/commit/61683cb |
| 134 | +[8612f13]: https://github.com/LeakIX/l9format-python/commit/8612f13 |
| 135 | +[4807f73]: https://github.com/LeakIX/l9format-python/commit/4807f73 |
| 136 | +[0d91cab]: https://github.com/LeakIX/l9format-python/commit/0d91cab |
| 137 | +[897bd6c]: https://github.com/LeakIX/l9format-python/commit/897bd6c |
| 138 | +[dad2666]: https://github.com/LeakIX/l9format-python/commit/dad2666 |
| 139 | +[5102665]: https://github.com/LeakIX/l9format-python/commit/5102665 |
| 140 | +[cd75682]: https://github.com/LeakIX/l9format-python/commit/cd75682 |
| 141 | +[25d841e]: https://github.com/LeakIX/l9format-python/commit/25d841e |
| 142 | +[20d4b1d]: https://github.com/LeakIX/l9format-python/commit/20d4b1d |
| 143 | +[4a58022]: https://github.com/LeakIX/l9format-python/commit/4a58022 |
| 144 | +[b7eecf6]: https://github.com/LeakIX/l9format-python/commit/b7eecf6 |
| 145 | +[094ddd2]: https://github.com/LeakIX/l9format-python/commit/094ddd2 |
| 146 | +[d7f8696]: https://github.com/LeakIX/l9format-python/commit/d7f8696 |
| 147 | +[325581f]: https://github.com/LeakIX/l9format-python/commit/325581f |
| 148 | +[2a33ed0]: https://github.com/LeakIX/l9format-python/commit/2a33ed0 |
| 149 | +[259a81b]: https://github.com/LeakIX/l9format-python/commit/259a81b |
| 150 | +[67cc265]: https://github.com/LeakIX/l9format-python/commit/67cc265 |
| 151 | + |
| 152 | +<!-- PR links --> |
| 153 | + |
| 154 | +[#1]: https://github.com/LeakIX/l9format-python/pull/1 |
| 155 | +[#2]: https://github.com/LeakIX/l9format-python/pull/2 |
| 156 | +[#3]: https://github.com/LeakIX/l9format-python/pull/3 |
| 157 | +[#4]: https://github.com/LeakIX/l9format-python/pull/4 |
| 158 | +[#5]: https://github.com/LeakIX/l9format-python/pull/5 |
| 159 | +[#6]: https://github.com/LeakIX/l9format-python/pull/6 |
| 160 | +[#7]: https://github.com/LeakIX/l9format-python/pull/7 |
| 161 | +[#8]: https://github.com/LeakIX/l9format-python/pull/8 |
| 162 | +[#9]: https://github.com/LeakIX/l9format-python/pull/9 |
| 163 | +[#10]: https://github.com/LeakIX/l9format-python/pull/10 |
| 164 | +[#12]: https://github.com/LeakIX/l9format-python/pull/12 |
| 165 | +[#13]: https://github.com/LeakIX/l9format-python/pull/13 |
| 166 | +[#14]: https://github.com/LeakIX/l9format-python/pull/14 |
| 167 | +[#15]: https://github.com/LeakIX/l9format-python/pull/15 |
| 168 | +[#16]: https://github.com/LeakIX/l9format-python/pull/16 |
0 commit comments