Pre-release

@schroederc schroederc released this Jul 18, 2018

Assets 4

Added

  • write_tables: --experimental_beam_pipeline runs the post-processor as an
    Apache Beam pipeline
  • Go: support extracting/analyzing packages with vendor/ dirs
  • go_indexer: add --continue flag to log errors without halting analysis
  • viewindex: add --file flag to print a single file's contents
  • entrystream: support for reading/writing Riegeli record files
  • First release of the ExploreService APIs

Deprecated

  • entrystream: --read_json/--write_json are marked to be replaced by
    --read_format=json/--write_format=json

Fixed

  • Java indexer: search for ClassSymbol in all Java 9 modules
  • Java/JVM indexers: obtain JVM (a.k.a. "external") names in a principled way
Pre-release
Pre-release

@schroederc schroederc released this Jun 1, 2018

Assets 4

Due to the period of time between this release and v0.0.26, many relevant changes and fixes may not appear in the following list. For a complete list of changes, please check the commit logs: v0.0.26...v0.0.27

Notable additions:

  • First release of Go indexer and Go extractors.
  • Objective C is now supported in the C++ indexer.
  • identifier.proto: adds a new IdentifierService API.
  • Runtime plugins can be added to the Java indexer.

Notable changes:

  • Remove gRPC server and client code.
  • Schema:
    • Anchors no longer have childof edges to their parent file.
    • Anchor nodes must share their path, root, and corpus VName
      components with their parent file.
  • Format strings have been replaced by the MarkedSource protobuf message.
  • C++ analysis:
    • Included files are referenced by the ref/file edge.
    • code facts (containing MarkedSource protos) are emitted.
    • Better support for C++11, 14, and 17.
    • Limited CUDA support.
    • Improvements to indexing and rendering of documentation.
    • Added a plugin for indexing proto fields in certain string literals.
    • Type ranges for builtin structural types are no longer destructured (T*
      is now [T]*, not [[T]*]).
    • Decoration of builtin types can be controlled with
      --emit_anchors_on_builtins.
    • Namespaces are never defined, only refd.
    • Old-style name nodes removed.
    • The extractor now captures more build state, enabling support for
      __has_include
    • anchors involved in completes edges now contain their targets mixed
      with their signatures, making each completion relationship unique.
    • Support for indexing uses of make_unique et al as direct references to
      the relevant constructor.
    • Template instantiations can be aliased together with
      --experimental_alias_template_instantiations, which significantly
      decreases output size at the expense of lower fidelity.
  • Java analysis:
    • name nodes are now defined as JVM binary names.
    • diagnostic nodes are emitted on errors.
    • code facts (MarkedSource protos) are emitted.
    • Add callgraph edges for constructors.
    • Non-member classes are now childof their enclosing method.
    • Local variables are now childof their enclosing method.
    • Blame calls in static initializers on the enclosing class.
    • Emit references for all matching members of a static import.
    • Reference abs nodes for generic classes instead of their record nodes.
    • Emit data for annotation arguments.
    • Emit package relations from package-info.java files.
  • Protocol Buffers:
    • analysis.proto: add revision and build ID to AnalysisRequest.
    • analysis.proto: add AnalysisResult summary to AnalysisOutput.
    • analysis.proto: remove revision from CompilationUnit.
    • graph.proto: new location of the GraphService API
    • xref.proto: remove DecorationsReply.Reference.source_ticket.
    • xref.proto: add Diagnostic messages to DecorationsReply.
    • xref.proto: replace Location.Point pairs with common.Span.
    • xref.proto: by default, elide snippets from xrefs/decor replies.
    • xref.proto: replace Printable formats with MarkedSource.
    • xref.proto: allow filtering related nodes in the xrefs reply.
    • xref.proto: optionally return documentation children.
    • xref.proto: return target definitions with overrides.
Pre-release

@zrlk zrlk released this Nov 11, 2016

Assets 4

Notable changes:

  • Nodes and Edges API calls have been moved from XRefService to GraphService.
Pre-release

@zrlk zrlk released this Oct 28, 2016

Assets 4

Notable changes:

  • Replace google.golang.org/cloud dependencies with cloud.google.com/go
  • Update required version of Go from 1.6 to 1.7
Pre-release

@zrlk zrlk released this Aug 16, 2016

Assets 4

Notable fixes:

  • write_tables now tolerates nodes with no facts. Previously it could sometimes crash if this occurred.
Pre-release

@schroederc schroederc released this Jul 28, 2016

Assets 4

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
Pre-release

@schroederc schroederc released this Jul 20, 2016

Assets 4

Notable changes:

  • Schema: callable nodes and callableas edges have been removed.
  • xrefs.CrossReferences: change Anchors in the reply to RelatedAnchors
  • Removed search API
Pre-release

@schroederc schroederc released this May 12, 2016

Assets 4

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
Pre-release

@schroederc schroederc released this Mar 3, 2016

Assets 4

Notable fixes:

  • Java indexer: reduce redundant AST traversals causing large slowdowns
Pre-release

@schroederc schroederc released this Feb 26, 2016

Assets 4

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