bkper-js 2.9.1 → 2.10.0

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.
package/CHANGELOG.md CHANGED
@@ -2,387 +2,371 @@
2
2
 
3
3
  See what's new and what has changed in bkper-js
4
4
 
5
- 2025
6
- ----
5
+ ## 2025
7
6
 
8
7
  **September 2025**
9
- * **v2.8.0 - INTERNAL REFACTOR:**
10
- * Introduced abstract `Resource` class for all model entities
11
- * Improved config management with `getConfig()` pattern for config resolution
12
- * Enhanced type safety with explicit Config type usage throughout
13
- * Standardized `json()` method across resources for consistent JSON serialization
14
- * Maintained full backward compatibility - no breaking changes to existing APIs
15
- * Added `Account.isBalanceVerified`
16
- * Added `App.getOwnerWebsiteUrl`
17
- * Added `App.getReadme`
18
- * Added `App.getRepositoryUrl`
19
- * Added `App.getWebsiteUrl`
20
- * Added `App.isInstallable`
21
- * Added `App.isRepositoryPrivate`
22
- * Added `Book.getCollaborators`
23
- * Added `Collaborator`
24
- * Added `Collaborator.json`
25
- * Added `Collaborator.getId`
26
- * Added `Collaborator.getEmail`
27
- * Added `Collaborator.getPermission`
28
- * Added `Collaborator.setEmail`
29
- * Added `Collaborator.setPermission`
30
- * Added `Collaborator.create`
31
- * Added `Collaborator.update`
32
- * Added `Collaborator.remove`
33
- * Added `Group.isBalanceVerified`
34
- * Replaced axios with native Fetch API for better compatibility with multiple environments
8
+
9
+ - **v2.8.0 - INTERNAL REFACTOR:**
10
+ - Introduced abstract `Resource` class for all model entities
11
+ - Improved config management with `getConfig()` pattern for config resolution
12
+ - Enhanced type safety with explicit Config type usage throughout
13
+ - Standardized `json()` method across resources for consistent JSON serialization
14
+ - Maintained full backward compatibility - no breaking changes to existing APIs
15
+ - Added `Account.isBalanceVerified`
16
+ - Added `App.getOwnerWebsiteUrl`
17
+ - Added `App.getReadme`
18
+ - Added `App.getRepositoryUrl`
19
+ - Added `App.getWebsiteUrl`
20
+ - Added `App.isInstallable`
21
+ - Added `App.isRepositoryPrivate`
22
+ - Added `Book.getCollaborators`
23
+ - Added `Collaborator`
24
+ - Added `Collaborator.json`
25
+ - Added `Collaborator.getId`
26
+ - Added `Collaborator.getEmail`
27
+ - Added `Collaborator.getPermission`
28
+ - Added `Collaborator.setEmail`
29
+ - Added `Collaborator.setPermission`
30
+ - Added `Collaborator.create`
31
+ - Added `Collaborator.update`
32
+ - Added `Collaborator.remove`
33
+ - Added `Group.isBalanceVerified`
34
+ - Replaced axios with native Fetch API for better compatibility with multiple environments
35
35
 
36
36
  **August 2025**
37
37
 
38
- * Added `Transaction.setFiles`
39
- * Added `File.getProperties`
40
- * Added `File.setProperties`
41
- * Added `File.getProperty`
42
- * Added `File.setProperty`
43
- * Added `File.deleteProperty`
38
+ - Added `Transaction.setFiles`
39
+ - Added `File.getProperties`
40
+ - Added `File.setProperties`
41
+ - Added `File.getProperty`
42
+ - Added `File.setProperty`
43
+ - Added `File.deleteProperty`
44
44
 
45
45
  **July 2025**
46
46
 
