Manchester City have confirmed the signing of right-back Joao Cancelo from Juventus, with Danilo joining the Serie A champions in exchange.
Cancelo had been one of City's primary targets for the majority of the summer transfer window, but talks initially broke down as Juventus held out for more money.
Cancelo said: “City are a fantastic club, with a brilliant manager and I am delighted to be here,” he said after agreeing personal terms and completing his medical.
“Everything about them has impressed me, from the facilities, to their style of play.
“I am always looking to develop my game and win trophies and I believe I can do that here, so now I’m really looking forward to the new season and testing myself in the Premier League.”
Pep Guardiola was eager to bolster his defensive options ahead of the upcoming season, and Cancelo will now come in to compete with Kyle Walker for a position on the right side of City's defence.
He becomes City's fourth addition of the summer, following the arrivals of Rodri, Angelino and Zach Steffen earlier in the window.
It is hoped that Cancelo will be ready to feature for City as soon as possible, given he has been heavily involved in Juventus' pre-season this summer. However, whether Guardiola will opt to play him during City's Premier League opener against West Ham United on Saturday remains to be seen.
Taking Cancelo's place at the Allianz Stadium will be Danilo, who struggled to hold down a permanent place in the Citizens' starting lineup after his big move from Real Madrid in 2017.