diff options
author | Jarrod Millman <jarrod.millman@gmail.com> | 2023-01-07 15:58:34 -0800 |
---|---|---|
committer | Jarrod Millman <jarrod.millman@gmail.com> | 2023-01-07 15:58:34 -0800 |
commit | 58994819583fddf3fea813daec520946c550bcd8 (patch) | |
tree | e00b2248ec8a5fe9a49c597b6c1cf122bdd28663 /doc/release/release_dev.rst | |
parent | 2522f1d03b0d0115fcdcd3ab852d38444bec2848 (diff) | |
download | networkx-58994819583fddf3fea813daec520946c550bcd8.tar.gz |
Designate 3.0 releasenetworkx-3.0
Diffstat (limited to 'doc/release/release_dev.rst')
-rw-r--r-- | doc/release/release_dev.rst | 324 |
1 files changed, 0 insertions, 324 deletions
diff --git a/doc/release/release_dev.rst b/doc/release/release_dev.rst deleted file mode 100644 index 1b2f6c00..00000000 --- a/doc/release/release_dev.rst +++ /dev/null @@ -1,324 +0,0 @@ -NetworkX 3.0 (unreleased) -========================= - -Release date: TBD - -Supports Python 3.8, 3.9, 3.10, and 3.11. - -NetworkX is a Python package for the creation, manipulation, and study of the -structure, dynamics, and functions of complex networks. - -For more information, please visit our `website <https://networkx.org/>`_ -and our :ref:`gallery of examples <examples_gallery>`. -Please send comments and questions to the `networkx-discuss mailing list -<http://groups.google.com/group/networkx-discuss>`_. - -Highlights ----------- - -This release is the result of 8 months of work with over 217 pull requests by -37 contributors. We also have a `guide for people moving from NetworkX 2.X -to NetworkX 3.0 <https://networkx.org/documentation/latest/release/migration_guide_from_2.x_to_3.0.html>`_. Highlights include: - -- Better syncing between G._succ and G._adj for directed G. - And slightly better speed from all the core adjacency data structures. - G.adj is now a cached_property while still having the cache reset when - G._adj is set to a new dict (which doesn't happen very often). - Note: We have always assumed that G._succ and G._adj point to the same - object. But we did not enforce it well. If you have somehow worked - around our attempts and are relying on these private attributes being - allowed to be different from each other due to loopholes in our previous - code, you will have to look for other loopholes in our new code - (or subclass DiGraph to explicitly allow this). -- If your code sets G._succ or G._adj to new dictionary-like objects, you no longer - have to set them both. Setting either will ensure the other is set as well. - And the cached_properties G.adj and G.succ will be rest accordingly too. -- If you use the presence of the attribute `_adj` as a criteria for the object - being a Graph instance, that code may need updating. The graph classes - themselves now have an attribute `_adj`. So, it is possible that whatever you - are checking might be a class rather than an instance. We suggest you check - for attribute `_adj` to verify it is like a NetworkX graph object or type and - then `type(obj) is type` to check if it is a class. -- We have added an `experimental plugin feature <https://github.com/networkx/networkx/pull/6000>`_, - which let users choose alternate backends like GraphBLAS, CuGraph for computation. This is an - opt-in feature and may change in future releases. -- Improved integration with the general `Scientific Python ecosystem <https://networkx.org/documentation/latest/release/migration_guide_from_2.x_to_3.0.html#improved-integration-with-scientific-python>`_. -- New drawing feature (module and tests) from NetworkX graphs to the TikZ library of TeX/LaTeX. - The basic interface is ``nx.to_latex(G, pos, **options)`` to construct a string of latex code or - ``nx.write_latex(G, filename, as_document=True, **options)`` to write the string to a file. -- Added an improved subgraph isomorphism algorithm called VF2++. - -Improvements ------------- -- [`#5663 <https://github.com/networkx/networkx/pull/5663>`_] - Implements edge swapping for directed graphs. -- [`#5883 <https://github.com/networkx/networkx/pull/5883>`_] - Replace the implementation of ``lowest_common_ancestor`` and - ``all_pairs_lowest_common_ancestor`` with a "naive" algorithm to fix - several bugs and improve performance. -- [`#5912 <https://github.com/networkx/networkx/pull/5912>`_] - The ``mapping`` argument of the ``relabel_nodes`` function can be either a - mapping or a function that creates a mapping. ``relabel_nodes`` first checks - whether the ``mapping`` is callable - if so, then it is used as a function. - This fixes a bug related for ``mapping=str`` and may change the behavior for - other ``mapping`` arguments that implement both ``__getitem__`` and - ``__call__``. -- [`#5898 <https://github.com/networkx/networkx/pull/5898>`_] - Implements computing and checking for minimal d-separators between two nodes. - Also adds functionality to DAGs for computing v-structures. -- [`#5943 <https://github.com/networkx/networkx/pull/5943>`_] - ``is_path`` used to raise a `KeyError` when the ``path`` argument contained - a node that was not in the Graph. The behavior has been updated so that - ``is_path`` returns `False` in this case rather than raising the exception. -- [`#6003 <https://github.com/networkx/networkx/pull/6003>`_] - ``avg_shortest_path_length`` now raises an exception if the provided - graph is directed but not strongly connected. The previous test (weak - connecting) was wrong; in that case, the returned value was nonsensical. - -API Changes ------------ - -- [`#5899 <https://github.com/networkx/networkx/pull/5899>`_] - The `attrs` keyword argument will be replaced with keyword only arguments - `source`, `target`, `name`, `key` and `link` for `json_graph/node_link` functions. - -Deprecations ------------- - -- [`#5723 <https://github.com/networkx/networkx/issues/5723>`_] - ``nx.nx_pydot.*`` will be deprecated in the future if pydot isn't being - actively maintained. Users are recommended to use pygraphviz instead. -- [`#5899 <https://github.com/networkx/networkx/pull/5899>`_] - The `attrs` keyword argument will be replaced with keyword only arguments - `source`, `target`, `name`, `key` and `link` for `json_graph/node_link` functions. - -Merged PRs ----------- - -- Bump release version -- Add characteristic polynomial example to polynomials docs (#5730) -- Remove deprecated function is_string_like (#5738) -- Remove deprecated function make_str (#5739) -- Remove unused 'name' parameter from `union` (#5741) -- Remove deprecated function is_iterator (#5740) -- Remove deprecated `euclidean` from geometric.py (#5744) -- Remove deprecated function utils.consume (#5745) -- Rm `to_numpy_recarray` (#5737) -- Remove deprecated function utils.empty_generator (#5748) -- Rm jit.py (#5751) -- Remove deprecated context managers (#5752) -- Remove deprecated function utils.to_tuple (#5755) -- Remove deprecated display_pygraphviz (#5754) -- Remove to_numpy_matrix & from_numpy_matrix (#5746) -- Remove deprecated decorator preserve_random_state (#5768) -- Remove deprecated function is_list_of_ints (#5743) -- Remove decorator random_state (#5770) -- remove `adj_matrix` from `linalg/graphmatrix.py` (#5753) -- Remove betweenness_centrality_source (#5786) -- Remove deprecated simrank_similarity_numpy (#5783) -- Remove networkx.testing subpackage (#5782) -- Change PyDot PendingDeprecation to Deprecation (#5781) -- Remove deprecated numeric_mixing_matrix (#5777) -- Remove deprecated functions make_small_graph and make_small_undirected_graph (#5761) -- Remove _naive_greedy_modularity_communities (#5760) -- Make chordal_graph_cliques a generator (#5758) -- update cytoscape functions to drop old signature (#5784) -- Remove deprecated functions dict_to_numpy_array2 and dict_to_numpy_array1 (#5756) -- Remove deprecated function utils.default_opener (#5747) -- Remove deprecated function iterable (#5742) -- remove old attr keyword from json_graph/tree (#5785) -- Remove generate_unique_node (#5780) -- Replace node_classification subpackage with a module (#5774) -- Remove gpickle (#5773) -- Remove deprecated function extrema_bounding (#5757) -- Remove coverage and performance from quality (#5775) -- Update return type of google_matrix to numpy.ndarray (#5762) -- Remove deprecated k-nearest-neighbors (#5769) -- Remove gdal dependency (#5766) -- Update return type of attrmatrix (#5764) -- Remove unused deprecated argument from to_pandas_edgelist (#5778) -- Remove deprecated function edge_betweeness (#5765) -- Remove pyyaml dependency (#5763) -- Remove copy methods for Filter* coreviews (#5776) -- Remove deprecated function nx.info (#5759) -- Remove deprecated n_communities argument from greedy_modularity_communities (#5789) -- Remove deprecated functions hub_matrix and authority_matrix (#5767) -- Make HITS numpy and scipy private functions (#5771) -- Add Triad example plot (#5528) -- Add gallery example visualizing DAG with multiple layouts (#5432) -- Make pagerank numpy and scipy private functions (#5772) -- Implement directed edge swap (#5663) -- Update relabel.py to preserve node order (#5258) -- Modify DAG example to show topological layout. (#5835) -- Add docstring example for self-ancestors/descendants (#5802) -- Update precommit linters (#5839) -- remove to/from_scipy_sparse_matrix (#5779) -- Clean up from PR #5779 (#5841) -- Corona Product (#5223) -- Add direct link to github networkx org sponsorship (#5843) -- added examples to efficiency_measures.py (#5643) -- added examples to regular.py (#5642) -- added examples to degree_alg.py (#5644) -- Add docstring examples for triads functions (#5522) -- Fix docbuild warnings: is_string_like is removed and identation in corona product (#5845) -- Use py_random_state to control randomness of random_triad (#5847) -- Remove OrderedGraphs (#5813) -- Drop NumPy 1.19 (#5856) -- Speed up unionfind a bit by not adding root node in the path (#5844) -- Minor doc fixups (#5868) -- Attempt to reverse slowdown from hasattr needed for cached_property (#5836) -- make lazy_import private and remove its internal use (#5878) -- strategy_saturation_largest_first now accepts partial colorings (#5888) -- Add weight distance metrics (#5305) -- docstring updates for `union`, `disjoint_union`, and `compose` (#5892) -- Update precommit hooks (#5923) -- Remove old Appveyor cruft (#5924) -- signature change for `node_link` functions: for issue #5787 (#5899) -- Replace LCA with naive implementations (#5883) -- Bump nodelink args deprecation expiration to v3.2 (#5933) -- Update mapping logic in `relabel_nodes` (#5912) -- Update pygraphviz (#5934) -- Further improvements to strategy_saturation_largest_first (#5935) -- Arf layout (#5910) -- [ENH] Find and verify a minimal D-separating set in DAG (#5898) -- Add Mehlhorn Steiner approximations (#5629) -- Preliminary VF2++ Implementation (#5788) -- Minor docstring touchups and test refactor for `is_path` (#5967) -- Switch to relative import for vf2pp_helpers. (#5973) -- Add vf2pp_helpers subpackage to wheel (#5975) -- Enhance biconnected components to avoid indexing (#5974) -- Update mentored projects list (#5985) -- Add concurrency hook to cancel jobs on new push. (#5986) -- Make all.py generator friendly (#5984) -- Only run scheduled pytest-randomly job in main repo. (#5993) -- Fix steiner tree test (#5999) -- Update doc requirements (#6008) -- VF2++ for Directed Graphs (#5972) -- Fix defect and update docs for MappedQueue, related to gh-5681 (#5939) -- Update pydata-sphinx-theme (#6012) -- Update numpydoc (#6022) -- Fixed test for average shortest path in the case of directed graphs (#6003) -- Update deprecations after 3.0 dep sprint (#6031) -- Use scipy.sparse array datastructure (#6037) -- Designate 3.0b1 release -- Bump release version -- Use org funding.yml -- Update which flow functions support the cutoff argument (#6085) -- Update GML parsing/writing to allow empty lists/tuples as node attributes (#6093) -- Warn on unused visualization kwargs that only apply to FancyArrowPatch edges (#6098) -- Fix weighted MultiDiGraphs in DAG longest path algorithms + add additional tests (#5988) -- Circular center node layout (#6114) -- Fix doc inconsistencies related to cutoff in connectivity.py and disjoint_paths.py (#6113) -- Remove deprecated maxcardinality parameter from min_weight_matching (#6146) -- Remove deprecated `find_cores` (#6139) -- Remove deprecated project function from bipartite package. (#6147) -- Improve test coverage for voterank algorithm (#6161) -- plugin based backend infrastructure to use multiple computation backends (#6000) -- Undocumented parameters in dispersion (#6183) -- Swap.py coverage to 100 (#6176) -- Improve test coverage for current_flow_betweenness module (#6143) -- Completed Testing in community.py resolves issue #6184 (#6185) -- Added an example to algebraic_connectivity (#6153) -- Add ThinGraph example to Multi*Graph doc_strings (#6160) -- Fix defect in eulerize, replace reciprocal edge weights (#6145) -- For issue #6030 Add test coverage for algorithms in beamsearch.py (#6087) -- Improve test coverage expanders stochastic graph generators (#6073) -- Update developer requirements (#6194) -- Designate 3.0rc1 release -- Bump release version -- Tests added in test_centrality.py (#6200) -- add laplacian_spectrum example (#6169) -- PR for issue #6033 Improve test coverage for algorithms in betweenness_subset.py #6033 (#6083) -- Di graph edges doc fix (#6108) -- Improve coverage for core.py (#6116) -- Add clear edges method as a method to be frozen by nx.freeze (#6190) -- Adds LCA test case for self-ancestors from gh-4458. (#6218) -- Minor Python 2 cleanup (#6219) -- Add example laplacian matrix (#6168) -- Revert 6219 and delete comment. (#6222) -- fix wording in error message (#6228) -- Rm incorrect test case for connected edge swap (#6223) -- add missing `seed` to function called by `connected_double_edge_swap` (#6231) -- Hide edges with a weight of None in A*. (#5945) -- Add dfs_labeled_edges reporting of reverse edges due to depth_limit. (#6240) -- Warn users about duplicate nodes in generator function input (#6237) -- Reenable geospatial examples (#6252) -- Draft 3.0 release notes (#6232) -- Add 2.8.x release notes (#6255) -- doc: clarify allowed `alpha` when using nx.draw_networkx_edges (#6254) -- Add a contributor (#6256) -- Allow MultiDiGraphs for LCA (#6234) -- Update simple_paths.py to improve readability of the BFS. (#6273) -- doc: update documentation when providing an iterator over current graph to add/remove_edges_from. (#6268) -- Fix bug vf2pp is isomorphic issue 6257 (#6270) -- Improve test coverage for Eigenvector centrality (#6227) -- Bug fix in swap: directed_edge_swap and double_edge_swap (#6149) -- Adding a test to verify that a NetworkXError is raised when calling n… (#6265) -- Pin to sphinx 5.2.3 (#6277) -- Update pre-commit hooks (#6278) -- Update GH actions (#6280) -- Fix links in release notes (#6281) -- bug fix in smallworld.py: random_reference and lattice_reference (#6151) -- [DOC] Follow numpydoc standard in barbell_graph documentation (#6286) -- Update simple_paths.py: consistent behaviour for `is_simple_path` when path contains nodes not in the graph. (#6272) -- Correctly point towards 2.8.8 in release notes (#6298) -- Isomorphism improve documentation (#6295) -- Improvements and test coverage for `line.py` (#6215) -- Fix typo in Katz centrality comment (#6310) -- Broken link in isomorphism documentation (#6296) -- Update copyright years to 2023 (#6322) -- fix warnings for make doctest (#6323) -- fix whitespace issue in test_internet_as_graph (#6324) -- Create a Tikz latex drawing feature for networkx (#6238) -- Fix docstrings (#6329) -- Fix documentation deployment (#6330) -- Fix links to migration guide (#6331) -- Fix links to migration guide (#6331) -- Fix typo in readme file (#6312) -- Fix typos in the networkx codebase (#6335) -- Refactor vf2pp modules and test files (#6334) - -Contributors ------------- - -- 0ddoe_s -- Abangma Jessika -- Adam Li -- Adam Richardson -- Ali Faraji -- Alimi Qudirah -- Anurag Bhat -- Ben Heil -- Brian Hou -- Casper van Elteren -- danieleades -- Dan Schult -- ddelange -- Dilara Tekinoglu -- Dimitrios Papageorgiou -- Douglas K. G. Araujo -- George Watkins -- Guy Aglionby -- Isaac Western -- Jarrod Millman -- Juanita Gomez -- Kevin Brown -- Konstantinos Petridis -- ladykkk -- Lucas H. McCabe -- Ludovic Stephan -- Lukong123 -- Matt Schwennesen -- Michael Holtz -- Morrison Turnansky -- Mridul Seth -- nsengaw4c -- Okite chimaobi Samuel -- Paula Pérez Bianchi -- Radoslav Fulek -- reneechebbo -- Ross Barnowski -- Sebastiano Vigna -- stevenstrickler -- Sultan Orazbayev -- Tina Oberoi |