api-diff
api-diff copied to clipboard
Print API diffs between library versions
**Scenario** One var can be defined differently for different langs. A contrived example: ```Clojure #?(:cljs (defn mixed [a cljs sig]) :clj (defn mixed [a different clj sig])) ``` A real-world...
## Context It is a common desire/need to avoid inflicting breakage to one's downstream consumers. It can be hard to consistently avoid this in authoring / code review phases. ##...
**Proposal** Optionally return api-diff result as a map. - the code would benefit from separating reporting from analysis - the user would benefit from being able to use the result...
If v1 has ```Clojure (defn becomes-def []) ``` And v2 has: ```Clojure (def becomes-def 42) ``` An arity 0 deletion is currently reported. This is an indicator of breakage and...
**Proposal** Api-diff currently shows what has been removed. The (very worthy) focus, it seems, is on discovering breakages. It can also be interesting to see what was added to an...
When v1 has ```Clojure (defn variadic-loss [a b c & more]) ``` And v2 has ```Clojure (defn variadic-loss [a b]) ``` The loss of the variadic signature could be reported,...
**Proposal** Some libraries expose a different API for different dialects of Clojure. It could be interesting to allow comparison of API by Clojure dialect. Vested interest examples: - How does...
It would be nice to add to the README a few words about what is considered a breaking change.