47
- * **BREAKING CHANGE:** Refactored `Bkper` class from static methods to constructor-based pattern
48
- * **BREAKING CHANGE:** Removed deprecated methods: `Transaction.remove()`, `Transaction.restore()`, `Account.getBalance()`, `Account.getBalanceRaw()`
49
- * **MIGRATION:** Use `transaction.trash()` and `transaction.untrash()` instead of `remove()` and `restore()`
50
- * **MIGRATION:** Use `Book.getBalancesReport()` instead of `Account.getBalance()` methods
51
- * Added `Balance` class back for improved balance reporting
52
- * Added `BalancesDataTableBuilder` for building balance data tables
53
- * Added `BalanceType` enum with TOTAL, PERIOD, and CUMULATIVE options
54
- * Added `includeGroups` parameter to `Bkper.getBook()` method for selective group loading
47
+ - **BREAKING CHANGE:** Refactored `Bkper` class from static methods to constructor-based pattern
48
+ - **BREAKING CHANGE:** Removed deprecated methods: `Transaction.remove()`, `Transaction.restore()`, `Account.getBalance()`, `Account.getBalanceRaw()`
49
+ - **MIGRATION:** Use `transaction.trash()` and `transaction.untrash()` instead of `remove()` and `restore()`
50
+ - **MIGRATION:** Use `Book.getBalancesReport()` instead of `Account.getBalance()` methods
51
+ - Added `Balance` class back for improved balance reporting
52
+ - Added `BalancesDataTableBuilder` for building balance data tables
53
+ - Added `BalanceType` enum with TOTAL, PERIOD, and CUMULATIVE options
54
+ - Added `includeGroups` parameter to `Bkper.getBook()` method for selective group loading
55
55
 
56
+ **June 2025**
56
57
 
57
- **June 2025**
58
- * Added `Book.copy`
59
- * Added `Transaction.getUpdatedAt`
60
- * Added `Transaction.getUpdatedAtFormatted`
58
+ - Added `Book.copy`
59
+ - Added `Transaction.getUpdatedAt`
60
+ - Added `Transaction.getUpdatedAtFormatted`
61
61
 
62
62
  **May 2025**
63
- * Added `Group.isLocked`
64
- * Added `Group.setLocked`
65
- * Added `Message.stream`
66
- * Added `Query`
67
- * Added `Query.json`
68
- * Added `Query.getId`
69
- * Added `Query.getTitle`
70
- * Added `Query.setTitle`
71
- * Added `Query.getQuery`
72
- * Added `Query.setQuery`
73
- * Added `Query.create`
74
- * Added `Query.update`
75
- * Added `Query.remove`
76
- * Added `Book.getSavedQueries`
77
- * Added `Book.batchPostTransactions`
78
- * Added `Book.batchCheckTransactions`
79
- * Added `Book.batchUncheckTransactions`
80
- * Added `Book.batchUpdateTransactions`
81
- * Added `Book.batchUntrashTransactions`
63
+
64
+ - Added `Group.isLocked`
65
+ - Added `Group.setLocked`
66
+ - Added `Query`
67
+ - Added `Query.json`
68
+ - Added `Query.getId`
69
+ - Added `Query.getTitle`
70
+ - Added `Query.setTitle`
71
+ - Added `Query.getQuery`
72
+ - Added `Query.setQuery`
73
+ - Added `Query.create`
74
+ - Added `Query.update`
75
+ - Added `Query.remove`
76
+ - Added `Book.getSavedQueries`
77
+ - Added `Book.batchPostTransactions`
78
+ - Added `Book.batchCheckTransactions`
79
+ - Added `Book.batchUncheckTransactions`
80
+ - Added `Book.batchUpdateTransactions`
81
+ - Added `Book.batchUntrashTransactions`
82
82
 
83
83
  **April 2025**
84
- * Added `Book.batchCreateAccounts`
85
- * Added `Book.batchCreateGroups`
84
+
85
+ - Added `Book.batchCreateAccounts`
86
+ - Added `Book.batchCreateGroups`
86
87
 
87
88
  **March 2025**
