- Add support for Django 5.2.
- Make
geoip2an optional dependency. It can be installed using thegeoip2extra.
- Add support for Python 3.13 and drop support for Python 3.8.
Backward-incompatible changes:
- The IP is now read directly from the value of
REMOTE_ADDR(instead of relying on django-ipware) for the same reason Django removedSetRemoteAddrFromForwardedFormiddleware in 1.1. If you are using a reverse proxy, you should configure it to pass the real IP address in theREMOTE_ADDRheader, or you can write a custom version ofSetRemoteAddrFromForwardedFormiddleware which suits your environment. session.locationandsession.location_infoare now properties instead of methods.session.deviceis now a property instead of a method and returns string.- The device object can be accessed using the new property
session.device_info. - User agent parsing is now done using
ua-parserinstead ofuser-agents.- The device object is now an instance of
ua_parser.core.Resultinstead ofuser_agents.parsers.UserAgent.
- The device object is now an instance of
- Add support for Python 3.12 and drop support for Python 3.7.
- Add support for Django 4.2, 5.0 and drop support for Django 3.2, 4.1.
- Fix a bug in admin ("add" and "edit" session).
- Nov 3, 2024: Add support for Django 5.1.
Thanks @ataylor32, @browniebroke
- Add Django 4.1 support.
- Drop support for Python 3.6.
- Drop support for Django 2.2, 3.0, 3.1.
Thanks @akx
- Add Django 4.0 support.
- Drop support for Django 1.11, 2.0, 2.1.
- Use gettext_lazy instead of ugettext_lazy.
Thanks @akx
- Set development status to Production/Stable in setup.py.
- Link to user in admin page.
Thanks @YazdanRa
- Fix N+1 problem in admin page by adding
usertoselect_related. - Update MANIFEST.in
Thanks @jayvdb
I think everything is OK for releasing 1.0.0 since django-qsessions is working fine in production for long time.
- Drop support for Django 1.10.
- Drop support for Python 3.5, since its end of life is near. Plus, maxminddb doesn't support 3.5 anymore.
- Add Django 3.1 to support matrix.
- Drop support for Python 2.
- Use
ipware.get_client_ipinstead ofipware.ip.get_real_ip(which is removed sincedjango-ipware==3.0.0) - Format source code using black
Thanks @sevdog
- Updated
download_geoip_dbmanagement command to use new Maxmind download URLs, and provide license key.
Thanks @akx
- Added Django 3.0 to support matrix.
- Removed Python 3.4 from support matrix.
- Added
qsessions.backends.dbsession backend.
Thanks @willstott101
- Added support for Django 2.2.
Thanks @akx
- Added support for Python 3.7, Django 2.1.
- Used pytest for testing.
- Improved session delete performance (reduce number of queries)
- Refactored codes
- Improve docs
- Fixed a bug when User Agent is an empty string
- Fixed migrations for
created_atfield.