File: changelog.rst

package info (click to toggle)
python-django-structlog 10.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,008 kB
  • sloc: python: 3,578; sh: 206; javascript: 79; makefile: 19
file content (585 lines) | stat: -rw-r--r-- 23,774 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
Change Log
==========

10.0.0 (October 22, 2025)
-------------------------

*New:*
    - Add 5xx and cancelled request log level config. See `#935 <https://github.com/jrobichaud/django-structlog/pull/935>`_. Special thanks to `@fcortes <https://github.com/fcortes>`_.
    - Add python 3.14 support. See `#937 <https://github.com/jrobichaud/django-structlog/pull/937>`_.

*Changes:*
    - Drop python 3.9 support.




9.1.1 (April 7, 2025)
------------------------

*Fixes:*
    - fix ``duration_ms`` to the celery tasks metadata not working. See `#811 <https://github.com/jrobichaud/django-structlog/pull/811>`_. Special thanks to `@ahumeau <https://github.com/ahumeau>`_.


9.1.0 (April 4, 2025)
------------------------

*New:*
    - new setting ``DJANGO_STRUCTLOG_IP_LOGGING_ENABLED`` (default ``True``) to allow to disable ip binding. See `#803 <https://github.com/jrobichaud/django-structlog/issues/803>`_. Special thanks to `@dulguunpc <https://github.com/dulguunpc>`_.
    - add ``duration_ms`` to the celery tasks metadata. See `#796 <https://github.com/jrobichaud/django-structlog/pull/796>`_. Special thanks to `@ahumeau <https://github.com/ahumeau>`_.

*Fixes:*
    - `vary: Cookie` was always set. See `#734 <https://github.com/jrobichaud/django-structlog/issues/734>`_. Special thanks to `@last-partizan <https://github.com/last-partizan>`_

*Other:*
    - add support of django 5.2 (just adding it to the test matrix, no code changes)


9.0.1 (January 29, 2025)
------------------------

*Fixes:*
    - Fix exceptions not being propagated when using streaming response. See `#747 <https://github.com/jrobichaud/django-structlog/pull/747>`_. Special thanks to `@liambuchanan <https://github.com/liambuchanan>`_.


9.0.0 (November 26, 2024)
-------------------------

See: :ref:`upgrade_9.0`

*New:*
    - Add type definitions for the project. See `#697 <https://github.com/jrobichaud/django-structlog/pull/697>`_ and `#696 <https://github.com/jrobichaud/django-structlog/issues/696>`_. Special thanks to `@j00bar <https://github.com/j00bar>`_ and `@MaxDude132 <https://github.com/MaxDude132>`_ for the review.

*Changes:*
    - ``RequestMiddleware`` now relies on django signal `got_request_exception <https://docs.djangoproject.com/en/dev/ref/signals/#got-request-exception>`_ instead of Middleware `process_exception <https://docs.djangoproject.com/en/dev/topics/http/middleware/#process-exception>`_ method. See `#705 <https://github.com/jrobichaud/django-structlog/pull/705>`_, `#658 <https://github.com/jrobichaud/django-structlog/issues/658>`_ and :ref:`upgrade_9.0`. Special thanks to `@sshishov <https://github.com/sshishov>`_.
    - Add python 3.13 support. See `#674 <https://github.com/jrobichaud/django-structlog/pull/674>`_.
    - Drop python 3.8 support. See `#674 <https://github.com/jrobichaud/django-structlog/pull/674>`_.
    - Django 5.1 and celery 5.4 support. See `#617 <https://github.com/jrobichaud/django-structlog/pull/617>`_.

*Other:*
    - Migrated project to use python 3.13 along with readthedocs generation.
    - now use `isort <https://pycqa.github.io/isort/>`_
    - fixed ``codecov`` github action that was not properly configured and therefore not properly reporting coverage.


8.1.0 (May 24, 2024)
--------------------

*New:*
    - Add a :ref:`setting <settings>` ``DJANGO_STRUCTLOG_USER_ID_FIELD = 'pk'`` to customize what user field to use as ``user_id`` in the logs. See `#546 <https://github.com/jrobichaud/django-structlog/pull/546>`_ and `#545 <https://github.com/jrobichaud/django-structlog/issues/545>`_. Special thanks to `@sshishov <https://github.com/sshishov>`_.

*Changes:*
    - Drop support of python 3.7
    - Drop support of django 3.2, and 4.1


