- #288 - Fixed exceptions under Pydantic 1.x.
- #286 - Added support for
lxml
5.x.
- #277 - Refactor the output validator
validate_empty_circuit
- #281 Add the ability to support pydantic 1 and 2
- #272 - Fix the logic in the output validator
validate_empty_circuit
- #278 - Increase robustness of Crown Castle parsing
- #274 - Add Global Cloud XChange Parser
- #257 - Update incorrect file comment
- #255 - Properly process Amazon emergency maintenance notifications
-
#249 - Add Metadata to every Maintenance, addresses issue #246 by @chadell
- #237 - Remove Python 3.7 support by @slyngshede
- #243 - Handle broken EUNetworks cancellation messages by @jmaslak
- #251 Add missing Arelion entry to SUPPORTED_PROVIDERS by @glennmatthews
- #230 - Swap out tzwhere for TimezoneFinder
- #234 - Added upper bound to pydantic dependency
- #216 - Allow Lumen maintenance multiple windows to be parsed
- #212 - Updated documentation: Contribution section
- #210 - Ability to parse multiple maintenance windows from Zayo
- #190 - Update Telstra for new notification format
- #222 - Fix e22 tests when combining data from multiple maintenances
- #204 - Updated pydantic version support
- #197 - Updated Equinix parser: Adding support for additional impact statement and notification types.
- #192 - Updated Cogent parser: Adding subject and text parser.
- #186 - Updated Telia Carrier as Arelion (while keeping Telia for backwards compatibility).
- #198 - Fixed Verizon parser: use European-style day-first date parsing
- #187 - Fixed Zayo parser: adds chardet.detect method before decoding data_part.content.
- #169 - Add a helper script to anonymize IP addresses using
netconan
- #163 - New parser for BSO provider
- #182 - Moved
toml
to dev-dependencies - #181 - Changed mypy to v0.982
- #180 - Minimum Python version changed from
3.6.2
to3.7
- #179 - Do not require an "[ EXTERNAL ]" marker for Colt email subjects
- #176 - Handle Zayo table with "Customer Circuit ID" header
- #170 - Update networktocode/gh-action-setup-poetry-environment action to v4
- #164 - Improve CI concurrency
- #161 - Update dependency flake8 to v5
- #160 - Update slackapi/slack-github-action action to v1.23.0
- #154 - Do not accept
pydantic
v1.9.1 - #151 - Changed version
types-pytz
to v2022 - #150 - Update actions/setup-python action to v4
- #148 - Update actions/checkout action to v3
- #147 - Update slackapi/slack-github-action action to v1.19.0
- #146 - Migrate CI from Travis to Github Actions
- #138 - Update dependency pytest to v7
- #177 - Fixed Colt parser: use European-style day-first date parsing
- #143 - Minimum Python version changed from
3.6.1
to3.6.2
- #132 - Handle alternate "has been cancelled" text in Telstra notifications.
- #134 - Handle Zayo "RESCHEDULE" notifications.
- #143 - Fix Equinix parser not taking year into account
- #115 - Add default
status
andsequence
values for iCal notifications missing these fields - #124 - Handle encoded non-ASCII characters in email subjects.
- #126 - Ignore a class of non-maintenance-notification emails from Telia.
- #127 - Improve handling of Equinix and Lumen notifications.
- #128 - Add capability to set
RE-SCHEDULED
status for Verizon rescheduled notifications.
- #120 - Improve handling of Zayo notifications.
- #121 - Defer loading of
tzwhere
data until it's needed, to reduce memory overhead.
- #116 - New
EmailSubjectParser
for Colt notifications and tests. - #117 - Add new notification status of
Alternate Night
for Lumen.
- #109 - Improve handling of Zayo notifications.
- #110 - Improve handling of Telstra notifications.
- #111 - Improve handling of EXA (GTT) notifications.
- #112 - Improve handling of Equinix notifications.
- #94 - Improve Geo service error handling.
- #97 - Fix Readme image URLs.
- #98 - Add handling for
Lumen
notification with Alt Circuit ID. - #99 - Extend
Zayo
Html parser to handle different table headers. - #102 - Add
Equinix
provider. - #104 - Use a local locations DB to map city to timezone as first option, keeping API as fallback option.
- #105 - Extend
Colt
parser to support multipleMaintenance
statuses.
- #84 - New parser added for text. Added new provider
AWS
usingText
andEmailSubjectParser
- #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.
- #90 - Improved handling of Lumen scheduled maintenance notices
- #86 - Fix
CombinedProcessor
carries over data from previous parsing
- #79 - Fix
HtmlParserGTT1
regex parsing.
- #73 - Added new provider
Sparkle
usingHtml
andEmailSubjectParser
. Added support for multiple maintenances withCombinedProcessor
. - #75 - Added new provider
AquaComms
usingHtml
andEmailSubjectParser
- #72 - Ensure
NotificationData
init methods for library client do not raise exceptions and just returnNone
.
- #50 - Added new provider
Verizon
usingHtml
- #52 - Added new provider
GTT
usingHtml
- #53 -
circuit-maintenace-parser
refactor, including:- New
Processor
class that allows theProvider
to define more custom logics to combine parsed data to createMaintenances
- New
NotificationData
class that enables easier data injection for simple and complex data objects, such as emails. - Tests refactor to make them more specific to each type of data, mocking interfaces between different classes.
- New
- #54 - Added new provider
Turkcell
usingHtml
- #59 - Added a new parser
EmailDateParser
that uses the temailDate
to get theStamp
and use in most of theProviders
via theCombinedProcessor
. Also,Maintenance.stamp
attribute is mandatory. - #60 - Added new provider
Seaborn
usingHtml
and a new parser for Email Subject:EmailSubjectParser
- #61 - Added new provider
Colt
usingICal
andCsv
- #66 - Added new provider
Momentum
usingHtml
andEmailSubjectParser
- #68 - Added new provider
HGC
usingHtml
andEmailSubjectParser
- #49 - Improved
Lumen
Html
parsing.
- #46 - Accept <8.0 Click version to avoid dependency issues with other client packages
- #41 - Added new provider
Telia
usingIcal
- #42 - Improve error and debug messages to ease troubleshooting of parsing issues
- #32 - Fix backwards compatibility with version 1.1.0 that was broken in 1.2.0
- #31 - Fix consistent provider (and other attributes) usage in all the classes
- #25 - added Cogent parser
- #26 - Multiple Parsers per Provider, even combining ICal with custom HTML.
- #16 - changed
MaintenanceNotification.raw
fromstr
tobytes
, improve Zayo parser, and add -v/--verbose CLI option - #17 - added Lumen parser and refactor HTML parser
process
method - #18 - added Telstra parser and made
Maintenance.stamp
attribute optional - #19 - added Megaport
- #15 - Update Pydantic version due to security advisory GHSA-5jqp-qgf6-3pvh
- #10 - added
cli
command to run as a script
Initial release