# Release Notes ## v0.0.23 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 ## v0.0.22 Notable changes: - Schema: `callable` nodes and `callableas` edges have been removed. - `xrefs.CrossReferences`: change Anchors in the reply to RelatedAnchors - Removed search API ## v0.0.21 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 to `true` Notable additions: - `xrefs.Decorations`: add experimental `target_definitions` switch - kythe tool: add `--graphviz` output flag to `edges` subcommand - kythe tool: add `--target_definitions` switch to `decor` 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 ## v0.0.20 Notable fixes: - Java indexer: reduce redundant AST traversals causing large slowdowns ## v0.0.19 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` flag - `write_tables`: add `--entries` flag ## v0.0.18 Notable changes: - C++ indexer: `--ignore_unimplemented` now defaults to `true` - 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 ## v0.0.17 Notable additions: - `write_tables`: produce serving data for xrefs.CrossReferences method - `write_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 ## v0.0.16 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) ## v0.0.15 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 ## v0.0.14 Notable fixes: - Bazel Java extractor: filter out Bazel-specific flags - Java extractor/indexer: filter all unsupported options before yielding to the compiler ## v0.0.13 Notable additions: - Java indexer: add `ref/doc` anchors for simple class references in JavaDoc - Java indexer: emit JavaDoc comments more consistently; emit enum documentation ## v0.0.12 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 for `defines/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 previous `defines` anchors) - `http_server`: add `--http_allow_origin` flag that adds the `Access-Control-Allow-Origin` header to each HTTP response ## v0.0.11 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 ## v0.0.10 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 ## v0.0.9 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 ## v0.0.8 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 ## v0.0.7 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 ## v0.0.6 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 ## v0.0.5 Notable additions: - Bazel `extra_action` extractors for C++ and Java - Implementation of DecorationsRequest.dirty_buffer in xrefs serving table ## v0.0.4 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 ## v0.0.3 Notable changes: - Go binaries no longer require shared libraries for libsnappy or libleveldb - kythe tool: `--log_requests` global flag - Java indexer: `--print_statistics` flag ## v0.0.2 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 ## v0.0.1 Initial release