The feds indicted Bonds again. A copy of it is here.
To review the bidding, he was first indicted in November.
What hasn't changed is the key paragraph 9:
During the criminal investigation, evidence was obtained including positive tests for the presence of anabolic steroids and other performance enhancing substances for Bonds and other professional athletes.
Each count of the indictment points to testimony by Bonds in front of the grand jury that he didn't take steroids.
Legal sidenote: a grand jury is like a jury, except it does investigations, not trials. It's made up of ordinary people, and it sits in private, not in public. This grand jury was investigating BALCO, so it questioned all sorts of people related to that case, includikng athletes (Bonds, Tim Montgomery, Giambi, etc.)
A grand jury can give you immunity, which means that you won't be prosecuted for anything you say there, as long as you tell the truth. So if Bonds told the truth to the grand jury, even if he admitted taking steroids, he couldn't be prosecuted for it.
However, if you lie to a grand jury, they're going to come after you. Giambi's hitting prowess is vanishing, but at least he's not under criminal indictment.