All Versions
69
Latest Version
Avg Release Cycle
69 days
Latest Release
-

Changelog History
Page 4

  • v0.13.0 Changes

    April 21, 2018

    ๐Ÿ†• New Features

    ๐Ÿ› Bug fixes

    • ๐Ÿ›  Fixed parsing protocol method return type followed by declaration with attribute
    • ๐Ÿ›  Fixed inserting auto-inlined code on the last line of declaration body
    • AutoEquatable and AutoHashable templates should not add protocol conformances in extensions
  • v0.12.0 Changes

    April 11, 2018

    Internal Changes

    • Migrate to Swift 4.1 and Xcode 9.3
  • v0.11.2 Changes

    April 10, 2018

    ๐Ÿš€ !!This is the last release that will support Swift 4.0. Next release (except patches) will be built with Swift 4.1!!

    ๐Ÿ› Bug fixes

    • Autocases template not respecting type access level
    • Ensure SPM and CocoaPods dependencies match
    • ๐Ÿ‘Œ Improve AutoMockable template to handle methods with optional return values
    • ๐Ÿ›  Fixed crash while compiling swift templates
  • v0.11.1 Changes

    April 09, 2018

    ๐Ÿš€ !!This is the last release that will support Swift 4.0. Next release (except patches) will be built with Swift 4.1!!

    Internal changes

    • ๐Ÿ— Do not fail the build if slather fails
    • โšก๏ธ Updated SourceKitten to 0.20.0

    ๐Ÿ› Bug fixes

    • ๐Ÿ›  Fixed parsing protocol methods return type (#579)
  • v0.11.0 Changes

    ๐Ÿ†• New Features

    • ๐Ÿ‘Œ Supports adding new templates files while in watcher mode
    • ๐Ÿ‘Œ Supports adding new source files while in watcher mode
    • โž• Added support for subscripts
    • โž• Added isGeneric property for Method
    • You can now pass additional arguments one by one, i.e. --args arg1=value1 --args arg2 --args arg3=value3
    • ๐Ÿ‘Œ Improved support for generic types. Now you can access basic generic type information with TypeName.generic property
    • โž• added @objcMembers attribute
    • ๐Ÿšš Moved EJS and Swift templates to separate framework targets
    • ๐Ÿ— EJS templates now can be used when building Sourcery with SPM
    • โž• Added Closures to AutoMockable
    • You can now link generated files to projects using config file
    • You can now use AutoMockable with annotations
    • โšก๏ธ Updated to latest version of Stencil (commit 9184720)
    • โž• Added support for annotation namespaces
    • โž• Added --exclude-sources and --exclude-templates CLI options

    ** ๐Ÿ’ฅ Breaking **

    • @objc attribute now has a name argument that contains Objective-C name of attributed declaration
    • Type collections types.based, types.implementing and types.inheriting now return non-optional array. If no types found, empty array will be returned. This is a breaking change for template code like this:
    <% for type in (types.implementing["SomeProtocol"] ?? []) { %>
    

    The new correct syntax would be:

    <% for type in types.implementing["SomeProtocol"] { %>
    

    Internal changes

    • Migrate to Swift 4, SwiftPM 4 and Xcode 9.2
    • selectorName for methods without parameters now will not contain ()
    • returnTypeName for initializers will be the type name of defining type, with ? for failable initializers
    • ๐Ÿ‘Œ Improved compile time of AutoHashable template
    • โšก๏ธ Updated StencilSwiftKit and Stencil to 0.10.1

    ๐Ÿ› Bug fixes

    • ๐Ÿ›  Fixes FSEvents errors reported in #465 that happen on Sierra
    • JS exceptions no more override syntax errors in JS templates
    • ๐Ÿ‘ Accessing unknown property on types now results in a better error than undefined is not an object in JS templates
    • ๐Ÿ›  Fixed issue in AutoMockable, where generated non-optional variables wouldn't meet protocol's requirements. For this purpose, underlying variable was introduced
    • ๐Ÿ›  Fixed inline:auto not inserting code if Sourcery is run with cache enabled #467
    • ๐Ÿ›  Fixed parsing @objc attributes on types
    • ๐Ÿ›  Fixed parsing void return type in methods without spaces between method name and body open curly brace and in protocols
    • ๐Ÿ›  Fixed AutoMockable template generating throwing method with void return type
    • ๐Ÿ›  Fixed parsing throwing initializers
    • ๐Ÿ›  Fixed trying to process files which do not exist
    • ๐Ÿคก Automockable will not generate mocks for methods defined in protocol extensions
    • ๐Ÿ›  Fixed parsing typealiases of generic types
    • AutoLenses template will create lenses only for stored properties
    • ๐Ÿ›  Fixed resolving actual type name for generics with inner types
    • ๐Ÿ›  Fixed parsing nested types from extensions
    • ๐Ÿ›  Fixed removing back ticks in types names
    • ๐Ÿ›  Fixed creating output folder if it does not exist
    • ๐Ÿ›  Fixed inferring variable types with closures and improved inferring types of enum default values
    • ๐Ÿ›  Fixed enum cases with empty parenthesis not having () associated value
  • v0.10.1 Changes

    • When installing Sourcery via CocoaPods, the unneeded file.zip is not kept in Pods/Sourcery/ anymore (freeing ~12MB on each install of Sourcery made via CocoaPods!).
  • v0.10.0 Changes

    ๐Ÿ†• New Features

    • โž• Added test for count Stencil filter
    • โž• Added new reversed Stencil filter
    • โž• Added new isEmpty Stencil filter
    • โž• Added new sorted and sortedDescending Stencil filters. This can sort arrays by calling e.g. protocol.allVariables|sorted:"name"
    • โž• Added new toArray Stencil filter
    • โž• Added a console warning when a yaml is available but any parameter between 'sources', templates', 'forceParse', 'output' are provided

    Internal changes

    • โž• Add release to Homebrew rake task
    • ๐Ÿ›  Fixed Swiftlint warnings
    • ๐Ÿ›  Fixed per file generation if there is long (approx. 150KB) output inside sourcery:file annotation
    • 0๏ธโƒฃ Do not generate default.profraw
    • โœ‚ Remove filters in favor of same filters from StencilSwiftKit
  • v0.9.0 Changes

    ๐Ÿ†• New Features

    • โž• Added support for file paths in config parameter
    • โž• Added isDeinitializer property for methods
    • ๐Ÿ‘Œ Improved config file validation and error reporting
    • Various improvements for AutoMockable template:
      • support methods with reserved keywords name
      • support methods that throws
      • improved generated declarations names

    ๐Ÿ› Bug fixes

    • ๐Ÿ›  Fixed single file generation not skipping writing the file when there is no generated content

    Internal changes

    • โšก๏ธ Updated dependencies for Swift 4
    • โšก๏ธ Update internal ruby dependencies
  • v0.8.0 Changes

    ๐Ÿ†• New Features

    • โž• Added support in AutoHashable for static variables, [Hashable] array and [Hashable: Hashable] dictionary
    • โž• Added definedInType property for Method and Variable
    • โž• Added extensions filter for stencil template
    • โž• Added include support in Swift templates
    • Swift templates now can throw errors. You can also throw just string literals.
    • โž• Added support for TypeName in string filters (except filters from StencilSwiftKit).

    ๐Ÿ› Bug fixes

    • ๐Ÿ›  Fixed linker issue when using Swift templates
    • โšก๏ธ Updated AutoMockable to exclude generated code collisions
    • ๐Ÿ›  Fixed parsing of default values for variables that also have a body (e.g. for didSet)
    • ๐Ÿ›  Fixed line number display when an error occur while parsing a Swift template
    • ๐Ÿ›  Fixed rsync issue on SourceryRuntime.framework when using Swift templates
    • ๐Ÿ›  Fixed auto:inline for nested types (this concerns the first time the code is inserted)

    Internal changes

    • ๐Ÿ›  Fix link for template in docs
    • ๐Ÿ›  Fix running Sourcery in the example app
    • โž• Add step to update internal boilerplate code during the release
  • v0.7.2 Changes

    Internal changes

    • โž• Add Version.swift to represent CLI tool version