Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Sep 5, 2025

This PR contains the following updates:

Package Change Age Confidence
networkx ==2.5.1 -> ==3.6 age confidence

Release Notes

networkx/networkx (networkx)

v3.6: NetworkX 3.6

Compare Source

networkx 3.6

We're happy to announce the release of networkx 3.6!

New Features

  • ENH: add normalize option for subgraph_centrality and its _exp version (#​8340).

API Changes

  • Replace random_lobster with random_lobster_graph (#​8067).
  • Replace maybe_regular_expander with maybe_regular_expander_graph (#​8050).
  • Rm networkx.algorithms.threshold.swap_d (#​8213).
  • Expire deprecation of compute_v_structures (#​8281).
  • Rm unused dissuade_hubs kwarg from forceatlas2 (#​8293).
  • Expire deprecation of link kwarg in node_link fns (#​8282).
  • DEP: Deprecate metric_closure (#​8304).

Enhancements

  • Improve error message for removed random_tree function (#​8105).
  • Update approx current_flow betweenness to use k directly (#​8007).
  • Proposal: update semantics for nonisomorphic trees with order 0 or 1 (#​8083).
  • SCC benchmarks and use of G._adj in Tarjan algorithm (#​8064).
  • Performance improvement and tests for edges_equal (#​8077).
  • optimise is_reachable() (#​8112).
  • Optimise harmonic centrality (#​8158).
  • feat(drawing): add missing connection styles in draw_networkx_edge_labels and display (#​8108).
  • Optimizing Dijkstra's paths to target (~50x faster for graphs with multiple-hops shortest path) (#​8023).
  • Add all_triangles generator yielding all unique triangles in a graph (#​8135).
  • refactor: simplify k_factor (#​8139).
  • feat: add directed star graph (#​8151).
  • Faster intersection_array computation for checking distance-regularity (#​7181).
  • enh: short-circuit in is_regular for directed graphs (#​8138).
  • Avoid re-exploring nodes in Kosaraju's SCC algorithm (#​8056).
  • trust rank implementation and testing (#​8165).
  • Add hyper_wiener_index function (#​8184).
  • Bidirectional dijkstra optimization: from 1.1x to 25x faster (#​8206).
  • Implement the algorithm to find the centroid(s) of a tree (#​8089).
  • Set length threshold in FR and use np.clip (#​8145).
  • Add panther++ (#​4400).
  • maint: use nx.circulant_graph to generate Harary graphs (#​8189).
  • ENH: add directed kwarg to edges_equal (#​8192).
  • Optimizing Dijkstra's path construction for all targets case (#​8218).
  • ENH: adds ISMAGS support for directed and multigraph with tests and refactor (#​8274).
  • Dispatch classes such as nx.Graph(backend=...) (#​7760).
  • ENH: Add is_perfect_graph using SPGT (follow-up to #​8111) (#​8318).
  • Add benchmark suite for shortest path algorithms on weighted graphs (#​8059).
  • Adding Generalized Petersen Graph (#​8147).
  • ENH: add normalize option for subgraph_centrality and its _exp version (#​8340).
  • FEAT: Add a describe method for some basic info about graphs (#​8338).

Bug Fixes

  • Add Python 3.14 to testing matrix (#​8096).
  • Fix round-trip to and from pygraphviz.AGraph setting spurious graph attributes (#​8121).
  • Add input validation to non_randomness() and clarify its behavior (#​8057).
  • Ensure that backend names are valid Python identifiers (#​8160).
  • fix: resolve failure to pickle.loads(pickle.dumps(PlanarEmbedding())) (#​8186).
  • Add GEXF 1.3 to the recognized GEXF versions (#​8196).
  • BUG: Raise on directed graphs in nx.find_cliques_recursive (#​8211).
  • fix optimize_edit_paths handling of self-loops (#​8207).
  • BUG: add check for isolated nodes in degree_sequence_tree (#​8235).
  • Mehlorn Steiner Tree (#​8052).
  • BUG/MAINT: fix edge betweenness centrality scaling when k<N and merge all b.c. rescale helper functions (#​8256).
  • Fix node attributes on lattice graphs (#​8311).
  • BUG: allow graphs with nonstandard node labels in FISTA (#​8332).
  • Make dominance functions consistent with definitions (#​8061).
  • Pin last value to 1.0 in cumulative_distribution to address floating-point errors (#​8342).

Documentation

  • Fix min_weight_matching (#​8062).
  • Update deploy-docs yml to use Python 3.12 when deploying the docs (#​8102).
  • DOC: Add missing params to bfs_layout docstring (#​8086).
  • Add input validation to non_randomness() and clarify its behavior (#​8057).
  • doc: improve docstring for hypercube_graph (#​8012).
  • Improved documentation for boundary_expansion function (#​7905).
  • DOC: Add docstring example count number of unique triangles (#​8144).
  • Add function bfs_labeled_edges to docs (#​8149).
  • Fix issues with urls in HITS reference docs (#​8156).
  • Correct the docs for display() keyword node_pos (#​8153).
  • Adding Notes on Multi-Target Shortest Path Queries (#​8169).
  • 3d facebook plot example (#​6893).
  • trust rank implementation and testing (#​8165).
  • Improve docs for all_neighbors() (#​8166).
  • Adding shortest-paths documentation (#​8187).
  • Add Linux Foundation health score badge to README (#​8219).
  • DOC: Add docstring for number_of_cliques (#​8216).
  • DOC: add docstring for degree_sequence_tree (#​8236).
  • DOC: Add examples to contracted_nodes (#​7856).
  • DOC: fix wrong reference in leiden docs (#​8277).
  • Fix over-indentation of list in chordless_cycles docstring (#​8288).
  • Add iplotx to network drawing documentation (#​8289).
  • Fix sphinx build errors (#​8303).
  • DOC: Move deprecation procedure from contributing->dev guide (#​8308).
  • DOC: add gallery example for metric_closure (#​8306).
  • Cross-link Platonic graphs in See Also section (#​8307).
  • Add seealso crosslinks between lattice graphs (#​8310).
  • CI,DOC: Only run one parallel betweenness example (#​8305).
  • DOC: rework betweenness centrality docstrings (#​8264).
  • Rm 3D layout and animation from greedy_color example (#​8315).
  • DOC: Clarify node and edge removal behavior in tutorial (#​8321).
  • Improving connected module docs (#​8267).
  • Docs: add nx-neptune backend documentation (#​8258).
  • Improving shortest paths docs when there is no path between source and target (#​8327).
  • Adding floating point considerations to tutorial (#​8324).
  • Adding Dijkstra's algo specific doc (#​8286).
  • Minor documentation build improvements (#​8329).
  • Clarify the meaning of the cutoff parameter in some path-finding functions (#​7487).
  • Switch to the NumFOCUS Code of Conduct (#​8320).
  • Fix formatting for release docs (#​8336).
  • DOC: Add warning about special GEXF reserved keywords (#​8343).
  • Adding @​amcandio as contributor (#​8345).
  • Fix sphinx warnings 3.6rc (#​8352).

Maintenance

  • Rm extraneous print from nx.display (#​8084).
  • Remove structuralholes.py from needs_(num|sci)py (#​8088).
  • Refactor image comparison tests (#​8097).
  • Update deploy-docs yml to use Python 3.12 when deploying the docs (#​8102).
  • Fix typo in extra name (#​8103).
  • MAINT: Support PEP 639 for license metadata (#​8100).
  • Use scipy.sparse array versions where applicable (#​8080).
  • pass numpy seed by value not index (#​8116).
  • Maintenance for broadcasting.py (#​8082).
  • Bump the actions group across 1 directory with 6 updates (#​8085).
  • Revert dict comprehensions -> dict.fromkeys accidentally introduced in #​8017 (#​8018).
  • refactor: improve generate_adjlist (#​8146).
  • MAINT: Weekly cron job to run dispatch test with an extensive matrix (#​8154).
  • Add benchmarks for multisrc_dijkstra over many small graphs (#​8164).
  • test: clean up k_factor tests (#​8140).
  • Use pytest.raises as a context (#​8170).
  • Testing sentinel-node trick (#​8171).
  • chore: make benchmarking and release requirements extras in pyproject.toml (#​8172).
  • Add benchmarks for is_regular (#​8173).
  • MAINT: use matrix_power from scipy.sparse in number_of_walks (#​8197).
  • MAINT: remove try except for tomllib in generate_requirements (#​8198).
  • MAINT: Ignore graph hashing warnings in tests (#​8205).
  • STY: Variable rename proposal in bidirectional_dijkstra (#​8210).
  • MAINT: Rm print from threshold_graph (#​8212).
  • feat(api): update non-tree check in _tree_center and move to tree subpackage (#​8174).
  • TST: add seed for random_cograph test (#​8228).
  • Update links for broken testing badge in README (#​8234).
  • Clarifying @_dispatchable(name= (#​8168).
  • MAINT/TST: increase non-slow coverage in k_components (#​8239).
  • MAINT/TST: clean up tests for degree_seq (#​8257).
  • Use CircleCI for coverage workflow (#​8178).
  • Bump the actions group across 1 directory with 5 updates (#​8261).
  • BUG/MAINT: fix edge betweenness centrality scaling when k<N and merge all b.c. rescale helper functions (#​8256).
  • DOC/MAINT: Use itertools.pairwise in pairwise and add docstring (#​8201).
  • Optimizing is_connected (#​8266).
  • Rm outdated codecov badge from README (#​8272).
  • CI: Move slow tests from coverage to dedicated run (#​8273).
  • Move coverage configuration to pyproject.toml (#​8287).
  • Making weakly connected logic consistent with connected logic (#​8285).
  • Bump scientific-python/circleci-artifacts-redirector-action from 1.2.0 to 1.3.1 in the actions group (#​8309).
  • CI: Add nicer rendering of env contents (#​8301).
  • CI: Install ffmpeg in circleci docs pipeline (#​8291).
  • Add/bump Python 3.14 to testing matrices (#​8319).
  • Rm 3D layout and animation from greedy_color example (#​8315).
  • MAINT: Remove unused sphinx extensions from conf.py (#​8314).
  • optimize _single_shortest_path function (#​6337).
  • Add autoflake and pyupgrade as manual pre-commit hooks (#​7870).
  • ignore autoflake and pyupgrade changes (#​8333).
  • Revert "ignore autoflake and pyupgrade changes" (#​8334).
  • Bump actions/upload-artifact from 4 to 5 in the actions group (#​8335).

Other

  • TST: improve coverage for generators/deg_seq.py (#​8226).
  • TST: test max_iter in asyn_fluidc (#​8224).
  • MAINT: clean up tests for steiner_tree (#​8259).
  • TST: add non-slow coverage for random graph generators (#​8252).
  • TST: Add a nonslow test for all_node_cuts with shortest augmenting path flow function (#​8230).
  • TST/MAINT: add non-slow coverage for random generators (#​8233).
  • TST: add coverage for isomorphvf2 (#​8251).
  • TST: ensure determinism in nx_pylab drawing tests (#​8232).
  • TST: add random_k_out_graph to tests to hit try except path (#​8231).
  • TST: add coverage for some branches in internet_as_graphs.py (#​8225).
  • TST: test topo_sort skips visited nodes in goldberg_radzik (#​8279).
  • CI: Use tag protection rulesets to control releases (#​8337).

Contributors

40 authors added to this release (alphabetically):

24 reviewers added to this release (alphabetically):

These lists are automatically generated, and may not be complete or may contain
duplicates.

v3.5: NetworkX 3.5

Compare Source

networkx 3.5

We're happy to announce the release of networkx 3.5!

API Changes

  • Save Layouts on Graphs (#​7571).
  • Expire d_separated and minimum_d_separator functions (#​7830).
  • Expire all_triplets deprecation (#​7828).
  • Expire random_triad deprecation (#​7829).
  • DEP: Raise an exception for k_core functions with multigraphs (#​7831).
  • Deprecate graph_could_be_isomorphic (#​7826).
  • Expire total_spanning_tree_weight deprecation (#​7843).
  • Expire deprecation of create kwarg in nonisomorphic_trees (#​7847).
  • New draw API (#​7589).

Enhancements

  • perf: optimise random_k_out_graph (#​7702).
  • Clausets local community detection algorithm (#​7691).
  • find_asteroidal_triple improvement (#​7736).
  • Add weight to harmonic_diameter (#​7636).
  • Densest Subgraph Problem: Greedy Peeling and Greedy++ Implementations (#​7731).
  • single_source_all_shortest_paths: don't loop over all nodes (#​7762).
  • Error message improvement for nbunch_iter ( NetworkXError raised with specific message on TypeError with "iter" in msg ) (#​7790).
  • Faster computation of energy in Laplacian centrality (#​7793).
  • Make forceatlas2_layout dispatchable (#​7794).
  • Update dispatchable for forceatlas2_layout (#​7798).
  • Enable backend-only functions where NetworkX is just an API (#​7690).
  • Steinertree kou enhancement in response to issue 5889 type:Enhancements (#​7767).
  • Add Leiden as a backend-only algorithm (#​7743).
  • Bipartite layout nodes optional (#​7756).
  • Densest Subgraph Problem: FISTA based algorithm + Large scale tests (#​7770).
  • Dispatch get_node_attributes and a few more from nx.classes.function (#​7824).
  • Faster could_be_isomorphic and number_of_cliques (#​7855).
  • Add square_clustering to algorithm benchmarks (#​7857).
  • Faster Implementation of Structural Holes (#​7249).
  • Improve runtime of number_of_nonisomorphic_trees() (#​7917).
  • Fix write_gexf timeformat for dynamic Graphs (#​7914).
  • Consolidate could_be_isomorphic (#​7852).
  • Improving rooted_tree_isomorphism for deep trees (#​7945).
  • Fixing nx.diameter inconsistent results with usebounds=True (#​7954).
  • Faster square_clustering (#​7810).
  • Avoid repeated cache conversion failures for backends (#​7768).
  • Improve _sparse_fruchterman_reingold with L-BFGS (#​7889).
  • Improve Performance of Tree Isomorphism and Center Calculation (#​7946).
  • Add option for biadjacency_matrix to be returned as a dense NumPy array (#​7973).
  • Add Functions for Finding Connected Dominating Sets (#​7774).
  • Add feature to make storing node contraction data optional (#​7902).
  • Added "initial_node" param to generate_random_paths() to allow a starting node to be specified for generated walks (#​8002).
  • Fix behavior for iterable sources argument in bfs_layers (#​8013).
  • Speed up connected_components and weakly_connected_components (#​7971).
  • BiRank Algorithm Implementation (#​7978).
  • Enforce correct graph types for graph matchers (#​8043).

Bug Fixes

  • Update _raise_on_directed to work with create_using pos arg (#​7695).
  • trophic_levels now checks for paths from each node to a basal node (#​7453).
  • Fix TSP weight parameter issues (#​7721).
  • Fix for filtered MultiGraph views from edge_subgraph (#​7724) (#​7729).
  • BUG: fixed the if condition in asadpour_atsp (#​7753).
  • Implement Bar ConnectionStyle for labels (#​7739).
  • Fixed a divide by zero error in forceatlas2 (#​7791).
  • Fix for issue #​7645: Do not preserve 'cw' and 'ccw' attributes in PlanarEmbedding.to_undirected() (#​7750).
  • fix typo in ramanujan branch (#​7804).
  • Fix with nx.config(backend_priority=backends): (#​7814).
  • Fix handling of faux_infinite values in network_simplex (#​7796).
  • Fixed the return type from an empty dict to an empty set (#​7910).
  • Add edge_attrs="weight" to forceatlas2_layout dispatch decorator (#​7918).
  • Fix graph_hash iteration counts and DiGraph handling (#​7834).
  • Refactored the working of chordless_cycles to handle self loops (#​7901).
  • Fix bc scale with k endpoints (#​7908).
  • Fix BC scaling for source nodes with k and endpoints=False (#​7949).
  • BUG: graph6 format invariant to trailing newline (#​7941).
  • Fix random_degree_sequence_graph when input is an iterator (#​7979).
  • Improve special cases in dispatch testing (paying off tech debt) (#​7982).
  • Fix bug when assigning list to nx.config.backend_priority (#​8034).
  • A minimal fix for is_aperiodic (#​8029).
  • fix bug of _sparse_fruchterman_reingold and remove try/except idiom (#​8041).
  • Fix edge case in ISMAGS symmetry detection (#​8055).

Documentation

  • set nx-arangodb link to github (#​7694).
  • Re-submission of gh-7087 with better file provenance (#​7681).
  • Fix code formatting of some examples (#​7730).
  • Add examples for custom graph in the doc of soft_random_geometric_graph and thresholded_random_geometric_graph (#​7749).
  • Gallery example: bipartite a/b-core motif (#​7757).
  • Add blurb about pytest-mpl dependency to contributing guide (#​7741).
  • Minor updates to single_source_shortest_path_length docstring (#​7637).
  • Added a note to the contributor guideline to avoid numpy scalars as a… (#​7773).
  • Correcting the example given under subgraph_is_monomorphic.py (#​7779).
  • [easy] Add to Contributor List (#​7801).
  • doc: mention the second major update (#​7782).
  • DOC: Add details about more grants (#​7823).
  • Refactor: Moving backend docs from backends.py to backends.rst (#​7776).
  • Update readwrite docstrings for the path parameter (#​7835).
  • Fix docstring example of nx.generate_random_paths(index_map=...) (#​7832).
  • Adds NVIDIA Corporation to list of supporters (#​7846).
  • Fix use of triple backticks in docstrings (#​7845).
  • Add paragraph about university classes to mentored projects (#​7838).
  • Fix pygraphviz_layout example (#​7849).
  • Add test-extras to optional dependencies (#​7854).
  • doc: hash size are in bytes (#​7866).
  • DOC: Clean up mentored projects page: move visualization project to completed section (#​7881).
  • added 2 projects for GSoC 2025 (#​7880).
  • Add missing usebounds param descr to distance docstrings (#​7703).
  • Add examples to graph_atlas_g docstring (#​7900).
  • Add missing weight and gravity attribute to forceatlas2_layout docstring (#​7915).
  • DOC: Update first docstring example and add a serialization example (#​7928).
  • DOC: Remove myself from the mentor list for projects (#​7943).
  • Fix typo in forceatlas2_layout (#​7966).
  • Add tournament_matrix to docs (#​7968).
  • Add function descriptions in the threshold.py file (#​7906).
  • bugfix: use supergraph to compute superpos in plot_clusters example (#​7997).
  • More random_paths docstring improvements (#​7841).
  • Add nx-guides link to navbar without dropdown (#​8015).
  • Clarifying backend graph class interface is_directed+is_multigraph (#​8032).
  • Fix all sphinx build warnings (#​8047).
  • Add a new gallery spring layout (#​8042).
  • Add note about cycles in maximum_flow() (#​8058).
  • Clarify subgraph node/edge order is not preserved (#​8069).
  • Fix typo in min_edge_cover docstring (#​8075).

Maintenance

  • MAINT: wrapping partial with staticmethod() in test_link_prediction.py (#​7673).
  • Updating pip installs in benchmarking workflow (#​7647).
  • Mv changelist to release deps (#​7708).
  • Drop support for Python 3.10 (#​7668).
  • Update minimum dependencies (SPEC 0) (#​7711).
  • Remove print statements and comments from test suite (#​7715).
  • Refactor closeness centrality tests (#​7712).
  • Add Python fallback to random_k_out_graph + document dependencies (#​7718).
  • Fix sphinx warnings from numpydoc parsing (#​7742).
  • MAINT: Updating geospatial example to be compatible with osmnx=2.0.0 (#​7746).
  • Add more tests for nx.lowest_common_ancestor (#​7726).
  • Update shortest_path and single_target_shortest_path_length for 3.5 (#​7754).
  • Parametrize edge_subgraph multigraph test (#​7737).
  • Add filters for LOBPCG convergence warnings (#​7778).
  • MAINT: Close mpl figures in tests to clear up test env (#​7783).
  • Update pre-commit linting (#​7797).
  • Small dispatching refactor: simple __call__ when no backends (#​7761).
  • Benchmarking: graph atlas (#​7766).
  • Improve square clustering test derived from Zhang paper (reference 2) (#​7811).
  • Fix exception for backend-only functions (#​7812).
  • Add a subplot fixture to automate test cleanup (#​7799).
  • MAINT: use nx.layout instead of importing layouts (#​7819).
  • MAINT: Move stub func in the correct scope for pickle test (#​7818).
  • Ensure standard import conventions are used (#​7821).
  • Clean up pygrep pre-commit for import convention checks (#​7822).
  • Add a few more square clustering test cases (#​7825).
  • Don't use assert when using pytest.raises (#​7833).
  • Update doc requirements (#​7837).
  • Update developer requirements (#​7839).
  • MAINT: Minus not underscore in the dep package name (#​7840).
  • Update readwrite docstrings for the path parameter (#​7835).
  • Fix docstring example of nx.generate_random_paths(index_map=...) (#​7832).
  • Fix use of triple backticks in docstrings (#​7845).
  • Add .mailmap file to consilidate contributors (#​7853).
  • TST: Refactor example test case generation functions (#​7844).
  • Refactor network_simplex test of faux_infinity (#​7858).
  • Change CRLF format of two files (#​7861).
  • Fix some typos (#​7863).
  • Pre commit hooks to check line endings and trailing whitespace (#​7862).
  • MAINT: replace the SHAs for blame and move the changes within pre-commit (#​7869).
  • Rm stray instances of sparse matrices from test suite (#​7860).
  • Remove unused imports (#​7864).
  • Remove unnecessary dict(...) for SSSP algos that return dicts (#​7878).
  • Change function calls to address pandas linting (#​7885).
  • Activate pycodestyle in linting pre-commit (#​7859).
  • Correct sphinx warnings from doc build (#​7888).
  • effective_size of nodes with only self-loop edges is undefined (#​7347).
  • DOC: docstring changes to to_dict_of_dicts and attr_matrix and input name change in min_fill_in_heuristic (#​7883).
  • Update layout.py (#​7939).
  • Tree isomorphism input validation (#​7920).
  • Tweaks and notes from a dive into backends.py (#​7884).
  • MAINT: Follow-up to 7945 - rm helper function (#​7952).
  • Some light refactoring to make the tree isomorphism tests more readable (#​7924).
  • new try at will_call_mutate_inputs (#​7959).
  • MAINT: rm debug print from similarity module (#​7937).
  • Improve special cases in dispatch testing (paying off tech debt) (#​7982).
  • Remove unused import in convert_matrix.py (networkx.utils.not_implemented_for) (#​7983).
  • Use -n auto from pytest-xdist for dispatch and coverage CI jobs (#​7987).
  • Make test file names unique to be threadsafe (#​7998).
  • Update pre-commit repos (#​8017).
  • Minor follow-up to gh-8002 tests (#​8016).
  • Add linting for line length in docstrings and comments (#​7938).
  • Add sg_execution_times.rst to gitignore (#​8025).
  • Support both pydot v3 and pydot v4 (#​8027).
  • Update copyright license years (#​8038).
  • Fix all sphinx build warnings (#​8047).
  • Fix intermittent test failures in expander graph generator tests (#​8048).
  • Refactor tree_isomorphism to improve code reuse and readability (#​7929).
  • STY: Rm local variable remapping of heappush and heappop (#​8051).
  • TST: Minor improvements to layout test suite (#​8049).
  • Minor refactor to cleanup/improve matching test suite (#​8068).

Contributors

56 authors added to this release (alphabetically):

32 reviewers added to this release (alphabetically):

*These lists are automatically generated, and


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/networkx-3.x branch from 99f7b96 to 85eae78 Compare November 24, 2025 06:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant