Skip to content

Latest commit

 

History

History
839 lines (521 loc) · 19.2 KB

CHANGELOG.md

File metadata and controls

839 lines (521 loc) · 19.2 KB

Master

Breaking
  • None.
Enhancements
  • Added a new field numBytesToErase in CodeCompletionItem to indicate how many bytes should be deleted prior to the cursor in order to finish the completion.
    @KelvinJin
Bug Fixes
  • None.

0.17.0

Breaking
  • Change Text enum case names to match Swift 3 API guidelines.
    @istx25
Enhancements
  • None.
Bug Fixes

0.16.0

Breaking
  • The SourceKitten CocoaPods podspec used to actually refer to SourceKittenFramework, so it has been renamed. Existing pushes to CocoaPods trunk will be preserved, but from now on if you use SourceKittenFramework via CocoaPods, please specify to use the SourceKittenFramework pod.
    JP Simard
Enhancements
  • Add Request.yaml API to create a sourcekit request from yaml and expose as a request --yaml [file|text] CLI command.
    Keith Smiley #312
Bug Fixes
  • None.

0.15.3

Breaking
  • None.
Enhancements
Bug Fixes
  • None.

0.15.2

Breaking
  • None.
Enhancements
  • None.
Bug Fixes
  • Fix Objective-C enum cases not being documented.
    JP Simard #304

0.15.1

Breaking
  • None.
Enhancements
Bug Fixes
  • CXComment.commandName() was returning nil on custom code comments since Xcode 8.1. This caused a force unwrap when generating documentation. Inline command comment is now used as a fallback to catch this edge case.
    Jérémie Girault

0.15.0

Breaking
  • SourceKitten now requires Xcode 8.0 and Swift 3.0 to build. APIs have been adapted to conform to the Swift 3 API Design Guidelines.
    JP Simard Norio Nomura
Enhancements
  • Add --spm-module [ModuleName] flag to complete to automatically detect compiler flags for Swift Package Manager modules. swift build must be run prior to support detection.
    vdka #270

  • Now builds and passes most tests on Linux using the Swift Package Manager with Swift 3.0. This requires libsourcekitdInProc.so to be built and located in /usr/lib, or in another location specified by the LINUX_SOURCEKIT_LIB_PATH environment variable. A preconfigured Docker image is available on Docker Hub by the ID of norionomura/sourcekit:30.
    JP Simard Norio Nomura #179

  • Now supports Swift Package Manager on macOS and Linux.
    JP Simard

  • Now supports docinfo requests for sourcetext and module keys.
    Erik Abair

  • Now supports Objective-C class properties.
    Jérémie Girault JP Simard #243

  • Add podspec to support using SourceKittenFramework with CocoaPods.
    JP Simard

Bug Fixes
  • NSString.lines() generated surplus line when string ended with newline character.
    Norio Nomura #259

0.14.1

Breaking
  • None.
Enhancements
  • None.
Bug Fixes

0.14.0

This is the last release to support Swift 2.2 and Swift 2.3. The next release will require Swift 3.0.

Breaking
  • Embedding frameworks needed by sourcekitten was moved from SourceKittenFramework Xcode target to the sourcekitten target. The SourceKittenFramework.framework product built by the SourceKittenFramework target no longer contains unnecessary frameworks or multiple copies of the Swift libraries.
    Norio Nomura

  • Require passing compiler arguments to index command.
    Brian Gesiak

  • Remove --compilerargs CLI flag. Arguments are now passed after --.
    Keith Smiley

Enhancements
  • Refactor to unite swift lang syntax types with SwiftLangSyntax protocol.

  • Make SwiftDocKey public.
    Evgeny Suvorov

  • Swift 2.3 support.
    Syo Ikeda

  • The following availability and deprecation values are now exposed for Objective-C APIs.

    • key.always_deprecated
    • key.always_unavailable
    • key.deprecation_message
    • key.unavailable_message
      Jeff Verkoeyen
  • Add SwiftDeclarationKind.PrecedenceGroup.
    JP Simard

