Skip to content

Releases: WhatsApp/erlang-language-platform

2023-11-30

30 Nov 09:30
Compare
Choose a tag to compare

183a5fd BE: make FoldCtx::new() constructor (Alan Zimmerman)
e2401cc BE: Rationalise FoldBody usage (Alan Zimmerman)
227df57 BE: Rationalise fold functions (Alan Zimmerman)
4fdf78b BE: removing fold::Strategy::TopDown (Alan Zimmerman)
d81d14d BE: remove fold::WithMacros (Alan Zimmerman)
050074b BE: Start introducing fold::Strategy::VisibleMacros and InvisibleMacros (Alan Zimmerman)
605266b BE: Remove fold::Strategy::BottomUp (Alan Zimmerman)
a05ae61 BE: Remove fold::Strategy::Both (Alan Zimmerman)

2023-11-29

29 Nov 14:37
Compare
Choose a tag to compare

55fc7ff Bump extension version (Alan Zimmerman)
987b28b Bump wait-on to 7.2.0 to address vulnerability (Roberto Aloi)
2fc5266 structs & serialization (Roman Perehonchuk)
69c6a45 glean args (Roman Perehonchuk)
fbd7ce7 fix body.any for term and types (Roman Perehonchuk)
f55e16b introduce resolve_type_target (Roman Perehonchuk)
c7452d1 remove todo in fold (Roman Perehonchuk)
02260ca add form_id to AnyCallBackCtx (Roman Perehonchuk)
9201a1c add fold strategy (Roman Perehonchuk)
a48ba16 server: move all changed file processing into one place (Alan Zimmerman)
ecc0b1a move gen_project (Roman Perehonchuk)
e850e01 Only highlight LHS of a redundant match (Daniel Gorin)
30c0b15 Bump version to 0.3.0 (Alan Zimmerman)
f397e57 Bump tree-sitter-erlang to 0.3.0 (Alan Zimmerman)
e8de105 Use new IPC protocol by default (except for mini-elp) (Victor Lanvin)
20ea197 Fix stale erlang_service diagnostics bug (Alan Zimmerman)
e9ba932 Bump CT Info timeout to 5s (Roberto Aloi)
0bcc770 server: reload project if config file has any change (Alan Zimmerman)
2e67bb5 fix top-level macro clause lowering panic (Alan Zimmerman)
0dbdd28 find_local_usages using HIR (Alan Zimmerman)
6a507a6 refactor to_def for var to allow use on clause body (Alan Zimmerman)
a1b247e expand function clauses from macros (Alan Zimmerman)
5f11976 grammar.js: no optional separator on function clause (Alan Zimmerman)
98cc5b7 BE: get rid of debug logging for rowan tree conversion (Alan Zimmerman)
f8fbda4 Remove experimental flag for undefined_function diagnostic (Roberto Aloi)
2111605 BE: only call runnable_names once for ct_diagnostics (Alan Zimmerman)
7902b47 client_server_mapping diagnostic: client (Alan Zimmerman)
19e50b6 only expand a macro if the offset is in the name (Alan Zimmerman)
9ebf7dc lint cli: Bump recursion limit to 50 and report on CLI when it is hit (Alan Zimmerman)

2023-11-14

14 Nov 12:02
Compare
Choose a tag to compare

