Has a recent update broken mathbf when using mathspec?

This is clearly due to the new LaTeX kernel using b as the default value for \bfseries.

Probably fontspec should also define bx weight for compatibility, but in the meantime you can patch mathspec to use b instead of bx.

\documentclass{article}
\usepackage{mathspec}
\usepackage{xpatch}

\xpatchcmd{\setmathrm}{bx}{b}{}{}
\xpatchcmd{\setmathrm}{bx}{b}{}{}
\xpatchcmd{\setmathrm}{bx}{b}{}{}
\xpatchcmd{\setmathsf}{bx}{b}{}{}
\makeatletter
\xpatchcmd{\eu@get@familyseriesshape}{bx}{b}{}{}
\xpatchcmd{\@eu@mkern}{bx}{b}{}{}
\makeatother

\setallmainfonts{Times New Roman}

\begin{document}

\begin{equation}
\nabla \times \mathbf{B} = \mu_0 \mathbf{J}
\end{equation}

\end{document}

You can add a declaration so that the text font knows bx too:

\documentclass{article}
\usepackage{mathspec}
\setallmainfonts{Times New Roman}
\DeclareFontShape{TU}{\familydefault}{bx}{n}{<-> ssub*\familydefault/b/n}{}

\begin{document}
\begin{equation}
    \nabla \times \mathbf{B} = \mu_0 \mathbf{J}
\end{equation}
\end{document}

fontspec will probably do this by default in the next version.