Releases: VHDL/pyVHDLModel
Releases · VHDL/pyVHDLModel
v0.20.0
Release created on: 30.12.2022 - 08:19:24
New Features
- Dependency graph in
Design
for packages, contexts referenced from design units.- New
_dependencyGraph
field inDesign
. - New
_dependencyVertex
field inDesignUnit
. - New
CreateDependencyGraph
method onDesign
. - New
DependencyGraphVertexKind
andDependencyGraphEdgeKind
flags.
- New
- Added properties
ReferencedLibraries
,ReferencedPackages
,ReferencedContexts
. - Added
NormalizedIdentifiers
toMultipleNamedEntityMixin
. - Added
NormalizedLabel
toLabeledEntityMixin
. - Added library and package dependencies in
std
andieee
library packages. - Added
EntityInstantiationSymbol
,ComponentInstantiationSymbol
andConfigurationInstantiationSymbol
. - Added package and architecture indexing via
IndexPackages
andIndexArchitectures
.
Changes
- Moved
_referenced***
fields toDesignUnit
. - Improved
Link***
methods onDesign
. - Renamed
DesignUnits
&arr;DesignUnitKind
. - Removed
LibraryOrSymbol
,EntityOrSymbol
,ArchitectureOrSymbol
,PackageOrSymbol
,ConfigurationOrSymbol
,ContextOrSymbol
. - Refined doc-strings.
- Bumped dependencies.
Bug Fixes
- Fixed missing handling of
_referencedContexts
. - Avoid self-edge in
LinkPackageReferences
for packagestd.standard
.
v0.19.0
Release created on: 26.12.2022 - 21:11:29
New Features
- Converted many existing symbol classes to new symbol classes deriving from
Name
andNewSymbol
.
This simplifies the usage of symbols, as names in VHDL are already very close to symbols.
⚠️ NewSymbol
will be renamed toSymbol
orSymbolMixin
once all symbols are converted to the new style.LibraryReferenceSymbol
PackageReferenceSymbol
PackageMembersReferenceSymbol
AllPackageMembersReferenceSymbol
ContextReferenceSymbol
EntitySymbol
ArchitectureSymbol
PackageSymbol
- Named entities and new-style symbols now provide a
NormalizedIdentifier
property. - Implemented more analyze methods on Design:
LinkPackageReferences
LinkContextReferences
- Added
_references
,_contextReferences
and_referenced***
fields toContext
class. - Added predefined flag groups to
PossibleReference
. - Added
_referenced***
fields toDesignUnitWithContextMixin
class. - Added
DesignUnits
flag for filtering inIterateDesignUnits
.
Changes
- Changed
PossibleReference
fromIntEnum
toFlag
. - Merged parameters
libraryReferences
andpackageReferences
of classContext
to new parameterreferences
. - A package body now doesn't except an identifier for its name, but a PackageSymbol.
- Improved analyze methods:
LinkLibraryReferences
LinkArchitectures
LinkPackageBodies
- Using
...Identifier
instead of...Name
in variables and parameters for a name of an entity. This identifier variable is normalized. In exceptions,...Identifier
is used to print the original name without normalization. - Improved predefined libraries and packages
std.standard
, etc.
Bug Fixes
- Added missing initializer for
IndexedName
. - Fixed how flag values are combined:
+
→|
- Fixed example code in README.
v0.18.0
Release created on: 23.12.2022 - 22:38:50
New Features
- Added
Document
property toDesignUnit
. - Added
LibraryReferenceSymbol
,PackageReferenceSymbol
andContextReferenceSymbol
. - Added new packages
std
andieee
containing pre-defined VHDL libraries and VHDL packages. - Added
LoadStdLibrary
andLoadIEEELibrary
toDesign
. - Added
IterateDesignUnits
generator onDesign
andLibrary
. - Implemented various analyze methods on
Design
:LinkLibraryReferences
LinkArchitectures
LinkPackageBodies
- Added
_Add***
methods toDocument
. - Added
DesignUnits
,VerificationUnits
,VerificationProperties
andVerificationModes
properties toDocument
.
Changes
- Moved classes:
pyVHDLModel.SyntaxModel.Name
→pyVHDLModel.Name
pyVHDLModel.SyntaxModel.Symbol
→pyVHDLModel.Symbol
pyVHDLModel.SyntaxModel.Reference
→pyVHDLModel.Reference
pyVHDLModel.SyntaxModel.LibraryClause
→pyVHDLModel.LibraryClause
pyVHDLModel.SyntaxModel.UseClause
→pyVHDLModel.UseClause
pyVHDLModel.SyntaxModel.ContextReference
→pyVHDLModel.ContextReference
- Property
PrimaryUnit.Library
uses it's own private field_library
instead of_parent
, so_parent
can be used to refer to the document a design unit is in. - Improved
EntitySymbol
,ArchitectureSymbol
,PackageSymbol
. - Improved
GetLibrary
inDesign
. - Improved
AddDocument
inLibrary
. - Changed almost all internal lists in
Library
andDocument
to dictionaries for quick name lookups. - Enabled CI job Windows + Python 3.11 again.
- Bumped dependencies.
- Updated MAKEFILE for Sphinx documentation.
Bug Fixes
- Fixed usage of Names vs. Symbols.
Related PRs:
None
v0.17.1
Release created on: 04.12.2022 - 23:39:16
New Features
None
Changes
None
Bug Fixes
- Made all
documentation
parameters optional.
v0.17.0
Release created on: 03.12.2022 - 22:19:56
New Features
None
Changes
- ‼Changed property
Identifiers
to returnTuple[str]
instead ofList[str]
. - ‼Renamed:
NamedEntity
→NamedEntityMixin
MultipleNamedEntity
→MultipleNamedEntityMixin
LabeledEntity
→LabeledEntityMixin
DocumentedEntity
→DocumentedEntityMixin
MixinDesignUnitWithContext
→DesignUnitWithContextMixin
- Derived
Name
fromModelEntity
. - Disabled PIP version check in CI.
- Documentation:
- Added news for Dec 2022.
- Changed navigation bar.
- Changed manually written local ToCs to a ReST command.
- Split chapter about types into a new main page for subtypes.
- Added more code documentation.
- Updated
autoapi
template. - Updated Sphinx configuration.
- Activated mermaid.
- Changed colors for inheritance disgrams.
- Changed source code / highlighting theme.
- Removed dummy pages.
Bug Fixes
- Documentation:
- Fixed broken references in documentation (
pyVHDLModel.VHDLModel...
→pyVHDLModel.SyntaxModel...
). - Fixed section title
LibraryClause
→Library
.
- Fixed broken references in documentation (
Related PRs:
None
v0.16.0
Release created on: 29.11.2022 - 06:29:46
New Features
- Added
DocumentedEntity
class providing aDocumentation
property. - Added VHDL-2000 to the
VHDLVersion
enum.
Changes
- Bumped dependencies.
- Added
documentation
parameters to some initializer methods. - Changed
.format(...)
calls to f-strings. - Removed Requires.io webservice (links, badges, ...)
- Updated Sphinx's
prolog.inc
.
Bug Fixes
None
v0.15.0
Release created on: 22.06.2022 - 18:06:28
New Features
- Added missing
VariableSymbol
. - Added VHDL-AMS versions 1999 and 2017 to
VHDLVersion
.
(Currently, there is no idea how to supportAMS93
as it overlaps withVHDL93
.) - Added
VHDLVersion.IsVHDL
andVHDLVersion.IsAMS
.
Changes
None
Bug Fixes
- Added missing comas in
ContextUnion
. - Fixed init routine of
MixinDesignUnitWithContext
.
Related PRs:
v0.14.4
Release created on: 18.06.2022 - 21:16:34
New Features
None
Changes
- ci/Params: override python_version_list, since 3.6 was deprecated in pyTooling/Actions.
- Updated Sphinx configuration
- Remove unused local extensions.
- Added modified Jinja template for autoapi (also fixes Python module index).
- Bumped dependencies.
- Use pyTooling 2.1.0
- Updated dependabot configuration.
- Prefer f-strings over
.format
.
Bug Fixes
- Fixed some typos.
Related PRs:
v0.14.3
Release created on: 16.01.2022 - 13:52:41
New Features
None
Changes
- Improved type hints and error checking for comparison operators in class
VHDLVersion
. - Changes due to an updated version of pyTooling/Actions.
- Lowered requirement on
lxml
. - Added more artifact names to the cleanup rule.
- Lowered requirement on
- Bumped dependencies.
- Added placeholders pages for coverage and static type checking reports.
- Reworked file headers.
- Reformatted one-liner doc-strings.
- Updated comparisons operators.
Bug Fixes
- Fixed URLs to Codacy.
v0.14.2
Release created on: 26.12.2021 - 09:21:13
New Features
- Add VSCode settings.
- Add scheduled/cron CI event.
Changes
- README: update heading levels.
- Setup: remove redundant classifiers.
- Update
.gitignore
. - Cleanup
doc/Makefile
. - Merge
.coveragerc
andpytest.ini
intopyproject.toml
.
Bug Fixes
- Job ArtifactCleanUp in CI needs PublishTestResults.