This document describes all new features and changes in the release. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
This document describes all new features and changes in the release. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Major features or milestones
- Changes to compatibility with Nautobot and/or other apps, libraries etc.
- #375 - Added Google subject parser with support for multiple status types and notifications without end times.
- #372 - Refactored OpenAI parser to be used as a fallback and fixed subject injection to skip text/calendar parts.
- #377 - Fixed Lumen parser incorrectly marking scheduled future maintenance events as IN-PROCESS instead of CONFIRMED. Bug introduced in commit 737aa4e9 (Aug 2021).
- #391 - Upgraded lxml to version 6.0.2 and normalized CRLF line endings in HTML parser output.
- #393 - Pinned lxml version to support >=4.6.2,<7.
- #384 - Added Python 3.13 to supported versions and CI matrix.
- Added required cookiecutter json file for drift management setup.
- Fixed incorrectly set cookiecutter project_slug.
- #330 - Add support for parsing AWS HTML format maintenance notification emails
- #360 - Updated lxml to include version 6
- #361 - Updated timezonefinder to v8.2.0
- #345 - Updated minimum Python version to 3.10 and upgraded dependencies including pytest (9.0), pylint (4.0), towncrier (25.8), backoff (2.2), and type stubs
- #344 - Updated test coverage for the codebase
- #335 - Add subject to body of emails for OpenAI parser
- #330 - Add support for parsing AWS HTML format maintenance notification emails
- #331 - Fix bug with maintenance_id generation due to CircuitImpact
- #320 - Adopt new NTC development standards
- #328 - Add LLM tokens used to MetaData, fix PCCW parser, and text hook improvement
- #329 - Add changelog check in the CI
- #343 - Updated test coverage for the codebase
- #313 - Add parsers for provider ATT
- #312 - Move epoch parser outside of LLM due to inconsistencies
- #314 - Add multi-windows for LLM
- #315 - Return proper impact result for parsing
- #303 - Add new parser for Apple
- #302 - Add support for Python 3.12
- #301 - Add new parser for PCCW
- #297 - Add new parser for Tata Communications
- #295 - Remove pydantic dotenv extra
- #288 - Fixed exceptions under Pydantic 1.x.
- #286 - Added support for
lxml5.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
tomlto dev-dependencies - #181 - Changed mypy to v0.982
- #180 - Minimum Python version changed from
3.6.2to3.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
pydanticv1.9.1 - #151 - Changed version
types-pytzto 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.1to3.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
statusandsequencevalues 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-SCHEDULEDstatus for Verizon rescheduled notifications.
- #120 - Improve handling of Zayo notifications.
- #121 - Defer loading of
tzwheredata until it's needed, to reduce memory overhead.
- #116 - New
EmailSubjectParserfor Colt notifications and tests. - #117 - Add new notification status of
Alternate Nightfor 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
Lumennotification with Alt Circuit ID. - #99 - Extend
ZayoHtml parser to handle different table headers. - #102 - Add
Equinixprovider. - #104 - Use a local locations DB to map city to timezone as first option, keeping API as fallback option.
- #105 - Extend
Coltparser to support multipleMaintenancestatuses.
- #84 - New parser added for text. Added new provider
AWSusingTextandEmailSubjectParser - #91 -
Providernow adds_include_filterand_exclude_filterattributes (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
CombinedProcessorcarries over data from previous parsing
- #79 - Fix
HtmlParserGTT1regex parsing.
- #73 - Added new provider
SparkleusingHtmlandEmailSubjectParser. Added support for multiple maintenances withCombinedProcessor. - #75 - Added new provider
AquaCommsusingHtmlandEmailSubjectParser
- #72 - Ensure
NotificationDatainit methods for library client do not raise exceptions and just returnNone.
- #50 - Added new provider
VerizonusingHtml - #52 - Added new provider
GTTusingHtml - #53 -
circuit-maintenace-parserrefactor, including:- New
Processorclass that allows theProviderto define more custom logics to combine parsed data to createMaintenances - New
NotificationDataclass 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
TurkcellusingHtml - #59 - Added a new parser
EmailDateParserthat uses the temailDateto get theStampand use in most of theProvidersvia theCombinedProcessor. Also,Maintenance.stampattribute is mandatory. - #60 - Added new provider
SeabornusingHtmland a new parser for Email Subject:EmailSubjectParser - #61 - Added new provider
ColtusingICalandCsv - #66 - Added new provider
MomentumusingHtmlandEmailSubjectParser - #68 - Added new provider
HGCusingHtmlandEmailSubjectParser
- #49 - Improved
LumenHtmlparsing.
- #46 - Accept <8.0 Click version to avoid dependency issues with other client packages
- #41 - Added new provider
TeliausingIcal - #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.rawfromstrtobytes, improve Zayo parser, and add -v/--verbose CLI option - #17 - added Lumen parser and refactor HTML parser
processmethod - #18 - added Telstra parser and made
Maintenance.stampattribute optional - #19 - added **Megaport`
- #15 - Update Pydantic version due to security advisory GHSA-5jqp-qgf6-3pvh
- #10 - added
clicommand to run as a script
Initial release