Skip to content

Releases: roblox-csharp/roblox-cs

2.0.0-pre10

03 May 18:47
26d98c0

Choose a tag to compare

What's Changed

  • Made constructors local function (#62)
  • Only classes with instance-level members use metatables (#66)
  • Fixed event callback referencing it's own connection incorrectly (#52)
  • Transform primary constructors into explicit constructors (#61)
  • Wrap non-static methods passed as arguments with an anonymous function (#50)
  • Fixed unexpected :s in member accesses (#68)
  • Automatically call entry point methods
  • Only generate members of runtime type info that are actually used within the code
  • Removed redundant default value assignments for fields/properties
  • Discard unused return values from macros
  • Basic CLI & transpilation pipeline
  • Many fixes

Full Changelog: 2.0.0-pre9...2.0.0-pre10

2.0.0-pre9

26 Apr 05:18
44a4ae7

Choose a tag to compare

What's Changed

  • Support (basic) for HashSet<T> (#60)
  • Support for method overloading (#57)
  • Disallowed inheriting from types that use macros (#55)
  • Inline enums (#65)
  • Inline all constant symbols
  • Support for sizeof()
  • Support for LuaTuples
  • Removed some useless reflected runtime type info
  • Automatically include using System.Collections;
  • Other fixes

Full Changelog: 2.0.0-pre8...2.0.0-pre9

2.0.0-pre8

25 Apr 02:47
ac4720c

Choose a tag to compare

What's Changed

  • Support for iterating over an IEnumerator<T> (#63)
  • Support for generator methods (#56)
  • Support for custom object creation initializers (that aren't collections) (#59)
  • Macro for List.RemoveAt()
  • Disallowed unsupported macro'd constructor overloads
  • Many unit tests
  • Many fixes including
    • where clauses in LINQ expressions
    • String concatenation
    • A handful of List macros

Full Changelog: 2.0.0-pre7...2.0.0-pre8

2.0.0-pre7

23 Apr 03:25
48ff614

Choose a tag to compare

What's Changed

  • Support for custom metadata attributes
[MyMetadata]
interface MyInterface;

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface)]
class MyMetadataAttribute : Attribute; // no class members allowed
  • Support for Type.GetProperties()
  • Attribute info in Type info tables
  • Macros for IEnumerable.FirstOrDefault() and IEnumerable.LastOrDefault()
  • Support for group..by and orderby in LINQ expressions
  • Many fixes

Full Changelog: 2.0.0-pre6...2.0.0-pre7

2.0.0-pre6

22 Apr 06:43
5e0dadd

Choose a tag to compare

What's Changed

  • New node hoister, now it actually works
  • Reworked conditional access emit
  • Generate default values for fields/properties (regular variables still need this)
  • Only add one to indexes that are C# integer types
  • Automatically import System.Collections.Generic and System.Linq
  • Macro event invocations (event.Invoke()) to event:Fire()
  • Macro Instance methods that take type argument in place of an instance class name
  • New IEnumerable<T> macros
    • Count()
    • First()
    • Last()
    • ElementAt()
    • ElementAtOrDefault()
    • Append()
    • Prepend()
    • Concat()
    • Intersect()
    • Distinct()
    • ToArray()
    • ToList()
    • ToDictionary()
    • GetEnumerator()
  • Fixed function type parsing from type path
  • Fixed class field/property/method accessing
  • Fixed LINQ expression emit
  • Fixed type arguments on calls being emitted
  • Fixed Luau assignments being expressions by @denispionicul in #47

Full Changelog: 2.0.0-pre5...2.0.0-pre6

2.0.0-pre5

20 Apr 02:35
4ff9409

Choose a tag to compare

What's Changed

  • Basic LINQ expressions from/select/where/into
  • Macro list.Count to #list
  • Type cast generation
  • Fix prereqs outside of blocks by @denispionicul in #43
  • Fix duplicate identifier handling by @R-unic in #23
  • Other fixes

Full Changelog: 2.0.0-pre4...2.0.0-pre5

2.0.0-pre4

18 Apr 01:47
317293f

Choose a tag to compare

What's Changed

  • Macro member accesses on Services (to :GetService() calls)
  • Declaration pattern support (x is Type newName)
  • Fixes/improvements

Full Changelog: 2.0.0-pre3...2.0.0-pre4

2.0.0-pre3

17 Apr 19:37
734a7fc

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 2.0.0-pre2...2.0.0-pre3

2.0.0-pre2

13 Jan 22:35
83292e1

Choose a tag to compare

The foundation for roblox-cs 2.0.0. Supports basic code.

What's Changed

Full Changelog: 2.0.0-pre1...2.0.0-pre2

2.0.0-pre1

06 Jan 04:08
03adab2

Choose a tag to compare

The foundation for roblox-cs 2.0.0. Supports basic code.

What's Changed

  • fix(nuget): package source mapping by @glomdom in #16
  • chore: upgrade all projects to .NET 9 by @glomdom in #17
  • Add Enums, fix repeat not adding a new line after rendering. by @denispionicul in #18

New Contributors

Full Changelog: https://github.com/roblox-csharp/roblox-cs/commits/2.0.0-pre1