edx-ace 1.11.3__tar.gz → 1.11.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. {edx-ace-1.11.3 → edx-ace-1.11.4}/CHANGELOG.rst +27 -31
  2. edx-ace-1.11.4/PKG-INFO +312 -0
  3. {edx-ace-1.11.3 → edx-ace-1.11.4}/README.rst +11 -11
  4. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/__init__.py +1 -1
  5. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/utils/signals.py +4 -0
  6. edx-ace-1.11.4/edx_ace.egg-info/PKG-INFO +312 -0
  7. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace.egg-info/entry_points.txt +0 -1
  8. {edx-ace-1.11.3 → edx-ace-1.11.4}/setup.py +2 -2
  9. edx-ace-1.11.3/PKG-INFO +0 -316
  10. edx-ace-1.11.3/edx_ace.egg-info/PKG-INFO +0 -316
  11. {edx-ace-1.11.3 → edx-ace-1.11.4}/LICENSE.txt +0 -0
  12. {edx-ace-1.11.3 → edx-ace-1.11.4}/MANIFEST.in +0 -0
  13. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/ace.py +0 -0
  14. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/apps.py +0 -0
  15. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/channel/__init__.py +0 -0
  16. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/channel/braze.py +0 -0
  17. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/channel/django_email.py +0 -0
  18. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/channel/file.py +0 -0
  19. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/channel/mixins.py +0 -0
  20. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/channel/push_notification.py +0 -0
  21. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/channel/sailthru.py +0 -0
  22. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/delivery.py +0 -0
  23. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/errors.py +0 -0
  24. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/message.py +0 -0
  25. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/monitoring.py +0 -0
  26. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/policy.py +0 -0
  27. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/presentation.py +0 -0
  28. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/push_notifications/views/__init__.py +0 -0
  29. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/recipient.py +0 -0
  30. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/recipient_resolver.py +0 -0
  31. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/renderers.py +0 -0
  32. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/serialization.py +0 -0
  33. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/signals.py +0 -0
  34. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/templatetags/acetags.py +0 -0
  35. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/test_utils/__init__.py +0 -0
  36. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/tests/channel/test_braze.py +0 -0
  37. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/tests/channel/test_channel_helpers.py +0 -0
  38. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/tests/channel/test_django_email.py +0 -0
  39. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/tests/channel/test_file_email.py +0 -0
  40. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/tests/channel/test_push_notification.py +0 -0
  41. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/tests/channel/test_sailthru.py +0 -0
  42. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/tests/test_ace.py +0 -0
  43. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/tests/test_date.py +0 -0
  44. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/tests/test_delivery.py +0 -0
  45. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/tests/test_message.py +0 -0
  46. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/tests/test_policy.py +0 -0
  47. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/tests/test_presentation.py +0 -0
  48. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/tests/test_templates/testapp/edx_ace/testmessage/email/body.html +0 -0
  49. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/tests/test_templates/testapp/edx_ace/testmessage/email/head.html +0 -0
  50. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/tests/utils/test_signals.py +0 -0
  51. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/utils/__init__.py +0 -0
  52. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/utils/date.py +0 -0
  53. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/utils/once.py +0 -0
  54. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace/utils/plugins.py +0 -0
  55. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace.egg-info/SOURCES.txt +0 -0
  56. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace.egg-info/dependency_links.txt +0 -0
  57. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace.egg-info/not-zip-safe +0 -0
  58. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace.egg-info/requires.txt +0 -0
  59. {edx-ace-1.11.3 → edx-ace-1.11.4}/edx_ace.egg-info/top_level.txt +0 -0
  60. {edx-ace-1.11.3 → edx-ace-1.11.4}/requirements/base.in +0 -0
  61. {edx-ace-1.11.3 → edx-ace-1.11.4}/requirements/constraints.txt +0 -0
  62. {edx-ace-1.11.3 → edx-ace-1.11.4}/setup.cfg +0 -0