8.0.0 (March 13, 2024)
----------------------

See: :ref:`upgrade_8.0`

*New:*
    - add ``log_kwargs`` to :class:`django_structlog.signals.bind_extra_request_metadata`, :class:`django_structlog.signals.bind_extra_request_finished_metadata`,  and :class:`django_structlog.signals.bind_extra_request_failed_metadata`. See `#484 <https://github.com/jrobichaud/django-structlog/issues/484>`_. Special thanks to `@shtoltz <https://github.com/shtoltz>`_.


7.1.0 (December 20, 2023)
-------------------------

*New:*
    - add ``asgi``'s async view cancellation event ``request_cancelled``. See `#413 <https://github.com/jrobichaud/django-structlog/pull/413>`_ and  and :ref:`request_events`.


7.0.0 (December 13, 2023)
-------------------------

See: :ref:`upgrade_7.0`

*New:*
    - (celery) add ``priority`` (if available) and ``routing_key`` to ``task_enqueued``. See `#345 <https://github.com/jrobichaud/django-structlog/pull/345>`_ and `#341 <https://github.com/jrobichaud/django-structlog/issues/341>`_. Special thanks to `badziyoussef <https://github.com/badziyoussef>`_.
    - Django 5.0 support. See `#350 <https://github.com/jrobichaud/django-structlog/pull/350>`_. Take note async view cancellation when using ``asgi`` does not work yet, see `#351 <https://github.com/jrobichaud/django-structlog/issues/351>`_.
    - Add streaming response support (for both sync and async) and Django 5's async cancellation. See `#353 <https://github.com/jrobichaud/django-structlog/pull/353>`_ and :ref:`streaming_response_events`.

*Changes:*
    - Supports django-ipware 6+ only. See `#403 <https://github.com/jrobichaud/django-structlog/pull/403>`_. Special thanks to the maintainer `@un33k <https://github.com/un33k>`_.
    - Drop support of django 4.0. See `#338 <https://github.com/jrobichaud/django-structlog/pull/338>`_. Special thanks to `@jairhenrique <https://github.com/jairhenrique>`_.

*Other:*
    - Improved demo project
        - Better UI
        - Easy switch between ``runserver_plus``, ``wsgi`` an ``asgi``
        - Front-end request feedbacks using ``toasts``


6.0.1 (November 29, 2023)
-------------------------
*Fixes:*
    - freeze ``django-ipware<6`` for now due to breaking changes. See `#388 <https://github.com/jrobichaud/django-structlog/issues/388>`_


6.0 (October 3, 2023)
---------------------

See: :ref:`upgrade_6.0`

*New:*
    - Python 3.12 support
    - Add support of logging :ref:`commands`
    - ``task_revoked`` has now a ``signame`` metadata. See `#323 <https://github.com/jrobichaud/django-structlog/issues/323>`_.
    - ``task_not_found`` has now a ``task_id`` and a ``task`` metadata. See `#323 <https://github.com/jrobichaud/django-structlog/issues/323>`_.

*Fixes:*
    - Add missing metadata when a task is revoked. See `#317 <https://github.com/jrobichaud/django-structlog/issues/317>`_. Special thanks to `@badziyoussef <https://github.com/badziyoussef>`_.

*Changes:*
    - Drop support of python 3.7
    - Drop legacy code still supporting celery < 4
    - Removal of deprecated:
        - :class:`django_structlog.middlewares.CeleryMiddleware`
        - :class:`django_structlog.middlewares.SyncRequestMiddleware`
        - :class:`django_structlog.middlewares.AsyncRequestMiddleware`
        - :class:`django_structlog.middlewares.request_middleware_router`
    - ``4XX`` status codes now log by default as ``WARNING`` and ``5XX`` as ``ERROR``. The behaviour of ``4XX`` can be customized with :ref:`configuration`. See `#308 <https://github.com/jrobichaud/django-structlog/issues/308>`_. Special thanks to `@adinhodovic <https://github.com/adinhodovic>`_.
    - ``task_revoked``'s ``signum`` is now an integer instead of an object. See `#323 <https://github.com/jrobichaud/django-structlog/issues/323>`_.
    - ``task_not_found``'s ``message`` was removed and replaced by ``task_id`` and ``task``. See `#323 <https://github.com/jrobichaud/django-structlog/issues/323>`_.
    - ``task_rejected``'s ``message`` was removed and replaced by ``task_id``. See `#323 <https://github.com/jrobichaud/django-structlog/issues/323>`_.
    - Switched from ``git``'s ``master`` to ``main`` branch

