steep-activesupport-4 1.9.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +13 -0
- data/.gitmodules +0 -0
- data/CHANGELOG.md +1032 -0
- data/LICENSE +21 -0
- data/README.md +260 -0
- data/Rakefile +227 -0
- data/Steepfile +68 -0
- data/bin/console +14 -0
- data/bin/generate-diagnostics-docs.rb +112 -0
- data/bin/mem_graph.rb +67 -0
- data/bin/mem_prof.rb +102 -0
- data/bin/output_rebaseline.rb +34 -0
- data/bin/output_test.rb +60 -0
- data/bin/rbs +20 -0
- data/bin/rbs-inline +19 -0
- data/bin/setup +9 -0
- data/bin/stackprof_test.rb +19 -0
- data/bin/steep +19 -0
- data/bin/steep-check.rb +251 -0
- data/bin/steep-prof +16 -0
- data/doc/narrowing.md +195 -0
- data/doc/shape.md +194 -0
- data/exe/steep +18 -0
- data/guides/README.md +5 -0
- data/guides/src/gem-rbs-collection/gem-rbs-collection.md +126 -0
- data/guides/src/getting-started/getting-started.md +163 -0
- data/guides/src/nil-optional/nil-optional.md +195 -0
- data/lib/steep/annotation_parser.rb +199 -0
- data/lib/steep/ast/annotation/collection.rb +172 -0
- data/lib/steep/ast/annotation.rb +137 -0
- data/lib/steep/ast/builtin.rb +104 -0
- data/lib/steep/ast/ignore.rb +148 -0
- data/lib/steep/ast/node/type_application.rb +88 -0
- data/lib/steep/ast/node/type_assertion.rb +81 -0
- data/lib/steep/ast/types/any.rb +35 -0
- data/lib/steep/ast/types/boolean.rb +45 -0
- data/lib/steep/ast/types/bot.rb +35 -0
- data/lib/steep/ast/types/class.rb +43 -0
- data/lib/steep/ast/types/factory.rb +557 -0
- data/lib/steep/ast/types/helper.rb +40 -0
- data/lib/steep/ast/types/instance.rb +42 -0
- data/lib/steep/ast/types/intersection.rb +93 -0
- data/lib/steep/ast/types/literal.rb +59 -0
- data/lib/steep/ast/types/logic.rb +84 -0
- data/lib/steep/ast/types/name.rb +128 -0
- data/lib/steep/ast/types/nil.rb +41 -0
- data/lib/steep/ast/types/proc.rb +117 -0
- data/lib/steep/ast/types/record.rb +79 -0
- data/lib/steep/ast/types/self.rb +43 -0
- data/lib/steep/ast/types/shared_instance.rb +11 -0
- data/lib/steep/ast/types/top.rb +35 -0
- data/lib/steep/ast/types/tuple.rb +60 -0
- data/lib/steep/ast/types/union.rb +97 -0
- data/lib/steep/ast/types/var.rb +65 -0
- data/lib/steep/ast/types/void.rb +35 -0
- data/lib/steep/cli.rb +401 -0
- data/lib/steep/diagnostic/deprecated/else_on_exhaustive_case.rb +20 -0
- data/lib/steep/diagnostic/deprecated/unknown_constant_assigned.rb +28 -0
- data/lib/steep/diagnostic/helper.rb +18 -0
- data/lib/steep/diagnostic/lsp_formatter.rb +78 -0
- data/lib/steep/diagnostic/result_printer2.rb +48 -0
- data/lib/steep/diagnostic/ruby.rb +1221 -0
- data/lib/steep/diagnostic/signature.rb +570 -0
- data/lib/steep/drivers/annotations.rb +52 -0
- data/lib/steep/drivers/check.rb +339 -0
- data/lib/steep/drivers/checkfile.rb +210 -0
- data/lib/steep/drivers/diagnostic_printer.rb +105 -0
- data/lib/steep/drivers/init.rb +66 -0
- data/lib/steep/drivers/langserver.rb +56 -0
- data/lib/steep/drivers/print_project.rb +113 -0
- data/lib/steep/drivers/stats.rb +203 -0
- data/lib/steep/drivers/utils/driver_helper.rb +143 -0
- data/lib/steep/drivers/utils/jobs_option.rb +26 -0
- data/lib/steep/drivers/vendor.rb +27 -0
- data/lib/steep/drivers/watch.rb +194 -0
- data/lib/steep/drivers/worker.rb +58 -0
- data/lib/steep/equatable.rb +23 -0
- data/lib/steep/expectations.rb +228 -0
- data/lib/steep/index/rbs_index.rb +350 -0
- data/lib/steep/index/signature_symbol_provider.rb +185 -0
- data/lib/steep/index/source_index.rb +167 -0
- data/lib/steep/interface/block.rb +103 -0
- data/lib/steep/interface/builder.rb +843 -0
- data/lib/steep/interface/function.rb +1090 -0
- data/lib/steep/interface/method_type.rb +330 -0
- data/lib/steep/interface/shape.rb +239 -0
- data/lib/steep/interface/substitution.rb +159 -0
- data/lib/steep/interface/type_param.rb +115 -0
- data/lib/steep/located_value.rb +20 -0
- data/lib/steep/method_name.rb +42 -0
- data/lib/steep/module_helper.rb +24 -0
- data/lib/steep/node_helper.rb +273 -0
- data/lib/steep/path_helper.rb +30 -0
- data/lib/steep/project/dsl.rb +268 -0
- data/lib/steep/project/group.rb +31 -0
- data/lib/steep/project/options.rb +63 -0
- data/lib/steep/project/pattern.rb +59 -0
- data/lib/steep/project/target.rb +92 -0
- data/lib/steep/project.rb +78 -0
- data/lib/steep/rake_task.rb +132 -0
- data/lib/steep/range_extension.rb +29 -0
- data/lib/steep/server/base_worker.rb +97 -0
- data/lib/steep/server/change_buffer.rb +73 -0
- data/lib/steep/server/custom_methods.rb +77 -0
- data/lib/steep/server/delay_queue.rb +45 -0
- data/lib/steep/server/interaction_worker.rb +492 -0
- data/lib/steep/server/lsp_formatter.rb +455 -0
- data/lib/steep/server/master.rb +912 -0
- data/lib/steep/server/target_group_files.rb +205 -0
- data/lib/steep/server/type_check_controller.rb +366 -0
- data/lib/steep/server/type_check_worker.rb +303 -0
- data/lib/steep/server/work_done_progress.rb +64 -0
- data/lib/steep/server/worker_process.rb +176 -0
- data/lib/steep/services/completion_provider.rb +802 -0
- data/lib/steep/services/content_change.rb +61 -0
- data/lib/steep/services/file_loader.rb +74 -0
- data/lib/steep/services/goto_service.rb +441 -0
- data/lib/steep/services/hover_provider/rbs.rb +88 -0
- data/lib/steep/services/hover_provider/ruby.rb +221 -0
- data/lib/steep/services/hover_provider/singleton_methods.rb +20 -0
- data/lib/steep/services/path_assignment.rb +46 -0
- data/lib/steep/services/signature_help_provider.rb +202 -0
- data/lib/steep/services/signature_service.rb +428 -0
- data/lib/steep/services/stats_calculator.rb +68 -0
- data/lib/steep/services/type_check_service.rb +394 -0
- data/lib/steep/services/type_name_completion.rb +236 -0
- data/lib/steep/signature/validator.rb +651 -0
- data/lib/steep/source/ignore_ranges.rb +69 -0
- data/lib/steep/source.rb +691 -0
- data/lib/steep/subtyping/cache.rb +30 -0
- data/lib/steep/subtyping/check.rb +1113 -0
- data/lib/steep/subtyping/constraints.rb +341 -0
- data/lib/steep/subtyping/relation.rb +101 -0
- data/lib/steep/subtyping/result.rb +324 -0
- data/lib/steep/subtyping/variable_variance.rb +89 -0
- data/lib/steep/test.rb +9 -0
- data/lib/steep/thread_waiter.rb +43 -0
- data/lib/steep/type_construction.rb +5183 -0
- data/lib/steep/type_inference/block_params.rb +416 -0
- data/lib/steep/type_inference/case_when.rb +303 -0
- data/lib/steep/type_inference/constant_env.rb +56 -0
- data/lib/steep/type_inference/context.rb +195 -0
- data/lib/steep/type_inference/logic_type_interpreter.rb +613 -0
- data/lib/steep/type_inference/method_call.rb +193 -0
- data/lib/steep/type_inference/method_params.rb +531 -0
- data/lib/steep/type_inference/multiple_assignment.rb +194 -0
- data/lib/steep/type_inference/send_args.rb +712 -0
- data/lib/steep/type_inference/type_env.rb +341 -0
- data/lib/steep/type_inference/type_env_builder.rb +138 -0
- data/lib/steep/typing.rb +321 -0
- data/lib/steep/version.rb +3 -0
- data/lib/steep.rb +369 -0
- data/manual/annotations.md +181 -0
- data/manual/ignore.md +20 -0
- data/manual/ruby-diagnostics.md +1879 -0
- data/sample/Steepfile +22 -0
- data/sample/lib/conference.rb +49 -0
- data/sample/lib/length.rb +35 -0
- data/sample/sig/conference.rbs +42 -0
- data/sample/sig/generics.rbs +15 -0
- data/sample/sig/length.rbs +34 -0
- data/steep-activesupport-4.gemspec +55 -0
- metadata +437 -0
data/CHANGELOG.md
ADDED
@@ -0,0 +1,1032 @@
|
|
1
|
+
# CHANGELOG
|
2
|
+
|
3
|
+
## 1.9.3 (2024-12-26)
|
4
|
+
|
5
|
+
### Miscellaneous
|
6
|
+
|
7
|
+
* Steep 1.9.1 ([#1398](https://github.com/soutaro/steep/pull/1398))
|
8
|
+
* Update rbs ([#1443](https://github.com/soutaro/steep/pull/1443))
|
9
|
+
|
10
|
+
## 1.9.2 (2024-12-16)
|
11
|
+
|
12
|
+
### Type checker core
|
13
|
+
|
14
|
+
* Attach type assertion to keyword args ([#1410](https://github.com/soutaro/steep/pull/1410))
|
15
|
+
|
16
|
+
### Miscellaneous
|
17
|
+
|
18
|
+
* deps: Add uri gem to dependencies list ([#1402](https://github.com/soutaro/steep/pull/1402))
|
19
|
+
|
20
|
+
## 1.9.1 (2024-12-09)
|
21
|
+
|
22
|
+
### Type checker core
|
23
|
+
|
24
|
+
* Make `implicitly-returns-nil` opt-in ([#1396](https://github.com/soutaro/steep/pull/1396))
|
25
|
+
|
26
|
+
## 1.9.0 (2024-12-06)
|
27
|
+
|
28
|
+
### Type checker core
|
29
|
+
|
30
|
+
* Report diagnostic on unknown record key ([#1385](https://github.com/soutaro/steep/pull/1385))
|
31
|
+
* Report annotation syntax error ([#1384](https://github.com/soutaro/steep/pull/1384))
|
32
|
+
* emit UnreachableBranch to the "void" condition ([#1356](https://github.com/soutaro/steep/pull/1356))
|
33
|
+
* Support &method(:name) call for block_pass ([#1276](https://github.com/soutaro/steep/pull/1276))
|
34
|
+
* Emit SingletonTypeMismatch when class/module mismatch ([#1274](https://github.com/soutaro/steep/pull/1274))
|
35
|
+
* refactor: Use Array#fetch instead of Array#[] to resolve type errors ([#1287](https://github.com/soutaro/steep/pull/1287))
|
36
|
+
* refactor: Use Hash#fetch instead of Hash#[] to resolve type errors ([#1286](https://github.com/soutaro/steep/pull/1286))
|
37
|
+
* Expand `array(splat(expr` node ([#1347](https://github.com/soutaro/steep/pull/1347))
|
38
|
+
* Add `UnannotatedEmptyCollection` diagnostic ([#1338](https://github.com/soutaro/steep/pull/1338))
|
39
|
+
* Update type checking strategy ([#1308](https://github.com/soutaro/steep/pull/1308))
|
40
|
+
* Fix untyped hash typing ([#1299](https://github.com/soutaro/steep/pull/1299))
|
41
|
+
* Support `implicitly-returns-nil` ([#1258](https://github.com/soutaro/steep/pull/1258))
|
42
|
+
* Fix record shape ([#1265](https://github.com/soutaro/steep/pull/1265))
|
43
|
+
* Remove unused rules ([#1238](https://github.com/soutaro/steep/pull/1238))
|
44
|
+
|
45
|
+
### Commandline tool
|
46
|
+
|
47
|
+
* Introduces a new `target.*` syntax for everything in the target ([#1387](https://github.com/soutaro/steep/pull/1387))
|
48
|
+
* Symbolize target/group names ([#1364](https://github.com/soutaro/steep/pull/1364))
|
49
|
+
* Update Steepfile template ([#1355](https://github.com/soutaro/steep/pull/1355))
|
50
|
+
* Delete `target` from `--validate` option ([#1346](https://github.com/soutaro/steep/pull/1346))
|
51
|
+
* Install rbs collection automatically ([#1345](https://github.com/soutaro/steep/pull/1345))
|
52
|
+
|
53
|
+
### Language server
|
54
|
+
|
55
|
+
* Add link to diagnostic manual ([#1388](https://github.com/soutaro/steep/pull/1388))
|
56
|
+
* Stop accumulating diagnostics ([#1367](https://github.com/soutaro/steep/pull/1367))
|
57
|
+
* Send server version to client ([#1341](https://github.com/soutaro/steep/pull/1341))
|
58
|
+
* Add custom methods to trigger type check manually ([#1340](https://github.com/soutaro/steep/pull/1340))
|
59
|
+
* Type check thread helpers ([#1335](https://github.com/soutaro/steep/pull/1335))
|
60
|
+
* Use `URI::RFC2396_Parser` ([#1329](https://github.com/soutaro/steep/pull/1329))
|
61
|
+
* Handle file deletion notification ([#1300](https://github.com/soutaro/steep/pull/1300))
|
62
|
+
* Refactor communication between master and type check worker ([#1285](https://github.com/soutaro/steep/pull/1285))
|
63
|
+
* Skip sending response to `$/steep/typecheck` request from `steep langserver` ([#1267](https://github.com/soutaro/steep/pull/1267))
|
64
|
+
|
65
|
+
### Miscellaneous
|
66
|
+
|
67
|
+
* Use rbs-3.7 ([#1383](https://github.com/soutaro/steep/pull/1383))
|
68
|
+
* Move diagnostic docs ([#1370](https://github.com/soutaro/steep/pull/1370))
|
69
|
+
* Add anchor ([#1359](https://github.com/soutaro/steep/pull/1359))
|
70
|
+
* Update example to not use `^` as a hash function ([#1360](https://github.com/soutaro/steep/pull/1360))
|
71
|
+
* doc: Add diagnostics for Ruby page ([#1249](https://github.com/soutaro/steep/pull/1249))
|
72
|
+
* Update filename example in initial Steepfile ([#1230](https://github.com/soutaro/steep/pull/1230))
|
73
|
+
* docs: Add document for steep:ignore comment ([#1353](https://github.com/soutaro/steep/pull/1353))
|
74
|
+
* docs: Add document for type assertion and type application ([#1235](https://github.com/soutaro/steep/pull/1235))
|
75
|
+
* Print test names in CI for investigation ([#1354](https://github.com/soutaro/steep/pull/1354))
|
76
|
+
* Fix typo ([#1352](https://github.com/soutaro/steep/pull/1352))
|
77
|
+
* Set up type checking tests ([#1339](https://github.com/soutaro/steep/pull/1339))
|
78
|
+
* Fix typo ([#1248](https://github.com/soutaro/steep/pull/1248))
|
79
|
+
|
80
|
+
## 1.8.3 (2024-10-29)
|
81
|
+
|
82
|
+
### Type checker core
|
83
|
+
|
84
|
+
* Fix untyped hash typing ([#1299](https://github.com/soutaro/steep/pull/1299), Backport in [#1301](https://github.com/soutaro/steep/pull/1301))
|
85
|
+
|
86
|
+
### Language server
|
87
|
+
|
88
|
+
* Handle file deletion notification ([#1300](https://github.com/soutaro/steep/pull/1300), Backport in [#1301](https://github.com/soutaro/steep/pull/1301))
|
89
|
+
|
90
|
+
## 1.8.2 (2024-10-24)
|
91
|
+
|
92
|
+
### Language server
|
93
|
+
|
94
|
+
* Ignore `didChangeWatchedFiles notification` for open files ([#1290](https://github.com/soutaro/steep/pull/1290))
|
95
|
+
|
96
|
+
## 1.8.1 (2024-10-08)
|
97
|
+
|
98
|
+
### Language server
|
99
|
+
|
100
|
+
* Skip sending response to `$/steep/typecheck` request from `steep langserver` ([#1268](https://github.com/soutaro/steep/pull/1268), backport [#1267](https://github.com/soutaro/steep/pull/1267))
|
101
|
+
|
102
|
+
## 1.8.0 (2024-09-30)
|
103
|
+
|
104
|
+
### Type checker core
|
105
|
+
|
106
|
+
* RBS validation ([#1239](https://github.com/soutaro/steep/pull/1239))
|
107
|
+
* Add special path for `Kernel#class` method ([#1229](https://github.com/soutaro/steep/pull/1229))
|
108
|
+
|
109
|
+
## 1.8.0.pre.2 (2024-09-18)
|
110
|
+
|
111
|
+
### Type checker core
|
112
|
+
|
113
|
+
* Support non symbol record keys ([#1227](https://github.com/soutaro/steep/pull/1227))
|
114
|
+
|
115
|
+
## 1.8.0.pre.1 (2024-09-17)
|
116
|
+
|
117
|
+
### Type checker core
|
118
|
+
|
119
|
+
* Fix some subtyping problems ([#1221](https://github.com/soutaro/steep/pull/1221))
|
120
|
+
* Support optional keys in record types ([#1223](https://github.com/soutaro/steep/pull/1223))
|
121
|
+
* Revert implicit generic upper bound ([#1220](https://github.com/soutaro/steep/pull/1220))
|
122
|
+
* Improve generics ([#1216](https://github.com/soutaro/steep/pull/1216))
|
123
|
+
* Delete meta data from `MethodType` and `Types::*` ([#1201](https://github.com/soutaro/steep/pull/1201))
|
124
|
+
* Delete `ContextArray` ([#1199](https://github.com/soutaro/steep/pull/1199))
|
125
|
+
* Fix shape calculation error ([#1197](https://github.com/soutaro/steep/pull/1197))
|
126
|
+
* Skip `#:` syntax in `Data.define` and `Struct.new` ([#1196](https://github.com/soutaro/steep/pull/1196))
|
127
|
+
* Support literals for Rational and Complex ([#1178](https://github.com/soutaro/steep/pull/1178))
|
128
|
+
* Ignore type assertions on arguments/receiver on `def`/`defs` ([#1179](https://github.com/soutaro/steep/pull/1179))
|
129
|
+
* Ignore `#:` annotation on `attr_*` calls ([#1176](https://github.com/soutaro/steep/pull/1176))
|
130
|
+
|
131
|
+
### Commandline tool
|
132
|
+
|
133
|
+
* Improve performance when there are many files ([#1184](https://github.com/soutaro/steep/pull/1184))
|
134
|
+
* Fix type errors ([#1183](https://github.com/soutaro/steep/pull/1183))
|
135
|
+
|
136
|
+
### Language server
|
137
|
+
|
138
|
+
* Make type checking a LSP request, not a LSP notification ([#1218](https://github.com/soutaro/steep/pull/1218))
|
139
|
+
* No `timeout: nil` ([#1217](https://github.com/soutaro/steep/pull/1217))
|
140
|
+
* Print `loading project` message via LSP ([#1213](https://github.com/soutaro/steep/pull/1213))
|
141
|
+
* Load files in main process ([#1206](https://github.com/soutaro/steep/pull/1206))
|
142
|
+
|
143
|
+
### Miscellaneous
|
144
|
+
|
145
|
+
* Drop Ruby 3.0 ([#1225](https://github.com/soutaro/steep/pull/1225))
|
146
|
+
* Add `bin/steep-check` for profiling ([#1198](https://github.com/soutaro/steep/pull/1198))
|
147
|
+
|
148
|
+
## 1.7.1 (2024-06-12)
|
149
|
+
|
150
|
+
### Type checker core
|
151
|
+
|
152
|
+
* Fix subtyping issues ([#1165](https://github.com/soutaro/steep/pull/1165))
|
153
|
+
|
154
|
+
## 1.7.0 (2024-06-07)
|
155
|
+
|
156
|
+
### Type checker core
|
157
|
+
|
158
|
+
* Implement untyped function params ([#1101](https://github.com/soutaro/steep/pull/1101))
|
159
|
+
* Fix method call type narrowing with`||` operator ([#1085](https://github.com/soutaro/steep/pull/1085))
|
160
|
+
* Refactor `Interface::Builder` ([#1081](https://github.com/soutaro/steep/pull/1081))
|
161
|
+
* Fix UnexpectedError with unnamed arguments ([#1041](https://github.com/soutaro/steep/pull/1041))
|
162
|
+
* Abort if subtyping fails to (possible) infinite loop ([#1055](https://github.com/soutaro/steep/pull/1055))
|
163
|
+
* Ignore diagnostics by `steep:ignore` comment ([#1034](https://github.com/soutaro/steep/pull/1034))
|
164
|
+
* Make defined? accept any type ([#1031](https://github.com/soutaro/steep/pull/1031))
|
165
|
+
* Refactor case-when syntax ([#999](https://github.com/soutaro/steep/pull/999))
|
166
|
+
* Update `Steep::Subtyping::Check#check` types ([#972](https://github.com/soutaro/steep/pull/972))
|
167
|
+
|
168
|
+
### Commandline tool
|
169
|
+
|
170
|
+
* Improve wildcard handling in pattern matching for directory paths ([#1121](https://github.com/soutaro/steep/pull/1121))
|
171
|
+
* Fix issue with wildcard expansion in FileLoader ([#1113](https://github.com/soutaro/steep/pull/1113))
|
172
|
+
* Avoid unnecessary calling `RBS::Location#to_s` on debug log ([#1092](https://github.com/soutaro/steep/pull/1092))
|
173
|
+
* Better recovery from collection problems ([#987](https://github.com/soutaro/steep/pull/987))
|
174
|
+
* Handle absolute path ([#975](https://github.com/soutaro/steep/pull/975))
|
175
|
+
* Default to check the entire current directory when there is no `Steepfile` ([#968](https://github.com/soutaro/steep/pull/968))
|
176
|
+
|
177
|
+
### Language server
|
178
|
+
|
179
|
+
* Fix variable untyped hover issue in rescue clause ([#1147](https://github.com/soutaro/steep/pull/1147))
|
180
|
+
* Handle `$/file/reset` request in interaction worker ([#1122](https://github.com/soutaro/steep/pull/1122))
|
181
|
+
* Skip pending UI jobs ([#1035](https://github.com/soutaro/steep/pull/1035))
|
182
|
+
* Fix no method error ([#1040](https://github.com/soutaro/steep/pull/1040))
|
183
|
+
* Implement completion for comments ([#1039](https://github.com/soutaro/steep/pull/1039))
|
184
|
+
* Fix signature help ([#1038](https://github.com/soutaro/steep/pull/1038))
|
185
|
+
|
186
|
+
### Miscellaneous
|
187
|
+
|
188
|
+
* Revise rake tasks ([#1156](https://github.com/soutaro/steep/pull/1156))
|
189
|
+
* Update `steep.gemspec` ([#1155](https://github.com/soutaro/steep/pull/1155))
|
190
|
+
* Add `Steep::RakeTask` ([#995](https://github.com/soutaro/steep/pull/995))
|
191
|
+
* Stop to distribute sig dir ([#1144](https://github.com/soutaro/steep/pull/1144))
|
192
|
+
* Update gem-rbs-collection.md ([#1127](https://github.com/soutaro/steep/pull/1127))
|
193
|
+
* Add shape docs ([#1089](https://github.com/soutaro/steep/pull/1089))
|
194
|
+
* Ignore smoke tests when packaging gem ([#962](https://github.com/soutaro/steep/pull/962))
|
195
|
+
* Fix setup for Ruby 3.3 ([#1000](https://github.com/soutaro/steep/pull/1000))
|
196
|
+
|
197
|
+
## master
|
198
|
+
|
199
|
+
## 1.6.0 (2023-11-09)
|
200
|
+
|
201
|
+
Nothing changed from 1.6.0.pre.4.
|
202
|
+
|
203
|
+
## 1.6.0.pre.4 (2023-11-02)
|
204
|
+
|
205
|
+
### Language server
|
206
|
+
|
207
|
+
* Fix LSP text synchronization problems ([#954](https://github.com/soutaro/steep/pull/954))
|
208
|
+
|
209
|
+
## 1.6.0.pre.3 (2023-11-01)
|
210
|
+
|
211
|
+
### Type checker core
|
212
|
+
|
213
|
+
* Object methods are moved to Kernel ([#952](https://github.com/soutaro/steep/pull/952))
|
214
|
+
* Check if `rescue` body has `bot` type ([#953](https://github.com/soutaro/steep/pull/953))
|
215
|
+
|
216
|
+
## 1.6.0.pre.2 (2023-10-31)
|
217
|
+
|
218
|
+
### Type checker core
|
219
|
+
|
220
|
+
* Assign types on method calls in mlhs node ([#951](https://github.com/soutaro/steep/pull/951))
|
221
|
+
* Change severity of block diagnostics ([#950](https://github.com/soutaro/steep/pull/950))
|
222
|
+
|
223
|
+
### Commandline tool
|
224
|
+
|
225
|
+
* Match with `**` in pattern ([#949](https://github.com/soutaro/steep/pull/949))
|
226
|
+
|
227
|
+
## 1.6.0.pre.1 (2023-10-27)
|
228
|
+
|
229
|
+
### Type checker core
|
230
|
+
|
231
|
+
* Test if a parameter is `_` ([#946](https://github.com/soutaro/steep/pull/946))
|
232
|
+
* Let `[]=` call have correct type ([#945](https://github.com/soutaro/steep/pull/945))
|
233
|
+
* Support type narrowing by `Module#<` ([#877](https://github.com/soutaro/steep/pull/877))
|
234
|
+
* Fewer `UnresolvedOverloading` ([#941](https://github.com/soutaro/steep/pull/941))
|
235
|
+
* Fix ArgumentTypeMismatch for PublishDiagnosticsParams ([#895](https://github.com/soutaro/steep/pull/895))
|
236
|
+
* Add types for LSP::Constant::MessageType ([#894](https://github.com/soutaro/steep/pull/894))
|
237
|
+
* `nil` is not a `NilClass` ([#920](https://github.com/soutaro/steep/pull/920))
|
238
|
+
* Fix unexpected error when DifferentMethodParameterKind ([#917](https://github.com/soutaro/steep/pull/917))
|
239
|
+
|
240
|
+
### Commandline tool
|
241
|
+
|
242
|
+
* Fix space in file path crash ([#944](https://github.com/soutaro/steep/pull/944))
|
243
|
+
* refactor: Rename driver objects to command ([#893](https://github.com/soutaro/steep/pull/893))
|
244
|
+
* Run with `--jobs=2` automatically on CI ([#924](https://github.com/soutaro/steep/pull/924))
|
245
|
+
* Fix type alias validation ([#922](https://github.com/soutaro/steep/pull/922))
|
246
|
+
|
247
|
+
### Language server
|
248
|
+
|
249
|
+
* Let goto definition work from `UnresolvedOverloading` error calls ([#943](https://github.com/soutaro/steep/pull/943))
|
250
|
+
* Let label be whole method type in SignatureHelp ([#942](https://github.com/soutaro/steep/pull/942))
|
251
|
+
* Set up file watcher ([#936](https://github.com/soutaro/steep/pull/936))
|
252
|
+
* Reset file content on `didOpen` notification ([#935](https://github.com/soutaro/steep/pull/935))
|
253
|
+
* Start type check on change ([#934](https://github.com/soutaro/steep/pull/934))
|
254
|
+
* Better completion with module alias and `use` directives ([#923](https://github.com/soutaro/steep/pull/923))
|
255
|
+
|
256
|
+
### Miscellaneous
|
257
|
+
|
258
|
+
* Drop 2.7 support ([#928](https://github.com/soutaro/steep/pull/928))
|
259
|
+
* Type check `subtyping/check.rb` ([#921](https://github.com/soutaro/steep/pull/921))
|
260
|
+
* Type check constant under `self` ([#908](https://github.com/soutaro/steep/pull/908))
|
261
|
+
|
262
|
+
## 1.5.3 (2023-08-10)
|
263
|
+
|
264
|
+
### Type checker core
|
265
|
+
|
266
|
+
* Fix type checking parenthesized conditional nodes ([#896](https://github.com/soutaro/steep/pull/896))
|
267
|
+
|
268
|
+
## 1.5.2 (2023-07-27)
|
269
|
+
|
270
|
+
### Type checker core
|
271
|
+
|
272
|
+
* Avoid inifinite loop in `#shape` ([#884](https://github.com/soutaro/steep/pull/884))
|
273
|
+
* Fix `nil?` typing with `untyped` receiver ([#882](https://github.com/soutaro/steep/pull/882))
|
274
|
+
|
275
|
+
### Language server
|
276
|
+
|
277
|
+
* Avoid breaking the original source code through `CompletionProvider` ([#883](https://github.com/soutaro/steep/pull/883))
|
278
|
+
|
279
|
+
## 1.5.1 (2023-07-20)
|
280
|
+
|
281
|
+
### Type checker core
|
282
|
+
|
283
|
+
* Support unreachable branch detection with `elsif` ([#879](https://github.com/soutaro/steep/pull/879))
|
284
|
+
* Give an optional type hint to lhs of `||` ([#874](https://github.com/soutaro/steep/pull/874))
|
285
|
+
|
286
|
+
### Miscellaneous
|
287
|
+
|
288
|
+
* Update steep ([#878](https://github.com/soutaro/steep/pull/878))
|
289
|
+
* Update inline type comments ([#875](https://github.com/soutaro/steep/pull/875))
|
290
|
+
|
291
|
+
## 1.5.0 (2023-07-13)
|
292
|
+
|
293
|
+
### Type checker core
|
294
|
+
|
295
|
+
* Fix for the case `untyped` is the proc type hint ([#868](https://github.com/soutaro/steep/pull/868))
|
296
|
+
* Type case with type variable ([#869](https://github.com/soutaro/steep/pull/869))
|
297
|
+
* Filx `nil?` unreachability detection ([#867](https://github.com/soutaro/steep/pull/867))
|
298
|
+
|
299
|
+
### Commandline tool
|
300
|
+
|
301
|
+
* Update `#configure_code_diagnostics` type ([#873](https://github.com/soutaro/steep/pull/873))
|
302
|
+
* Update diagnostics templates ([#871](https://github.com/soutaro/steep/pull/871))
|
303
|
+
* Removed "set" from "libray" in init.rb and README ([#870](https://github.com/soutaro/steep/pull/870))
|
304
|
+
|
305
|
+
### Language server
|
306
|
+
|
307
|
+
* Use RBS::Buffer method to calculate position ([#872](https://github.com/soutaro/steep/pull/872))
|
308
|
+
|
309
|
+
## 1.5.0.pre.6 (2023-07-11)
|
310
|
+
|
311
|
+
### Type checker core
|
312
|
+
|
313
|
+
* Report RBS validation errors in Ruby code ([#859](https://github.com/soutaro/steep/pull/859))
|
314
|
+
* Fix proc type assignment ([#858](https://github.com/soutaro/steep/pull/858))
|
315
|
+
* Report `UnexpectedKeywordArgument` even if no keyword param is accepted ([#856](https://github.com/soutaro/steep/pull/856))
|
316
|
+
* Unfold type alias on unwrap optional ([#855](https://github.com/soutaro/steep/pull/855))
|
317
|
+
|
318
|
+
### Language server
|
319
|
+
|
320
|
+
* Keyword completion in block call ([#865](https://github.com/soutaro/steep/pull/865))
|
321
|
+
* Indicate the current or next argument on signature help ([#850](https://github.com/soutaro/steep/pull/850))
|
322
|
+
* Support completion for keyword arguments ([#851](https://github.com/soutaro/steep/pull/851))
|
323
|
+
* Let hover show the type of method call node ([#864](https://github.com/soutaro/steep/pull/864))
|
324
|
+
* Fix UnknownNodeError in SignatureHelp ([#863](https://github.com/soutaro/steep/pull/863))
|
325
|
+
* hover: Fix NoMethodError on generating hover for not supported files ([#853](https://github.com/soutaro/steep/pull/853))
|
326
|
+
|
327
|
+
## 1.5.0.pre.5 (2023-07-07)
|
328
|
+
|
329
|
+
### Type checker core
|
330
|
+
|
331
|
+
* Unreachability improvements ([#845](https://github.com/soutaro/steep/pull/845))
|
332
|
+
* Fix type inference problem ([#843](https://github.com/soutaro/steep/pull/843))
|
333
|
+
|
334
|
+
## 1.5.0.pre.4 (2023-07-06)
|
335
|
+
|
336
|
+
### Type checker core
|
337
|
+
|
338
|
+
* Fix unreachability test ([#842](https://github.com/soutaro/steep/pull/842))
|
339
|
+
* Make type of `case` node `untyped` rather than `nil` ([#841](https://github.com/soutaro/steep/pull/841))
|
340
|
+
* Fix `#partition_union` ([#840](https://github.com/soutaro/steep/pull/840))
|
341
|
+
* Fix type-case ([#839](https://github.com/soutaro/steep/pull/839))
|
342
|
+
|
343
|
+
## 1.5.0.pre.3 (2023-07-05)
|
344
|
+
|
345
|
+
### Type checker core
|
346
|
+
|
347
|
+
* Resolve type names from TypeAssertion and TypeApplication ([#836](https://github.com/soutaro/steep/pull/836))
|
348
|
+
|
349
|
+
### Commandline tool
|
350
|
+
|
351
|
+
* Replace ElseOnExhaustiveCase by UnreachableBranch from steep/diagnostic/ruby.rb ([#833](https://github.com/soutaro/steep/pull/833))
|
352
|
+
|
353
|
+
### Language server
|
354
|
+
|
355
|
+
* Reuse the latest result to keep SignatureHelp opened while typing ([#835](https://github.com/soutaro/steep/pull/835))
|
356
|
+
|
357
|
+
## 1.5.0.pre.2 (2023-07-05)
|
358
|
+
|
359
|
+
### Language server
|
360
|
+
|
361
|
+
* Fix signature help is not shown for the optional chaining (&.) ([#832](https://github.com/soutaro/steep/pull/832))
|
362
|
+
|
363
|
+
## 1.5.0.pre.1 (2023-07-05)
|
364
|
+
|
365
|
+
### Type checker core
|
366
|
+
|
367
|
+
* Refactor occurrence typing ([#831](https://github.com/soutaro/steep/pull/831))
|
368
|
+
* Better flow-sensitive typing ([#825](https://github.com/soutaro/steep/pull/825))
|
369
|
+
* Fix interface type inference ([#816](https://github.com/soutaro/steep/pull/816))
|
370
|
+
* Make `nth_ref` and `:back_ref` nodes optional ([#815](https://github.com/soutaro/steep/pull/815))
|
371
|
+
* Add new diagnostic for setter methods ([#809](https://github.com/soutaro/steep/pull/809))
|
372
|
+
* Better hint type handling given to lambda ([#807](https://github.com/soutaro/steep/pull/807))
|
373
|
+
* Fix type assertion parsing error ([#805](https://github.com/soutaro/steep/pull/805))
|
374
|
+
* Distribute `untyped` to block params ([#798](https://github.com/soutaro/steep/pull/798))
|
375
|
+
* Should escape underscore for method name ([#770](https://github.com/soutaro/steep/pull/770))
|
376
|
+
* Give a special typing rule to `#lambda` calls ([#811](https://github.com/soutaro/steep/pull/811))
|
377
|
+
* Support early return code using "and return" ([#828](https://github.com/soutaro/steep/pull/828))
|
378
|
+
* Validate type applications in ancestors ([#810](https://github.com/soutaro/steep/pull/810))
|
379
|
+
* Convert block-pass-arguments with `#to_proc` ([#806](https://github.com/soutaro/steep/pull/806))
|
380
|
+
|
381
|
+
### Commandline tool
|
382
|
+
|
383
|
+
* Ensure at least one type check worker runs ([#814](https://github.com/soutaro/steep/pull/814))
|
384
|
+
* Improve worker process handling ([#801](https://github.com/soutaro/steep/pull/801))
|
385
|
+
* Add `Steep::Diagnostic::Ruby.silent` template to suppress all warnings ([#800](https://github.com/soutaro/steep/pull/800))
|
386
|
+
* Suppress `UnsupportedSyntax` warnings by default ([#799](https://github.com/soutaro/steep/pull/799))
|
387
|
+
* Infer method return types using hint ([#789](https://github.com/soutaro/steep/pull/789))
|
388
|
+
* Handling splat nodes in `super` ([#788](https://github.com/soutaro/steep/pull/788))
|
389
|
+
* Add handling splat node in tuple type checking ([#786](https://github.com/soutaro/steep/pull/786))
|
390
|
+
* Let `return` have multiple values ([#785](https://github.com/soutaro/steep/pull/785))
|
391
|
+
* Remove trailing extra space from Steepfile generated by steep init ([#774](https://github.com/soutaro/steep/pull/774))
|
392
|
+
|
393
|
+
### Language server
|
394
|
+
|
395
|
+
* Completion in annotations ([#818](https://github.com/soutaro/steep/pull/818))
|
396
|
+
* Implement *go to type definition* ([#784](https://github.com/soutaro/steep/pull/784))
|
397
|
+
* completion: Support completion for optional chaining (&.) ([#827](https://github.com/soutaro/steep/pull/827))
|
398
|
+
* signature helps are not shown if the target code has comments ([#829](https://github.com/soutaro/steep/pull/829))
|
399
|
+
|
400
|
+
### Miscellaneous
|
401
|
+
|
402
|
+
* Typecheck sources ([#820](https://github.com/soutaro/steep/pull/820))
|
403
|
+
* Relax concurrent-ruby requirement ([#812](https://github.com/soutaro/steep/pull/812))
|
404
|
+
* Cast from union for faster type checking ([#830](https://github.com/soutaro/steep/pull/830))
|
405
|
+
|
406
|
+
## 1.4.0 (2023-04-25)
|
407
|
+
|
408
|
+
### Type checker core
|
409
|
+
|
410
|
+
* Return immediately if blocks are incompatible ([#765](https://github.com/soutaro/steep/pull/765))
|
411
|
+
* Fix location of no method error ([#763](https://github.com/soutaro/steep/pull/763))
|
412
|
+
* Support `gvasgn` in assignment variants ([#762](https://github.com/soutaro/steep/pull/762))
|
413
|
+
* Set up break contexts correctly for untyped blocks ([#752](https://github.com/soutaro/steep/pull/752))
|
414
|
+
* Fix flow sensitive on `case` without condition ([#751](https://github.com/soutaro/steep/pull/751))
|
415
|
+
* Support `...` syntax ([#750](https://github.com/soutaro/steep/pull/750))
|
416
|
+
* Fix constant declaration type checking ([#738](https://github.com/soutaro/steep/pull/738))
|
417
|
+
* Fix errors caused by non-ascii variable names ([#703](https://github.com/soutaro/steep/pull/703))
|
418
|
+
* Update RBS to 3.0 ([#716](https://github.com/soutaro/steep/pull/716), [#754](https://github.com/soutaro/steep/pull/754))
|
419
|
+
|
420
|
+
### Language server
|
421
|
+
|
422
|
+
* Implement signature help, better completion and hover ([#759](https://github.com/soutaro/steep/pull/759), [#761](https://github.com/soutaro/steep/pull/761), [#766](https://github.com/soutaro/steep/pull/766))
|
423
|
+
|
424
|
+
### Miscellaneous
|
425
|
+
|
426
|
+
* Remove pathname from runtime_dependency ([#739](https://github.com/soutaro/steep/pull/739))
|
427
|
+
* `parallel` out, `concurrent-ruby` in ([#760](https://github.com/soutaro/steep/pull/760))
|
428
|
+
|
429
|
+
## 1.3.2 (2023-03-17)
|
430
|
+
|
431
|
+
### Miscellaneous
|
432
|
+
|
433
|
+
* Remove pathname from runtime_dependency ([#740](https://github.com/soutaro/steep/pull/740))
|
434
|
+
|
435
|
+
## 1.3.1 (2023-03-08)
|
436
|
+
|
437
|
+
### Miscellaneous
|
438
|
+
|
439
|
+
* Require rbs-2.8.x ([#732](https://github.com/soutaro/steep/pull/732))
|
440
|
+
|
441
|
+
## 1.3.0 (2022-11-25)
|
442
|
+
|
443
|
+
### Type checker core
|
444
|
+
|
445
|
+
* Type check types ([#676](https://github.com/soutaro/steep/pull/676))
|
446
|
+
|
447
|
+
## 1.3.0.pre.2 (2022-11-23)
|
448
|
+
|
449
|
+
### Type checker core
|
450
|
+
|
451
|
+
* Add missing `#level` method ([\#671](https://github.com/soutaro/steep/pull/671))
|
452
|
+
* Cache `constant_resolver` among files in a target([\#673](https://github.com/soutaro/steep/pull/673))
|
453
|
+
* Early return from type checking overloads ([\#674](https://github.com/soutaro/steep/pull/674))
|
454
|
+
|
455
|
+
### Commandline tool
|
456
|
+
|
457
|
+
* Spawn worker processes if `--steep-command` is specified ([\#672](https://github.com/soutaro/steep/pull/672))
|
458
|
+
|
459
|
+
## 1.3.0.pre.1 (2022-11-22)
|
460
|
+
|
461
|
+
### Type checker core
|
462
|
+
|
463
|
+
* Add type assertion syntax ([#665](https://github.com/soutaro/steep/pull/665))
|
464
|
+
* Add type application syntax ([#670](https://github.com/soutaro/steep/pull/670))
|
465
|
+
|
466
|
+
### Commandline tool
|
467
|
+
|
468
|
+
* Fork when available for quicker startup ([#664](https://github.com/soutaro/steep/pull/664))
|
469
|
+
|
470
|
+
### Miscellaneous
|
471
|
+
|
472
|
+
* Fixes for some RBS errors within steep gem ([#668](https://github.com/soutaro/steep/pull/668))
|
473
|
+
* Upgrade to RBS 2.8 (pre) ([#669](https://github.com/soutaro/steep/pull/669))
|
474
|
+
|
475
|
+
## 1.2.1 (2022-10-22)
|
476
|
+
|
477
|
+
### Type checker core
|
478
|
+
|
479
|
+
* Fix type narrowing on case-when ([#662](https://github.com/soutaro/steep/pull/662))
|
480
|
+
|
481
|
+
## 1.2.0 (2022-10-08)
|
482
|
+
|
483
|
+
### Commandline tool
|
484
|
+
|
485
|
+
* Refactor `--jobs` and `--steep-command` option handling ([#654](https://github.com/soutaro/steep/pull/654))
|
486
|
+
|
487
|
+
### Miscellaneous
|
488
|
+
|
489
|
+
* Delete debug prints ([#653](https://github.com/soutaro/steep/pull/653))
|
490
|
+
* Update RBS to 2.7.0 ([#655](https://github.com/soutaro/steep/pull/655))
|
491
|
+
|
492
|
+
## 1.2.0.pre.1 (2022-10-06)
|
493
|
+
|
494
|
+
### Type checker core
|
495
|
+
|
496
|
+
* Support type checking block/proc self type binding ([#637](https://github.com/soutaro/steep/pull/637))
|
497
|
+
* Type check multiple assignment on block parameters ([#641](https://github.com/soutaro/steep/pull/641), [#643](https://github.com/soutaro/steep/pull/643))
|
498
|
+
* Make more multiple assignments type check ([#630](https://github.com/soutaro/steep/pull/630))
|
499
|
+
* Refactor *shape* calculation ([#635](https://github.com/soutaro/steep/pull/635), [#649](https://github.com/soutaro/steep/pull/649))
|
500
|
+
* Report type errors if argument mismatch on yield ([#640](https://github.com/soutaro/steep/pull/640))
|
501
|
+
* Relax caching requirements to cache more results ([#651](https://github.com/soutaro/steep/pull/651))
|
502
|
+
|
503
|
+
### Commandline tool
|
504
|
+
|
505
|
+
* Add `steep checkfile` command ([#650](https://github.com/soutaro/steep/pull/650))
|
506
|
+
|
507
|
+
### Miscellaneous
|
508
|
+
|
509
|
+
* Add docs for sublime text integration ([#633](https://github.com/soutaro/steep/pull/633))
|
510
|
+
|
511
|
+
## 1.1.1 (2022-07-31)
|
512
|
+
|
513
|
+
### Type checker core
|
514
|
+
|
515
|
+
* Ignore special local variables -- `_`, `__any__` and `__skip__` ([#617](https://github.com/soutaro/steep/pull/617), [#627](https://github.com/soutaro/steep/pull/627))
|
516
|
+
* Fix type narrowing on assignments ([#622](https://github.com/soutaro/steep/pull/622))
|
517
|
+
|
518
|
+
## 1.1.0 (2022-07-27)
|
519
|
+
|
520
|
+
### Type checker core
|
521
|
+
|
522
|
+
* Fix `#each_child_node` ([#612](https://github.com/soutaro/steep/pull/612))
|
523
|
+
|
524
|
+
## 1.1.0.pre.1 (2022-07-26)
|
525
|
+
|
526
|
+
### Type checker core
|
527
|
+
|
528
|
+
* Type refinement with method calls ([#590](https://github.com/soutaro/steep/issues/590))
|
529
|
+
* Better multiple assignment type checking ([\#605](https://github.com/soutaro/steep/pull/605))
|
530
|
+
* Fix generics issues around proc types ([\#609](https://github.com/soutaro/steep/pull/609), [\#611](https://github.com/soutaro/steep/pull/611))
|
531
|
+
* Fix type application validation ([#607](https://github.com/soutaro/steep/pull/607); backport from 1.0.2)
|
532
|
+
* Add class variable validation ([\#593](https://github.com/soutaro/steep/pull/593))
|
533
|
+
* Fix type application validation ([\#607](https://github.com/soutaro/steep/pull/607))
|
534
|
+
|
535
|
+
### Commandline tool
|
536
|
+
|
537
|
+
* Appends "done!" to the watch output when the type check is complete ([\#596](https://github.com/soutaro/steep/pull/596))
|
538
|
+
|
539
|
+
### Language server
|
540
|
+
|
541
|
+
* Fix hover on multiple assignment ([\#606](https://github.com/soutaro/steep/pull/606))
|
542
|
+
|
543
|
+
## 1.0.2 (2022-07-19)
|
544
|
+
|
545
|
+
This is another patch release for Steep 1.0.
|
546
|
+
|
547
|
+
### Type checker core
|
548
|
+
|
549
|
+
* Fix type application validation ([#607](https://github.com/soutaro/steep/pull/607))
|
550
|
+
|
551
|
+
## 1.0.1 (2022-06-16)
|
552
|
+
|
553
|
+
This is the first patch release for Steep 1.0.
|
554
|
+
However, this release includes one non-trivial type system update, [\#570](https://github.com/soutaro/steep/pull/570), which adds a special typing rule for `Hash#compact` like `Array#compact`.
|
555
|
+
The change will make type checking more permissive and precise, so no new error won't be reported with the fix.
|
556
|
+
|
557
|
+
### Type checker core
|
558
|
+
|
559
|
+
* Support shorthand hash for Ruby 3.1 ([\#567](https://github.com/soutaro/steep/pull/567))
|
560
|
+
* Fix super and zsuper with block ([\#568](https://github.com/soutaro/steep/pull/568))
|
561
|
+
* Apply logic-type evaluation only if the node is `:send` ([\#569](https://github.com/soutaro/steep/pull/569))
|
562
|
+
* Add support for `Hash#compact` ([\#570](https://github.com/soutaro/steep/pull/570))
|
563
|
+
* Use given `const_env` when making a new `ModuleContext` ([\#575](https://github.com/soutaro/steep/pull/575))
|
564
|
+
* Graceful, hopefully, error handling with undefined outer module ([\#576](https://github.com/soutaro/steep/pull/576))
|
565
|
+
* Type check anonymous block forwarding ([\#577](https://github.com/soutaro/steep/pull/577))
|
566
|
+
* Incompatible default value is a type error ([\#578](https://github.com/soutaro/steep/pull/578))
|
567
|
+
* Load `ChildrenLevel` helper in `AST::Types::Proc` ([\#584](https://github.com/soutaro/steep/pull/584))
|
568
|
+
* Type check `gvar` and `gvasgn` in methods([\#579](https://github.com/soutaro/steep/pull/579))
|
569
|
+
* Avoid `UnexpectedError` when assigning untyped singleton class ([\#586](https://github.com/soutaro/steep/pull/586))
|
570
|
+
|
571
|
+
### Commandline tool
|
572
|
+
|
573
|
+
* Improve Windows support ([\#561](https://github.com/soutaro/steep/pull/561), [\#573](https://github.com/soutaro/steep/pull/573))
|
574
|
+
* Test if `.ruby-version` exists before `rvm do` in binstub ([\#558](https://github.com/soutaro/steep/pull/558))
|
575
|
+
* Fix typo ([\#564](https://github.com/soutaro/steep/pull/564))
|
576
|
+
* Ignore `untitled:` URIs in LSP ([\#580](https://github.com/soutaro/steep/pull/580))
|
577
|
+
|
578
|
+
### Miscellaneous
|
579
|
+
|
580
|
+
* Fix test name ([\#565](https://github.com/soutaro/steep/pull/565), [\#566](https://github.com/soutaro/steep/pull/566), [\#585](https://github.com/soutaro/steep/pull/585))
|
581
|
+
* Remove some unused code except tests ([\#587](https://github.com/soutaro/steep/pull/587))
|
582
|
+
|
583
|
+
## 1.0.0 (2022-05-20)
|
584
|
+
|
585
|
+
* Add special typing rule for `Array#compact` ([\#555](https://github.com/soutaro/steep/pull/555))
|
586
|
+
* Add custom method type of `#fetch` on tuples and records ([\#554](https://github.com/soutaro/steep/pull/554))
|
587
|
+
* Better `masgn` ([\#553](https://github.com/soutaro/steep/pull/553))
|
588
|
+
* Fix method parameter type checking ([\#552](https://github.com/soutaro/steep/pull/552))
|
589
|
+
|
590
|
+
## 0.52.2 (2022-05-02)
|
591
|
+
|
592
|
+
* Handle class declaration with non-const super class ([\#546](https://github.com/soutaro/steep/pull/546))
|
593
|
+
* Remove `#to_a` error message ([\#545](https://github.com/soutaro/steep/pull/545))
|
594
|
+
* Add `#filter_map` shim ([\#544](https://github.com/soutaro/steep/pull/544))
|
595
|
+
|
596
|
+
## 0.52.1 (2022-04-25)
|
597
|
+
|
598
|
+
* Better union type inference (it type checks `Array#filter_map` now!) ([\#531](https://github.com/soutaro/steep/pull/531))
|
599
|
+
* Improve method call hover message ([\#537](https://github.com/soutaro/steep/pull/537), [\#538](https://github.com/soutaro/steep/pull/538))
|
600
|
+
* Make `NilClass#!` a special method to improve flow-sensitive typing ([\#539](https://github.com/soutaro/steep/pull/539))
|
601
|
+
* Fix `steep binstub` ([\#540](https://github.com/soutaro/steep/pull/540), [\#541](https://github.com/soutaro/steep/pull/541))
|
602
|
+
|
603
|
+
## 0.52.0 (2022-04-05)
|
604
|
+
|
605
|
+
* Add `steep binstub` command ([\#527](https://github.com/soutaro/steep/pull/527))
|
606
|
+
* Let hover and completion work in heredoc ([\#528](https://github.com/soutaro/steep/pull/528))
|
607
|
+
* Better constant typing ([\#529](https://github.com/soutaro/steep/pull/529))
|
608
|
+
|
609
|
+
## 0.51.0 (2022-04-01)
|
610
|
+
|
611
|
+
* Completion for constant ([\#524](https://github.com/soutaro/steep/pull/524))
|
612
|
+
* Better hover/completion message ([\#525](https://github.com/soutaro/steep/pull/525))
|
613
|
+
* Show available commands when using `--help` ([\#523](https://github.com/soutaro/steep/pull/523))
|
614
|
+
|
615
|
+
## 0.50.0 (2022-03-22)
|
616
|
+
|
617
|
+
* CLI option for override steep command at spawn worker ([\#511](https://github.com/soutaro/steep/pull/511))
|
618
|
+
* LSP related improvements for Sublime LSP ([\#513](https://github.com/soutaro/steep/pull/513))
|
619
|
+
* Support Windows environment ([\#514](https://github.com/soutaro/steep/pull/514))
|
620
|
+
* Let `&:foo` proc work with methods with optional parameters ([\#516](https://github.com/soutaro/steep/pull/516))
|
621
|
+
* Fix unexpected error when or-asgn/and-asgn ([\#517](https://github.com/soutaro/steep/pull/517))
|
622
|
+
* Fix goto-definition from method call inside block ([\#518](https://github.com/soutaro/steep/pull/518))
|
623
|
+
* Better splat in array typing ([\#519](https://github.com/soutaro/steep/pull/519))
|
624
|
+
|
625
|
+
## 0.49.1 (2022-03-11)
|
626
|
+
|
627
|
+
* Fix lambda typing ([\#506](https://github.com/soutaro/steep/pull/506))
|
628
|
+
* Validate type descendants ([\#507](https://github.com/soutaro/steep/pull/507))
|
629
|
+
* Fix print error with absolute path ([\#508](https://github.com/soutaro/steep/pull/508))
|
630
|
+
* Skip non-target ruby code on `steep stats` ([\#509](https://github.com/soutaro/steep/pull/509))
|
631
|
+
|
632
|
+
## 0.49.0 (2022-03-08)
|
633
|
+
|
634
|
+
* Better typing for `#flat_map` ([\#504](https://github.com/soutaro/steep/pull/504))
|
635
|
+
* Support lambdas (`->`) with block ([\#503](https://github.com/soutaro/steep/pull/503))
|
636
|
+
* Let proc type be `::Proc` class instance ([\#502](https://github.com/soutaro/steep/pull/502))
|
637
|
+
* Disable contextual typing on `bool` type ([\#501](https://github.com/soutaro/steep/pull/501))
|
638
|
+
* Type check `return` without value ([\#500](https://github.com/soutaro/steep/pull/500))
|
639
|
+
|
640
|
+
## 0.48.0 (2022-03-07)
|
641
|
+
|
642
|
+
Steep supports all of the new features of RBS 2. 🎉
|
643
|
+
It now requires RBS >= 2.2 and support all of the features.
|
644
|
+
|
645
|
+
* Update RBS ([\#495](https://github.com/soutaro/steep/pull/495))
|
646
|
+
* Support generic type aliases ([\#496](https://github.com/soutaro/steep/pull/496))
|
647
|
+
* Support bounded generics ([\#499](https://github.com/soutaro/steep/pull/499))
|
648
|
+
|
649
|
+
## 0.47.1 (2022-02-17)
|
650
|
+
|
651
|
+
This update lets Steep run with Active Support 7.
|
652
|
+
|
653
|
+
* Fix ActiveSupport requirement in `lib/steep.rb` ([#484](https://github.com/soutaro/steep/pull/484))
|
654
|
+
|
655
|
+
## 0.47.0 (2021-11-30)
|
656
|
+
|
657
|
+
This update contains update for RBS 1.7.
|
658
|
+
|
659
|
+
* RBS 1.7 ([#455](https://github.com/soutaro/steep/pull/455))
|
660
|
+
* Bug fixes related to `SendArgs` ([#444](https://github.com/soutaro/steep/pull/444), [#449](https://github.com/soutaro/steep/pull/449), [#451](https://github.com/soutaro/steep/pull/451))
|
661
|
+
* LSP completion item formatting improvement ([#442](https://github.com/soutaro/steep/pull/442))
|
662
|
+
|
663
|
+
## 0.46.0 (2021-08-30)
|
664
|
+
|
665
|
+
This release updates Steepfile DSL syntax, introducing `stdlib_path` and `configure_code_diagnostics` syntax (methods).
|
666
|
+
|
667
|
+
* `stdlib_path` allows configuring core/stdlib RBS file locations.
|
668
|
+
* `configure_code_diagnostics` allows configuring _severity_ of each type errors.
|
669
|
+
|
670
|
+
See the PRs for the explanation of these methods.
|
671
|
+
You can try `steep init` to generate updated `Steepfile` template.
|
672
|
+
|
673
|
+
* Flexible diagnostics configuration ([\#422](https://github.com/soutaro/steep/pull/422), [\#423](https://github.com/soutaro/steep/pull/423))
|
674
|
+
* Revise Steepfile _path_ DSL ([\#421](https://github.com/soutaro/steep/pull/421))
|
675
|
+
* Avoid to stop process by invalid jobs_count ([\#419](https://github.com/soutaro/steep/pull/419))
|
676
|
+
* Fix `Steep::Typing::UnknownNodeError` when hover method with numblock ([\#415](https://github.com/soutaro/steep/pull/415))
|
677
|
+
|
678
|
+
## 0.45.0 (2021-08-22)
|
679
|
+
|
680
|
+
* Fix error reporting on `RBS::MixinClassError` ([\#411](https://github.com/soutaro/steep/pull/411))
|
681
|
+
* Compact error reporting for method body type mismatch ([\#414](https://github.com/soutaro/steep/pull/414))
|
682
|
+
* Fix NoMethodError with csend/numblock ([\#412](https://github.com/soutaro/steep/pull/412))
|
683
|
+
* LSP completion for RBS files ([\#404](https://github.com/soutaro/steep/pull/404))
|
684
|
+
* Allow break without value from bot methods ([\#398](https://github.com/soutaro/steep/pull/398))
|
685
|
+
* Type check on lvar assignments ([\#390](https://github.com/soutaro/steep/pull/390))
|
686
|
+
* Assign different error code to break without value ([\#387](https://github.com/soutaro/steep/pull/387))
|
687
|
+
* Support Ruby3 Keyword Arguments ([\#386](https://github.com/soutaro/steep/pull/386))
|
688
|
+
* LSP hover for RBS files ([\#385](https://github.com/soutaro/steep/pull/385), [\#397](https://github.com/soutaro/steep/pull/397))
|
689
|
+
* Fix FileLoader to skip files not matching to the given pattern ([\#382](https://github.com/soutaro/steep/pull/382))
|
690
|
+
* Ruby3 support for numbered block parameters and end-less def ([\#381](https://github.com/soutaro/steep/pull/381))
|
691
|
+
|
692
|
+
## 0.44.1 (2021-04-23)
|
693
|
+
|
694
|
+
* Disable goto declaration and goto type declaration (because they are not implemented) ([#377](https://github.com/soutaro/steep/pull/377))
|
695
|
+
* Fix goto from block calls ([#378](https://github.com/soutaro/steep/pull/378))
|
696
|
+
|
697
|
+
## 0.44.0 (2021-04-22)
|
698
|
+
|
699
|
+
* Implement LSP go to definition/implementation ([#371](https://github.com/soutaro/steep/pull/371), [#375](https://github.com/soutaro/steep/pull/375))
|
700
|
+
* Fix typing on passing optional block ([#373](https://github.com/soutaro/steep/pull/373))
|
701
|
+
* Do not crash when completion request `context` is missing ([#370](https://github.com/soutaro/steep/pull/370))
|
702
|
+
* Update RBS ([#376](https://github.com/soutaro/steep/pull/376))
|
703
|
+
|
704
|
+
## 0.43.1 (2021-04-01)
|
705
|
+
|
706
|
+
* Fix LSP `textDocument/didSave` notification handling ([#368](https://github.com/soutaro/steep/issues/368))
|
707
|
+
|
708
|
+
## 0.43.0 (2021-03-30)
|
709
|
+
|
710
|
+
* LSP responsiveness improvements ([\#352](https://github.com/soutaro/steep/issues/352))
|
711
|
+
* `@implements` annotation in blocks ([#338](https://github.com/soutaro/steep/issues/338))
|
712
|
+
* Better `steep stats` table formatting ([\#300](https://github.com/soutaro/steep/issues/300))
|
713
|
+
* Fix retry type checking ([\#293](https://github.com/soutaro/steep/issues/293))
|
714
|
+
* Better tuple type checking ([\#328](https://github.com/soutaro/steep/issues/328))
|
715
|
+
* Fix unexpected `add_call` error ([\#358](https://github.com/soutaro/steep/pull/358))
|
716
|
+
* Ignore passing nil as a block `&nil` ([\#356](https://github.com/soutaro/steep/pull/356))
|
717
|
+
* Better type checking for non-trivial block parameters ([\#354](https://github.com/soutaro/steep/pull/354))
|
718
|
+
* Avoid unexpected error on splat assignments ([\#330](https://github.com/soutaro/steep/pull/330))
|
719
|
+
* Fix constraint solver ([\#343](https://github.com/soutaro/steep/pull/343))
|
720
|
+
* Ruby 2.7 compatible private method call typing ([\#344](https://github.com/soutaro/steep/pull/344))
|
721
|
+
|
722
|
+
## 0.42.0 (2021-03-08)
|
723
|
+
|
724
|
+
* Type checking performance improvement ([\#309](https://github.com/soutaro/steep/pull/309), [\#311](https://github.com/soutaro/steep/pull/311), [\#312](https://github.com/soutaro/steep/pull/312), [\#313](https://github.com/soutaro/steep/pull/313), [\#314](https://github.com/soutaro/steep/pull/314), [\#315](https://github.com/soutaro/steep/pull/315), [\#316](https://github.com/soutaro/steep/pull/316), [\#320](https://github.com/soutaro/steep/pull/320), [\#322](https://github.com/soutaro/steep/pull/322))
|
725
|
+
* Let `watch` command support files ([\#323](https://github.com/soutaro/steep/pull/323))
|
726
|
+
* Validate _module-self-type_ constraints ([\#308](https://github.com/soutaro/steep/pull/308))
|
727
|
+
* Add `-j` option to specify number of worker processes ([\#318](https://github.com/soutaro/steep/pull/318), [\#325](https://github.com/soutaro/steep/pull/325))
|
728
|
+
* Fix `code` of RBS diagnostics ([\#306](https://github.com/soutaro/steep/pull/306))
|
729
|
+
* Skip printing source code from out of date _expectations_ file ([\#305](https://github.com/soutaro/steep/pull/305))
|
730
|
+
|
731
|
+
## 0.41.0 (2021-02-07)
|
732
|
+
|
733
|
+
* Add `--with-expectations` and `--save-expectations` option ([#303](https://github.com/soutaro/steep/pull/303))
|
734
|
+
|
735
|
+
## 0.40.0 (2021-01-31)
|
736
|
+
|
737
|
+
* Report progress with dots ([#287](https://github.com/soutaro/steep/pull/287))
|
738
|
+
* Diagnostics message improvements ([#297](https://github.com/soutaro/steep/pull/297), [#301](https://github.com/soutaro/steep/pull/301))
|
739
|
+
* Fix error on implicit `to_proc` syntax when `untyped` is yielded ([#291](https://github.com/soutaro/steep/pull/291))
|
740
|
+
|
741
|
+
## 0.39.0 (2020-12-25)
|
742
|
+
|
743
|
+
* Update RBS to 1.0.0 ([#282](https://github.com/soutaro/steep/pull/282))
|
744
|
+
* Better `&&` and `||` typing ([#276](https://github.com/soutaro/steep/pull/276))
|
745
|
+
* Type case based on literals ([#277](https://github.com/soutaro/steep/pull/277))
|
746
|
+
* Type case improvements ([#279](https://github.com/soutaro/steep/pull/279), [#283](https://github.com/soutaro/steep/pull/283))
|
747
|
+
* Improvements on untyped classes/modules, unsupported syntax error handling, and argument types in untyped methods ([#280](https://github.com/soutaro/steep/pull/280))
|
748
|
+
* Fix `bot` and `top` type format ([#278](https://github.com/soutaro/steep/pull/278))
|
749
|
+
* Colorfull error messages ([#273](https://github.com/soutaro/steep/pull/273))
|
750
|
+
|
751
|
+
## 0.38.0 (2020-12-10)
|
752
|
+
|
753
|
+
* Improve `break`/`next` typing ([#271](https://github.com/soutaro/steep/pull/271))
|
754
|
+
* Add LSP `workspace/symbol` feature ([#267](https://github.com/soutaro/steep/pull/267))
|
755
|
+
|
756
|
+
## 0.37.0 (2020-12-06)
|
757
|
+
|
758
|
+
* Update to RBS 0.20.0 with _singleton attribute_ syntax and _proc types with blocks_. ([#264](https://github.com/soutaro/steep/pull/264))
|
759
|
+
|
760
|
+
## 0.36.0 (2020-11-16)
|
761
|
+
|
762
|
+
* Flow-sensitive typing improvements with `||` and `&&` ([#260](https://github.com/soutaro/steep/pull/260))
|
763
|
+
* Type-case improvement ([#259](https://github.com/soutaro/steep/pull/259))
|
764
|
+
* Subtyping between `bool` and logic types ([#258](https://github.com/soutaro/steep/pull/258))
|
765
|
+
|
766
|
+
## 0.35.0 (2020-11-14)
|
767
|
+
|
768
|
+
* Support third party RBS repository ([#231](https://github.com/soutaro/steep/pull/231), [#254](https://github.com/soutaro/steep/pull/254), [#255](https://github.com/soutaro/steep/pull/255))
|
769
|
+
* Boolean type semantics update ([#252](https://github.com/soutaro/steep/pull/252))
|
770
|
+
* More flexible record typing ([#256](https://github.com/soutaro/steep/pull/256))
|
771
|
+
|
772
|
+
## 0.34.0 (2020-10-27)
|
773
|
+
|
774
|
+
* Add `steep stats` command to show method call typing stats ([#246](https://github.com/soutaro/steep/pull/246))
|
775
|
+
* Fix attribute assignment typing ([#243](https://github.com/soutaro/steep/pull/243))
|
776
|
+
* Let `Range[T]` be covariant ([#242](https://github.com/soutaro/steep/pull/242))
|
777
|
+
* Fix constant typing ([#247](https://github.com/soutaro/steep/pull/247), [#248](https://github.com/soutaro/steep/pull/248))
|
778
|
+
|
779
|
+
## 0.33.0 (2020-10-13)
|
780
|
+
|
781
|
+
* Make `!` typing flow sensitive ([#240](https://github.com/soutaro/steep/pull/240))
|
782
|
+
|
783
|
+
## 0.32.0 (2020-10-09)
|
784
|
+
|
785
|
+
* Let type-case support interface types ([#237](https://github.com/soutaro/steep/pull/237))
|
786
|
+
|
787
|
+
## 0.31.1 (2020-10-07)
|
788
|
+
|
789
|
+
* Fix `if-then-else` parsing ([#236](https://github.com/soutaro/steep/pull/236))
|
790
|
+
|
791
|
+
## 0.31.0 (2020-10-04)
|
792
|
+
|
793
|
+
* Fix type checking performance ([#230](https://github.com/soutaro/steep/pull/230))
|
794
|
+
* Improve LSP completion/hover performance ([#232](https://github.com/soutaro/steep/pull/232))
|
795
|
+
* Fix instance variable completion ([#234](https://github.com/soutaro/steep/pull/234))
|
796
|
+
* Relax version requirements on Listen to allow installing on Ruby 3 ([#235](https://github.com/soutaro/steep/pull/235))
|
797
|
+
|
798
|
+
## 0.30.0 (2020-10-03)
|
799
|
+
|
800
|
+
* Let top-level defs be methods of Object ([#227](https://github.com/soutaro/steep/pull/227))
|
801
|
+
* Fix error caused by attribute definitions ([#228](https://github.com/soutaro/steep/pull/228))
|
802
|
+
* LSP worker improvements ([#222](https://github.com/soutaro/steep/pull/222), [#223](https://github.com/soutaro/steep/pull/223), [#226](https://github.com/soutaro/steep/pull/226), [#229](https://github.com/soutaro/steep/pull/229))
|
803
|
+
|
804
|
+
## 0.29.0 (2020-09-28)
|
805
|
+
|
806
|
+
* Implement reasoning on `is_a?`, `nil?`, and `===` methods. ([#218](https://github.com/soutaro/steep/pull/218))
|
807
|
+
* Better completion based on interface ([#215](https://github.com/soutaro/steep/pull/215))
|
808
|
+
* Fix begin-rescue typing ([#221](https://github.com/soutaro/steep/pull/221))
|
809
|
+
|
810
|
+
## 0.28.0 (2020-09-17)
|
811
|
+
|
812
|
+
* Fix typing case-when with empty body ([#200](https://github.com/soutaro/steep/pull/200))
|
813
|
+
* Fix lvasgn typing with `void` type hint ([#200](https://github.com/soutaro/steep/pull/200))
|
814
|
+
* Fix subtype checking between type variables and union types ([#200](https://github.com/soutaro/steep/pull/200))
|
815
|
+
* Support endless range ([#200](https://github.com/soutaro/steep/pull/200))
|
816
|
+
* Fix optarg, kwoptarg typing ([#202](https://github.com/soutaro/steep/pull/202))
|
817
|
+
* Better union/intersection types ([#204](https://github.com/soutaro/steep/pull/204))
|
818
|
+
* Fix generic method instantiation ([#205](https://github.com/soutaro/steep/pull/205))
|
819
|
+
* Fix module typing ([#206](https://github.com/soutaro/steep/pull/206))
|
820
|
+
* Fix shutdown problem ([#209](https://github.com/soutaro/steep/pull/209))
|
821
|
+
* Update RBS to 0.12.0 ([#210](https://github.com/soutaro/steep/pull/210))
|
822
|
+
* Improve processing singleton class decls without RBS ([#211](https://github.com/soutaro/steep/pull/211))
|
823
|
+
* Improve processing block parameter with masgn ([#212](https://github.com/soutaro/steep/pull/212))
|
824
|
+
|
825
|
+
## 0.27.0 (2020-08-31)
|
826
|
+
|
827
|
+
* Make tuple types _covariant_ ([#195](https://github.com/soutaro/steep/pull/195))
|
828
|
+
* Support `or_asgn`/`and_asgn` with `send` node lhs ([#194](https://github.com/soutaro/steep/pull/194))
|
829
|
+
* Performance improvement ([#193](https://github.com/soutaro/steep/pull/193))
|
830
|
+
* Add specialized versions of `#first` and `#last` on tuples ([#191](https://github.com/soutaro/steep/pull/191))
|
831
|
+
* Typing bug fix on `[]` (empty array) ([#190](https://github.com/soutaro/steep/pull/190))
|
832
|
+
* Earlier shutdown with interruption while `steep watch` ([#173](https://github.com/soutaro/steep/pull/173))
|
833
|
+
|
834
|
+
## 0.26.0
|
835
|
+
|
836
|
+
* Skipped
|
837
|
+
|
838
|
+
## 0.25.0 (2020-08-18)
|
839
|
+
|
840
|
+
* Improve `op_send` typing ([#186](https://github.com/soutaro/steep/pull/186))
|
841
|
+
* Improve `op_asgn` typing ([#189](https://github.com/soutaro/steep/pull/189))
|
842
|
+
* Better multi-assignment support ([#183](https://github.com/soutaro/steep/pull/183), [#184](https://github.com/soutaro/steep/pull/184))
|
843
|
+
* Support for loop and class variables ([#182](https://github.com/soutaro/steep/pull/182))
|
844
|
+
* Fix tuple typing ([#181](https://github.com/soutaro/steep/pull/181))
|
845
|
+
|
846
|
+
## 0.24.0 (2020-08-11)
|
847
|
+
|
848
|
+
* Update RBS to 0.10 ([#180](https://github.com/soutaro/steep/pull/180))
|
849
|
+
|
850
|
+
## 0.23.0 (2020-08-06)
|
851
|
+
|
852
|
+
* Fix literal typing with hint ([#179](https://github.com/soutaro/steep/pull/179))
|
853
|
+
* Fix literal type subtyping ([#178](https://github.com/soutaro/steep/pull/178))
|
854
|
+
|
855
|
+
## 0.22.0 (2020-08-03)
|
856
|
+
|
857
|
+
* Improve signature validation ([#175](https://github.com/soutaro/steep/pull/175), [#177](https://github.com/soutaro/steep/pull/177))
|
858
|
+
* Fix boolean literal typing ([#172](https://github.com/soutaro/steep/pull/172))
|
859
|
+
* Make exit code success when Steep has unreported type errors ([#171](https://github.com/soutaro/steep/pull/171))
|
860
|
+
* Allow `./` prefix for signature pattern ([#170](https://github.com/soutaro/steep/pull/170))
|
861
|
+
|
862
|
+
## 0.21.0 (2020-07-20)
|
863
|
+
|
864
|
+
* Fix LSP hover ([#168](https://github.com/soutaro/steep/pull/168))
|
865
|
+
* Nominal subtyping ([#167](https://github.com/soutaro/steep/pull/167))
|
866
|
+
|
867
|
+
## 0.20.0 (2020-07-17)
|
868
|
+
|
869
|
+
* Support singleton class definitions ([#166](https://github.com/soutaro/steep/pull/166))
|
870
|
+
|
871
|
+
## 0.19.0 (2020-07-12)
|
872
|
+
|
873
|
+
* Update RBS. ([#157](https://github.com/soutaro/steep/pull/157))
|
874
|
+
* No `initialize` in completion. ([#164](https://github.com/soutaro/steep/pull/164))
|
875
|
+
* Granular typing option setup. ([#163](https://github.com/soutaro/steep/pull/163))
|
876
|
+
|
877
|
+
## 0.18.0 (2020-07-06)
|
878
|
+
|
879
|
+
* Sort result of `Pathname#glob` ([#154](https://github.com/soutaro/steep/pull/154))
|
880
|
+
* Sort methods in LanguageServer to return non-inherited methods first ([#159](https://github.com/soutaro/steep/pull/159))
|
881
|
+
|
882
|
+
## 0.17.1 (2020-06-15)
|
883
|
+
|
884
|
+
* Allow RBS gem to be 0.4 ([#153](https://github.com/soutaro/steep/pull/153))
|
885
|
+
|
886
|
+
## 0.17.0 (2020-06-13)
|
887
|
+
|
888
|
+
* Fix `steep watch` and `steep langserver` to correctly handle error message filterings based on options ([#152](https://github.com/soutaro/steep/pull/152))
|
889
|
+
* Fix typing of collections ([#151](https://github.com/soutaro/steep/pull/151))
|
890
|
+
|
891
|
+
## 0.16.3
|
892
|
+
|
893
|
+
* Fix `steep watch` ([#147](https://github.com/soutaro/steep/pull/147))
|
894
|
+
* Stop using pry ([#148](https://github.com/soutaro/steep/pull/148))
|
895
|
+
|
896
|
+
## 0.16.2 (2020-05-27)
|
897
|
+
|
898
|
+
* Update gems ([#144](https://github.com/soutaro/steep/pull/144), [#145](https://github.com/soutaro/steep/pull/145))
|
899
|
+
|
900
|
+
## 0.16.1 (2020-05-22)
|
901
|
+
|
902
|
+
* Fix constant resolution ([#143](https://github.com/soutaro/steep/pull/143))
|
903
|
+
* Fix RBS diagnostics line number in LSP ([#142](https://github.com/soutaro/steep/pull/142))
|
904
|
+
* Fix crash caused by hover on `def` in LSP ([#140](https://github.com/soutaro/steep/pull/140))
|
905
|
+
|
906
|
+
## 0.16.0 (2020-05-19)
|
907
|
+
|
908
|
+
* Spawn workers for type check performance ([#137](https://github.com/soutaro/steep/pull/137))
|
909
|
+
* Fix `check` and `signature` methods in Steepfile ([8f3e4c7](https://github.com/soutaro/steep/pull/137/commits/8f3e4c75b29ac26920f02294be06d6c68dbd4dca))
|
910
|
+
|
911
|
+
## 0.15.0 (2020-05-05)
|
912
|
+
|
913
|
+
* Add type checking configuration to dsl ([#132](https://github.com/soutaro/steep/pull/132))
|
914
|
+
* More flow sensitive type checking
|
915
|
+
|
916
|
+
## 0.14.0 (2020-02-24)
|
917
|
+
|
918
|
+
* Implementat LSP _completion_. ([#119](https://github.com/soutaro/steep/pull/119))
|
919
|
+
* Update ruby-signature. ([#120](https://github.com/soutaro/steep/pull/120))
|
920
|
+
* Rescue errors during `langserver`. ([#121](https://github.com/soutaro/steep/pull/121))
|
921
|
+
* Pass hint when type checking `return`. ([#122](https://github.com/soutaro/steep/pull/122))
|
922
|
+
* Remove trailing spaces from Steepfile. ([#118](https://github.com/soutaro/steep/pull/118))
|
923
|
+
|
924
|
+
## 0.13.0 (2020-02-16)
|
925
|
+
|
926
|
+
* Improve LSP _hover_ support. ([#117](https://github.com/soutaro/steep/pull/117))
|
927
|
+
|
928
|
+
## 0.12.0 (2020-02-11)
|
929
|
+
|
930
|
+
* Add `Steepfile` for configuration
|
931
|
+
* Use the latest version of `ruby-signature`
|
932
|
+
|
933
|
+
## 0.11.1 (2019-07-15)
|
934
|
+
|
935
|
+
* Relax activesupport versnion requirement (#90)
|
936
|
+
|
937
|
+
## 0.11.0 (2019-05-18)
|
938
|
+
|
939
|
+
* Skip `alias` nodes type checking (#85)
|
940
|
+
* Add experimental LSP support (#79. #83)
|
941
|
+
* Fix logging (#81)
|
942
|
+
|
943
|
+
## 0.10.0 (2019-03-05)
|
944
|
+
|
945
|
+
* Add `watch` subcommand (#77)
|
946
|
+
* Automatically `@implements` super class if the class definition inherits
|
947
|
+
* Fix tuple typing
|
948
|
+
* Fix `or` typing
|
949
|
+
|
950
|
+
## 0.9.0 (2018-11-11)
|
951
|
+
|
952
|
+
* Private methods (#72)
|
953
|
+
* `__skip__` to skip type checking (#73)
|
954
|
+
* Add `alias` for method types (#75)
|
955
|
+
* Fix `Names::Base#hash` (#69 @hanachin)
|
956
|
+
* Add `super` in method types (#76)
|
957
|
+
|
958
|
+
## 0.8.2 (2018-11-09)
|
959
|
+
|
960
|
+
* Fix ElseOnExhaustiveCase error implementation
|
961
|
+
* Add some builtin methods
|
962
|
+
|
963
|
+
## 0.8.1 (2018-10-29)
|
964
|
+
|
965
|
+
* Remove duplicated detected paths (#67)
|
966
|
+
|
967
|
+
## 0.8.0 (2018-10-29)
|
968
|
+
|
969
|
+
* Load types from gems (#64, #66)
|
970
|
+
* Fix exit status (#65)
|
971
|
+
* Fix `--version` handling (#57 @ybiquitous, #58)
|
972
|
+
* Add `Regexp` and `MatchData` (#58 @ybiquitous)
|
973
|
+
|
974
|
+
## 0.7.1 (2018-10-22)
|
975
|
+
|
976
|
+
* Rename *hash type* to *record type* (#60)
|
977
|
+
* Fix keyword typing (#59)
|
978
|
+
|
979
|
+
## 0.7.0 (2018-09-24)
|
980
|
+
|
981
|
+
* Add some builtin
|
982
|
+
* Fix array argument typing
|
983
|
+
* Allow `@type` instance variable declaration in signature
|
984
|
+
* Fix `@type` annotation parsing
|
985
|
+
* Fix polymorphic method type inference
|
986
|
+
* Fix relative module lookup
|
987
|
+
* Fix module name tokenization
|
988
|
+
|
989
|
+
## 0.6.0 (2018-09-23)
|
990
|
+
|
991
|
+
* Update ast_utils
|
992
|
+
* Introduce *hash* type `{ id: Integer, name: String }` (#54)
|
993
|
+
* Revise signature syntax; use `<` instead of `<:` for inheritance (#53)
|
994
|
+
* Interface and alias name can be namespaced (#52)
|
995
|
+
* Grammar formatting (#51 @iliabylich)
|
996
|
+
|
997
|
+
## 0.5.1 (2018-08-11)
|
998
|
+
|
999
|
+
* Relax dependency requirements (#49, #50)
|
1000
|
+
|
1001
|
+
## 0.5.0 (2018-08-11)
|
1002
|
+
|
1003
|
+
* Support *lambda* `->` (#47)
|
1004
|
+
* Introduce *incompatible* method (#45)
|
1005
|
+
* Add type alias (#44)
|
1006
|
+
* Steep is MIT license (#43)
|
1007
|
+
* Improved block parameter typing (#41)
|
1008
|
+
* Support optional block
|
1009
|
+
* Support attributes in module
|
1010
|
+
* Support `:xstr` node
|
1011
|
+
* Allow missing method definition with `steep check` without `--strict`
|
1012
|
+
|
1013
|
+
## 0.4.0 (2018-06-14)
|
1014
|
+
|
1015
|
+
* Add *tuple* type (#40)
|
1016
|
+
* Add `bool` and `nil` types (#39)
|
1017
|
+
* Add *literal type* (#37)
|
1018
|
+
|
1019
|
+
## 0.3.0 (2018-05-31)
|
1020
|
+
|
1021
|
+
* Add `interface` command to print interface built for given type
|
1022
|
+
* Add `--strict` option for `check` command
|
1023
|
+
* Fix `scaffold` command for empty class/modules
|
1024
|
+
* Type check method definition with empty body
|
1025
|
+
* Add `STDOUT` and `StringIO` minimal definition
|
1026
|
+
* Fix validate command to load stdlib
|
1027
|
+
* Fix parsing keyword argument type
|
1028
|
+
|
1029
|
+
## 0.2.0 (2018-05-30)
|
1030
|
+
|
1031
|
+
* Add `attr_reader` and `attr_accessor` syntax to signature (#33)
|
1032
|
+
* Fix parsing on union with `any`
|