Yesterday evening, Niantic announced that Candy XL mechanics are getting a substantial update. The official March updates blog post was updated to reflect this:
- Trading Pokémon will have a chance of rewarding a Candy XL for the Pokémon you’ve traded. The chance of receiving a Candy XL will increase the greater the distance between Pokémon catch locations is.
- Walking with your Buddy Pokémon will now have a chance of earning you a Candy XL.
- Catching Legendary, Mythical, or evolved Pokémon is now guaranteed to reward you with Candy XL.
In essence, these changes introduce new ways to obtain Candy XL from gameplay loops that were previously unaddressed. Leekduck posted a handy infographic on the topic:

All of the changes look reasonable, especially the guaranteed Candy from catching evolved forms. Trainers on reddit have verified that the maximum amount of Candy XL per catch is 6.