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.
- Translations for customHeader
- Modal style in cms/store and not affecting site editor
- Modal in admin/cms/store pages
- Empty message in pages condition template
- Integrate Site Editor with Audit App.
- Fix processedRedirects value atribution.
- Add the LMProductId to the navigation.json file.
- Spanish translations
- Not allow user to change the path of existing route
- Robots to be editable in page's form
- Translations for Bulgarian, Spanish, French, Korean, Dutch and Thai.
- Translations for the
fetchSponsoredProductsOnSearch
advanced setting.
- Fix exhibition of the end date of temporary redirects.
- Redirects searcher
- German translation.
- English, French, Italian, Portuguese, Spanish and Thai translation.
- I18n for color picker label.
- I18n issue in Media Gallery Widget component.
apps-graphql
version
- Displayed message at UI in redirects type was wrong
- Bulgarian, French, Korean, Romanian, Dutch and Thai translations.
- Bulgarian, French, Italian, Portuguese, Korean, Japanese, Romanian, Dutch, Spanish and Thai translations and add English messages for previously hardcoded strings rendering in other apps.
- Missing messages in all languages.
- Use Media Gallery Provider.
- English and Italian translations.
- English, Spanish, Italian and Portuguese translations.
- Missing comma in thai's message
- New messages to enableCustomCurrencySymbol feature on store settings
- Warn about changes behavior on subcategory page.
- Thai and context messages to fix hardcoded strings.
- New messages to reflect change in hardcoded strings in builder hub
- "Duplicate to other bindings" button on the topbar.
- Revert v4.47.2
- Thai translation.
- Bulgarian, English, Spanish, French, Italian, Japanese, Korean, Dutch, Portuguese and Romanian translations.
- Disable editor changes in subcategory pages.
- Upgrade the dependency
admin-cms
to 1.x.
- I18n for new settings
- English, Italian, Romanian, French, Japanese, Korean, Dutch translation.
- Pseudolanguage.
- Messages for the
Twitter Meta Tags
app configuration.
- Status toggle for content configurations.
- Examples in favicon types
- I18n Bg and pseudo language to implement in-context tool.
- I18n Fr, It, Ja, Ko, Nl and Ro.
- Store module under the
Store Settings/Storefront
sidebar section of theadmin@4.x
.
- Rework on: Toast overflows the bottom-right conner, making the app unresponsive in that section.
- Toast overflows the bottom-right conner, making the app unresponsive in that section.
- Fix the number of redirects displayed on cms/redirects
- Image preview resolution in the uploader widget.
- Drag and drop not working properly.
- Fix scroll on the sidebar editing panel.
- Block selector not working after a binding/locale change(2).
- Replace the Image Uploader with the CMS Media Management.
- Shortened the message from the temporary warning banner for the
newadmin
workspaces.
- Temporary warning banner for the
newadmin
workspaces to let clients know that the module only affects the production store on the master environment.
- Add messages for "B2B behavior enabled".
- Change BaseInput to render "read-only" schema fields.
- I18n Fr, It, Kr and Nl.
- Crowdin configuration file.
- Position the
Site Editor
as the first item in theStorefront
section of the admin V4 sidebar.
- Block selector not working after a binding/locale change(1).
- Block selector status(wait).
- Hides query strings from site editor top bar.
- File format disclaimer to both iOS and Android icons uploaded via the PWA section inside of Store settings page not added in some languages.
- File format disclaimer to both iOS and Android icons uploaded via the PWA section inside of Store settings page.
- I18n En, Es, Pt, Ro and Jp.
- Context.json with new strings.
- I18n Jp.
- I18n Ro.
- Support for multi binding for redirect CSV management.
- Preventing unchanged information to be sent and updated as undefined in
admin-pages\Form\index
- Setting
Description
andKeywords
as editable fields with the same condition asTitle
inadmin-pages
- Adds binding selector for CMS Redirects
- Site editor flag when navigating between bindings.
- Site editor flag in the iframe URL.
- Adds binding selector for CMS Pages
- Sending blockId in
Form index
component even when is not changed to prevent unexpected behaviors
- Keep selected binding between admin reloads.
- I18n Ro.
- Crowdin configuration file.
- Admin v4 navigation setup
- Templates scheduled to go live in a specific day now always go live at midnight
- Add custom entity scope message
- Uses querystring to get the redirect
- Field
binding
to redirects export spreadsheet.
undefined
appearing in the URL path wouldn't allow page to be loaded
- Revert changes made in
4.25.0
- Replace node lib with browser version.
- When accessing a specific page directly, the querystring was being ignored
- Add vtex.rewriter as datasource for page editing.
dataSource
field to save user routes as rewriter internal routes
- Uses new redirect list API
- Better feedback to redirects bulk upload.
- Redirects admin uses
rewriter
instead ofpages
to read/write redirects, sincerewriter
has a higher limit to the number redirects that can be created.
- "Not found (404)" category on pages.
- The styles admin was displaying a loading in the right side. This loading animation was removed since there was nothing to be displayed there.
- Bug in which changing to a binding with a default locale different than the current one wouldn't update the locale selector's value.
- Bindings support.
- Preview mode toggle.
- Layout instability when loading the site editor. The sidebar would take a few seconds to appear and the page would undesirably resize
- Add Splash Screen image loading animation.
- Update
react-intl
to latest version.
- Add styles menu item to GoCommerce sidebar too.
- Decrease batch size AGAIN to make a timeout with messages service less probable.
- Move global CSS to scoped modules.
- Typescript errors.
- Unused CSS classes from components and CSS files.
- Decrease batch size to make less probable a timeout with messages
- Editor sidebar width.
- Small visual tweak: removed unwanted shadow from the card block list
- Improve the Site Editor's modals' texts.
- Tooltips to Site Editor's topbar controls.
HighlightOverlay
now appropriately updates its height as the block being edited changes.- Missing
State
export fromHighlightOverlay
.
- Store and Styles shortcuts to the admin sidebar.
- Redesign the Site Editor's topbar and its components.
- Move the Store and Styles editors to separate admin pages.
- Move the viewport controls to the topbar.
- Unnecessary Y overflow on smaller viewports.
- Changed style of the editable input that goes in the block editor header
- Place app cards last in the configuration list.
- Place active card first in the configuration list.
- Place expired cards just before the app card in the configuration list.
- Mark expired configuration cards as inactive.
- Updated sidebar block editor header visual
- Use new translate API from vtex.messages
- Add
On the first purchase
prompt event option inPWAForm
.
- Race condition when more than one messages batch was fetched from the server
- Z-index issues with the date picker, which prevented users from scheduling content.
- Block editing's modals' messages.
- Issue where clicking children blocks in the sidebar would open their parents.
- Unused i18n messages and the
SaveButton
component.
- No option to "cancel" configuration delete
- Status label to configuration cards.
- Show the editing form with the active configuration when clicking to edit a block instead of the list of configurations.
- Refactor and improve the quality of a core part of our code base.
- When going back from edit a block, the blocks you expended before editing remain expanded.
- A bug in which, once a block was selected, the content would load forever.
- A few minor bugs.
- Many UX issues.
- Highlighting last valid block when clicking to edit a block that isn't rendered or isn't valid, i.e., isn't editable.
- Highlighting block that isn't visible on the screen due to
overflow: hidden
(e.g.,Product Summary
onShelf
): Try to get the block closer to the middle of the window when selecting from a list of blocks (e.g.)
- Bug in which the content would load forever.
HighlightOverlay
now has a new look: No more background color and dashed border, also added a label to show which block is selected. It stays visible when the user is editing a content.
- Locale switcher's spanish and portuguese strings.
- Suggest a path based on the page title when creating a new page.
- Local cache to function
editorMessagesFromRuntime
. - Localization to confirm prompt when attempting to navigate with open form.
- Widgets'
onChange
and, consequently, v4.12.3's i18n solution.
- Replace the way i18n fields updates are handled with a (somewhat hacky) solution that doesn't use Runtime's
addMessages
.
- Some i18n editing inconsistencies.
- Where
__setHighlightTreePath
was typed: deleted old interface and add it toWindow
interface.
- Issue when hovering over an element that wasn't in the DOM,
HighlightOverlay
made the iframe height grow indefinitely.
- Improve rich text editor
- Save page slug based on page title
- Preview width
- Visibility of filters when editing an array item.
- Missing messages that weren't being detected by babel plugin.
- Always re-fetch content when opening a card.
docs
from.vtexignore
.- Unused messages.
- Changes from releases
v4.10.0
andv4.10.1
.
- Editing nested arrays.
- Docs builder.
- PWA splash screen title.
- PWA splash screen preview not found.
- Rich text editor bug caused by wrong typings
- Temporarily revert releases v4.10.0 and v4.10.1.
- Redirect from pages with
storefront
tosite-editor
.
- Rename "Storefront" to "Site Editor".
- Make CI scripts run in parallel.
- Array item editing's state stack logic.
- Image preview for schemas that use the
image-uploader
widget.
- Array item editing flow.
promptOnCustomEvent
inPWAForm
.
- Content edition bug due to the usage of wrong tree paths in sitewide blocks.
checkTypes
andformat
scripts toreact
'spackage.json
.
- Replace TSLint with ESLint.
- Move linting and pre-commit configurations to the
react
folder. - Update the Travis CI Node version.
- Update the Travis CI script.
- Update
react
'slint
script.
- All linting issues pointed out by VTEX's ESLint config, from typings to a11y.
- Typo in the Portuguese version of the production workspace warning text.
- Unused scripts.
- Make ContentIOMessage call newTranslate graphql resolver
- Avoid crash when content translation fails
- Responsiveness in content pages form and list
- Settings tab from the Pages admin.
- Instructions to use content page.
- Avoid crash when trying to create a content page in a theme that doesn't support it.
- Store's locale switcher at topbar
- Send all route data when it's a user route.
- Changes from
v3.17.0
.
- It is now possible to edit the title of contextless routes.
- Change title that is shown in pages list.
- Send partial route data to be saved.
- Simplified form to create content pages.
- Sidebar position in smaller windows.
- Changes from
v3.15.9
,v3.16.0
andv3.16.1
.
- Properly hiding nested "layout" components.
- Add support to uiSchema from JSONSchema dependencies
- Changes from
v3.15.8
.
- Add
RichText
type to i18n Mapping
- Changes from
v3.15.7
.
- Add allErrors to ajv validation
- Changes from
v3.15.6
.
- Add empty field by type when form field is not modified
- Changes from
v3.15.5
.
- Content save is now sending values properly.
- Changes from
v3.15.4
.
- Conditions to show extension on components list: stop considering block
composition
type, and uses whether they're editable or not.
- Showing nested components that are editable.
- Components list sort logic.
- Changes from
v3.15.3
.
- Alert to inform the user in
master
workspace that his changes go to the production store.
- Changes from
v3.15.2
.
- Prevent click on extensions that have
composition === 'children'
. - Change style of items:
ExpandArrow
andItem
hovers have been separated and no cursor and no hover on uneditable items.
- Add warning to top of storefront when user is in development mode telling changes to content can't be promoted
- Adds the ability to navigate to a specific URL by editing the storefront URL in the UI
- [BREAKING] Change routes to be compliance with new admin 3.x architecture
/admin/app/<route>
. - [BREAKING] Injects this admin in admin 3.x navigation (loosing compatibility with admin 2.x).
- Remove some context function calls that were previously injected by admin 2.x.
- Properly handle
JSONSchema
dependencies and arrays
- Create
onFileDrop
props onImageUploader
to make it work both as areact-jsonschema-form
widget and a standalone component.
- Prevent click on extensions that have
composition === 'children'
. - Change style of items:
ExpandArrow
andItem
hovers have been separated and no cursor and no hover on uneditable items.
- Improve
StoreForm
typing and refactor some parts of it.
- Typo in the page creation form.
- Styles Editor feedback
Toast
is now positioned to the left.
- When deleting a content configuration, the configuration list's
activeExtension
wasn't being updated andupdateRuntime
wasn't being run synchronously.
RichText
widget, which, for now, is just aTextArea
with i18n.
- Rename
IOMessage
widget toI18nInput
, and add a prop to replaceBaseInput
withTextArea
.
- Prevent invalid values at
TextArea
.
TextArea
's horizontal resizing.
- Typing issues.
- Simplify active content determination logic after saving a configuration.
- Handle edge case in which translatable fields' values are
undefined
. - Prevent invalid values at
EditableText
andBaseInput
. - Add missing
contentMapId
field to theExtension
interface.
- Upgrade
handlebars
to^4.1.2
, since a vulnerability has been discovered in the previous version.
- Use regex to replace all '/' to generate routeId.
withPWASettings
condition to query the default colors from Styles GraphQL.
- Deleting item when pressing Enter inside a carousel
- Navigation infinite loading when iframe runtime crashes.
- "Create new" message on pages portuguese translation.
Scheduler
's secondDatePicker
's (to
) position.
- i18n mapping issues.
- Unused CSS class from configuration card.
- Loading overlay to content editor.
- Scope and condition information to configuration cards.
- Make component editor's header editable.
- Configuration card layout.
- Size and color of the component editor's headers' back arrow.
- Standardize the component editor's headers.
- Move configuration creation button up and change its label.
- Increase spacing between form buttons.
- Use
EditorContext
's loading state instead ofFormMetaContext
's one. - Use method to get
EditorContext
's loading state instead of an attribute.
ModeButton
default messages.vtex.native-types
typings.
- Fixed style editor preview where tachyons was overriding components' css override.
- Hint to Page Form.
- Validate if URL begins with '/'.
- Description and Keywords fields to Page Form when creating or editing a custom page.
- Image Uploader now has translated messages.
- Loading issue when navigating.
- Back button was updating the form before the user selected the discard option.
- Add format IO messages to radio button labels
- Keep store editors state when hidden by store preview.
- Add i18n to editor description field
- Check title type that is passed to component list item.
- When the page context can't be identified, set the configuration scope as "this template" and display a toast with a brief explanation.
- Page context evaluation logic in configuration cards' tags.
- Support for
title
that comes from block.
title
from block is also considered when deciding whether to show or hide the extension on the Sidebar.
- Reset content logic to improve UX.
- Add slight debounce to
formChange
.
- Typo on
HighlightOverlay
state. - Only passing relevant schema, i.e.,
layout
orcontent
to Form. useMemo
on some components instead of recreating an object every render.
Other PWA settings
subsection so users can clearly see what really needs to be filled in theAdvanced Settings
form.
- When deleting a configuration, keep the loader until the configuration has been deleted.
- Inconsistent content edition caused by desynchronized Runtimes.
- Configuration list not being updated after creating/deleting configurations.
- Highlight overlay assets being loaded on store
- Components are now nested on the list.
- Bug that was duplicating some blocks.
- [Performance]
useMemo
onContent
to getinitialComponents
so it isn't calculated every time.
- Content i18n support.
- IOMessage widget.
- Move Runtime update from configuration close to quit.
- Refactor
ConfigurationList
to – among other things – handle form data locally, only evaluating Runtime extensions when getting instantiated and opening a configuration; - Only render
ConfigurationList
once theListContent
query is finished. - Replace
editor
andformMeta
props withuseEditorContext
anduseFormMetaContext
in some components. - Rename
listContent
query tolistContentWithSchema
.
- Controlled/uncontrolled
BaseInput
issue. - Null values at
LabelEditor
. - Remove unused imports and props.
- i18n default messages.
- Split query to get messages in case there are too many components.
- EditorContainer
- Add
sticky
property to tabs at Store Settings menu.
- Add
- Passing
blockId
onSaveContent
mutation.
editbar.global.css
- Remove styles that changed elements globally:
html
,body
, and.render-provider
.
- Remove styles that changed elements globally:
- Pass blockId to ListContent query.
- Remove layout props editions.
- Disable reorder components.
- Correctly reset content when discarding.
- Refactor code to remove usage of
compose
fromreact-apollo
as it shouldn't be used with Typescript.
__provideRuntime
- Prevents query from stopping execution by using a try catch block.
PageEditor
- Spread messages object instead of replacing.
HighlightOverlay
- Improve scroll behavior.
EditorContainer
- Change Store general/advanced settings logic to use tabs instead of buttons.
EditorContainer
- Add toggle to allow disabling the "Add to Home Screen" prompt.
- Add settings button's intl id into
context.json
.
- Bump to new
pwa-graphql
major.
EditorContainer
- Add the PWA settings to the
Store
settings.
- Add the PWA settings to the
EditorContainer
- Add the
settings
editor, named asStore
.
- Add the
- Redirect
type
support.
- Store sidebar did not have a fixed size.
IframeNavigationController
wasn't cleaning up when user decided to navigate.
- [BREAKING] Make
admin-pages
compatible with new majors:store-theme@2.x
,pages-graphql@2.x
,render@8.x
,admin@2.x
. - [BREAKING] Use
blocks
architecture.
- Users can reorder and delete blocks.
- Styles Editor
- Typescript errors ;)
EditorContainer
- Move sidebar to it's own component.
- Type IFrame on
highlightExtensionPoint
.
Sidebar
- Favour early returns instead of ternary operators.
- Move component selector to it's own component.
EditorProvider
- Add
mode
(andsetMode
) to EditorContext.
- Add
ComponentEditor
- Remove
mode
from state. - Use
mode
from EditorContext.
- Remove
ModeSwitcher
- Move inside of
Sidebar
folder. - Switching mode from
editor
instead of props.
- Move inside of
- Styleguide
- Update version to 9.x.
HighlightOverlay
- Uncovered edge case where a component has two or more DOM elements that alternate visibility based on the user device.
-
Pages
- Rename "page list" to "pages".
-
pages.json
- Move admin links to CMS section.
render.d.ts
Helmet
component.
- Redirects
- Rename some folders and reorganize components.
- Redirects
- Admin navbar link.
HighlightOverlay
- Consider padding from iframe body to calculate offset.
ComponentEditor
handleScopeChange
method signature updated.
prettier
andlint-staged
- Standardized style.
Typings
- Converted some
.js
components to.tsx
. - Missing
vtex.styleguide
components exported tovtex.styleguide.d.ts
. - Compatible types to work with external dependencies.
- Converted some
SimpleFormattedMessage
- Component that wraps
react-intl
's<FormattedMessage>
and returns only text instead of<span>
(The lesser DOM nodes generated, the better).
- Component that wraps
ArrayList
- Component from
ArrayFieldTemplate
file.
- Component from
ScopeSelector
- Using
Dropdown
component from styleguide instead of component made forreact-jsonschema-form
.
- Using
ComponentEditor
- Move
Form
component to another file and implemented customshouldComponentUpdate
to prevent form stagger on update.
- Move
DeviceSwitcher
- Using
PureComponent
instead ofComponent
. - Receives shallow props.
- Using
ArrayFieldTemplateItem.tsx
- Added
<SimpleFormattedMessage>
on label to solve i18n issues.
- Added
EditorProvider
shouldUpdateRuntime
variable to conditionally callupdateRuntime
.
ComponentEditor
- Title size remains the same with or without save button.
MessagesContext
- Create context to pass iframe locale messages to
PageEditor
.
- Create context to pass iframe locale messages to
EditorProvider
- New component to wrap
EditorProvider
withMessagesContext.Consumer
.
- New component to wrap
PageEditor
- static method
getCustomMessages
Message.Provider
- static method
pages.json
- Set HighlightOverlay
ssr
asfalse
.
- Set HighlightOverlay
HighlightOverlay
- Checking if
setHighlightTreePath
is defined before calling it.
- Checking if
- Typings
Window
interface with custom methods.
EditorProvider
emitLocaleEventToIframe
method to sync iframe locale.
EditorProvider
- I18n messages update logic.
- Typing and formatting.
vtex.styleguide.d.ts
- Typing for styleguide.
react/package.json
- Lint command.
global.d.ts
- Highlightable Iframe and Window.
- ComponentSchema types.
render.d.ts
- RenderComponent related types.
utils/components.ts
- Used to be
components.js
- Used to be
lint.sh
- Use lint command in react folder.
EditorContainer.tsx
- Type iframe.
HighlightOverlay.tsx
- Type window.
ComponentEditor/index.tsx
- Several type errors.
manifest.json
- Use styleguide
7.x
.
- Use styleguide
render.d.ts
- Export pattern.
utils/components.js
- Became
components.ts
.
- Became
editbar.global.css
- Missing
calc--width
class.
- Missing
ComponentsList
- Sort components by display order (top/left first).
PageForm
- Loading logic.
- I18n to buttons.
PageForm
- Error dialog on success bug.
PageForm
- Unused classes from save button.
- Some
console.log
s.
EditorContainer
- Non-responsive behavior when admin sidebar gets expanded/collapsed.
- I18n (Spanish)
- Typo.
editbar.global.css
- Tablet positioning on storefront editor.
ImageUploader
- Replace complete file URL with only its pathname.
- Admin
- I18n to tabs.
- Redirects Admin
- Periods to empty state i18n texts.
- Redirects Admin
- Apollo cache/fetch logic.
- Redirects Admin
- Some
console.log
s. - Loading from remove button outside of modal.
- Some
- Deep uiSchema now gets array items.
- Redirects Admin
- Hide
Pagination
@ empty state.
- Hide
- Redirects Admin
- Pagination
to
edge case.
- Pagination
-
Admins
- I18n to loading text.
-
Redirects Admin
- Pagination to redirect list.
- Confirmation modal before deleting a redirect.
- End date to redirect form and list.
- Status to redirect list.
- Sublink to redirect list to admin.
- Redirects Admin
- Split redirects components into separate routes.
- Make
Modal
more generic and move it tocomponents/
. - Bump Styleguide to 6.x.
-
ComponentEditor
- Save button rendering behavior @ new configs.
-
LabelEditor
- Empty value bug.
- Array of Array rendering.
- Renaming repository.
- Rendering store inside iframe.
- Rename to admin-pages.
- Textarea widget.
- Use
enumNames
in a enum field when it exists, instead of only the name. BaseInput
label being translated withFormattedMessage
.
- Site scope option when the component being edited is not defined only to the current page.
- Incorrect type of the max, min and value attibutes passed to the
Input
.
- Remove
template
andsite
scope conditions.
- Sidebar visibility bug on preview mode.
- Attributes name in the svg icon.
- Fix cancel bug in edit mode.
- Accordion behavior on the array fields.
- Animation on accordion items.
- Bump Styleguide's version to major 5.
- Replace custom
ModeSwitcher
's tabs with Styleguide'sTabs
.
border-top
,margin-top
andpadding-top
fromComponentEditor
's first object field.
- Fix
BaseInput
not passing min and max props toInput
component.
- Editor mode switcher.
placeholder
prop toBaseInput
.
- Move remaining
object
field logic fromFieldTemplate
toObjectFieldTemplate
.
ComponentEditor
's top bar height @ mobile.ComponentEditor
's Save & Cancel buttons height @ mobile.
- Description from
object
fields.
- Create wrappers for Styleguide components and replace some of RJSF's default widgets with them;
- Create custom
ErrorListTemplate
.
- Restructure label logic;
- Move
ComponentEditor
's top bar and buttons out of form; - Make
ComponentEditor
's close icon a button; - Refactor
BaseInput
; - Move error messages and handling to widgets.
- Fix
ComponentEditor
's internal z-index; - Fix
FieldTemplate
's description logic; - Fix
BaseInput
'sonChange
edge case bug.
- Fix bug of z-index in the EditableExtensionPoint when the treePath has many resources.
- Dynamic parameter in the translated string via object values.
- Translate
ui:placeholder
,ui:help
,ui:description
, andui:title
inside thewidget
property of the schema - Translate
title
,description
andenumNames
properties in component schema.
- Support for deep schema objects
- Hide the input label when it's a checkbox.
- Avoid setting everything as undefined
- Fix implementation of singleton
ComponentEditor
instance that affected the test environment
- Added to the
ComponentEditor
support forUiSchema
to be defined with theComponent Schema
- Added to the
ComponentEditor
support for dynamic component schemas.
- Fixed the
ComponentEditor
to save extension