Releases: Synogun/GraphVM
Releases · Synogun/GraphVM
v2.5.0
Added
Settings- Added persistence to localStorage;Settings- Added graph element limits toSettingsProvider.Hooks- ImplementedusePropertyEditorhook to manage property editing state and logic for nodes and edges.ActionBar- Added a display for the current application version.ErrorHandling- Added a global error boundary component to catch and display errors gracefully to the user.GenerationAlgorithms- Added minor helper function and a user feedback for when exceeding max edges for simple graphs.
Changed
Modals- Adjusted modals subtitle into a prop.App- Adjusted modals to rendered at top level of the app to avoid z-index and overflow issues.Contexts- Splited concerns ofPopupsContextintoModalsContextfor managing modal states andToastsContextfor managing toast notifications.Contexts- Splitted concerns ofGraphProviderintoGraphRegistryProviderfor managing graph instances,GraphMetaProviderfor managing graph metadata (defaults, version, etc.) andGraphSelectionProviderfor managing graph selection.Project- Changed endOfLine in .prettierrc to 'lf'.Inputs- Changed default import for named imports to be more consistent with the rest of the project.Error- RenamedParsedErrorToasttoParsedErrorToaststo better reflect a collection of toast configurations.
Fixed
ImportExportService- Fixed parsing of blank lines in text import.TypeGuards- Fixed loose type guards for elements (NodeDataandEdgesData) data.
v2.4.0
Added
Actions- Added a release step for the project's pipeline.GraphService- Added aresetGraphfunction to clear the current graph data and state.
Changed
Algorithms- Adjusted graph generation algorithms to useresetGraphinstead ofclearGraphfor better state management.
Fixed
Logger- Fixed logs being stored in production.Actions- Fixed deployment failing but deploying anyway.
Removed
Modals- Removed dead modal files from bad merge.EdgeService- Removed dead propertynumEdgesfrom the graph's data.
v2.0.0
Added
UI- Implemented a modal system, including Import/Export (text, JSON, PNG, JPG), Help (tabbed documentation), and Algorithms modals.UI- Added aActionsBarwith buttons for graph manipulation (add/remove nodes and edges, clear graph) and operations.UI- Added aPropertiesBarwith sections for graph info, layout configuration, and global node and edge style selection.UI- Added support for directed graph visualization with a toggle in the Properties Bar.Graph- Implemented autopan on node drag near viewport edges with configurable speed and margin.Graph- Implemented graph generation algorithms service supporting 8 graph families (complete, grid, circle, star, wheel, bipartite, complete bipartite, simple) with configurable parameters.Project- Added a centralized Logger system with context-scoped loggers, session log storage, and downloadable log export.Project- Added centralized configuration defaults for algorithms, graph styles, and layouts.Project- Adopted Prettier for code formatting (printWidth: 85,singleQuote: true,trailingComma: 'es5').Workflow- Added a simplifieddeploy_to_pages.ymlworkflow for deploying to GitHub Pages.
Changed
UI- Replaced default font with 'Alan Sans'.UI- Replaced the previous UI with a new React-based interface using DaisyUI and Tailwind CSS.Graph- Replacedcosewithfcoseas the default layout algorithm.Graph- Encapsulated core graph logic into stateless service functions (graphService,nodesService,edgesService,layoutService,importExportService).Project- Migrated project build process from esbuild to Vite for improved development experience and performance.Project- Updated project dependencies to their latest versions.Project- Updatedtsconfig.jsonwith module paths for cleaner imports (@/,@Logger,@Modals,@Contexts,@Inputs).Project- Reorganized project structure for better modularity, separating components, contexts, hooks, providers, services, config, and types.
Fixed
Edges- Fixed an issue where edge creation would fail when selecting nodes after a bounding box selection.
Removed
Project- Removed old vanilla JavaScript source files (app.ts,graph.ts,graphConfig.ts,userInterface.ts) and assets (src/public,docs/).Workflow- Removed oldbuild_and_deploy.ymlworkflow, issue/PR templates, and automation scripts (calculate_semver.sh,fetch_scopes.py,update_changelog.py).
v1.2.0
Added
Graph- IntroducedGraphConfigclass for centralized configuration management.UI- AddedUserInterfaceclass to handle UI interactions and events.Project- AddedGraphandUserInterfacemodules to improve modularity.
Changed
Graph- RefactoredGraphclass to encapsulate graph-related operations.UI- Replacedui.tswithuserInterface.tsfor better separation of concerns.Project- Updated dependencies inpackage-lock.jsonandpackage.jsonto their latest versions.HTML- Updated HTML structure to work better on screen sizes below 1000px.
Fixed
UI- Fixed layout panel toggling issues for grid and circle layouts.Graph- Resolved edge and node property update inconsistencies.
Removed
UI- Removednodes.ts,edges.ts, andui.tsin favor of the newUserInterfaceclass.Project- Removed redundantsafe-bufferanddebugdependencies frompackage-lock.json.
v1.0.22
Added
Changed
Project- Updatefetch_scopescript to from .sh to .pyProject- Update PR, Issue, and Feature templates, and moves version commits from tag commit to pre-release commitProject- Changes deployment from gh-pages branch to mainUI- Refactors right bar into accordions for better user experience
Fixed
UI- Fixed wrong tooltips for grid layout propertiesUI- Remove redundant text from left bar buttonsProject- Fix action input wrong usage
Removed
v1.0.6
Added
Project- Adds option to toggle deployment to GitHub Pages
Changed
Project- Moves commits generated in version from gh release to release commit message
Fixed
Project- Fix action not fetching correct logProject- Fix form templates wrong keys and filename
Removed
v1.0.0
Added
- Actions to automate the release process (W.I.P.)
- Add a pull request template for saving time merging branches
- Add a yaml issue and enhancement template so it makes reporting and suggesting easier
- Updates README.md
- Applies MIT License to repository;
- Changes HTML to reflect new refactoring;
- Split files into major elements;
- Refactor functions to match typescript;
- Adopted Keep A Changelog style and Semantic Versioning;
- Bundle and transpile .ts code with esbuild;
- Configure eslint rules and other meta files;
- Import previous project files;
- Setup structure;
Changed
- Makes bug report and feature request template forms more friendly
/releasedirectory renamed to/docs
Fixed
Removed
- Remove commitlint and husky from the project
- Remove changelog entries that don't reflect anymore