88
- * Added `Agent.getLogoUrlDark`
89
- * Added `App.getFilePatterns`
90
- * Added `App.getLogoUrlDark`
91
- * Added `App.getOwnerLogoUrl`
92
- * Added `App.getOwnerName`
93
- * Added `App.isConversational`
94
- * Added `App.isPublished`
95
- * Added `App.setConversationUrlDev`
96
- * Added `Bkper.getConversations`
97
- * Added `Conversation`
98
- * Added `Conversation.create`
99
- * Added `Conversation.getAgent`
100
- * Added `Conversation.getCreatedAt`
101
- * Added `Conversation.getId`
102
- * Added `Conversation.getMessages`
103
- * Added `Conversation.getTitle`
104
- * Added `Conversation.getUpdatedAt`
105
- * Added `Conversation.json`
106
- * Added `Message`
107
- * Added `Message.create`
108
- * Added `Message.deleteProperty`
109
- * Added `Message.getAgent`
110
- * Added `Message.getCreatedAt`
111
- * Added `Message.getContent`
112
- * Added `Message.getConversation`
113
- * Added `Message.getId`
114
- * Added `Message.getProperties`
115
- * Added `Message.getProperty`
116
- * Added `Message.getUser`
117
- * Added `Message.setContent`
118
- * Added `Message.setProperties`
119
- * Added `Message.setProperty`
120
- * Added `Message.json`
121
- * Added `Transaction.getAgentName`
122
- * Added `Transaction.getAgentLogoUrl`
123
- * Added `Transaction.getAgentLogoUrlDark`
89
+
90
+ - Added `Agent.getLogoUrlDark`
91
+ - Added `App.getFilePatterns`
92
+ - Added `App.getLogoUrlDark`
93
+ - Added `App.getOwnerLogoUrl`
94
+ - Added `App.getOwnerName`
95
+ - Added `App.isPublished`
96
+ - Added `Transaction.getAgentName`
97
+ - Added `Transaction.getAgentLogoUrl`
98
+ - Added `Transaction.getAgentLogoUrlDark`
124
99
 
125
100
  **February 2025**
126
- * Added `EventType` enum
127
- * Added `BotResponseType` enum
128
- * Added `Agent`
129
- * Added `Agent.getId`
130
- * Added `Agent.getLogoUrl`
131
- * Added `Agent.getName`
132
- * Added `Agent.json`
133
- * Added `App.getDescription`
134
- * Added `App.getEvents`
135
- * Added `App.getLogoUrl`
136
- * Added `App.getName`
137
- * Added `App.hasEvents`
138
- * Added `Book.batchReplayEvents`
139
- * Added `Book.getApps`
140
- * Added `BotResponse`
141
- * Added `BotResponse.getAgentId`
142
- * Added `BotResponse.getCreatedAt`
143
- * Added `BotResponse.getEvent`
144
- * Added `BotResponse.getMessage`
145
- * Added `BotResponse.getType`
146
- * Added `BotResponse.remove`
147
- * Added `BotResponse.replay`
148
- * Added `Event.getAgent`
149
- * Added `Event.getBook`
150
- * Added `Event.getBotResponses`
151
- * Added `Event.getCreatedAt`
152
- * Added `Event.getId`
153
- * Added `Event.getType`
154
- * Added `Event.getUser`
155
- * Added `Event.hasErrorResponse`
156
- * Added `User.getAvatarUrl`
101
+
102
+ - Added `EventType` enum
103
+ - Added `BotResponseType` enum
104
+ - Added `Agent`
105
+ - Added `Agent.getId`
106
+ - Added `Agent.getLogoUrl`
107
+ - Added `Agent.getName`
108
+ - Added `Agent.json`
109
+ - Added `App.getDescription`
110
+ - Added `App.getEvents`
111
+ - Added `App.getLogoUrl`
112
+ - Added `App.getName`
113
+ - Added `App.hasEvents`
114
+ - Added `Book.batchReplayEvents`
115
+ - Added `Book.getApps`
116
+ - Added `BotResponse`
117
+ - Added `BotResponse.getAgentId`
118
+ - Added `BotResponse.getCreatedAt`
119
+ - Added `BotResponse.getEvent`
120
+ - Added `BotResponse.getMessage`
121
+ - Added `BotResponse.getType`
122
+ - Added `BotResponse.remove`
123
+ - Added `BotResponse.replay`
124
+ - Added `Event.getAgent`
125
+ - Added `Event.getBook`
126
+ - Added `Event.getBotResponses`
127
+ - Added `Event.getCreatedAt`
128
+ - Added `Event.getId`
129
+ - Added `Event.getType`
130
+ - Added `Event.getUser`
131
+ - Added `Event.hasErrorResponse`
132
+ - Added `User.getAvatarUrl`
157
133
 
