Changelog
What each release of FutureBlitz changed, newest first.
FutureBlitz 1.0.0
The first stable release, of the language, its standard library, and its tools.
The language
- Values and types: sized integers,
FloatandDouble,Bool,Char,String, tuples, arrays, Maps, and ranges, with types inferred from values. - Your own types: Structs, which are values, and Classes, which are references, with Properties, inheritance, Interfaces with default Methods, Enums, Operators, and Extend.
- Null safety: a type that can be Null says so, and the compiler checks it before it’s used.
- Memory: reference counting, with no garbage collector, Weak references, Defer, and leak reports in debug builds.
- Errors: Throws, Try, Catch, and Finally, and panics with stack traces of FutureBlitz’s own names and lines, in release builds too.
- Generics: generic Functions and types, constraints, inference, and defaults, compiled for each use.
- Concurrency: Spawn and Task, Parallel For, Channel, Mutex, and Atomic, Sendable and Shared Class, Async and Await, and coroutines with schedulers; the compiler stops data races between threads.
- Modules and packages: one module a file, Import and From, Public, Package, and Private, and project.toml.
- C interop: Extern blocks,
@CLayoutStructs, callbacks, pointers in Unsafe code, and native libraries in project.toml. - Compile-time code: Consts, attributes, reflection,
#If, and Embed.
The standard library
More than 200 modules, written in FutureBlitz and documented from their own doc comments, in twelve areas: core, collections, text, data formats, files and streams, networking and HTTP, concurrency, math, time, crypto and compression, images and the terminal, and the OS and processes. The C libraries they’re built on link in statically.
The tools
- fb:
new,check,build,run,test,fmt,doc, andbindgen, andadd,update,search,publish,yank,owner,login, andlogoutfor packages. - Builds: native executables through LLVM, linked by fb’s own lld, for Windows on x64, and macOS and Linux on x64 and arm64. Windows and Linux need no C compiler; macOS needs Apple’s Command Line Tools, for its SDK.
- The formatter: one style, with the line width the only setting.
- Tests:
@TestFunctions, std.test’s Expect, and doc comments’ examples run as tests. - Docs:
///and//!doc comments in Markdown, andfb doc’s JSON of a package’s API. - Debugging: debug info for any debugger, and VS Code debugging through CodeLLDB.
- Editors: the VS Code extension, and fb’s language server for every other editor.
- Packages: futureblitz.dev’s registry, fb.lock, other registries and mirrors, and trusted publishing from GitHub Actions.
- Installing: winget, Homebrew, apt, dnf, installers, and install scripts, on the download page.
Report an issue with this page or with FutureBlitz on GitHub.