forked from djaodjin/djaodjin-saas
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchangelog
366 lines (239 loc) · 11 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
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
Roadmap
=======
1.0
* rename <organization> into <profile> in url paths
* support for Vue3
* adds APIs for UseCharge
Released versions
=================
0.15.5
* removes dependency on vue-infinite-loading for pagination
* makes broker fee functional
* enables override of product_url
-- Sebastien Mirolo <[email protected]> Sat, 25 Feb 2023 06:54:00 -0700
0.15.4
* uses unique slug for RoleDescription to be consistent with Plan
* escapes comma instead of spaces in typeahead search to improve usability
* fixes `fail_subcription` when dealing with a single Plan
-- Sebastien Mirolo <[email protected]> Wed, 4 Jan 2023 12:05:00 -0700
0.15.3
* supports list of plans in fail_subcription
* fixes search by ForeignKey in roles page
* adds computed boolean `outdated` query params
* redirects when creating a profile as part of workflow
-- Sebastien Mirolo <[email protected]> Fri, 16 Dec 2022 21:22:00 -0700
0.15.2
* adds optional URL to download a PDF version of a receipt
* unsubscribes only subscriber through a plan API (fixes regression)
-- Sebastien Mirolo <[email protected]> Fri, 7 Oct 2022 13:35:00 -0700
0.15.1
* uses serialized transactions in notifications (fixes regression)
* fitlers by a search term (fixes regression)
-- Sebastien Mirolo <[email protected]> Mon, 3 Oct 2022 14:45:00 -0700
0.15.0
* reworks API for active, all and churned subscriptions for consistency
* reverts to detail serializer in key list APIs
* fixes unengaged db query (ORM did not produce expected code)
* fixes regression to show registered users to broker
-- Sebastien Mirolo <[email protected]> Fri, 16 Sep 2022 13:40:00 -0700
0.14.0
* consistently uses profile fields in serializers
* searches one of space-separated terms (use "" for `and`)
* makes definition of SAAS_ORGANIZATION_MODEL optionnal (regression 0.12.0)
* expects `full_name` when creating subscription
-- Sebastien Mirolo <[email protected]> Thu, 25 Aug 2022 20:58:00 -0700
0.12.0
* removes trailing '/' for all API endpoints
* adds profile slug in charge APIs (/api/billing/{profile}/charges/{charge})
* returns plan title in CartItemSerializer
* supports Django4.0
* upgrades testsite to default to Django3.2
* moves HTML views urls to urls.views module
* prepares change from organization_url_kwarg to profile_url_kwarg
Thank you to [Amir Raouf](https://github.com/amirraouf)
for the following contributions:
* Add abstract classes for Role and Organization Model
* Map foreign keys to settings ORGANIZATION_MODEL instead of explicit
Organization model
* Fix model choices to be tuple instead of set
-- Sebastien Mirolo <[email protected]> Wed, 20 July 2022 19:00:00 -0700
0.11.0
* fixes balance when extending a subscription through a group buy
* fixes line items when checkout a group buy (#154, #155)
* adds engaged/unengaged subscribers APIs
* moves create shadow profile to /api/accounts/profiles/
* adds inital compatibility with Django4.0
-- Sebastien Mirolo <[email protected]> Tue, 24 May 2022 19:47:00 -0700
0.10.3
* adds API to retrieve inactive profiles
* fixes multiple issues with create profile and optional fields
-- Sebastien Mirolo <[email protected]> Tue, 7 Dec 2021 03:12:00 -0700
0.10.2
* restores backward compatibility - subscriptions key in profile detail API
-- Sebastien Mirolo <[email protected]> Thu, 27 Oct 2021 12:46:00 -0700
0.10.1
* moves serializers.UserSerializer to serializers_overrides.UserSerializer
* enables broker profile manager to update global RoleDescriptions
* normalizes phone number before saving them into the database
* prevents use of Coupon above nb_attempts limit (fix)
* enables to customize html/css for pagination links
-- Sebastien Mirolo <[email protected]> Thu, 30 Sep 2021 00:00:00 -0700
0.10.0
* works with with Django3.2
* prepares compatibility with Vue3
* moves all i18n translation server-side
* renames `subscriptions` key into `subscribes_to` as it points to a Plan
* categorizes a double-POST of the same Stripe token as a CardError
-- Sebastien Mirolo <[email protected]> Sun, 18 Jul 2021 17:30:00 -0700
0.9.5
* keeps user model fields in sync with personal billing profile
* prints last4 as exactly 4 digits on receipts
* fixes index error in the presence of 100% discount and advance payments
* fixes statement balances in the presence of GroupBuy
* fixes PaymentIntent not found while using StripeConnect accounts
* redirects to login page on redirects-to-profile if user not authenticated
-- Sebastien Mirolo <[email protected]> Mon, 26 Apr 2021 22:25:00 -0700
0.9.4
* adds processor in checkout and card APIs
* fixes computed balance due when subscription is free
* re-raises all StripeError as ProcessorError
-- Sebastien Mirolo <[email protected]> Thu, 25 Mar 2021 11:01:00 -0700
0.9.3
* migrates to Stripe PaymentIntent for SCA
* adds balance due in checkout page
* computes customers lifetime value (LTV) for a provider
* reports error details when the payment processor has issues
-- Sebastien Mirolo <[email protected]> Tue, 23 Feb 2021 09:30:00 -0700
0.9.2
* fixes translation of Transaction description when using period discounts
-- Sebastien Mirolo <[email protected]> Wed, 2 Sep 2020 10:43:00 -0700
0.9.1
* translates Transaction description on display
* fixes regression when creating code through the API
* increases length of processor keys to 255
-- Sebastien Mirolo <[email protected]> Tue, 1 Sep 2020 17:34:00 -0700
0.9.0
* reworks discount with an AdvanceDiscount model
* adds pricing api
* compatibles with Django3
* fixes recording CartItem twice
-- Sebastien Mirolo <[email protected]> Thu, 7 Jun 2020 15:30:00 -0700
0.8.4
* claims organization with no roles based on e-mail address
* fixes implicit role grants
-- Sebastien Mirolo <[email protected]> Thu, 5 Mar 2020 09:35:00 -0700
0.8.3
* adds implicit role to user when none exists
* uses class name instead of HTML node indexes as hooks in checkout pages
* uses consistent balance_amount/balance_unit accross APIs
* replaces django-urldecorators by djaodjin-rules in testsite
-- Sebastien Mirolo <[email protected]> Wed, 22 Jan 2020 10:15:00 -0700
0.8.2
* fixes add roles and subscriptions in multiple profile/user configurations
* works around for Django/SQLite bug (#230)
-- Sebastien Mirolo <[email protected]> Fri, 13 Dec 2019 13:25:00 -0700
0.8.0
* uses inline-template for Vue.js components
* uploads profile picture
* signals when processor is not connected and a charge is attempted
-- Sebastien Mirolo <[email protected]> Sat, 26 Oct 2019 13:10:00 -0700
0.7.0
* adds marketplace processing fee
* restricts coupon to plan or number of use through UI
* fixes invite new organizations with erroneous slugs
-- Sebastien Mirolo <[email protected]> Sat, 14 Sep 2019 02:18:56 -0700
0.6.3
* updates card-on-file directly in /billing/cart/ page
* makes /api/accounts/ a search API instead of a typeahead API
* fixes default search fields when looking for subscribers
* adds remove card-on-file button in page templates
-- Sebastien Mirolo <[email protected]> Tue, 13 Aug 2019 15:12:00 -0700
0.6.2
* enables multiple StripeConnect authorize url (live/test)
* fixes infinitescroll
* fixes connect DELETE method to unsubscribes
-- Sebastien Mirolo <[email protected]> Wed, 7 Aug 2019 00:00:00 -0700
0.6.1
* improves API documentation
* creates billing profile implicitely in various workflows
* adds hooks for infinitescroll
-- Sebastien Mirolo <[email protected]> Tue, 30 Jul 2019 00:00:00 -0700
0.6.0
* supports sort by multiple columns (#182)
* adds day_periods function (#199)
* displays invited/requested roles first
* populates organization fields when it is created alongside a subscription
-- Sebastien Mirolo <[email protected]> Mon, 10 Jun 2019 12:26:00 -0700
0.5.1
* adss API to accept a role grant
* fixes calculations of `invited_count` and `requested_count` through filters
-- Sebastien Mirolo <[email protected]> Fri, 3 May 2019 13:33:00 -0700
0.5.0
* adss role_status filter (active/invited/requested) to roles APIs
* improves support of search accounts APIs for typeahead
* adds sign agreement API
* moves is_broker from saas.models to saas.utils
* inserts only views related to the type of organization in `urls` context
such that it is simpler to generate menu bars.
-- Sebastien Mirolo <[email protected]> Tue, 23 Apr 2019 09:12:03 -0700
0.4.1
* separates search api for type-ahead candidate lists
* adds filter and sort to plans API
* fixes #180
-- Sebastien Mirolo <[email protected]> Fri, 5 Apr 2019 12:04:48 -0700
0.4.0
* defaults to vuejs front-end
* merges Organization and User profile APIs
* adds i18n translations to javascript
* adds picture field to Organization
* adds API endpoint to re-send an invitation.
* removes default natural `start_at` date on queries. it wasn't so natural
after all.
-- Sebastien Mirolo <[email protected]> Sun, 31 Mar 2019 09:38:37 -0700
0.3.4
* adds experimental vue.js front-end
* triggers more signals when getting closer to renewal time
* uses broker as a candidate in fail_direct
-- Sebastien Mirolo <[email protected]> Tue, 4 Dec 2018 14:26:47 -0800
0.3.2
* Compatible with Django 2.0.x
* Adds command to reconcile payouts with processor
* Generates revenue reports in utc and local time
-- Sebastien Mirolo <[email protected]> Fri, 27 Apr 2018 08:25:09 -0700
0.3.0
* Grants and requests for double opt-in on roles and subscriptions.
* Adds logic for use charges
-- Sebastien Mirolo <[email protected]> Wed, 13 Dec 2017 12:12:20 -0700
0.2.6
* Compatible with Python 3.6
-- Sebastien Mirolo <[email protected]> Tue, 27 Jun 2017 12:12:20 -0700
0.2.4
* Generic roles
* Cancel total balance due (#95)
-- Sebastien Mirolo <[email protected]> Wed, 7 Sep 2016 00:00:00 -0900
0.2.3
* API to checkout cart
-- Sebastien Mirolo <[email protected]> Sun, 26 Jun 2016 00:00:00 -0900
0.2.2
* Create dashboard views
* Generate requests for a role on an organization
* Add Razorpay backend
-- Sebastien Mirolo <[email protected]> Tue, 24 May 2016 00:00:00 -0900
0.2.0
* Generalize role relationship
* Replace Stripe Recipients by use of StripeConnect
-- Sebastien Mirolo <[email protected]> Fri, 5 Feb 2016 00:00:00 -0900
0.1.8
* Refactor ledger to fully support backlog accounting
-- Sebastien Mirolo <[email protected]> Thu, 13 Aug 2015 00:00:00 -0900
0.1.7
* Update support to Django 1.7 and django-restframework 3.1
-- Sebastien Mirolo <[email protected]> Wed, 13 May 2015 00:00:00 -0900
0.1.4
* Create coupon metrics pages
* Clean REST API
* Simplify template names
-- Sebastien Mirolo <[email protected]> Thu, 14 Aug 2014 15:16:57 -0700
0.1.3
* Initial Release.
-- Sebastien Mirolo <[email protected]> Mon, 26 May 2014 00:08:22 -0700