Skip to content

Releases: Kampfkarren/selene

[0.28.0] - 2025-01-09

14 Jan 03:06
Compare
Choose a tag to compare

Added

  • Added Path2DControlPoint.new, Content.fromUri, Content.fromAssetId, and Content.fromObject to the Roblox standard library
  • Adds lua_versions to standard library definitions. Specifying this will only allow the syntax used by those languages. The default standard libraries now specify these, meaning that invalid syntax for that language will no longer be supported.
  • Added missing third parameter to PathWaypoint.new in the Roblox standard library
  • Added vector library to Luau standard library
  • Added math.map to the Luau standard library

Changed

  • Upgrades to full-moon 1.0.0, which should provide faster parse speeds, support for multiple parsing errors at the same time, and support for some new Luau syntax.

[0.27.1] - 2024-04-28

28 Apr 20:11
Compare
Choose a tag to compare

Fixed

  • Fixed Instance.new's second parameter being incorrectly marked as required.

[0.27.0] - 2024-04-28

28 Apr 18:59
Compare
Choose a tag to compare

Added

  • Added CFrame.lookAlong to the Roblox standard library
  • Added deprecated config field to standard library function parameters

Changed

  • Updated the warning message for the mixed_table lint to include why mixed tables should be avoided
  • Properly deprecated Instance.new's second argument in the Roblox standard library

[0.26.1] - 2023-11-11

11 Nov 23:53
Compare
Choose a tag to compare

Fixed

[0.26.0] - 2023-11-11

11 Nov 23:23
Compare
Choose a tag to compare

Added

  • Added table.move and math.tointeger to Lua 5.3 standard library
  • Added bit32.* functions to Lua 5.2 standard library
  • Added table.pack, rawlen and package.config to Lua 5.2 standard library
  • Added new empty_loop lint, which will check for empty loop blocks.
  • Added new roblox_suspicious_udim2_new lint, which will warn when you pass in too few number of arguments to UDim2.new.
  • roblox_incorrect_roact_usage now lints for illegal Name property
  • Added ignore_pattern config to global_usage, which will ignore any global variables with names that match the pattern
  • roblox_incorrect_roact_usage now checks for incorrect Roact17's createElement usage on variables named React. For Roact17 only, key, children, and ref are valid properties to Roblox instances.
  • Excludes are now respected for single files.
  • Added no-exclude cli flag to disable excludes.
  • When given in standard library format, additional information now shows up in incorrect_standard_library_use missing required parameter errors.
  • Added new mixed_table lint, which will warn against mixed tables.
  • Added bit32.byteswap to Luau standard library
  • Added buffer library to Luau standard library
  • Added SharedTable to Roblox standard library

Changed

  • Updated internal parser, which includes floor division (//), more correct parsing of string interpolation with double braces, and better parsing of \z escapes.

Fixed

  • string.pack and string.unpack now have proper function signatures in the Lua 5.3 standard library.
  • Moved math.log second argument addition from Lua 5.3 std lib to 5.2 std lib
  • undefined_variable now correctly errors when defining multiple methods in undefined tables
  • Corrected os.exit definition in Lua 5.2 standard library
  • Fixed manual_table_clone incorrectly warning when loop and table are defined at different depths

New Contributors

Full Changelog: 0.25.0...0.26.0

[0.25.0] - 2023-03-12

13 Mar 00:23
Compare
Choose a tag to compare

Added

  • Added CFrame.fromEulerAngles to the Roblox standard library.
  • Added validate-config command, which will report any errors in your configuration.
  • Added capabilities command, which will report the feature set of the selene installation. This is useful for consumers like the VS Code extension.

Changed

  • Unknown keys in configuration files are accepted less often now.
  • Updated internal parser, supporting Chinese characters better.

Fixed

  • "Legacy" Roblox enums (such as Enum.RaycastFilterType.Whitelist/Blacklist) are now automatically created and marked as deprecated in generated standard libraries.
  • Fixed a bug where manual_table_clone would incorrectly lint code in loops. (#479)

[0.24.0] - 2023-01-10

10 Jan 09:04
Compare
Choose a tag to compare

Added

  • Added new manual_table_clone lint, which will catch manual re-implementations of table.clone in Luau.
  • Added filename field to diagnostic message labels in JSON output, indicating for which file the message was generated (#453)

Changed

  • Improved the error message for using a standard library that can be detected as outdated.
  • Updated internal parser, giving support for string interpolation for Luau and fixing some parsing bugs.

Fixed

  • Fixed "library" being typo'd as "libary" in the error when finding a usage.

[0.23.1] - 2022-12-06

07 Dec 05:05
Compare
Choose a tag to compare

Fixed

  • Fixed event warnings not being possible to filter out with roblox_incorrect_roact_usage.

[0.23.0] - 2022-12-06

07 Dec 03:11
Compare
Choose a tag to compare

Added

  • Added --display-style=json2, which gives the same outputs as --display-style=json, but with an extra type field so that it can support more than diagnostics. Extensions should move over to --display-style=json2 as more becomes available for it, but take care to check for type. Currently the only possible value is "Diagnostic".
  • Added rawlen to the Luau standard library.
  • Added Font.fromEnum, Font.fromName, and Font.fromId to the Roblox standard library.
  • Added the missing table.foreachi function to Lua 5.1 standard library as deprecated.

Fixed

  • warn in the Roblox standard library now properly works with all data types instead of only strings.

[0.22.0] - 2022-10-15

15 Oct 22:02
0c631d5
Compare
Choose a tag to compare

Added

  • Added --allow-warnings option to have selene pass when only warnings occur.
  • Added the ability to allow specific patterns in the deprecated lint.
  • Added exclude option to selene.toml for excluding files from lints.
  • Adds support for .yaml extensions to be used for standard libraries alongside .yml.
  • Normalized "lint" terminology over "rule" throughout codebase. "rules" in selene.toml should now be "lints", but "rules" will still be supported for backwards compatibility.

Changed

  • Updated internal parser, giving substantial parsing speed increases.

New Contributors

  • @guidojw made their first contribution in #428
  • @kyojindev made their first contribution in #425
  • @sisco0 made their first contribution in #441
  • @sno2 made their first contribution in #444