NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #4465 most downloaded on pub.dev
Portable multi-language VM: parse, run and translate Dart, Java, Kotlin, Go, C#, JavaScript, TypeScript, Lua and Python — with on-the-fly Wasm compilation and MCP/LSP servers.
Last release 28 days ago
09 Sep 2026
Ships unpredictably
gaps range from 8 days to 2.1 years
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
159 releases · first in 2021
ApolloVMNullPointerException and ApolloVMCastException now extends ApolloVMRuntimeError.
ApolloVMNullPointerException and ApolloVMCastException now extends ApolloVMRuntimeError.StateError while executing to ApolloVMRuntimeError.ApolloCodeUnitStorage:
ApolloSourceCodeStorage, ApolloSourceCodeStorageMemory.ApolloBinaryCodeStorage, ApolloBinaryCodeStorageMemory.ApolloGenericCodeStorageMemory.ApolloGenerator now defines the output type.GeneratedOutput.- pubspec.yaml: - Added issue_tracker - Added topics. - Added screenshots. - README.md: - Added Codecov badge and link.
pubspec.yaml:
README.md:
Codecov badge and link.One column per quarter.
Update pubspec.yaml description.
pubspec.yaml description.README.md: added TODO list.generateASTValueStringExpression: try to preserve single quotes in concatenations sequence.
ApolloCodeGenerator:
generateASTValueStringExpression: try to preserve single quotes in concatenations sequence.ArrayList and HashMap literals.Added getCodeUnitWithClassMethod.
ASTRoot:
getClassWithMethod.CodeNamespace:
getCodeUnitWithClassMethod.ApolloLanguageRunner:
executeFunction: added parameter allowClassMethod.ASTExpressionListLiteral and ASTExpressionMapLiteral:
dart and java grammar.loadCodeUnit now throws a SyntaxError with extended details.
ApolloVM:
loadCodeUnit now throws a SyntaxError with extended details.ParseResult:
codeUnit, errorPosition and errorLineAndColumn.errorLine and errorMessageExtendedASTExpressionNegation:
dart and java11.Implement toString with a pseudo-code version of the node to facilitate debugging.
ASTNode implementations:
toString with a pseudo-code version of the node to facilitate debugging.Dart CI: update and optimize jobs.
Dart CI: update and optimize jobs.
sdk: '>=3.0.0 <4.0.0'
swiss_knife: ^3.1.5
async_extension: ^1.2.5
petitparser: ^6.0.1
collection: ^1.18.0
args: ^2.4.2
lints: ^2.1.1
test: ^1.24.6
xml: ^6.4.2
path: ^1.8.3
Clean code and new lints adjusts.
Using async_extension to optimize async calls.
async_extension to optimize async calls.
pedantic to lints.ASTExpressionVariableAssignment.Implementing portable int class for dart and java11:
ApolloVMCore:
int class for dart and java11:
parse, parseInt.int and Integer for dart and java11.async optimization.Implement static class accessor, to allow calls to static functions.
ApolloVMCore:
String class for dart and java11:
contains, toUpperCase, toLowerCase, valueOf.dart and java11.async optimization:
Future, using FutureOrExtension and
ListFutureOrExtension:
resolve, resolveMapped and resolveAllMapped.ASTTypedNode: nodes can be typed, and resolution is performed and cached while running.
var types can be resolved.ASTTypedNode: nodes can be typed,
and resolution is performed and cached while running.var types to be resolved at runtime.Improve String concatenation with variables.
Added for loop statement: ASTStatementForLoop.
for loop statement: ASTStatementForLoop.README.md.parseLanguageFromFilePathExtension
ApolloVM:
parseLanguageFromFilePathExtensionApolloLanguageRunner:
tryExecuteFunctiontryExecuteClassFunctionapollovmImprove tests, to tests definitions directory of XML files.
setField, getField, getFunctionWithName, getFunction,getClass
caseInsensitive option for:
Better handling of function signature and how to pass positional and named parameters.
ASTEntryPointBlock.execute with extra parameters classInstanceObject and classInstanceFields.
ASTClass.getFieldsMap.ASTEntryPointBlock.execute with extra parameters classInstanceObject and classInstanceFields.dartRunner.executeFunction and javaRunner.executeClassMethod.
positionalParameters and namedParameters.- Grammar: - Java & Dart: - Parse boolean literal. - Improve API documentation.
- API Documentation.
Fix call of function using dynamic type in parameter value.
dynamic type in parameter value.Fix parsing of multiple parameters.
ASTBlock: added functionsNames.
ASTBlock: added functionsNames.ASTClass: added fields and fieldsNames.ApolloLanguageRunner: added getClass.ASTClassFunctionDeclaration: To ensure that any class function is parsed from a class block and also ensure that is running from a class block.
ASTClassFunctionDeclaration:
To ensure that any class function is parsed from a class block
and also ensure that is running from a class block.Class object instance fields at runtime.
Grammars & Code Generators & Runner:
Added support to async calls in ASTNode execution.
ASTCodeBlock -> ASTBlock.ASTCodeRoot -> ASTRoot.ASTCodeClass -> ASTClass.async calls in ASTNode execution.
ASTNode can have an async resolution.
This allows the mapping of external functions that
returns a Future or other languages that accepts
async at any point.ASTRoot or an ASTClass are initialized:
Split apollovm_ast.dart into multiple ast/apollovm_ast_*.dart files.
apollovm_ast.dart into multiple ast/apollovm_ast_*.dart files.- Code Generators: - Fix else branch indentation.
else branch indentation.Java 11 is closer to Dart 2 than Java 8.
if, else if and else branches.Added type ASTTypeBool and value ASTValueBool.
ASTTypeBool and value ASTValueBool.ApolloVMNullPointerException.==, !=, >, <, >=, <=.Added support for string templates:
$x.${ x * 2 }.Raw single line and raw multiline line strings.
Function call now checks type signature and type inheritance.
ASTType.isInstance.Removed ASTCodeGenerator, that is language specific now: ApolloCodeGenerator.
ASTCodeGenerator, that is language specific now: ApolloCodeGenerator.+, -, *, /, ~/.+, -, *, /.Now can call a class method or a function.
Initial version, created by Stagehand
Your coding agent can read these notes before it upgrades. Set up the MCP server →