Skip to content

Releases: hlpdev/FutureBlitz

FutureBlitz 1.1.0

Choose a tag to compare

@github-actions github-actions released this 01 Nov 04:48
Immutable release. Only release title and notes can be modified.

FutureBlitz 1.1.0 adds build steps, which let a package generate its own code and data; Object, the type every Class's object converts to; and package tests that can see the package's Package members. To install or update, see Installing in the README.

The language

  • Object: every Class's object is an Object, a built-in Interface with no members. Code can keep any object, weakly too, as Weak<Object>, and turn it back into its Class with As? or As, to a Class type parameter too.
  • Built-in type names: Object, Task, Channel, Weak, and the language's other types' names aren't keywords. A type or Alias that a module declares or imports by one of them takes its place there. A Function or a Global of the name doesn't.
  • Tests: a package's tests (its tests/ folder and its files' @Tests) see its Package names, as its own files do, and so do its doc comments' examples. A prebuilt library's tests see what its interface file has.
  • Stack traces: a test's trace ends at the test, on the main thread or a worker.

Packages

  • A path and a version: a dependency can name both its folder and its version, as shapes = { path = "../shapes", version = "0.3" }. Builds use the folder, and the published package depends on the registry's version, which fb publish checks is there.
  • Build steps: [build] in project.toml names a program that fb build runs before it compiles the package. Its .fb files join the package as modules, and its other files are what Embed takes. It runs again only when what it read changes, one fb at a time, and it ends with the fb that runs it. The editor uses what the last build made. Building a package whose dependency has a [build] runs that dependency's program on your machine.
  • Publishing: fb publish builds the unpacked archive from the registry's packages, as everyone who adds the package will. --no-verify skips that.

The standard library

  • RealWait and Sleep wait to about a millisecond on Windows too.
  • A Vfs mount's file at a place cuts off what earlier mounts have there, and a later mount at or under it makes it a folder again, for every call alike.
  • File.WriteBytesAtomic and the other atomic writes replace a file that another handle has open on Windows.
  • Mat4.Perspective and Mat4.Orthographic refuse values that would make a matrix that isn't finite.
  • A TGA whose pixels end before its image does is an IOError, not an image of nothing.

The tools

  • fb build prints Running <package>'s build step for each step it runs.
  • The VS Code extension runs only in a trusted workspace, since the language server runs a package's build step.

FutureBlitz 1.0.1

Choose a tag to compare

@github-actions github-actions released this 31 Oct 04:52

FutureBlitz 1.0.1. See the README's Installing.

FutureBlitz 1.0.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 21:18

FutureBlitz 1.0.0. See the README's Installing.