Releases: aws/graph-explorer
Release 3.0.3
This patch release blocks cross-origin requests by default, improves performance for larger schemas, adds inferred edge connections in search and expansion, and adds a diagnostic logging setting.
- Schema Explorer — edge connections are now inferred from graph exploration, so the Schema Explorer shows relationships discovered through search and neighbor expansion without waiting for the database summary API
- Performance — schema operations are significantly faster for graphs with many vertex or edge types, reducing unnecessary re-renders when the schema is already up to date
- New feature — a diagnostic logging toggle in settings enables verbose console logging at runtime, even in production builds, for easier troubleshooting
- Documentation — getting started restructured as a hands-on tutorial, new configuration reference, new Neptune public endpoints guide, new architecture documentation
- Infrastructure — hardened Docker image and CI workflows, migrated to oxfmt and oxlint for faster formatting and linting, TypeScript upgraded to 6.0, proxy server runs natively without a build step
Cross-Origin Request Blocking
The proxy server now blocks cross-origin requests by default instead of allowing all origins. Since the proxy server serves both the API and the UI from the same origin in all standard deployments (Docker, SageMaker, ECS Fargate), CORS is not needed.
If you serve the UI from a different origin than the proxy server, set the PROXY_SERVER_CORS_ORIGIN environment variable to the UI origin. See the Security documentation for details.
All Changes
- Fix bug description in v3.0.2 changelog by @kmcginnes in #1685
- Harden CI workflows with SHA pinning and version bumps by @kmcginnes in #1686
- Scope Trivy scans to prevent duplicate security findings by @kmcginnes in #1687
- Move EC2 setup to deployment guides by @kmcginnes in #1689
- Move Gremlin Server connection details to guides by @kmcginnes in #1690
- Move local dev setup to development docs by @kmcginnes in #1691
- Add Try It Out section and update intro for new users by @kmcginnes in #1692
- Fix smart quotes and placeholder URLs in docs by @kmcginnes in #1693
- Clean up tsconfig structure across monorepo by @kmcginnes in #1694
- Fix broken links, invalid JSON, and unclear terminology in docs by @kmcginnes in #1697
- Consolidate certificate trust instructions into security reference by @kmcginnes in #1698
- Split features into separate pages and improve docs index by @kmcginnes in #1700
- Add navigation back-links to all documentation leaf pages by @kmcginnes in #1701
- Update TypeScript to 6.0 and eslint plugins by @kmcginnes in #1703
- Fix outdated instructions and align terminology with UI by @kmcginnes in #1706
- Update all dependencies to latest versions by @kmcginnes in #1707
- Replace Codecov with Vitest built-in coverage thresholds by @kmcginnes in #1708
- Add diagnostic logging user setting by @kmcginnes in #1709
- Add Neptune public endpoints connection guide by @kmcginnes in #1710
- Add Docker restart policy to deployment guides by @kmcginnes in #1711
- Harden Docker image by @kmcginnes in #1712
- Speed up test suite (~97s to ~55s) by @kmcginnes in #1717
- Migrate proxy server to Node native TypeScript type stripping by @kmcginnes in #1721
- Move Local Docker Setup to a deployment guide by @kmcginnes in #1723
- Create consolidated configuration reference by @kmcginnes in #1724
- Restructure getting-started page into a hands-on tutorial by @kmcginnes in #1732
- Add feature highlights to the features page by @kmcginnes in #1733
- Rewrite schema merge for efficiency and referential equality by @kmcginnes in #1735
- Add architecture documentation and fix inaccuracies by @kmcginnes in #1737
- Block cross-origin requests by default by @kmcginnes in #1738
- Break circular dependency in storageAtoms by @kmcginnes in #1739
- Restructure root README with clear user paths by @kmcginnes in #1740
- Bump version to 3.0.3 by @kmcginnes in #1741
- Update air routes sample to TinkerPop 3.8.1 by @kmcginnes in #1743
- Replace O(n^2) lookups with Map-based atoms in schema state layer by @kmcginnes in #1744
- Replace Prettier with oxfmt by @kmcginnes in #1745
- Migrate from ESLint to oxlint by @kmcginnes in #1746
- Infer edge connections from graph exploration by @kmcginnes in #1742
- Bump AL2023 releasever to pick up latest glibc by @kmcginnes in #1749
Release 3.0.2
This patch release fixes a bug where schema sync did not automatically trigger when switching connections and adds a new configuration option for controlling allowed origins.
- Bug fix — schema sync now automatically triggers when switching to a connection that has no cached schema
- Configuration — new
PROXY_SERVER_CORS_ORIGINenvironment variable lets you explicitly control which origins are allowed to connect to the proxy server. See the Security documentation for details.
All Changes
- Set User-Agent header on all outbound proxy requests by @kmcginnes in #1656
- Add PROXY_SERVER_CORS_ORIGIN env var to configure allowed CORS origin by @kmcginnes in #1669
- Update dompurify to latest version by @kmcginnes in #1676
- Include connection ID in schema sync query key by @kmcginnes in #1682
Release 3.0.1
This patch release improves error handling, refactors the proxy server for testability, and hardens the application protection mechanisms. Error messages surface richer diagnostics — status codes, response bodies, and cause chains — so troubleshooting is more useful. We also upgraded to Vite 8, cutting build time by 60% and bundle size by 5%.
- Bug fixes — new empty state when no connections are configured instead of misleading "No Schema Available", Docker entrypoint now respects custom config directories (thanks @theneelshah!), Podman container permissions fix
- Error handling — the error details dialog now surfaces status codes, response bodies, and cause chains so you can diagnose issues without digging through logs. Invalid proxy requests return proper 400 errors instead of cryptic 500s. Connection failures and CORS mismatches get targeted error messages.
- Tooling & docs — Vite 8 upgrade cuts build time by 60% and bundle size by 5%, reorganized docs into guides and references, updated README
- Application hardening — tighter CORS defaults, supply chain hardening, automated vulnerability scanning, least-privilege CI permissions, and a new security policy for reporting vulnerabilities
- Proxy server — previously untestable parts of the proxy server now have 170+ tests (up from 56), making future changes safer and more reliable
HTTPS Configuration
Previous versions had a bug where the Docker entrypoint ignored custom config directory paths, which could cause your HTTPS settings to be silently skipped. While fixing this, we also discovered that when HTTPS was enabled but certificate generation or discovery failed, the server would silently fall back to HTTP instead of reporting the problem. The server now exits with a clear error in this scenario. If you were unknowingly relying on this fallback behavior, ensure your certificates are in place before upgrading or explicitly disable HTTPS. See the HTTPS Connections documentation for details.
New Contributors
Welcome and thank you to our first-time contributor!
- @theneelshah made their first contribution in #1598
All Changes
- Update readme intro by @kmcginnes in #1567
- Switch to proseWrap preserve by @kmcginnes in #1568
- Use permalinks in the changelog by @kmcginnes in #1569
- Rename additionaldocs directory to docs by @kmcginnes in #1570
- Reorganize documentation into guides structure by @kmcginnes in #1571
- Move reference documentation to docs/references/ by @kmcginnes in #1572
- Set explicit minimum permissions on GitHub Actions workflows by @kmcginnes in #1573
- Update dependencies and remove stale overrides by @kmcginnes in #1574
- Bump version to 3.1.0 by @kmcginnes in #1587
- Fix air routes sample permission error on Podman by @kmcginnes in #1588
- Rename issue templates for consistent ordering by @kmcginnes in #1591
- Update GitHub issue and PR templates by @kmcginnes in #1592
- Add issue type REST API instructions to GitHub skill by @kmcginnes in #1597
- Fix: use CONFIGURATION_FOLDER_PATH in docker-entrypoint.sh for custom config directory by @theneelshah in #1598
- Update dependencies and remove stale fast-xml-parser override by @kmcginnes in #1603
- Add git conventions skill by @kmcginnes in #1606
- Change version to 3.0.1 by @kmcginnes in #1607
- Clean up Docker image and add Trivy scan to CI by @kmcginnes in #1609
- Show empty connection state instead of misleading 'No Schema Available' by @kmcginnes in #1611
- Disable schema sync queries when no connection exists by @kmcginnes in #1612
- Add GRAPH_EXP_DEV_PORT and .env.local documentation by @kmcginnes in #1613
- Update dependencies to latest compatible versions by @kmcginnes in #1615
- Decouple proxy server startup from module-level side effects by @kmcginnes in #1628
- Add tests for process-environment.sh and fix POSIX compliance by @kmcginnes in #1629
- Update lodash to latest version by @kmcginnes in #1631
- Extract proxy server into testable modules by @kmcginnes in #1632
- Extract SSL cert logic into testable setup-ssl.sh script by @kmcginnes in #1637
- Validate graph database connection URL with Zod schema by @kmcginnes in #1639
- Fail fast when HTTPS is requested but certificates are missing by @kmcginnes in #1640
- Pin @tanstack/eslint-plugin-query to 5.96.2 by @kmcginnes in #1641
- Improve error details with richer diagnostic information by @kmcginnes in #1644
- Add security policy and security audit workflow by @kmcginnes in #1648
- Remove ExplorerInjector component by @kmcginnes in #1649
- Improve error details and handle proxy connection errors by @kmcginnes in #1650
- Update Vite to version 8 by @kmcginnes in #1651
- Harden supply chain security settings by @kmcginnes in #1652
- Improve CORS defaults and upstream header forwarding by @kmcginnes in #1653
Full Changelog: v3.0.0...v3.0.1
Release 3.0.0
Graph Explorer 3.0 is here! This release brings one of the most requested features — the ability to visualize your graph database schema — along with a fresh navigation experience and a handful of quality-of-life improvements.
If you're upgrading from a previous version, all your existing connections, preferences, and configuration data will carry over unchanged.
Schema Explorer
You can now see the shape of your graph at a glance. The new Schema Explorer renders your vertex types, edge types, and their connections as an interactive schema graph. Drill into any type from the sidebar to see property details and data types. Edge connection discovery maps out how your types relate, giving you a bird's-eye view of your entire graph structure.
The schema is built by sampling your graph data, so it reflects what Graph Explorer has seen so far and may not capture every type or property in your database.
Redesigned Navigation
Getting around Graph Explorer just got easier. The navigation bar has been rebuilt as a clean, static top bar for moving between the Graph Explorer, Data Explorer, and Schema Explorer. Sidebar tabs have been refreshed to match the new look.
Data Explorer Improvements
The Data Explorer now includes a vertex type switcher for faster browsing across types and a new export button to download data as CSV or JSON (thanks @dwrth!).
Other Improvements
- Rewritten RDF prefix generation and replacement logic
- Standardized terminology across Gremlin, openCypher, and SPARQL
- Very large and very small numbers now display using scientific notation
- Keyword search labels are clearer and more descriptive
New Contributors
Welcome and thank you to our first-time contributors! 🎉
- @Eepsita12 made their first contribution in #1483
- @abhu85 made their first contribution in #1525
All Changes
- Add & use Alert component for settings by @kmcginnes in #1394
- Add vertex type switcher to Data Explorer by @kmcginnes in #1390
- Remove less frequently used colors by @kmcginnes in #1397
- Update roadmap by @kmcginnes in #1398
- Update colors with semantic variables by @kmcginnes in #1400
- Fix SPARQL query optimization issue (again) by @kmcginnes in #1402
- Fix search result disclosure chevron state by @kmcginnes in #1414
- Add patch release info to main by @kmcginnes in #1437
- Bump version to 2.6.0 by @kmcginnes in #1438
- Breakdown Workspace components in to more flexible pieces by @kmcginnes in #1399
- Remove explicitly set type names in tests by @kmcginnes in #1440
- Update steering to prefer function syntax by @kmcginnes in #1439
- Update to use map for counts by type by @kmcginnes in #1442
- Use strongly typed VertexType and EdgeType by @kmcginnes in #1441
- Update all dependencies by @kmcginnes in #1444
- Fix button within button error by @kmcginnes in #1447
- Migrate to jotai-family as suggested by @kmcginnes in #1446
- Remove redundant schema type by @kmcginnes in #1450
- Add EdgeConnection type for Schema Explorer by @kmcginnes in #1449
- Sort imports by @kmcginnes in #1452
- Update number formatting to handle smaller numbers by @kmcginnes in #1460
- Edge connection discovery queries by @kmcginnes in #1454
- Fix Graph component styling by @kmcginnes in #1463
- Add edgeConnectionsQuery React Query wrapper by @kmcginnes in #1464
- Update Kiro steering instructions by @kmcginnes in #1465
- Tweak navigation button UI & data explorer toolbar by @kmcginnes in #1459
- Move graph toolbar buttons to shared components by @kmcginnes in #1466
- Add basic schema explorer route by @kmcginnes in #1467
- Cleanup Docker image and update dependencies by @kmcginnes in #1468
- Add patch release to changelog by @kmcginnes in #1473
- Consolidate duplicate labels by @kmcginnes in #1472
- Standardize terminology across query languages by @kmcginnes in #1475
- Refactor entity count formatting to support translations by @kmcginnes in #1477
- Hide Display Name Property Selector for SPARQL Edge Styling by @kmcginnes in #1476
- Update terminology: "Graph Type" → "Query Language" by @kmcginnes in #1474
- Changed queries to get the explorer instance from Jotai by @kmcginnes in #1479
- Add export button to Data Explorer by @dwrth in #1462
- Ensure schema sync occurs when changing connection by @kmcginnes in #1482
- Add edge connection discovery on schema refresh by @kmcginnes in #1484
- Fix lint errors on save by @kmcginnes in #1489
- Update keyword search labels to be more clear by @kmcginnes in #1488
- Add SchemaGraph module and UI improvements by @kmcginnes in #1492
- Update dependencies and enforce fast-xml-parser minimum version by @kmcginnes in #1497
- Fix Gremlin edge connection parsing to use key lookup instead of positional destructuring by @kmcginnes in #1498
- Fix table view to expand when graph view is hidden by @kmcginnes in #1499
- Ensure using latest @isaacs/brace-expansion by @kmcginnes in #1500
- Simplify TypeScript configuration by @kmcginnes in #1501
- Cleanup button props and consolidate IconButton into Button by @kmcginnes in #1502
- Add SchemaDiscoveryBoundary for per-route schema sync states by @kmcginnes in #1509
- Static nav bar with responsive dropdown menu by @kmcginnes in #1511
- Export placeholder missing values as empty in CSV/JSON by @Eepsita12 in #1483
- Update sidebar tab style to better match nav by @kmcginnes in #1513
- fix: EdgeDiscoveryBoundary preserves children after initial edge discovery by @kmcginnes in #1517
- Show message when multiple items selected in schema graph by @kmcginnes in #1516
- Improve SPARQL schema graph and update RDF terminology by @kmcginnes in #1524
- Update steering docs with schema storage, related issues, and project references by @kmcginnes in #1527
- fix(infra): use cross-platform compatible checks script by @abhu85 in #1525
- docs: add translations section to steering docs by @kmcginnes in #1529
- Update some key packages by @kmcginnes in #1531
- Add data type descriptions to schema sidebar details by @kmcginnes in #1533
- Consolidate edge discovery into SchemaDiscoveryBoundary by @kmcginnes in #1530
- Move prefix utilities to utils/rdf/ directory by @kmcginnes in #1535
- Update minimatch to latest version by @kmcginnes in #1536
- Update eslint, ajv, and qs by @kmcginnes in #1537
- Add branded types for RDF namespace and prefix identifiers by @kmcginnes in #1538
- Add node and edge styling sidebar panels to Schema Explorer by @kmcginnes in #1540
- Move the p...
Release 2.5.2
This release bumps the Node & PNPM versions and cleans up the Docker image.
All Changes
- Cleanup Docker image and update dependencies by @kmcginnes in #1468
Full Changelog: v2.5.1...v2.5.2
Release 2.5.1
This release includes a fix for a regression that caused neighbor expansion in SPARQL databases to perform poorly.
All Changes
- Fix SPARQL query optimization issue by @kmcginnes in #1402
Full Changelog: v2.5.0...v2.5.1
Release 2.5.0
This release focuses on improving the graph exploration experience with access to the raw response, enhanced node
interactions, and performance optimizations.
New Features
- Raw JSON Response Viewer: View query results as formatted JSON with syntax highlighting and copy
functionality for better debugging - Enhanced Node Expansion: Expand single or multiple selected nodes simultaneously through an improved context
menu - Graph View Improvements: Added toggle buttons to the empty state and updated the re-layout button icon for
clarity
Improvements
- Better Context Menu: Reorganized options with new abilities to center/zoom to selected items and remove all
selected items - Performance: Faster app startup by lazy-loading Cytoscape and other heavy dependencies (38% reduction in
initial bundle size) - UI Polish: Updated table and notification styling, plus fixed node stacking issues in graph rendering
- Stability: Resolved race conditions that caused inconsistent behavior during app initialization
All Changes
- Change Prettier trailing comma option by @kmcginnes in #1340
- Update dependencies to the latest versions by @kmcginnes in #1341
- Update to Zod v4 by @kmcginnes in #1342
- Add basic raw response dialog by @kmcginnes in #1345
- Change re-layout button icon by @kmcginnes in #1350
- Add GraphContext to contain the graphRef by @kmcginnes in #1351
- Rework context menu to make more sense by @kmcginnes in #1352
- Use Monaco editor for raw response syntax highlighting and folding by @kmcginnes in #1349
- Add expand option to single target by @kmcginnes in #1354
- Remove offset and edgeTypes from neighbor request by @kmcginnes in #1355
- Allow expanding multiple nodes at once by @kmcginnes in #1357
- Bump body-parser from 2.2.0 to 2.2.1 by @dependabot[bot] in #1353
- Bump the version to 2.5.0 by @kmcginnes in #1359
- Disable scroll pinning in raw response & fix property labels by @kmcginnes in #1361
- Add toggle buttons to graph view empty state by @kmcginnes in #1366
- Fix node stacking issue with graph canvas rendering by @kmcginnes in #1365
- Migrate table components to Tailwind by @kmcginnes in #1368
- Add search tokens constants by @kmcginnes in #1382
- Move searchable attributes to a hook by @kmcginnes in #1383
- Update prefixes to use specific hook by @kmcginnes in #1384
- Switch notifications to use Sonner by @kmcginnes in #1385
- Introduce code splitting by @kmcginnes in #1386
- Move LocalForage preloading to before React is initialized by @kmcginnes in #1387
- Fix explorer creation on app load by @kmcginnes in #1389
- Fix HTML errors related to table by @kmcginnes in #1388
- Update versions of GitHub actions by @kmcginnes in #1391
Full Changelog: v2.4.1...v2.5.0
Release v2.4.1
This release includes several important bug fixes and improvements, notably:
- Added ability to manually refresh node or edge data from UI
- Updated graph data to mirror the most recent data from searches and queries
- Updated handling of multi-label nodes when patching the schema
- Fixed auto-open details panel behavior when selecting entities
- Fixed representation of default values in node & edge styles
- Fixed several layout issues around long labels
All Changes
- Update TypeScript configs for consistency by @kmcginnes in #1274
- Use verbatimModuleSyntax and make imports consistent by @kmcginnes in #1278
- Update dependencies post release by @kmcginnes in #1282
- Use Activity for sidebar by @kmcginnes in #1290
- Make style dialogs more global by @kmcginnes in #1291
- Fix auto open details on selection issue in context menu actions by @kmcginnes in #1292
- Update Tailwind to v4 by @kmcginnes in #1293
- Bump version to 2.4.1 by @kmcginnes in #1295
- Remove forwardRef by @kmcginnes in #1296
- Fix sidebar color issue by @kmcginnes in #1297
- Fix layout issues by @kmcginnes in #1298
- Fix container query issues by @kmcginnes in #1300
- Cleanup from Tailwind upgrade by @kmcginnes in #1301
- Fix handling of long labels across app UI by @kmcginnes in #1302
- Update node & edge style dialogs by @kmcginnes in #1303
- Add general steering rules for claude/q/kiro by @kmcginnes in #1305
- Fix auto open details again by @kmcginnes in #1306
- Fix null prefix by @kmcginnes in #1307
- Remove
searchableandhiddenfromAttributeConfigby @kmcginnes in #1311 - Create schema entries for multi-label entities by @kmcginnes in #1312
- Use default values for user preferences by @kmcginnes in #1313
- Remove vertexTypes from expand neighbors request by @kmcginnes in #1314
- Update canvas data to include label info by @kmcginnes in #1315
- Add unit tests around connections by @kmcginnes in #1318
- Use universal Jotai store by @kmcginnes in #1320
- Update vertex and edge canvas state with query results by @kmcginnes in #1321
- Update ESLint configuration by @kmcginnes in #1322
- Fix re-renders in some core spots by @kmcginnes in #1324
- Update atomWithLocalStorage to be cached and synchronous by @kmcginnes in #1323
- Refactor schema, preferences, display types by @kmcginnes in #1316
- Add refresh button for vertices and edges by @kmcginnes in #1325
- Minor optimizations for refactored Jotai state by @kmcginnes in #1332
Full Changelog: v2.4.0...v2.4.1
Release v2.4.0
This release introduces support for SPARQL queries within the query editor. Now, all three query engines are supported: Gremlin, openCypher, and SPARQL. This does not mean we are done with the query editor. We have many exciting ideas being considered for future releases.
SPARQL Query Support
- Support for
SELECT,ASK,DESCRIBE, andCONSTRUCTqueries DESCRIBEandCONSTRUCTqueries will result in fully materialized vertex and edge resultsSELECTandASKqueries will result in raw statements, but do not materialize results as vertices or edges- Support for RDF resources without a defined
rdf:type - Updated display name defaults to use
rdfs:labelif it is available
Other Notable Changes
- Added support for vertices that have no label in openCypher
- Hide properties that don't have a value for the given vertex or edge
- Added confirmation dialog when deleting a connection (thanks @dwrth)
- Added ability to horizontally scroll toolbars if space is limited (thanks @Ansh2004P)
- Added zoom to fit toolbar button (thanks @cnaples79)
- Updated the strings used to represent no value, no type, and empty value to be more clear
- Updated handling of neighbor counts when neighbors have more than one type or label
- Updated handling of date values, specifically in openCypher connections
- Updated behavior of auto open details panel when a node is selected
- Fixed many bugs
All Changes
- Adjust styles in DialogFooter by @kmcginnes in #1147
- Bump version to 2.4.0 by @kmcginnes in #1132
- Remove unused code by @kmcginnes in #1131
- Use DialogFooter in LoadConfigButton dialog by @kmcginnes in #1148
- Increase randomness in generated test strings by @kmcginnes in #1153
- Add confirmation to deleting a connection by @dwrth in #1136
- Update dependencies by @kmcginnes in #1155
- Fix node icon color change by @dwrth in #1103
- Add steering doc for documentation by @kmcginnes in #1164
- Use consistent Spinner component across app by @kmcginnes in #1130
- Update TypeScript config for Node 24 by @kmcginnes in #1156
- Migrate EdgeStyleDialog to tailwind by @kmcginnes in #1151
- Migrate CreateConnection to Tailwind by @kmcginnes in #1150
- Use verbatimModuleSyntax in proxy server by @kmcginnes in #1157
- Clear graph restore progress notification by @dwrth in #1172
- Fix input lag when changing node and edge colors by @dwrth in #1173
- Update minor versions by @kmcginnes in #1181
- Add testing steering document by @kmcginnes in #1182
- Simplify vertex detail query by @kmcginnes in #1186
- Fix neighbor expansion when no attributes by @kmcginnes in #1185
- Remove old async relics by @kmcginnes in #1180
- Streamline useGraphStyles hook by @kmcginnes in #1183
- Simplify queryClient test setup by @kmcginnes in #1179
- Include headers in IAM request signing by @kmcginnes in #1198
- Disable retries for user query by @kmcginnes in #1201
- Fix neighbor expansion in SPARQL by @kmcginnes in #1195
- Add SPARQL support to user queries by @kmcginnes in #1199
- Fix Panel header overflow causing canvas to scroll off-screen by @Ansh2004P in #1142
- Update documentation for SPARQL query editor by @kmcginnes in #1211
- Reduce risk of malicious packages by @kmcginnes in #1215
- Disable spell check, auto capitalize/complete by @kmcginnes in #1225
- Use store for Jotai state in tests by @kmcginnes in #1216
- Add date as entity property value by @kmcginnes in #1220
- feat: add Zoom to Fit button to graph canvas toolbar by @cnaples79 in #1229
- Fix multi label/class support in neighbor counts by @kmcginnes in #1194
- Fix keyword search when resource has no attributes by @kmcginnes in #1230
- Update rawQuery tests to use sparql helpers by @kmcginnes in #1236
- Fix bug in testable edge with rdf values by @kmcginnes in #1238
- Switch vertex details to map quads by @kmcginnes in #1239
- Update raw query with mapping logic by @kmcginnes in #1241
- Bump happy-dom from 18.0.1 to 20.0.0 by @dependabot[bot] in #1244
- Execute neighbor count queries in parallel by @kmcginnes in #1243
- Update tests for DisplayVertexTypeConfig by @kmcginnes in #1246
- Update fetch neighbors to use quad mapping by @kmcginnes in #1240
- Consolidate blank node mapping logic by @kmcginnes in #1245
- Move ASCII constants to module by @kmcginnes in #1251
- Move labels in to module by @kmcginnes in #1252
- Fix scrollbar placement in
Tabularby @dwrth in #1257 - Minor tweaks for consolidated mapping logic by @kmcginnes in #1248
- Ensure rdfs:label is first attribute by @kmcginnes in #1247
- Update labels used when there is no value by @kmcginnes in #1253
- Add check for empty string and use friendly string by @kmcginnes in #1254
- Fix auto open details by @kmcginnes in #1262
- Don’t add missing attributes to vertex or edge by @kmcginnes in #1255
- Use shared filter helpers across queries by @kmcginnes in #1256
- Support RDF resources that have no type or class defined by @kmcginnes in #1258
- Bump happy-dom from 20.0.0 to 20.0.2 by @dependabot[bot] in #1266
- Save query state on every change by @kmcginnes in #1269
New Contributors
- @Ansh2004P made their first contribution in #1142
- @cnaples79 made their first contribution in #1229
Full Changelog: v2.3.1...v2.4.0
Release 2.3.1
This release resolves a few important issues from the previous release.
All changes
- Remove past roadmap items by @kmcginnes in #1116
- Add OpenSSL back to Docker by @kmcginnes in #1137
- Bump version to 2.3.1 for patch by @kmcginnes in #1138
- Fix expand neighbor query when edge ID is UUID by @kmcginnes in #1140
Full Changelog: v2.3.0...v2.3.1