*Other:*
    - Add new :ref:`how_tos` section in the documentation.


5.3.0 (June 30, 2023)
---------------------

*New:*
    - django setting ``DJANGO_STRUCTLOG_CELERY_ENABLED = True`` replacing :class:`django_structlog.middlewares.CeleryMiddleware`. See :ref:`upgrade_6.0` and `#265 <https://github.com/jrobichaud/django-structlog/pull/265>`_. Also introduce new internal `app_settings` that may come handy for future configurations.


*Deprecations:*
    - :class:`django_structlog.middlewares.CeleryMiddleware` (see above).


5.2.0 (June 29, 2023)
---------------------

*New:*
    - Add new event ``task_started``. See `#260 <https://github.com/jrobichaud/django-structlog/issues/260>`_. Special thanks to `@adrenaline681 <https://github.com/adrenaline681>`_.


5.1.0 (April 22, 2023)
----------------------

*New:*
    - Add new signal :class:`django_structlog.signals.update_failure_response` allowing to modify the response in case of failure. See `#231 <https://github.com/jrobichaud/django-structlog/issues/231>`_. Special thanks to `@HMaker <https://github.com/HMaker>`_.

5.0.2 (April 16, 2023)
----------------------

See: :ref:`upgrade_5.0`

*Fixes:*
    - Fix regression in 5.0.0 and 5.0.1 where exceptions were not logged as ``error`` but as ``info``. See `#226 <https://github.com/jrobichaud/django-structlog/issues/226>`_. Special thanks to `@ntap-fge <https://github.com/ntap-fge>`_.

*Rollbacks from 5.0.0:*
    - Rollback removal of ``django_structlog.signals.bind_extra_request_failed_metadata``. Relates the above fix.


5.0.1 (March 24, 2023)
----------------------

See: :ref:`upgrade_5.0`

*Changes:*
   - minimum requirements change for ``asgiref`` to 3.6.0. See `#209 <https://github.com/jrobichaud/django-structlog/pull/209>`_. Special thanks to `@adinsoon <https://github.com/adinsoon>`_.


5.0.0 (March 23, 2023)
----------------------

See: :ref:`upgrade_5.0`

*Changes:*
   - ``RequestMiddleware`` and ``CeleryMiddleware`` now properly support async views

*Removed:*
    -  *(Rolled back in 5.0.2)* ``django_structlog.signals.bind_extra_request_failed_metadata``

*Deprecates:*
    - :class:`django_structlog.middlewares.request_middleware_router`
    - :class:`django_structlog.middlewares.requests.AsyncRequestMiddleware`
    - :class:`django_structlog.middlewares.requests.SyncRequestMiddleware`


4.1.1 (February 7, 2023)
------------------------

*New:*
    - Add :class:`django_structlog.middlewares.request_middleware_router` to choose automatically between Async or Sync middleware

*Rollbacks from 4.1.0:*
    - Rollback ``RequestMiddleware`` not being a class anymore, its an internal ``SyncRequestMiddleware``

*Others:*
    - Migrate project to ``pyproject.toml`` instead of ``setup.py``
    - Add `asgi` server to demo project see :ref:`development`.


4.1.0 (February 4, 2023)
------------------------

*New:*
    - Add `async view <https://docs.djangoproject.com/en/4.1/topics/async/#async-views>`_ support. See `#180 <https://github.com/jrobichaud/django-structlog/pull/180>`_. Special thanks to `@DamianMel <https://github.com/DamianMel>`_.

*Changes:*
    - ``RequestMiddleware`` is no longer a class but a function due to async view support. This should only affect projects using the middleware not as intended. If this cause you problems, please refer to this issue `#183 <https://github.com/jrobichaud/django-structlog/issues/183>`_, `the documentation <https://django-structlog.readthedocs.io>`_ or feel free to open a new issue. Special thanks to `@gvangool <https://github.com/gvangool>`_ for pointing that out.

*Others:*
    - Add colours in log in the demo project. See `63bdb4d <https://github.com/jrobichaud/django-structlog/commit/63bdb4d>`_ to update your projects. Special thanks to `@RoscoeTheDog <https://github.com/RoscoeTheDog>`_.
    - Upgrade or remove various development packages


4.0.1 (October 25, 2022)
------------------------

