Skip to content

Commit 1c873f1

Browse files
Merge pull request #364 from networktocode/release-v2.9.0
Release v2.9.0
2 parents b735b47 + 10a6c1e commit 1c873f1

21 files changed

Lines changed: 4443 additions & 1510 deletions

.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ jobs:
9595
strategy:
9696
fail-fast: true
9797
matrix:
98-
python-version: ["3.9", "3.10", "3.11", "3.12"]
98+
python-version: ["3.10", "3.11", "3.12"]
9999
env:
100100
PYTHON_VER: "${{ matrix.python-version }}"
101101
steps:
@@ -131,7 +131,7 @@ jobs:
131131
strategy:
132132
fail-fast: true
133133
matrix:
134-
python-version: ["3.9", "3.10", "3.11", "3.12"]
134+
python-version: ["3.10", "3.11", "3.12"]
135135
runs-on: "ubuntu-24.04"
136136
env:
137137
PYTHON_VER: "${{ matrix.python-version }}"
@@ -175,7 +175,7 @@ jobs:
175175
- name: "Set up Python"
176176
uses: "actions/setup-python@v5"
177177
with:
178-
python-version: "3.9"
178+
python-version: "3.10"
179179
- name: "Install Python Packages"
180180
run: "pip install poetry"
181181
- name: "Set env"
@@ -221,7 +221,7 @@ jobs:
221221
- name: "Set up Python"
222222
uses: "actions/setup-python@v5"
223223
with:
224-
python-version: "3.9"
224+
python-version: "3.10"
225225
- name: "Install Python Packages"
226226
run: "pip install poetry"
227227
- name: "Set env"

CHANGELOG.md

Lines changed: 1 addition & 333 deletions
Original file line numberDiff line numberDiff line change
@@ -1,335 +1,3 @@
11
# Changelog
22

