Skip to content

Commit

Permalink
Merge pull request #642 from fabratu/bump-80
Browse files Browse the repository at this point in the history
Version 8.0: Readme + version update
  • Loading branch information
avdgrinten committed Dec 18, 2020
2 parents dcc0bb1 + d230725 commit bdbb926
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 5 deletions.
73 changes: 70 additions & 3 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,78 @@

API-breaking changes are extracted and filtered by using [ABI-compliance checker](https://lvc.github.io/abi-compliance-checker/) together with [ABI-dumper](https://github.com/lvc/abi-dumper) for C++ core-library and the Cython-interface. Native Python-code functions are covered by diffs.

## Changes in NetworKit 8.0

## Changes in NetworKit 7.0
### Function/Class removed

- Aux
- `Parrallelism::enableNestedParallelism()`

- Centrality
- Remark: The implementation of `TopHarmonicCloseness` was reworked entirely. In the new version all formerly `protected` functions are removed. The `public` API has not changed.
- `TopHarmonicCloseness::BFSbound()`
- `TopHarmonicCloseness::BFScut()`
- `TopHarmonicCloseness::computeReachableNodesDirected()`
- `TopHarmonicCloseness::computeReachableNodesUndirected()`
- `TopHarmonicCloseness::init()`
- `Centrality::scores( bool moveOut )`

Due to larger refactoring in the C++ core, there exists quite some changes in source code since the last major release. According to ABI-compliance, there is 96,5% source compatibility between 6.0 to 7.0, so most of the API-calls remain stable.
- Components
- Remark: The recursive version of `StronglyConnectedComponents` is removed. To call the algorithm use `StronglyConnectedComponents::run()`.
- `StronglyConnectedComponents::runIteratively()`
- `StronglyConnectedComponents::runRecursively()`
- `StronglyConnectedComponents::StronglyConnectedComponents( Graph const& G, bool iterativeAlgo )`

- In class `Graph` quite some functions are removed with release of 8.0. They are now mostly available via `GraphTools`:
- `Graph::append()`
- `Graph::copyNodes()`
- `Graph::density()`
- `Graph::edges()`
- `Graph::maxDegree()`
- `Graph::maxDegreeIn()`
- `Graph::maxWeightedDegree()`
- `Graph::maxWeightedDegreeIn()`
- `Graph::merge()`
- `Graph::neighbors()`
- `Graph::nodes()`
- `Graph::randomEdge()`
- `Graph::randomEdges()`
- `Graph::randomNeighbor()`
- `Graph::randomNode()`
- `Graph::removeEdgesFromIsolatedSet()`
- `Graph::size()`
- `Graph::subgraphFromNodes()`
- `Graph::toString()`
- `Graph::toUndirected()`
- `Graph::toUnweighted()`
- `Graph::transpose()`
- `Graph::typ()`
- `Graph::volume()`


### Function/Class declaration changed

- Distances
- `SSSP::getDistances( bool moveOut )` to `SSSP::getDistances()`
- `SSSP::getNodesSortedByDistance( bool moveOut )` to `SSSP::getNodesSortedByDistance()`


### Function/Class now deprecated

- Randomization
- `GlobalTradeSequence.hpp` is now deprecated

### Changes in Python interface

- components
- `StronglyConnectedComponents` no longer supports recursive solving strategy.
- engineering
- `enableNestedParallelism()` is no longer available
- graph
- The following functions are removed from the `graph`-module. Most of them are available now from the `graphtools`-module:
`append()`, `copyNodes()`, `density()`, `edges()`, `inNeighbors`, `maxDegree()`, `maxDegreeIn()`, `maxWeightedDegree()`, `maxWeightedDegreeIn()`, `merge()`, `neighbors()`, `randomEdge()`, `randomEdges()`, `randomNeighbor()`, `randomNode()`, `removeEdgesFromIsolatedSet()`, `size()`, `subgraphFromNodes()`, `toString()`, `toUndirected()`, `toUnweighted()`, `transpose()`, `typ()`, `volume()`

## Changes in NetworKit 7.0

### Function/Class removed

Expand All @@ -23,4 +90,4 @@ Due to larger refactoring in the C++ core, there exists quite some changes in so

### Changes in Python interface

- `runIteratively()` and `runRecursively()` are remove from `StronglyConnectedComponents`. The default option is now to run in iterative mode. If the (now deprecated) recursive algorithm should be used, the constructor can be called accordingly.
- `runIteratively()` and `runRecursively()` are removed from `StronglyConnectedComponents`. The default option is now to run in iterative mode. If the (now deprecated) recursive algorithm should be used, the constructor can be called accordingly.
2 changes: 1 addition & 1 deletion networkit/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"Moritz v. Looz", "Yassine Marrakchi", "Henning Meyerhenke", "Manuel Penschuck", "Marcel Radermacher", "Klara Reichard", "Marvin Ritter", \
"Aleksejs Sazonovs", "Hung Tran", "Alexander van der Grinten", "Florian Weber", "Michael Wegner", "Jörg Weisbarth"]
__license__ = "MIT"
__version__ = "7.1"
__version__ = "8.0"

# standard library modules
import csv
Expand Down
3 changes: 2 additions & 1 deletion version.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name='networkit'

version='7.1'
version='8.0'

url='https://networkit.github.io/'

Expand Down Expand Up @@ -45,6 +45,7 @@
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Topic :: Software Development :: Libraries :: Python Modules',
'Topic :: Scientific/Engineering :: Bio-Informatics',
'Topic :: Scientific/Engineering :: Chemistry',
Expand Down

0 comments on commit bdbb926

Please sign in to comment.