The 36-year-old former Blackburn Rovers goal getter is Simon Weaver’s fifth summer signing.
He leaves Notts County to come back to Yorkshire and will of course face his old club next season.
He told the club’s website: “Coming away from Notts County after four years I knew I needed a change and something fresh.
“I wanted to get things sorted out as soon as possible and make sure I knew where I was playing my football next season, I’m delighted to be here and really looking forward to getting going.
“The things that have been going on at this club over the last two or three years are fantastic, they’re moving in the right direction and I want to be a part of that, help improve it and move us on to that next step.”
His manager Weaver is thrilled to get his signature on the contract.
“His career has been outstanding, but what is important for us is his track record over the last four years, he’s played over 180 games and kept himself in great shape,” he said.
“We watched a lot of him last season and he contributed a lot between the boxes, he was agile, put himself about, took up great positions in the box and executed his finishes well.
“We’re really pleased to have got him, he is an infectious character and is going to be good for all the younger players.”