Django-authtools

Latest version: v2.0.1

Safety actively analyzes 631143 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 3

0.2.1

-----

- Bugfix: UserAdmin was expecting a User with a `name` field.

0.2.0

-----

- Django 1.6 support.

Django 1.6 `broke backwards compatibility
<https://docs.djangoproject.com/en/dev/releases/1.6/#django-contrib-auth-password-reset-uses-base-64-encoding-of-user-pk>`_
of the ``password_reset_confirm`` view. Be sure to update any references to
this URL. Rather than using a separate view for each encoding, authtools uses
`a single view
<https://django-authtools.readthedocs.org/en/latest/views.html#authtools.views.PasswordResetConfirmView>`_
that works with both.

- Bugfix: if LOGIN_URL was a URL name, it wasn't being reversed in the
PasswordResetConfirmView.

0.1.2

------------------------------

- Use ``prefetch_related`` in the
`UserChangeForm <https://django-authtools.readthedocs.org/en/latest/forms.html#authtools.forms.UserChangeForm>`_
to avoid doing hundreds of ``ContentType`` queries. The form from
Django has the same feature, it wasn't copied over correctly in our
original form.

0.1.1

-----------------------------

* some bugfixes:

- Call ``UserManager.normalize_email`` on an instance, not a class.
- ``authtools.models.User`` should inherit its parent's ``Meta``.

0.1.0

-----------------------------

- django-authtools


Release Process
===============

django-authtools uses `zest.releaser`_ to manage releases. For a fuller
understanding of the release process, please read zest.releaser's
documentation, this document is more of a cheat sheet.

Getting Setup
-------------

You will need to install zest.releaser::

$ pip install -r requirements-dev.txt

You will also need to configure your ``.pypirc`` file to have the PyPI
credentials. Ask one of the other Fusionbox Programmers how to do that.

Releases
--------

The process for releases is the same regardless of whether it's a patch, minor,
or major release. It is as follows.

1. Add the changes to ``CHANGES.rst``. Don't commit. NOTE: You do not have to replace "(unreleased)"
with the desired release date; zest.releaser will do this automatically.
2. Run the ``longtest`` command to make sure that the ``README.rst`` and
``CHANGES.rst`` files are valid.
3. Commit changes with a commit message like "CHANGES for 1.1.0".
4. Run the ``fullrelease`` command.


Editing the Changelog
---------------------

Editing the changelog is very important. It is where we write down all of our
release notes and upgrade instructions. Please spend time when editing the
changelog.

One way to help getting the changes for new versions is to run the following
commands::

$ git tag | sort -rn figure out the latest tag (imagine it's 1.0.0)
1.0.0
$ git log HEAD ^1.0.0

This will show all the commits that are in HEAD that weren't in the last
release.

If possible, it's nice to add a credit line with the author's name and the
issue number of GitHub.

Deciding on a Version Number
----------------------------

Here are some nominal guidelines for deciding on version numbers when cutting
releases. If you feel the need to deviate from them, go ahead. If you find
yourself deviating every time, please update this document.

This is not semver, but it's similar.

Patch Release (1.0.x)
^^^^^^^^^^^^^^^^^^^^^

Bug fixes, documentation, and general project maintenance.

Avoid backwards incompatible changes like the plague.

Minor Release (1.x.0)
^^^^^^^^^^^^^^^^^^^^^

New features, and anything in patch releases.

Try to avoid backwards incompatible changes, but if you feel like you need
(especially for security), it's acceptable.

Major Release (x.0.0)
^^^^^^^^^^^^^^^^^^^^^

Really Cool New Features, and anything that you include in a minor release.

Backwards incompatibility is more acceptable here, although still frowned upon.


Additional Reading
------------------

- `zest.releaser Version handling <http://zestreleaser.readthedocs.org/en/latest/versions.html>`_
- `PEP 396 - Module Version Numbers <https://www.python.org/dev/peps/pep-0396/>`_
- `PEP 440 - Version Identification and Dependency Specification <https://www.python.org/dev/peps/pep-0396/>`_

.. _zest.releaser: http://zestreleaser.readthedocs.org/

Page 3 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.