Releases: wwmoraes/dot
Releases · wwmoraes/dot
v0.4.1
Changes
- chore: add Cluster func on GraphOptions to get cluster flag
- chore: add editor config
- chore: add validations on NewWithOptions
- chore: cleanup vscode extensions recommendations
- chore: update makefile
- ci: add codeowners and merge-me settings
- ci: add github-actions dependabot settings
- ci: add pkg.go.dev renew docs workflow
- ci: ignore error "constants" on SonarQube
- ci: refactor cache keys
- ci: remove CodeQL from integration workflow - it takes 2m!
- ci: set golang env vars for proper caching
- docs: ErrNoWriter description
- refactor!: rename NewGraph to New for domain's sake
- refactor: extract graph factory logic into NewWithOptions to allow custom GraphOptions
- refactor: rename errors to better reflect the problem
v0.4.0
Changes
- chore: dropped internal id from edges as it's not used
- chore: extract GraphOption functors into a separate file
- chore: extract errors into a separate file
- chore: move GraphOptionFn into Graph
- chore: move constants into a separate pkg
- chore: separate StyleEdge into another file
- refactor: graph factory
v0.3.0
Changes
- chore: add make target to generate pngs of samples
- chore: add make target tp update cluster sample
- chore: make clean and clean-cache targets
- chore: make target to run tests verbosely
- chore: memory-efficient map keys slice
- chore: remove coverage-html target
- chore: rename doc to sample folder
- chore: reorganize samples
- chore: update SonarQube exclusions
- chore: updates on make targets
- ci: add CodeQL cron check
- ci: add dependabot and autoapproval configs
- ci: add sonar file to paths that trigger integration actions
- ci: change build cache key to cache per matrix version
- ci: ditch go 1.12 as it doesn't have errors.Is
- ci: run CodeQL cron only on latest go version
- docs: add HasAttributes comment
- docs: add github pages using mkdocs + CI
- docs: plain writer sample
- docs: update sample
- docs: update samples for coverage
- feat: add HasAttributes, which returns true if any attribute is set
- feat: pretty printer formatter
- refactor: Graph Has* funcs to quick check its contents
- refactor: String method on Serializable interface
- refactor: break down Graph's WriteTo into smaller internal funcs
- refactor: dropped bool param on attributes write func
- refactor: extract GraphOptions initialization rules into a func
- refactor: extract indented writer interface
- refactor: fully remove old indent writer
- refactor: generators
- refactor: move GraphTypes to root pkg
- refactor: proper WriteTo interface on values
- refactor: removed IndentedWrite from Graph
- refactor: removed StringWriter support from PrettyWriter
- test: DRY sample tests
- test: add test for the sample application
- test: exclude dottest from SonarQube coverage
- test: move flatten func to dottest and refactor tests
- test: rename dottest main file and add some func comments
- test: separate dottest functions on proper files
- test: update
- test: use tempDir on Graph's cluster test
v0.2.0
Changes
- chore: change vscode coverage colors
- ci: remove Travis CI settings
- docs: update description of functions
- docs: update package doc overview
- fix: removed label side effect from graph and nodes
- refactor: change old pointer "constants" to proper const string
- refactor: extract Write logic of nodes and edges from graph
- refactor: proper file name casing
- refactor: rename concrete ID generator
- refactor: rename internal dot structs to *Data
v0.1.1
Changes
- fix: add write method to graph interface
v0.1.0
Changes
- docs: update info about golang supported versions
- ci: rename constants files to fix SonarQube
- chore: add SonarQube and CI
- chore: fix mispells
- chore: officially change the package to be independent of its parent
- chore: add graph option to set generator + share generators with subgraphs
- chore: make concrete ID generator private
- chore: create interface for ID generator
- test: update tests
- style: change FindSubgraph to look alike FindNode
- fix: parent setup
- chore: drop dead code
- refactor: break down object into styleable and identity interfaces + edge cleanup
- test: pass only once got and want to Errorf
- chore: add lint make target
- fix: FindNode should return no node when the ID is not found
- refactor: extract Edge convenience styling methods into a separate interface
- chore: return bool on GetAttribute
- docs: add method and object docs, and also rephrase some for consistency's sake
- chore: add vscode extensions recommendations
- chore: add vscode settings for coverage and language spell check
- test: add behavior test target on makefile and ignores
- test: rename files
- chore: turn graph concrete type into private
- chore: turn node concrete type into private
- chore: turn edge concrete type into private
- chore: remove old subgraph method
- refactor: remove old graph option structs, and move GraptType to attributes
- refactor: extract interfaces of structs, and use them on all types
- test: adjust code and variable namings for better readability
- chore: add set and get attribute convenience methods on the interfaces
- refactor: rename attribute contants preffixes to Key
- test: organize and and add extra ones for 100% coverage
- feat: add GetAttributeString to return any attribute as plain string
- style: reorder New func to be on top
- feat: add convenience methods SetAttribute[s] for Literal, HTML and String
- chore: GetAttributes returns a copy of the map to prevent mutation
- chore: quote all ids - its safer and easier
- test: add last tests for full coverage
- chore: drop last Attr references
- chore: DRY
- docs: update sample cluster.dot
- refactor: decouple attribute write from graph
- style: rename FindNodeByID
- docs: comment functions
- refactor: attributes
- refactor: allow ID setting only on creation, or use generated one
- refactor: UID generator with default length
- fix: strict as a flag, as it is not a standalone type
- feat: GraphIDOption to set graph ID on creation
- test: check errors for all calls
- refactor: drop seq int, use a proper ID generator
- lint: remove unused variable
- lint: add golangci-lint configuration
- add node ID method
- add makefile and coverage ignores
- use pointer receiver to reduce memory copy