3-
# Changelog
4-
5-
## v2.8.0 - 2025-06-06
6-
7-
### Added
8-
9-
- [#313](https://github.com/networktocode/circuit-maintenance-parser/pull/313) - Add parsers for provider ATT
10-
11-
### Changed
12-
13-
- [#312](https://github.com/networktocode/circuit-maintenance-parser/pull/312) - Move epoch parser outside of LLM due to inconsistencies
14-
- [#314](https://github.com/networktocode/circuit-maintenance-parser/pull/314) - Add multi-windows for LLM
15-
- [#315](https://github.com/networktocode/circuit-maintenance-parser/pull/315) - Return proper impact result for parsing
16-
17-
## v2.7.0 - 2025-01-10
18-
19-
### Added
20-
21-
- [#303](https://github.com/networktocode/circuit-maintenance-parser/pull/303) - Add new parser for Apple
22-
- [#302](https://github.com/networktocode/circuit-maintenance-parser/pull/302) - Add support for Python 3.12
23-
- [#301](https://github.com/networktocode/circuit-maintenance-parser/pull/301) - Add new parser for PCCW
24-
- [#297](https://github.com/networktocode/circuit-maintenance-parser/pull/297) - Add new parser for Tata Communications
25-
26-
### Changed
27-
28-
- [#302](https://github.com/networktocode/circuit-maintenance-parser/pull/302) - Drop support for Python 3.8
29-
- [#291](https://github.com/networktocode/circuit-maintenance-parser/pull/291) - Update Windstream Parser for new emails
30-
31-
### Dependencies
32-
33-
- [#295](https://github.com/networktocode/circuit-maintenance-parser/pull/295) - Remove pydantic dotenv extra
34-
35-
## v2.6.1 - 2024-06-04
36-
37-
### Fixed
38-
39-
- [#288](https://github.com/networktocode/circuit-maintenance-parser/pull/288) - Fixed exceptions under Pydantic 1.x.
40-
41-
### Dependencies
42-
43-
- [#286](https://github.com/networktocode/circuit-maintenance-parser/pull/286) - Added support for `lxml` 5.x.
44-
45-
## v2.6.0 - 2024-04-04
46-
47-
### Added
48-
49-
- [#273](https://github.com/networktocode/circuit-maintenance-parser/pull/273) - Add iCal parsing to GTT/EXA
50-
- [#280](https://github.com/networktocode/circuit-maintenance-parser/pull/280) - Add new Windstream Parser
51-
52-
### Changed
53-
54-
- [#277](https://github.com/networktocode/circuit-maintenance-parser/pull/277) - Refactor the output validator `validate_empty_circuit`
55-
- [#281](https://github.com/networktocode/circuit-maintenance-parser/pull/281) Add the ability to support pydantic 1 and 2
56-
57-
### Fixed
58-
59-
- [#272](https://github.com/networktocode/circuit-maintenance-parser/pull/272) - Fix the logic in the output validator `validate_empty_circuit`
60-
- [#278](https://github.com/networktocode/circuit-maintenance-parser/pull/278) - Increase robustness of Crown Castle parsing
61-
62-
## v2.5.0 - 2024-03-13
63-
64-
### Added
65-
66-
- [#274](https://github.com/networktocode/circuit-maintenance-parser/pull/274) - Add Global Cloud XChange Parser
67-
68-
## v2.4.0 - 2024-02-20
69-
70-
### Added
71-
72-
- [#260](https://github.com/networktocode/circuit-maintenance-parser/pull/260) - Add Google parser
73-
- [#259](https://github.com/networktocode/circuit-maintenance-parser/pull/259) - Add Crown Castle fiber parser
74-
- [#258](https://github.com/networktocode/circuit-maintenance-parser/pull/258) - Add Netflix parser
75-
76-
### Changed
77-
78-
- [#264](https://github.com/networktocode/circuit-maintenance-parser/pull/264) - Adopt Pydantic 2.0
79-
- [#256](https://github.com/networktocode/circuit-maintenance-parser/pull/256) - Improved Equinix parser
80-
81-
### Fixed
82-
83-
- [#257](https://github.com/networktocode/circuit-maintenance-parser/pull/257) - Update incorrect file comment
84-
- [#255](https://github.com/networktocode/circuit-maintenance-parser/pull/255) -
85-
Properly process Amazon emergency maintenance notifications
86-
87-
## v2.3.0 - 2023-12-15
88-
89-
### Added
90-
91-
- [#245](https://github.com/networktocode/circuit-maintenance-parser/pull/245) [#250](https://github.com/networktocode/circuit-maintenance-parser/pull/250) [#252](https://github.com/networktocode/circuit-maintenance-parser/pull/252) - OpenAI parser by @chadell
92-
93-
- [#249](https://github.com/networktocode/circuit-maintenance-parser/pull/249) - Add Metadata to every Maintenance, addresses issue #246 by @chadell
94-
95-
### Changed
96-
97-
- [#237](https://github.com/networktocode/circuit-maintenance-parser/pull/237) - Remove Python 3.7 support by @slyngshede
98-
99-
### Fixed
100-
101-
- [#243](https://github.com/networktocode/circuit-maintenance-parser/pull/243) - Handle broken EUNetworks cancellation messages by @jmaslak
102-
- [#251](https://github.com/networktocode/circuit-maintenance-parser/pull/251) Add missing Arelion entry to SUPPORTED_PROVIDERS by @glennmatthews
103-
104-
## v2.2.4 - 2023-07-12
105-
106-
- #230 - Swap out tzwhere for TimezoneFinder
107-
- #234 - Added upper bound to pydantic dependency
108-
109-
### Changed
110-
111-
## v2.2.3 - 2023-03-21
112-
113-
### Changed
114-
115-
- #216 - Allow Lumen maintenance multiple windows to be parsed
116-
- #212 - Updated documentation: Contribution section
117-
- #210 - Ability to parse multiple maintenance windows from Zayo
118-
- #190 - Update Telstra for new notification format
119-
120-
### Fixed
121-
122-
- #222 - Fix e22 tests when combining data from multiple maintenances
123-
124-
## v2.2.2 - 2023-01-27
125-
126-
### Changed
127-
128-
- #204 - Updated pydantic version support
129-
130-
## v2.2.1 - 2023-01-17
131-
132-
### Changed
133-
134-
- #197 - Updated Equinix parser: Adding support for additional impact statement and notification types.
135-
- #192 - Updated Cogent parser: Adding subject and text parser.
136-
- #186 - Updated Telia Carrier as Arelion (while keeping Telia for backwards compatibility).
137-
138-
### Fixed
139-
140-
- #198 - Fixed Verizon parser: use European-style day-first date parsing
141-
- #187 - Fixed Zayo parser: adds chardet.detect method before decoding data_part.content.
142-
143-
## v2.2.0 - 2022-10-25
144-
145-
### Added
146-
147-
- #169 - Add a helper script to anonymize IP addresses using `netconan`
148-
- #163 - New parser for BSO provider
149-
150-
### Changed
151-
152-
- #182 - Moved `toml` to dev-dependencies
153-
- #181 - Changed mypy to v0.982
154-
- #180 - **Minimum Python version changed** from `3.6.2` to `3.7`
155-
- #179 - Do not require an "[ EXTERNAL ]" marker for Colt email subjects
156-
- #176 - Handle Zayo table with "Customer Circuit ID" header
157-
- #170 - Update networktocode/gh-action-setup-poetry-environment action to v4
158-
- #164 - Improve CI concurrency
159-
- #161 - Update dependency flake8 to v5
160-
- #160 - Update slackapi/slack-github-action action to v1.23.0
161-
- #154 - Do not accept `pydantic` v1.9.1
162-
- #151 - Changed version `types-pytz` to v2022
163-
- #150 - Update actions/setup-python action to v4
164-
- #148 - Update actions/checkout action to v3
165-
- #147 - Update slackapi/slack-github-action action to v1.19.0
166-
- #146 - Migrate CI from Travis to Github Actions
167-
- #138 - Update dependency pytest to v7
168-
169-
### Fixed
170-
171-
- #177 - Fixed Colt parser: use European-style day-first date parsing
172-
173-
## v2.1.0 - 2022-05-13
174-
175-
### Changed
176-
177-
- #143 - Minimum Python version changed from `3.6.1` to `3.6.2`
178-
179-
### Fixed
180-
181-
- #132 - Handle alternate "has been cancelled" text in Telstra notifications.
182-
- #134 - Handle Zayo "RESCHEDULE" notifications.
183-
- #143 - Fix Equinix parser not taking year into account
184-
185-
## v2.0.8 - 2021-12-09
186-
187-
### Fixed
188-
189-
- #115 - Add default `status` and `sequence` values for iCal notifications missing these fields
190-
- #124 - Handle encoded non-ASCII characters in email subjects.
191-
- #126 - Ignore a class of non-maintenance-notification emails from Telia.
192-
- #127 - Improve handling of Equinix and Lumen notifications.
193-
- #128 - Add capability to set `RE-SCHEDULED` status for Verizon rescheduled notifications.
194-
195-
## v2.0.7 - 2021-12-01
196-
197-
### Fixed
198-
199-
- #120 - Improve handling of Zayo notifications.
200-
- #121 - Defer loading of `tzwhere` data until it's needed, to reduce memory overhead.
201-
202-
## v2.0.6 - 2021-11-30
203-
204-
### Added
205-
206-
- #116 - New `EmailSubjectParser` for Colt notifications and tests.
207-
- #117 - Add new notification status of `Alternate Night` for Lumen.
208-
209-
## v2.0.5 - 2021-11-18
210-
211-
### Fixed
212-
213-
- #109 - Improve handling of Zayo notifications.
214-
- #110 - Improve handling of Telstra notifications.
215-
- #111 - Improve handling of EXA (GTT) notifications.
216-
- #112 - Improve handling of Equinix notifications.
217-
218-
## v2.0.4 - 2021-11-04
219-
220-
### Fixed
221-
222-
- #94 - Improve Geo service error handling.
223-
- #97 - Fix Readme image URLs.
224-
- #98 - Add handling for `Lumen` notification with Alt Circuit ID.
225-
- #99 - Extend `Zayo` Html parser to handle different table headers.
226-
- #102 - Add `Equinix` provider.
227-
- #104 - Use a local locations DB to map city to timezone as first option, keeping API as fallback option.
228-
- #105 - Extend `Colt` parser to support multiple `Maintenance` statuses.
229-
230-
## v2.0.3 - 2021-10-01
231-
232-
### Added
233-
234-
- #84 - New parser added for text. Added new provider `AWS` using `Text` and `EmailSubjectParser`
235-
- #91 - `Provider` now adds `_include_filter` and `_exclude_filter` attributes (using regex) to filter in and out notifications that are relevant to be parsed vs other that are not, avoiding false positives.
236-
237-
### Fixed
238-
239-
- #90 - Improved handling of Lumen scheduled maintenance notices
240-
241-
## v2.0.2 - 2021-09-28
242-
243-
### Fixed
244-
245-
- #86 - Fix `CombinedProcessor` carries over data from previous parsing
246-
247-
## v2.0.1 - 2021-09-16
248-
249-
### Fixed
250-
251-
- #79 - Fix `HtmlParserGTT1` regex parsing.
252-
253-
## v2.0.0 - 2021-09-15
254-
255-
### Added
256-
257-
- #73 - Added new provider `Sparkle` using `Html` and `EmailSubjectParser`. Added support for multiple maintenances with `CombinedProcessor`.
258-
- #75 - Added new provider `AquaComms` using `Html` and `EmailSubjectParser`
259-
260-
### Fixed
261-
262-
- #72 - Ensure `NotificationData` init methods for library client do not raise exceptions and just return `None`.
263-
264-
## v2.0.0-beta - 2021-09-07
265-
266-
### Added
267-
268-
- #50 - Added new provider `Verizon` using `Html`
269-
- #52 - Added new provider `GTT` using `Html`
270-
- #53 - `circuit-maintenace-parser` refactor, including:
271-
- New `Processor` class that allows the `Provider` to define more custom logics to combine parsed data to create
272-
`Maintenances`
273-
- New `NotificationData` class that enables easier data injection for simple and complex data objects, such as
274-
emails.
275-
- Tests refactor to make them more specific to each type of data, mocking interfaces between different classes.
276-
- #54 - Added new provider `Turkcell` using `Html`
277-
- #59 - Added a new parser `EmailDateParser` that uses the temail `Date` to get the `Stamp` and use in most of the `Providers` via the `CombinedProcessor`. Also, `Maintenance.stamp` attribute is mandatory.
278-
- #60 - Added new provider `Seaborn` using `Html` and a new parser for Email Subject: `EmailSubjectParser`
279-
- #61 - Added new provider `Colt` using `ICal` and `Csv`
280-
- #66 - Added new provider `Momentum` using `Html` and `EmailSubjectParser`
281-
- #68 - Added new provider `HGC` using `Html` and `EmailSubjectParser`
282-
283-
### Fixed
284-
285-
- #49 - Improved `Lumen` `Html` parsing.
286-
287-
## v1.2.3 - 2021-08-12
288-
289-
### Fixed
290-
291-
- #46 - Accept <8.0 Click version to avoid dependency issues with other client packages
292-
293-
## v1.2.2 - 2021-08-12
294-
295-
### Added
296-
297-
- #41 - Added new provider `Telia` using `Ical`
298-
- #42 - Improve error and debug messages to ease troubleshooting of parsing issues
299-
300-
## v1.2.1 - 2021-06-22
301-
302-
### Fix
303-
304-
- #32 - Fix backwards compatibility with version 1.1.0 that was broken in 1.2.0
305-
- #31 - Fix consistent provider (and other attributes) usage in all the classes
306-
307-
## v1.2.0 - 2021-06-21
308-
309-
### Added
310-
311-
- #25 - added **Cogent** parser
312-
- #26 - Multiple Parsers per Provider, even combining ICal with custom HTML.
313-
314-
## v1.1.0 - 2021-06-09
315-
316-
### Added
317-
318-
- #16 - changed `MaintenanceNotification.raw` from `str` to `bytes`, improve **Zayo** parser, and add -v/--verbose CLI option
319-
- #17 - added **Lumen** parser and refactor HTML parser `process` method
320-
- #18 - added **Telstra** parser and made `Maintenance.stamp` attribute optional
321-
- #19 - added **Megaport**
322-
323-
### Fixes
324-
325-
- #15 - Update Pydantic version due to security advisory GHSA-5jqp-qgf6-3pvh
326-
327-
## v1.0.2 - 2021-05-05
328-
329-
### Added
330-
331-
- #10 - added `cli` command to run as a script
332-
333-
## v1.0.0 - 2021-04-29
334-
335-
Initial release
3+
The canonical changelog now lives in [docs/release_notes.md](docs/release_notes.md). Please reference that file for the full release history.

0 commit comments

Comments
 (0)