What’s Changed
New features highlight
- A better graph search function and highlighting #2466
- Officially support Mac Silicon aarch64 architecture #2257
- Arrows on curves edges #1680
- Feature Request: Duplicate Workspace #1436
- Multiple pdf/svg/png/gefx export with settings #1791
Other new or improved features
- Fix remaining issues with Dark Mode #2584
- Add JSON Exporter #2674
- Preview node border size like on Overview #2669
- Make edge kind editable #2518
- Better support for element opacity in Preview and Ranking #2649
- Redesign banner and workspace bar position and content #2631
- Transform the nodes/edges via Appearance based on the time column #2626
- Improve spreadsheet exporter #2623
- Add full graph option for canvas boundary calculation in Preview/Export #1906
- Shortest path filter #1859
- liststring in filters/queries values just listed as array.tostring #2061
- Increased border color customization [Feature request] #1618
- Add warning when element IDs match without special characters such as new lines #1388
- Add option to get transparent background screenshot #1134
- Export to PDF should support transparent background #2093
- CSV export to use right locale. use comma instead of point in decimals #2072
- Inverted edge weigh in layout algorithms (e.g. ForceAtlas2,…) #1816
Bugfixes
- Workspace’s Close All and Close Others function do not work #2710
- Custom selection should preserve previous selection mode #2706
- Center on node not working properly for HighDPI #2705
- File overwrite input question appears below dialog #2688
- OpenOrd settings imported from project cause NPE #2686
- Project metadata not loaded from project file #2683
- Negative numbers in ranks causes parse error #2681
- Inconsistent Chinese formatting on UI #2680
- Export settings aren’t persisted between use #2671
- Preview: Some overlap between node and edge when opacity is down #2642
- Preview: Incorrect node rendering when border size is larger than size #2641
- Preview: Stroke and Fill overlap when node has opacity less then one #2640
- Align node size between Preview and Overview when border size > 0 #2639
- GEXF Exporter Metadata should include correct version of Gephi #2632
- Preview preset not persisted in project file #2630
- Ranking values are not using the visible graph’s interval for dynamic attributes #2629
- Appearance’s Min/Max boundaries shouldn’t use column’s estimator #2621
- Progress bar is above timeline when using FlatLaf on Windows #2611
- Partition doesn’t retain attribute value after reloading save file #2520
- Cannot find label in DOT file #1801
- Edge attributes not imported (or not shown) after DOT import #1644
- Labels of perspective buttons shouldn’t overlap with their icon #1176
- Subgraph attributes hide first node attributes #1075
- [export gexf] void attributes are not exported #985
- save screenshot settings with project #831
- silent fail when gexf import bug on timestamp #666
- Load meta data from GEXF file #359
- PDF export – Label can be outside of the builded document #239
- Saving project file with GeoLayout and an active column throws exception #2619
- Force Atlas produces blank screen #2350
Code improvements
- Refactor DesktopExport to use actions #2687
- Cleanup DirectoryChooser module #2684
- Update and refactor simple validation #2682
- Refactor WorkspaceDuplicateProvider to improve workspace duplication #2667
- Migrate from iText to PDFBox #2652
- inconsistent behavior of OutDegreeRangeBuilder, InDegreeRangeBuilder, DegreeRangeBuilder #2661
- Better icon management #2613
- Javadoc bundle missing in gephi artefacts #2612
- Add com.google.code.gson lib to the core library wrapper #2597
- Clean-up Project API and deprecate Project UI API #2589
- ProjectController.newProject() does not enable File/Save and Workspace menu items #837
- Create top-level options category “Gephi” and hide irrelevant Netbeans option panels #2670
- Offer snap & flatpak packages #1700
- Digital signature for installer #2615
API Changes
- Project API
ProjectController
now executes all methods synchronously, protected by an internal lock. TheopenProject()
,saveProject()
no longer return aRunnable
.- Addition of a
ProjectListener
to receive events fromProjectController
. - New
ProjectController.openNewWorkspace()
to simplify usage. - New
WorkspaceMetaData
object inWorkspace
to manage description. - Creation of new SPI classes:
Controller
andModel
to facilitate workspace model creation. It can replace usage ofWorkspaceListener
to handle model creation and maintenance. - Removal of
org.gephi.project.spi.ProjectPropertiesUI
as it had no clear purpose. - The
ProjectController.startup()
method was removed as it wasn’t used. - Deprecation of
ProjectInformation
. Relevant methods have been ported toProject
. - Also deprecation of
WorkspaceInformation
. Relevant methods have been ported toWorkspace
. - Finally, deprecation of
WorkspaceProvider
. Relevant methods were ported toProject
. - The duplication of workspaces is now managed through existing persistence providers. Therefore the
WorkspaceDuplicateProvider
SPI has been removed.
- LongTask API
- The
LongTaskExecutor
now hasexecute
methods that also supportCallable
in addition ofRunnable
.
- The
- Preview API
- The
PDFTarget
interface now gives access to the PDFBox objects as it has been migrated from iText to Apache PDFBox. AllRenderer
implementation need to adapt the PDF rendering accordingly. - A
setGlobalCanvasSize(boolean)
method was added to thePreviewController
to control whether the full or filtered (default) graph is used when calculating canvas size.
- The
- Import API
- The
ContainerLoader
now has asetMetadata()
method to provide graph metadata.
- The
New contributors
@Meta-Ace made their first contribution in #1618
@totetmatt made their first contribution in #2518
@sukankanachakraborty made their first contribution in #2623 and #2061
@WaltonG made their first contribution in #1388
@pgdr made their first contribution in #1816
If you’re looking for digital signatures for the release binaries, you can directly find them on Maven Central