1
1
## Parse-Stack Changelog
2
2
3
+ ### 1.9.0
4
+
5
+ - Support for ActiveModel and ActiveSupport 6.0.
6
+ - Fixes ` as_json ` tests related to changes.
7
+ - Support for Faraday 1.0 and FaradayMiddleware 1.0
8
+ - Minimum Ruby version is now ` >= 2.5.0 `
9
+
3
10
### 1.8.0
11
+
4
12
- NEW: Support for Parse Server [ full text search] ( https://github.com/modernistik/parse-stack#full-text-search-constraint ) with the ` text_search ` operator. Related to [ Issue #46 ] ( https://github.com/modernistik/parse-stack/issues/46 ) .
5
13
- NEW: Support for ` :distinct ` aggregation query. Finds the distinct values for a specified field across a single collection or view and returns the results in an array.
6
14
For example, ` User.distinct(:city, :created_at.after => 3.days.ago) ` to return an array of unique city names for which records were created in the last 3 days.
7
15
8
16
### 1.7.4
17
+
9
18
- NEW: Added ` parse_object ` extension to Hash classes to more easily call
10
19
Parse::Object.build in ` map ` loops with symbol to proc.
11
20
- CHANGED: Renamed ` hyperdrive_config! ` to ` Parse::Hyperdrive.config! `
23
32
- FIXED: Fixes issues with double '/' in update URI paths.
24
33
25
34
### 1.7.3
35
+
26
36
- CHANGED: Moved to using preferred ENV variable names based on parse-server cli.
27
37
- CHANGED: Default url is now http://localhost:1337/parse
28
38
- NEW: Added method ` hyperdrive_config! ` to apply remote ENV from remote JSON url.
29
39
30
40
### 1.7.2
41
+
31
42
- NEW: ` Parse::Model.autosave_on_create ` has been removed in favor of ` first_or_create! ` .
32
43
- NEW: Webhook Triggers and Functions now have a ` wlog ` method, similar to ` puts ` , but allows easier tracing of
33
44
single requests in a multi-request threaded environment. (See Parse::Webhooks::Payload)
51
62
- [ PR #39 ] ( https://github.com/modernistik/parse-stack/pull/39 ) : Allow Moneta::Expires
52
63
as cache object to allow for non-native expiring caches by [ GrahamW] ( https://github.com/GrahamW )
53
64
54
-
55
65
### 1.7.1
66
+
56
67
- NEW: ` :timezone ` datatype that maps to ` Parse::TimeZone ` (which mimics ` ActiveSupport::TimeZone ` )
57
68
- NEW: Installation ` :time_zone ` field is now a ` Parse::TimeZone ` instance.
58
69
- Any properties named ` time_zone ` or ` timezone ` with a string data type set will be converted to use ` Parse::TimeZone ` as the data class.
71
82
- Parse::Installation now has a ` has_one ` association to Session through ` :session `
72
83
73
84
### 1.7.0
85
+
74
86
- NEW: You can use ` set_default_acl ` to set default ACLs for your subclasses.
75
87
- NEW: Support for ` withinPolygon ` query constraint.
76
88
- Refactoring of the default ACL system and deprecation of ` Parse::Object.acl `
77
89
- Parse::ACL.everyone returns an ACL instance with public read and writes.
78
90
- Documentation updates.
79
91
80
92
### 1.6.12
93
+
81
94
- NEW: Parse.use_shortnames! to utilize shorter class methods. (optional)
82
95
- NEW: parse-console supports ` --url ` option to load config from JSON url.
83
96
- FIXES: Issue #27 where core classes could not be auto-upgraded if they were missing.
88
101
- Parse::Query will raise an exception if a non-nil value is passed to ` :session ` that
89
102
does not provide a valid session token string.
90
103
- ` save ` and ` destroy ` will raise an exception if a non-nil ` session ` argument is passed
91
- that does not provide a valid session token string.
104
+ that does not provide a valid session token string.
92
105
- Additional documentation changes and tests.
93
106
94
107
### 1.6.11
108
+
95
109
- NEW: Parse::Object#sig method to get quick information about an instance.
96
110
- FIX: Typo fix when using Array#objectIds.
97
111
- FIX: Passing server url in parse-console without the ` -s ` option when using IRB.
101
115
- parse-console supports ` --config-sample ` to generate a sample configuration file.
102
116
103
117
### 1.6.7
118
+
104
119
- Default SERVER_URL changed to http://localhost:1337/parse
105
120
- NEW: Command line tool ` parse-console ` to do interactive Parse development with parse-stack.
106
121
- REMOVED: Deprecated parse.com specific APIs under the ` /apps/ ` path.
107
122
108
123
### 1.6.5
124
+
109
125
- Client handles HTTP Status 429 (RetryLimitExceeded)
110
126
- Role class does not automatically set default ACLs for Roles. You can restore
111
- previous behavior by using ` before_save :apply_default_acls ` .
127
+ previous behavior by using ` before_save :apply_default_acls ` .
112
128
- Fixed minor issue to Parse::User.signup when merging username into response.
113
129
- NEW: Adds Parse::Product core class.
114
130
- NEW: Rake task to list registered webhooks. ` rake parse:webhooks:list `
115
131
- Experimental support for beforeFind and afterFind - though webhook support not
116
- yet fully available in open source Parse Server.
132
+ yet fully available in open source Parse Server.
117
133
- Removes HTTPS requirement on webhooks.
118
134
- FIXES: Issue with WEBHOOK_KEY not being properly validated when set.
119
135
- beforeSaves now return empty hash instead of true on noop changes.
120
136
121
137
### 1.6.4
138
+
122
139
- Fixes #20 : All temporary headers values are strings.
123
140
- Reduced cache storage consumption by only storing response body and headers.
124
141
- Increased maximum cache content length size to 1.25 MB.
@@ -128,14 +145,16 @@ yet fully available in open source Parse Server.
128
145
- Updated test to validate against MT6.
129
146
130
147
### 1.6.1
148
+
131
149
- NEW: Batch requests are now parallelized.
132
150
- ` skip ` in queries no longer capped to 10,000.
133
- - ` limit ` in queries no longer capped at 1000.
151
+ - ` limit ` in queries no longer capped at 1000.
134
152
- ` all() ` queries can now return as many results as possible.
135
153
- NEW: ` each() ` method on Parse::Object subclasses to iterate
136
154
over all records in the colleciton.
137
155
138
156
### 1.6.0
157
+
139
158
- NEW: Auto generate models based on your remote schema.
140
159
- The default server url is now 'http://localhost:1337/parse '.
141
160
- Improves thread-safety of Webhooks middleware.
@@ -159,11 +178,13 @@ yet fully available in open source Parse Server.
159
178
- All Parse errors inherit from Parse::Error.
160
179
161
180
### 1.5.3
181
+
162
182
- Several fixes and performance improvements.
163
183
- Major revisions to documentation.
164
184
- Support for increment! and decrement! for Integer and Float properties.
165
185
166
186
### 1.5.2
187
+
167
188
- FIXES #16 : Constraints to ` count ` were not properly handled.
168
189
- FIXES #15 : Incorrect call to ` request_password_reset ` .
169
190
- FIXES #14 : Typos
@@ -179,6 +200,7 @@ yet fully available in open source Parse Server.
179
200
- All constraint subclasses are under the Constraint namespace.
180
201
181
202
### 1.5.1
203
+
182
204
- BREAKING CHANGE: The default ` has_many ` implementation is ` :query ` instead of ` :array ` .
183
205
- NEW: Support for ` has_one ` type of associations.
184
206
- NEW: ` has_many ` associations support ` Query ` implementation as the inverse of ` :belongs_to ` .
@@ -212,6 +234,7 @@ yet fully available in open source Parse Server.
212
234
- ` Parse::Object#validate! ` can be used in webhook to throw webhook error on failed validation.
213
235
214
236
### 1.4.3
237
+
215
238
- NEW: Support for rails generators: ` parse_stack:install ` and ` parse_stack:model ` .
216
239
- Support Parse::Date with ActiveSupport::TimeWithZone.
217
240
- : date properties will now raise an error if value was not converted to a Parse::Date.
@@ -223,6 +246,7 @@ yet fully available in open source Parse Server.
223
246
- Added ` anonymous? ` instance method to ` Parse::User ` class.
224
247
225
248
### 1.3.8
249
+
226
250
- Support for reloading the Parse config data with ` Parse.config! ` .
227
251
- The Parse::Request object is now provided in the Parse::Response instance.
228
252
- The HTTP status code is provided in ` http_status ` accessor for a Parse::Response.
@@ -234,11 +258,12 @@ yet fully available in open source Parse Server.
234
258
- NEW: ` :id ` constraint to allow passing an objectId to a query where we will infer the class.
235
259
236
260
### 1.3.7
261
+
237
262
- Fixes json_api loading issue between ruby json and active_model_serializers.
238
263
- Fixes loading active_support core extensions.
239
264
- Support for passing a ` :session_token ` as part of a Parse::Query.
240
265
- Default mime-type for Parse::File instances is ` image/jpeg ` . You can override the default by setting
241
- ` Parse::File.default_mime_type ` .
266
+ ` Parse::File.default_mime_type ` .
242
267
- Added ` Parse.config ` for easy access to ` Parse::Client.client(:default).config `
243
268
- Support for ` Parse.auto_upgrade! ` to easily upgrade all schemas.
244
269
- You can import useful rake tasks by requiring ` parse/stack/tasks ` in your rake file.
@@ -253,37 +278,41 @@ yet fully available in open source Parse Server.
253
278
- You can turn off formatting field names with ` Parse::Query.field_formatter = nil ` .
254
279
255
280
### 1.3.1
281
+
256
282
- Parse::Query now supports ` :cache ` and ` :use_master_key ` option. (experimental)
257
283
- Minimum ruby version set to 1.9.3 (same as ActiveModel 4.2.1)
258
284
- Support for Rails 5.0+ and Rack 2.0+
259
285
260
286
### 1.3.0
261
- - ** IMPORTANT** : __ Raising an error no longer sends an error response back to
262
- the client in a Webhook trigger. You must now call ` error!('...') ` instead of
263
- calling ` raise '...' ` .__ The webhook block is now binded to the Parse::Webhooks::Payload
264
- instance, removing the need to pass ` payload ` object; use the instance methods directly.
265
- See updated README.md for more details.
287
+
288
+ - ** IMPORTANT** : ** Raising an error no longer sends an error response back to
289
+ the client in a Webhook trigger. You must now call ` error!('...') ` instead of
290
+ calling ` raise '...' ` .** The webhook block is now binded to the Parse::Webhooks::Payload
291
+ instance, removing the need to pass ` payload ` object; use the instance methods directly.
292
+ See updated README.md for more details.
266
293
- ** Parse-Stack will throw new exceptions** depending on the error code returned by Parse. These
267
- are of type AuthenticationError, TimeoutError, ProtocolError, ServerError, ConnectionError and RequestLimitExceededError.
294
+ are of type AuthenticationError, TimeoutError, ProtocolError, ServerError, ConnectionError and RequestLimitExceededError.
268
295
- ` nil ` and Delete operations for ` :integers ` and ` :booleans ` are no longer typecast.
269
296
- Added aliases ` before ` , ` on_or_before ` , ` after ` and ` on_or_after ` to help with
270
- comparing non-integer fields such as dates. These map to ` lt ` ,` lte ` , ` gt ` and ` gte ` .
297
+ comparing non-integer fields such as dates. These map to ` lt ` ,` lte ` , ` gt ` and ` gte ` .
271
298
- Schema API return true is no changes were made to the table on ` auto_upgrade! ` (success)
272
299
- Parse::Middleware::Caching no longer caches 404 and 410 responses; and responses
273
- with content lengths less than 20 bytes.
300
+ with content lengths less than 20 bytes.
274
301
- FIX: Parse::Payload when applying auth_data in Webhooks. This fixes handing Facebook
275
- login with Android devices.
302
+ login with Android devices.
276
303
- New method ` save! ` to raise an exception if the save fails.
277
304
- FIX: Verify Content-Type header field is present for webhooks before checking its value.
278
305
- FIX: Support ` reload! ` when using it Padrino.
279
306
280
307
### 1.2.1
308
+
281
309
- Add active support string dependencies.
282
310
- Support for handling the ` Delete ` operation on belongs_to
283
311
and has_many relationships.
284
312
- Documentation changes for supported Parse atomic operations.
285
313
286
314
### 1.2
315
+
287
316
- Fixes issues with first_or_create.
288
317
- Fixes issue when singularizing : belongs_to and : has_many property names.
289
318
- Makes sure time is sent as UTC in queries.
@@ -292,48 +321,57 @@ login with Android devices.
292
321
- Minimum version for ActiveModel and ActiveSupport is now 4.2.1
293
322
294
323
### 1.1
324
+
295
325
- In Query ` join ` has been renamed to ` matches ` .
296
326
- Not In Query ` exclude ` has been renamed to ` excludes ` for consistency.
297
327
- Parse::Query now has a ` :keys ` operation to be usd when passing sub-queries to ` select ` and ` matches `
298
328
- Improves query supporting ` select ` , ` matches ` , ` matches ` and ` excludes ` .
299
329
- Regular expression queries for ` like ` now send regex options
300
330
301
331
### 1.0.10
332
+
302
333
- Fixes issues with setting default values as dirty when using the builder or before_save hook.
303
334
- Fixes issues with autofetching pointers when default values are set.
304
335
305
336
### 1.0.8
337
+
306
338
- Fixes issues when setting a collection proxy property with a collection proxy.
307
339
- Default array values are now properly casted as collection proxies.
308
340
- Default booleans values of ` false ` are now properly set.
309
341
310
342
### 1.0.7
343
+
311
344
- Fixes issues when copying dates.
312
345
- Fixes issues with double-arrays.
313
346
- Fixes issues with mapping columns to atomic operations.
314
347
315
348
### 1.0.6
349
+
316
350
- Fixes issue when making batch requests with special prefix url.
317
351
- Adds Parse::ConnectionError custom exception type.
318
352
- You can call locally registered cloud functions with
319
- Parse::Webhooks.run_function(: functionName , params) without going through the
320
- entire Parse API network stack.
353
+ Parse::Webhooks.run_function(: functionName , params) without going through the
354
+ entire Parse API network stack.
321
355
- ` :symbolize => true ` now works for ` :array ` data types. All items in the collection
322
- will be symbolized - useful for array of strings.
356
+ will be symbolized - useful for array of strings.
323
357
- Prevent ACLs from causing an autofetch.
324
358
- Empty strings, arrays and ` false ` are now working with ` :default ` option in properties.
325
359
326
360
### 1.0.5
361
+
327
362
- Defaults are applied on object instantiation.
328
363
- When applying default values, dirty tracking is called.
329
364
330
365
### 1.0.4
366
+
331
367
- Fixes minor issue when storing and retrieving objects from the cache.
332
368
- Support for providing : server_url as a connection option for those migrating hosting
333
369
their own parse-server.
334
370
335
371
### 1.0.3
372
+
336
373
- Fixes minor issue when passing ` nil ` to the class ` find ` method.
337
374
338
375
### 1.0.2
376
+
339
377
- Fixes internal issue with ` operate_field! ` method.
0 commit comments