- None.
-
Build without warnings with Swift 6 compiler.
SimplyDanny -
Generate docs cleanly with Swift 6 compiler.
John Fairhurst [#821]((https://github.com/realm/SourceKitten/issues/821)
- None.
- Bazel users only: rules_swift 2.x is now required.
Luis Padron
- None.
- None.
- None.
-
Support docs generation with SwiftPM in Swift 5.10.
Added new syntax, attribute and declaration kinds introduced in Swift 5.10.
John Fairhurst -
Added new syntax, attribute and declaration kinds introduced in Swift 5.9.
John Fairhurst -
Added new syntax, attribute and declaration kinds introduced in Swift 5.8.
JP Simard -
Added support for static_assert declaration introduced in C11.
Zach Jaquish
-
Fix an issue where the path to the SourceKit library would not be properly detected on Linux, when the swift executable was symlinked into a directory in PATH from its actual install tree.
Julia DeMille -
Fix a crash when a file cannot be read as UTF-8.
Martin Redington #765
- None.
- None.
- SourceKitten now requires Swift 5.7 or higher to build.
JP Simard
- Added support for bzlmod.
Keith Smiley
- None.
- None.
- Add a
File.clearCaches()
function to clear a file's cached data.
JP Simard
- None.
-
SourceKitten now requires Swift 5.6 or higher to build, and macOS 12 or higher to run.
JP Simard -
SourceKitten now always uses the in-process version of sourcekitd on macOS. The
IN_PROCESS_SOURCEKIT
environment variable is ignored and theSourceKittenConfiguration.preferInProcessSourceKit
API has been completely removed.
JP Simard
-
Adds Bazel Build Support.
Maxwell Elliott -
Support docs generation with Xcode 14 projects.
John Fairhurst
- None.
- SourceKitten now requires Swift 5.3 or higher to build.
JP Simard
-
Support docs generation on Swift 5.6.
John Fairhurst -
Added
SwiftDeclarationAttributeKind
values introduced in Swift 5.6.
JP Simard -
Add
IN_PROCESS_SOURCEKIT
environment variable, which causes to use the in-process version of sourcekitd on macOS. This avoids the use of XPC, which is prohibited in some sandboxed environments, such as in Swift Package Manager plugins.
Juozas Valancius
- None.
- None.
-
Objective C Union support.
Brian Osborn #705 -
Add
key.attributes
andkey.attribute
enum cases toSwiftDocKey
.
Erick Sanchez -
Add
--prettify
and--sort-keys
flags to complete command, both of which default to false. Previously these options were hardcoded to be enabled, which slowed down the command when processing large inputs.
Paul Taykalo #710 -
Add new
SwiftDeclarationAttributeKind
members available starting with Swift 5.4/5.5.
John Fairhurst
- None.
-
SourceKitten now requires Swift 5.2 or higher to build.
JP Simard -
SourceKittenFramework can no longer be integrated as a Carthage depdendency.
JP Simard -
SourceKitten.xcworkspace
andsourcekitten.xcproject
have been completely removed. You can still use Xcode to develop SourceKitten by opening it as a Swift Package by typingxed .
orxed Package.swift
from your shell.
JP Simard -
The command line syntax has slightly changed due to migrating from the Commandant command line parsing library to swift-argument-parser. For the most part the breaking changes are all to make the syntax more unix compliant and intuitive to use. For example, commands such as
sourcekitten --help
orsourcekitten -h
now work as expected. The help output from various commands has greatly improved as well. A few notable breaking changes:doc --spm-module
was removed (use--spm --module-name
instead)sourcekitten module_info
is nowsourcekitten module-info
JP Simard
- None.
- Always bypass codesigning when building Xcode projects.
John Fairhurst #1183
- None.
- Add
SwiftDeclarationAttributeKind
values introduced in Swift 5.3.
JP Simard
- None.
- SourceKitten now requires Swift 5.1 or higher to build.
JP Simard
-
Update Yams to 4.0.0.
Keith Smiley JP Simard -
Add
SwiftDeclarationAttributeKind
values introduced in Swift 5.2.
JP Simard
-
Fix crashes when parsing .m files.
Joe Laws -
Stop the program immediately if the
xcodebuild
command fails.
John Fairhurst #643
- Replace all uses of
Int
/Int64
/NSRange
representing byte offsets to use newly introducedByteCount
andByteRange
values instead. This will minimize the risk of accidentally using a byte-based offset in character-based contexts.
Paul Taykalo JP Simard
- None.
- Improve
key.parsed_declaration
in Swift 5.1+ for declarations on multiple lines without a body.
John Fairhurst #633
- Replace many of the public extensions on String, and its internal
caching mechanism
CacheContainer
, with a newStringView
type.
Paul Taykalo
-
Allow inline html tags in ObjC doc comments.
Chris Williams #409 realm/jazzy#976 -
Support code formatting in ObjC doc comments with
@c
,@code
and@endcode
.
Bryce Pauken #631
- Fix crash when SourceKit returns out of bounds string byte offsets.
JP Simard
- Update Commandant dependency to version 0.17.0, removing the
antitypical/Result
dependency in favor of the Swift standard library'sResult
type.
JP Simard #623
- None.
- None.
- SourceKitten now requires Swift 5.0 or higher to build.
JP Simard
-
Support building SourceKitten with Swift 5.1.
Pedro Larroy -
Add new libclang types introduced between 0.49 and 0.59.
JP Simard -
Add new
SwiftDeclarationAttributeKind
andSwiftDeclarationKind
members introduced in Swift 5.1.
JP Simard -
SyntaxKind
now conforms toCaseIterable
.
JP Simard
- Fix Swift response files for paths including special characters.
John Fairhurst
- None.
-
Add
--spm
option to guess the name of a Swift Package Manager module for documentation generation.
John Fairhurst -
Support doc generation for modules built with Xcode 11.
John Fairhurst -
Add
Module.init?(spmArguments:spmName:inPath)
and use indoc
command to ensure Swift Package Manager module documentation is up to date.
John Fairhurst
- Fix crash with misplaced documentation comment.
John Fairhurst
-
Change
Module.init?(spmName:)
toModule.init?(spmName:inPath:)
.
Norio Nomura -
SourceKitObjectConvertible
now hasSourceKitObject
parameter requirement instead ofsourcekitd_object_t
. SourceKitObject isn't publicly initializable (this helps memory management).
Colton Schlosser -
Dictionary
andArray
now conditionally conform toSourceKitObjectConvertible
, instead of crashing when using unexpected types.
Colton Schlosser
-
Add
cursorInfoUSR
case to theRequest
.
Timofey Solonin -
Add a
Dictionary<String, SourceKitRepresentable>.referencedUSRs
computed property to retrieve referenced USRs from a SourceKit cursor info response.
Colton Schlosser
-
Fix
testCommandantDocsSPM
failed on using Swift Package in Xcode 11, because Xcode 11 does not useSRCROOT
as current directory on executing tests inPackage.swift
.
Norio Nomura -
Release memory created for sourcekitd requests.
Colton Schlosser realm/SwiftLint#2812
- None.
-
Add parsed extension declarations to Swift docs.
John Fairhurst -
Make
File
conform toEquatable
andHashable
.
Elliott Williams
- None.
- None.
- None.
- None.
-
Introduce
XcodeBuildSetting
for interacting with project build settings.
Chris Zielinski -
Improve module name inference for
Module
.
Chris Zielinski -
Add Swift 5 support. Add new
SwiftDeclarationAttributeKind
andSwiftDeclarationKind
members and make those enums conform toCaseIterable
.
Norio Nomura
-
“.swift”-suffixed directory in xcodebuild arguments no longer detected as Swift file.
Minh Nguyễn #574 -
Fix
xcodebuild clean
path for new build system and Xcode 10.2.
John Fairhurst realm/jazzy#1057 -
Pathnames containing shell-escaped characters in xcodebuild arguments no longer prevent documentation generation.
John Fairhurst -
swiftc
no longer passed as a compiler argument when usingdoc
and the new build system.
John Fairhurst
- SourceKitten now requires Swift 4.2 or higher to build.
JP Simard
- Add
Request.syntaxTree
to get a serialized representation of the file's SwiftSyntax tree.
JP Simard
- Fix crash in
NSString.location(fromByteOffset:)
when using unicode characters.
JP Simard realm/SwiftLint#2276
This is the last release to support building with Swift 4.0 and Swift 4.1.
- None.
-
If New Build System is enabled on Xcode, the
doc
command does not need to use theclean
action onxcodebuild
.
Norio Nomura -
Use 'as' bridging on Linux when using Swift 4.2.
JP Simard
- None.
- None.
-
Add support for C-language annotations (e.g.
__attribute__((annotate("This is an annotation")))
).
Jeff Verkoeyen -
Improve support for building & running with Swift 4.2.
Norio Nomura -
Add new values for
SwiftDeclarationAttributeKind
andSyntaxKind
with Swift 4.2.
JP Simard
- None.
- None.
- None.
-
Support building with Swift 4.2. There are still runtime issues to resolve.
Norio Nomura -
Fix a crash when running with Swift 4.2.
Norio Nomura SR-7954
- SourceKitten now requires Swift 4.0 or higher to build.
JP Simard
- Make all
SwiftDeclarationAttributeKind
cases available no matter which version of Swift was used to compile SourceKitten.
Marcelo Fabri
- Fix issue locating
libsourcekitdInProc.so
on some Linux distributions.
Mike Hovan #513
This is the last release to support Swift 3.2 and Swift 3.3. The next release will require Swift 4.0 or higher.
-
Change type of parameter from
sourcekitd_object_t
toSourceKitObject?
.File.process(dictionary:cursorInfoRequest:syntaxMap:)
Request.customRequest(request:)
SwiftDocs.init(file:dictionary:cursorInfoRequest:)
Norio Nomura
-
Remove
File.lines:setter
.
Norio Nomura
-
Add
SwiftDeclarationAttributeKind
that represents declaration attributes in Swift.
Daniel Metzing #504 -
Add
SourceKitObject
that representssourcekitd_object_t
in Swift.
Norio Nomura #489 -
Replaced linear index search with binary search in NSString extension.
Tamas Lustyik -
SourceKit search strategy improved on Linux. Supports swiftenv.
Alexander Lash -
Add
elements
case toSwiftDocKey
.
Sho Ikeda -
Added
module_info
command tosourcekitten
CLI.
Erik Abair
-
Fix
index
command fails using filename with spaces in compiler arguments.
Norio Nomura #480 -
Only allow U+000A and U+000D as line break tokens.
Marcelo Fabri #475 -
Fix ThreadSanitizer reports data race warning in SwiftLint.
Norio Nomura realm/SwiftLint#2089
- None.
- None.
-
SourceKitten now requires Xcode 9 and Swift 3.2+ to build.
Norio Nomura -
Deprecated
Request.failableSend()
. Please useRequest.send()
instead.
Norio Nomura -
Some APIs changed to
throws
.File.format(trimmingTrailingWhitespace:useTabs:indentWidth:) throws
Structure.init(file:) throws
SyntaxMap.init(file:) throws
Norio Nomura
- Return
SWIFT_NAME
when generating Objective-C docs.
Ibrahim Ulukaya
- Fix Swift declarations when generating Objective-C docs for generic types.
John Fairhurst
- None.
- None.
- Fix Swift 4.0.2 deprecation warnings in dependencies, specifically
SWXMLHash.
Norio Nomura
- None.
- Support Swift 4.0.2.
Norio Nomura #435
- Preserve horizontal alignment in multi-line Swift declarations.
John Fairhurst
- None.
-
Add
tabWidth
parameter (default:1
) forlineAndCharacter
.
Marcel Jackwerth -
Add
File(pathDeferringReading:)
initializer.
JP Simard
- Fix Swift declarations when generating Objective-C docs being truncated where
ampersands were included.
JP Simard
- None.
- Updates to support Xcode 9 beta 5 & accompanying versions of Swift 3.2/4.0.
JP Simard
- Fix compilation failures due to long debug times by removing compiler flag:
-warn-long-function-bodies=200
.
Marcelo Fabri
- Xcode 8.3 or later and Swift 3.1 or later are required to build.
Norio Nomura
-
Cache
NSString.CacheContainer
on Linux, matching behavior on Darwin, speeding up many repeated operations onNSString
on Linux.
JP Simard realm/SwiftLint#1577 -
Process Swift 3.2/4 doc comments.
John Fairhurst -
Support building with Xcode 9 beta 3 and the latest Swift 4 snapshots.
JP Simard
- None.
- None.
- None.
- Fix handling of Swift extensions of nested types.
John Fairhurst
- None.
- None.
- Improve quality & accuracy of Swift interfaces for Objective-C declarations
when generating Objective-C docs.
Norio Nomura #385
- None.
-
Fix running
sourcekitten version
when building with Swift Package Manager.
JP Simard -
Fix crash in
lineAndCharacter(forByteOffset:)
with strings including multi-byte unicode characters.
Marcelo Fabri realm/SwiftLint#1006 -
Fix compilation with latest Swift 4 snapshots.
Norio Nomura
- None.
- None.
-
More accurate doc comment association in Swift.
John Fairhurst #368 -
Fix crashes when parsing XML with Swift 3.1.1 on Linux.
Norio Nomura #379 -
Fix compilation with latest Swift 4 snapshots.
Norio Nomura
- None.
- Update
Cartfile.resolved
& corresponding git submodule to point to Yams 0.3.1. Also loosen the Yams version dependency inPackage.swift
to only specify~> 0.3
and not= 0.3.0
.
Norio Nomura
- None.
- None.
-
Added a new field
numBytesToErase
inCodeCompletionItem
to indicate how many bytes should be deleted prior to the cursor in order to finish the completion.
@KelvinJin -
Support Swift 3.1 on macOS.
sourcekitInProc
appears to be broken on Linux as of Swift 3.1.
Norio Nomura #348
- Fix a crash that occurred when a documentation comment ended with an extended
grapheme cluster.
Lukas Stührk #350
- Change
Text
enum case names to match Swift 3 API guidelines.
@istx25
- None.
- Make sending
Request
s safer in concurrent environments.
@krzysztofzablocki
- 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 theSourceKittenFramework
pod.
JP Simard
- Add
Request.yaml
API to create a sourcekit request from yaml and expose as arequest --yaml [file|text]
CLI command.
Keith Smiley #312
- None.
- None.
- Reduce compilation time.
Norio Nomura
- None.
- None.
- None.
- None.
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
- 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
-
Add
--spm-module [ModuleName]
flag tocomplete
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 theLINUX_SOURCEKIT_LIB_PATH
environment variable. A preconfigured Docker image is available on Docker Hub by the ID ofnorionomura/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
NSString.lines()
generated surplus line when string ended with newline character.
Norio Nomura #259
- None.
- None.
- Fixed Homebrew distribution.
Norio Nomura
This is the last release to support Swift 2.2 and Swift 2.3. The next release will require Swift 3.0.
-
Embedding frameworks needed by
sourcekitten
was moved from SourceKittenFramework Xcode target to the sourcekitten target. TheSourceKittenFramework.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
-
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
-
Fix issue where single-line declaration+bodies would include the body in the parsed declaration when generating docs.
JP Simard #45 realm/jazzy#226 -
Fix issue where directories ending with
.swift
would be considered Swift source files.
JP Simard realm/jazzy#586
- None.
-
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 todoc
to document Swift Package Manager modules. Need to runswift build
prior to runningsourcekitten doc
. The right Swift toolchain version must also be selected (by settingTOOLCHAIN_DIR
or similar).
JP Simard -
Add support
TOOLCHAINS
environment variable to selecting alternative toolchains for loading SourceKitService.
Norio Nomura
- Add support for handling
CXCursor_UnexposedDecl
declarations when documenting Objective-C.
JP Simard realm/jazzy#543
- None.
- Add
index
command.
JP Simard
- None.
- None.
- Swift declarations are included when generating Objective-C documentation.
JP Simard realm/jazzy#136
- 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
- Updated for Xcode 7.3.
JP Simard
- None.
- None.
- Now
libclang.dylib
andsourcekitd.framework
are dynamically loaded at runtime by SourceKittenFramework to use the versions included in the Xcode version specified byxcode-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
-
Simplify the process of generating library wrappers and validate library wrappers in unit tests.
JP Simard -
Support
swift test
on OS X.
Norio Nomura
-
Fix crash on DOS newlines.
Norio Nomura realm/SwiftLint#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
- Change
SwiftDocs.init(file:arguments:)
toSwiftDocs.init?(file:arguments:)
.
Norio Nomura
- Add
Request.failableSend()
that can handle SourceKitService crashes.sourcekitten doc
does not stop when SourceKitService crashes.
Norio Nomura
- Fix crash when offset points end of string.
Norio Nomura realm/SwiftLint#164
- Change
Line
from tuple to struct with extra propertiesrange
andbyteRange
.
Norio Nomura
- None.
- None.
- Replaced all uses of
XPCDictionary
,XPCArray
,XPCRepresentable
&xpc_object_t
with SourceKit equivalents.
JP Simard
- Supports building with Swift 2.2 snapshot & Swift Package Manager on OS X.
JP Simard
- Fix crash when file contains NULL character.
Norio Nomura realm/SwiftLint#379
- None.
-
Add
Structure.init(sourceKitResponse:)
.
Norio Nomura -
Improve performance of
Request.send()
.
Norio Nomura
- Add support for parsing module imports in Objective-C.
JP Simard realm/jazzy#452
- None.
- Add
NSString.lineAndCharacterForByteOffset
.
JP Simard
- Fixed multi-byte character handling in
File.getDocumentationCommentBody
.
JP Simard
- None.
-
Optimize
NSString.lineAndCharacterForCharacterOffset(...)
,NSString.NSRangeToByteRange(...)
andSyntaxMap.commentRangeBeforeOffset(_:)
.
Norio Nomura #119 -
Fix unicode handling of
String.commentBody(range:)
.
Norio Nomura
- None.
- Optimize
NSRange
operation.
Norio Nomura #119
File
is now afinal class
instead of astruct
andcontents
&lines
are now marked asvar
. This was done so that mutations to the underlying file on disk can be mirrored in aFile
instance.
JP Simard
None.
-
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 -
Fix pragma mark extraction with multibyte characters.
1ec5 #114
None.
- Increase robustness of file path handling.
Boris Bügling #86
- Add support for C/C++ struct, field & ivar types.
JP Simard realm/jazzy#374 realm/jazzy#387
None.
- Support "wall of asterisk" documentation comments.
Jeff Verkoeyen
-
Fix a string interpolation issue when generating completion options.
Benedikt Terhechte #97 -
Fix an out-of-bounds exception when generating pragma marks.
JP Simard realm/jazzy#370
None.
- Ability to generate Objective-C documentation.
Thomas Goyne JP Simard
None.
-
Add
compilerargs
option to complete command.
Masayuki Yamaya -
Add support for Xcode 7.1.
JP Simard
None.
- Improve error reporting when compiler arguments can't be parsed and log
xcodebuild
output to file instead of stderr.
JP Simard
None.
- Updated to Swift 2.0.
JP Simard
-
Update
File
lines
convenience property to be immutable.
Keith Smiley -
Added the ability to generate code completion options (
complete
command).
JP Simard
None.
None.
- Add
lines
convenience property toFile
Keith Smiley
None.
- Simplified rpath's.
JP Simard
None.
- Fixed a crash when parsing an empty documentation comment.
JP Simard realm/jazzy#236
None.
None.
- Fixed issue when installing 0.4.2 via Homebrew.
JP Simard
None.
None.
- SourceKitten can now be installed alongside Carthage because
SourceKittenFramework now nests its Commandant and LlamaKit frameworks.
JP Simard
- SwiftDocs now prints its file path in its
description
.
JP Simard
None.
None.
- Requires Swift 1.2 to build.
JP Simard
None.
None.
None.
-
Added definition line ranges to declarations.
JP Simard realm/jazzy#198 -
Parse documentation comments.
JP Simard
-
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
anddeinit
.
JP Simard #27 -
Fixed issues where USR wasn't accurate because dependencies couldn't be resolved.
JP Simard
- 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
None.
None.
None.
None.
None.
- Fixed improper UTF8 parsing of MARK comments.
JP Simard realm/jazzy#131
None.
-
Added CHANGELOG.md.
JP Simard realm/jazzy#125
-
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