158
134
  **January 2025**
159
- * Added `BalancesContainer`
160
- * Added `BalancesContainer.getName`
161
- * Added `BalancesContainer.getNormalizedName`
162
- * Added `BalancesContainer.getGroup`
163
- * Added `BalancesContainer.getAccount`
164
- * Added `BalancesContainer.getParent`
165
- * Added `BalancesContainer.getDepth`
166
- * Added `BalancesContainer.isCredit`
167
- * Added `BalancesContainer.isPermanent`
168
- * Added `BalancesContainer.isFromAccount`
169
- * Added `BalancesContainer.isFromGroup`
170
- * Added `BalancesContainer.hasGroupBalances`
171
- * Added `BalancesContainer.getCumulativeBalance`
172
- * Added `BalancesContainer.getCumulativeBalanceRaw`
173
- * Added `BalancesContainer.getCumulativeBalanceText`
174
- * Added `BalancesContainer.getCumulativeBalanceRawText`
175
- * Added `BalancesContainer.getPeriodBalance`
176
- * Added `BalancesContainer.getPeriodBalanceRaw`
177
- * Added `BalancesContainer.getPeriodBalanceText`
178
- * Added `BalancesContainer.getPeriodBalanceRawText`
179
- * Added `BalancesContainer.getBalancesContainers`
180
- * Added `BalancesContainer.getBalancesContainer`
181
- * Added `BalancesReport`
182
- * Added `BalancesReport.getBook`
183
- * Added `BalancesReport.getPeriod`
184
- * Added `BalancesReport.getBalancesContainers`
185
- * Added `BalancesReport.getBalancesContainer`
186
- * Added `Book.getAutoPost`
187
- * Added `Book.setAutoPost`
188
- * Added `Group.isCredit`
189
- * Added `Group.isMixed`
190
- * Added `User.getPlan`
191
- * Added `User.hasBillingEnabled`
192
-
193
-
194
- 2024
195
- ----
135
+
136
+ - Added `BalancesContainer`
137
+ - Added `BalancesContainer.getName`
138
+ - Added `BalancesContainer.getNormalizedName`
139
+ - Added `BalancesContainer.getGroup`
140
+ - Added `BalancesContainer.getAccount`
141
+ - Added `BalancesContainer.getParent`
142
+ - Added `BalancesContainer.getDepth`
143
+ - Added `BalancesContainer.isCredit`
144
+ - Added `BalancesContainer.isPermanent`
145
+ - Added `BalancesContainer.isFromAccount`
146
+ - Added `BalancesContainer.isFromGroup`
147
+ - Added `BalancesContainer.hasGroupBalances`
148
+ - Added `BalancesContainer.getCumulativeBalance`
149
+ - Added `BalancesContainer.getCumulativeBalanceRaw`
150
+ - Added `BalancesContainer.getCumulativeBalanceText`
151
+ - Added `BalancesContainer.getCumulativeBalanceRawText`
152
+ - Added `BalancesContainer.getPeriodBalance`
153
+ - Added `BalancesContainer.getPeriodBalanceRaw`
154
+ - Added `BalancesContainer.getPeriodBalanceText`
155
+ - Added `BalancesContainer.getPeriodBalanceRawText`
156
+ - Added `BalancesContainer.getBalancesContainers`
157
+ - Added `BalancesContainer.getBalancesContainer`
158
+ - Added `BalancesReport`
159
+ - Added `BalancesReport.getBook`
160
+ - Added `BalancesReport.getPeriod`
161
+ - Added `BalancesReport.getBalancesContainers`
162
+ - Added `BalancesReport.getBalancesContainer`
163
+ - Added `Book.getAutoPost`
164
+ - Added `Book.setAutoPost`
165
+ - Added `Group.isCredit`
166
+ - Added `Group.isMixed`
167
+ - Added `User.getPlan`
168
+ - Added `User.hasBillingEnabled`
169
+
170
+ ## 2024
196
171
 
