Releases: magento/pwa-studio
v2.0.0 Release Candidate 1
This is a prerelease in preparation for a larger architectural change in RC2. Here is a rough changelog:
Jonathan Stein 2018-10-03 Account creation (issue #250) (#293) * create generic input component
-
create login component, action and reducer catch
-
Hook login form to utilize and store token
-
Add navigation animation and user icon
-
add auth to REST requests
-
Add user icon
-
add auth header login_token to graphql queries
-
Change animation, add user to store
-
Move user logic into separate action/reducer
-
Add token to auth headers when token is available (rest)
-
Style sign in form, fix user reducer
-
Rename log in -> sign in. Wire up sign in form.
-
Style error messages in sign in form
-
write test for signIn and input, small style and prop fixes
-
Add redux actions to create account and transfer guest cart to user's account
-
add form, navheader and create account components, update styles
-
Transferring cart to a newly created customer account created an
issue where a guest cart could not be made. getCartDetails now checks if
a user is signed in. -
add debounce email check
-
add error display and checkbox components, wire up account creation with redux
-
add automatic login
-
Close createaccount if user is signed in
-
let checkbox highlight on focus, add firstname and lastname required fields
-
Tests for createAccount form
-
use browser persistence instead of interacting directly with local storage
-
add autocomplete to input
-
set default username and replace Form component with Informed's Form
-
start switch to Text component from Informed
-
switch to dot lookup in navigation states
-
Set initial value of CreateAccount (inform)
-
modify user actions/reducers to be in release 2.0 format
-
write tests for async User actions
Jimmy Sanford 2018-10-01 Update hardcoded client path in root template (#315) Now that client assets are output to web/js
, the currently
hardcoded path in root.phtml
needs to be updated.
James Zetlen 2018-10-01 fix: reducer removes guestCartId when it fails (#314)
James Zetlen 2018-09-28 fix(dev): merge 'assets' and 'output' paths (#220) - Remove the concept of the "assets" directory entirely, and set the
"output" directory to be just "web/".
- Remove the old logo asset from /web/ (pre-Venia rebrand!)
- Gitignore entire "web" directory
- Set JS files to output to 'web/js' subdirectory by adding directory
prefix tooutput.filename
andoutput.chunkFilename
- Modify tests, documentation, and type expectations to remove
paths.assets
-
Check if captureStackTrace exists before calling
-
Add test to ensure captureStackTrace isn't called when it does not exist
Unit tests should use MemoryRouter, not BrowserRouter, and do
shallow rendering rather than full mounting.
- feat(dev): Make PWADevServer host/SSL optional (#175)
PWADevServer attempts to create a unique domain name, create local
SSL certificates, and tell the OS to trust those certificates, for
every new project. It also tries to confirm they exist on every run!
This causes many problems for users under some common conditions:
- No administrative access to local machine
- No OpenSSL installed, or wrong OpenSSL installed
- OS cannot be scripted to trust certificates
- Developer uses Firefox, which uses its own cert store
Additionally, some bugs in the implementation have caused some
developers' projects to enter an unusable state.
- Adds
provideUniqueHost
flag to PWADevServer configuration.
PWADevServer will no longer try to create or retrieve a custom domain
name unlessprovideUniqueHost
is in its configuration in
webpack.config.js
as either a custom string ortrue
. - Adds
provideSSLCert
flag to PWADevServer configuration. PWADevServer
will no longer try to create or retrieve a trusted SSL certificate
unlessprovideSSLCert: true
is in its configuration in
webpack.config.js
. - Modifies custom domain name creation strategy to ensure uniqueness
based on a hash of the full local path, rather than using the local
flat file database.
We created these features for the needs of the developer working on
several PWAs at once on their local machine, so that they don't have to
set up manual SSL every time, and they have no conflicts with Service
Workers. This could be considered "bonus functionality", as it's not
critical to the setup of a minimum viable PWA. It was meant to establish
our focus on developer experience, and articulate the parts of developer
setup that PWA Studio can "own".
However, we soon learned that we could not maintain all scenarios for
automated setup and continue to make progress with shopper-facing
features. We still really want to support and automate all of these
scenarios, but for now, our implementations are a hindrance and we are
turning them off by default.
Paul 2018-09-26 Default pragma (#229) chore: Switch back to default pragma
- Switched import { Component, createElement } from 'react';) to import React from 'react', { Component };
- Switched import { Fragment, createElement } from 'react';) to import React from 'react', { Fragment };
- Switched import { createElement } from 'react';) to import React from 'react';
- Added
eslint-plugin-react
and updated eslint configuration
accordingly
Jimmy Sanford 2018-09-25 Merge develop branch (#298) * Reorganize redux, add address form
v1.1.0 -- Legacy "Theme" Release
This is intended to be the final "minor" release on the existing PWA Studio architecture. Those who are working on projects currently based on master
can continue to open pull requests against master
if they are hotfix-sized changes, meaning that they fix bugs or performance issues, and do not change any public APIs or expected behaviors.
Significant Changes
There is no established prior release to which to compare, so this changelog reflects a diff of the last month of merged changes.
- chore(cicd): Removed Greenkeeper to increase test coverage before automating package updates
- chore(community): Added Community Contributors
- chore(cicd): Switched Lerna to "fixed" mode so all packages share a version
- feat(dev): Added root-level NPM scripts to ease common development modes
- chore(dependencies): Refactored developer dependencies to root as much as possible
- fix(compat): Changed Babel settings to address later browsers
- cleanup(peregrine): Removed unused Peregrine Simulators
- fix(peregrine): Handled absence of Error.captureStackTrace
- refactor(buildpack): Refactored PWADevServer to make SSL and hostnames optional and generate hostnames differently
- fix(buildpack): Fixed duplicated dependencies bug in MagentoRootComponentsPlugin
- fix(buildpack): Added better error reporting for SSL cert generation problems
- docs(peregrine): Added documentation for Peregrine utilities and components
- docs(buildpack): Added documentation for Buildpack utilities, specifically PWADevServer
- docs: Added Basic Concepts documentation for CSS Modules
- docs(venia): Updated Venia setup docs
- feat(venia): Added browser-routed Link elements to navigate between pages
- chore(venia): Adjusted Webpack config for clearer reporting
Acknowledgments
Thanks to all our community contributors, core engineers, documenters, and managers for helping us to formalize our process and take the next big step.