Juventus won their eight consecutive Serie A title this season, but the club will look back on 2018/19 with mixed emotions.
It's no secret that the priority was Champions League success, but the Old Lady failed to convince for much of the European campaign and crashed out to a young Ajax side in the quarter-finals.
Max Allegri's side also attracted criticism for what was often perceived to be a dull, uninspired style of play which failed to get the best out of many of Juve's creative talents. Allegri has now departed, and the club are a set for a summer of big changes as they appoint a new manager and prepare for the quest for European glory next season.
With that in mind, we've looked at every Juventus first team player and decided whether they deserve to remain at the Allianz Stadium.
Just to be clear, this isn't a realistic reflection of what Juve will do this summer, but it's what we think should happen to give the club the best chance of success in 2019/20.
Wojciech Szczesny - KEEP - The Pole may not quite be prime Buffon, but he's developed into a top keeper and will be the number one next season.
Mattia Perin - KEEP - Only arrived last summer and is a decent back-up option. Perin has been linked with a move to Roma, but it makes little sense to move him on so early unless a big bid is received.
Carlo Pinsoglio - KEEP - Didn't get a single minute on the pitch this season but is fine as third choice.
Mattia del Fevero - LOAN OUT - The 20-year-old is yet to make a senior appearance and that is unlikely to change anytime soon. Should be loaned out to gain experience.
Joao Cancelo - KEEP - One of several attack-minded players to struggle under Allegri, the
Mattia De Sciglio - KEEP - Not quite good enough to be starting for a side that has aspirations of winning the Champions League, but a solid back-up option and should stay.
Alex Sandro - KEEP - Juve were keen on Real Madrid left-back Marcelo earlier in the season and would've been open to selling Sandro for the right offer in order to fund the move. However, with Zidane back, Marcelo looks set to remain in Spain. Sandro wasn't on top form in 2018/19 but is still one of the better left-backs around, so he stays.
Leonardo Spinazzola - KEEP - Has endured a frustrating season, not helped by picking up a serious injury last May. However, he has impressed at times when given the chance, and is a solid option to provide back up on the left side going forward.
Rogerio - LOAN OUT - 21-year-old Rogerio has impressed on loan at Sassuolo. Juve are reportedly open to selling to raise funds, with Newcastle previously linked, but the Brazilian has potential and shouldn't be sold yet.
Leonardo Bonucci - KEEP - Bonucci may not be quite the player he was prior to moving to Milan, but he remains a key part of this Juventus side. With Andrea Barzagli retiring and Giorgio Chiellini now 34, Bonucci isn't going anywhere.
Giorgio Chiellini - KEEP - The Juventus legend is approaching the end of his career and suffers with injuries, but is still a top defender on his day. His leadership both on and off the pitch remain vital to the Old Lady and he will back again doing it next season.
Andrea Barzagli - RETIRING - 38-year-old Barzagli retires from football as a Juve legend, having played 281 times and picked up 16 trophies. Attention now turns to finding his heir.
Daniele Rugani - KEEP - In truth, Rugani has so far failed to live up to his potential. The 24-year-old has longed been tipped to take over from his ageing teammates, but has endured another frustrating season with much of it sat on the sidelines. However, Juve need to focus on finding a top quality replacement for Barzagli, and Rugani should get what could be his last shot at establishing himself in the Old Lady's backline.
Martin Caceres - END OF LOAN - One of the stranger transfers of the season, Caceres was brought in on a short term loan in January to provide cover following Medhi Benatia's departure. Frankly, Juve should be setting their sights a lot higher and the Uruguayan will be thanked for his services and sent back to Lazio.
Miralem Pjanic - KEEP - Didn't have a great season but is by far Juve's most talented midfielder and there would be a severe lack of guile in the middle without the Bosnian. Despite reports that Juve would be willing to sacrifice Pjanic to bring in the likes of Paul Pogba, it would be a mistake to let him depart Turin. Hopefully the managerial change will see Pjanic back to his best.
Blaise Matuidi - KEEP - Adds energy to what is otherwise a fairly immobile midfield and works hard, though is often found lacking technically. The incoming Aaron Ramsey will improve Juve's creative midfield options and Matuidi should be kept for his defensive strengths.
Sami Khedira - SELL - Juve need to reinvigorate the midfield and Khedira has been taking up a squad space for too long. An old favourite of Allegri, the 32-year-old appeared just 10 times in Serie A this campaign. However, finding a suitor for the injury-stricken German may be difficult considering he underwent knee surgery in April.
Emre Can - KEEP - Only brought in last summer from Liverpool, Can struggled to establish himself at first but improved as the season developed. Should be a valuable asset going forward if he can stay fit and find consistency.
Rodrigo Bentancur - KEEP - Wasn't always a guaranteed starter when everyone was fit in 2018/19 but still made 30 Serie A appearances. The Uruguayan is just 21 and has plenty of potential so must stay.
Juan Cuadrado - SELL - Has been decent for Juve in past seasons but the club needs to be decisive this summer. 30-year-old Cuadrado was injured for much of the season and, with just a year left on his deal, should be moved on this summer.
Douglas Costa - SELL - Costa has unbelievable talent, but just hasn't been consistent enough since moving to Turin. Like Cuadrado, he has suffered with fitness issues and Juve need players they can rely on week in, week out. Should be sold if a decent bid is made.
Federico Bernardeschi - KEEP - The best of Juve's widemen in 2018/19, the Italy international isn't as consistent as fans would like but the talent is there and he is becoming more productive. Will be an important player going into next season.
Riccardo Orsolini - SELL - Has enjoyed a decent spell on loan at Bologna, scoring eight goals in 42 Serie A games. However, Orsolini isn't Juventus quality and should be sold to raise funds for new recruits.
Marko Pjaca - SELL - Was unlucky suffering a serious injury when he first arrived in Italy and has failed to really kick on during a loan at Fiorentina. Should be moved on permanently this summer.
Cristiano Ronaldo - KEEP - No prizes for guessing this one. While Ronaldo might not have replicated his incredible numbers of past seasons, the 34-year-old still picked up the Serie A Player of the Year award in his first season after scoring 21 goals. He has fit in seamlessly to become the main man and will continue to be vital going forward.
Paulo Dybala - KEEP - If Allegri was still manager, this would be sell. Dybala endured a poor season, scoring just five Serie A goals as Allegri struggled to fit the supremely talented Argentine into his system. Dybala has been strongly linked with a move away in recent weeks, but he can be one of the world's best if utilised properly and should be kept on with a new coach coming in.
Mario Mandzukic - SELL - Mandzukic has been a great servant to Juve and is still capable of top performances, but he suffers from injury problems and at 33 the club should sell him while they can still get a respectable fee.
Gonzalo Higuain - SELL - Looks set to return after a miserable spell at Chelsea in which he's scored just five goals. Higuain is simply no longer the fearsome striker he once was and must be sold this summer.
Moise Kean - KEEP - The brightest prospect in Italian football, Kean shone in the second half of the season and bagged six goals in only 12 Serie A appearances overall. At just 19, Juve have a real talent on their hands and the young striker should play a bigger role next season under Allegri's replacement.