2a8de52 open source extension version bump (Roman Perehonchuk)
5a7368b Refactor OTP Links into own module (Roberto Aloi)
c77596a fix loading progress (Roman Perehonchuk)
7df9894 fix crash P878668910 (Roman Perehonchuk)
bcea90d HIR: put Body per Clause, not per Function (Alan Zimmerman)
d1c1448 hide apps count while loading (Roman Perehonchuk)
494f150 Fix typo in O0000 error code page name (Roberto Aloi)
561101a removing duplicate error code (Roman Perehonchuk)
2678079 remove extraneous set_file_revision (Alan Zimmerman)
5ad7e9b Document scratch_buffer option (Roberto Aloi)
f6cd426 Spec part of the Erlang Service, address minor eqWAlizer warnings (Roberto Aloi)
654ae55 Format Erlang Service (Roberto Aloi)
205b48f Remove spurious module (Roberto Aloi)
4ca0405 Add Meta copyright where missing (Roberto Aloi)
674f17e Consider arity when excluding known functions for undefined diagnostics (Roberto Aloi)
4272ff1 Allow edits on previously edited ranges to be ignored (Daniel Gorin)
cfcdc91 Parallelize decoding of request body (Roberto Aloi)
2f43ff7 Replace eqwalizer:dynamic() by built-in dynamic() (Victor Lanvin)
a4937be Fix test depending on underlying platform details (Alan Zimmerman)
bb2193e fallback for project-info (Roman Perehonchuk)
3d26ebb capture changed forms after applying fix (Alan Zimmerman)
353844d BE: remove compile warnings (Alan Zimmerman)
4e2046c static fallback part 2 + error messages (Roman Perehonchuk)
9aa0d9d static fallback part 1 (Roman Perehonchuk)
21019a5 Exclude known generated parsers/scanners (Roberto Aloi)
17974c4 Exclude erlang:get_stacktrace from check (Roberto Aloi)
07eae09 Exclude module_info from check (Roberto Aloi)
3a821f6 Undefined function diagnostic (Roberto Aloi)
070c9d2 Add a salsa file revision, to manage files on disk (Alan Zimmerman)
636790a Minor cleanups (Roberto Aloi)
3864477 Allow callback modules to return an error (Roberto Aloi)
19d14bb Handle timeouts (Roberto Aloi)
20da8ca Add config toggle (Ed Pollitt)
620e34d Build url from entity and key (Ed Pollitt)
108a548 Add annotations for ODS links (Ed Pollitt)
bf30b8c Support annotations in non-test files (Ed Pollitt)
cdceed5 Remove context logging for T148094436 (Alan Zimmerman)
866debe remove context logging for T153426323 (Alan Zimmerman)
aa614cf Refactor request handling (Roberto Aloi)
afd2bcb Refactor reading request (Roberto Aloi)
7343d2d Move Lint functionality to separate module (Roberto Aloi)
192b2cf Move CT functionality to separate module (Roberto Aloi)
353ab63 Move EDoc functionality to separate module (Roberto Aloi)
a61ee57 Move error codes to separate module (Roberto Aloi)
e5af1af Move reply functions to server module (Roberto Aloi)
ec0ff88 Move computation of elp_lint to server (Roberto Aloi)
c8d6882 Move computation of ct_info to server (Roberto Aloi)
e7b71ee Have the main server handling responses for EDoc requests (Roberto Aloi)
b75120b Move edoc request handling to server process (Roberto Aloi)
3c2e36d Introduce supervision tree for Erlang Service (Roberto Aloi)
ca92509 homedir => cachedir for eqwalizer_support (Roman Perehonchuk)
d9790d2 Remove SimplificationRule category from deprecated_functions diagnostic (Daniel Gorin)
8a1e149 fixing github ci attempt 2 (Roman Perehonchuk)
4cc052a small clean-up (Roman Perehonchuk)
9ecc0f7 Expose CT and EDoc diagnostics via CLI (Roberto Aloi)
0c8ee9f Evaluate all/0 and groups/0 in one go (Roberto Aloi)
928d26a Evaluate all/0 and groups/0 CT Callbacks via Erlang Service (Roberto Aloi)
4fe73b3 fixing github actions attempt 1 (Roman Perehonchuk)
b0cf57a ship eqwalizer_support together with elp (Roman Perehonchuk)
2d90608 Remove eqwalizer advice to not opt-in test suites (Alan Zimmerman)
8280480 Manage change ranges when recursing (Alan Zimmerman)

2023-10-26

26 Oct 13:46
Compare
Choose a tag to compare

Changes

cbb7ebc bump extension version (Alan Zimmerman)
a062fb5 Future-proof the resolution for babel/traverse (Jane Olszewska)
da0b80b cargo clippy --fix (Roman Perehonchuk)
7f5a44d add extra directories to include path (Roman Perehonchuk)
25bba1e fix issue with buck and wa_zippy (Roman Perehonchuk)
989c6f2 add project-info command (Roman Perehonchuk)
811e212 add reference to macro definition to HIR MacroCall (Alan Zimmerman)
3bb821b Give fold_file the ability to see macros (Alan Zimmerman)

