All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Deprecate mutation
logout
.
- Adds scope private to mutations
- Add
status
andstatusDescription
field.
- Clear cart when Telemarketing user ends customer's session
documentSchemaV2
todocumentPublicSchema
, as the query only works with public schemas without authentication.
documentSchemaV2
query, get generic masterdata schema, returned as ascalar
type as is from the requestcreateDocumentV2
mutation, upload ascalar
document to Master Data
- Make order form item image url use https.
- A optional
isNewsletterOptIn
parameter tosubscribeNewsletter
mutation.
- Fix unexpected deletion of cookies from session
- Temporary custom session client with update session fix.
- Create
toVtexAssets
directive. - Add @toVtexAssets directive in imageUrl resolvers.
canHaveAttachment
resolver in OrderFormItem.
- Fix nearPickupPoint route.
- Make
pickupSLAs
query return all pickup points close to location sent, even unavailable ones.
- Upload profile picture action from
uploadProfilePicture
andupdateProfilePicture
mutations.
- Add log when orderFormId passed in addItem and updateItem mutations is different than the one in cookie.
- Fix problem of updating order form marketing data with invalid fields and breaking addItem mutation in some ocasions.
- Make
checkProfileAllowed
returnauthorized
if the user is not logged in but is in an open trade policy.
- Use native promises and not bluebird anymore.
- Other code improvements related to types and ramda update.
- Performance improvements on product category tree resolver.
- New field
condition
tocheckProfileAllowed
.
- Deprecate field
allowed
fromcheckProfileAllowed
.
- Decode segment from segment token locally.
- Adapt to TS 3.7.3.
- Docs folder and builder.
- New query
checkProfileAllowed
.
- Deprecate the queries:
products
,productSearch
,product
,searchMetadata
,facets
andautocomplete
. They were moved to thesearch-graphql
app.
- Sync OrderForm locale with the locale currently being used by the store.
- Make Checkout fields have the @translatableV2 directive.
- Argument schema on mutations
createDocument
andupdateDocument
.
- Use
geoCoordinates
andgeoCoordnate
on Address type.
- Handle Assembly Options' InputValues
- Revert scalar Upload.
- Protect against bad marketing tag argument when updating order form marketing data.
- Remove unnecessary scalar.
- Add missing scalar.
- Throw errors on
products
andproductSearch
queries when theto
arg is greater than 2500.
- Check if undefined is passed to facets param in
facets
query.
- Transform
geoCoordinates
prop passed toupdateAddress
intogeoCoordinate
.
- Transform
geoCoordinates
prop passed tocreateAddress
intogeoCoordinate
.
- Decrease min replicas.
- Create friendly name resolver to ShippingSLA type.
- Create query for search metadata.
- Translate terms with
messagesGraphQL
client(instead ofmessages
client) before sending them to search api forproductSearch
andfacets
resolvers.
- impersonate and depersonify mutations to affect orderForm
- Use session client instead of making requests directly
- Fix
titleTag
prop of theBrand
type that was removed in the last release.
- Add more translatable fields for catalog members.
- Field
videos
toItems
- Returning an array of installments with
[null]
.
- Field
unitMultiplier
toOrderFormItem
. - Field
addressId
toOrderFormItemInput
.
- Add
priceTables
toSessionProfile
.
- Fix issue where Offer resolver was not being applied.
additionalData
inconnectorResponses
inorder
.
- Bug on fetching price of assembly options, on some corner cases of assembly tree building.
- Capability of adding recursive assembly options on addItems mutation.
- Check only on recently added items to add assembly options, preventing to add options to wrong father.
- Field
producRefId
toOrderFormItem
. - Field
productCategories
toOrderFormItem
. - Field
additionalInfo
toOrderFormItem
.
listsByOwner
query not returning the list information updated.
- Add
giftSkuIds
field to theOffer
schema
- Code improvement. More types in Checkout files.
- Remove assembly option client method: send delete body correctly.
- Avoid breaking call to
updateOrderFormMarketingData
ifmarketingTags
isnull
.
- Return the sales channel country as a default country on the
shipsTo
array of countries in logistics query. - Port LogisticsDataSource to a Janus Client.
- storeConfigs query.
- Port OMSDataSource to a Janus Client.
- Use a better resolver architecture to fetch assembly options prices and use checkout client instead of axios.
- added
teasers
anddiscountHighlights
fields inProduct
type.
- Transform some Profile properties(
isCorporate
,corporateName
andtradeName
) to fit the needs of store-graphql contract and communication withprofile-system
.
- Protect against null arguments in productSearch.
- Find seller name for breadcrumb for map "sellerIds".
- Fix for incorrect breadcrumb name on categories after non-category maps.
- Uses slug in GoCommerce
productId
field toItems
type
Added documentSchema query to make it possible for retrieving masterdata schema data
- Slugify brand and category names before calling pagetype query on
searchContextFromParams
resolver. - Reimplement custom slugify method to be closer to the catalog version.
- Prefers
ProductUniqueIdentifier
overslug
in product query
- Improve performace at searchContextFromParams resolver.
- Fix Go Commerce corner case of products without valid categories in tree.
- Performance improvements for productSearch and product category tree resolver.
- New pagetype query to identify by path and query the search page (brand, department..).
- Fixes geoCoordinates on
createAddress
andupdateAddress
mutations
- Remove artificial synchronization of orderForm and session in preparation for transparent API support.
- Scalar type of
rawValue
ofPriceTags
type.
invoicedDate
into Order type.selectedSla
toLogisticInfo
type.
productCategoryIds
intoOrderItem
type.
- Improvevements on search breadcrumb resolver regarding categories.
- Decode name of search breadcrumb unit.
brandId
toProduct
type.imageUrl
toBrand
type.
- Fix for products with categories in different trees.
- Problems in product/categoryTree resolver if there were / on the name of the cateogry.
- Proper fix for bug when trying to get category tree of undefined.
- Hotfix for "cannot get length of undefined" bug.
customData
attachment to typeorderForm
.- Fields
productCategoryIds
,priceTags
andmeasurementUnit
to typeOrderFormItem
.
- Field
deliveryIds
to ShippingSLA in the shipping Query.
- productsByIdentifier query and associated resolver to retrieve multiple products from an array of identifiers (EAN, reference code, etc)
- subscribeNewsletter mutation resolver not passing correct params to client.
- Corrected query string formats for
productByEan
andproductByReference
catalog client methods
- Increase timeouts for external services like checkout and catalog
- Use
session
client fromnode-vtex-api
- Port
profile
datasource to an JanusClient and incresead it's timeout to 3 seconds.
- Ports catalog datasource to client
- profile query creation when the profile doesn't exist already. Treating for emails with non uri char's like '+'.
productRecommendations
query.
- Minor type fixes (removing
any
s).
createList
mutation not creating the documents in list's resolver.updateList
mutation not updating the documents in list's resolver.
- Eliminate two queries to catalog at the productSearch for products and recordFiltered.
- UTM and UTMI params in orderform.
- New field
utmParams
to querygetSession
. - New field
utmiParams
to querygetSession
.
- Throw error in
updateDocument
resolver ifid
field is null
- Use both slugify methods to find brand data on catalog queries.
- Ported CallCenterOpDataSource to CallCenterOp IOClient.
- Use better resolver architecture at productSearch query.
- breadcrum resolver at productSearch.
- updateProfilePicture mutation.
- Fix
orders
andshipping
routes in Checkout Client.
- Check when user is impersonated in
getPasswordLastUpdate
document
resolvers working according to the graphql schema.
- Ported DocumentDataSource to MasterData IOClient
- Ported CheckoutDataSource to Checkout IOClient
- Use filter for availability on facets query as well.
- Search metadata for Brands.
- Adds missing facets fields back after schema breaking change
- Translate terms (with
Messages
) before sending them to search api forproductSearch
andfacets
resolvers
- Remove comma from invalid characters of product search.
- Remove slugify on facets when computing selected property.
- Autocomplete field resolvers for internationalization
- scope from SEGMENT to PUBLIC for Brand related queries
- Splits Deparment, Brand etc types from Facets
- Product id as translation provider id
- Add Category/Brand name in
titleTag
when meta tag title are null.
- Slugify facets when checking if is selected. ]
- Added
href
field to facets category. This field should be used to populate links in the store
- SEGMENT scope to root field resolvers containing translatable fields
- Uses default sales channel as API language
- Parameter
hideUnavailableItems
to catalog search queries.
- Selected property in facets accounting for corresponding
map
.
- Add
/d
tohref
when it's a department.
- Fields
href
andslug
from a subcategory.
- Add
titleTag
andmetaTagDescription
inproductSearch
query.
productSearch
query.
isEditable
field tolist
graphql type .
map
field not required inFacet
type.
Slug
field not required inFacet
type.
- Add fields
selected
andmap
toFacet
type, alongside the camel case version of previous fields.
search
query.
- Check if composition is null before mapping over its items on itemMetadata priceTable resolver.
- Ported to native errors from
@vtex/api
updateAddress
inner object in body was not stringfied.
- Return relative href within categories.
- Fix how category children field was resolved.
- Typescript error introduced in Typescript 3.4.
- Property
lastPasswordUpdate
to profile
ItemMetadata
will not return null when there is no priceTable for some item.
- Increase min replicas.
- Add
ProductUniqueIdentifier
parameter inproduct
query.
withCurrentProfile
directive, create a profile for the user if he is logged but hasn't one yet.
- Add
discountHighlights
field inproduct
query.
noImplicitAny
flag totsconfig.json
.
- Created
cartIndex
resolver onOrderFormItem
.
- Add
specificationGroups
inproduct
's resolvers. - New mutation
subscribeNewsletter
.
Invalid CEP
messages in checkout API. This was due to updating the order form shipping address with a masked session address. The fix was to check if the address was not masked before sending it to checkout api
- Subscription related queries, moved to the
my-subscriptions-graphql
.
- Profile
birthDate
format.
- Fix cookies not being properly sent to search API.
- Filter assemblyOptions with composition not null for assemblyOptions resolver.
- Add
seller
field toOrderFormItem
.
- Return new order form if added assembly options at end of addItem mutation.
- Using
application/x-www-form-urlencoded
for logging-in instead of raw querystring with plain text credentials
Subscriptions
, moving the queries to the othermy-subscriptions-graphql
.
- Removes datasources cache since it was mostly unnused
- Error
argument str must be a string
in orderForm resolver
- MakeRequest call in
redefinePassword
resolver
- A/B test between using proxy catalog or not
- Use new datasource exposing metrics
- GoCommerce catalog does not accept HEAD. So every request should be switched back to a GET request
- Use the parseFieldsToJson function in the updateDocument resolver.
- Fix the Document.updateDocument call the in updateDocument resolver.
- Using
profileSystem
onprofile
related queries and mutations.
- Fix
payments
totransactions
in Order graphql.
- Using correct catalog method for proxy
- Bluebird-global related issues
- Typings on catalog proxy
- Adds
?sc
parameter to checkout and catalog dataSources when sales channel is available. Note that sales channel availability depends if the root field resolver has a@cacheControl(scope: SEGMENT)
AND@withSegment
directives - get order by id query
- added pickupPoints query
- added updateOrderFormCheckin mutation
- Create assembly options resolvers to
OrderFormItem
- Implement call to removeAssemblyOption on checkout data source
- Call it if passed assembly option with quantity 0
- Headers' error in the
Document
dataSource.
- Add logic to call addAssemblyOption to append assembly options to cart items
- Fixes
Unexpected end of JSON input
errors in payments data source
address
onSession
type
- Fix
withCurrentProfile
directive, handling the case when the user is not signed in.
- Fix cookie name in
isUserLoggedIn
function
- Add
userLastOrder
query, fetching last logged in user order from OMS
- Add assembly options fields to Order, OrderForm and Product types
- Create ItemMetadata type
- Add logic to sync orderFormId in cookies with session (soon to be implemented by checkout)
- Add logic to sync order form address with session (soon to be implemented by checkout)
withCurrentProfile
to get the session that will be used on the profile related queries.
- Do not modify apollo request headers by overwritting the object
- Using new SEGMENT scoped directive
- Add
currencyFormatInfo
onstorePreferencesData
, and its respective type.
- @gocommerce/utils module to resolve if the current account is GoCommerce
- Upgrading node-vtex-api from 0.x to 1.x
- Removing unnecessary try..catch block in catalogProxy
- Using IO/CI for releasing this repo
- Add product list resolver.
- Fix
seller
field type on OrderFormInput to accept strings as valid values - Fix cart add on marketplace stores
profileResolver
, now it is working for a impersonated customer.
- Changed min replicas to 6
- Removes custom axios config to avoid custom error handling.
- Update updateOrderFormShipping resolver and fix geoCoordinates field in address types
- Use catalog proxy for total products API request.
- Proxy all headers from catalog proxy.
- Isolate the query to
facets
andproducts
from the search resolver.
SubscriptionOrders
resolvers
- Subscription resolvers
- canImpersonate of undefined
- reduce of undefined
- Call catalog endpoint with HTTPS
- Add
calculatedAttachments
resolver for the SKU.
- Filtering of documents search with
where
param
- Creation of
VtexIdclientAutCookie
header
- Using new @resolvers directive to set Vary http headers
- Fix product search by slug returning no products because Catalog API is case-sensitive.
- Needs to have lint passing to publish store-graphql. If you are having problems publishing it, please remove the node_modules folder and run
yarn
- Add vary x-vtex-segment to prevent wrong cached responses.
- Add
titleTag
andmetaTagDescription
in searchs for brand.
- Add a regex in brand slug to remove special characters.
updateOrderformShipping
passing of props in resolver and dataSource
googleMapsKey
field onLogisticsData
type
- Increased max replicas
- Add OrderFormShippingData schema type
- Bug in updateOrderFormShipping resolver
- Fix proxy catalog's querystring format
- Filter installments by criteria
- Search term encoding
- Search term cannot be nullable in search query
- Create an internal catalog proxy to cache responses on kube-router
- Return email in
getSession
when a new user is logged.
- Change
email
to be a required field inProfileInput
.
- Fix
updateProfile
mutation to update information of new users.
- Refact checkout resolvers to use dataSources
- Change catalog and checkout resolvers to account vtex_segment
- Using native support for dataSources
- Add dataSources to the catalogue API
- Autocomplete working for GoCommerce
- Argument type mismatch in url generation
- Refactoring to use fields resolvers instead of manually parsing the fields
- Add session query and remove initializeSession mutation.
- Fix
/start
path of VTEX ID API.
- Refact the auth mutations to make
POST
insteadGET
requests in API.
isCorporate
field to ProfileInput
isCorporate
field to Profile
- List of SKU Item IDs in the Benefit Resolver to indicate what SKU Items are taking part in the benefit.
profilePicture
query
- Arguments and return type of
uploadProfilePicture
mutation and itsupdate
sibling
setPassword
mutation.
- Unused additional query to facets api inside the search resolver.
- Hotfix Fix impersonable property name.
- Add
ImpersonatedUser
type in Session object.
- New
payments
field to profile.
- Add optional fields
Id
andSlug
to theFacets
type.
- Add similars data in
Recommendations
resolver.
- New
Logistics
type and resolvers.
- Minor refact in session resolvers and add docs.
- Syntax error in
Catalog
resolver.
- Benefits resolver is now using only public endpoints.
- Add
initializeSession
,impersonate
,depersonify
mutations to telemarketing app.
- Throw specific error when the product is not found on product resolver in catalog.
- Return filtered facets based on the query and rest on the search resolver.
- Add
ClientProfile
inOrderForm
type.
- Add
enableCookies: true
on checkout mutations.
- Return profile on address delete
- UploadAttachment resolver
- UpdateProfilePicture to allow replacing existing profile picture
- UploadProfilePicture uses upload attachment resolver
- Fix replace
http
tohttps
to match onlyhttp://
.
- Replace
http
tohttps
in itemimageUrl
property.
- Search in Gocommerce catalog when account is Gocommerce
- Add title and meta tags in
category
,search
,brand
andproduct
queries.
- Removes undefined error in
Kititems
when products is undefined
ProfileUpdate
mutation works when customFields only are provided
Profile Resolver
error when profile data returned null.
geoCoordinate
field toaddress
query
Update profile
mutation without custom fields.
Login options
resolver.
- Search resolver
- Changes custFields names to reflect Profile in CacheID
- Adds cacheId to Profile Custom Fields
- Bringing
benefitsProduct
back, after upgradeapp-store
to use[email protected]
.
- Change property name banefitProduct to product
country
field toaddress
query
- Circular benefit query.
- Possibility to extend profile info according to masterdata CL entity
- Adding file upload to Masterdata CL entity
- Resolve null fields of product data in benefits resolver.
OAuth
Resolver.- Support for product retrievement into benefits resolver.
- Recommendations of product query to retrieve different products.
- PriceRanges to facets graphql type
- Benefits resolver was breaking with the returned data being null.
- Added cacheId field to root types.
- Fixed bug in
logout
mutation that didn't log out correctly.
- Add
recoveryPassword
mutation in auth resolver.
- Add classic login mutation.
- Refact auth resolver.
- Fix products search query only adding a category if there is not a search term.
- Fix
vtexId
use onpaths.ts
.
- Add documentation in
graphql
files.
- Refact paths and organize API docs.
- Profile Query will return the user email in case of data not found.
- Fix
profile resolver
to use ioContext authToken.
- Set the
maxAge
received from VTEXID toVtexIdclientAutCookie_${account}
inaccessKeySigIn
mutation.
- Create the logout mutation.
- Fix
recommendations
field resolver.
- Remove
VtexTemporarySession
to AuthInput.
- Sets cache hints to schema root fields
- Fix profile query to reflect changes that were made in auth resolver.
- Fix authentication resolver to sign in only account users.
- Changed
shipping
query to perform freight simulation correctly.
- Fixed
profile
query permissions to read masterdata private fields
- Resolver Add to the
autocomplete
query theslug
property
- Resolver Change the
OrderForm
query to parse the integer prices to float.
- Path Product path was missing specification field.
- Add
map
param to theproducts
query
- Fix the
products
query to reject invalid characters
- Add
map
param to theproducts
query
- Fix the
products
query to reject invalid characters
- Product Query Add
productClusters
to theproduct
query
- Resolver Create
documentResolver
to providecreate
,retrieve
andupdate
Documents. - Resolver Create
brands
resolver to provide all brands from store.
- Resolver Fix
authResolver
to setHTTPOnly
on cookies.
- Resolver Login resolver to provide GraphQL queries and mutations.