The recommended best practice is a new package library for each Revit release, as many common packages (i.e. Archi-Lab) require unique builds.
Similarly I recommend a different graph library for each release, working oldest to newest (or vice versa). This reduces the need for custom tooling and quarters the amount of error handling (tasks which I think will continue to grow in difficulty due to .NET changes and Dynamo API changes).