2023-10-24

24 Oct 08:19
Compare
Choose a tag to compare

Changes

7e1ec7e Add index from FunctionId to FunctionDef in DefMap (Alan Zimmerman)
052960d make eqwalizer parse-all results deterministic on parse failure (Alan Zimmerman)
e3583c7 Add link to VS Code extension (Roberto Aloi)
f607301 Fix babel/traverse vulnerability (Jane Olszewska)
609587f sort eqwalizer CLI diagnostics (Alan Zimmerman)
e1e4159 enable eqwalizer by default (Alan Zimmerman)
0606f61 bump extension version (Alan Zimmerman)
ce3f4da Require at least tempfile-0.3.8 (Andres Suarez)
ece3bba Upgrade @babel/traverse to 7.23.2 in order to remove vulnerability (Jane Olszewska)
7a66a9b Error on reference to non-exported type (Victor Lanvin)
cfee0c2 ignore test_toml_empty on github since it is buck related (Roman Perehonchuk)
4d3885c fix default features for project_model (Roman Perehonchuk)
21736ef Update all rust dependencies to get past detected vulnerability (Jane Olszewska)
99ccff1 increase timeout for github (Roman Perehonchuk)
36898be discover buck only with cfg!(feature = "buck") (Roman Perehonchuk)
cb506b7 remove unwrap and and logging (Roman Perehonchuk)
5218e98 show parsing progress (Roman Perehonchuk)
ae273cd reload on buck save (Roman Perehonchuk)
e0d0684 add tests (Roman Perehonchuk)
3db331f move test_fixture to project_model (Roman Perehonchuk)
fdec810 make buck field optional for toml manifest (Roman Perehonchuk)
d0f651c add "no manifest" project manifest (Roman Perehonchuk)
94796fa add json project manifest (Roman Perehonchuk)
241ecb3 control which manifest to choose based on code inside project_model (Roman Perehonchuk)
de50407 refactoring needed for future changes (Roman Perehonchuk)
b7ed8e7 rename buck config to toml (Roman Perehonchuk)
65cff51 Clamp client positions and ranges to fall within referenced file (Alan Zimmerman)
330458d Global file path resolution for type references (Victor Lanvin)

2023-10-16

16 Oct 08:00
Compare
Choose a tag to compare

Change Log

