It would help if you give an example of what you mean by "it was working
before". Here's what I mean by saying it doesn't work:

>>> from sympy import *
>>> f=Function('f', nargs=2)

# three issues:

1) f.nargs is not 2, it's None
>>> f.nargs

2) no error is made when different numbers of arguments are given because
nargs for f is None

>>> f(1), f(1,2), f(1,2,3)
(f(1), f(1, 2), f(1, 2, 3))

3) nargs in the *applied* state is no longer None; it equals the actual
number of arguments
>>> f(1, 2, 3).nargs
3
>>> f(1,2).nargs
2