197
172
  **December 2024**
198
- * Added `Book.listEvents`
199
- * Added `EventList`
200
- * Added `EventList.getCursor`
201
- * Added `EventList.getFirst`
202
- * Added `EventList.getItems`
203
- * Added `EventList.size`
204
- * Added `Group.isPermanent`
205
- * Added `Group.hasParent`
206
- * Added `Group.getChildren`
207
- * Added `Group.getDescendants`
208
- * Added `Group.getDescendantTreeIds`
209
- * Added `Group.hasChildren`
210
- * Added `Group.isLeaf`
211
- * Added `Group.isRoot`
212
- * Added `Group.getDepth`
213
- * Added `Group.getRoot`
214
- * Added `Group.getRootName`
215
- * Added `Group.hasAccounts`
173
+
174
+ - Added `Book.listEvents`
175
+ - Added `EventList`
176
+ - Added `EventList.getCursor`
177
+ - Added `EventList.getFirst`
178
+ - Added `EventList.getItems`
179
+ - Added `EventList.size`
180
+ - Added `Group.isPermanent`
181
+ - Added `Group.hasParent`
182
+ - Added `Group.getChildren`
183
+ - Added `Group.getDescendants`
184
+ - Added `Group.getDescendantTreeIds`
185
+ - Added `Group.hasChildren`
186
+ - Added `Group.isLeaf`
187
+ - Added `Group.isRoot`
188
+ - Added `Group.getDepth`
189
+ - Added `Group.getRoot`
190
+ - Added `Group.getRootName`
191
+ - Added `Group.hasAccounts`
216
192
 
217
193
  **November 2024**
218
- * Added `Transaction.trash`
219
- * Added `Transaction.untrash`
220
- * Added `Transaction.getAmountFormatted`
221
- * Added `Transaction.isLocked`
222
- * Removed ```Transaction.remove``` from `Transaction`
223
- * Removed ```Transaction.restore``` from `Transaction`
194
+
195
+ - Added `Transaction.trash`
196
+ - Added `Transaction.untrash`
197
+ - Added `Transaction.getAmountFormatted`
198
+ - Added `Transaction.isLocked`
199
+ - Removed `Transaction.remove` from `Transaction`
200
+ - Removed `Transaction.restore` from `Transaction`
224
201
 
225
202
  **October 2024**
