All Versions
69
Latest Version
Avg Release Cycle
69 days
Latest Release
-
Changelog History
Page 3
Changelog History
Page 3
-
v1.0.1 Changes
November 27, 2020Internal Changes
- โก๏ธ Updated project and CI to Xcode 12.1
- โก๏ธ Updated SourceKitten, Commander.
๐ Bug fixes
- ๐ Fix multiline method declarations parsing
- ๐ Fix an issue, where "types.implementing." did not work due to an additional module name.
- ๐ Using tuple for associated values in enum case is deprecated since Swift 5.2. Fix AutoEquatable and AutoHashable templates to avoid the warning (#842)
-
v1.0.0 Changes
August 14, 2020๐ New Features
- โ Added support for associated types (#539)
๐ Bug fixes
- Disallow protocol compositions from being considered as the
rawType
of anenum
(#830) - โ Add missing documentation for the
ProtocolComposition
type. - ๐ Fix incorrectly taking closure optional return value as sign that whole variable is optional (#823)
- ๐ Fix incorrectly taking return values with closure as generic type as sign that whole variable is a closure (#845)
- ๐ Fix empty error at build time when using SwiftTemplate on Xcode 11.4 and higher (#817)
-
v0.18.0 Changes
April 28, 2020๐ New Features
- โ Added
optional
filter for variables - โ Added
json
filter to output raw JSON objects - โ Added
.defaultValue
toAssociatedValue
- โ Added support for parsing Protocol Compositions
- โ Added support for parsing free functions
- โ Added support for indirect enum cases
- โ Added support for accessing all typealiases via
typealiases
andtypesaliasesByName
- โ Added support for parsing global typealiases
Internal Changes
- ๐ Improved error logging when running with
--watch
option - โก๏ธ Updated CI to Xcode 11.4.1
๐ Bug fixes
- ๐ Fixed expansion of undefined environment variables (now consistent with command line behaviour, where such args are empty strings)
- ๐ Fixed a bug in inferring extensions of Dictionary and Array types
- ๐ Fixed a bug that was including default values as part of AssociatedValues type names
- ๐ Fixed an issue with AutoMockable.stencil template when mocked function's return type was closure
- ๐ Fixed missing SourceryRuntime dependency of SourceryFramework (SPM)
- โ Added
-
v0.17.0 Changes
September 03, 2019Internal Changes
- Parallelized combining phase that yields 5-10x speed improvement for New York Times codebase
- Switched cache logic to rely on file modification date instead of content Sha256
- โ Additional benchmark logs showing how long does each phase take
- โก๏ธ update dependencies to fix cocoapods setup when using Swift 5.0 everywhere. Update Quick to 2.1.0, SourceKitten to 0.23.1 and Yams to 2.0.0
-
v0.16.2 Changes
July 18, 2019๐ New Features
- ๐ Support automatic linking of files generated by annotations to project target
๐ Bug fixes
- ๐ Fixes always broken sourcery cache
- โ Add missing SourceryFramework library product in Package.swift
-
v0.16.1 Changes
April 29, 2019๐ Bug fixes
- ๐ Fix ReceivedInvocations's type for the method which have only one parameter in AutoMockable.stencil
- ๐ Fix missing folder error that could happen when running a Swift template with existing cache
- Don't add indentation to empty line when using inline generated code.
- ๐ Fix issue where errors in Swift Template would not be reported correctly when using Xcode 10.2.
- ๐ Fix annotations for enum cases with associated values that wouldn't parses them correctly when commas were used
Internal Changes
- โ Removed dependency on SwiftTryCatch pod in order to avoid Swift Package Manager errors.
-
v0.16.0 Changes
March 08, 2019- ๐ง Replaces environment variables inside .yml configurations (like ${PROJECT_NAME}), if a value is set.
- ๐ Fixes warning in generated AutoMockable methods that have implicit optional return values
- ๐ Support for
optional
methods in ObjC protocols - ๐ Support for parsing lazy vars into Variable's attributes.
- โก๏ธ Updated Stencil to 0.13.1 and SwiftStencilKit to 2.7.0
- In Swift templates CLI arguments should now be accessed via
argument
instead ofarguments
, to be consistent with Stencil and JS templates. - Now in swift templates you can define types, extensions and use other Swift features that require file scope, without using separate files. All templates code is now placed at the top level of the template executable code, instead of being placed inside an extension of
TemplateContext
type. - ๐ Fixed missing generated code annotated with
inline
annotation when corresponding annotation in sources are missing. This generated code will be now present in*.generated.swift
file. - โก๏ธ Updated AutoHashable template to use Swift 4.2's
hash(into:)
method fromHashable
, and enable support for inheritance. - Record all method invocations in the
AutoMockable
template. - ๐ Replace
swiftc
with the Swift Package Manager to build Swift templates - ๐ Swift templates can now be used when using a SPM build of Sourcery.
-
v0.15.0 Changes
September 23, 2018๐ New Features
- ๐ You can now pass a json string as a command line arg or annotation and have it parsed into a Dictionary or Array to be used in the template.
- ๐ Support for Xcode 10 and Swift 4.2
- โก๏ธ Updated Stencil to 0.12.1
-
v0.14.0 Changes
August 28, 2018๐ New Features
- You can now include entire Swift files in Swift templates
- You can now use AutoEquatable with annotations
- โ Content from multiple file annotations will now be concatenated instead of writing only the latest generated content.
For example content generated by two following templates
// sourcery:file:Generated/Foo.swift line one // sourcery:end
and
// sourcery:file:Generated/Foo.swift line two // sourcery:end
will be written to one file:
line one line two
Internal Changes
- ๐ Use AnyObject for class-only protocols
๐ Bug fixes
- ๐ Fixed parsing associated enum cases in Xcode 10
- ๐ Fixed AutoEquatable access level for
==
func - ๐ Fixed path of generated files when linked to Xcode project
- ๐ Fixed extraction of inline annotations in multi line comments with documentation style
- ๐ Fixed compile error when used AutoHashable in NSObject subclass.
-
v0.13.1 Changes
May 08, 2018๐ New Features
- โ Added support for enums in AutoCodable template
- You can now specify the base path for the Sourcery cache directory with a
cacheBasePath
key in the config file