@@ -0,0 +1,312 @@
1
+ Metadata-Version: 2.1
2
+ Name: edx-ace
3
+ Version: 1.11.4
4
+ Summary: Framework for Messaging
5
+ Home-page: https://github.com/openedx/edx-ace
6
+ Author: edX
7
+ Author-email: oscm@edx.org
8
+ License: AGPL 3.0
9
+ Keywords: Django edx
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Framework :: Django
12
+ Classifier: Framework :: Django :: 4.2
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
15
+ Classifier: Natural Language :: English
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.8
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Description-Content-Type: text/x-rst
20
+ Provides-Extra: sailthru
21
+ Provides-Extra: push_notifications
22
+ License-File: LICENSE.txt
23
+
24
+ edX Automated Communication Engine (A.C.E.)
25
+ ###########################################
26
+
27
+ |License: AGPL v3| |Python CI| |Publish package to PyPi| |Status| |pypi-badge| |travis-badge| |codecov-badge|
28
+ |doc-badge| |pyversions-badge|
29
+
30
+ Purpose
31
+ *******
32
+
33
+ The `automated communication engine <https://edx-ace.readthedocs.io/en/latest/>`_, A.C.E. for short, is a Django app
34
+ for messaging learners on the Open edX platform. This
35
+ app can be installed in any Open edX project, but has only been tested with ``edx-platform``. Email delivery
36
+ (via Sailthru and Django Email)
37
+ are the currently supported delivery channels. In the future we may add support for other delivery channels such as push
38
+ notifications.
39
+
40
+ Getting Started
41
+ ***************
42
+
43
+ For instructions on starting local development, see `Getting Started page <https://github.com/openedx/edx-ace/blob/master/docs/getting_started.rst>`_.
44
+
45
+ Getting Help
46
+ ************
47
+
48
+ Documentation
49
+ -------------
50
+
51
+ See `the documentation`_. If you need more help see below.
52
+
53
+ .. _the documentation: https://edx-ace.readthedocs.io/en/latest/
54
+
55
+ More Help
56
+ ----------
57
+
58
+ If you're having trouble, we have discussion forums at
59
+ https://discuss.openedx.org where you can connect with others in the
60
+ community.
61
+
62
+ Our real-time conversations are on Slack. You can request a `Slack
63
+ invitation`_, then join our `community Slack workspace`_.
64
+
65
+ For anything non-trivial, the best path is to open an issue in this
66
+ repository with as many details about the issue you are facing as you
67
+ can provide.
68
+
69
+ https://github.com/openedx/edx-ace/issues
70
+
71
+ For more information about these options, see the `help`_ page.
72
+
73
+ .. _Slack invitation: https://openedx.org/slack
74
+ .. _community Slack workspace: https://openedx.slack.com/
75
+ .. _help: https://openedx.org/getting-help
76
+
77
+ License
78
+ *******
79
+
80
+ The code in this repository is licensed under the AGPL 3.0 unless
81
+ otherwise noted.
82
+
83
+ Please see ``LICENSE.txt`` for details.
84
+
85
+ Contributing
86
+ ************
87
+
88
+ Contributions are very welcome.
89
+
90
+ Please read `How To Contribute <https://openedx.org/r/how-to-contribute>`_ for details.
91
+
92
+ Even though they were written with ``edx-platform`` in mind, the guidelines
93
+ should be followed for Open edX code in general.
94
+
95
+ PR description template should be automatically applied if you are sending PR from github interface; otherwise you
96
+ can find it
97
+ at `PULL_REQUEST_TEMPLATE.md <https://github.com/openedx/edx-ace/blob/master/.github/PULL_REQUEST_TEMPLATE.md>`_
98
+
99
+ Issue report template should be automatically applied if you are sending it from github UI as well; otherwise you
100
+ can find it at `ISSUE_TEMPLATE.md <https://github.com/openedx/edx-ace/blob/master/.github/ISSUE_TEMPLATE.md>`_
101
+
102
+ The Open edX Code of Conduct
103
+ ****************************
104
+
105
+ All community members are expected to follow the `Open edX Code of Conduct`_.
106
+
107
+ .. _Open edX Code of Conduct: https://openedx.org/code-of-conduct/
108
+
109
+ People
110
+ ******
111
+
112
+ The assigned maintainers for this component and other project details may be
113
+ found in `Backstage`_. Backstage pulls this data from the ``catalog-info.yaml``
114
+ file in this repo.
115
+
116
+ .. _Backstage: https://open-edx-backstage.herokuapp.com/catalog/default/component/edx-ace
117
+
118
+ Reporting Security Issues
119
+ *************************
120
+
121
+ Please do not report security issues in public. Please email security@openedx.org.
122
+
123
+ .. |pypi-badge| image:: https://img.shields.io/pypi/v/edx-ace.svg
124
+ :target: https://pypi.python.org/pypi/edx-ace/
125
+ :alt: PyPI
126
+
127
+ .. |travis-badge| image:: https://travis-ci.com/edx/edx-ace.svg?branch=master
128
+ :target: https://travis-ci.com/edx/edx-ace
129
+ :alt: Travis
130
+
131
+ .. |codecov-badge| image:: http://codecov.io/github/edx/edx-ace/coverage.svg?branch=master
132
+ :target: http://codecov.io/github/edx/edx-ace?branch=master
133
+ :alt: Codecov
134
+
135
+ .. |doc-badge| image:: https://readthedocs.org/projects/edx-ace/badge/?version=latest
136
+ :target: http://edx-ace.readthedocs.io/en/latest/
137
+ :alt: Documentation
138
+
139
+ .. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/edx-ace.svg
140
+ :target: https://pypi.python.org/pypi/edx-ace/
141
+ :alt: Supported Python versions
142
+
143
+ .. |license-badge| image:: https://img.shields.io/github/license/edx/edx-ace.svg
144
+ :target: https://github.com/openedx/edx-ace/blob/master/LICENSE.txt
145
+ :alt: License
146
+
147
+ .. |License: AGPL v3| image:: https://img.shields.io/badge/License-AGPL_v3-blue.svg
148
+ :target: https://www.gnu.org/licenses/agpl-3.0
149
+
150
+ .. |Python CI| image:: https://github.com/openedx/edx-ace/actions/workflows/ci.yml/badge.svg
151
+ :target: https://github.com/openedx/edx-ace/actions/workflows/ci.yml
152
+
153
+ .. |Publish package to PyPi| image:: https://github.com/openedx/edx-ace/actions/workflows/pypi-publish.yml/badge.svg
154
+ :target: https://github.com/openedx/edx-ace/actions/workflows/pypi-release.yml
155
+
156
+ .. |Status| image:: https://img.shields.io/badge/Status-Maintained-brightgreen
157
+
158
+
159
+ Change Log
160
+ ##########
161
+
162
+ ..
163
+ All enhancements and patches to edx_ace will be documented
164
+ in this file. It adheres to the structure of http://keepachangelog.com/ ,
165
+ but in reStructuredText instead of Markdown (for ease of incorporation into
166
+ Sphinx documentation and the PyPI description).
167
+
168
+ This project adheres to Semantic Versioning (http://semver.org/).
169
+
170
+ .. There should always be an "Unreleased" section for changes pending release.
171
+
172
+ Unreleased
173
+ **********
174
+
175
+ [1.8.0] - 2024-03-06
176
+ --------------------
177
+
178
+ * Added support for ``Python 3.12``
179
+ * Dropped support for ``Django 3.2``
180
+
181
+
182
+ [1.7.0] - 2023-07-21
183
+ --------------------
184
+
185
+ * Switch from ``edx-sphinx-theme`` to ``sphinx-book-theme`` since the former is
186
+ deprecated
187
+ * Added support for django 4.2
188
+
189
+ [1.6.1] - 2023-02-07
190
+ --------------------
191
+
192
+ * Updated code coverage target in https://github.com/openedx/edx-ace/pull/189
193
+ * Updated Python Requirements in https://github.com/openedx/edx-ace/pull/199
194
+ * **Full Changelog**: https://github.com/openedx/edx-ace/compare/v1.6.0...v1.6.1
195
+
196
+ [1.5.0] - 2022-02-15
197
+ --------------------
198
+
199
+ * Added support for Django40
200
+ * Removed support for Django22, 30 and 31
201
+
202
+ [1.4.1] - 2021-12-06
203
+ --------------------
204
+
205
+ * Adds in the ability to override frequency caps for Braze emails. Can be accessed via
206
+ Message options using the key ``override_frequency_capping``. All emails containing the
207
+ ``transactional`` Message option will also override frequency caps.
208
+
209
+ [1.4.0] - 2021-11-08
210
+ --------------------
211
+
212
+ * Deprecate the action_links property
213
+ * Add a get_action_links method and template tag to allow passing arguments to action links
214
+
215
+ [1.3.1] - 2021-08-17
216
+ --------------------
217
+
218
+ * Adjust name ``handles_delivery_for_message`` to ``overrides_delivery_for_message``
219
+
220
+ [1.3.0] - 2021-08-16
221
+ --------------------
222
+
223
+ * New channel method ``handles_delivery_for_message`` for allowing a default channel
224
+ to claim a message, even if it would normally be delivered to the configured
225
+ transactional channel.
226
+ * Braze: Will handle any message defined in ``ACE_CHANNEL_BRAZE_CAMPAIGNS`` (using the
227
+ above new feature) to steal campaign messages from the transactional channel as
228
+ needed.
229
+
230
+ [1.2.0] - 2021-07-16
231
+ --------------------
232
+
233
+ * Added support for django 3.2
234
+
235
+ [1.1.1] - 2021-07-09
236
+ --------------------
237
+
238
+ * Removed upper constraint from Django
239
+
240
+ [1.1.0] - 2021-03-26
241
+ --------------------
242
+
243
+ * Braze: Add ACE_CHANNEL_BRAZE_FROM_EMAIL setting to override the normal from address
244
+ * Sailthru: Remove Braze rollout waffle flag
245
+
246
+ [1.0.1] - 2021-03-15
247
+ --------------------
248
+
249
+ * Braze: Add an unsubscribe action link
250
+ * Braze: Don't ask Braze to inline css, as ACE templates already have inline css
251
+
252
+ [1.0.0] - 2021-03-11
253
+ --------------------
254
+
255
+ * BREAKING: Recipient objects now take `lms_user_id` instead of `username`
256
+ * New `braze_email` backend, needing the following new configuration:
257
+
258
+ * ACE_CHANNEL_BRAZE_API_KEY
259
+ * ACE_CHANNEL_BRAZE_APP_ID
260
+ * ACE_CHANNEL_BRAZE_REST_ENDPOINT (like `rest.iad-01.braze.com`)
261
+ * ACE_CHANNEL_BRAZE_CAMPAIGNS (an optional dictionary of ACE message names to Braze campaign identifiers)
262
+
263
+ [0.1.18] - 2020-11-19
264
+ ---------------------
265
+
266
+ * Updated he travis-badge in README.rst to point to travis-ci.com
267
+
268
+ [0.1.17] - 2020-10-19
269
+ ---------------------
270
+
271
+ * Use IntEnum to avoid silent failure in value comparisons
272
+
273
+ [0.1.16] - 2020-10-17
274
+ ---------------------
275
+
276
+ * Fixed Enum usage for Python 3.8 to avoid TypeError when comparing values
277
+
278
+ [0.1.15] - 2020-03-11
279
+ ---------------------
280
+
281
+ * Added support for Python 3.8
282
+ * Removed support for Django 2.0 and 2.1
283
+
284
+ [0.1.14] - 2020-03-11
285
+ ---------------------
286
+
287
+ * Fix trivial warning from deprecated use of attr library.
288
+
289
+ [0.1.13] - 2019-12-06
290
+ ---------------------
291
+
292
+ * Django22 Support.
293
+
294
+ [0.1.12] - 2019-10-16
295
+ ---------------------
296
+
297
+ * Reply_to field added in emails.
298
+
299
+ [0.1.10] - 2018-11-01
300
+ ---------------------
301
+
302
+ * Django lazy text translations are handled properly.
303
+
304
+ [0.1.9] - 2018-07-13
305
+ --------------------
306
+
307
+ * Updated delivery logging
308
+
309
+ [0.1.0] - 2017-08-08
310
+ --------------------
311
+
312
+ * [Added] First release on PyPI.
@@ -4,4 +4,3 @@ django_email = edx_ace.channel.django_email:DjangoEmailChannel
4
4
  file_email = edx_ace.channel.file:FileEmailChannel
5
5
  push_notification = edx_ace.channel.push_notification:PushNotificationChannel
6
6
  sailthru_email = edx_ace.channel.sailthru:SailthruEmailChannel
7
-
@@ -94,8 +94,8 @@ if sys.argv[-1] == 'tag':
94
94
  os.system("git push --tags")
95
95
  sys.exit()
96
96
 
97
- README = open(os.path.join(os.path.dirname(__file__), 'README.rst')).read()
98
- CHANGELOG = open(os.path.join(os.path.dirname(__file__), 'CHANGELOG.rst')).read()
97
+ README = open(os.path.join(os.path.dirname(__file__), 'README.rst'), encoding="utf-8").read()
98
+ CHANGELOG = open(os.path.join(os.path.dirname(__file__), 'CHANGELOG.rst'), encoding="utf-8").read()
99
99
 
100
100
  setup(
101
101
  name='edx-ace',
edx-ace-1.11.3/PKG-INFO DELETED
@@ -1,316 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: edx-ace
3
- Version: 1.11.3
4
- Summary: Framework for Messaging
5
- Home-page: https://github.com/openedx/edx-ace
6
- Author: edX
7
- Author-email: oscm@edx.org
8
- License: AGPL 3.0
9
- Description: edX Automated Communication Engine (A.C.E.)
10
- ###########################################
11
-
12
- |License: AGPL v3| |Python CI| |Publish package to PyPi| |Status| |pypi-badge| |travis-badge| |codecov-badge|
13
- |doc-badge| |pyversions-badge|
14
-
15
- Purpose
16
- =======
17
-
18
- The `automated communication engine <https://edx-ace.readthedocs.io/en/latest/>`_, A.C.E. for short, is a Django app
19
- for messaging learners on the Open edX platform. This
20
- app can be installed in any Open edX project, but has only been tested with ``edx-platform``. Email delivery
21
- (via Sailthru and Django Email)
22
- are the currently supported delivery channels. In the future we may add support for other delivery channels such as push
23
- notifications.
24
-
25
- Getting Started
26
- ===============
27
-
28
- For instructions on starting local development, see `Getting Started <https://github.com/openedx/edx-ace/blob/master/docs/getting_started.rst>`_.
29
-
30
- Getting Help
31
- ============
32
-
33
- Documentation
34
- -------------
35
-
36
- See `the documentation`_. If you need more help see below.
37
-
38
- .. _the documentation: https://edx-ace.readthedocs.io/en/latest/
39
-
40
- More Help
41
- ----------
42
-
43
- If you're having trouble, we have discussion forums at
44
- https://discuss.openedx.org where you can connect with others in the
45
- community.
46
-
47
- Our real-time conversations are on Slack. You can request a `Slack
48
- invitation`_, then join our `community Slack workspace`_.
49
-
50
- For anything non-trivial, the best path is to open an issue in this
51
- repository with as many details about the issue you are facing as you
52
- can provide.
53
-
54
- https://github.com/openedx/edx-ace/issues
55
-
56
- For more information about these options, see the `Getting Help`_ page.
57
-
58
- .. _Slack invitation: https://openedx.org/slack
59
- .. _community Slack workspace: https://openedx.slack.com/
60
- .. _Getting Help: https://openedx.org/getting-help
61
-
62
- License
63
- =======
64
-
65
- The code in this repository is licensed under the AGPL 3.0 unless
66
- otherwise noted.
67
-
68
- Please see ``LICENSE.txt`` for details.
69
-
70
- Contributing
71
- ============
72
-
73
- Contributions are very welcome.
74
-
75
- Please read `How To Contribute <https://openedx.org/r/how-to-contribute>`_ for details.
76
-
77
- Even though they were written with ``edx-platform`` in mind, the guidelines
78
- should be followed for Open edX code in general.
79
-
80
- PR description template should be automatically applied if you are sending PR from github interface; otherwise you
81
- can find it
82
- at `PULL_REQUEST_TEMPLATE.md <https://github.com/openedx/edx-ace/blob/master/.github/PULL_REQUEST_TEMPLATE.md>`_
83
-
84
- Issue report template should be automatically applied if you are sending it from github UI as well; otherwise you
85
- can find it at `ISSUE_TEMPLATE.md <https://github.com/openedx/edx-ace/blob/master/.github/ISSUE_TEMPLATE.md>`_
86
-
87
- The Open edX Code of Conduct
88
- ============================
89
-
90
- All community members are expected to follow the `Open edX Code of Conduct`_.
91
-
92
- .. _Open edX Code of Conduct: https://openedx.org/code-of-conduct/
93
-
94
- People
95
- ======
96
-
97
- The assigned maintainers for this component and other project details may be
98
- found in `Backstage`_. Backstage pulls this data from the ``catalog-info.yaml``
99
- file in this repo.
100
-
101
- .. _Backstage: https://open-edx-backstage.herokuapp.com/catalog/default/component/edx-ace
102
-
103
- Reporting Security Issues
104
- =========================
105
-
106
- Please do not report security issues in public. Please email security@openedx.org.
107
-
108
- .. |pypi-badge| image:: https://img.shields.io/pypi/v/edx-ace.svg
109
- :target: https://pypi.python.org/pypi/edx-ace/
110
- :alt: PyPI
111
-
112
- .. |travis-badge| image:: https://travis-ci.com/edx/edx-ace.svg?branch=master
113
- :target: https://travis-ci.com/edx/edx-ace
114
- :alt: Travis
115
-
116
- .. |codecov-badge| image:: http://codecov.io/github/edx/edx-ace/coverage.svg?branch=master
117
- :target: http://codecov.io/github/edx/edx-ace?branch=master
118
- :alt: Codecov
119
-
120
- .. |doc-badge| image:: https://readthedocs.org/projects/edx-ace/badge/?version=latest
121
- :target: http://edx-ace.readthedocs.io/en/latest/
122
- :alt: Documentation
123
-
124
- .. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/edx-ace.svg
125
- :target: https://pypi.python.org/pypi/edx-ace/
126
- :alt: Supported Python versions
127
-
128
- .. |license-badge| image:: https://img.shields.io/github/license/edx/edx-ace.svg
129
- :target: https://github.com/openedx/edx-ace/blob/master/LICENSE.txt
130
- :alt: License
131
-
132
- .. |License: AGPL v3| image:: https://img.shields.io/badge/License-AGPL_v3-blue.svg
133
- :target: https://www.gnu.org/licenses/agpl-3.0
134
-
135
- .. |Python CI| image:: https://github.com/openedx/edx-ace/actions/workflows/ci.yml/badge.svg
136
- :target: https://github.com/openedx/edx-ace/actions/workflows/ci.yml
137
-
138
- .. |Publish package to PyPi| image:: https://github.com/openedx/edx-ace/actions/workflows/pypi-publish.yml/badge.svg
139
- :target: https://github.com/openedx/edx-ace/actions/workflows/pypi-release.yml
140
-
141
- .. |Status| image:: https://img.shields.io/badge/Status-Maintained-brightgreen
142
-
143
-
144
- Change Log
145
- ----------
146
-
147
- ..
148
- All enhancements and patches to edx_ace will be documented
149
- in this file. It adheres to the structure of http://keepachangelog.com/ ,
150
- but in reStructuredText instead of Markdown (for ease of incorporation into
151
- Sphinx documentation and the PyPI description).
152
-
153
- This project adheres to Semantic Versioning (http://semver.org/).
154
-
155
- .. There should always be an "Unreleased" section for changes pending release.
156
-
157
- Unreleased
158
- ~~~~~~~~~~
159
-
160
- [1.8.0] - 2024-03-06
161
- ~~~~~~~~~~~~~~~~~~~~
162
- * Added support for ``Python 3.12``
163
- * Dropped support for ``Django 3.2``
164
-
165
-
166
- [1.7.0] - 2023-07-21
167
- ~~~~~~~~~~~~~~~~~~~~
168
-
169
- * Switch from ``edx-sphinx-theme`` to ``sphinx-book-theme`` since the former is
170
- deprecated
171
- * Added support for django 4.2
172
-
173
- [1.6.1] - 2023-02-07
174
- ~~~~~~~~~~~~~~~~~~~~
175
-
176
- * Updated code coverage target in https://github.com/openedx/edx-ace/pull/189
177
- * Updated Python Requirements in https://github.com/openedx/edx-ace/pull/199
178
- * **Full Changelog**: https://github.com/openedx/edx-ace/compare/v1.6.0...v1.6.1
179
-
180
- [1.5.0] - 2022-02-15
181
- ~~~~~~~~~~~~~~~~~~~~
182
-
183
- * Added support for Django40
184
- * Removed support for Django22, 30 and 31
185
-
186
- [1.4.1] - 2021-12-06
187
- ~~~~~~~~~~~~~~~~~~~~
188
-
189
- * Adds in the ability to override frequency caps for Braze emails. Can be accessed via
190
- Message options using the key ``override_frequency_capping``. All emails containing the
191
- ``transactional`` Message option will also override frequency caps.
192
-
193
- [1.4.0] - 2021-11-08
194
- ~~~~~~~~~~~~~~~~~~~~
195
-
196
- * Deprecate the action_links property
197
- * Add a get_action_links method and template tag to allow passing arguments to action links
198
-
199
- [1.3.1] - 2021-08-17
200
- ~~~~~~~~~~~~~~~~~~~~
201
-
202
- * Adjust name ``handles_delivery_for_message`` to ``overrides_delivery_for_message``
203
-
204
- [1.3.0] - 2021-08-16
205
- ~~~~~~~~~~~~~~~~~~~~
206
-
207
- * New channel method ``handles_delivery_for_message`` for allowing a default channel
208
- to claim a message, even if it would normally be delivered to the configured
209
- transactional channel.
210
- * Braze: Will handle any message defined in ``ACE_CHANNEL_BRAZE_CAMPAIGNS`` (using the
211
- above new feature) to steal campaign messages from the transactional channel as
212
- needed.
213
-
214
- [1.2.0] - 2021-07-16
215
- ~~~~~~~~~~~~~~~~~~~~
216
-
217
- * Added support for django 3.2
218
-
219
- [1.1.1] - 2021-07-09
220
- ~~~~~~~~~~~~~~~~~~~~
221
-
222
- * Removed upper constraint from Django
223
-
224
- [1.1.0] - 2021-03-26
225
- ~~~~~~~~~~~~~~~~~~~~
226
-
227
- * Braze: Add ACE_CHANNEL_BRAZE_FROM_EMAIL setting to override the normal from address
228
- * Sailthru: Remove Braze rollout waffle flag
229
-
230
- [1.0.1] - 2021-03-15
231
- ~~~~~~~~~~~~~~~~~~~~
232
-
233
- * Braze: Add an unsubscribe action link
234
- * Braze: Don't ask Braze to inline css, as ACE templates already have inline css
235
-
236
- [1.0.0] - 2021-03-11
237
- ~~~~~~~~~~~~~~~~~~~~
238
-
239
- * BREAKING: Recipient objects now take `lms_user_id` instead of `username`
240
- * New `braze_email` backend, needing the following new configuration:
241
-
242
- * ACE_CHANNEL_BRAZE_API_KEY
243
- * ACE_CHANNEL_BRAZE_APP_ID
244
- * ACE_CHANNEL_BRAZE_REST_ENDPOINT (like `rest.iad-01.braze.com`)
245
- * ACE_CHANNEL_BRAZE_CAMPAIGNS (an optional dictionary of ACE message names to Braze campaign identifiers)
246
-
247
- [0.1.18] - 2020-11-19
248
- ~~~~~~~~~~~~~~~~~~~~~
249
-
250
- * Updated he travis-badge in README.rst to point to travis-ci.com
251
-
252
- [0.1.17] - 2020-10-19
253
- ~~~~~~~~~~~~~~~~~~~~~
254
-
255
- * Use IntEnum to avoid silent failure in value comparisons
256
-
257
- [0.1.16] - 2020-10-17
258
- ~~~~~~~~~~~~~~~~~~~~~
259
-
260
- * Fixed Enum usage for Python 3.8 to avoid TypeError when comparing values
261
-
262
- [0.1.15] - 2020-03-11
263
- ~~~~~~~~~~~~~~~~~~~~~
264
-
265
- * Added support for Python 3.8
266
- * Removed support for Django 2.0 and 2.1
267
-
268
- [0.1.14] - 2020-03-11
269
- ~~~~~~~~~~~~~~~~~~~~~
270
-
271
- * Fix trivial warning from deprecated use of attr library.
272
-
273
- [0.1.13] - 2019-12-06
274
- ~~~~~~~~~~~~~~~~~~~~~
275
-
276
- * Django22 Support.
277
-
278
- [0.1.12] - 2019-10-16
279
- ~~~~~~~~~~~~~~~~~~~~~
280
-
281
- * Reply_to field added in emails.
282
-
283
- [0.1.10] - 2018-11-01
284
- ~~~~~~~~~~~~~~~~~~~~~
285
-
286
- * Django lazy text translations are handled properly.
287
-
288
-
289
- [0.1.9] - 2018-07-13
290
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
291
-
292
- * Updated delivery logging
293
-
294
-
295
- [0.1.0] - 2017-08-08
296
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
297
-
298
- Added
299
- _____
300
-
301
- * First release on PyPI.
302
-
303
- Keywords: Django edx
304
- Platform: UNKNOWN
305
- Classifier: Development Status :: 3 - Alpha
306
- Classifier: Framework :: Django
307
- Classifier: Framework :: Django :: 4.2
308
- Classifier: Intended Audience :: Developers
309
- Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
310
- Classifier: Natural Language :: English
311
- Classifier: Programming Language :: Python :: 3
312
- Classifier: Programming Language :: Python :: 3.8
313
- Classifier: Programming Language :: Python :: 3.12
314
- Description-Content-Type: text/x-rst
315
- Provides-Extra: sailthru
316
- Provides-Extra: push_notifications