-
Notifications
You must be signed in to change notification settings - Fork 2
/
CHANGELOG
187 lines (109 loc) · 8.8 KB
/
CHANGELOG
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
1.8.1:
- This reusable app now supports only actual Django (3.2 LTS, 4.0, 4.1) and Python (3.7+) versions.
1.8:
- Droped Python 2 support.
1.7.9:
- SameSite=Lax attribute for cookies set by the app (https://developer.mozilla.org/ru/docs/Web/HTTP/Headers/Set-Cookie/SameSite).
1.7.8:
- Minor technical update due to pytz dependency update and new migration because of it.
1.7.7:
- Added Django 3.0 support.
- Dropped Django 2.1 support.
- Tested in Python 3.8.
- Added six as a dependency to support Django 1.11 on Python 2.7 and Django 3.0 simultaneously (https://docs.djangoproject.com/en/3.0/releases/3.0/#removed-private-python-2-compatibility-apis).
1.7.6:
- Reassembled pypi package because of small but important change in pywebpush library it depends on (Google GCM endpoint, which will stop working on May 29th, replaced with FCM endpoint).
1.7.5:
- Reassembled pypi package as it now supports multiple Django versions.
1.7.4:
- Max length of endpoint is 512 chars now instead of 255 (some endpoint don't fit to 255). Do not forget to run migrate.
- MySQL users, please read docs/MYSQL.rst! Your project needs some additional setup.
1.7.3:
- Small modifications to pushsend management command. Mostly in logging and subscription error accounting.
1.7.2:
- Fixed payload encryption in legacy non-VAPID Chrome subscription due to pywebpush dependency update.
1.7.1:
- Fixed a bug with vapid_claims dict reference.
1.7:
- VAPID support (it is default auth method from now on).
- FCM/GCM support left only for bc (sending pushes to subscriptions that already exist).
1.6.9:
- Fixed wrong urllib import from six.moves.
1.6.8:
- New setting: how many processes to use in a pushsend management command for parallel push.
1.6.7:
- Edited raw SQL query in push task stats so it won't fail on Postgresql.
1.6.6:
- Django test for pushsend management command.
- Python 2.7 backward compatibility.
1.6.5:
- Tests for push views.
1.6.4:
- Moving pid locks (so we can have only 1 copy of management command running) from files to DB because commonstuff changed.
1.6.3:
- Completely reseted app migrations before publishing app.
1.6.2:
- В модели и коде push переименовал свой выдуманный ext_id на общеупотребимый термин endpoint.
- Выпилил код связанный с хранением old_ext_id для push, т.к. он запутанный, переусложненный и ненужный.
1.6.1:
- i18n приложения. По умолчанию английский и добавлен русский перевод.
- Удалил консольную комманду pushfill (точнее переместил в другое приложение), тк она не универсальна.
1.6:
- Переход на Python 3.
- Починил JS-код сохранения на сервере отключенной пользователем подписки, который был поломан в ходе рефакторинга промисов в JS.
- service-worker.js теперь отдается динамически, не нужно копировать его ручками в папку www каждого проекта.
1.5.6:
- JS-код переписан, чтобы быть понятнее.
- Учет закрытия нотификации пользователем в статистике.
1.5.5:
- Большие картинки в пушах для Chrome.
- Новые настройки для этих картинок.
- Обновлена обязательная версия pywebpush в зависимостях, т.к. раньше, оказывается, в ней не работали пуши без payload.
1.5.4:
- Проверка, что тип и расширение картинки совпадают, чтобы не залили png-картинку, как .jpg например.
1.5.3:
- Возможность массового включения/выключения заданий пуш-рассылки в админке.
- Консольная команда для создания заданий рассылки из активных статей, которые еще не пушились.
1.5.2:
- Необязательные настройки theme_color и background_color для web-app, которое объявляется в /push/manifest.json.
- Автоматическое определение размера указанных иконок для PWA.
- Удалены настройки DJANGO_PUSH_APP_ICON_W, DJANGO_PUSH_APP_ICON_H.
- DJANGO_PUSH_APP_ICON_URL переименована в DJANGO_PUSH_APP_ICON_URLS.
1.5.1:
- За-defer-ил загрузку джаваскриптов приложения.
1.5:
- Рассылка с учетом часового пояса пользователя.
- Чистка старых tzl и неактивных подписок, чтобы таблицы push не разростались.
1.4:
- Отправка сообщений с полезной нагрузкой.
- Delete unused FCM_SLEEP var.
- Убрана зависимость от django-sslserver, т.к. для дебага пушей на локалке ssl не нужен.
- Отказ от extra_data в подписке и передачи ext_id при клике по пушу - лишние тормоза и сложность кода ради возможности, которая никак не используется.
1.3:
- Сбор часовых поясов в push-подписках (на будущее).
- Сбор auth secret в push-подписках (на будущее, если будем шифровать payload, пока пусть база обновляется).
- Переименовал GCM в актуальный FCM в названиях настроек и переменных.
1.2:
- Удален параметр delay_while_idle=True из рассылки GCM/FCM, т.к. "This parameter is deprecated. After Nov 15th 2016, it will be accepted by FCM, but ignored.".
- Удалена возможность шифрования payload для Firefox, т.к. в новых версиях FF она перестала работать (service-worker жалуется, что не может расшифровать нагрузку).
- Совместимость с Django 1.11 LTS. Совместимость со старыми версиями неизвестна.
- Вывод времени обработки рассылок в админке без микросекунд (лишняя информация).
1.1.4:
- Немного доработано восстановление ext_id под странные версии хрома (и тех, кто использует его движок), когда передается только последняя часть урла.
1.1.3:
- Исправил непойманный exception в админке пушей при подсчете среднего ctr.
1.1.2:
- В админке по push task появился подсчет среднего ctr и всего кликов, показов. Чтобы отслеживать эффективность рассылок по периодам.
1.1.1:
- Настройка, которая позволяет отключить проверку CSRF в push-вьюхах, иногда бывает необходимо.
1.1:
- Push standalone app теперь не падает, если нет именного урла homepage для главной сайта.
- В javascript коде push убраны все зависимости от jQuery.
- Возможность хранить в БД доп. инфу по каждой подписке в JSON-формате.
- Хеш всей важной инфы по подписке в куке, чтобы сразу обновить на сервере, как только что-то изменится.
- Отключен шифрованный payload в push'ах для FF. В современном firefox шифрование сломалось (раньше работало), service-worker ругается, что не может расшифровать сообщение.
- Замена инфы из каждой push-подписки на макросы в урлах push-заданий.
1.0.1:
- Время сна в секундах между пачками в GCM рассылке вынесено в отдельную настройку.
1.0:
- Перенос всего кода в reusable app.