# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.5.0] - 2026-03-02

Initial public release.

### Added

- **Driver** — `PiggieDriver` with `cypher()`, `sql()`, `vector_search()`, `hybrid_search()` methods
- **Connection pooling** — psycopg3 connection pool with automatic AGE setup
- **Result handling** — `Result`/`Record` with `to_df()`, `to_dicts()`, `to_arrow()`, `expand=True`
- **Type system** — `Vertex`, `Edge`, `Path` frozen dataclasses with agtype wire format parsing
- **Cypher translation** — Two-step AGE execution pattern (LOAD + SET search_path + cypher())
- **Vector search** — pgvector k-NN search and HNSW/IVFFlat index management
- **Hybrid search** — `graph_then_vector` and `vector_then_graph` combined query strategies
- **Schema discovery** — Graph schema introspection and vector index discovery
- **Graph algorithms** (19 algorithms, 7 categories):
  - Centrality: degree, betweenness, closeness, eigenvector, harmonic
  - Community: Louvain, label propagation, greedy modularity, Leiden
  - Ranking: PageRank
  - Pathfinding: shortest path, all shortest paths, Dijkstra
  - Similarity: Jaccard, Adamic-Adar, common neighbors
  - Link prediction: preferential attachment, resource allocation
  - Embeddings: Node2Vec
- **Multi-backend algorithm dispatch** — auto-selects igraph (C), networkit (C++), or NetworkX (Python)
- **Framework integrations**:
  - LangChain: `PiggieVectorStore`, `PiggieGraphStore`
  - LlamaIndex: `PiggieGraphStore` (triplets), `PiggiePropertyGraphStore` (labeled property graph)
  - NetworkX: `to_networkx()` conversion
  - PyTorch Geometric: `FeatureStore`, `GraphStore` for GNN training
- **Jupyter notebooks** (6): quickstart, hybrid search, bulk load, algorithms, RAG pipeline, GNN training

[0.5.0]: https://github.com/gregfelice/piggie/releases/tag/v0.5.0
