Releases: uber/needle
Releases · uber/needle
Xcode 12 upgrade and latest SwiftSyntax
Needle code generator is now built with Xcode 12.2 and supports the latest version of SwiftSyntax
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