Skip to content

Releases: soulspace-org/overarch

Release 0.39.0

22 Jun 15:40
Compare
Choose a tag to compare

Main Features

  • enhanced sprite support in Plantuml C4 diagrams
  • proper rendering of roles on relations in code diagrams

Changelog

  • added rendered-elements, used to resolve sprites
  • added using the first resolved sprite of the technologies
  • added a default list of sprite libs, if no sprite-libs are defined in view
    • default list: [:awslib :azure :devicons :devicons2 :font-awesome-5 :logos]
    • added distinct on generated import statements
  • added rendering of roles for :association, :aggregation and :composition in code-view
  • removed :id->children index from model
  • added elements and namespaces functions to model
  • added views-by-criteria function to model
  • added role model categories
  • added :permission node
  • added :granted-for and permission-of relationships
  • added functions to build specific indices in model-reader
  • updated data model
  • fixed missing skinparams in plantuml rendering

Release 0.38.0

17 May 12:43
Compare
Choose a tag to compare

Main Features

  • added :ids selection criterium
  • all selection criteria can be negated by prepending an ! in front of the name, e.g. :!ids
  • if an element has a comma separated string of :tech, the first technology will be used for the icon in C4 diagrams
  • no need for the :spec map in views anymore, just put the attributes (e.g. :selection or :plantuml) directly in the view
  • cleaned up deployment-views to show only nodes, containers, artifacts and links
  • edn files generates via templates are formatted with zprint

Changelog

  • spec keys (e.g. :selection, :plantuml) can be defined in the view directly
    • no need for the :spec map anymore
    • :spec map attributes wil be added to view map on load
  • added conversion of :tech string value into ordered set on load
    • the string value gets tokenized on commas (,)
    • to get back to the stringin templates instead of (:tech e) use (str/join ", " (:tech e))
    • the first tech will be used for sprites in C4 diagrams
  • added selection criterium :ids, which takes a set of element ids
  • all selection criteria can be negated by prepending them with an exclamation mark
    • e.g. :!ids or :!el
  • cleaned up deployment-views
    • removed :system nodes and added :artifact nodes, e.g. for certificates
    • removed architecture relations, e.g. :request or :subscribe
  • refactored model reading to enable supporting different input formats and sources
  • added criteria query functions to model-repository, delegating from model-repository to model
  • added formatting of generated edn files with zprint
  • moved implementations from adapter layer to application layer
  • moved functions from analytics to element and model namespaces
  • removed analytics namespace
  • updated templates and generation config
  • updated dependencies
  • updated example model and README

Release 0.37.0

30 Apr 03:50
Compare
Choose a tag to compare

Main Features

  • improved model selection with :from, :to, :refers and :referred criteria, which can have selection criteria as values.

Changelog

  • dropped :ct key in loaded model nodes
  • enhanced element hierarchy and model API for process model elements
  • added criteria-predicate function to model API
  • returned predicate functions for search criteria directly to get rid of partial
  • enhanced :from/:to selection criteria to handle selection criteria as parameters
    • enables relation queries based on the properties of the related nodes
  • added :refers/:referred selection criteria
    • enables node queries based on the properties of the relations referring to them
  • enhanced export templates
  • fixed test views
  • enhanced assertions for selection criteria

Release 0.36.0

19 Apr 08:25
Compare
Choose a tag to compare

Main Features

  • generalized and enhanced templates and reduced the number of templates
    • many diagrams (except C4 and UML diagrams) are created via templates
  • added a default generation configuration in the templates directory
  • made the model api more flexible by using selection criteria instead of set of element types for graph navigation
  • enhanced error reporting on model load
  • fixed the generation of the list of views per namespace

Examples

For examples of Overarch models and scripts take a look at

Changelog

  • breaking changed referring-nodes, referring-relations, referred-nodes and referred-relations
    • the functions now take selection criteria instead of a set of element types
    • this allows for more flexible model graph navigation
    • the signatures have been updated in the model api
    • the templates have been updated to reflect those changes
  • report model file name on exception in import
  • report missing or duplicate element ids and parent overrides
  • added :collapsed key to mark nodes that should not be expanded in a C4/UML view
    • :collapsed true should be added on a :ref to the node in the content of the view
  • added flexibility in view attributes
  • added predicates for resolvable elements and relations
  • moved traversal step functions from element to model
  • moved model building to repository
  • prepared merging of models
  • added cycle prevention to traverse to make it a general depth first graph traversal function
  • added generic transitive search capabilities based on traverse
  • fixed model argument in selected-elements
  • fixed child check for elements without ids in model building
  • fixed a bug in union-by-id that could result in ref attributes not merged for content in views
  • added filtering for rendered model elements in view selections before applying include directives
  • added a process view definition
  • added multiline description formatting for graphviz rendering
  • reduced number of templates
    • enhanced model view graphviz template to be usable for concept and process views
    • added a markdown model node template to replace more specific markdown templates
    • added a markdown view template to replace more specific markdown templates
  • added glossary view markdown template
  • added a default generation config in templates dir
  • fixed generation of views per namespace markdown page
  • updated docstrings
  • updated docs
  • updated dependencies
  • refactored test models and views
  • first steps towards a tools.deps build