7c0a575 bump extension version to 0.7.0 (Alan Zimmerman)
47f439f Add resolutions for outdated got and trim packages. (Roberto Aloi)
d51d8bc use erlang_service syntax errors if none from ELP (Alan Zimmerman)
7c50391 Add TextRange to LabeledDiagnostic (Alan Zimmerman)
61e6efa Store range of enclosing Form for ELP native syntax errors (Alan Zimmerman)
33097ec Do not fetch type info for non-eqwalizable files (Victor Lanvin)
e06f2d8 BE: remove unused function convert_labeled (Alan Zimmerman)
ad8cc09 Bounded dynamic implementation (Victor Lanvin)
8cde174 Bump proc-macro2 to 1.0.60 (Roberto Aloi)
2a8a5c4 do not apply elp:ignore fixes (Alan Zimmerman)
b8e3399 Add with_ignore_fix to misspelled_attribute link (Alan Zimmerman)
03f8e34 Add diagnostic/codemod to onboard to auto_meckanic (Daniel Gorin)
306fe9e Run 'yarn upgrade' in website (Roman Perehonchuk)
b463811 request client config on startup (Alan Zimmerman)
bd3e874 read config file to IDE (Alan Zimmerman)
6a3885d plumbing for lints from config into server (Alan Zimmerman)
e83a77f add LintsFromConfig to Config::new (Alan Zimmerman)
aae64a1 move reading of lint config file into elp crate itself (Alan Zimmerman)
ce623ae use lints_from_config in elp lint (Alan Zimmerman)
fe74128 extend replace_call actions when reading from a config file (Alan Zimmerman)
5432d4e use ad-hoc diagnostics from config in elp lint (Alan Zimmerman)
0526ae8 read replace_call arguments from toml (Alan Zimmerman)
67a5b4e replace call: provide extra_info for the fix too (Alan Zimmerman)
9d22009 Add passthrough mode for eqWAlizer (Victor Lanvin)
c4d3602 bump tree-sitter-erlang crate to 0.2.0 (Alan Zimmerman)
f595002 bump version to 0.2.0 (Alan Zimmerman)
de33ecd Add suite/0 exports at beginning of export list (Daniel Gorin)
d5de557 Avoid redundant edits when adding to suite/0 (Daniel Gorin)
72729c6 Add an edit count to SourceChangeBuilder (Daniel Gorin)
afa6921 Add constructor to codemod_helpers::MFA (Daniel Gorin)
722aa74 Expose more utility functions from common_test module (Daniel Gorin)
f572c4a parse OTP 26 feature attribute (Alan Zimmerman)
77d1826 fold_file forms callback (Alan Zimmerman)
40a47e4 Add FormList::get to map FormIdx to Form (Alan Zimmerman)
fbcf20d Fold trait (Alan Zimmerman)
b774265 Improve replace_call::Replacement::Permutation (Alan Zimmerman)
e1a7bc6 Refactor types on hover logic (Victor Lanvin)
4a9bf71 BE: Remove replace_call::Replacement::Compo (Alan Zimmerman)
39df75b fold_file -define (Alan Zimmerman)
a448a13 fold_file compile option (Alan Zimmerman)
bd5f4e8 fold_file wild attribute (Alan Zimmerman)
08c811e fold_file record (Alan Zimmerman)
334ecf3 fold_file spec/callback (Alan Zimmerman)
e0ff833 fold_file type alias (Alan Zimmerman)
486c3fb Introduce start of fold_file function (Alan Zimmerman)
f1438eb fold TypeExpr, macro edition (Alan Zimmerman)
299b211 fold TypeExpr (Alan Zimmerman)
add9838 Add utility methods for SourceChange (Daniel Gorin)
aeff0a5 suite/0 codemod helpers (Alan Zimmerman)
74004de Correctly link to declarations in hrl files (Victor Lanvin)
24a7435 Add file info to type decls (Victor Lanvin)
b5169ee Types on hover (Victor Lanvin)
36366ec eqWAlizer API for type at position (Victor Lanvin)
696bcf3 Add visitor for eqWAlizer exprs (Victor Lanvin)
f23ebd2 Add pretty-printer and deserializer for eqWAlizer types (Victor Lanvin)
39070e3 Add variable EQWALIZER_MODE, remove redundant variables (Victor Lanvin)
6ee4121 Fix formatting for macro on hover (Alan Zimmerman)
d05fae0 Explain most common EDoc error (Roberto Aloi)
05d0451 Show EDoc error codes in IDE (Roberto Aloi)
dc7945f Report EDoc scanning issues (Roberto Aloi)
63d3ed7 Fork xmerl_scan module in Erlang Service (Roberto Aloi)
00344e4 Introduce HirIdx, a file-scope AnyExprId index (Alan Zimmerman)
b84dd43 Add function_id to FunctionBody (Alan Zimmerman)
bb846a0 BE: remove dead code (Alan Zimmerman)
7ee47b3 disable 'smax_check_message_deliver' from CLI parsing (Alan Zimmerman)
5cb1dda disable smax_check_biz from CLI parsing (Alan Zimmerman)
82eed67 find forms in top level ERROR node (Alan Zimmerman)
7ae7d2e add --diagnostic-ignore CLI argument (Alan Zimmerman)
3de342b Show macro expansion on hover (Alan Zimmerman)
d271cbe Add check_specific_fix for testing when more than one diagnostic fix applies (Alan Zimmerman)
ecb2893 Simplify if statement (Roberto Aloi)
64f1a47 s/severity/with_severity (Roberto Aloi)
b279120 Avoid extra variable (Roberto Aloi)
df80bc3 Rename "call" and "matches" to "mfas" for clarity (Roberto Aloi)

2023-09-22

22 Sep 13:36
Compare
Choose a tag to compare

Changes

