.. _upgrading.2-to-3:

==============
Version 2 to 3
==============

While we have made significant internal changes to the library, we have made every effort to ensure a seamless upgrade
path from the 2.x series of this library to 3.x.

One major breaking change is the transition from the ``Rhumsaa`` root namespace to ``Ramsey``. In most cases, all you
will need is to change the namespace to ``Ramsey`` in your code, and everything will "just work."

.. note::

    For more details on the namespace change, including reasons for the change, read the blog post "`Introducing
    ramsey/uuid <https://benramsey.com/blog/2016/04/ramsey-uuid/>`_".

Here are full details on the breaking changes to the public API of this library:

1. All namespace references of ``Rhumsaa`` have changed to ``Ramsey``. Simply change the namespace to ``Ramsey`` in your
   code and everything should work.
2. The console application has moved to `ramsey/uuid-console <https://packagist.org/packages/ramsey/uuid-console>`_. If
   using the console functionality, use Composer to require ``ramsey/uuid-console``.
3. The Doctrine field type mapping has moved to `ramsey/uuid-doctrine <https://packagist.org/packages/ramsey/uuid-doctrine>`_.
   If using the Doctrine functionality, use Composer to require ``ramsey/uuid-doctrine``.
