Skip to main content

5 posts tagged with "Release"

View All Tags

· 2 min read
fireboltofdeath

Change Log

@flamework/core @flamework/components @flamework/networking rbxts-transformer-flamework

Additions

Core

  • Fixed the constructor field always being undefined on decorator descriptors.

Networking

  • Fixed a bug where Flamework would always create both a reliable and unreliable remote.

Transformer

  • Reflection support for roblox-ts decorators.
  • Added support for nominal fields in guard generation.
    • This means types like string & { _nominal_mynominalfield: never } will become just t.string
  • Fixed bug that triggered a diagnostic when extending a user macro class.
  • Fix crash when generating guards with an unknown field.

· 2 min read
fireboltofdeath

Change Log

@flamework/core @flamework/components @flamework/networking rbxts-transformer-flamework

Additions

Core

  • Updated @rbxts/t to latest

Components

Networking

  • Networking now supports unreliable remote events
  • Networking now supports namespaces
  • Generated event names are now shuffled to avoid const-matching.
  • Flamework no longer erases symbol information on events, so Find All References and similar tools will now function properly.
  • The networking module was rewritten. The behavior should be mostly the same, but there are some small differences.
    • The way remotes are created is now different.
    • Guards are now implemented as a middleware, which means event.predict/function.predict will now be affected by guard checking.

Transformer

  • buffer, OverlapParams and FloatCurveKey are now supported by guard generation.
  • Improved emit for user macro objects by omitting fields that result in undefined.

· 7 min read
fireboltofdeath

Change Log

Flamework is finally entering its long overdue v1.0.0, and along comes with a plethora of changes.

There have been many breaking changes made to ensure the longevity of Flamework and you should read all of these changes before migrating to v1.0.0.

A migration guide detailing the larger changes has been included here but it is still recommended that you read the full release notes.

@flamework/core @flamework/components @flamework/networking rbxts-transformer-flamework

This release contains breaking changes.

Breaking Changes

Packages that depend on Flamework v1.0.0-beta will not be compatible with Flamework v1.0.0 projects.

Transformer

  • Flamework decorators are now evaluated in the opposite order (bottom -> top) to match TypeScript behavior.

Core

  • Flamework decorators now support abstract classes.
  • Improved glob support
  • The @External() decorator has been renamed to @Optional() to better communicate intent.
  • The Flamework.registerExternalClass function has been renamed to Flamework.includeOptionalClass.
    • It is no longer necessary to explicitly include optional singletons, if they are part of your game's dependency graph.
  • Reflect.metadata, Reflect.objToId and Reflect.decorators are no longer exposed.
  • Flamework.Testing was removed.
  • Flamework.isInitialized, Flamework.flameworkConfig have been removed.
  • Flamework.ignite() no longer accepts a config object.
  • Modding.Generic and Modding.Caller have been renamed to Modding.GenericMany and Modding.CallerMany respectively.
    • The new Modding.Generic and Modding.Caller types are able to fetch individual metadata rather than an object containing metadata.
  • Flamework.hash now uses type arguments, such as Flamework.hash<"text", "context">()
  • Dependency(T) syntax has been removed in favor of Dependency<T>() for the sake of consistency.

Components

Networking

Additions

Core

Components

Networking

  • Networking configuration refactor
  • Improved networking handlers
  • Removed type-based symbol obfuscation, which avoids a common roblox-ts bug with incremental mode.
  • Networking is now mocked in edit mode to support use cases like UI stories.
  • Server config and generated type guards are no longer exposed to the client by default.

Transformer

  • Improved stability, all builtin Flamework macros have been converted to use the user macro machinery.
  • Added guard generation support for the Font datatype. I know, you're welcome.
  • User macros now support union parameters, to optionally generate metadata.
  • Modding.Many user macro types can now be nested.
  • Fixed some incorrect node factory functions, which caused Flamework to erase certain tokens are generated emit.

· One min read
fireboltofdeath

Change Log

This is a maintenance update containing bug fixes, performance improvements and usability improvements.

@flamework/core @flamework/components @flamework/networking rbxts-transformer-flamework

Transformer

  • Fixed macros not transforming inside decorators and specialized decorator fields.
  • Improved type guard generation errors and added elaboration for some types.

Core

  • Improved performance for OnTick, OnPhysics and OnRender lifecycle events by recycling threads.

Components

  • Improved component warnings.
    • Component warnings now include the component class name and no longer includes the component identifier.
    • You can now click on the instance name (note, not the path) to travel directly to that instance.

Networking

  • Added an option to warn on failed requests.
    • This can be enabled/disabled using the warnOnInvalidGuards in your networking configuration.
    • By default, warnOnInvalidGuards is enabled only in Studio.

· 4 min read
fireboltofdeath

Change Log

Flamework will begin releasing packages with matching versions. You should use the same version for every Flamework package.

@flamework/core @flamework/components @flamework/networking rbxts-transformer-flamework

This release contains breaking changes.

Transformer

  • TypeScript is now a peer dependency.
  • Flamework will user the correct parameter length for user macros where it previously didn't (such as tuple rest parameters.)
  • delete expressions will now work on component attributes.
  • Improved union simplification for literal guard generation.
    • All literal guards will combine to a single guard, e.g 1 | 2 will no longer become t.union(t.literal(1), t.literal(2))

Core

  • Added a profiling option to flamework.json to enable memory categories and microprofiler labels.
  • Advanced user macros

Components

  • Added doc comments to all component methods, also removed unnecessary overloads.
  • Added waitForComponent API to wait until a component is added to a specific instance.
  • Components will now warn whenever a component could not be created for 5+ seconds.
    • You can define warningTimeout in your component settings to override the time, set to 0 to disable.
  • Added the ability to whitelist/blacklist specific ancestors.
    • These can be specified using ancestorWhitelist and ancestorBlacklist in your component settings.
    • [BREAKING] Defaults to ancestorBlacklist: [ServerStorage, ReplicatedStorage]
    • [BREAKING] This does not update when components are reparented.

Networking

  • Fixed an error whenever NaN was sent as an ID.