Skip to content

Releases: VHDL/pyVHDLModel

v0.20.0

30 Dec 08:19
cd58acf
Compare
Choose a tag to compare

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 in Design.
    • New _dependencyVertex field in DesignUnit.
    • New CreateDependencyGraph method on Design.
    • New DependencyGraphVertexKind and DependencyGraphEdgeKind flags.
  • Added properties ReferencedLibraries, ReferencedPackages, ReferencedContexts.
  • Added NormalizedIdentifiers to MultipleNamedEntityMixin.
  • Added NormalizedLabel to LabeledEntityMixin.
  • Added library and package dependencies in std and ieee library packages.
  • Added EntityInstantiationSymbol, ComponentInstantiationSymbol and ConfigurationInstantiationSymbol.
  • Added package and architecture indexing via IndexPackages and IndexArchitectures.

Changes

  • Moved _referenced*** fields to DesignUnit.
  • Improved Link*** methods on Design.
  • 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 package std.standard.

v0.19.0

26 Dec 21:11
81ab717
Compare
Choose a tag to compare

Release created on: 26.12.2022 - 21:11:29

New Features

  • Converted many existing symbol classes to new symbol classes deriving from Name and NewSymbol.
    This simplifies the usage of symbols, as names in VHDL are already very close to symbols.
    ⚠️ NewSymbol will be renamed to Symbol or SymbolMixin 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 to Context class.
  • Added predefined flag groups to PossibleReference.
  • Added _referenced*** fields to DesignUnitWithContextMixin class.
  • Added DesignUnits flag for filtering in IterateDesignUnits.

Changes

  • Changed PossibleReference from IntEnum to Flag.
  • Merged parameters libraryReferencesand packageReferences of class Context to new parameter references.
  • 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

23 Dec 22:38
438b576
Compare
Choose a tag to compare

Release created on: 23.12.2022 - 22:38:50

New Features

  • Added Document property to DesignUnit.
  • Added LibraryReferenceSymbol, PackageReferenceSymbol and ContextReferenceSymbol.
  • Added new packages std and ieee containing pre-defined VHDL libraries and VHDL packages.
  • Added LoadStdLibrary and LoadIEEELibrary to Design.
  • Added IterateDesignUnits generator on Design and Library.
  • Implemented various analyze methods on Design:
    • LinkLibraryReferences
    • LinkArchitectures
    • LinkPackageBodies
  • Added _Add*** methods to Document.
  • Added DesignUnits, VerificationUnits, VerificationProperties and VerificationModes properties to Document.

Changes

  • Moved classes:
    • pyVHDLModel.SyntaxModel.NamepyVHDLModel.Name
    • pyVHDLModel.SyntaxModel.SymbolpyVHDLModel.Symbol
    • pyVHDLModel.SyntaxModel.ReferencepyVHDLModel.Reference
    • pyVHDLModel.SyntaxModel.LibraryClausepyVHDLModel.LibraryClause
    • pyVHDLModel.SyntaxModel.UseClausepyVHDLModel.UseClause
    • pyVHDLModel.SyntaxModel.ContextReferencepyVHDLModel.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 in Design.
  • Improved AddDocument in Library.
  • Changed almost all internal lists in Library and Document 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

04 Dec 23:39
3457dd3
Compare
Choose a tag to compare

Release created on: 04.12.2022 - 23:39:16

New Features

None

Changes

None

Bug Fixes

  • Made all documentation parameters optional.

v0.17.0

03 Dec 22:19
14f9247
Compare
Choose a tag to compare

Release created on: 03.12.2022 - 22:19:56

New Features

None

Changes

  • ‼Changed property Identifiers to return Tuple[str] instead of List[str].
  • ‼Renamed:
    • NamedEntityNamedEntityMixin
    • MultipleNamedEntityMultipleNamedEntityMixin
    • LabeledEntityLabeledEntityMixin
    • DocumentedEntityDocumentedEntityMixin
    • MixinDesignUnitWithContextDesignUnitWithContextMixin
  • Derived Name from ModelEntity.
  • 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 LibraryClauseLibrary.

Related PRs:

None

v0.16.0

29 Nov 06:29
acabc4d
Compare
Choose a tag to compare

Release created on: 29.11.2022 - 06:29:46

New Features

  • Added DocumentedEntity class providing a Documentation 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

22 Jun 18:06
abf8c09
Compare
Choose a tag to compare

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 support AMS93 as it overlaps with VHDL93.)
  • Added VHDLVersion.IsVHDL and VHDLVersion.IsAMS.

Changes

None

Bug Fixes

  • Added missing comas in ContextUnion.
  • Fixed init routine of MixinDesignUnitWithContext.

Related PRs:

v0.14.4

18 Jun 21:16
f02762d
Compare
Choose a tag to compare

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

16 Jan 13:52
8a25293
Compare
Choose a tag to compare

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.
  • 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

26 Dec 09:21
e81dfeb
Compare
Choose a tag to compare

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 and pytest.ini into pyproject.toml.

Bug Fixes

  • Job ArtifactCleanUp in CI needs PublishTestResults.