Bug Fixes
  • Fix issue where single-line declaration+bodies would include the body in the parsed declaration when generating docs.
    JP Simard #45 jazzy#226

  • Fix issue where directories ending with .swift would be considered Swift source files.
    JP Simard jazzy#586

0.13.0

Breaking
  • None.
Enhancements
  • Add format command that re-indents a Swift file much like pasting into Xcode would. This command optionally takes the following parameters:

    • --file (string): relative or absolute path of Swift file to format
    • --no-trim-whitespace: trim trailing whitespace
    • --use-tabs: use tabs to indent
    • --indent-width (integer): number of spaces to indent
      JP Simard
  • Add --spm-module [ModuleName] flag to doc to document Swift Package Manager modules. Need to run swift build prior to running sourcekitten doc. The right Swift toolchain version must also be selected (by setting TOOLCHAIN_DIR or similar).
    JP Simard

  • Add support TOOLCHAINS environment variable to selecting alternative toolchains for loading SourceKitService.
    Norio Nomura

Bug Fixes

0.12.2

Breaking
  • None.
Enhancements
Bug Fixes
  • None.

0.12.1

Breaking
  • None.
Enhancements
Bug Fixes
  • Fixed situations where the wrong documentation comment was found for a declaration, or when documentation comments were further than a single line away from their declaration and the declaration would be incorrectly considered undocumented.
    JP Simard realm/jazzy#454 realm/jazzy#502

0.12.0

Breaking
Enhancements
  • None.
Bug Fixes
  • None.

0.11.0

Breaking
  • Now libclang.dylib and sourcekitd.framework are dynamically loaded at runtime by SourceKittenFramework to use the versions included in the Xcode version specified by xcode-select -p or custom toolchains. If SourceKittenFramework clients previously accessed either of these libraries directly using their APIs, those are no longer available.
    Norio Nomura #167
Enhancements
  • Simplify the process of generating library wrappers and validate library wrappers in unit tests.
    JP Simard

  • Support swift test on OS X.
    Norio Nomura

Bug Fixes
  • Fix crash on DOS newlines.
    Norio Nomura #315

  • Fix doc.comment blank for many declarations, causing missing Jazzy docs.
    Norio Nomura #142

  • Fix "Unrecognized arguments:" error on doc command.
    Norio Nomura #174

  • Fix "illegal hardware instruction" error when SourceKitService returns string in other than NSUTF8StringEncoding.
    Norio Nomura #184

0.10.0

Breaking
  • Change SwiftDocs.init(file:arguments:) to SwiftDocs.init?(file:arguments:).
    Norio Nomura
Enhancements
  • Add Request.failableSend() that can handle SourceKitService crashes. sourcekitten doc does not stop when SourceKitService crashes.
    Norio Nomura
Bug Fixes

0.9.0

Breaking
  • Change Line from tuple to struct with extra properties range and byteRange.
    Norio Nomura
Enhancements
  • None.
Bug Fixes
  • None.

0.8.0

Breaking
  • Replaced all uses of XPCDictionary, XPCArray, XPCRepresentable & xpc_object_t with SourceKit equivalents.
    JP Simard
Enhancements
  • Supports building with Swift 2.2 snapshot & Swift Package Manager on OS X.
    JP Simard
Bug Fixes

0.7.4

Breaking
  • None.
Enhancements
Bug Fixes

0.7.3

Breaking
  • None.
Enhancements
  • Add NSString.lineAndCharacterForByteOffset.
    JP Simard
Bug Fixes
  • Fixed multi-byte character handling in File.getDocumentationCommentBody.
    JP Simard

0.7.2

Breaking
  • None.
Enhancements
  • Optimize NSString.lineAndCharacterForCharacterOffset(...), NSString.NSRangeToByteRange(...) and SyntaxMap.commentRangeBeforeOffset(_:).
    Norio Nomura #119

  • Fix unicode handling of String.commentBody(range:).
    Norio Nomura