*New:*
    - Add support to ``python`` 3.11. See `#142 <https://github.com/jrobichaud/django-structlog/pull/142>`_. Special thanks to `@jairhenrique <https://github.com/jairhenrique>`_.


4.0.0 (October 22, 2022)
------------------------

See: :ref:`upgrade_4.0`

*Changes:*
    - ``django-structlog`` will now on follow LTS versions of Python, Django, and Celery. See `#110 <https://github.com/jrobichaud/django-structlog/pull/110>`_. Special thanks to `@jairhenrique <https://github.com/jairhenrique>`_ for his convincing arguments.

*New:*
    - You can now install ``django-structlog`` with ``celery`` extra. Specifying ``django-structlog[celery]==4.0.0`` in ``requirements.txt`` will make sure your ``celery``'s version is compatible.

*Others:*
    - Upgrade or remove various development packages
    - Upgrade local development environment from python 3.7 to 3.10 and from django 3.2 to django 4.1
    - Added a `gh-pages <https://jrobichaud.github.io/django-structlog/>`_


3.0.1 (August 2, 2022)
----------------------

*Fixes:*
    - ``AttributeError`` with custom User without ``pk``. See `#80 <https://github.com/jrobichaud/django-structlog/issues/80>`_. Special thanks to `@mlegner <https://github.com/mlegner>`_.

*Others:*
    - Add ``dependabot`` to manage dependencies. See `#83 <https://github.com/jrobichaud/django-structlog/pull/83>`_. Special thanks to `@jairhenrique <https://github.com/jairhenrique>`_.
    - Upgrade various development packages


3.0.0 (August 1, 2022)
----------------------

See: :ref:`upgrade_3.0`

*Changes:*
    - ``django-structlog`` now uses ``structlog.contextvars`` instead of ``structlog.threadlocal``. See the upgrade guide for more information (:ref:`upgrade_3.0`) and `#78 <https://github.com/jrobichaud/django-structlog/pull/78>`_. Special thanks to `@AndrewGuenther <https://github.com/AndrewGuenther>`_  and `@shimizukawa <https://github.com/shimizukawa>`_.
        - removed ``django_structlog.processors.inject_context_dict``
        - minimum requirements change to ``python`` 3.7+
        - minimum requirements change to ``structlog`` 21.5

*New:*
    - Add python 3.10, celery 5.2 and django 4.0 to the test matrix.

*Others:*
    - Remove ``wrapper_class`` from the configuration


2.2.0 (November 18, 2021)
-------------------------

*Changes:*
    - Requests were logged as ``<WSGIRequest: GET '/'>`` (as an object) and now they are logged like this ``GET /`` (as a string). See `#72 <https://github.com/jrobichaud/django-structlog/issues/72>`_. Special thanks to `@humitos <https://github.com/humitos>`_.


2.1.3 (September 28, 2021)
--------------------------

*Fixes:*
    - Implement `Celery Task.throws <https://docs.celeryproject.org/en/latest/userguide/tasks.html#Task.throws>`_' behaviour of logging expected exception as ``INFO`` with no tracebacks. See `#62 <https://github.com/jrobichaud/django-structlog/issues/62>`_ and `#70 <https://github.com/jrobichaud/django-structlog/pull/70>`_. Special thanks to `@meunomemauricio <https://github.com/meunomemauricio>`_.


2.1.2 (August 31, 2021)
-----------------------

*Fixes:*
    - ``django.core.exceptions.PermissionDenied`` is no longer logged as 500 but 403. See `#68 <https://github.com/jrobichaud/django-structlog/pull/68>`_. Special thanks to `@rabbit-aaron <https://github.com/rabbit-aaron>`_.


2.1.1 (June 22, 2021)
-------------------------

*Others:*
    - Add ``django`` 3.2 and ``python`` 3.9 to the test matrix and ``pypi`` metadata. See `#65 <https://github.com/jrobichaud/django-structlog/pull/65>`_. Special thanks to `@kashewnuts <https://github.com/kashewnuts>`_.


2.1.0 (November 26, 2020)
-------------------------

*New:*
    - :class:`django_structlog.processors.inject_context_dict` for standard python loggers. See `#24 <https://github.com/jrobichaud/django-structlog/issues/24>`_. Special thanks to `@debfx <https://github.com/debfx>`_.


2.0.0 (November 25, 2020)
-------------------------

*Upgrade:*
    - There are necessary configuration changes needed. See :ref:`upgrade_2.0` for the details.

