The first edition of An Introduction to Formal Logic was published by Cambridge University Press in November 2003 (with a number of later corrected reprintings). This is an accessible quite slow-paced introductory textbook aimed at beginning philosophy students, based on the first year course for Cambridge philosophy students for many years.
Here is a web-page for the first edition, saying more about the book, linking to answers to exercises, and including some other materials. There are also (importantly!) lists of corrections for the various printings.
I am now working on a second edition, at the suggestion of CUP, hopefully to be published by them around the end of 2019. The major difference between the editions will be that, while the first edition is ‘logic by trees’, the second edition have chapters on natural deduction (Fitch-style as students find that easier than Gentzen-style) with chapters on propositional and quantifier trees available as online supplements or alternatives.
Here is a web-page for the second edition, with more information and linking to some associated materials.