Skip to content

Latest commit

 

History

History
276 lines (190 loc) · 15.2 KB

CHANGELOG.md

File metadata and controls

276 lines (190 loc) · 15.2 KB

CHANGELOG

master

1.1.1 (2021-03-12)

Signature updates

1.1.0 (2021-03-08)

Summary

Errors are now organized by RBS::BaseError, RBS::ParsingError, RBS::LoadingError, and RBS::DefinitionError. The library users can rescue RBS related errors with RBS::BaseError, parsing errors with RBS::ParsingError, and other errors with RBS::LoadingError and RBS::DefinitionErrors.

Updating a part of environments are supported. Library users can remove declarations read from a set of files, adding new declarations, running name resolution related to the new decls, and deleting DefinitionBuilder caches related to the changes. See RBS::Environment#reject, RBS::Environment#resolve_type_names, RBS::AncestorGraph, and RBS::DefinitionBuilder#update.

RBS::DefinitionBuilder#build_singleton now returns definitions containing instance type, which had returned resolved class instance types. This is a breaking change, but we consider it a bug fix because RBS::DefinitionBuilder#build_instance has returned instance types and #build_singleton has returned class type.

Signature updates

Language updates

  • Allow trailing comma for Record and Tuple types (#606)

Library changes

  • Allow partial update of RBS declarations (#608, #621)
  • Let errors have TypeName (#611)
  • Add Parser::LexerError (#615)
  • Performance improvement (#617, #620)
  • No substitute instance types on #build_singleton (#619)

Miscellaneous

  • Make racc name customizable by RACC environment variable (#602)
  • Suppress warnings (#624)
  • Remove needless Gem::Version polyfill (#622)

1.0.6 (2021-02-17)

1.0.5 (2021-02-13)

  • Signature Updates
  • Rename generic class parameters on re-open (#594)
  • Make refute_send_type check that method call doesn't match with types in RBS (#588)

1.0.4 (2021-01-31)

  • Unbundle rr to run test in ruby/ruby repo (#585)

1.0.3 (2021-01-28)

  • Set up #ancestors and #location of RecursiveAncestorError (#583)

1.0.2 (2021-01-28)

  • Signature Updates

1.0.1 (2021-01-27)

  • Signature Updates
  • Renew test sample code (#581)
  • Add description to generate:stdlib_test Rake task (#578)
  • Declare supported ruby version >= 2.6 (#548)
  • Fix module self-type override (#577)
  • Fix parser to support all operator symbols (#550)
  • Migrate from Minitest to Test::Unit (#556)
  • Fix type alias parsing (#565)
  • Support end-less method definition in prototype rb (#561)
  • Support method argument forwarding in prototype rb (#560)

1.0.0 (2020-12-24)

  • Signature updates for URI, IO, File, Pathname, Module, and Time (#529, #521, #520, #511, #517, #542, #546, #540, #538)
  • rbs prototype runtime generates extends (#535)
  • rbs prototype runtime stability improvements (#533, #526)
  • rbs prototype rb compatibility improvements (#545)
  • Implement method names escape in RBS::Writer (#537)
  • Improve runtime type checker compatibility (#532, #528, #547)
  • Fix ruby2_keywords for Proc in Ruby <2.7 (#513)
  • Better compatibility for record type attribute names (#525, #524)
  • Let module self-types be classes (#523)
  • Delete extension syntax (#543)
  • Method resolution improvements about alias and .new (#522, #519, #516)
  • Better message for DuplicatedMethodDefinitionError (#539)

0.20.1 (2020-12-06)

  • Make the order of RBS load reproducible (#508)

0.20.0 (2020-12-06)

  • Signature updates for TSort, DBM, Time, and Hash (#496, #497, #499, #507)
  • Add singleton attribute syntax (#502, #506, #505)
  • Proc types with blocks (#503)
  • Add support for escape sequences in string literal types (#501)
  • Fix runtime type checking of blocks with keyword args (#500)

0.19.0 (2020-12-02)

  • Signature updates for Monitor and File (#485, #495)

0.18.1 (2020-12-01)

  • Fix EnvironmentWalker#each_type_name (#494)

0.18.0 (2020-12-01)

  • Signature updates for YAML, ObjectSpace, and Singleton (#408, #477, #482)
  • prototype rb improvements (#492, #487, #486, #481)
  • Runtime type checker improvements (#488, #489, #490)
  • Update DependencyWalker API to receive Node objects instead of TypeName (#484)
  • Assume encoding of RBS files to be UTF-8 (#493)

0.17.0 (2020-11-14)

  • Signature updates for Enumerable, Hash, and TSort (#462, #468, #471, #472, #473, #474)
  • Parser error handling improvement (#463, #475)
  • Hash spread syntax handling improvement with prototype rb (#465)

0.16.0 (2020-11-05)

  • Signature update for DBM (#441)
  • RBS repository (#405)
  • Support alias in rbs prototype rb (#457)

0.15.0 (2020-11-02)

  • Signature updates for Kernel, PStore, Enumerable, and Array (#450, #443, #438, #437, #433, #432)
  • Add helper interfaces (#434, #428)
  • Change bool type semantics (#456)
  • Support alias in rbs prototype rb (#457)
  • Runtime testing improvements (#455, #447, #444, #431)
  • Fix proc type parsing (#451)
  • Fix type variable parsing (#442)

0.14.0 (2020-10-17)

  • Allow keyword names ending with ? and ! (#417)
  • Make Range[T] covariant (#418)

0.13.1 (2020-10-09)

  • Fix test for CI of ruby/ruby (#412)

0.13.0 (2020-10-09)

  • Signature updates for URI classes.
  • Fix tests (#410)
  • Add --silent option for rbs validate (#411)

0.12.2 (2020-09-17)

  • Minor signature update for pty
  • Fix PTY stdlib test

0.12.1 (2020-09-16)

This version is to improve Ruby 3 testing compatibility. Nothing changed for users.

0.12.0 (2020-09-15)

  • Signature updates for forwardable, struct, set, URI::Generic, URI::File, and BigDecimal.
  • Define .new methods from initialize included from modules #390

0.11.0 (2020-08-31)

  • Signature update for date/datetime #367
  • Add test double support for runtime type checker #380
  • Add rbs test command for runtime type checking #366
  • Fix runtime type checking for record types #365
  • Improve EnvironmentLoader API #370
  • Allow overloading from super methods #364

0.10.0 (2020-08-10)

  • Signature update for Zlib
  • Make "no type checker installed" message a debug print #363
  • Print ... for overloading method definitions #362
  • Allow missing method implementation in Ruby code #359
  • Runtime testing improvements #356

0.9.1 (2020-08-04)

  • Ensure using Module#name #354
  • Fix runtime test setup #353

0.9.0 (2020-08-03)

  • Fix signature validation #351, #352
  • Parsing performance improvement #350

0.8.0 (2020-08-01)

  • Signature updates for Enumerator and PTY
  • Fix prototype rb/rbi error handling #349
  • Runtime test improvements #344, #343
  • Add ... syntax #342

0.7.0 (2020-07-20)

  • Add DefinitionBuilder#one_instance_ancestors and DefinitionBuilder#one_singleton_ancestors #341
  • Bug fix in ConstantTable #340
  • Make rbs validate faster #338
  • Dedup methods generated by rbs prototype rb #334

0.6.0 (2020-07-12)

  • Signature update for Logger.
  • Clean Environment#inspect. #331
  • Module self type syntax update. #329
  • Better validation. #328
  • Parser performance improvement. #327
  • Runtime type checking performance improvements with sampling #323

0.5.0 (2020-07-04)

  • Signature updates for Mutex_m, IO, and Enumerable.
  • Syntax update. #307
  • AST command prints absolute type names with file name filtering. #312
  • Improve CLI message. #309

0.4.0 (2020-06-15)

  • Signature update for Fiber, Encoding, and Enumerator.
  • Fix syntax error for underscore and ! ? #304
  • Improved return type inference in rbs prototype rb #303
  • Skip anonymous modules/classes in rbs prototype runtime #302
  • Fix --require-relative option in rbs prototype runtime #299
  • Add JSON schema for rbs ast #295

0.3.1 (2020-05-22)

  • Fix constant resolution again #289

0.3.0 (2020-05-20)

  • Fix constant resolution #288

0.2.0

  • The first release of RBS gem.

0.1.0

  • Version 0.1.0 is the original rbs gem and it is different software from RBS.