Notable changes:
- Formats are being deprecated in favor of MarkedSource
- C indexer: no longer generates formats
- indexpack tool: replaced
--quiet
flag with--verbose
Notable additions:
- kythe tool: add
--filters
and--node_definitions
toxrefs
subcommand
Notable changes:
- Nodes and Edges API calls have been moved from XRefService to GraphService.
Notable changes:
- Replace google.golang.org/cloud dependencies with cloud.google.com/go
- Update required version of Go from 1.6 to 1.7
Notable fixes:
- write_tables now tolerates nodes with no facts. Previously it could sometimes crash if this occurred.
Notable changes:
- CrossReferences API: hide signature generation behind feature flag
- Java indexer: emit
ref/imports
anchors for imported symbols
Notable additions:
- Java indexer: emit basic
format
facts
Notable changes:
- Schema:
callable
nodes andcallableas
edges have been removed. xrefs.CrossReferences
: change Anchors in the reply to RelatedAnchors- Removed search API
Notable changes:
- xrefs service: replace most repeated fields with maps
- xrefs service: add
ordinal
field to each EdgeSet edge xrefs.CrossReferences
: group declarations/definitions for incomplete nodes- C indexer:
--flush_after_each_entry
now defaults totrue
Notable additions:
xrefs.Decorations
: add experimentaltarget_definitions
switch- kythe tool: add
--graphviz
output flag toedges
subcommand - kythe tool: add
--target_definitions
switch todecor
subcommand
Notable fixes:
write_tables
: correctly handle nodes with missing facts
- Javac extractor: add processors registered in META-INF/services
- javac-wrapper.sh: prepend bootclasspath jar to use packaged javac tools
Notable fixes:
- Java indexer: reduce redundant AST traversals causing large slowdowns
Notable changes:
- C extractor:
KYTHE_ROOT_DIRECTORY
no longer changes the working directory during extraction, but does still change the root for path normalization. http_server
: ensure the given--serving_table
exists (do not create, if missing)- Java indexer: fixes/tests for interfaces, which now have
extends
edges kythe
tool: display subkinds for related nodes in xrefs subcommand
Notable additions:
entrystream
: add--unique
flagwrite_tables
: add--entries
flag
Notable changes:
- C indexer:
--ignore_unimplemented
now defaults totrue
- Java indexer: emit single anchor for package in qualified identifiers
Notable additions:
- Java indexer: add callgraph edges
- Java indexer: add Java 8 member reference support
Notable additions:
write_tables
: produce serving data for xrefs.CrossReferences methodwrite_tables
: add flags to tweak performance--compress_shards
: determines whether intermediate data written to disk should be compressed--max_shard_size
: maximum number of elements (edges, decoration fragments, etc.) to keep in-memory before flushing an intermediary data shard to disk--shard_io_buffer
: size of the reading/writing buffers for the intermediary data shards
Notable changes:
- Denormalize the serving table format
- xrefs.Decorations: only return Reference targets in DecorationsReply.Nodes
- Use proto3 JSON mapping for web requests: https://developers.google.com/protocol-buffers/docs/proto3#json
- Java indexer: report error when indexing from compilation's source root
- Consistently use corpus root relative paths in filetree API
- Java, C indexer: ensure file node VNames to be schema compliant
- Schema: File nodes should no longer have the
language
VName field set
Notable additions:
- Java indexer: emit (possibly multi-line) snippets over entire surrounding statement
- Java indexer: emit class node for static imports
Notable fixes:
- Java extractor: correctly parse @file arguments using javac CommandLine parser
- Java extractor: correctly parse/load -processor classes
- xrefs.Edges: correctly return empty page_token on last page (when filtering by edge kinds)
Notable changes:
- Java 8 is required for the Java extractor/indexer
Notable fixes:
write_tables
: don't crash when given a node without any edges- Java extractor: ensure output directory exists before writing kindex
Notable fixes:
- Bazel Java extractor: filter out Bazel-specific flags
- Java extractor/indexer: filter all unsupported options before yielding to the compiler
Notable additions:
- Java indexer: add
ref/doc
anchors for simple class references in JavaDoc - Java indexer: emit JavaDoc comments more consistently; emit enum documentation
Notable changes:
- C indexer: rename
/kythe/edge/defines
to/kythe/edge/defines/binding
- Java extractor: change failure to warning on detection of non-java sources
- Java indexer:
defines
anchors span an entire class/method/var definition (instead of just their identifier; see below fordefines/binding
anchors) - Add public protocol buffer API/message definitions
Notable additions:
- Java indexer:
ref
anchors span import packages - Java indexer:
defines/binding
anchors span a definition's identifier (identical behavior to previousdefines
anchors) http_server
: add--http_allow_origin
flag that adds theAccess-Control-Allow-Origin
header to each HTTP response
Notable additions:
- Java indexer: name node support for array types, builtins, files, and generics
Notable fixes:
- Java indexer: stop an exception from being thrown when a line contains multiple comments
Notable additions:
http_server
: support TLS HTTP2 server interface- Java indexer: broader
name
node coverage - Java indexer: add anchors for method/field/class definition comments
write_table
: add--max_edge_page_size
flag to control the sizes of each PagedEdgeSet and EdgePage written to the output table
Notable fixes:
entrystream
: prevent panic when given--entrysets
flag
Notable changes:
- xrefs.Decorations: nodes will not be populated unless given a fact filter
- xrefs.Decorations: each reference has its associated anchor start/end byte offsets
- Schema: loosened restrictions on VNames to permit hashing
Notable additions:
- dedup_stream: add
--cache_size
flag to limit memory usage - C indexer: hash VNames whenever permitted to reduce output size
Notable fixes:
- write_tables: avoid deadlock in case of errors
Notable additions:
- Java extractor: add JavaDetails to each CompilationUnit
- Release the indexer verifier tool (see http://www.kythe.io/docs/kythe-verifier.html)
Notable fixes:
- write_tables: ensure that all edges are scanned for FileDecorations
- kythe refs command: normalize locations within dirty buffer, if given one
Notable changes:
- Dependencies: updated minimum LLVM revision. Run tools/modules/update.sh.
- C indexer: index definitions and references to member variables.
- kwazthis: replace
--ignore_local_repo
behavior with--local_repo=NONE
Notable additions:
- kwazthis: if found, automatically send local file as
--dirty_buffer
- kwazthis: return
/kythe/edge/typed
target ticket for each node
Notable additions:
- kwazthis: allow
--line
and--column
info in place of a byte--offset
- kwazthis: the
--api
flag can now handle a local path to a serving table
Notable fixes:
- Java indexer: don't generate anchors for implicit constructors
Notable additions:
- Bazel
extra_action
extractors for C and Java - Implementation of DecorationsRequest.dirty_buffer in xrefs serving table
Notable changes:
kythe
tool: merge--serving_table
flag into--api
flag
Notable fixes:
- Allow empty requests in
http_server
's/corpusRoots
handler - Java extractor: correctly handle symlinks in KYTHE_ROOT_DIRECTORY
Notable changes:
- Go binaries no longer require shared libraries for libsnappy or libleveldb
- kythe tool:
--log_requests
global flag - Java indexer:
--print_statistics
flag
Notable changes:
- optimized binaries
- more useful CLI
--help
messages - remove sqlite3 GraphStore support
- kwazthis: list known definition locations for each node
- Java indexer: emit actual nodes for JDK classes
Initial release