*Changes:*
    - No longer add ``error`` and ``error_traceback``. See `#55 <https://github.com/jrobichaud/django-structlog/issues/55>`_ and :ref:`upgrade_2.0`. Special thanks to `@debfx <https://github.com/debfx>`_.

*Fixes:*
    - Fix crash when request's user is ``None`` for `django-oauth-toolkit <https://github.com/jazzband/django-oauth-toolkit>`_. See `#56 <https://github.com/jrobichaud/django-structlog/issues/56>`_. Special thanks to `@nicholasamorim <https://github.com/nicholasamorim>`_.


1.6.3 (November 11, 2020)
-------------------------

*Improvements:*
    - Call stack of exception in log is now an appropriate string. See `#54 <https://github.com/jrobichaud/django-structlog/pull/54>`_. Special thanks to `@debfx <https://github.com/debfx>`_.


1.6.2 (October 4, 2020)
-----------------------

*Fixes:*
    - Fix UUID as User pk causing issues. See `#52 <https://github.com/jrobichaud/django-structlog/pull/52>`_ `#45 <https://github.com/jrobichaud/django-structlog/pull/45>`_ and `#51 <https://github.com/jrobichaud/django-structlog/issues/51>`_. Special thanks to `@fadedDexofan <https://github.com/fadedDexofan>`_.


1.6.1 (August 13, 2020)
-----------------------

*Fixes:*
    - Removed ``providing_args`` from signals to fix django 4.0 deprecation warnings introduced by django 3.1. See `#44 <https://github.com/jrobichaud/django-structlog/pull/44>`_. Special thanks to `@ticosax <https://github.com/ticosax>`_.
    - Fix ``sender`` of ``signals.pre_task_succeeded``
    - Documented signal parameters in doc strings and ``API documentation`` to replace ``providing_args``

*Others:*
    - Add ``django`` 3.0 and 3.1 to the test matrix and ``pypi`` supported frameworks metadata
    - Fix reference of the previous ci in the documentation


1.6.0 (June 17, 2020)
---------------------

*Changes:*
    - ``task_succeed`` is now ``task_succeeded``. Special thanks to `@PawelMorawian <https://github.com/PawelMorawian>`_.
    - Remove ``result`` from ``task_succeeded`` log (may be added back, see below). Special thanks to `@PawelMorawian <https://github.com/PawelMorawian>`_ as well.
    - Add ``django_structlog.celery.signals.pre_task_succeeded``. To be able to bind ``result`` if someone really needs it.


1.5.5 (June 16, 2020)
---------------------

*New:*
    - Add ``bind_extra_request_finished_metadata`` and ``bind_extra_request_failed_metadata``. See `#39 <https://github.com/jrobichaud/django-structlog/pull/39>`_. Special thanks to `@prik2693 <https://github.com/prik2693>`_.


1.5.4 (June 15, 2020)
---------------------

*Improvements:*
    - Remove redundant ``DJANGO_STRUCTLOG_LOG_USER_IN_REQUEST_FINISHED`` setting and just always make sure ``user_id`` is in ``request_finished`` and ``request_failed`` instead. See `#37 <https://github.com/jrobichaud/django-structlog/pull/37>`_.


1.5.3 (June 15, 2020)
---------------------

*New:*
    - Add ``DJANGO_STRUCTLOG_LOG_USER_IN_REQUEST_FINISHED`` setting to support `Django REST framework <https://www.django-rest-framework.org/>`_. See `#37 <https://github.com/jrobichaud/django-structlog/pull/37>`_. Special thanks to `@immortaleeb <https://github.com/immortaleeb>`_.


1.5.2 (April 2, 2020)
---------------------

*New:*
    - Add ``modify_context_before_task_publish`` signal.


1.5.1 (March 18, 2020)
----------------------

*Improvements:*
    - Allow to override celery task metadata from binding. See `#32 <https://github.com/jrobichaud/django-structlog/issues/32>`_ and `#33 <https://github.com/jrobichaud/django-structlog/pull/33>`_. Special thanks to `@chiragjn <https://github.com/chiragjn>`_


1.5.0 (March 6, 2020)
---------------------

*Improvements:*
    - Add support for celery 3. See `#26 <https://github.com/jrobichaud/django-structlog/issues/26>`_ and `#31 <https://github.com/jrobichaud/django-structlog/pull/31>`_. Special thanks to `@chiragjn <https://github.com/chiragjn>`_ and `@prik2693 <https://github.com/prik2693>`_


