Skip to content

Commit ebcf360

Browse files
committed
Final changes for v3.4 release
1 parent ae39f77 commit ebcf360

7 files changed

Lines changed: 83 additions & 36 deletions

File tree

CHANGELOG.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,71 @@
22

33
All notable changes to this project are documented in this file.
44

5+
## [3.4] – March 2026
6+
7+
### New Features
8+
- Two-mode sociomatrix import: correctly handles bipartite networks in parser (#15).
9+
- Faithful Eades (1984) Spring Embedder implementation (#207).
10+
- New `layoutRandomInMemory()` replaces `layoutRandom()` in force-directed pipelines (#206).
11+
12+
### Bug Fixes
13+
- Progress dialog / Cancel (#52): comprehensive fix across all computation paths:
14+
- Wired Cancel into centrality, prestige, reachability, walks, matrix, report, layout, clique, and subgraph computations.
15+
- Fixed cancel-then-retry regression (reset canceled flag + invalidate distance cache).
16+
- Fixed stacked progress dialogs in multi-phase computations (KK layout, matrix functions).
17+
- All `write*` report functions converted to `bool` return; MW slots guarded on cancel.
18+
- All random network generators (`Erdos-Renyi`, `Small-World`, `Scale-Free`, `Regular`, `Lattice`, `Ring-Lattice`) fixed: bool return, cancel guards, progress max corrections.
19+
- Layouts:
20+
- Fixed division-by-zero, NaN/Inf and logic errors in Kamada-Kawai layout (#198).
21+
- Fixed FR simmering temperature derivation from canvas width (#199).
22+
- Batched `setNodePos` emissions in all force-directed layouts (#205, #206).
23+
- Centrality:
24+
- Fixed eigenvector centrality isolate reset and N==0 handling (#202).
25+
- Fixed Information Centrality isolate handling and degenerate cases (#201).
26+
- Fixed wrong vertex checked for `isIsolated` in `createMatrixAdjacencyInverse()` (#190).
27+
- Fixed clustering coefficient computation for directed networks (#58).
28+
- Fixed wrong weighted flag when switching relations (#82).
29+
- Parsers / IO:
30+
- Fixed Pajek `*Matrix` header parsing for relation labels (#188).
31+
- Fixed Pajek multirelational export as `*Matrix` blocks (#184).
32+
- Fixed quoted relation name normalization in Pajek headers (#185).
33+
- Fixed inline GML node/edge block parsing (#186).
34+
- Fixed arc doubling when loading undirected DOT graphs (#187).
35+
- Fixed platform-dependent `weighted=true` from uninitialized `initEdgeWeight` in DOT parser (#189).
36+
- Fixed `Graph::setDirected()` logic bugs.
37+
- Fixed lattice network edge deduplication and progress tracking.
38+
- Fixed version comparison in update-check (component-wise instead of integer).
39+
- Fixed `#133` (see commit).
40+
41+
### Refactoring (WS4 – IO/Parser)
42+
- Completed WS4: IO/Parser refactor into focused modules:
43+
- Extracted edgelist, adjacency, UCINET DL, DOT, GML, Pajek, GraphML parsers into separate files.
44+
- Introduced `IGraphParseSink` explicit mutation surface and `GraphParseSinkGraph` bridge.
45+
- Switched GUI and headless load paths to sink-backed parser mutations.
46+
- Removed legacy `Parser→Graph` signal wiring.
47+
- `Parser::load` and adjacency parser use `ParseConfig`.
48+
49+
### Toolchain / Testing
50+
- New `socnetv-cli` schema v5 `io_roundtrip` kernel for IO/parser regression protection.
51+
- Added IO roundtrip timing regression to benchmarks.
52+
- Expanded golden comparison suite with many new IO roundtrip cases and small deterministic test networks.
53+
- Added `run_io_roundtrip_shipped_datasets.sh` and `run_golden_io_roundtrip.sh` scripts.
54+
- Added UCINET FT5 io_roundtrip golden baselines.
55+
- Fixed `run_golden_compares.sh` argument parsing.
56+
- Fixed headless parser lifetime and signal race condition.
57+
58+
### i18n
59+
- Added `update_translations.sh` script; updated translation files.
60+
61+
### Build / Packaging
62+
- Debian packaging: switched to CMake build, series-aware Qt6 deps, added OpenGL/Vulkan/XKB build deps.
63+
- CMake: `.qm` files now generated via `qt_add_lrelease`.
64+
- Fixed Windows linker `/VERSION` for PE header.
65+
- Help menu now links to `socnetv.org/manual/`.
66+
67+
- Many bugfixes, see: [GitHub Issues](https://github.com/socnetv/app/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A3.4).
68+
69+
570
## [3.3] – February 2026
671

772
- Major internal refactor: `Graph` is now a façade/coordinator; functionality has been split into focused `src/graph/*` modules.

debian/changelog

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
socnetv (3.4-1) UNRELEASED; urgency=medium
1+
socnetv (3.4-1) unstable; urgency=medium
22

33
* New upstream release.
44

5-
-- Dimitris Kalamaras <dimitris.kalamaras@gmail.com> Fri, 27 Mar 2026 12:00:00 +0200
5+
-- Dimitris V. Kalamaras <dimitris.kalamaras@gmail.com> Tue, 10 Mar 2026 23:29:51 +0200
6+
67
socnetv (3.3.1-1) unstable; urgency=medium
78

89
* Upstream release 3.3.1

debian/rules

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@
66
override_dh_auto_configure:
77
dh_auto_configure -- \
88
-DCMAKE_BUILD_TYPE=Release \
9-
-DCMAKE_INSTALL_PREFIX=/usr
9+
-DCMAKE_INSTALL_PREFIX=/usr \
10+
-DBUILD_CLI=OFF

socnetv.appdata.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
<release version="3.2" date="2025-04-01" />
3030
<release version="3.3" date="2026-02-25" />
3131
<release version="3.3.1" date="2026-02-26" />
32-
<release version="3.4" date="2026-03-27" />
32+
<release version="3.4" date="2026-03-10" />
3333

3434
</releases>
3535
<developer_name>Dimitris B. Kalamaras</developer_name>

socnetv.spec

Lines changed: 12 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,6 @@
1313
# See also http://www.rpm.org
1414
#
1515

16-
### Define our defaults, they will be overriden in the distro detection below.
17-
%define qmake /usr/bin/qmake-qt6
18-
%define lrelease /usr/bin/lrelease-qt6
19-
20-
### Detect host Linux distribution and update defines.
21-
%if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version}
22-
%define qmake /usr/bin/qmake6
23-
%define lrelease /usr/bin/lrelease-qt6
24-
%endif
25-
26-
%if 0%{?suse_version}
27-
%define qmake /usr/bin/qmake6
28-
%define lrelease /usr/bin/lrelease6
29-
%endif
30-
31-
%if 0%{?mageia}
32-
%define qmake /usr/bin/qmake-qt6
33-
%define lrelease /usr/bin/lrelease-qt6
34-
%endif
35-
3616
Name: socnetv
3717
Version: 3.4
3818
Release: 1%{?dist}
@@ -41,9 +21,12 @@ License: GPL-3.0-or-later
4121
Group: Productivity/Scientific/Math
4222
URL: https://socnetv.org/
4323
Source0: app-%{version}.tar.gz
44-
BuildRequires: make
4524
BuildRequires: gcc-c++
4625
BuildRequires: gzip
26+
BuildRequires: cmake
27+
28+
# Remove ninja-build from BuildRequires
29+
# cmake will use make by default
4730

4831
%if 0%{?suse_version}
4932
BuildRequires: qt6-tools-linguist
@@ -95,18 +78,15 @@ find .
9578

9679

9780
%build
98-
# Run lrelease to generate Qt message files from Qt Linguist translation files
99-
%{lrelease} socnetv.pro
100-
101-
### Run qmake
102-
%{qmake} CONFIG+=release
103-
104-
### Run make to build the application
105-
%__make %{?_smp_mflags}
106-
# NOTE: Also available as the make_build macro, but that is not available for openSUSE 13.2, Leap 42.2 and SLE 12 SP2 (rpm < 4.12).
81+
cmake -S . -B build \
82+
-DCMAKE_BUILD_TYPE=Release \
83+
-DCMAKE_INSTALL_PREFIX=/usr \
84+
-DBUILD_CLI=OFF
85+
cmake --build build -- %{?_smp_mflags}
10786

10887
%install
109-
%{make_install} INSTALL_ROOT=%{buildroot}
88+
DESTDIR=%{buildroot} cmake --install build
89+
11090

11191
### Debugging: Show where we are and show files in build root.
11292
pwd
@@ -155,7 +135,7 @@ pwd
155135
### CHANGELOG SECTION
156136
###
157137
%changelog
158-
* Fri Mar 27 2026 Dimitris Kalamaras <dimitris.kalamaras@gmail.com> - 3.4-1
138+
* Tue Mar 10 2026 Dimitris Kalamaras <dimitris.kalamaras@gmail.com> - 3.4-1
159139
- Upstream v3.4
160140
* Thu Feb 26 2026 Dimitris Kalamaras <dimitris.kalamaras@gmail.com> - 3.3.1-1
161141
- Upstream v3.3.1

translations/socnetv_de.qm

3.75 KB
Binary file not shown.

translations/socnetv_es.qm

79 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)