Skip to content

Releases: JuliaDiff/ChainRulesCore.jl

v1.2.0

02 Aug 20:11
88df0b4

Choose a tag to compare

ChainRulesCore v1.2.0

Diff since v1.1.0

Closed issues:

  • ProjectTo(::Array{Irrational}) gives zero (#423)

Merged pull requests:

v1.1.0

02 Aug 12:19
cfe3a81

Choose a tag to compare

ChainRulesCore v1.1.0

Diff since v1.0.2

Merged pull requests:

v1.0.2

27 Jul 14:34
f6ed7de

Choose a tag to compare

ChainRulesCore v1.0.2

Diff since v1.0.1

Merged pull requests:

v1.0.1

26 Jul 18:17
424a0b7

Choose a tag to compare

ChainRulesCore v1.0.1

Diff since v1.0.0

Closed issues:

  • The Extensibility Problem, for propagator closures (#53)
  • Use of broadcasting in scalar_rule (#309)
  • Decrease load time by moving everything except stubs out to ChainRules.jl? (#413)

Merged pull requests:

v1.0.0

23 Jul 11:05
b0e3f32

Choose a tag to compare

ChainRulesCore v1.0.0

Diff since v0.10.13

High level, informal summary:

In general the changes to ChainRulesCore are actually fairly unbreaking.
A bunch of deprecated things are removed.
We remove support for how ForwardDiff2's did chunking (because Diffractor wants to implement that differently).

There are some subtle Changes to ProjectTo (but noone was using that anyway yet).
@scalar_rule sometimes returns different types now to before, which kinda is a bug fix for complex functions, but also it will push Float64 tangents back into Float32 if the input was a Float32, which might catch some people off guard.

Even though it will not break your code if you don't: when adding support fro CRC 1.0, it is probably a good idea to also add in ProjectTo for any rrules you have that accept AbstractArrays, or Numbers.
That way we take embedded subspaces seriously.
Key feature of CRC 1.0 (really late 0.10.x) was tooling to do that well

Itt is a documented requirement that all pullbacks must accept Thunks.
(but most operations are now defined on them anyway, or if not can add a unthunk at the start)
Thunks are gross and i hate them, but they do allow us to get some big performance gains in some real world problems.

There is a new @opt_out macro which allows you to say not to use a rule and just do the AD.
This is quite breaking for many AD systems, which need to be taught how to support it.

Closed issues:

  • Opting out of rules (#377)
  • ProjectTo behaviour for differently sized arrays (#405)

Merged pull requests:

v0.10.13

19 Jul 12:13
ea252f0

Choose a tag to compare

ChainRulesCore v0.10.13

Diff since v0.10.12

Closed issues:

  • Remove convert for structured Tangent? (#359)

Merged pull requests:

v0.10.12

15 Jul 12:07
e047fd8

Choose a tag to compare

ChainRulesCore v0.10.12

Diff since v0.10.11

Closed issues:

  • Change argument irder for InplaceableThunk? (#386)

Merged pull requests:

  • Change argument order on InplaceableThunk and fix deprecated tests (#396) (@oxinabox)

v0.10.11

06 Jul 10:34
4b33290

Choose a tag to compare

ChainRulesCore v0.10.11

Diff since v0.10.10

Merged pull requests:

v0.10.10

05 Jul 19:21
b4f2cfa

Choose a tag to compare

ChainRulesCore v0.10.10

Diff since v0.10.9

Closed issues:

  • Rename DoesNotExist (#262)

Merged pull requests:

  • Fix printing of Tangent{T} with empty backing (#389) (@oxinabox)

v0.10.9

23 Jun 14:45
653cd7d

Choose a tag to compare

ChainRulesCore v0.10.9

Diff since v0.10.8

Merged pull requests:

  • Write docs on converting ZygoteRules (#378) (@oxinabox)
  • Add more methods on thunks to make ChainRules work on 1.0 (#381) (@mzgubic)