All notable changes to this project will be documented in this file. This should be succinct, but still capture "what I would want co-developers to know".
This project adheres to Semantic Versioning, but reserves the right to do whatever the hell it wants with pre-release versioning.
Observe format below, particularly:
- version headings (with links)
- diff quick link(s) under each version heading
- project section (dir) sub-headings for each version, alphabetical with
Project & Toolchain
at top, then all sub-packages/modules, then docs. - type-of-change prefix for each change line
- each change only a line or 2, maybe 3 (sub-lists allowed in select cases)
- issue (not PR) link for every change line
- milestones, projects, issues, and PRs with issue linkage for each version in alphanumeric order
- reference-style links at very bottom of file, grouped and in completion order
- 'Unit Tests' sections only updated when async change with relevant src change
- Otherwise assumed src changes have corresponding unit test changes
Release change log convention via Keep a Changelog.
Compare to stable
v1.0.0 - 2023-07-31
No comparison (initial release).
- [Added]
.editorconfig
and.gitattributes
added (#1). - [Added] VS Code related items added to
.gitignore
(#1). - [Added]
*.csv
added to.gitignore
#7.
- [Added] CircleCI implemented, with
.circleci/config.yml
file that ensures project builds successfully (#1). - [Added]
mypy
type hint checker added for ensuring type hints fully done and correct for app (#1).
- [Added]
dir_init_checker.py
added to newci_support
dir to run code for checking__init__.py
files are up to date (#1). - [Added]
version_checker.py
added to verify that the version format conforms to standard practice based on branch (#1).
- [Added] Units omitted from names and assumed to be base standard units unless otherwise specified (in which case, it should be added to name) (#1).
- [Added] Loggers can use f-strings with caution (#1).
- [Added] Versioning guidelines added (#1).
- [Added]
requirements.txt
added, withpylint
andmypy
as only entries (#1). - [Added]
alive-progress
added torequirements.txt
(#4).
- [Added]
.pylintrc
added to configure pylint, with source code paths added (#1). - [Added]
.mypy.ini
added to configuremypy
execution for app code and test code (#1). - [Added]
max-locals
set to20
(#4). - [Changed]
max-locals
increased from20
to25
to balance out themax-args
being increased from10
to15
(#5, #6).
- [Added]
analyzer_support.py
added for shared data and functionality among analyzers, which for now isInterpretation
andStandardVersion
enums with defaults defined (#5, #6).
- [Added]
letgo_analyzer.py
added with ability to analyze waveforms strictly to UL1400-1 with parallel CPU core processing support (#4). - [Added] Audit function added to check if the configuration used is critically valid for UL1400-1 assessment (#5, #6).
- [Changed] Current and voltage let-go assessments now performed with the interpretation level and standard version factored in (#5, #6).
- [Added]
data_importer.py
added with generic function call forimport_data()
meant to be central point for all imports (#7). - [Added] Module attributes added to list all supported source types and format types for usage in CLI help messages (#4).
- [Added]
tek_mso4.py
added with support for CSV parsing for Tektronix MSO 4-series scopes (#7). - [Added] Module attributes added to list all supported format types for usage in CLI help messages (#4).
- [Added]
cli.py
added for CLI processing support, with case-insensitive enum option parsing implemented (#5, #6).
- [Added]
waveform.py
added to encapsulate generic waveform manipulations, such as extracting segments and merging regions (#4).
- [Added]
main.py
added with CLI sub-parser for letgo and help function to route CLI args to letgo analyzer as well as display results (#4). - [Added] Support for interpretation level and standard version CLI args added along with the usage and audit for those parameters (#5, #6).
(This does not need to note every version change, but can if issue tied to it.)
- [Added]
version.py
added, with initial dev version set and methods to build a full build version str including git status items (#1).
- [Added] This
CHANGELOG.md
file created and updated with all project work to-date (#1).
- [Added]
CONTRIBUTING.md
added to project root, covering dev setup, general workflow, and conventions (#1). - [Added] Added convention that exceptions will be raised if an unsupported interpretation or standard version encountered in a function that uses that configuration (#5, #6).
- [Changed] Updated with project intro (mostly placeholder), links, CI badge (#1).
- [Added]
setup.md
added with install requirements (#1).
- [Added]
usage.md
added with bare minimum on how to run (#1). - [Added] Example of executing let-go evaluation added (#4).
Reference-style links here (see below, only in source) in develop-merge order.