What's Changed
- Bump version to 1.0.2.
- Document Pass 2c tree correctness audit.
- Add BinaryTree two-child delete throw and enumerate oracle.
- Add Tree single-child promote-on-delete oracle.
- Add SuffixTree shared-suffix delete oracle.
- Add Trie prefix-delete and enumerate oracle.
- Add QuadTree range-search and delete oracle.
- Add KdTree insert/delete/range enumerate oracle.
- Add RangeTree brute-force range-search oracle.
- Add IntervalTree brute-force overlap oracle.
- Add BpTree SortedSet insert/delete/enumerate oracle with height invariants.
- Add TreapTree SortedSet insert/delete/enumerate oracle.
- Add SplayTree SortedSet insert/delete/enumerate oracle.
- Add RedBlackTree SortedSet insert/delete/enumerate oracle.
- Add AvlTree SortedSet insert/delete/enumerate oracle.
- Add BST SortedSet insert/delete/enumerate oracle.
- Document Pass 2b graph representation correctness audit.
- Fix AdjacencyMatrix WeightedDiGraph stale GetOutEdge index after resize.
- Fix AdjacencyMatrix WeightedGraph Clone and stale GetEdge index.
- Add AdjacencyMatrix DiGraph vertex-0 clone/enumerate oracle.
- Fix AdjacencyMatrix Graph.Clone double-adding undirected edges.
- Fix BTree enumerator to yield keys in sorted order.
- Fix TernarySearchTree Contains to match the last character.
- Fix SegmentTree empty-input overflow; add range oracles.
- Fix FenwickTree Construct to update the last BIT index.
- Add AdjacencyList WeightedDiGraph vertex-0 weight clone oracle.
- Fix AdjacencyList WeightedGraph self-loop and Clone double-add.
- Add AdjacencyList DiGraph vertex-0 clone/enumerate oracle.
- Fix AdjacencyList Graph.Clone double-adding undirected edges.
- Document Pass 2a-2 hash/set/heap correctness audit.
- Fix PairingHeap empty Extract and Merge mapping; add extract/merge oracles.
- Fix FibonacciHeap.Merge mapping and min tracker; add extract/merge oracles.
- Fix BinomialHeap.Merge to transfer heapMapping; add extract/merge oracles.
- Add D-aryHeap extract-order oracle; no impl change.
- Add BHeap extract-order oracle; no impl change.
- Harden BloomFilter hash against int.MinValue; add no-false-negative oracle.
- Add DisJointSet connectivity oracle; no impl change.
- Fix SparseSet Clear and duplicate Add; add HashSet oracle.
- Document Pass 2a-1 list/stack/queue correctness audit.
- Fix Dictionary indexer insert and int.MinValue hash; add System.Dictionary oracles.
- Add PriorityQueue extract-order oracle vs sorted List.
- Add Queue enqueue/dequeue oracle vs System.Collections.Generic.Queue.
- Add Stack push/pop/peek oracle vs System.Collections.Generic.Stack.
- Fix HashSet Math.Abs(int.MinValue) overflow; add System.HashSet/SortedSet oracles.
- Fix CircularLinkedList Union splice and enumerator Reset; add oracles.
- Fix DoublyLinkedList enumerator Reset; add List oracle.
- Fix SinglyLinkedList enumerator Reset; add List oracle.
- Fix SkipList duplicate check for default(T); add SortedSet oracle.
- Fix ArrayList negative-index and RemoveAt shift bounds; add List oracle.
- Document Graph MST/SP/Flow/Cut correctness audit (second half).
- Add MinCut capacity cross-oracle against Edmonds-Karp max flow.
- Add Floyd-Warshall all-pairs cross-oracle against Dijkstra.
- Add Dijkstra length cross-oracles against Bellman-Ford and Floyd-Warshall.
- Add Prim MST weight cross-oracle against Kruskal on shared graph.
- Add Kruskal MST weight cross-oracle against Prim on shared graph.
- Fix Push-Relabel residual graph for antiparallel edges; add max-flow cross-oracles.
- Fix Edmonds-Karp residual graph for antiparallel edges; add max-flow cross-oracles.
- Fix Ford-Fulkerson residual graph for antiparallel edges; add max-flow cross-oracles.
- Fix TSP DP cache key omitting visited set; add brute-force oracles.
- Fix A* heap ordering to use f=g+h instead of h alone; add Dijkstra oracles.
- Fix Johnsons missing d'+h(v)-h(u) distance conversion; add Bellman-Ford cross-oracle.
- Fix Bellman-Ford unreachable negative-cycle check that hung TracePath; add Dijkstra cross-oracle.
- Document Geometry correctness audit results.
- Fix BentleyOttmann Event.CompareTo null sweepline intersects.
- Add PointRotation 90/180/270 oracle tests.
- Add RectangleIntersection hand-case oracle tests.
- Add ClosestPointPair brute-force oracle tests.
- Fix LineIntersection missing diagonal collinear overlaps.
- Fix ConvexHull empty input and collinear edge midpoints.
- Fix HopcroftKarp BFS visit/matched-edge walk; add size oracles.
- Add BiPartiteMatching known-size augmenting-path oracle.
- Fix MinVertexCover to cover edges in all components.
- Fix MColorer duplicate-color crash on uncolorable graphs.
- Require connectivity for Tarjan bi-connected check.
- Add Tarjan SCC hand-fixture cross-check vs Kosaraju.
- Add Kosaraju SCC hand-fixture component oracle tests.
- Fix Tarjan bridge finder across disconnected components.
- Fix Tarjan articulation finder across disconnected components.
- Add CycleDetection self-loop and DAG oracle tests.
- Detect cycles in DepthFirstTopSort instead of emitting invalid order.
- Fix Kahn topo sort duplicate enqueue and missed cycle detection.
- Fix BiDirectional digraph search to walk in-edges from destination.
- Fix BreadthFirst to search all connected components.
- Fix PointInsidePolygon skipping the last polygon edge.
- Fix DepthFirst to search all connected components.
- Add TreeSort Array.Sort oracles and document duplicate-key throws.
- Reject BucketSort bucketSize 0 on non-empty input; add Array.Sort oracles.
- Fix RadixSort empty-input Max() crash and add Array.Sort oracles.
- Fix CountingSort empty-input overflow and add Array.Sort oracles.
- Add HeapSort Array.Sort oracle tests on shared fixtures.
- Add QuickSort Array.Sort oracle tests on shared fixtures.
- Add MergeSort Array.Sort oracle tests on shared fixtures.
- Add ShellSort Array.Sort oracle tests on shared fixtures.
- Add SelectionSort Array.Sort oracle tests on shared fixtures.
- Add InsertionSort Array.Sort oracle tests on shared fixtures.
- Add BubbleSort Array.Sort oracle tests on shared fixtures.
- Add Huffman codebook roundtrip, prefix-free, and length sanity tests.
- Add QuickSelect oracle tests against sorted[k-1].
- Add BoyerMoore majority oracle tests against element counts.
- Fix BinarySearch empty-array crash and add index oracle tests.
- Add Subset power-set and per-size binomial oracle tests.
- Add Permutation count oracles for P(n,r) and n^r.
- Add Combination count oracles for C(n,k) and with-repetition.
- Add FastExponentiation oracle tests against Math.Pow.
- Add PrimeGenerator sieve oracle and IsPrime cross-check tests.
- Add PrimeTester oracle coverage against known primes to 100.
- Add BaseConversion round-trip oracle tests for common bases.
- Fix base-10 floor log via continuous log ratio and add Math oracles.
- Add ConsistentHash adversarial remap tests for add/remove stability.
- Preserve AsyncQueue values when a waiting consumer is cancelled.
- Fix LRU Put to update existing keys without throwing or wrong eviction.
- Fix circular queue wrap, size-1 dequeue, and default-value bulk reporting.
- Return -1 from Rabin-Karp when pattern is longer than input.
- Add adversarial IndexOf oracle coverage for KMP search.
- Fix Z-algorithm false matches by separating pattern from text.
- Fix GCD sign for gcd(a,0) and add Euclidean oracle tests.
- Fix Manacher longest-palindrome undercount and add brute-force oracle tests.
- Add AdjacencyList, FordFulkerson, BST, and IntervalTree coverage tests.
- Exclude intentional parallel teaching structures from CPD.
- Add FibonacciHeap, BHeap, and linked-list corner-case tests.
- Cover SeparateChaining, BST, and AVLTree edge paths in tests.
- Add IntervalTree and AdjacencyMatrix corner-case coverage tests.
- Mark remaining utility members static to clear S1118/S2325.
- Clear remaining Sonar S2325/S2955/S3358 warnings with minimal teaching-safe edits.
- Ignore a few more Sonar rules that fight teaching-style graph and tree code.
- Align graph parameter names and replace dead GetVertex null checks.
- Clear leftover Sonar issues in heaps, Huffman, Rabin-Karp, and line intersection.
- Ignore Sonar rules that force awkward teaching-code rewrites.
- Allow graph vertex 0 again after Sonar null-check cleanup.
- Complete IntervalTree Sonar braces, merge-if, and IComparable operators.
- Fix TernarySearchTree Sonar issues and add corner-case tests.
- Fix SuffixTree Sonar issues and add corner-case tests.
- Fix Trie Sonar issues and add corner-case tests.
- Fix QuadTree Sonar issues and add corner-case tests.
- Fix RTree Sonar issues and add corner-case tests.
- Fix RangeTree Sonar issues and add corner-case tests.
- Fix KdTree Sonar issues and add corner-case tests.
- Fix IntervalTree Sonar issues and add corner-case tests.
- Fix FenwickTree Sonar issues and add corner-case tests.
- Fix SegmentTree Sonar issues and add corner-case tests.
- Fix BpTree Sonar issues and add corner-case tests.
- Fix BTree Sonar issues and add corner-case tests.
- Fix TreapTree Sonar issues and add corner-case tests.
- Fix SplayTree Sonar issues and add corner-case tests.
- Fix RedBlackTree Sonar issues and add corner-case tests.
- Fix AvlTree Sonar issues and add corner-case tests.
- Fix BST Sonar issues and add corner-case tests.
- Fix BinaryTree Sonar issues and add corner-case tests.
- Fix Tree Sonar issues and add corner-case tests.
- Fix Tree Shared Sonar issues for static helpers, Dispose, and null checks.
- Add Dictionary corner-case tests for empty, collision, remove, and resize paths.
- Fix OrderedDictionary Sonar issues and add corner-case tests.
- Fix SeparateChainingDictionary Sonar issues for exceptions, nesting, and Dispose.
- Fix OpenAddressDictionary Sonar issues for exceptions, static hash, and Dispose.
- Throw ArgumentException for invalid Dictionary bucket size.
- Add OrderedHashSet corner-case tests for empty and ordered navigation.
- Add HashSet corner-case tests for empty, collision, remove, and resize paths.
- Fix SeparateChainingHashSet Sonar issues for exceptions, unused code, and Dispose.
- Fix OpenAddressHashSet Sonar issues for exceptions, static hash, and Dispose.
- Throw ArgumentException for invalid HashSet bucket size.
- Fix AdjacencyMatrix WeightedDiGraph Sonar issues and corner-case tests.
- Fix AdjacencyMatrix WeightedGraph Sonar issues and corner-case tests.
- Fix AdjacencyMatrix DiGraph Sonar issues and corner-case tests.
- Fix AdjacencyMatrix Graph Sonar issues and corner-case tests.
- Fix CircularLinkedList Sonar issues for exceptions, fields, and Dispose.
- Fix AdjacencyList WeightedDiGraph Sonar issues and corner-case tests.
- Fix AdjacencyList WeightedGraph Sonar issues and corner-case tests.
- Fix AdjacencyList DiGraph Sonar issues and corner-case tests.
- Fix DoublyLinkedList Sonar issues for exceptions, fields, and Dispose.
- Fix SinglyLinkedList Sonar issues and DeleteLast single-node NRE.
- Throw ArgumentException for SkipList duplicates and missing deletes.
- Fix AdjacencyList Graph Sonar issues and corner-case tests.
- Drop unused IComparable from heap node types.
- Simplify boolean checks in BloomFilter and SparseSet.
- Make Fibonacci and Pairing heap helpers static.
- Throw ArgumentException for invalid ArrayList size and index.
- Tighten Heap and Set exception types.
- Throw InvalidOperationException when Kahn detects a cycle.
- Fix ShortestPath Sonar issues across path algorithms.
- Make BFS helpers static in graph Search algorithms.
- Make Prims DFS helper static.
- Tighten Matching exceptions and make Hopcroft helpers static.
- Fix Flow algorithm Sonar issues including PushRelabel overflow.
- Merge nested cycle-detection visit guards.
- Tighten MinCut operator check and brace nested loops.
- Make Kosaraju ReverseEdges static and brace nested loops.
- Make MColorer helpers void/static for Sonar.
- Simplify boolean check in Tarjan bridge finder.
- Simplify boolean checks in Tarjan articulation finder.
- Make RectangleIntersection static and cover touching, disjoint, and invalid rectangle edges.
- Make PointRotation static and cover zero-angle and full-turn edges.
- Make PointInsidePolygon static and cover square inside/outside edges.
- Fix ClosestPointPair divide-and-conquer bounds and loops.
- Fix BentleyOttmann Event hashing and sweep float compares.
- Tighten LineIntersection float checks and exception type.
- Throw ArgumentException for invalid Rectangle corners.
- Store Line tolerance and fix vertical slope check.
- Use DoubleExtensions for Geometry comparer float equality.
- Throw ArgumentException for invalid LruCache capacity and cover miss/capacity-one edges.
- Make ConsistentHash.NextClockWise static and throw ArgumentException on unknown remove.
- Use InvalidOperationException for empty CircularQueue dequeue and cover bulk edges.
- Pass CancellationToken into AsyncQueue TrySetCanceled and cover FIFO/cancel edges.
- Fix Sorting Sonar issues and add corner-case tests.
- Fix String Sonar issues and add corner-case tests.
- Mark Numerical helpers static, fix sieve sqrt bound, and cover corner cases.
- Fix Search Sonar issues and add corner-case tests.
- Tighten Binary helpers for Sonar and edge-case tests.
- Make HuffmanCoding.ComputeFrequency static and add corner-case tests.
- Mark Combinatorics helpers static and cover empty, single-element, and r-boundary cases.
- Fix PriorityQueue enumeration overflowing the call stack.
- Fix Queue enumeration overflowing the call stack.
- Fix Stack enumeration overflowing the call stack.
- Stop SonarCloud from analyzing generated docs and CI files.
- Keep Build, NuGet, and download badges at the top of the README and move SonarCloud metrics to a Code quality section at the end.
- Add SECURITY.md matching Titanium Web Proxy vulnerability reporting policy.
- Ignore local VS Code, OmniSharp, and JetBrains tooling files.
- Improve GitHub release notes when generate-notes has no PR changelog.
- Remove per-repo FUNDING.yml; inherit account-level Sponsors config from justcoding121/.github.
- Use minimal valid GitHub Sponsors FUNDING.yml.
- Create FUNDING.yml
- Remove sonar qube files
- Remove sonar qube junk files
- Update dotnetcore.yml
- Update documentation
- Setup sonar cloud
- Update README.md
Full Changelog: 1.0.1...1.0.2