1.4.1 (February 8, 2020)
------------------------

*New:*
    - Bind ``X-Correlation-ID`` HTTP header's value as ``correlation_id`` when provided in request.


1.4.0 (February 7, 2020)
------------------------

*New:*
    - Use ``X-Request-ID`` HTTP header's value as ``request_id`` when provided in request. See `#22 <https://github.com/jrobichaud/django-structlog/issues/22>`_. Special thanks to `@jairhenrique <https://github.com/jairhenrique>`_


1.3.5 (December 23, 2019)
-------------------------

*New:*
    - Add python 3.8, celery 4.4 and django 3.0 to the test matrix.

*Improvements:*
    - Extract ``test_app`` from ``django_structlog_demo_app`` in order to test ``django_structlog`` all by itself
    - Improve CI execution speed by merging stages
    - Upgrade a few development depencencies


1.3.4 (November 27, 2019)
-------------------------

*Bugfix:*
    - Exception logging not working properly with ``DEBUG = False``. See `#19 <https://github.com/jrobichaud/django-structlog/issues/19>`_. Special thanks to `@danpalmer <https://github.com/danpalmer>`_


1.3.3 (October 6, 2019)
-----------------------

*Bugfix:*
    - Fix support of different primary key for ``User`` model. See `#13 <https://github.com/jrobichaud/django-structlog/issues/13>`_. Special thanks to `@dhararon <https://github.com/dhararon>`_


1.3.2 (September 21, 2019)
--------------------------

*Improvements:*
    - Add support of projects without ``AuthenticationMiddleware``. See `#9 <https://github.com/jrobichaud/django-structlog/pull/9>`_. Special thanks to `@dhararon <https://github.com/dhararon>`_


1.3.1 (September 4, 2019)
-------------------------

*Bugfixes:*
    - Remove extraneous ``rest-framework`` dependency introduced by `#7 <https://github.com/jrobichaud/django-structlog/pull/7>`_. See `#8 <https://github.com/jrobichaud/django-structlog/pull/8>`_ . Special thanks to `@ghickman <https://github.com/ghickman>`_


1.3.0 (September 3, 2019)
-------------------------

*Improvements:*
    - Improve django uncaught exception formatting. See `#7 <https://github.com/jrobichaud/django-structlog/pull/7>`_. Special thanks to `@paulstuartparker <https://github.com/paulstuartparker>`_


1.2.3 (May 18, 2019)
--------------------

*Bugfixes:*
    - Fix ``structlog`` dependency not being installed

*Improvements:*
    - Use `black <https://github.com/python/black>`_ code formatter


1.2.2 (May 13, 2019)
--------------------

*Improvements:*
    - Use appropriate packaging


1.2.1 (May 8, 2019)
-------------------

*Bugfixes:*
    - Fix missing license file to be included in distribution


1.2.0 (May 8, 2019)
-------------------

*Changes:*
    - In the event ``task_enqueued``, ``task_id`` and ``task_name`` are renamed ``child_task_id`` and ``child_task_name`` respectively to avoid override of ``task_id`` in nested tasks.


1.1.6 (May 8, 2019)
-------------------

*New:*
    - Add ``task_name`` when a task is enqueued


1.1.5 (May 8, 2019)
-------------------

*New:*
    - Add support of tasks calling other tasks (introducing ``parent_task_id``)

*Bugfixes:*
    - Fix missing packages


1.1.4 (April 22, 2019)
----------------------

*Improvements:*
    - Wheel distribution


1.1.3 (April 22, 2019)
----------------------

*Improvements:*
    - api documentation
    - code documentation

1.1.2 (April 19, 2019)
----------------------

*Changes:*
    - Rewrite the log texts as events

1.1.1 (April 18, 2019)
----------------------

*New:*
    - Add ``celery`` signal ``signals.bind_extra_task_metadata``


1.1 (April 16, 2019)
--------------------

*New:*
    - Add ``celery`` tasks support


1.0.4 to 1.0.7 (April 14, 2019)
-------------------------------

*New:*
    - Automated releases with tags on ``travis``

1.0.3 (April 14, 2019)
----------------------

*Bugfixes:*
    - Add ``bind_extra_request_metadata`` documentation

1.0.2 (April 13, 2019)
----------------------

*Bugfixes:*
    - Tweaked documentation.

1.0.0 (April 13, 2019)
----------------------

*New*:
    - Fist public release.