We describe the second version (v2.0.0) of the code ADG that automatically (1) generates all valid off-diagonal Bogoliubov many-body perturbation theory diagrams at play in particle-number projected Bogoliubov many-body perturbation theory (PNP-BMBPT) and (2) evaluates their algebraic expression to be implemented for numerical applications. This is achieved at any perturbative order p for a Hamiltonian containing both two-body (four-legs) and three-body (six-legs) interactions (vertices). All valid off-diagonal BMBPT diagrams of order p are systematically generated from the set of diagonal , i.e.,unprojected, BMBPT diagrams. The production of the latter were described at length in Arthuis et al. (2019) dealing with the first version of ADG. The automated evaluation of off-diagonal BMBPT diagrams relies both on the application of algebraic Feynman's rules and on the identification of a powerful diagrammatic rule providing the result of the remaining p -tuple time integral. The new diagrammatic rule generalizes the one already identified in Arthuis et al. (2019) to evaluate diagonal BMBPT diagrams independently of their perturbative order and topology. The code ADG is written in Python3 and uses the graph manipulation package NetworkX. The code is kept flexible enough to be further expanded throughout the years to tackle the diagrammatics at play in various many-body formalisms that already exist or are yet to be formulated. Program Title: ADG CPC Library link to program files: https://doi.org/10.17632/6h4xrydwfb.2 Licensing provisions: GPLv3 Programming language: Python3 Journal reference of previous version: P. Arthuis, T. Duguet, A. Tichai, R.-D. Lasseri and J.-P. Ebran, "ADG: Automated generation and evaluation of many-body diagrams I. Bogoliubov many-body perturbation theory", Computer Physics Communications 240 (2019), pp. 202-227. Does the new version supersede the previous version?: Yes. Reasons for the new version: Incorporation of a new formalism into the program. Summary of revisions: Addition of off-diagonal BMBPT to the formalisms for which diagrams can be generated, fix of a wrong symmetry factor, move of the codebase from Python2 to Python3 while maintaining support for Python2, various optimizations to reduce the time and memory necessary to the program. Nature of problem: As formal and numerical developments in many-body-perturbation-theory-based ab initio methods make higher orders reachable, manually producing and evaluating all the diagrams becomes rapidly untractable as both their number and complexity grow quickly, making it prone to mistakes and oversights. Solution method: Diagonal BMBPT diagrams are encoded as square matrices known as oriented adjacency matrices in graph theory, and then turned into graph objects using the NetworkX package. Off-diagonal BMBPT diagrams can then be generated from those graphs. Checks on the diagrams and evaluation of their time-integrated expression are eventually done on a purely diagrammatic basis. HF-MBPT diagrams are produced and evaluated as well using the same principle. [ABSTRACT FROM AUTHOR]