226
- * Exposed ```payload``` property on all objects from `bkper-js` interface
227
- * Added `Collection.addBooks`
228
- * Added `Collection.create`
229
- * Added `Collection.getOwnerUsername`
230
- * Added `Collection.getPermission`
231
- * Added `Collection.getUpdatedAt`
232
- * Added `Collection.remove`
233
- * Added `Collection.removeBooks`
234
- * Added `Collection.setName`
235
- * Added `Collection.update`
236
- * Added `Bkper.getBillingPortalUrl`
237
- * Added `Connection.getDateAddedMs`
238
- * Added `Connection.getLogo`
239
- * Added `Connection.remove`
240
- * Added `Integration.getAddedBy`
241
- * Added `Integration.getAgentId`
242
- * Added `Integration.getDateAddedMs`
243
- * Added `Integration.getLastUpdateMs`
244
- * Added `Integration.getLogo`
245
- * Added `Integration.remove`
246
- * Added `TransactionList` returned from `Book.listTransactions`
247
- * Removed ```TransactionIterator``` from `Transaction`
248
- * Removed ```newTransaction``` from `Book`. Use `Transaction` constructor instead
249
- * Removed ```newAccount``` from `Book`. Use `Account` constructor instead
250
- * Removed ```newGroup``` from `Book`. Use `Group` constructor instead
251
- * Removed ```newFile``` from `Book`. Use `File` constructor instead
203
+
204
+ - Exposed `payload` property on all objects from `bkper-js` interface
205
+ - Added `Collection.addBooks`
206
+ - Added `Collection.create`
207
+ - Added `Collection.getOwnerUsername`
208
+ - Added `Collection.getPermission`
209
+ - Added `Collection.getUpdatedAt`
210
+ - Added `Collection.remove`
211
+ - Added `Collection.removeBooks`
212
+ - Added `Collection.setName`
213
+ - Added `Collection.update`
214
+ - Added `Bkper.getBillingPortalUrl`
215
+ - Added `Connection.getDateAddedMs`
216
+ - Added `Connection.getLogo`
217
+ - Added `Connection.remove`
218
+ - Added `Integration.getAddedBy`
219
+ - Added `Integration.getAgentId`
220
+ - Added `Integration.getDateAddedMs`
221
+ - Added `Integration.getLastUpdateMs`
222
+ - Added `Integration.getLogo`
223
+ - Added `Integration.remove`
224
+ - Added `TransactionList` returned from `Book.listTransactions`
225
+ - Removed `TransactionIterator` from `Transaction`
226
+ - Removed `newTransaction` from `Book`. Use `Transaction` constructor instead
227
+ - Removed `newAccount` from `Book`. Use `Account` constructor instead
228
+ - Removed `newGroup` from `Book`. Use `Group` constructor instead
229
+ - Removed `newFile` from `Book`. Use `File` constructor instead
252
230
 
253
231
  **September 2024**
254
- * Extracted `bkper-js` from `bkper` as a standalone library.
255
- * Added `Config.requestRetryHandler`
256
- * Added `Visibility` enum
257
- * Added `App.json`
258
- * Added `Bkper.getApps`
259
- * Added `Bkper.getBooks`
260
- * Added `Bkper.getTemplates`
261
- * Added `Bkper.newBook`
262
- * Added `Book.getTotalTransactions`
263
- * Added `Book.getTotalTransactionsCurrentMonth`
264
- * Added `Book.getTotalTransactionsCurrentYear`
265
- * Added `Book.getVisibility`
266
- * Added `Book.create`
267
- * Added `Collection.json`
268
- * Added `Template`
269
- * Added `Template.getBookId`
270
- * Added `Template.getBookLink`
271
- * Added `Template.getCategory`
272
- * Added `Template.getDescription`
273
- * Added `Template.getImageUrl`
274
- * Added `Template.getName`
275
- * Added `Template.getSheetsLink`
276
- * Added `Template.getTimesUsed`
277
- * Added `Template.json`
278
- * Added `User.getEmail`
279
- * Added `User.getHostedDomain`
280
- * Added `User.isFree`
281
- * Added `User.hasStartedTrial`
282
- * Added `User.getDaysLeftInTrial`
283
- * Added `User.hasUsedConnections`
284
- * Added `User.json`
232
+
233
+ - Extracted `bkper-js` from `bkper` as a standalone library.
234
+ - Added `Config.requestRetryHandler`
235
+ - Added `Visibility` enum
236
+ - Added `App.json`
237
+ - Added `Bkper.getApps`
238
+ - Added `Bkper.getBooks`
239
+ - Added `Bkper.getTemplates`
240
+ - Added `Bkper.newBook`
241
+ - Added `Book.getTotalTransactions`
242
+ - Added `Book.getTotalTransactionsCurrentMonth`
243
+ - Added `Book.getTotalTransactionsCurrentYear`
244
+ - Added `Book.getVisibility`
245
+ - Added `Book.create`
246
+ - Added `Collection.json`
247
+ - Added `Template`
248
+ - Added `Template.getBookId`
249
+ - Added `Template.getBookLink`
250
+ - Added `Template.getCategory`
251
+ - Added `Template.getDescription`
252
+ - Added `Template.getImageUrl`
253
+ - Added `Template.getName`
254
+ - Added `Template.getSheetsLink`
255
+ - Added `Template.getTimesUsed`
256
+ - Added `Template.json`
257
+ - Added `User.getEmail`
258
+ - Added `User.getHostedDomain`
259
+ - Added `User.isFree`
260
+ - Added `User.hasStartedTrial`
261
+ - Added `User.getDaysLeftInTrial`
262
+ - Added `User.hasUsedConnections`
263
+ - Added `User.json`
285
264
 