Bug Fixes
  • None.

0.7.1

Enhancements

0.7.0

Breaking
  • File is now a final class instead of a struct and contents & lines are now marked as var. This was done so that mutations to the underlying file on disk can be mirrored in a File instance.
    JP Simard
Enhancements

None.

Bug Fixes
  • Fix issue where Swift extensions would pick up documentation from previous tokens.
    JP Simard #65

  • Fix String.stringByTrimmingTrailingCharactersInSet(_:) returning full string when all characters matched character set.
    JP Simard

  • Fix indexOfByteOffset(offset:) failing when string include some emoji.
    Norio Nomura #111

  • Fix pragma mark extraction with multibyte characters.
    1ec5 #114

0.6.2

Breaking

None.

Enhancements
Bug Fixes

0.6.1

Breaking

None.

Enhancements
Bug Fixes

0.6.0

Breaking

None.

Enhancements
Bug Fixes
  • Don't process SourceKit's response when building Structure.
    JP Simard #82

0.5.2

Breaking

None.

Enhancements
Bug Fixes
  • Fix a bug where documentation inside a function would crash SourceKitten.
    JP Simard #75

0.5.1

Breaking

None.

Enhancements
  • Improve error reporting when compiler arguments can't be parsed and log xcodebuild output to file instead of stderr.
    JP Simard
Bug Fixes

None.

0.5.0

Breaking
Enhancements
  • Update File lines convenience property to be immutable.
    Keith Smiley

  • Added the ability to generate code completion options (complete command).
    JP Simard

Bug Fixes

None.

0.4.5

Breaking

None.

Enhancements
Bug Fixes

None.

0.4.4

Breaking
Enhancements

None.

Bug Fixes
  • Fixed a crash when parsing an empty documentation comment.
    JP Simard #236

0.4.3

Breaking

None.

Enhancements

None.

Bug Fixes
  • Fixed issue when installing 0.4.2 via Homebrew.
    JP Simard

0.4.2

Breaking

None.

Enhancements

None.

Bug Fixes
  • SourceKitten can now be installed alongside Carthage because SourceKittenFramework now nests its Commandant and LlamaKit frameworks.
    JP Simard

0.4.1

Breaking
  • SwiftDocs now prints its file path in its description.
    JP Simard
Enhancements

None.

Bug Fixes

None.

0.4.0

Breaking
Enhancements

None.

Bug Fixes

None.

0.3.2

Breaking

None.

Enhancements
Bug Fixes
  • Fixed out-of-bounds exception when parsing the declaration in files starting with a declaration.
    JP Simard #30

  • Fixed out-of-bounds exception and inaccurate parsed declarations when using multibyte characters.
    JP Simard #35

  • Fixed parsing issues with keyword functions such as subscript, init and deinit.
    JP Simard #27

  • Fixed issues where USR wasn't accurate because dependencies couldn't be resolved.
    JP Simard

0.3.0

Breaking
  • Everything. No, seriously lots has changed in this release and you should consider SourceKitten entirely rewritten. SourceKitten now uses dynamic frameworks for the bulk of its functionality, which means that everything is now much more modular and testable.
    JP Simard #17
Enhancements
Bug Fixes

None.

0.2.8

Breaking

None.

Enhancements

None.

Bug Fixes
  • Fixed issue where certain Swift files wouldn't be parsed.
    JP Simard #18

0.2.7

Breaking

None.

Enhancements

None.

Bug Fixes

0.2.6

Breaking

None.

Enhancements
Bug Fixes
  • Fixed crash when files contained a declaration on the first line.
    JP Simard #14

  • Fixed invalid JSON issue when last file in an Xcode project failed to parse.
    JP Simard

  • Fixed crash when attempting to parse the declaration of extension Array.
    JP Simard realm/jazzy#126