Suppose I'm working on a GPLv3-only project, and find some code licensed as GPL3+. Can I incorporate that code freely in my software without changing my license? If a hypothetical GPL v4 is released, does that mean that my program is suddenly both GPL v3 and GPL v4 compatible?
The actual text of a GPLv3+ grant is
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License...; either version 3 of the License, or (at your option) any later version
The option is yours as the redistributor. The "either" language means that you may opt to distribute the work under the GPLv3 only.
The virtually identical case of GPLv2+ code into GPLv2-only project is marked OK the GPL compatibility matrix, with the annotation:
You must follow the terms of GPLv2 when incorporating the code in this case. You cannot take advantage of terms in later versions of the GPL.