diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..4cccac60 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,24 @@ + + +# Changelog + +## [1.0.0] - 2021-06-08 + +### Added +- Added changelog link to about dialog. + +### Changed +- Updated hub firmware to [v3.0.0]. +- Updated documentation. + +## Prerelease + +Prerelease changes are documented at [support#48]. + + + +[support#48]: https://github.com/pybricks/support/issues/48 +[v3.0.0]: https://github.com/pybricks/pybricks-micropython/blob/master/CHANGELOG.md#300---2021-06-08 + +[Unreleased]: https://github.com/pybricks/pybricks-micropython/compare/v1.0.0...HEAD +[1.0.0]: https://github.com/pybricks/pybricks-micropython/compare/v1.0.0c1...v1.0.0 diff --git a/package.json b/package.json index bed0bc82..c7c6f223 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@pybricks/pybricks-code", - "version": "1.0.0-rc.2", + "version": "1.0.0", "license": "MIT", "author": "The Pybricks Authors", "repository": { @@ -10,7 +10,7 @@ "dependencies": { "@blueprintjs/core": "^3.41.0", "@craco/craco": "^6.1.1", - "@pybricks/firmware": "4.11.0", + "@pybricks/firmware": "4.12.0", "@pybricks/ide-docs": "1.3.3", "@pybricks/mpy-cross-v5": "^2.0.0", "@shopify/react-i18n": "^5.3.0", diff --git a/src/about/AboutDialog.test.tsx b/src/about/AboutDialog.test.tsx index 34b2e504..e4c638d2 100644 --- a/src/about/AboutDialog.test.tsx +++ b/src/about/AboutDialog.test.tsx @@ -50,7 +50,7 @@ it('should manage license dialog open/close', async () => { , ); - userEvent.click(screen.getByText('Open Source Licenses')); + userEvent.click(screen.getByText('Software Licenses')); expect( screen.getByText('Pybricks Code is built on open source software.', { diff --git a/src/about/AboutDialog.tsx b/src/about/AboutDialog.tsx index cd880f1d..ed60bc38 100644 --- a/src/about/AboutDialog.tsx +++ b/src/about/AboutDialog.tsx @@ -10,6 +10,7 @@ import { connect } from 'react-redux'; import { appName, appVersion, + changelogUrl, legoDisclaimer, pybricksCopyright, pybricksWebsiteUrl, @@ -57,8 +58,12 @@ class AboutDialog extends React.Component { > {i18n.translate(AboutStringId.LicenseButtonLabel)} + + {i18n.translate(AboutStringId.ChangelogButtonLabel)} + + - {i18n.translate(AboutStringId.WebsiteButtonLabel)}  + {i18n.translate(AboutStringId.WebsiteButtonLabel)} diff --git a/src/about/i18n.en.json b/src/about/i18n.en.json index a3f45e2e..b57121db 100644 --- a/src/about/i18n.en.json +++ b/src/about/i18n.en.json @@ -1,7 +1,8 @@ { "about": { "description": "MicroPython for LEGO® Powered Up smart hubs.", - "licenseButton": { "label": "Open Source Licenses" }, + "licenseButton": { "label": "Software Licenses" }, + "changelogButton": { "label": "Changelog" }, "websiteButton": { "label": "Pybricks Website" } } } diff --git a/src/about/i18n.ts b/src/about/i18n.ts index 04a9ba9d..02001d88 100644 --- a/src/about/i18n.ts +++ b/src/about/i18n.ts @@ -6,5 +6,6 @@ export enum AboutStringId { Description = 'about.description', LicenseButtonLabel = 'about.licenseButton.label', + ChangelogButtonLabel = 'about.changelogButton.label', WebsiteButtonLabel = 'about.websiteButton.label', } diff --git a/src/app/constants.ts b/src/app/constants.ts index c0c849e4..806d166b 100644 --- a/src/app/constants.ts +++ b/src/app/constants.ts @@ -13,6 +13,10 @@ export const appName = process.env.REACT_APP_NAME || 'REACT_APP_NAME is undefine export const appVersion = process.env.REACT_APP_VERSION || 'REACT_APP_VERSION is undefined'; +/** URL to Pybricks Code changelog. */ +export const changelogUrl = + 'https://github.com/pybricks/pybricks-code/blob/master/CHANGELOG.md'; + /** URL to main Pybricks website. */ export const pybricksWebsiteUrl = 'https://pybricks.com'; diff --git a/src/index.scss b/src/index.scss index f5c7cb43..0d3d22f9 100644 --- a/src/index.scss +++ b/src/index.scss @@ -44,10 +44,19 @@ body { user-select: none; } +a.#{$ns}-button { + text-align: left; +} + .#{$ns}-button-text > img { display: block; } +.#{$ns}-dialog-footer-actions { + flex-wrap: wrap; + row-gap: 10px; +} + .#{$ns}-form-group > .#{$ns}-label { font-weight: bolder; } diff --git a/src/licenses/i18n.en.json b/src/licenses/i18n.en.json index e49f0af1..2e742c83 100644 --- a/src/licenses/i18n.en.json +++ b/src/licenses/i18n.en.json @@ -1,6 +1,6 @@ { "license": { - "title": "Open Source Licenses", + "title": "Open Source Software Licenses", "description": "{name} is built on open source software. By using {name} you are agreeing to the terms and conditions of all of the included software licenses.", "packageLabel": "Package:", "authorLabel": "Author:", diff --git a/src/settings/SettingsDrawer.tsx b/src/settings/SettingsDrawer.tsx index 289c766c..b668d03f 100644 --- a/src/settings/SettingsDrawer.tsx +++ b/src/settings/SettingsDrawer.tsx @@ -193,7 +193,6 @@ class SettingsDrawer extends React.PureComponent { target="blank_" > {i18n.translate(SettingsStringId.HelpProjectsLabel)} -   { target="blank_" > {i18n.translate(SettingsStringId.HelpSupportLabel)} -   { target="blank_" > {i18n.translate(SettingsStringId.HelpChatLabel)} -   { target="blank_" > {i18n.translate(SettingsStringId.HelpBugsLabel)} -   - - + + {' '} + + + + ); } } diff --git a/src/utils/external-link.scss b/src/utils/external-link.scss index fb81f8d9..8da43998 100644 --- a/src/utils/external-link.scss +++ b/src/utils/external-link.scss @@ -3,6 +3,10 @@ @import '../variables.scss'; +span.pb-external-link { + white-space: nowrap; +} + // override some button magic in case this is used in a button .#{$ns}-button .pb-external-link .#{$ns}-icon:first-child:last-child { margin: 0; diff --git a/yarn.lock b/yarn.lock index 6bb4e554..6dd6b6b2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1536,10 +1536,10 @@ schema-utils "^2.6.5" source-map "^0.7.3" -"@pybricks/firmware@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@pybricks/firmware/-/firmware-4.11.0.tgz#cd65d43a307aceb11b4880e3bb426d77da8a136a" - integrity sha512-RUa/qZwOdbmwrfsUD5jB5aXFSFLPffif2N2nJVz/tIyWV3C3Q0XiJ+bC1O8j5oLnw+dJOgmc/7Og9UyuA60yog== +"@pybricks/firmware@4.12.0": + version "4.12.0" + resolved "https://registry.yarnpkg.com/@pybricks/firmware/-/firmware-4.12.0.tgz#274ed378e971a32f8c9fb31603f2dffdcdeab449" + integrity sha512-/kWgx2YWRjCS4gldb0TnP6imjo7STX+PcMucu1+q+1emLPrWNueYAKxFM+VwCxG4dYZRLbpLqMBW8woKjAe0ZQ== dependencies: jszip "^3.5.0"