286
265
  **January 2024**
287
- * Added `Transaction.setChecked`
288
266
 
267
+ - Added `Transaction.setChecked`
289
268
 
290
- 2023
291
- ----
269
+ ## 2023
292
270
 
293
271
  **June 2023**
294
- * Added `Bkper.getUser`
295
- * Added `Bkper.setConfig`
296
- * Added `Book.batchTrashTransactions`
297
- * Added `Book.createIntegration`
298
- * Added `Book.getIntegrations`
299
- * Added `Book.updateIntegration`
300
- * Added `Config` interface
301
- * Added `Connection`
302
- * Added `Connection.clearTokenProperties`
303
- * Added `Connection.create`
304
- * Added `Connection.deleteProperty`
305
- * Added `Connection.getAgentId`
306
- * Added `Connection.getEmail`
307
- * Added `Connection.getId`
308
- * Added `Connection.getIntegrations`
309
- * Added `Connection.getName`
310
- * Added `Connection.getProperties`
311
- * Added `Connection.getProperty`
312
- * Added `Connection.getPropertyKeys`
313
- * Added `Connection.getType`
314
- * Added `Connection.getUUID`
315
- * Added `Connection.json`
316
- * Added `Connection.setAgentId`
317
- * Added `Connection.setName`
318
- * Added `Connection.setProperties`
319
- * Added `Connection.setProperty`
320
- * Added `Connection.setType`
321
- * Added `Connection.setUUID`
322
- * Added `Integration`
323
- * Added `Integration.deleteProperty`
324
- * Added `Integration.getBookId`
325
- * Added `Integration.getId`
326
- * Added `Integration.getName`
327
- * Added `Integration.getProperties`
328
- * Added `Integration.getProperty`
329
- * Added `Integration.json`
330
- * Added `Integration.setProperties`
331
- * Added `Integration.setProperty`
332
- * Added `User`
333
- * Added `User.getConnection`
334
- * Added `User.getConnections`
335
- * Added `User.getFullName`
336
- * Added `User.getId`
337
- * Added `User.getName`
338
- * Deprecated `Bkper.setApiKey`
339
- * Deprecated `Bkper.setOAuthTokenProvider`
340
-
341
-
342
- 2022
343
- ----
272
+
273
+ - Added `Bkper.getUser`
274
+ - Added `Bkper.setConfig`
275
+ - Added `Book.batchTrashTransactions`
276
+ - Added `Book.createIntegration`
277
+ - Added `Book.getIntegrations`
278
+ - Added `Book.updateIntegration`
279
+ - Added `Config` interface
280
+ - Added `Connection`
281
+ - Added `Connection.clearTokenProperties`
282
+ - Added `Connection.create`
283
+ - Added `Connection.deleteProperty`
284
+ - Added `Connection.getAgentId`
285
+ - Added `Connection.getEmail`
286
+ - Added `Connection.getId`
287
+ - Added `Connection.getIntegrations`
288
+ - Added `Connection.getName`
289
+ - Added `Connection.getProperties`
290
+ - Added `Connection.getProperty`
291
+ - Added `Connection.getPropertyKeys`
292
+ - Added `Connection.getType`
293
+ - Added `Connection.getUUID`
294
+ - Added `Connection.json`
295
+ - Added `Connection.setAgentId`
296
+ - Added `Connection.setName`
297
+ - Added `Connection.setProperties`
298
+ - Added `Connection.setProperty`
299
+ - Added `Connection.setType`
300
+ - Added `Connection.setUUID`
301
+ - Added `Integration`
302
+ - Added `Integration.deleteProperty`
303
+ - Added `Integration.getBookId`
304
+ - Added `Integration.getId`
305
+ - Added `Integration.getName`
306
+ - Added `Integration.getProperties`
307
+ - Added `Integration.getProperty`
308
+ - Added `Integration.json`
309
+ - Added `Integration.setProperties`
310
+ - Added `Integration.setProperty`
311
+ - Added `User`
312
+ - Added `User.getConnection`
313
+ - Added `User.getConnections`
314
+ - Added `User.getFullName`
315
+ - Added `User.getId`
316
+ - Added `User.getName`
317
+ - Deprecated `Bkper.setApiKey`
318
+ - Deprecated `Bkper.setOAuthTokenProvider`
319
+
320
+ ## 2022
344
321
 
