-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathChangeLog.txt
83 lines (65 loc) · 4.12 KB
/
ChangeLog.txt
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
OntraportApi.NET
What's New
v1.3.2
- For advanced search, ApiSearchOptions now sets 'ids' to 0 if not specified, as it is required to return all objects
v1.3
- Added Ontraport Purchases
- Updated dependencies
v1.2.9
- void OntraportPostForms.ServerPost changed to Task ServerPostAsync
- Updated dependencies versions
v1.2.8
- Fix RequestUrl not showing fully in log (regression in v1.2.7)
v1.2.7 (2023-03-16)
- Fix some parsing problems reading transaction offers
- Bool fields can now read either string or int
- Enable parsing of non-nullable Bool fields
- Enable parsing of non-nullable DateTimeOffset fields
- Enable parsing of Decimal fields
- Added product type "single" (any difference with "onetime"?)
- Fix problem with OntraportObjects due to recent TOverride changes
- Fix problem with AddTagNamesAsync, pass "ids" as array instead of comma-delimited
- Removed OntraportObjects.SelectByUniqueId
- Removed WebHook.Owner property
- Tried to fix WebHook.Subscribe method but failed. There are a few minor APIs that are broken. There are also some fields that have been added or removed over time. If you need those new fields, code contributions are welcomed.
v1.2.6 (2023-03-15)
- TOverride now applies to select conditions, sort and listFields (but not externs)
- Fix a crash with .NET 4.8 with GET requests
- Raised framework dependency to .NET 5.0 for AspNetCore and IdentityCore
v1.2.5 (2021-05-08)
- Fixed a data parsing bug
v1.2.4 (2020-10-15)
- ApiTransaction.Offer property is now writeable, useful for unit testing
- OntraportUserStore now implements IUserTwoFactorStore, IUserPhoneNumberStore and IUserSecurityStampStore
- TOverride is now passed correctly to base classes
TOverride allows switching between Live and Dev Ontraport accounts where field keys are different. TOverride was difficult to use due to always requiring creating model classes of derived types. One option was to add a CreateModel on the base class and make the model constructors internal, but this made it harder to use the classes.
I've changed the approach with TOverride to always use the T model classes and automatically replace field names between T and TOverride when reading and writing data. The mapping is done via reflection. It has a performance cost, but reflection is only done on the first call and the override map is then cached for each class type. Furthermore, TOverride is only used for development and this code is skipped in production.
The usage is transparent to the user, but the field override definition is different. Model keys are now defined as "public const string" on class T and "public new const string" on TOverride. This avoids polluting the model quick view with extra properties, and the "new" ensures the constant names match in both classes.
v1.2.3 (2020-10-08)
- Added ApiTransaction.Offer to parse OfferData
- Updated to reflect recent API changes
- Added unique_id field
- ApiContact removed NumPurchased
- ApiContact added FacebookLink, TwitterLink, InstagramLink, LinkedInLink, ProfileImage, UnpaidInvoices, HasMembership, EmailHash
- ApiForm removed SkipBackgroundAutomation, RuleHash
- ApiForm added UniqueConvert
- ApiMessage added SiteId
- ApiSearchOptions.GroupIds replaced with GroupId
v1.2.2 (2020-10-02)
- Changed IIdentityContact to have nullable types
- XML code documentation was missing! Fixed
v1.2.1 (2020-09-25)
- Removed duplicate OntraportConfig class
v1.2 (2020-09-25)
- Added an Ontraport Membership Manager for Identity Framework Core
- Added CancellationToken option to all requests
- Added the ability to override custom ApiContact (and custom objects) field members to allow switching between live and development Ontraport accounts (where field IDs are different)
- Added Nullables annotations
- When queries find no result, it will now return null instead of throwing an exception
- All API calls now return only 3 possible exceptions: HttpRequestException, InvalidOperationException or TaskCanceledException.
- Replaced Newtonsoft.Json with System.Text.Json
- Fixed bugs
v1.0.2 (2020-02-11)
- Fixed minor bugs
- No longer set 'performAll' in query when search options aren't set
- Fixed AddOntraportPostForms for services registration