There's already a way to solve it, called "fixed point method", that is, from the relation we define its characteristic equation as $x=\dfrac{x+2}{2x+1}$,then we have $x_1=1,x_2=-1$. So the following relation established: $$ \frac{a_{n}-1}{a_{n}+1}=\frac{\frac{a_{n-1}+2}{2 a_{n-1}+1}-1}{\frac{a_{n-1}+2}{2 a_{n-1}+1}+1}=-\frac{1}{3} \cdot \frac{a_{n-1}-1}{a_{n-1}+1} $$ It is obvious that $\displaystyle \frac{a_{n}-1}{a_{n}+1}=\frac{1}{3} \cdot\left(-\frac{1}{3}\right)^{n-1}$, and then we have $a_{n}=\dfrac{3^{n}-(-1)^{n}}{3^{n}+(-1)^{n}}$.
My question is, how to solve this kind of recurrence relations with generating functions? Also, "fixed points" can be applied to solving recurrences like $a_{n+1}=\dfrac{a_{n}^{2}+b}{2 a_{n}+d}$, which seems impossible to solve using generating functions.
Let $a_0:=0$, and let $$f(x):=\sum_{n=0}^\infty a_nx^n$$ be the generating function of the sequence $(a_n)_{n\geq0}$. Since $\lim_{n\to\infty} a_n=1$ this $f$ is even a bona fide analytic function in the unit disc. We have $$a_n\bigl(1+(-1/3)^n\bigr)=(1-(-1/3)^n\bigr)\qquad(n\geq0)$$ and therefore $$a_n\bigl(x^n+(-x/3)^n\bigr)=\bigl(x^n-(-x/3)^n\bigr)\qquad(n\geq0)\ .$$ This implies $$f(x)+f\left(-{x\over3}\right)={1\over1-x}-{1\over1+{x\over3}}={4x\over(1-x)(3+x)}\qquad\bigl(|x|<1\bigr)$$ and shows that your generating function fulfills a certain functional equation.
I don't know what to make with this.