Skip to content

1.0.2

Latest

Choose a tag to compare

@github-actions github-actions released this 09 Sep 14:35

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