Added
- Added a memory-efficient `utils.one_hot` implementation ([7005](https://github.com/pyg-team/pytorch_geometric/pull/7005))
- Added `HeteroDictLinear` and an optimized `FastHGTConv` module ([6178](https://github.com/pyg-team/pytorch_geometric/pull/6178), [#6998](https://github.com/pyg-team/pytorch_geometric/pull/6998))
- Added the `DenseGATConv` module ([6928](https://github.com/pyg-team/pytorch_geometric/pull/6928))
- Added `trim_to_layer` utility function for more efficient `NeighborLoader` use-cases ([6661](https://github.com/pyg-team/pytorch_geometric/pull/6661))
- Added the `DistMult` KGE model ([6958](https://github.com/pyg-team/pytorch_geometric/pull/6958))
- Added `HeteroData.set_value_dict` functionality ([6961](https://github.com/pyg-team/pytorch_geometric/pull/6961), [#6974](https://github.com/pyg-team/pytorch_geometric/pull/6974))
- Added PyTorch >= 2.0 support ([6934](https://github.com/pyg-team/pytorch_geometric/pull/6934), [#7000](https://github.com/pyg-team/pytorch_geometric/pull/7000))
- Added PyTorch Lightning >= 2.0 support ([6929](https://github.com/pyg-team/pytorch_geometric/pull/6929))
- Added the `ComplEx` KGE model ([6898](https://github.com/pyg-team/pytorch_geometric/pull/6898))
- Added option to write benchmark results to csv ([6888](https://github.com/pyg-team/pytorch_geometric/pull/6888))
- Added `HeteroLayerNorm` and `HeteroBatchNorm` layers ([6838](https://github.com/pyg-team/pytorch_geometric/pull/6838))
- Added the `HeterophilousGraphDataset` suite ([6846](https://github.com/pyg-team/pytorch_geometric/pull/6846))
- Added support for sparse tensor in full batch mode inference benchmark ([6843](https://github.com/pyg-team/pytorch_geometric/pull/6843))
- Enabled `NeighborLoader` to return number of sampled nodes and edges per hop ([6834](https://github.com/pyg-team/pytorch_geometric/pull/6834))
- Added `ZipLoader` to execute multiple `NodeLoader` or `LinkLoader` instances ([6829](https://github.com/pyg-team/pytorch_geometric/issues/6829))
- Added common `utils.select` and `utils.narrow` functionality to support filtering of both tensors and lists ([6162](https://github.com/pyg-team/pytorch_geometric/issues/6162))
- Support `normalization` customization in `get_mesh_laplacian` ([6790](https://github.com/pyg-team/pytorch_geometric/issues/6790))
- Added the `TemporalEncoding` module ([6785](https://github.com/pyg-team/pytorch_geometric/pull/6785))
- Added CPU-optimized `spmm_reduce` functionality via CSR format ([6699](https://github.com/pyg-team/pytorch_geometric/pull/6699), [#6759](https://github.com/pyg-team/pytorch_geometric/pull/6759))
- Added support for the revised version of the `MD17` dataset ([6734](https://github.com/pyg-team/pytorch_geometric/pull/6734))
- Added TorchScript support to the `RECT_L` model ([6727](https://github.com/pyg-team/pytorch_geometric/pull/6727))
- Added TorchScript support to the `Node2Vec` model ([6726](https://github.com/pyg-team/pytorch_geometric/pull/6726))
- Added `utils.to_edge_index` to convert sparse tensors to edge indices and edge attributes ([6728](https://github.com/pyg-team/pytorch_geometric/issues/6728))
- Fixed expected data format in `PolBlogs` dataset ([6714](https://github.com/pyg-team/pytorch_geometric/issues/6714))
- Added `SimpleConv` to perform non-trainable propagation ([6718](https://github.com/pyg-team/pytorch_geometric/pull/6718))
- Added a `RemoveDuplicatedEdges` transform ([6709](https://github.com/pyg-team/pytorch_geometric/pull/6709))
- Added TorchScript support to the `LINKX` model ([6712](https://github.com/pyg-team/pytorch_geometric/pull/6712))
- Added `torch.jit` examples for `example/film.py` and `example/gcn.py`([6602](https://github.com/pyg-team/pytorch_geometric/pull/6692))
- Added `Pad` transform ([5940](https://github.com/pyg-team/pytorch_geometric/pull/5940), [#6697](https://github.com/pyg-team/pytorch_geometric/pull/6697), [#6731](https://github.com/pyg-team/pytorch_geometric/pull/6731), [#6758](https://github.com/pyg-team/pytorch_geometric/pull/6758))
- Added full batch mode to the inference benchmark ([6631](https://github.com/pyg-team/pytorch_geometric/pull/6631))
- Added `cat` aggregation type to the `HeteroConv` class so that features can be concatenated during grouping ([6634](https://github.com/pyg-team/pytorch_geometric/pull/6634))
- Added `torch.compile` support and benchmark study ([6610](https://github.com/pyg-team/pytorch_geometric/pull/6610), [#6952](https://github.com/pyg-team/pytorch_geometric/pull/6952), [#6953](https://github.com/pyg-team/pytorch_geometric/pull/6953), [#6980](https://github.com/pyg-team/pytorch_geometric/pull/6980), [#6983](https://github.com/pyg-team/pytorch_geometric/pull/6983), [#6984](https://github.com/pyg-team/pytorch_geometric/pull/6984), [#6985](https://github.com/pyg-team/pytorch_geometric/pull/6985), [#6986](https://github.com/pyg-team/pytorch_geometric/pull/6986), [#6989](https://github.com/pyg-team/pytorch_geometric/pull/6989), [#7002](https://github.com/pyg-team/pytorch_geometric/pull/7002))
- Added the `AntiSymmetricConv` layer ([6577](https://github.com/pyg-team/pytorch_geometric/pull/6577))
- Added a mixin for Huggingface model hub integration ([5930](https://github.com/pyg-team/pytorch_geometric/pull/5930), [#6591](https://github.com/pyg-team/pytorch_geometric/pull/6591))
- Added support for accelerated GNN layers in `nn.conv.cugraph` via `cugraph-ops` ([6278](https://github.com/pyg-team/pytorch_geometric/pull/6278), [#6388](https://github.com/pyg-team/pytorch_geometric/pull/6388), [#6412](https://github.com/pyg-team/pytorch_geometric/pull/6412))
- Added accelerated `index_sort` function from `pyg-lib` for faster sorting ([6554](https://github.com/pyg-team/pytorch_geometric/pull/6554))
- Fix incorrect device in `EquilibriumAggregration` ([6560](https://github.com/pyg-team/pytorch_geometric/pull/6560))
- Added bipartite graph support in `dense_to_sparse()` ([6546](https://github.com/pyg-team/pytorch_geometric/pull/6546))
- Add CPU affinity support for more data loaders ([6534](https://github.com/pyg-team/pytorch_geometric/pull/6534), [#6922](https://github.com/pyg-team/pytorch_geometric/pull/6922))
- Added the `BAMultiShapesDataset` ([6541](https://github.com/pyg-team/pytorch_geometric/pull/6541))
- Added the interfaces of a graph pooling framework ([6540](https://github.com/pyg-team/pytorch_geometric/pull/6540))
- Added automatic `n_id` and `e_id` attributes to mini-batches produced by `NodeLoader` and `LinkLoader` ([6524](https://github.com/pyg-team/pytorch_geometric/pull/6524))
- Added `PGMExplainer` to `torch_geometric.contrib` ([6149](https://github.com/pyg-team/pytorch_geometric/pull/6149), [#6588](https://github.com/pyg-team/pytorch_geometric/pull/6588), [#6589](https://github.com/pyg-team/pytorch_geometric/pull/6589))
- Added a `NumNeighbors` helper class for specifying the number of neighbors when sampling ([6501](https://github.com/pyg-team/pytorch_geometric/pull/6501), [#6505](https://github.com/pyg-team/pytorch_geometric/pull/6505), [#6690](https://github.com/pyg-team/pytorch_geometric/pull/6690))
- Added caching to `is_node_attr()` and `is_edge_attr()` calls ([6492](https://github.com/pyg-team/pytorch_geometric/pull/6492))
- Added `ToHeteroLinear` and `ToHeteroMessagePassing` modules to accelerate `to_hetero` functionality ([5992](https://github.com/pyg-team/pytorch_geometric/pull/5992), [#6456](https://github.com/pyg-team/pytorch_geometric/pull/6456))
- Added `GraphMaskExplainer` ([6284](https://github.com/pyg-team/pytorch_geometric/pull/6284))
- Added the `GRBCD` and `PRBCD` adversarial attack models ([5972](https://github.com/pyg-team/pytorch_geometric/pull/5972))
- Added `dropout` option to `SetTransformer` and `GraphMultisetTransformer` ([6484](https://github.com/pyg-team/pytorch_geometric/pull/6484))
- Added option to customize loader arguments for evaluation in `LightningNodeData` and `LightningLinkData` ([6450](https://github.com/pyg-team/pytorch_geometric/pull/6450), [#6456](https://github.com/pyg-team/pytorch_geometric/pull/6456))
- Added option to customize `num_neighbors` in `NeighborSampler` after instantiation ([6446](https://github.com/pyg-team/pytorch_geometric/pull/6446))
- Added the `Taobao` dataset and a corresponding example for it ([6144](https://github.com/pyg-team/pytorch_geometric/pull/6144))
- Added `pyproject.toml` ([6431](https://github.com/pyg-team/pytorch_geometric/pull/6431))
- Added the `torch_geometric.contrib` sub-package ([6422](https://github.com/pyg-team/pytorch_geometric/pull/6422))
- Warn on using latest documentation ([6418](https://github.com/pyg-team/pytorch_geometric/pull/6418))
- Added basic `pyright` type checker support ([6415](https://github.com/pyg-team/pytorch_geometric/pull/6415))
- Added a new external resource for link prediction ([6396](https://github.com/pyg-team/pytorch_geometric/pull/6396))
- Added `CaptumExplainer` ([6383](https://github.com/pyg-team/pytorch_geometric/pull/6383), [#6387](https://github.com/pyg-team/pytorch_geometric/pull/6387), [#6433](https://github.com/pyg-team/pytorch_geometric/pull/6433), [#6487](https://github.com/pyg-team/pytorch_geometric/pull/6487), [#6966](https://github.com/pyg-team/pytorch_geometric/pull/6966))
- Added support for custom `HeteroData` mini-batch class in remote backends ([6377](https://github.com/pyg-team/pytorch_geometric/pull/6377))
- Added the `GNNFF` model ([5866](https://github.com/pyg-team/pytorch_geometric/pull/5866))
- Added `MLPAggregation`, `SetTransformerAggregation`, `GRUAggregation`, and `DeepSetsAggregation` as adaptive readout functions ([6301](https://github.com/pyg-team/pytorch_geometric/pull/6301), [#6336](https://github.com/pyg-team/pytorch_geometric/pull/6336), [#6338](https://github.com/pyg-team/pytorch_geometric/pull/6338))
- Added `Dataset.to_datapipe` for converting PyG datasets into a torchdata `DataPipe`([6141](https://github.com/pyg-team/pytorch_geometric/pull/6141))
- Added `to_nested_tensor` and `from_nested_tensor` functionality ([6329](https://github.com/pyg-team/pytorch_geometric/pull/6329), [#6330](https://github.com/pyg-team/pytorch_geometric/pull/6330), [#6331](https://github.com/pyg-team/pytorch_geometric/pull/6331), [#6332](https://github.com/pyg-team/pytorch_geometric/pull/6332))
- Added the `GPSConv` Graph Transformer layer and example ([6326](https://github.com/pyg-team/pytorch_geometric/pull/6326), [#6327](https://github.com/pyg-team/pytorch_geometric/pull/6327))
- Added `networkit` conversion utilities ([6321](https://github.com/pyg-team/pytorch_geometric/pull/6321))
- Added global dataset attribute access via `dataset.{attr_name}` ([6319](https://github.com/pyg-team/pytorch_geometric/pull/6319))
- Added the `TransE` KGE model and example ([6314](https://github.com/pyg-team/pytorch_geometric/pull/6314))
- Added the Freebase `FB15k_237` dataset ([3204](https://github.com/pyg-team/pytorch_geometric/pull/3204))
- Added `Data.update()` and `HeteroData.update()` functionality ([6313](https://github.com/pyg-team/pytorch_geometric/pull/6313))
- Added `PGExplainer` ([6204](https://github.com/pyg-team/pytorch_geometric/pull/6204))
- Added the `AirfRANS` dataset ([6287](https://github.com/pyg-team/pytorch_geometric/pull/6287))
- Added `AttentionExplainer` ([6279](https://github.com/pyg-team/pytorch_geometric/pull/6279))
- Added (un)faithfulness explainability metric ([6090](https://github.com/pyg-team/pytorch_geometric/pull/6090))
- Added fidelity explainability metric ([6116](https://github.com/pyg-team/pytorch_geometric/pull/6116), [#6510](https://github.com/pyg-team/pytorch_geometric/pull/6510))
- Added subgraph visualization of GNN explanations ([6235](https://github.com/pyg-team/pytorch_geometric/pull/6235), [#6271](https://github.com/pyg-team/pytorch_geometric/pull/6271))
- Added weighted negative sampling option in `LinkNeighborLoader` ([6264](https://github.com/pyg-team/pytorch_geometric/pull/6264))
- Added the `BA2MotifDataset` explainer dataset ([6257](https://github.com/pyg-team/pytorch_geometric/pull/6257))
- Added `CycleMotif` motif generator to generate `n`-node cycle shaped motifs ([6256](https://github.com/pyg-team/pytorch_geometric/pull/6256))
- Added the `InfectionDataset` to evaluate explanations ([6222](https://github.com/pyg-team/pytorch_geometric/pull/6222))
- Added `characterization_score` and `fidelity_curve_auc` explainer metrics ([6188](https://github.com/pyg-team/pytorch_geometric/pull/6188))
- Added `get_message_passing_embeddings` ([6201](https://github.com/pyg-team/pytorch_geometric/pull/6201))
- Added the `PointGNNConv` layer ([6194](https://github.com/pyg-team/pytorch_geometric/pull/6194))
- Added `GridGraph` graph generator to generate grid graphs ([6220](https://github.com/pyg-team/pytorch_geometric/pull/6220)
- Added explainability metrics for when ground truth is available ([6137](https://github.com/pyg-team/pytorch_geometric/pull/6137))
- Added `visualize_feature_importance` to support node feature visualizations ([6094](https://github.com/pyg-team/pytorch_geometric/pull/6094))
- Added heterogeneous graph support to `Explanation` framework ([6091](https://github.com/pyg-team/pytorch_geometric/pull/6091), [#6218](https://github.com/pyg-team/pytorch_geometric/pull/6218))
- Added a `CustomMotif` motif generator ([6179](https://github.com/pyg-team/pytorch_geometric/pull/6179))
- Added `ERGraph` graph generator to generate Ergos-Renyi (ER) graphs ([6073](https://github.com/pyg-team/pytorch_geometric/pull/6073))
- Added `BAGraph` graph generator to generate Barabasi-Albert graphs - the usage of `datasets.BAShapes` is now deprecated ([6072](https://github.com/pyg-team/pytorch_geometric/pull/6072)
- Added explainability benchmark dataset framework ([6104](https://github.com/pyg-team/pytorch_geometric/pull/6104))
- Added `seed_time` attribute to temporal `NodeLoader` outputs in case `input_time` is given ([6196](https://github.com/pyg-team/pytorch_geometric/pull/6196))
- Added `Data.edge_subgraph` and `HeteroData.edge_subgraph` functionalities ([6193](https://github.com/pyg-team/pytorch_geometric/pull/6193))
- Added `input_time` option to `LightningNodeData` and `transform_sampler_output` to `NodeLoader` and `LinkLoader` ([6187](https://github.com/pyg-team/pytorch_geometric/pull/6187))
- Added `summary` for PyG/PyTorch models ([5859](https://github.com/pyg-team/pytorch_geometric/pull/5859), [#6161](https://github.com/pyg-team/pytorch_geometric/pull/6161))
- Started adding `torch.sparse` support to PyG ([5906](https://github.com/pyg-team/pytorch_geometric/pull/5906), [#5944](https://github.com/pyg-team/pytorch_geometric/pull/5944), [#6003](https://github.com/pyg-team/pytorch_geometric/pull/6003), [#6033](https://github.com/pyg-team/pytorch_geometric/pull/6033), [#6514](https://github.com/pyg-team/pytorch_geometric/pull/6514), [#6532](https://github.com/pyg-team/pytorch_geometric/pull/6532), [#6748](https://github.com/pyg-team/pytorch_geometric/pull/6748), [#6847](https://github.com/pyg-team/pytorch_geometric/pull/6847), [#6868](https://github.com/pyg-team/pytorch_geometric/pull/6868), [#6874](https://github.com/pyg-team/pytorch_geometric/pull/6874), [#6897](https://github.com/pyg-team/pytorch_geometric/pull/6897), [#6930](https://github.com/pyg-team/pytorch_geometric/pull/6930), [#6932](https://github.com/pyg-team/pytorch_geometric/pull/6932), [#6936](https://github.com/pyg-team/pytorch_geometric/pull/6936), [#6937](https://github.com/pyg-team/pytorch_geometric/pull/6937), [#6939](https://github.com/pyg-team/pytorch_geometric/pull/6939), [#6947](https://github.com/pyg-team/pytorch_geometric/pull/6947), [#6950](https://github.com/pyg-team/pytorch_geometric/pull/6950), [#6951](https://github.com/pyg-team/pytorch_geometric/pull/6951), [#6957](https://github.com/pyg-team/pytorch_geometric/pull/6957))
- Add `inputs_channels` back in training benchmark ([6154](https://github.com/pyg-team/pytorch_geometric/pull/6154))
- Added support for dropping nodes in `utils.to_dense_batch` in case `max_num_nodes` is smaller than the number of nodes ([6124](https://github.com/pyg-team/pytorch_geometric/pull/6124))
- Added the RandLA-Net architecture as an example ([5117](https://github.com/pyg-team/pytorch_geometric/pull/5117))
Changed
- Migrate to `pyproject.toml` for packaging ([6880](https://github.com/pyg-team/pytorch_geometric/pull/6880))
- Drop internal usage of `__dunder__` names ([6999](https://github.com/pyg-team/pytorch_geometric/issues/6999))
- Changed the interface of `sort_edge_index`, `coalesce` and `to_undirected` to only return single `edge_index` information in case the `edge_attr` argument is not specified ([6875](https://github.com/pyg-team/pytorch_geometric/issues/6875), [#6879](https://github.com/pyg-team/pytorch_geometric/issues/6879), [#6893](https://github.com/pyg-team/pytorch_geometric/issues/6893))
- Fixed a bug in `to_hetero` when using an uninitialized submodule without implementing `reset_parameters` ([6863](https://github.com/pyg-team/pytorch_geometric/issues/6790))
- Fixed a bug in `get_mesh_laplacian` ([6790](https://github.com/pyg-team/pytorch_geometric/issues/6790))
- Fixed a bug in which masks were not properly masked in `GNNExplainer` on link prediction tasks ([6787](https://github.com/pyg-team/pytorch_geometric/pull/6787))
- Allow the usage of `ChebConv` within `GNNExplainer` ([6778](https://github.com/pyg-team/pytorch_geometric/pull/6778))
- Allow setting the `EdgeStorage.num_edges` property ([6710](https://github.com/pyg-team/pytorch_geometric/pull/6710))
- Fixed a bug in `utils.bipartite_subgraph()` and updated docs of `HeteroData.subgraph()` ([6654](https://github.com/pyg-team/pytorch_geometric/pull/6654))
- Properly reset the `data_list` cache of an `InMemoryDataset` when accessing `dataset.data` ([6685](https://github.com/pyg-team/pytorch_geometric/pull/6685))
- Fixed a bug in `Data.subgraph()` and `HeteroData.subgraph()` ([6613](https://github.com/pyg-team/pytorch_geometric/pull/6613))
- Fixed a bug in `PNAConv` and `DegreeScalerAggregation` to correctly incorporate degree statistics of isolated nodes ([6609](https://github.com/pyg-team/pytorch_geometric/pull/6609))
- Improved code coverage ([6523](https://github.com/pyg-team/pytorch_geometric/pull/6523), [#6538](https://github.com/pyg-team/pytorch_geometric/pull/6538), [#6555](https://github.com/pyg-team/pytorch_geometric/pull/6555), [#6558](https://github.com/pyg-team/pytorch_geometric/pull/6558), [#6568](https://github.com/pyg-team/pytorch_geometric/pull/6568), [#6573](https://github.com/pyg-team/pytorch_geometric/pull/6573), [#6578](https://github.com/pyg-team/pytorch_geometric/pull/6578), [#6597](https://github.com/pyg-team/pytorch_geometric/pull/6597), [#6600](https://github.com/pyg-team/pytorch_geometric/pull/6600), [#6618](https://github.com/pyg-team/pytorch_geometric/pull/6618), [#6619](https://github.com/pyg-team/pytorch_geometric/pull/6619), [#6621](https://github.com/pyg-team/pytorch_geometric/pull/6621), [#6623](https://github.com/pyg-team/pytorch_geometric/pull/6623), [#6637](https://github.com/pyg-team/pytorch_geometric/pull/6637), [#6638](https://github.com/pyg-team/pytorch_geometric/pull/6638), [#6640](https://github.com/pyg-team/pytorch_geometric/pull/6640), [#6645](https://github.com/pyg-team/pytorch_geometric/pull/6645), [#6648](https://github.com/pyg-team/pytorch_geometric/pull/6648), [#6647](https://github.com/pyg-team/pytorch_geometric/pull/6647), [#6653](https://github.com/pyg-team/pytorch_geometric/pull/6653), [#6657](https://github.com/pyg-team/pytorch_geometric/pull/6657), [#6662](https://github.com/pyg-team/pytorch_geometric/pull/6662), [#6664](https://github.com/pyg-team/pytorch_geometric/pull/6664), [#6667](https://github.com/pyg-team/pytorch_geometric/pull/6667), [#6668](https://github.com/pyg-team/pytorch_geometric/pull/6668), [#6669](https://github.com/pyg-team/pytorch_geometric/pull/6669), [#6670](https://github.com/pyg-team/pytorch_geometric/pull/6670), [#6671](https://github.com/pyg-team/pytorch_geometric/pull/6671), [#6673](https://github.com/pyg-team/pytorch_geometric/pull/6673), [#6675](https://github.com/pyg-team/pytorch_geometric/pull/6675), [#6676](https://github.com/pyg-team/pytorch_geometric/pull/6676), [#6677](https://github.com/pyg-team/pytorch_geometric/pull/6677), [#6678](https://github.com/pyg-team/pytorch_geometric/pull/6678), [#6681](https://github.com/pyg-team/pytorch_geometric/pull/6681), [#6683](https://github.com/pyg-team/pytorch_geometric/pull/6683), [#6703](https://github.com/pyg-team/pytorch_geometric/pull/6703), [#6720](https://github.com/pyg-team/pytorch_geometric/pull/6720), [#6735](https://github.com/pyg-team/pytorch_geometric/pull/6735), [#6736](https://github.com/pyg-team/pytorch_geometric/pull/6736), [#6763](https://github.com/pyg-team/pytorch_geometric/pull/6763), [#6781](https://github.com/pyg-team/pytorch_geometric/pull/6781), [#6797](https://github.com/pyg-team/pytorch_geometric/pull/6797), [#6799](https://github.com/pyg-team/pytorch_geometric/pull/6799), [#6824](https://github.com/pyg-team/pytorch_geometric/pull/6824), [#6858](https://github.com/pyg-team/pytorch_geometric/pull/6858))
- Fixed a bug in which `data.to_heterogeneous()` filtered attributs in the wrong dimension ([6522](https://github.com/pyg-team/pytorch_geometric/pull/6522))
- Breaking Change: Temporal sampling will now also sample nodes with an equal timestamp to the seed time (requires `pyg-lib>0.1.0`) ([6517](https://github.com/pyg-team/pytorch_geometric/pull/6517))
- Changed `DataLoader` workers with affinity to start at `cpu0` ([6512](https://github.com/pyg-team/pytorch_geometric/pull/6512))
- Allow 1D input to `global_*_pool` functions ([6504](https://github.com/pyg-team/pytorch_geometric/pull/6504))
- Add information about dynamic shapes in `RGCNConv` ([6482](https://github.com/pyg-team/pytorch_geometric/pull/6482))
- Fixed the use of types removed in `numpy 1.24.0` ([6495](https://github.com/pyg-team/pytorch_geometric/pull/6495))
- Fixed keyword parameters in `examples/mnist_voxel_grid.py` ([6478](https://github.com/pyg-team/pytorch_geometric/pull/6478))
- Unified `LightningNodeData` and `LightningLinkData` code paths ([6473](https://github.com/pyg-team/pytorch_geometric/pull/6473))
- Allow indices with any integer type in `RGCNConv` ([6463](https://github.com/pyg-team/pytorch_geometric/pull/6463))
- Re-structured the documentation ([6420](https://github.com/pyg-team/pytorch_geometric/pull/6420), [#6423](https://github.com/pyg-team/pytorch_geometric/pull/6423), [#6429](https://github.com/pyg-team/pytorch_geometric/pull/6429), [#6440](https://github.com/pyg-team/pytorch_geometric/pull/6440), [#6443](https://github.com/pyg-team/pytorch_geometric/pull/6443), [#6445](https://github.com/pyg-team/pytorch_geometric/pull/6445), [#6452](https://github.com/pyg-team/pytorch_geometric/pull/6452), [#6453](https://github.com/pyg-team/pytorch_geometric/pull/6453), [#6458](https://github.com/pyg-team/pytorch_geometric/pull/6458), [#6459](https://github.com/pyg-team/pytorch_geometric/pull/6459), [#6460](https://github.com/pyg-team/pytorch_geometric/pull/6460), [#6490](https://github.com/pyg-team/pytorch_geometric/pull/6490), [#6491](https://github.com/pyg-team/pytorch_geometric/pull/6491), [#6693](https://github.com/pyg-team/pytorch_geometric/pull/6693), [#6744](https://github.com/pyg-team/pytorch_geometric/pull/6744))
- Fix the default arguments of `DataParallel` class ([6376](https://github.com/pyg-team/pytorch_geometric/pull/6376))
- Fix `ImbalancedSampler` on sliced `InMemoryDataset` ([6374](https://github.com/pyg-team/pytorch_geometric/pull/6374))
- Breaking Change: Changed the interface and implementation of `GraphMultisetTransformer` ([6343](https://github.com/pyg-team/pytorch_geometric/pull/6343))
- Fixed the approximate PPR variant in `transforms.GDC` to not crash on graphs with isolated nodes ([6242](https://github.com/pyg-team/pytorch_geometric/pull/6242))
- Added a warning when accesing `InMemoryDataset.data` ([6318](https://github.com/pyg-team/pytorch_geometric/pull/6318))
- Drop `SparseTensor` dependency in `GraphStore` ([5517](https://github.com/pyg-team/pytorch_geometric/pull/5517))
- Replace `NeighborSampler` with `NeighborLoader` in the distributed sampling example ([6204](https://github.com/pyg-team/pytorch_geometric/pull/6307))
- Fixed the filtering of node features in `transforms.RemoveIsolatedNodes` ([6308](https://github.com/pyg-team/pytorch_geometric/pull/6308))
- Fixed a bug in `DimeNet` that causes a output dimension mismatch ([6305](https://github.com/pyg-team/pytorch_geometric/pull/6305))
- Fixed `Data.to_heterogeneous()` with empty `edge_index` ([6304](https://github.com/pyg-team/pytorch_geometric/pull/6304))
- Unify `Explanation.node_mask` and `Explanation.node_feat_mask` ([6267](https://github.com/pyg-team/pytorch_geometric/pull/6267))
- Moved thresholding config of the `Explainer` to `Explanation` ([6215](https://github.com/pyg-team/pytorch_geometric/pull/6215))
- Fixed a bug in the output order in `HeteroLinear` for un-sorted type vectors ([6198](https://github.com/pyg-team/pytorch_geometric/pull/6198))
- Breaking Change: Move `ExplainerConfig` arguments to the `Explainer` class ([6176](https://github.com/pyg-team/pytorch_geometric/pull/6176))
- Refactored `NeighborSampler` to be input-type agnostic ([6173](https://github.com/pyg-team/pytorch_geometric/pull/6173))
- Infer correct CUDA device ID in `profileit` decorator ([6164](https://github.com/pyg-team/pytorch_geometric/pull/6164))
- Correctly use edge weights in `GDC` example ([6159](https://github.com/pyg-team/pytorch_geometric/pull/6159))
- Breaking Change: Moved PyTorch Lightning data modules to `torch_geometric.data.lightning` ([6140](https://github.com/pyg-team/pytorch_geometric/pull/6140))
- Make `torch_sparse` an optional dependency ([6132](https://github.com/pyg-team/pytorch_geometric/pull/6132), [#6134](https://github.com/pyg-team/pytorch_geometric/pull/6134), [#6138](https://github.com/pyg-team/pytorch_geometric/pull/6138), [#6139](https://github.com/pyg-team/pytorch_geometric/pull/6139), [#7387](https://github.com/pyg-team/pytorch_geometric/pull/7387))
- Optimized `utils.softmax` implementation ([6113](https://github.com/pyg-team/pytorch_geometric/pull/6113), [#6155](https://github.com/pyg-team/pytorch_geometric/pull/6155), [#6805](https://github.com/pyg-team/pytorch_geometric/pull/6805))
- Optimized `topk` implementation for large enough graphs ([6123](https://github.com/pyg-team/pytorch_geometric/pull/6123))
Removed
- `torch-sparse` is now an optional dependency ([6625](https://github.com/pyg-team/pytorch_geometric/pull/6625), [#6626](https://github.com/pyg-team/pytorch_geometric/pull/6626), [#6627](https://github.com/pyg-team/pytorch_geometric/pull/6627), [#6628](https://github.com/pyg-team/pytorch_geometric/pull/6628), [#6629](https://github.com/pyg-team/pytorch_geometric/pull/6629), [#6630](https://github.com/pyg-team/pytorch_geometric/pull/6630))
- Removed most of the `torch-scatter` dependencies ([6394](https://github.com/pyg-team/pytorch_geometric/pull/6394), [#6395](https://github.com/pyg-team/pytorch_geometric/pull/6395), [#6399](https://github.com/pyg-team/pytorch_geometric/pull/6399), [#6400](https://github.com/pyg-team/pytorch_geometric/pull/6400), [#6615](https://github.com/pyg-team/pytorch_geometric/pull/6615), [#6617](https://github.com/pyg-team/pytorch_geometric/pull/6617))
- Removed the deprecated classes `GNNExplainer` and `Explainer` from `nn.models` ([6382](https://github.com/pyg-team/pytorch_geometric/pull/6382))
- Removed `target_index` argument in the `Explainer` interface ([6270](https://github.com/pyg-team/pytorch_geometric/pull/6270))
- Removed `Aggregation.set_validate_args` option ([6175](https://github.com/pyg-team/pytorch_geometric/pull/6175))