diff --git a/.editorconfig b/.editorconfig index 4a7ea303..d65c065c 100644 --- a/.editorconfig +++ b/.editorconfig @@ -8,5 +8,11 @@ charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true +[*.tsx] +quote_type = single + +[*.ts] +quote_type = single + [*.md] trim_trailing_whitespace = false diff --git a/CHANGELOG.md b/CHANGELOG.md index c8e148ff..ebf00eec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## Unreleased +## [4.17.0] - 2024-05-31 + +### Added + +- Added ability to select flow control type (none or hardware) in the serial port settings. +- Added tooltips to parameters in the serial port settings pane. +- Added "Send Break" button to the terminal right-hand drawer. +- Added profiles (and a profile settings view) so that the user can save and load different serial port configurations. + ## [4.16.0] - 2024-05-19 ### Added @@ -705,7 +714,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Added auto-scroll to TX pane, closes #89. - Added special delete behaviour for backspace button when in "send on enter" mode, closes #90. -[unreleased]: https://github.com/gbmhunter/NinjaTerm/compare/v4.16.0...HEAD +[unreleased]: https://github.com/gbmhunter/NinjaTerm/compare/v4.17.0...HEAD +[4.17.0]: https://github.com/gbmhunter/NinjaTerm/compare/v4.16.0...v4.17.0 [4.16.0]: https://github.com/gbmhunter/NinjaTerm/compare/v4.15.0...v4.16.0 [4.15.0]: https://github.com/gbmhunter/NinjaTerm/compare/v4.14.0...v4.15.0 [4.14.0]: https://github.com/gbmhunter/NinjaTerm/compare/v4.13.2...v4.14.0 diff --git a/package-lock.json b/package-lock.json index e64736ad..06986afe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,17 +1,18 @@ { "name": "ninjaterm", - "version": "4.15.0", + "version": "4.16.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ninjaterm", - "version": "4.15.0", + "version": "4.16.0", "dependencies": { "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", "@mui/icons-material": "^5.14.9", "@mui/material": "^5.14.10", + "@mui/x-data-grid": "^6.20.0", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", @@ -1711,9 +1712,9 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.15.tgz", - "integrity": "sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz", + "integrity": "sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -2607,12 +2608,12 @@ } }, "node_modules/@mui/utils": { - "version": "5.14.10", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.14.10.tgz", - "integrity": "sha512-Rn+vYQX7FxkcW0riDX/clNUwKuOJFH45HiULxwmpgnzQoQr3A0lb+QYwaZ+FAkZrR7qLoHKmLQlcItu6LT0y/Q==", + "version": "5.15.14", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.15.14.tgz", + "integrity": "sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA==", "dependencies": { - "@babel/runtime": "^7.22.15", - "@types/prop-types": "^15.7.5", + "@babel/runtime": "^7.23.9", + "@types/prop-types": "^15.7.11", "prop-types": "^15.8.1", "react-is": "^18.2.0" }, @@ -2621,7 +2622,7 @@ }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/mui" + "url": "https://opencollective.com/mui-org" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0", @@ -2638,6 +2639,31 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, + "node_modules/@mui/x-data-grid": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-6.20.0.tgz", + "integrity": "sha512-N9a4eJRmWgP5zT2AZ41BnBgCSQJiw4dc5Q2U9zQ5aOhOs+8Jb218tX79MIAfwt1s4rbTZmgAdsBUn9Xs93Kmrw==", + "dependencies": { + "@babel/runtime": "^7.23.2", + "@mui/utils": "^5.14.16", + "clsx": "^2.0.0", + "prop-types": "^15.8.1", + "reselect": "^4.1.8" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@mui/material": "^5.4.1", + "@mui/system": "^5.4.1", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -3203,9 +3229,9 @@ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, "node_modules/@types/prop-types": { - "version": "15.7.6", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.6.tgz", - "integrity": "sha512-RK/kBbYOQQHLYj9Z95eh7S6t7gq4Ojt/NT8HTk8bWVhA5DaF+5SMnxHKkP4gPNN3wAZkKP+VjAf0ebtYzf+fxg==" + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" }, "node_modules/@types/react": { "version": "18.2.22", @@ -4065,9 +4091,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001553", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001553.tgz", - "integrity": "sha512-N0ttd6TrFfuqKNi+pMgWJTb9qrdJu4JSpgPFLe/lrD19ugC6fZgF0pUewRowDwzdDnb9V41mFcdlYgl/PyKf4A==", + "version": "1.0.30001621", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001621.tgz", + "integrity": "sha512-+NLXZiviFFKX0fk8Piwv3PfLPGtRqJeq2TiNoUff/qB5KJgwecJTvCXDpmlyP/eCI/GUEmp/h/y5j0yckiiZrA==", "funding": [ { "type": "opencollective", @@ -7440,6 +7466,11 @@ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true }, + "node_modules/reselect": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==" + }, "node_modules/resolve": { "version": "1.22.6", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", diff --git a/package.json b/package.json index 79cff2fb..3f0a5d72 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,12 @@ { "name": "ninjaterm", - "version": "4.16.0", + "version": "4.17.0", "dependencies": { "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", "@mui/icons-material": "^5.14.9", "@mui/material": "^5.14.10", + "@mui/x-data-grid": "^6.20.0", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", diff --git a/src/Homepage/HomepageView.tsx b/src/Homepage/HomepageView.tsx index 65cfea16..0b0dec8f 100644 --- a/src/Homepage/HomepageView.tsx +++ b/src/Homepage/HomepageView.tsx @@ -138,6 +138,7 @@ export default observer((props: Props) => { Features + {/* ========================================================================== */} {/* ANSI Escape Code Support */} {/* ========================================================================== */} @@ -158,7 +159,7 @@ export default observer((props: Props) => { - + {/* ========================================================================== */} {/* Graphing */} {/* ========================================================================== */} @@ -179,7 +180,7 @@ export default observer((props: Props) => { - + {/* ========================================================================== */} {/* Smart Scrolling */} {/* ========================================================================== */} @@ -200,7 +201,7 @@ export default observer((props: Props) => { - + {/* ========================================================================== */} {/* Show Invisible Characters */} {/* ========================================================================== */} @@ -221,7 +222,7 @@ export default observer((props: Props) => { - + {/* ========================================================================== */} {/* Logging */} {/* ========================================================================== */} @@ -242,7 +243,7 @@ export default observer((props: Props) => { - + {/* ========================================================================== */} {/* Filtering */} {/* ========================================================================== */} @@ -263,7 +264,7 @@ export default observer((props: Props) => { - + {/* ========================================================================== */} {/* Number Types */} {/* ========================================================================== */} @@ -287,6 +288,9 @@ export default observer((props: Props) => { + {/* ========================================================================== */} + {/* AND MORE */} + {/* ========================================================================== */} And more!