Skip to content

Releases: Kampfkarren/selene

[0.14.0] - 2021-07-07

07 Aug 10:11
Compare
Choose a tag to compare

Added

  • Added task library to Roblox standard library.

Changed

  • mismatched_arg_count now tries to find the best overlap between multiple definitions, rather than ignoring them entirely. This means that if you have f(a) and f(b, c) defined, then calling f(1, 2, 3) will now lint instead of silently passing, since no definition provided meets it.
  • mismatched_arg_count now shows all function definitions, rather than the local variable assignment. (#259)

Fixed

[0.13.0] - 2021-07-01

02 Jul 03:23
Compare
Choose a tag to compare

Added

  • Added debug.info to the Roblox standard library. (#260)
  • Tokenization errors now form rich diagnostics.

Changed

  • Updated internal parser.
  • Optimized linting process to run better with multiple threads.

Fixed

  • Fixed internal selene panics exiting with a zero code. Panics will now exit with status code 1, allowing it to be picked up by CI.
  • Fixed variables named self not showing as unused if allow_unused_self was enabled. The implicit self variable being unused will still respect this configuration. (#215)

[0.12.1] - 2021-05-26

26 May 23:54
Compare
Choose a tag to compare

Fixed

  • Fixed compile warning about unused variables.

[0.12.0] - 2021-05-26

Added

  • arg is now defined in the Lua 5.1 standard library.
  • Root level ... will no longer be declared an undefined variable.
  • Using ... past the first depth will now error with undefined_variable, as it is guaranteed improper code.
  • You can now combine a function with fields inside standard libraries. This is useful for something like expect() and expect.extend().
  • Added mismatched_arg_count lint which will lint against too many arguments passed to calls for locally defined functions.
  • Added duplicate_keys lint for checking keys defined more than once inside a table.

Fixed

  • Fixed a bug where some indexes of Roblox structures would fail (such as workspace.CurrentCamera.ViewportSize.X)
  • Fixed a bug where chaining roblox with another standard library would not read the other standard library if roblox was being generated.
  • Fixed a bug where 0.5 * x would always resolve to a number.

Changed

  • Updated internal parser. This has shown in practice to catch lints that the previous version did not.

[0.11.0] - 2021-01-04

05 Jan 05:13
Compare
Choose a tag to compare

Added

  • Added support for DateTime in the Roblox standard library.
  • Added support for table.clear in the Roblox standard library.

[0.10.1] - 2020-12-22

23 Dec 04:12
Compare
Choose a tag to compare

Fixed

  • Fixed regressions related to numeric for loops.

[0.10.0] - 2020-12-21

21 Dec 08:27
41330a3
Compare
Choose a tag to compare

[0.10.0] - 2020-12-21

Added

  • Added inline lint filtering, read the documentation for more information.
  • More errors now set the exit code.
  • Added support for error({any}) to the Roblox standard library.
  • Added initial support for Lua 5.3 in the "lua53" standard library:
    • New function string.pack
    • New function string.unpack
    • New function string.packsize
    • New optional arg for math.log

Changed

  • UDim.new and Region3int16.new no longer require parameters.
  • UDim2.fromOffset and UDim2.fromScale now require you to use UDim.new if no parameters are specified.
  • Updated full-moon, read the full-moon changelog to learn more.

[0.9.2] - 2020-11-06

07 Nov 00:09
Compare
Choose a tag to compare

[0.9.2] - 2020-11-06

Changed

[0.9.1] - 2020-11-04

05 Nov 06:36
Compare
Choose a tag to compare

This is the last version to be supported by 1.0.1 of the VS Code extension. Upgrade to 1.0.2 for future support.

[0.9.1] - 2020-11-04

Fixed

  • Fixed --display-style=json giving an output incompatible with previous tooling.

[0.9.0] - 2020-11-04

Added

  • Arguments that aren't required can now be filled with nil.
  • Added support for math.round to the Roblox standard library.
  • Added support for CFrame.lookAt to the Roblox standard library.

Changed

  • setmetatable no longer requires a second argument.
  • allow_unused_self is now toggled on for unused_variable by default.
  • Updated local Roblox reflection for more up to date instances.

Fixed

  • Using a function call as the last argument in a function will silence lint for not passing enough parameters. This means, for example, math.max(unpack(numbers)) will no longer error.
  • Using an ellipsis on the right side of unbalanced assignments no longer lints.

[0.8.0] - 2020-08-24

24 Aug 14:27
Compare
Choose a tag to compare

[0.8.0] - 2020-08-24

Added

  • Added support for os.clock.
  • Added RaycastParams.new.
  • Added support for string.pack, string.packsize, and string.unpack to the Roblox standard library.
  • Added lint compare_nan to guard against comparing directly to nan (e.g. x ~= 0/0).
  • Add lint bad_string_escape to guard invalid or malformed string escape sequences.

Fixed

  • Fixed coroutine.yield only accepting coroutines as a first argument.

[0.7.0] - 2020-06-08

09 Jul 06:37
Compare
Choose a tag to compare

[0.7.0] - 2020-06-08

Added

  • Added support for continue, compound assignments (+), intersectional types, and numbers with underscores under the roblox feature flag.

Fixed

  • Fixed several parse errors with numbers.

Changed

  • Removed types from debug.traceback arguments in the Lua 5.1 standard library
  • Made 4th argument to CFrame.fromMatrix optional (#113)
  • Made standard library aware that functions and ... can return multiple values