Sourcery Versions Save

Meta-programming for Swift, stop writing boilerplate code.

1.8.2

1 year ago

What's Changed

1.8.1

2 years ago

What's Changed

Full Changelog: https://github.com/krzysztofzablocki/Sourcery/compare/1.8.0...1.8.1

1.8.0

2 years ago

New Features

  • Adds xcframework key to target object in configuration file to enable processing of swiftinterface

Fixes

  • Fixed issues generating Swift Templates when using Xcode 13.3 #1040
  • Modifications to included files of Swift Templates now correctly invalidate the cache - #889

Internal Changes

  • Swift 5.6 and Xcode 13.3 is now required to build the project
  • lib_internalSwiftSyntaxParser is now statically linked enabling better support when installing through SPM and Mint #1037

1.7.0

2 years ago

New Features

  • Adds fileName to Type and exposes path as well
  • Adds support for parsing async methods, closures and variables

Fixes

  • correct parsing of rawValue initializer in enum cases, fixes #1010
  • Use name or path parameter to parse groups to avoid duplicated group creation, fixes #904, #906

1.6.1

2 years ago

Fixes

  • correct parsing of rawValue initializer in enum cases, fixes #1010

New Features

  • Added CLI-Only subspec to Sourcery.podspec #997
  • Added documentation comment parsing for all declarations #1002
  • Updates Yams to 4.0.6
  • Enables universal binary

1.6.0

2 years ago
  • Update dependencies to fix build on Xcode 13 and support Swift 5.5 #989
  • Improves performance in large codebases (it's more than 50% faster than 1.5.0)
  • Skips hidden files / directories and doesn't step into packages
  • added after-auto: generation mode to inline codegen
  • Fixes unstable ordering of TypeName.attributes
  • Fixing Type.uniqueMethodFilter(_:_:) so it compares return types of methods as well.

1.5.0

2 years ago

Features

  • Adds support for variadic parameters in functions
  • Adds support for parsing property wrappers
  • Added titleCase filter that turns somethingNamedLikeThis into Something Named Like This

Fixes

  • correct passing force-parse argument to specific file parsers and renames it to forceParse to align with other naming
  • corrects isMutable regression on protocol variables #964
  • Added multiple targets to link
  • Fix groups creation

1.4.2

3 years ago

Fixes

  • Fix a test failing on macOS 11.3
  • Fix generation of inline:auto annotations in files with other inline annotations.
  • Fixes modifier access for things like isLazy, isOptional, isConvienceInitializer, isFinal
  • Fixes isMutable on subscripts
  • Fixes open access parsing
  • Removes symlinks in project, since these can confuse Xcode
  • Fixes inout being incorrectly parsed for closures

New Feature

  • Updated to Swift / SwiftSyntax 5.4
  • Added ability to parse inline code generated by sourcery if annotation ends with argument provided in --force-parse option

1.4.1

3 years ago

New Feature

Fixes

  • Adds trim option for Stencil template leading / trailing whitespace and replaces newline tag markers with normal newline after that
  • Fixes broken output for files with inline annotations from multiple templates

1.4.0

3 years ago

Features

  • Added allImports property to Type, which returns all imports existed in all files containing this type and all its super classes/protocols.
  • Added basedTypes property to Type, which contains all Types this type inherits from or implements, including unknown (not scanned) types with extensions defined.
  • Added inference logic for basic generics from variable initialization block
  • Added newline and typed stencil tags from Sourcery Pro

Fixes

  • Fixed inferring raw value type from inherited types for enums with no cases or with associated values
  • Fixed access level of protocol members
  • Fixes parsing indirect enum cases correctly even when inline documentation is used
  • Fixes TypeName.isClosure to handle composed types correctly
  • Fixes issue where Annotations for Protocol Composition types are empty
  • Fixes sourcery:inline:auto position calculation when the file contains UTF16 characters
  • Fixes sourcery:inline:auto position calculation when the file already contains code generated by Sourcery

Internal changes

  • Removes manual parsing of TypeName, only explicit parser / configuration is now used
  • Updted SwiftLint, Quick and Nible to latest versions