Releases: beefytech/Beef
Releases Β· beefytech/Beef
0.43.5
- IDE tab pinning
- Added IDE startup panel
- Added Terminal and Console IDE panels
- IDE search in watch
- Improved DLL hot compiling
- '?' lambda capture specifier to auto-select copy or reference
- Added System.IParsable
- Added System.HashCode
- Added EnumParser that can handle enums with payloads
- Allow soft failure on const-encoding of comptime "prev" attribute instance data
- Added label support to 'fallthrough'
- 'const var' generic param constraint
- Allow const struct generic param constraints
- Smaller executables generated
- Generics can now be constrained by primitives
- Added a preprocessor check for project dependencies BF_DEPENDS_
- Package management (Git-only)
- Wasm improvements
- Build command: CopyToTarget
- Generic constructors
- Added IDE colorization options: Member, Local, Parameter
- Inline anonymous type declarations
- Anonymous subclass declarations in initializer blocks
- Initializer blocks in initializer statements
- TypeDeclaration support in comptime
- ZeroGap AllowAppend
0.43.4
- Added
System.RefCounted<T>
- Added
System.Collections.SplitList<T>
SoA container - Added
nameof
expression - Named arguments
append
fieldsusing
fields- Added
.InitAll
elemented initializer for sized arrays - Added
System.ITypedAllocator
andSystem.SingleAllocator
- Serialize IDE source file collapse state
- Bookmark IDE panel
0.43.3
0.43.2
- 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
0.43.1
0.43.0
- 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
0.42.8
- 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
0.42.7
- Dynamic boxing from System.Variant
decltype(val).MemberName
expressions- Scope moved outward for 'out' variable declaration
- Improvements to unassigned variable detection
- Added explicit "Test" project type
- Reflected interface method dispatch
- Interface filtering for distinct build options
- IDE file recovery after crash/power loss
- Better handling of merge conflict markers in source code
0.42.6
- 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
0.42.5
- 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