Alongside his brother Nathan McCullum, Brendon retired from all forms of international cricket last season, while Grant Elliott dropped off the contract list, having retired from ODIs in April. He now plays only Twenty20 internationals.
Sodhi and Munro were joined by first-timers Henry Nicholls, the left-hand batsman, and George Worker, the allrounder, as inclusions in a list that has been expanded from 20 to 21 this year. Having made their international debuts over the past 12 months, Nicholls and Worker are now formally part of the international squad.
"We've built a strong group of core players over the past couple of years and that's been a key factor to the consistency of the team's performance," Gavin Larsen, the selector, said."When we've brought new players into the group, we've been really happy with how they've adapted and performed on the international stage. Henry and George have made bright starts to their careers and we look forward to watching their ongoing development.
"After missing out last year, Ish and Colin have both worked extremely hard on their game, as we saw with their performances for us in the shorter formats this summer. They thoroughly deserve their contracts. It's also exciting to see Ish make his way back into the Test squad for the upcoming series in Africa."
New Zealand's cricketers are ranked across each format. Test matches gain twice the weighting of ODIs and T20s.
Contracted players for 2016-17: Corey Anderson, Trent Boult, Doug Bracewell, Mark Craig, Martin Guptill, Matt Henry, Tom Latham, Mitchell McClenaghan, Adam Milne, Colin Munro, James Neesham, Henry Nicholls, Luke Ronchi, Mitchell Santner, Ish Sodhi, Tim Southee, Ross Taylor, Neil Wagner, BJ Watling, Kane Williamson, George Worker