Releases: uber/needle
Releases · uber/needle
Deterministic output file
Same input source files should lead to exactly the same generated needle file. (#369)
Bug fixes for 0.16.0
- Fix dyld issue by shipping the lib_SwiftSyntaxParser.dylib with alongside needle binary
- Fix an import issue for statements like
import protocol Foo.Bar
SwiftSyntax, performance and code size reduction
- This release uses SwiftSyntax to parse source code.
- The code generator's runtime performance has improved by about 35% with optimization changes enabled by SwiftSyntax.
- Reduces the generated file's lines of code.
Source hashing and reduced generated code
- The generated file now contains a hash of all the files that needle actually looked at. This allows optimizations where we can decide to skip recompiling the generated file if nothing has changed since last time.
- The generated code is now optimized for the case where a specific needle scope may be attached at various different points in the tree. Until now, this lead to a provider class being generated for every unique path. Now, paths that have similar providers use a base class to shared most of the code.
Generator fix for Swift 5.2
- Fix generator for Swift 5.2
- Downgrade orphan scopes from warning to info log
v0.13.0
Make needle binary run faster without accumulating all the extension files' import statements.
Errors now include a complete list of missing dependencies
- Key new feature is that the command-line tool does not exit on the first error. Instead it produces a full report.
Explicit root scope API
v0.10.0 Update generator binary and version file for v0.10.0