Beef IDE Changelog

What's new in Beef IDE 0.43.4

Sep 8, 2022
  • Added System.RefCounted<T>
  • Added System.Collections.SplitList<T> SoA container
  • Added nameof expression
  • Named arguments
  • append fields
  • using fields
  • Added .InitAll elemented initializer for sized arrays
  • Added System.ITypedAllocator and System.SingleAllocator
  • Serialize IDE source file collapse state
  • Bookmark IDE panel

New in Beef IDE 0.43.3 (Jun 20, 2022)

  • File-scoped namespaces
  • Multi-$ string interpolation
  • Embedded emit views in IDE
  • Better high refresh rate support in IDE
  • Formatting options in IDE
  • isconst(expr)
  • [ConstSkip] on blocks
  • Added prebuilt JEMalloc and TCMalloc libs

New in Beef IDE 0.43.2 (Apr 4, 2022)

  • Upgrade to LLVM 13.0.1
  • Code file generator replacing "New Class…"
  • Comptime file IO and process spawning
  • Added CPU usage to profiler thread list
  • Arithmetic overflow checks
  • Sized array params
  • Generic conversion operator overloads
  • Support for const string generic params
  • Partial explicit method generic args with … and ?
  • Comptime IOnFieldInit
  • Bitfields
  • Static local methods and variables
  • Const string interpolation
  • @this delegate reference in lambda bodies
  • Delegate equality improvements, hashable, == operator
  • Comptime custom attributes
  • IDE Collapsible regions

New in Beef IDE 0.43.1 (Nov 23, 2021)

  • Field dtor support for auto-properties
  • Overflow operators (&-, &+, &*)
  • Ranges (ie: for (int a in 0..<count) for (int i in 1…10))
  • offsetof(T, Member)
  • IDE support for TrueType collections

New in Beef IDE 0.43.0 (Feb 23, 2021)

  • Compile-time function evaluation
  • Compile-time code generation
  • AlwaysIncludeUser property in AttributeUsage
  • Initializer expression '.{ x = 1, y = 2}'
  • Argument cascades 'UseString(val.ToString(.. scope .()));'
  • Auto-constructor 'struct Vec : this(float x, float y);'
  • Lambda return type inference
  • Ref for params in operator overloads
  • 'in' parameters
  • Improved C VarArg compatibility

New in Beef IDE 0.42.8 (Dec 10, 2020)

  • Updated LLVM to 11.0
  • String interpolation
  • Address-of immutable is now a warning instead of error
  • Internal protection, accessed with using internal name; where name is a namespace or type name
  • Initializer blocks this { … }
  • Operator precedence changed to match C#/C++
  • Improved extension support
  • 'enum' and 'interface' constraints
  • Format on Save in IDE

New in Beef IDE 0.42.6 (Sep 11, 2020)

  • Start of SIMD libraries
  • alloctype(T)
  • Made method mutability part of signature and method selection
  • Support for non-static ++ and -- operator overloads
  • Out parameter discard ?
  • ??= operator
  • Diagnostics panel added to IDE
  • Reflection settings added to Distinct Build Options
  • IDE theme support
  • Ctrl+Tab recent file list
  • IDE support for Move Line/Statement

New in Beef IDE 0.42.5 (Jun 29, 2020)

  • Expanded custom attribute support with reflection
  • Support for interface extensions
  • Reflection includes custom attributes for types and methods
  • Support for renaming labels and namespaces
  • 'using static'
  • Extension methods
  • Added option to turn off Ctrl+Arrow for autocomplete
  • Improved backend speed for very large methods
  • Added sized-array size inference with '?'
  • Improved global static sized array initialization
  • More key char combos in editor
  • Mouseover property evaluation
  • Added strict equality operators === and !==
  • Added initializer expressions

New in Beef IDE 0.42.3 (Apr 30, 2020)

  • Fixed installer crash
  • Fixed crash removing project from workspace
  • Fixed issue opening samples on non-English systems
  • Various other fixes
  • Added null conditional operator overloading - implemented in Result
  • Renamed System.Collections.Generic to System.Collections
  • Added ICollection

New in Beef IDE 0.42.2 (Apr 18, 2020)

  • Error panel, error icon in lower left
  • Fixed data cycle crash for payload enums
  • Fixed project creation where name doesn’t match directory
  • Fixed “-run” crash with empty project
  • Added “-generate” option to BeefBuild
  • Added compound assignment operator overloads (ie: +=)
  • Support for C-style varargs
  • Fixed function inliner
  • Added support for uninitialized ctors (this(?), base(?))
  • ‘internal’ protection removed
  • Added Quick Info key
  • Added MD5 source file hashes
  • Ctrl+click to go to definition

New in Beef IDE 0.42.1 (Apr 18, 2020)

  • Improved cross-compilation capabilities
  • Optimizations for debug allocator GC
  • Added support for operator constraints
  • Added allocation alignment override attributes
  • Expanded lambda capture list support to include specific variable names
  • Improved nullable capabilities, including operators

New in Beef IDE 0.42 (Jan 21, 2020)

  • Improved cross-compilation capabilities
  • Added macOS, iOS, and Android build targets
  • Optimizations for debug allocator GC
  • Added support for operator constraints
  • Added allocation alignment override attributes
  • Expanded lambda capture list support to include specific variable names
  • Improved nullable capabilities, including operators