Release 0.35.0

08 Jan 16:55
Compare
Choose a tag to compare

Changelog

  • added generic model navigation functions
  • added special handling for plantuml c4 deployment diagrams
  • extended external? criterium to relations
    • a relation is considered external, if any of the related nodes is external
  • refactored model node collection for views
  • fixed parent index for modelled :contained-in relations
  • fixed missing sprites in plantuml c4 diagrams
  • fixed model test data
  • enhanced doc templates
  • added CONTRIBUTING document

Release 0.34.0

30 Nov 13:46
Compare
Choose a tag to compare

Changes

  • added negated selection criteria :!namespace, :!id, :!from and :!to
  • added :expand-external spec key for container and component views, default is false
  • refactored error handling and commandline output of the artifact generation
  • fixed descendant-nodes to work with modelled :contained-in relations
  • enhanced doc templates

Release 0.33.0

25 Nov 07:27
Compare
Choose a tag to compare

Main Features

  • process model enhancements
  • new negated selection criteria
  • breaking removed view type :class-view
  • breaking link/image link generation for markdown templates

Changelog

  • breaking removed view type :class-view
    • use :code-view in your views
  • breaking link/image link generation for markdown templates
    • renamed view-link/relative-view-link functions to diagram-link/relative-diagram-link in markdown api
    • added new view-link/relative-view-link functions to render normal links to docs for the views in markdown api
  • added :required-for, :input-of and :output-of relations for process model
  • added process model predicates
  • added negated selection criteria
  • added order vectors for model elements and views
  • added file and image link functions in markdown api
  • fixed relative link functions in markdown api for empty namespace elements
  • enhanced doc templates

Release 0.32.0

02 Nov 13:49
Compare
Choose a tag to compare

Main Features

Changelog

  • added model navigation functions for state machines
  • added generic model navigation functions
  • added organization model predicates
  • added :capability, :process, :artifact, requirement and decision nodes
  • added :role-in and :implements relations
  • fixed relative link functions in markdown api
  • fixed organization structure views
  • enhanced doc templates
  • added best practices to usage docs
  • added links to example model repositories

Release 0.31.0

21 Sep 10:22
Compare
Choose a tag to compare

Changelog

  • added an option to set a namespace prefix for the internal scope
    • lets you combine models from different sources/projects
    • overrides the :external key in the model and views
  • views with :external set to true are not rendered
  • fixed model-api calls for organization navigation
  • added relative link functions to markdown api
  • enhanced documentation templates
  • added a deps.edn file
  • updated dependencies
  • added best practices topic

Release 0.30.0

22 Aug 09:18
Compare
Choose a tag to compare

New Features

  • new organization model to model organization structure, responsibilities and collaborations
  • new views for org charts, system structure and deployment structure (generated with templates)
  • new view showing a graph of the whole model/selection (generated with template)
  • new :step relation type for C4 dynamic views

Change Log

  • added a organization model with
    • nodes :organization and :org-unit
    • relations :responsible-for and :collaborates-with
  • added relation type :step to be used in dynamic views instead of plain :rel
  • added a :model-view that contains all selected elements
  • added graphviz template for :model-view as an example for customizable rendering
  • added :system-structure-view, :deployment-structure-view and organization-structure-view for organigrams
  • added plantuml templates for :system-structure-view, :deployment-structure-view and organization-structure-view
  • enhanced rendering of abstract methods and static fields/methods in :code-view for PlantUML
  • refactored the handling of contained element hierarchies
    • synthetic :ids are generated for children missing an id (e.g. fields or methods in classes)
    • syntethic :contained-in relations are created to represent hierarches graph (replaces :contains relations)
    • :contained-in relations can also be used in models to replace :ct
    • the children function is used to navigate down the hierarchy in the model graph instead of the :ct key
  • added criteria for sets of namespace prefixes on elements and relations
  • enhanced model navigation functions to handle ids and refs as input
  • added fallback on name or id when rendering view titles
  • added template-api, graphviz-api and markdown-api to use in templates
  • enhanced model-api and view-api
  • moved single-line function from model-api to template-api
  • added analytics functions
  • added and enhanced documentation templates
  • refactored template handling
  • refactored model loading, check spec on file level
  • enhanced model warnings
  • fixed some docstrings on architecture relation navigation functions
  • fixed typos in example models
  • simplified logical data model
  • updated data model and spec
  • updated documentation