error messages for various GraphQL errors related to invalid DB queries
the [graphql tag] can now be closed using the {%- endgraphql -%} tag (with dashes). Previously, it was causing a Liquid error.
pos-cli changelog is [kept separately].
New Feature
use Content-Type header to determine the [Page format]
Previously, it was required to explicitly provide the format in the URL to access a page with a different format than html, for example, app/views/pages/hello.json.liquid was accessible via https://example.com/hello.json, even if you made the request using the Content-Type: application/json header. Now, in such a scenario, we will try to load the page with the format json first, and if it's not available, we fall back to html for backwards compatibility.
Bug Fix
edge case scenarios related to using sort in GraphQL queries when related_models / related_users was used
Platform Update
December 16, 2019
Improvement
Last edit:
Page slug uniqueness validation will generate warning instead of error which prevents deploy
Performance of related_models filtering
pos-cli changelog is [kept separately].
New Feature
value_int, value_float and value_boolean for JSONB property resolver, which is used for example in metadata in admin_* mutations
Platform Update
December 09, 2019
Improvement
[context variable] is now available inside [migrations]
requests made to the pOS private API (for example to /api/graph) won't be redirected if made against different domain than default
GraphQL mutations *_delete_all mark objects as deleted sync instead of async
[attachment_presign_url] url to direct S3 upload attachments with possibility for example to specify whether it is private or public
error message for GraphQL syntax error would clearly state it is GraphQL error
pos-cli changelog is [kept separately].
New Feature
add possibility to users and models GraphQL queries to [filter related_models and related_users]
new Liquid tag [print], which bypasses built-in sanitization
Bug Fix
importing user_profiles using [data import] and fix edge case issue related to importig array property
Profiler percentage output for [Profiling Slow Pages]
It is now easier to spot bottlenecks in profiler output.
pos-cli changelog is [kept separately].
New Feature
Update Page based on physical_file_path instead of slug.
This fixes the UX issue when pos-cli sync was enabled, modifying slug/format/method could create duplicated Page objects with the same physical file path.
It also fixes the UX issue which allowed you to have multiple Pages with the same slug - now uniqueness validation error will be triggered.
Last but not least - slug became optional - by default path to page will correspond to file path. For example /hello/world will display content of app/views/pages/hello/world.html.liquid, previously you had to define the slug as follows:
`---
slug: hello/world
Hello World
`
Bug Fix
Avoid race condition in *_delete_all mutations - since actual deletion takes place in the background, make sure that users created between scheduling a background task and executing it won't be deleted.
Platform Update
November 25, 2019
Improvement
model_* mutations return Graph::Types::Model object instead of Customization
performance of user_* mutations invoked without a form, on Instances with many UserProfiles and ModelSchemas (in some scenarios it is now faster - the improvement depends on the number of UserProfiles/ModelSchemas)
pos-cli changelog is [kept separately].
New Feature
special route for service workers
You can put a file named serviceworker.js (or sw.js) in the app/assets directory and access it via https://www.example.com/serviceworker.js (or https://example.com/sw.js). In case you need more files to be accessible this way, you can add numbers to the filename, for example serviceworker-1.js, serviceworker-2.js, etc.
Developer guide icon
For more information, check out our [Service Workers] topic.
Bug Fix
handle operation name from GraphiQL editor when multiple queries are defined
edge case random 500 error when acceptance validation was used
including a partial, which included . in a name, but did not exist (for example {% include "i_do_not.exist" %}), was preventing next partials from being found as well
Platform Update
November 19, 2019
Improvement
error message for missing/invalid resource attribute in form
gracefully handle invalid arguments passed to dig filter
Partner Portal will automatically check if a domain was transferred and handle SSL cert behind the scenes
name, first_name, last_name properties of User are now case insensitive to make it easier to use users GraphQL query to search by them
pos-cli changelog is [kept separately].
New Feature
built-in pOS domains (both staging and production) are automatically prevented from being indexed by robots to avoid SEO duplicated content issue
Bug Fix
fetching image URLs without direct_url
using jwt_token authentication correctly sets context.current_user everywhere
import/export issues caused by wrong uniqueness safety check for models for Sydney data center
Platform Update
November 11, 2019
Improvement
image_presign_url automatically includes versions defined in schema
upgraded application server to the newest version
allowed to prefix layouts/ for layout_path property
if there is only one rule in or clause in GraphQL filter then apply it (previously was ignored)
renamed GraphQL argument model_name to model_schema_name
renamed model(s) to related_model(s) to avoid confusion in model_create, model_update mutations
renamed user(s) to related_user(s) to avoid confusion in user_create, user_update mutations
deprecated a bunch of old queries/mutations/fields to not appear in GrahQL editor auto complete list
in our GraphQL editor, everything is now sorted alphabetically, so it's much easier to find what you are looking for
added validation to layout_path in EmailNotification to make sure the layout exists
added new system field content_updated_at to Page to help invalidate the cache in a more efficient way
pos-cli changelog is [kept separately].
New Feature
join_on_property now accepts array of ids, not only single value (visit tutorial: [Loading Related Records From an Array Property])
added or filter to users GraphQL query
Bug Fix
accept "model_schemas" in physical_file_path for admin_model_schema mutation
remove unnecessary uniqueness validation for name, type pair for property
do not allow to override pOS private API endpoints
do not crash when adding assets directory within app/assets
accessing specific error codes for GraphQL validation errors via extensions.codes.
properly invalidate layout cache for EmailNotification on sync/deploy/GraphQL mutation
500 error when confirmation validation is used in forms without defining corresponding virtual field
Platform Update
November 04, 2019
Improvement
Last edit:
add user sorting and filtering by name, first_name, last_name
allow to update direct_url via custom_image_update mutation
deprecate name in favor of model_schema_name for models query
improved error handling for validation errors in translations to include path to the physical file and proper error message
make property_array smart enough to handle more scenarios instead of throwing 500 error
pos-cli changelog is [kept separately].
New Feature
fetch images without having to go through models via GraphQL
Bug Fix
properly decode path in direct_url before saving
ignore filter arguments with nil values
be able to submit private form using submit_form
500 error while accessing properties with restricted name in background jobs
500 error when trying to access body of API Call response which timed out
url path validator throws 500 if value is nil
500 error when recaptcha is misconfigured
Platform Update
October 28, 2019
Improvement
add more ways to define color in custom image filters in presign_image_url
set default timeout for user session to match documentation
pos-cli changelog is [kept separately].
New Feature
add possibility to use or condition in GraphQL queries
display usage metrics in Partner Portal
Bug Fix
updating asset name on update via mutation
500 error on edge case when using jwt_token for authorization
allow to set max_deep_level to null
Platform Update
October 21, 2019
Improvement
pos-cli changelog is [kept separately].
Bug Fix
Last edit:
sorting by numeric property for DB GraphQL queries
remapping relations in import/export when there are 2 identical relations
edge case 500 error when using versions in image_presign_url