f7370d3 tree-sitter conversion. Capture top level ERROR structure (Alan Zimmerman)
b3acd73 Show code lenses for undocumented group configs (Roberto Aloi)
4850940 use single callback for fold (Alan Zimmerman)
4ee24f5 Add a map from DefineId to FormId in FormList (Alan Zimmerman)
f541014 Introduce FunctionMatch::Any (Alan Zimmerman)
14ce243 replace_call: use resolved function module (Alan Zimmerman)
965ff19 Bump VS Code extension to 0.6.0 (#9) (Alan Zimmerman)
fd7570e Fix spurious "module name must not be empty" diagnostics (Alan Zimmerman)
96aacf3 HIR: lower macro call args even if macro does not expand (Alan Zimmerman)
372fe5b Some more replaces methods (Thomas David Cuvillier)
f5921cb Remove env specific URL from expectation file (Roberto Aloi)
1fba965 Fix OSS build (#8) (Alan Zimmerman)
51cfbfc Attempt at fixing OSS CI (Roberto Aloi)
99a4267 Add instructions on how to contribute to the error index (Roberto Aloi)
bf0da77 Included links to error index in JSON output, when available (Roberto Aloi)
0731696 Introduce elp explain, show links to Erlang Error Index (Roberto Aloi)
29794ce Initial content for compiler, linter and parser error codes (Roberto Aloi)
8abdc27 Add WhatsApp ELP Error codes (Roberto Aloi)
d35585b Erlang Error Index Content (Roberto Aloi)
5239d2c show diagnostic code in CI from ELP lints (Alan Zimmerman)
19b9f72 Erlang Error Index for W0009 and W0010 (Roberto Aloi)
242cef2 Specify relevant categories for the extension (Roberto Aloi)
40ccb73 Add "elp" as keyword to ease searching on the marketplace (Roberto Aloi)
73bfd68 Publish platform specific extension, instead of rebuilding it (Roberto Aloi)

2023-09-11

11 Sep 12:33
Compare
Choose a tag to compare

Changelog

ebc62c2 Bump VS Code extension to 0.5.0 (Roberto Aloi)
8f9b54a Set default resolver to 2 (Roberto Aloi)
409fe90 Descriptive name next to error code (Roberto Aloi)
a751a7d Editor-based feature gallery (Roberto Aloi)
7cefae1 First set of screenshots for the feature gallery (Roberto Aloi)
03c8f8b Include target in CI artifact names (Roberto Aloi)
6728404 improve missing X diagnostic reported location (Alan Zimmerman)
b0fc5f2 Bootstrap Erlang Error Index (Roberto Aloi)
64f0cfb Contribute semantic tokens (Roberto Aloi)
62519f9 Add feature gallery (Roberto Aloi)
18af156 specify custom config file for elp lint (Alan Zimmerman)
769eba6 Hints for elp eqwalize <module_name> (Victor Lanvin)
6053452 BE: use lowered value for resolving ?FUNCTION_NAME call (Alan Zimmerman)

2023-09-07_1

07 Sep 12:35
Compare
Choose a tag to compare

31e7339 Publish platform-specific VS Code extensions (Roberto Aloi)
20be5b4 BE: improve remove_fun_ref_from_list (Alan Zimmerman)
74097e5 generalise replace_call::remove_fun_ref_from_list to take a FunctionMatch (Alan Zimmerman)

2023-09-07

07 Sep 07:28
Compare
Choose a tag to compare

Highlights

New Features

  • Go to definition for ?FUNCTION_NAME

Improvements

  • Report errors when reading from a elp lint config file

Internal

  • Refactor CI pipelines
  • Deprecate OTP 23 support
  • Publish VS Code extension to Microsoft Marketplace

Changelog

4701a4a Ensure binaries are executable (Roberto Aloi)
71bfad6 Give some love to the GitHub workflows (Roberto Aloi)
597fcac Use executable packaged with extension by default (Roberto Aloi)
6c60d74 go to def for ?FUNCTION_NAME with args (Alan Zimmerman)
8914a31 Expand ?FUNCTION_NAME with args (Alan Zimmerman)
3762bd1 Report errors reading 'elp lint' config file (Alan Zimmerman)
4f7dcdb Add logo and homepage to extension manifest (Roberto Aloi)
f738fc4 Remove leftovers from LSP template (Roberto Aloi)
efa4340 Bump version of OSS VS Code extension (Roberto Aloi)