Skip to content

Releases: Synogun/GraphVM

v2.5.0

06 Mar 03:49

Choose a tag to compare

Added

  • Settings - Added persistence to localStorage;
  • Settings - Added graph element limits to SettingsProvider.
  • Hooks - Implemented usePropertyEditor hook 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 of PopupsContext into ModalsContext for managing modal states and ToastsContext for managing toast notifications.
  • Contexts - Splitted concerns of GraphProvider into GraphRegistryProvider for managing graph instances, GraphMetaProvider for managing graph metadata (defaults, version, etc.) and GraphSelectionProvider for 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 - Renamed ParsedErrorToast to ParsedErrorToasts to better reflect a collection of toast configurations.

Fixed

  • ImportExportService - Fixed parsing of blank lines in text import.
  • TypeGuards - Fixed loose type guards for elements (NodeData and EdgesData) data.

v2.4.0

04 Mar 02:30

Choose a tag to compare

Added

  • Actions - Added a release step for the project's pipeline.
  • GraphService - Added a resetGraph function to clear the current graph data and state.

Changed

  • Algorithms - Adjusted graph generation algorithms to use resetGraph instead of clearGraph for 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 property numEdges from the graph's data.

v2.0.0

16 Feb 04:58
dc95f57

Choose a tag to compare

Added

  • UI - Implemented a modal system, including Import/Export (text, JSON, PNG, JPG), Help (tabbed documentation), and Algorithms modals.
  • UI - Added a ActionsBar with buttons for graph manipulation (add/remove nodes and edges, clear graph) and operations.
  • UI - Added a PropertiesBar with 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 simplified deploy_to_pages.yml workflow 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 - Replaced cose with fcose as 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 - Updated tsconfig.json with 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 old build_and_deploy.yml workflow, issue/PR templates, and automation scripts (calculate_semver.sh, fetch_scopes.py, update_changelog.py).

v1.2.0

20 Apr 18:26

Choose a tag to compare

Added

  • Graph - Introduced GraphConfig class for centralized configuration management.
  • UI - Added UserInterface class to handle UI interactions and events.
  • Project - Added Graph and UserInterface modules to improve modularity.

Changed

  • Graph - Refactored Graph class to encapsulate graph-related operations.
  • UI - Replaced ui.ts with userInterface.ts for better separation of concerns.
  • Project - Updated dependencies in package-lock.json and package.json to 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 - Removed nodes.ts, edges.ts, and ui.ts in favor of the new UserInterface class.
  • Project - Removed redundant safe-buffer and debug dependencies from package-lock.json.

v1.0.22

08 Mar 08:16

Choose a tag to compare

Added

Changed

  • Project - Update fetch_scope script to from .sh to .py
  • Project - Update PR, Issue, and Feature templates, and moves version commits from tag commit to pre-release commit
  • Project - Changes deployment from gh-pages branch to main
  • UI - Refactors right bar into accordions for better user experience

Fixed

  • UI - Fixed wrong tooltips for grid layout properties
  • UI - Remove redundant text from left bar buttons
  • Project - Fix action input wrong usage

Removed

v1.0.6

19 Feb 10:52

Choose a tag to compare

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 log
  • Project - Fix form templates wrong keys and filename

Removed

v1.0.0

15 Feb 06:33

Choose a tag to compare

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
  • /release directory renamed to /docs

Fixed

Removed

  • Remove commitlint and husky from the project
  • Remove changelog entries that don't reflect anymore