345
322
  **September 2022**
346
- * Deprecated `Account.getBalance`
323
+
324
+ - Deprecated `Account.getBalance`
347
325
 
348
326
  **May 2022**
349
- * Added `Book.parseDate`
327
+
328
+ - Added `Book.parseDate`
350
329
 
351
330
  **April 2022**
352
- * Added `Book.getClosingDate`
353
- * Added `Book.setClosingDate`
354
331
 
332
+ - Added `Book.getClosingDate`
333
+ - Added `Book.setClosingDate`
355
334
 
356
- 2021
357
- ----
335
+ ## 2021
358
336
 
359
337
  **October 2021**
360
- * Added `Book.getGroupsByAccount`
338
+
339
+ - Added `Book.getGroupsByAccount`
361
340
 
362
341
  **May 2021**
363
- * Added `Group.getParent`
364
- * Added `Group.setParent`
365
- * **BREAKING CHANGE:** Removed `AccountsDataTableBuilder`
366
- * **BREAKING CHANGE:** Removed `BalancesDataTableBuilder`
367
- * **BREAKING CHANGE:** Removed `TransactionsDataTableBuilder`
368
- * **BREAKING CHANGE:** Removed `BalancesReport`
369
- * **BREAKING CHANGE:** Removed `Balance`
370
- * **BREAKING CHANGE:** Removed `BalancesContainer`
342
+
343
+ - Added `Group.getParent`
344
+ - Added `Group.setParent`
345
+ - **BREAKING CHANGE:** Removed `AccountsDataTableBuilder`
346
+ - **BREAKING CHANGE:** Removed `BalancesDataTableBuilder`
347
+ - **BREAKING CHANGE:** Removed `TransactionsDataTableBuilder`
348
+ - **BREAKING CHANGE:** Removed `BalancesReport`
349
+ - **BREAKING CHANGE:** Removed `Balance`
350
+ - **BREAKING CHANGE:** Removed `BalancesContainer`
371
351
 
372
352
  **April 2021**
373
- * Added `Book.getLockDate`
374
- * Added `Book.setLockDate`
353
+
354
+ - Added `Book.getLockDate`
355
+ - Added `Book.setLockDate`
375
356
 
376
357
  **March 2021**
377
- * **BREAKING CHANGE:** Removed `BalanceCheckedType`
358
+
359
+ - **BREAKING CHANGE:** Removed `BalanceCheckedType`
378
360
 
379
361
  **February 2021**
380
- * Added `Book.getPeriod`
381
- * Added `Book.setPeriod`
382
- * Added `Book.getPeriodStartMonth`
383
- * Added `Book.setPeriodStartMonth`
384
- * Added `Book.getPageSize`
385
- * Added `Book.setPageSize`
362
+
363
+ - Added `Book.getPeriod`
364
+ - Added `Book.setPeriod`
365
+ - Added `Book.getPeriodStartMonth`
366
+ - Added `Book.setPeriodStartMonth`
367
+ - Added `Book.getPageSize`
368
+ - Added `Book.setPageSize`
386
369
 
387
370
  **January 2021**
388
- * `bkper` client library published
371
+
372
+ - `bkper` client library published