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.
- Jest config
- Next work will be to start filling in tests
- Upgrade to React 18
- Dependency updates
/private
now passes thehobbies
,links
, andprivateInformation
fields that are required by child components/private
will now pass the secret key to the PDF link- PDF generator can now receive a
secret
query param to correctly list private fields
- Added
copyfiles
command to commit hook
- Uses Vanilla Extract for styles
- Uses custom Vanilla Extract styles and components based on an early version of the Strum Design System
- Non-PDF styles now support dark mode
- Defaults to a Markdown integration as the CMS
- Files in the project pull data for the résumé
- Requires a code change to edit the résumé
- Uses OG Impact to dynamically generate OG share images
- Contentful and Prismic integrations are no longer supported
- With this project rewrite, we may be adding CMS integrations as extra modules over time
- No longer uses Sass or Sass modules
- No longer uses Bootstrap
- Upgraded to Next.js 12.1
- Use built-in ESLint config
- Use built-in Jest config
- Switched to React-pdf for client-side PDF generation instead of Puppeteer for serverless PDF generation
- Switched to "Source Sans Pro" as the default font
- Upgraded to Next.js 12
1.1.5 - 2021-06-21
- Upgraded to Next.js 11
1.1.4 - 2021-05-14
- Dependency updates
- Set up Husky hooks with lint-staged to work properly with Husky 6.x
1.1.3 - 2021-04-19
- Dependency updates
1.1.2 - 2021-02-22
- Dependency updates
- Updated ESLint config to work with
[email protected]
- Updated ESLint config to work with
- Opt in to
webpack5
option innext.config.js
1.1.1 - 2021-02-19
- Dependency updates
- Switched from
next-offline
tonext-pwa
- Incorrect bundle analyzer config
1.1.0 - 2020-12-21
- Supports new optional
private_information
schema type - Supports new optional environment variable
PRIVATE_KEY
- New pages at
/pages/private/[secret]
and/pages/private/[secret]/pdf
- New pages require a
secret
slug that is compared to thePRIVATE_KEY
value and returns a 401 on mismatch - New pages display
private_information
values from the CMS under "Contact Information" section - Clicking "Download PDF" button from this page also sends the secret via query to the API to validate access
- New pages require a
- Upgraded to Bootstrap 5.x beta
- Reworked many styles after the upgrade, particularly with the PDF layout
- List contact information in columns to maintain equal spacing
- Update
robots.txt
to disallow PDF layout and all private pages - Reduced opacity delta on star ratings
1.0.0 - 2020-12-19
- Test configuration using Jest and Testing Library
- Snapshot tests for the index page using each CMS integration
- Uses a new
NEXT_PUBLIC_CMS_INTEGRATION
env variable to determine selected integration - Change the way that cms functions are exported to support a global integration setting
0.4.2 - 2020-12-18
- Correct configuration for bundle analyzer
- Use correct article adjective for job title
0.4.1 - 2020-12-18
- Missing "Hobbies & Interests" section from PDF export
0.4.0 - 2020-12-18
- Support for Contentful
0.3.1 - 2020-12-17
- CMS links were not being displayed on the main page footer
- Dependency updates
0.3.0 - 2020-12-14
- Generated Open Graph and Twitter Card data in the document
<head>
- The
personal_information
schema can take atwitter_username
to include in Twitter Card data
- Author's personal information from the default
manifest.json
0.2.0 - 2020-12-14
- Extensive documentation for how to use the project
- Revamped the PDF generator to a single-page two-column layout
- Dependency updates
0.1.0 - 2020-12-04
- Initial project publish
- Supports Prismic