diff --git a/.maintainers_guide.md b/.maintainers_guide.md index 6f67781..aa2a953 100644 --- a/.maintainers_guide.md +++ b/.maintainers_guide.md @@ -1,70 +1,97 @@ # Maintainers Guide -This document describes tools, tasks and workflow that one needs to be familiar with in order to effectively maintain -this project. If you use this package within your own software as is but don't plan on modifying it, this guide is +This document describes tools, tasks and workflow that one needs to be familiar +with in order to effectively maintain this project. If you use this package +within your own software as is but don't plan on modifying it, this guide is **not** for you. ## Tasks ### Testing -Run unit tests locally using the `npm test` command. Tests are also run automatically on all branches using [Travis CI](https://travis-ci.org/slackhq/vscode-hack). +Run unit tests locally using the `npm test` command. Tests are also run +automatically on all branches using +[Travis CI](https://travis-ci.org/slackhq/vscode-hack). ### Releasing -This extension is published at https://marketplace.visualstudio.com/items?itemName=pranayagarwal.vscode-hack. +This extension is published at +https://marketplace.visualstudio.com/items?itemName=pranayagarwal.vscode-hack. To push a new release, follow these steps: -1. Make sure the `master` branch is up to date with all changes and has been tested, and the Travis build is passing. +1. Make sure the `master` branch is up to date with all changes and has been + tested. 2. Merge a new commit with the following changes: - - Update the version in `package.json` by following the versioning guide below + - Update the version in `package.json` by following the versioning guide + below - Add a description of all changes since the last release in `CHANGELOG.md` - - Add or update the "Latest releases" section in `README.md` with release highlights + - Add or update the "Latest releases" section in `README.md` with release + highlights 3. Draft a new GitHub release: - Releases should always target the `master` branch - - Tag version and release title should both be in the format "v1.2.3", with the version matching the value in `package.json` + - Tag version and release title should both be in the format "v1.2.3", with + the version matching the value in `package.json` - Copy your new section from `CHANGELOG.md` in the release description -4. Once the release is published, a new Travis build will automatically start. Ensure that the build passes and the following build tasks are successful: - - A new `vscode-hack-[version].vsix` is added as an asset to the GitHub release page - - The new version of the extension is publised on the Visual Studio Marketplace (this may take some time) +4. Once the release is published, a new Travis build will automatically start. + Ensure that the build passes and the following build tasks are successful: + - A new `vscode-hack-[version].vsix` is added as an asset to the GitHub + release page + - The new version of the extension is publised on the Visual Studio + Marketplace (this may take some time) ## Workflow ### Versioning and Tags -Even though this project is not published as an npm package, it uses a rough form of semver for versioning. Increment the MAJOR or MINOR version for feature additions, depending on size and impact, and PATCH version for bug fixes. +Even though this project is not published as an npm package, it uses a rough +form of semver for versioning. Increment the MAJOR or MINOR version for feature +additions, depending on size and impact, and PATCH version for bug fixes. -Releases are tagged in git and published on the repository releases page on GitHub. +Releases are tagged in git and published on the repository releases page on +GitHub. ### Branches -All development should happen in feature branches. `master` should be ready for quick patching and publishing at all times. +All development should happen in feature branches. `master` should be ready for +quick patching and publishing at all times. ### Issue Management -Labels are used to run issues through an organized workflow. Here are the basic definitions: +Labels are used to run issues through an organized workflow. Here are the basic +definitions: -- `bug`: A confirmed bug report. A bug is considered confirmed when reproduction steps have been - documented and the issue has been reproduced. -- `enhancement` or `feature request`: A feature request for something this package might not already do. +- `bug`: A confirmed bug report. A bug is considered confirmed when reproduction + steps have been documented and the issue has been reproduced. +- `enhancement` or `feature request`: A feature request for something this + package might not already do. - `docs`: An issue that is purely about documentation work. - `tests`: An issue that is purely about testing work. -- `needs feedback`: An issue that may have claimed to be a bug but was not reproducible, or was otherwise missing some information. -- `discussion`: An issue that is purely meant to hold a discussion. Typically the maintainers are looking for feedback in this issues. -- `question`: An issue that is like a support request because the user's usage was not correct. -- `semver:major|minor|patch`: Metadata about how resolving this issue would affect the version number. +- `needs feedback`: An issue that may have claimed to be a bug but was not + reproducible, or was otherwise missing some information. +- `discussion`: An issue that is purely meant to hold a discussion. Typically + the maintainers are looking for feedback in this issues. +- `question`: An issue that is like a support request because the user's usage + was not correct. +- `semver:major|minor|patch`: Metadata about how resolving this issue would + affect the version number. - `security`: An issue that has special consideration for security reasons. -- `good first contribution`: An issue that has a well-defined relatively-small scope, with clear expectations. It helps when the testing approach is also known. -- `duplicate`: An issue that is functionally the same as another issue. Apply this only if you've linked the other issue by number. -- `external`: An issue that is caused by an external dependency and cannot be fixed here. - -**Triage** is the process of taking new issues that aren't yet "seen" and marking them with a basic -level of information with labels. An issue should have **one** of the following labels applied: -`bug`, `enhancement`, `question`, `needs feedback`, `docs`, `tests`, or `discussion`. - -Issues are closed when a resolution has been reached. If for any reason a closed issue seems -relevant once again, reopening is great and better than creating a duplicate issue. +- `good first contribution`: An issue that has a well-defined relatively-small + scope, with clear expectations. It helps when the testing approach is also + known. +- `duplicate`: An issue that is functionally the same as another issue. Apply + this only if you've linked the other issue by number. +- `external`: An issue that is caused by an external dependency and cannot be + fixed here. + +**Triage** is the process of taking new issues that aren't yet "seen" and +marking them with a basic level of information with labels. An issue should have +**one** of the following labels applied: `bug`, `enhancement`, `question`, +`needs feedback`, `docs`, `tests`, or `discussion`. + +Issues are closed when a resolution has been reached. If for any reason a closed +issue seems relevant once again, reopening is great and better than creating a +duplicate issue. ## Everything else diff --git a/CHANGELOG.md b/CHANGELOG.md index a9d176a..a8d6897 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,20 @@ # Changelog -See the full list of recent releases and features added on the [Github releases page](https://github.com/PranayAgarwal/vscode-hack/releases). +See the full list of recent releases and features added on the +[Github releases page](https://github.com/PranayAgarwal/vscode-hack/releases). + +## v2.11.0 - 2021-09-30 + +- Syntax highlighting improvements. Thanks + [Wilfred](https://github.com/Wilfred)! +- Hack error suppression action in LSP mode. Thanks + [icechen1](https://github.com/icechen1)! +- `#region` folding support. Thanks [turadg](https://github.com/turadg)! ## v2.10.0 - 2020-08-18 -- Auto-start Hack typechecker on workspace load. Thanks [antoniodejesusochoasolano](https://github.com/antoniodejesusochoasolano)! +- Auto-start Hack typechecker on workspace load. Thanks + [antoniodejesusochoasolano](https://github.com/antoniodejesusochoasolano)! - Syntax highlighting improvements ## v2.9.7 - 2020-08-18 @@ -13,7 +23,8 @@ See the full list of recent releases and features added on the [Github releases ## v2.9.6 - 2020-08-15 -- Syntax highlighting improvements. Thanks [Wilfred](https://github.com/Wilfred)! +- Syntax highlighting improvements. Thanks + [Wilfred](https://github.com/Wilfred)! ## v2.9.5 - 2020-05-19 @@ -22,7 +33,8 @@ See the full list of recent releases and features added on the [Github releases ## v2.9.4 - 2020-03-02 -- Fix for "Invalid variable attributes" error in debugger panel when stopped on a breakpoint. +- Fix for "Invalid variable attributes" error in debugger panel when stopped on + a breakpoint. ## v2.9.3 - 2020-01-30 @@ -35,19 +47,27 @@ See the full list of recent releases and features added on the [Github releases ## v2.9.1 - 2019-12-16 -- Better error messages when `hh_client` connection fails and extension is running in remote mode (using either SSH or Docker). Thanks [icechen1](https://github.com/icechen1)! +- Better error messages when `hh_client` connection fails and extension is + running in remote mode (using either SSH or Docker). Thanks + [icechen1](https://github.com/icechen1)! ## v2.9.0 - 2019-11-22 -- New `launchUrl` option in debugger attach config automatically invokes a web request once the debugger is attached, and detaches when the request is complete. +- New `launchUrl` option in debugger attach config automatically invokes a web + request once the debugger is attached, and detaches when the request is + complete. ## v2.8.1 - 2019-11-10 -- Syntax highlighting improvements. Thanks [scotchval](https://github.com/scotchval)! +- Syntax highlighting improvements. Thanks + [scotchval](https://github.com/scotchval)! ## v2.8.0 - 2019-10-30 -- If the IDE session is connected to a remote typechecker of type `docker`, scripts run via the launch debug target now automatically start in the Docker container instead of the host machine. Stopping on breakpoints isn’t yet supported in this mode. +- If the IDE session is connected to a remote typechecker of type `docker`, + scripts run via the launch debug target now automatically start in the Docker + container instead of the host machine. Stopping on breakpoints isn’t yet + supported in this mode. ## v2.7.1 - 2019-10-28 @@ -55,7 +75,8 @@ See the full list of recent releases and features added on the [Github releases ## v2.7.0 - 2019-10-17 -- Lots of syntax highlighting updates. Thanks [tspence](https://github.com/tspence)! +- Lots of syntax highlighting updates. Thanks + [tspence](https://github.com/tspence)! ## v2.6.0 - 2019-09-16 @@ -63,11 +84,14 @@ See the full list of recent releases and features added on the [Github releases ## v2.5.1 - 2019-07-26 -- Fix — in later HHVM versions the LSP doesn't send over connection status, so hide the status bar indicator for those cases. +- Fix — in later HHVM versions the LSP doesn't send over connection status, so + hide the status bar indicator for those cases. ## v2.5.0 - 2019-07-25 -- Added a connection indicator in the editor status bar which shows HHVM version & LSP status/errors. This should make it easier to debug problems in IDE functionality related to hh_server crashes or restarts. +- Added a connection indicator in the editor status bar which shows HHVM version + & LSP status/errors. This should make it easier to debug problems in IDE + functionality related to hh_server crashes or restarts. ## v2.4.1 - 2019-07-23 @@ -80,111 +104,160 @@ See the full list of recent releases and features added on the [Github releases ## v2.3.0 - 2019-05-06 -- Show modal asking users to reload the workspace on changes to `hack.remote.*` configuration settings. +- Show modal asking users to reload the workspace on changes to `hack.remote.*` + configuration settings. ## v2.2.0 - 2019-04-22 -- **Syntax Highlighting Updates** — Support for `__dispose`, `__disposeAsync`, `newtype` and `async`. +- **Syntax Highlighting Updates** — Support for `__dispose`, `__disposeAsync`, + `newtype` and `async`. ## v2.1.0 - 2019-03-08 -- **Syntax Highlighting Updates** — Editor will now recognize `arraykey`, `nonnull`, `dict`, `vec` and `keyset` as valid storage types. +- **Syntax Highlighting Updates** — Editor will now recognize `arraykey`, + `nonnull`, `dict`, `vec` and `keyset` as valid storage types. ## v2.0.0 - 2019-03-06 -- **Remote language server connection support** — You can now connect to an external development environment for Hack typechecking, linting and all other intellisense features. Current supported methods are SSH and Docker. See the **Remote Development** section in README.md for more details. - - This version may cause breaking changes to your existing setup if you were already using Docker via a custom `hack.clientPath` executable. - - The `hack.workspaceRootPath` config has been renamed to `hack.remote.workspacePath`. -- Running the extension with LSP mode disabled is now unsupported. It will be fully removed in a future version of the extension. +- **Remote language server connection support** — You can now connect to an + external development environment for Hack typechecking, linting and all other + intellisense features. Current supported methods are SSH and Docker. See the + **Remote Development** section in README.md for more details. + - This version may cause breaking changes to your existing setup if you were + already using Docker via a custom `hack.clientPath` executable. + - The `hack.workspaceRootPath` config has been renamed to + `hack.remote.workspacePath`. +- Running the extension with LSP mode disabled is now unsupported. It will be + fully removed in a future version of the extension. ## v1.2.1 - 2019-02-19 -- Fixed [#40](https://github.com/slackhq/vscode-hack/issues/40) — Syntax highlighting breaks for `.hack` files that contain `