Removed dependency on googleapis-common-protos in favor of internal
frequenz.api.common.v1.types.Decimal, advising updates to dependencies for
users previously relying on Google's types.
Renamed voltage and current metrics for clarity and introduced new metrics,
including line-to-line voltages and Total Harmonic Distortion (THD) metrics,
with updated naming conventions for simplicity and precision.
Upgrading
The dependency on googleapis-common-protos / googleapis/googleapis was
removed, now the built-in frequenz.api.common.v1.types.Decimal is used
internally instead. This is compatible with Google's type, but if you
depended indirectly on Google's submodule or python packages, you may need to
update your dependencies.
Nevertheless it is strongly recommended to remove the dependency on Google
repos and use the built-in frequenz.api.common.v1.types.Decimal instead if
your project only uses the Decimal type from it too.
Voltage metrics have been renamed from METRIC_VOLTAGE_PHASE_[1|2|3] to
METRIC_VOLTAGE_PHASE_[1|2|3]_N.
The variants in the enum Metric have been renumberd due to the addition of
line-to-line voltages.
Current metrics have been renamed:
METRIC_AC_APPARENT_CURRENT -> METRIC_AC_CURRENTMETRIC_AC_APPARENT_CURRENT_PHASE_[1|2|3] -> METRIC_AC_CURRENT_PHASE_[1|2|3]
Metrics for Total Harmonic Distortion have been un-abbreviated:
METRIC_AC_THD_CURRENT -> METRIC_AC_TOTAL_HARMONIC_DISTORTION_CURRENTMETRIC_AC_THD_CURRENT_PHASE_[1|2|3] -> METRIC_AC_TOTAL_HARMONIC_DISTORTION_CURRENT_PHASE_[1|2|3]
Renamed SimpleMetricSample to SimpleMetricValue, because it does not
contain a timestamp, so it does not represent a sample but a value.
Renamed AggregatedMetricSample to AggregatedMetricValue, because it does not
contain a timestamp, so it does not represent a sample but a value.
Renamed MetricSampleVariant to MetricValueVariant.
Rename MetricSample.sample to MetricSample.value.
Rename SensorMetricSample.sample to SensorMetricSample.value.
... (truncated)
Commits
08538ce Cleanup release notes for release v0.6.0 (#212)
Improved the violation message of DOC105: the arguments with inconsistent
type hints are now shown in the violation message to make violation
correction much easier
A new config option --show-filenames-in-every-violation-message (or
-sfn), which makes it more convenient to jump to the corresponding line
in IDEs by clicking on the violation message in the terminal
All postprocessors are now run on heading content.
Footnote references are now stripped from heading content. Fixes #660.
A more robust striptags is provided to convert headings to plain text.
Unlike, the markupsafe implementation, HTML entities are not unescaped.
The plain text name, rich html, and unescaped raw data-toc-label are
saved to toc_tokens, allowing users to access the full rich text content of
the headings directly from toc_tokens.
The value of data-toc-label is sanitized separate from heading content
before being written to name. This fixes a bug which allowed markup through
in certain circumstances. To access the raw unsanitized data, retrieve the
value from token['data-toc-label'] directly.
An html.unescape call is made just prior to calling slugify so that
slugify only operates on Unicode characters. Note that html.unescape is
not run on name, html, or data-toc-label.
The functions get_name and stashedHTML2text defined in the toc extension
are both deprecated. Instead, third party extensions should use some
combination of the new functions run_postprocessors, render_inner_html and
striptags.
Fixed
Include scripts/*.py in the generated source tarballs (#1430).
Ensure lines after heading in loose list are properly detabbed (#1443).
Give smarty tree processor higher priority than toc (#1440).
Permit carets (^) and square brackets (]) but explicitly exclude
backslashes (\) from abbreviations (#1444).
In attribute lists (attr_list, fenced_code), quoted attribute values are
now allowed to contain curly braces (}) (#1414).
Release 3.5.2
Fixed
Fix type annotations for convertFile - it accepts only bytes-based buffers.
Also remove legacy checks from Python 2 (#1400)
Remove legacy import needed only in Python 2 (#1403)
Fix typo that left the attribute AdmonitionProcessor.content_indent unset
(#1404)
Fix edge-case crash in InlineProcessor with AtomicString (#1406).
Fix edge-case crash in codehilite with an empty code tag (#1405).
Improve and expand type annotations in the code base (#1401).
All postprocessors are now run on heading content.
Footnote references are now stripped from heading content. Fixes #660.
A more robust striptags is provided to convert headings to plain text.
Unlike, the markupsafe implementation, HTML entities are not unescaped.
The plain text name, rich html, and unescaped raw data-toc-label are
saved to toc_tokens, allowing users to access the full rich text content of
the headings directly from toc_tokens.
The value of data-toc-label is sanitized separate from heading content
before being written to name. This fixes a bug which allowed markup through
in certain circumstances. To access the raw unsanitized data, retrieve the
value from token['data-toc-label'] directly.
An html.unescape call is made just prior to calling slugify so that
slugify only operates on Unicode characters. Note that html.unescape is
not run on name, html, or data-toc-label.
The functions get_name and stashedHTML2text defined in the toc extension
are both deprecated. Instead, third party extensions should use some
combination of the new functions run_postprocessors, render_inner_html and
striptags.
Fixed
Include scripts/*.py in the generated source tarballs (#1430).
Ensure lines after heading in loose list are properly detabbed (#1443).
Give smarty tree processor higher priority than toc (#1440).
Permit carets (^) and square brackets (]) but explicitly exclude
backslashes (\) from abbreviations (#1444).
In attribute lists (attr_list, fenced_code), quoted attribute values are
now allowed to contain curly braces (}) (#1414).
[3.5.2] -- 2024-01-10
Fixed
Fix type annotations for convertFile - it accepts only bytes-based buffers.
Also remove legacy checks from Python 2 (#1400)
Remove legacy import needed only in Python 2 (#1403)
Fix typo that left the attribute AdmonitionProcessor.content_indent unset
(#1404)
Fix edge-case crash in InlineProcessor with AtomicString (#1406).
Fix edge-case crash in codehilite with an empty code tag (#1405).
Improve and expand type annotations in the code base (#1401).
This release brings support for pytest 8, a couple of bug fixes and many improvements to the cookiecutter template.
Upgrading
Once you upgraded, you'll be able to upgrade to pytest 8, and indirectly to sybil 6, which includes types hints. If you do so, you should remove the mypy exception for sybil in the pyproject.toml file.
Search for the tool.mypy.overrides section and remove the "sybil", "sybil.*" enties from the module list.
Cookiecutter template
To upgrade without regenerating the project, you can follow these steps:
Run the following command to add the new pylint ignore rules:
sed '/ # Checked by flake8/a\ "redefined-outer-name",\n "unused-import",' -i pyproject.toml
It is recommended to update this rule in your repository to use the new bypass rule for the Protect version branches ruleset that allows maintainers to force-merge.
You can do this by re-importing the ruleset or manually:
Go to the repository settings -> Rules -> Rulesets -> Protect version branches -> Bypass list -> Add bypass -> Select Maintain role and change the dropdown bypass rule to use Pull requests instead of Always.
The labeler action was upgraded to 5.0.0. This needs a new configuration file.
If you haven't diverged much from the default configuration (and you are not using exclusion rules), you can update the configuration file by running this script in the root of your repository:
Updates the requirements on frequenz-api-common, pydoclint, isort, markdown, mkdocs-macros-plugin, mkdocs-material, mkdocstrings[python], frequenz-repo-config[api], mypy, types-markdown and frequenz-repo-config[extra-lint-examples] to permit the latest version. Updates
frequenz-api-common
to 0.6.0Release notes
Sourced from frequenz-api-common's releases.
... (truncated)
Commits
08538ce
Cleanup release notes for release v0.6.0 (#212)4978931
Cleanup release notes for release v0.6.0af97c70
Rename[Simple|Aggregated]MetricSample
to[Simple|Aggregated]MetricValue
...9ccb5b6
RenameSensorMetricSample.sample
toSensorMetricSample.value
5c0214d
RenameMetricSample.sample
toMetricSample.value
fbcc68b
RenameMetricSampleVariant
toMetricValueVariant
cb6cc75
RenameAggregatedMetricSample
toAggregatedMetricValue
56ed231
RenameSimpleMetricSample
toSimpleMetricValue
3a396c0
UnabbreviateTHD
in the Metric enum (#209)8f06c7b
UnabbreviateTHD
in the Metric enumUpdates
pydoclint
from 0.3.2 to 0.4.1Release notes
Sourced from pydoclint's releases.
... (truncated)
Changelog
Sourced from pydoclint's changelog.
... (truncated)
Commits
af2c326
Update changelog3a5e4b0
Remove useless argument--src
(#124)70eb3c8
Fix double quotes in Literal type hint (#123)d2b4b99
Include args with different type hints in DOC105 msg (#120)fa41757
Add option to show filename for each violation msg (#119)b8b4396
Add py312 to CI pipeline01893df
Exclude venv folders in flake8 (#116)676847e
Documenting tool integration (#104)75e485b
Fix false positive DOC203 in property methods (#115)55c0fde
Explain why allow-init-docstring defaults to FalseUpdates
isort
from 5.12.0 to 5.13.2Release notes
Sourced from isort's releases.
... (truncated)
Changelog
Sourced from isort's changelog.
Commits
c655831
Merge pull request #2214 from PyCQA/version/5.13.2b4335b4
Prepare version 5.13.2c36e43c
Merge pull request #2184 from bp72/issue/2154e38702f
Merge pull request #2213 from davidculley/confine-precommit-to-stagesee8d87f
Add fix for the error found by hypothesis5849ec2
Apply the bracket fix from issue 471 only for use_parentheses=Truedf0e119
confine pre-commit to stages9255bca
Merge pull request #2212 from PyCQA/bugfix/#2211-colors-extra5336d7d
Fix colors extras643d9c4
Merge pull request #2210 from PyCQA/version/5.13.1Updates
markdown
from 3.4.4 to 3.6Release notes
Sourced from markdown's releases.
... (truncated)
Changelog
Sourced from markdown's changelog.
... (truncated)
Commits
e524b8f
Bump version to 3.63d8afc6
Allow attr_list quoted values to contain curly braces9edba85
Refactor abbr escapinge4ab4a6
Refactor TOC sanitationa18765c
Explicitly omit carot and backslash from abbr421f1e8
Give smarty tree processor higher priority than tocc334a3e
Ensure lines after heading in loose list are properly detabbedea92856
Update the license template so GitHub can detect ita2effd6
Disable mkdocstrings show_symbol_type_toc option to work around searching iss...91f9a12
Restore Attribute symbol type in mkdocstrings templateUpdates
mkdocs-macros-plugin
from 1.0.4 to 1.0.5Changelog
Sourced from mkdocs-macros-plugin's changelog.
Commits
4bfda0b
Fix issue with changelog no longer displayed (#186)82c5cdd
Merge pull request #183 from marcospereira/add-short-tag298f07f
Add a short_tag attribute to git context428a015
Remove include-markdown in webdoc, since it crashed readthedocs2161dd4
Update .readthedocs.ymlc64a08d
Merge pull request #182 from SimonMarquis/patch-11c1d2c4
Fix typo inRich Markdown Pages
docs9dba19e
Merge branch 'master' of github.com:fralau/mkdocs_macros_plugin into master7da7089
Add experimental logo0d36dde
Add experimental logoUpdates
mkdocs-material
from 9.3.1 to 9.5.16Release notes
Sourced from mkdocs-material's releases.
... (truncated)
Changelog
Sourced from mkdocs-material's changelog.
... (truncated)
Commits
8956524
Updated Insiders changelog0db4e66
Updated changelog29cf44b
Improved resilience of privacy plugin6c9ba87
Prepare 9.5.16 releasef2bfab9
Updated dependencies9e40207
Updated dependenciesa2cb35d
Improved error handling on social plugin (#6818)abfac1a
Switched to Babel'sformat_datetime
to allow for time in formatted dates (#...01b2dd1
Updated Russian translationsad72336
Fixed social plugin Google Fonts integrationUpdates
mkdocstrings[python]
from 0.23.0 to 0.24.1Release notes
Sourced from mkdocstrings[python]'s releases.
Changelog
Sourced from mkdocstrings[python]'s changelog.
Commits
d716a88
chore: Prepare release 0.24.1c161d26
ci: Remove type ignore comment now that it's fixed in autorefs89f752a
style: Format2fe2b47
chore: Template upgrade080ddad
docs: Fix insiders pagecdd946c
docs: Enable lang class and automatic inline highlight21380ae
docs: Remove mention of directory watchingf553684
ci: Type ignore comment waiting for fix in autorefsa7a2907
refactor: Support new pymdownx-highlight optionsb5236b4
refactor: Backup anchors with id and no href, for compatibility with autorefs...Updates
frequenz-repo-config[api]
from 0.7.0 to 0.9.1Release notes
Sourced from frequenz-repo-config[api]'s releases.
... (truncated)
Commits
None of your dependencies match this group anymore, you may need to update your configuration file to remove it or change its rules.