I find there always are two distinct stages in taking a package from one version to the next. Packages with users who are required to stay with the erstwhile current version of Julia for a while may need extra attention.
I have written some small and some large packages. When moving from v0.3 to v0.4 and again from v0.4 to v0.5 my initial step is to start the newer version of Julia, Pkg.clone() the work into that version’s local repository, and then see what happens after
using <mypackage>. There are going to be many messages, warnings, deprecation notices and there may arise an error that stops the initial information. To date, those messages have shown much commonality; and I select the one, two or three most frequent then fixup those parts of the source files.
At this stage (and for a while longer) I edit the local version in the new release’s repository and leave the current version and the github source alone (lessons learned, now shared).
I do that to get a good sense of how my work, that specific packaged intent, is best better evinced with Julia’s new resources and simplicities. Then I look to Lint.jl and Compat.jl.