Skip to content

Latest commit

 

History

History
1368 lines (1152 loc) · 114 KB

RELEASES.md

File metadata and controls

1368 lines (1152 loc) · 114 KB

Release Notes

[v0.0.59] - 2022-04-18

Features

  • api:
    • support patching Documentation definitions (#5244) (fa5b6aa9)
    • support filtering xrefs by their enclosing files (#5242) (bf5b1ac0)
    • support patching FileDecorations definitions (#5241) (44cece43)
    • allow a Workspace to be passed for xrefs patching (#5224) (38c43a11)
  • go_indexer: populate ReleaseTags/ToolTags with defaults (#5237) (0ad2c8ae)
  • java: bump Java version to 11 (#5223) (f4af9da3)
  • schema: add flag nodes (#5243) (e72c520a)

Bug Fixes

  • cxx_indexer: remove another source of corpusless nodes (#5247) (33fb1f0d)
  • doc: update description and examples for extends edge kind (#5229) (be6d3fd4)
  • extraction: fix javac9 extractor path (#5234) (e57ba0a6)
  • go_extractor: handle top-level source files in modules (#5239) (888c26d9)
  • go_indexer: fix satisfies check for 1.18beta2 (#5235) (60bd2fad)
  • java: emit wildcard generics in default corpus (#5210) (e8886d54)
  • serving: close MultiFilePatcher when requests exit early (#5245) (26df4b61)

[v0.0.58] - 2022-02-22

Deprecation

  • java: last release with JDK 8 support

Bug Fixes

  • cxx_indexer:
    • constructer initializers should be writes (#5220) (9efa5c92)
    • don't traverse field decls in lambdas (#5215) (ae62778b)
    • use function names, not exps, for semantics (#5213) (a11bf38f)
    • treat calls to inherited constructors like other members (#5198) (3db22d38)
  • go extractor image: updates for extracting to a single corpus (#5173) (8697a6c4)
  • go_indexer:
    • fix refs to anonymous members across packages (#5195) (e40b0a0c)
    • ensure generic references work across packages (#5166) (f2701611)
  • java:
    • do not emit doc nodes for non-javadoc commits by default (#5191) (b3b97642)
  • java_indexer:
    • use ref/id edges for class references in new expressions (#5211) (e151c464)
    • set the corpus path of diagnostics (#5203) (cf72c6e8)
    • fix ambiguous variable def position (#5196) (159055e4)
  • proto_indexer:
    • actually elide refs for top-level map types (#5219) (84181c2a)
    • elide references to builtins and maps (#5212) (0501c36b)
  • rust_common:
    • update Rust toolchain to fix tests on macOS Monterey (#5183) (86dbcbb8)
    • clippy fixes for new Rust version (#5161) (d65a6871)
    • ensure release rust extractor script is executable (#5155) (64969a85)
  • rust_extractor: set the working_directory (#5200) (07f4e5e5)
  • rust_indexer: emit built-in types in the same corpus as the CU (#5202) (63bc29e3)
  • serving: do not unnecessarily read indirection pages (#5178) (4b9c4789)

Features

  • cxx_indexer:
    • handle more proto functions (#5209) (effb97ae)
    • guess protobuf semantics (#5188) (7ddc015f)
    • support r/w and influence for user-defined operators (#5187) (c3236f7d)
  • go extractor: add flag to put deps in default corpus (#5169) (234f17f6)
  • go_indexer:
    • add definition links to MarkedSource (#5194) (86948564)
    • correct instantiated member references (#5163) (fccf5440)
    • add receiver type parameters to MarkedSource (#5160) (19e1699c)
    • add MarkedSource for function type parameters (#5159) (9bad9c81)
    • emit tapps for instantiated Named types (#5158) (dd574ee5)
    • ensure references are to non-instantiated methods (#5157) (7dc3b79f)
    • support satisfies edges for instance types (#5156) (eed1ece4)
  • rust_indexer:
    • add flag to disable emitting xrefs for stdlib (#5197) (1aa5b943)
    • remove need for save-analysis files to be saved to fs (#5193) (3806d62d)
  • schema: include Go generics examples (#5154) (4b7ae7b2)
  • serving: add Hash to FileInfo protos (#5207) (dd53bcde)
  • tooling: Support filtering of kzips by language. (#5167) (d3cea029)

[v0.0.57] - 2021-12-16

Bug Fixes

  • java: Update Flogger dependency to 0.7.3 due to log4j (#5152) (9a9fb44))

[v0.0.56] - 2021-12-13

Bug Fixes

  • java: Update Flogger dependency to 0.7.2 due to log4j (#5147) (ec0359e))

[v0.0.55] - 2021-10-18

  • Fixes an issue with the Bazel Rust extractor

[v0.0.54] - 2021-10-04

fuchsia_extractor has been updated to no longer include .rlib files

[v0.0.53] - 2021-08-27

Bug Fixes

  • style nit in the TS indexer (#5044) (2f1f2a37)
  • Added correct underline syntax (#4967) (733a6cf6)
  • update link to re2 syntax (#4952) (e8808410)
  • force selection of ar to unbreak os x build of libffi (#4905) (99ccb48d)
  • build: move BUILD rules next to go code (#5009) (3dc332be)
  • cc_indexer_test: use short_path for generated files (#5036) (da29f512)
  • cxx_indexer:
    • fix dangling reference (#5039) (8c0140b4)
    • assign usr nodes to the empty corpus (#4928) (12f483af)
    • refactor lvalue handling for dataflow (#4907) (9035307b)
  • docs:
    • include a note about anchor-to-file childof edges (#5007) (98391d0a)
    • use wrapper script for extracting make-based projects (#4997) (1df8f54c)
    • better highlight macos link, remove bazelisk recommendation (#4939) (dee76d77)
  • fuschia-extractor: Fix panic format string for Rust 2021 (#4958) (5edce0e5)
  • go_indexer: check whether embedded type is Named (#5028) (7babd407)
  • java:
    • guard against possible null sym field (#4892) (b5e52f15)
    • properly elide type arguments for constructor calls (#4889) (160b28af)
    • verifier test exposing the compiler implicitly tagging enum values as "static" (#4887) (9b4aace9)
  • java indexer: --override_jdk_corpus takes precedence over default corpus (#5043) (08aea04e)
  • java_extractor: properly filter/normalize Bazel javacopts (#4977) (59a94bf7)
  • kzip info: allow paths that begin with /kythe_builtins/ (#5030) (7a909d91)
  • rust_common:
    • remove reference to PROTO_COMPILE_DEPS (#5018) (bbaf4eb6)
    • remove references to PROTO_COMPILE_DEPS (#4992) (efa7141f)
  • rust_extractor:
    • process env vars and compiler args passed to wrapper (#5014) (d315b5be)
    • fix running the Rust extractor on macOS (#5013) (5db173cd)
    • make extractor tests more resilient (#5002) (6f719653)
    • change argument processing due to rules_rust change (#4996) (3044115c)
    • fix --out-dir path (#4993) (c1afdc7a)
    • Remove assert_cmd dependency from integration test (#4972) (f36068ae)
  • rust_indexer:
    • properly handle empty file contents (#5034) (b89f1678)
    • Fix proxy indexer (#5032) (d1ccce08)
    • allow files to be passed in for the extractor (#5024) (65ec646d)
    • remove reference to go_verifier_test (#5020) (8dd99679)
    • copy all generated proto files (#4968) (1e199931)
    • rustfmt everything (#4941) (82504c0a)
    • update to a recent nightly toolchain (#4940) (e77b26d4)
  • tool: add alias support to kythe command, add alias for "decor" (#4937) (9fe7e8ea)
  • typescript_indexer: fix compilation issues with TypeScript 4.3 (#4945) (828d622c)
  • verifier: remove darwin stubs and alwayslink libffi to satisfy dyld (#4906) (795ce805)
  • vscode: update vscode dependencies (#4920) (ed78ca68)

Features

  • api: add set of languages appearing in Origin (#4947) (d5419f31)
  • build:
    • add image and cloudbuild configs for pre-commit (#4898) (63fa149b)
    • include a custom bazelrc for cloud builder (#4897) (b0c64e1d)
    • add cloud build configuration for presubmit tests (#4894) (407fa2b6)
  • corpus checker: allow specifying an allowlist of corpora (#5033) (14585948)
  • cxx_common: properly index generated protos (#4984) (19c7da51)
  • cxx_indexer:
    • Allow VNames as NodeIds for #5037 (#5041) (3040754f)
    • Read the semantic field into metadata for #5037 (#5040) (06c49fc1)
    • Add semantics to metadata for #5037 (#5038) (96ed0a4b)
    • use default corpus for meta, builtin nodes (#5008) (fd30e097)
    • add kRefFile to EdgeKinds (#4931) (c0e92993)
    • r/w refs and influence for += style operators (#4909) (9dd66234)
    • support ++ and -- for influence and r/w refs (#4908) (fe3b10dc)
  • dev: add rustfmt checks in linter (#4989) (f21f37e4)
  • empty_corpus_checker: print out all corpora seen in the input (#5027) (b263fd0d)
  • extraction:
    • accept "arguments" in addition to "command" in compdb (#4986) (c71a871e)
    • support tree artifacts in bazel extractor (#4932) (147034d1)
  • go_indexer:
    • load inline metadata (#5001) (23a9265f)
    • add option to put tapp nodes in the CU corpus (#4951) (a367ca6f)
  • indexing: add metadata support for generated protos (#5021) (baed7a22)
  • java:
    • add empty corpus test and assign corpus to PACKAGE nodes (#5026) (24740e0e)
    • emit visibility and other modifier facts (#4886) (04347f60)
  • java indexer: use compilation corpus for jvm and jdk nodes (#5035) (fb7df986)
  • java_indexer:
    • place builtins in the compilation unit corpus (#4976) (0291fced)
    • add option to put tapps in the CU corpus (#4960) (0198d461)
  • kzip info: check for invalid absolute paths (#5022) (3bb00e01)
  • post_processing: implement extends_overrides. (#4995) (6889771f)
  • proxy: Add support for transmitting protos in wire format (#4983) (ae132ac1)
  • rust_common: prepare for Kythe release (#5055) (a5f0fdfa)
  • rust_extractor:
    • add support for processing vname configuration (#5053) (3139303d)
    • add script to automatically set LD_LIBRARY_PATH (#4998) (8a4c2498)
  • rust_indexer:
    • add cli argument for temporary directory (#5051) (6faca9f8)
    • Add support for communicating with the analyzer driver (#4985) (7e542813)
    • Get source file contents from the FileProvider (#4974) (70e517d4)
    • generate and check in rust protos (#4949) (703eb64f)
  • schema: add ref/writes to edge kinds (#4933) (ddb0c19c)
  • site: add a target for serving website locally (#4970) (b43e03f4)
  • testing: refactor empty corpus test and add one for golang (#5017) (dd19c9ff)

Performance

  • serving: default to more performant approximate totals (#4896) (0ebe1919)

[v0.0.52] - 2021-04-09

Features

  • build: allow in-tree lex/yacc toolchains (#4880) (ad8f0987)
  • common: allow named captures in vnames.json rules (#4883) (4398f3f5)
  • verifier: add stub for souffle support (#4881) (fe68af99)

Bug Fixes

  • go_vnames: add go vname archives to simple_vnames.json (#4882) (44e45a63)

[v0.0.51] - 2021-04-05

Bug Fixes

  • go_vnames: properly map .x file vnames (#4878) (00d8e038)

[v0.0.50] - 2021-03-31

Bug Fixes

  • allow print_extra_actions to print ObjcCompile (#4838) (2d995633)
  • revert #4813 (breaks darwin) (#4815) (50286c1c)
  • bazel_go_extractor: include .x files in required input (#4874) (a0a72617)
  • cxx_indexer: function definitions should influence declarations (#4812) (c741a386)
  • cxx_verifier: properly attribute srcs/hdrs to avoid ODR (#4821) (b802f32b)
  • docs: Use rules_ruby to hermetically generated the web site (#4857) (f975ce26)
  • go_indexer: fallback to method ownership by pos (#4867) (4097379d)
  • java:
    • emit "static" facts for classes and methods (#4861) (9c061944)
    • ensure a corpus is always set in extracted compilation units (#4849) (e7326868)
  • platform: use proper JSON marshalling in proxy (#4804) (d5a03e10)
  • proto: only decorate the relative type name in fields (#4872) (d24403f2)
  • serving:
    • move defer to after error check (#4862) (6e4b9aea)
    • use nearest FileInfo for revision data (#4827) (f734fb09)
  • tooling:
    • guard adding nil Entry to EntrySet (#4835) (24735fa1)
    • use protojson for metadata marshalling (#4806) (2d265641)
    • use protojson for Entry stream encoding (#4805) (6eaf95d2)
  • typescript:
    • prepare for breakage for upcoming 4.2 migration (#4864) (9abccb21)
    • tslints (#4843) (891120a3)
  • verifier:
    • use absl::Span instead of std::initializer_list elsewhere (#4834) (875a36f6)
    • refactor the assertion AST into a library (#4814) (de6b0c42)

Features

  • cxx_indexer:
    • add fields to the influence graph (#4820) (77f6424a)
    • track influence through vardecls (#4818) (b7025ca0)
  • docs: begin to document the influence relation (#4791) (ce3200a2)
  • indexing: add synchronous FDS method (#4817) (eaea3792)
  • java_extractor: allow specifying java sources batch size for extractor (#4823) (3bb67881)
  • schema: add ref/id to edge kinds (#4840) (fbad5f9a)
  • serving:
    • handle dirty_buffer in columnar decorations (#4858) (adb5eb51)
    • handle dirty_buffer in columnar decorations (#4858) (cbf4a453)
  • typescript: returns influence functions (#4841) (577446b7)
  • verifier:
    • don't spend time sorting input for the fast solver (#4863) (7f4c3f03)
    • convenience functions for building predicates and ranges (#4833) (1b160dab)
    • set up a library/tests for lowering assertions to souffle (#4832) (c8df46d2)

[v0.0.49] - 2021-01-22

Bug Fixes

  • disable TS function deprecation tagging (#4793) (2c0bafa8)
  • avoid non-inclusive language (#4683) (18401be2)
  • build: use @io_kythe// instead of @// in bazel build file template (#4711) (ca9e8881)
  • cxx_common:
    • change selector serialization to work better with protos (#4785) (55231f7e)
    • always initialize fields in FileOutputStream (#4757) (22f821c5)
  • cxx_indexer:
    • add missing cases and remove default from clang enum switches (#4799) (a6804702)
  • java_common: keep rooted URI paths rooted (#4691) (4f96ed5d)
  • java_indexer:
    • add MarkedSource for class initializer (#4758) (58bf4fad)
    • emit references to .class literals (#4756) (a54f6970)
    • handle doc refs to primitives (#4741) (76939133)
    • blame callsites under static fields on the clinit (#4740) (625299dc)
    • add zero-length definition for cinit (#4739) (f43841b6)
    • special-case builtin Array class lookup (#4738) (a4441336)
    • blame instance/static callsites on ctor/cinit methods (#4734) (34ee6628)
  • verifier: correctly pull out edge kinds and cache empty vnames/symbols (#4769) (5d627e80)

Features

  • create a localrun script (#4235) (dd6d7c96)
  • api:
    • add revision to non-anchor locations that may ref a file (#4699) (51c92b9b)
    • add revision fields for file/anchor locations (#4698) (2918c49b)
  • common: add kytheuri CorpusPath helpers (#4707) (371a5d65)
  • cxx_common:
    • allow any range-of-string-like-types for RegexSet::Build (#4787) (9e57829d)
    • allow matching with RE2 pattern in addtion to flat_hash_set (#4779) (761465a6)
    • extend bazel artifact selection to allow stateful selectors (#4764) (228c3070)
  • cxx_extractor:
    • use a stable working_directory if possible (#4771) (410f69c5)
    • allow specifiying build target name in environment (#4686) (a95f69ab)
  • cxx_indexer:
    • add user-provided template instantiation excludelist (#4701) (43f7d4de)
    • opt-in to emitting influence edges (#4700) (d62cf15c)
    • trace influence through function calls (#4696) (16c6730f)
    • distinguish field writes from reads (#4687) (582c4430)
    • add blame scopes for field references (#4682) (61a22a16)
  • java_indexer: tag abstract methods/classes as such (#4746) (0d455662)
  • serving:
    • plumb revision data for XRefService responses (#4710) (22f144ad)
    • add revision serving fields for #4699/#4698 (#4708) (d38aa957)
  • textproto:
    • allow compilation units to contain multiple sources (#4772) (37d71252)
    • expose DescriptorPool in plugin api (#4721) (c9b8c15c)
    • put example plugin behind a flag (#4695) (16a2eb53)
    • accept proto_library targets instead of .proto files (#4689) (659de4d2)
  • tooling: add optional analysis timeout to driver (#4714) (14d4fa59)
  • verifier:
    • build a souffle frontend that can read an entrystream (#4768) (0e9dc6a9)

[v0.0.48] - 2020-09-01

  • runextractor:
    • Pass flags to the compdb extractor (#4663) (38fd346)

[v0.0.47] - 2020-08-18

  • Include stacktraces from assertion failures in C++ tools (#4655) (784e8ee7)

[v0.0.46] - 2020-08-13

Features

  • Create new Rust Bazel extractor (#4602) (a030ce48)
  • Add library for generating Rust save_analysis files (#4594) (c84b2373)
  • Add support for defining environment variables passed to extractors (#4592) (ade706d5)
  • cxx_indexer:
    • record var-to-var influence (#4559) (e8461650)
    • annotate edges we know are writes to vars and ivars (#4558) (c3f64566)
    • blame variable references on the surrounding context (#4556) (b9ea1a9c)
  • extraction: generate build metadata kzip in bazel-extractor docker image (#4554) (7a528667)
  • fuchsia: Fuchsia-specific extractor (#4624) (38346f2e, closes #4606)
  • go-extractor image: record commit timestamp in kzip (#4582) (5813326c)
  • java_common: add ByteString overloads for fact value conversions (#4610) (a95d2e06)
  • rust:
    • Add support for Rust cross-references (#4641) (8555988e)
    • Makes the extractor more robust (#4640) (358eac11, breaks #)
    • Support emitting remaining definition types (#4638) (61dc64c1)
    • Add support for indexing enums (#4633) (b9844877)
    • Adds Fuchsia Rust extractor to release (#4634) (29d7f12e)
    • Add support to the Rust indexer for emitting module definitions and anchors (#4629) (405ee13f)
    • Support emitting function definitions (#4617) (b2876116)
    • Add Bazel rule for running Rust indexer tests (#4612) (a0f1f67b)
    • Create Rust indexer CLI (#4605) (2dba4dd9)
    • Unify Kythe Rust dependencies (#4611) (545968b9)
    • Create KytheWriter component for Rust indexer (#4565) (bf8c25a8)
    • Change Rust indexer FileProvider (#4564) (7852fc43)
    • Create provider and error modules for Rust indexer library (#4550) (d47857e7)
  • textproto: index enum values (#4615) (573ffff4)

Breaking Changes

  • rust: Makes the extractor more robust (#4640) (358eac11, breaks #)

Bug Fixes

  • Remove old cargo-kythe directory (#4601) (e71ea980)
  • Clean up old Rust tools (#4600) (9e316b15)
  • allow PushScope to work with braced-init (#4567) (70374dff)
  • bazel extractor: fix path to bazelisk in docker image (#4555) (468ad47f)
  • cxx_indexer:
    • avoid an assert check in Clang, silence errors (#4631) (0a700ac0)
    • handle null init expr (#4622) (bcdc8e9d)
    • report errors more directly rather than stderr (#4613) (9e12b4a4)
    • handle list-init on incomplete types (#4584) (0bcb51ef)
    • increase flexibility of proto library plugin (#4580) (d5f3e41b)
    • make sure init-list-expr has a type (#4571) (bfc03501)
    • properly filter empty ref/init exprs (#4560) (9fd021cd)
  • java_indexer: workaround JDK bug on Java 11 (#4614) (15cea9b3)
  • rust:
    • Fixes the kzip generation (#4650) (5b74224c)
    • Fix definition anchors and xrefs in the indexer (#4645) (00bb6402)
    • write_all instead of write in the extractor (#4646) (8cab33ed)
    • Fix Rust indexer issue with Trait definitions (#4644) (8750956d)
    • Fix bugs in the Rust implementation (#4642) (bfc0cc58)
    • Fix fuchsia_extractor test data (#4637) (9e1eedcd)
    • Ensure that Rust extractor creates a top-level folder (#4616) (297d4440)
  • schema:
    • add defines/implicit and examples (#4628) (0a500b8f)
    • document the use of special spans for implicit modules (#4625) (f1f9a814)
  • serving: turn diffmatchpatch panics into internal errors (#4621) (88c36a09)
  • tools: kzip merge uses proto as default encoding (#4649) (5b77cd64)
  • verifier: compile with the xcode clang (#4553) (9e75b8af)

[v0.0.45] - 2020-06-11

Bug Fixes

  • cxx_indexer: don't emit ref/init for unspecified fields (#4516) (6e60a52c)
  • java_indexer:
    • don't emit JVM nodes for erroneous types (#4509) (7f9e3d98)
  • serving: avoid returning a nil node in map (#4487) (4e303666)
  • ts_indexer: emit ref/call edges from calls. (#4478) (920aeaae)

Features

  • Change kzip writer implementations to use proto kzip encoding by default. (#4547) (566a83bd)
  • compdb:
    • print out command for failed extractions (#4546) (da636ca2)
    • continue processing other compilations on error (#4544) (a6022c91)
  • java_indexer: experimentally emit named edges to JVM nodes (#4490) (9753c0f6)
  • kzip: add subcommand and proto for metadata kzips (#4545) (f063dae5)
  • rust:

[v0.0.44] - 2020-04-21

Features

  • add lib for reading artifacts from bazel event streams (#4460) (0a124804)
  • api: return Documentation node defs even if no facts are found (#4458) (f03e8e67)
  • build: have arc run build test with named config (#4438) (756521e8)
  • cxx_extractor: cache symlink resolution in PathRealizer (#4483) (0f3c7f47)
  • cxx_indexer:
    • emit ref/id to class when class and ctor overlap (#4476) (0f9ced3e)
    • expose a useful internal metadata loading function (#4459) (f196b3e8)
  • indexing: add ref/id edge (#4435) (82ce8fc6)
  • runextractor cmake: add -extra_cmake_args option (#4436) (489b5aec)

Bug Fixes

  • require flex version 2.6 or newer (#4456) (70f2eeea)
  • cxx_indexer:
    • don't check-fail on copy-init-list (#4471) (addc2410)
    • properly emit ref/init edges in all cases (#4468) (62d89fe8)
    • emit ref and ref/init for designated inits (#4462) (5522b38a)
    • emit zero-width spans for entities in macro bodies (#4461) (118afbe2)
    • update proto literal support to mirror current lib (#4439) (74dfc7b2)
  • extraction: deterministically write files to kzip (#4479) (04e2fc9e)
  • java_indexer:
    • only consider Symbols without a source file external (#4472) (059806cf)
    • ensure annotated type vars generate consistent VNames (#4441) (fd91ce0a)
    • only apply jdk override for non-source symbols (#4434) (1d4ced6c)
  • java_tests: export jdk_kzip (#4443) (c76ad892)
  • ts_indexer: bug related to overridden functions. (#4463) (7288552a)

[v0.0.43] - 2020-03-10

Bug Fixes

  • bazel_go_extractor: record canonical importpath for archives (#4425) (9f999295)
  • cmake docs: make output directory before extracting (#4409) (2ceb0305)
  • cxx_indexer:
    • emit ref to class from ctor (#4400) (3a9b2a7c)
  • objc_tests: run objc tests on more platforms (#4426) (9ddf0176)
  • runextractor: set --build_file default to build.gradle (#4393) (eff63cb2)

Features

  • build: switch to an autoconfigured ubuntu 18.04 image and C++17 (#4385) (509d7c61)
  • example: recommend a way to handle TypeScript/&c-style modules (#4357) (9e9a6571)
  • go_indexer: support GeneratedCodeInfo .meta textproto files (#4414) (7c44d34c)
  • java_extractor: attribute corpus based on sources if unambiguous (#4399) (7f3868cf)

[v0.0.42] - 2020-02-19

Bug Fixes

  • copy_kzip:
    • hard links always fail under bazel so don't try (#4365) (10540135)
  • cxx_indexer:
    • address marked-source differences on builtin functions (#4379) (cbd9244c)
    • emit exactly one file-file generates edge for proto (#4377) (5ab67169)
    • use anchor not decl for file-file generates endpoint (#4372) (6e14dbde)
  • go_indexer: use the anchor for the file-file generates edges (#4348) (3d658d1d)
  • tooling:
    • ensure VNameRewriteRule JSON encoding is canonical (#4352) (124e000a)
    • keep track of added source file paths (#4351) (e753a99a)

Features

  • cxx_indexer:
    • add test for proto/c++ xrefs with included proto (#4363) (90f7c4e0)
    • emit USRs for macros (#4315) (#4358) (87d3be72)
  • extractors: add a passthrough bazel extractor (#4354) (e22e87aa)
  • go extractor: relative paths against KYTHE_ROOT_DIRECTORY (#4380) (18c0563f)
  • go indexer: add option to only emit doc/uri facts for stdlib pkgs (#4383) (255331cb)
  • go_indexer: add generates edges for proto-generated files (#4337) (2f01e628)
  • kzip_merge: allow applying vname rules during merge (#4366) (21d68ce6)
  • tooling: add vnames utility for handling rewrite rules (#4347) (4a75aef1)

[v0.0.41] - 2020-01-31

Features

  • cxx_indexer: add generates edges for proto-generated files (#4332) (299950d0)
  • java_extractor:
    • allow passing search paths as a map (#4323) (2ebd4c9f)
    • allow excluding modules from openjdk11 extraction (#4341) (b09b9a7f)
    • allow openjdk11 build and src dirs to differ (#4338) (b6bb46d4)
  • java_indexer: add generates edges for proto-generated java files (#4321) (8f2080d4)

Bug Fixes

  • cxx_common: rework VNameRef to conform to VName, templatize VNameLess (#4331) (2a83959d)
  • go extractor: treat -arc flag like -importpath (#4324) (0f75ac02)
  • java_extractor:
    • indirect runfiles path in opendjk11 extractor (#4335) (0354d63a)
    • wrong number of logger arguments (#4330) (e645e980)
    • use a stable working directory if possible (#4329) (75dd01f0)

[v0.0.40] - 2020-01-24

Bug Fixes

  • java_extractor:
    • add the processor classpath to the extractor action (#4301) (b079ce3e)
  • java_indexer:
    • only attempt to load implicit metadata if it exists (#4307) (188b1cec)
    • correctly reference JVM field nodes (#4304) (3e4c8add)
    • use in-memory class_output path for modular builds (#4299) (c8d23078)
    • handle --system none properly (#4297) (dc585623)
    • handle null FileObjects in readAhead (#4290) (0b7b623d)
    • enable readahead in new filemanager (#4284) (078aba28)

Features

  • java_indexer: support implicit protobuf metadata (#4262) (cace853f)
  • runextractor: Tell cmake to use clang (#4319) (5d10af8b)
  • kzip:
    • add source/input directories recursively (#4302) (d9442588)
    • relativize input paths (#4303) (fff4f9c3)

[v0.0.39] - 2019-12-19

Bug Fixes

  • java: disable errorprone plugin for java extraction (#4268) (08b674ea)
  • serving: avoid nil when serving data is missing SourceNode (#4269) (02a41e88, closes #4128)
  • typescript_indexer: emit refs to TYPE nodes in export statements (#4247) (cd3f14df)

[v0.0.38] - 2019-12-12

Bug Fixes

  • Retain exception cause in JavaCompilationUnitExtractor (#4258) (70120e55)
  • bazel extractor: change vnames for external paths (#4241) (22928892)
  • cxx_tools: replace sandboxed directory with bazel execroot (#4240) (4814f9f3)
  • java_common: fixes and utilities for exploded system directories (#4242) (13f0fa7d, closes #4213)
  • textproto: support direct instantiation of protobuf.Any messages (#4259) (b64188e4)

Features

  • textproto: index contents of google.protobuf.Any fields (#4254) (d429a737)

[v0.0.37] - 2019-12-03

Bug Fixes

  • extractors: use distinct proto meta files for cc_proto_library (#4234) (24d64419)

[v0.0.36] - 2019-12-02

Bug Fixes

  • bazel extractor: give external paths a root (#4233) (bddf41f9)
  • kzip: --encoding flag was previously ignored (#4216) (0f1bea83)

Features

  • java indexer: better support system modules (#4218) (a8cda826)

[v0.0.35] - 2019-11-15

Bug Fixes

  • release: include jsr250-api.jar in release archive (#3778) (1d8fcb97)

Features

  • java_indexer: plumb CorpusPaths for JVM nodes (#4205) (d83ee7ca)
  • jvm_indexer: allow JVM nodes to be refined by corpus/root/path (#4204) (952d1568)
  • serving: return known generators in DecorationsReply (#4201) (486c10a3)

[v0.0.34] - 2019-11-08

Bug Fixes

  • java extractor: Handle source files in jars (#4188) (df711e31, closes #4186)
  • jvm extractor: use class files as srcs, not jar (#4191) (907857c7)
  • kzip info: don't count compilation units by corpus (#4195) (88f5db4b)

Features

  • bazel extractor: put everything in the same corpus by default (#4192) (3966e3f7)
  • go_indexer: option to emit an edge for an anchor's semantic scope (#4187) (738f5fab)
  • java extractor: Include system modules in the compilation unit (#4194) (b4b1b975)
  • java_indexer: add generates edge to generated AutoValue sources (#4193) (f7614b19)
  • runextractor: pipe underlying cmake stderr to stderr (#4178) (aacea997)
  • typescript_indexer: add references to imports of 3rd party modules. (#4165) (1ed21f01)

[v0.0.33] - 2019-10-30

Features

  • release: Add runextractor to the release (#4171) (5d16675f)

[v0.0.32] - 2019-10-28

Bug Fixes

  • bazel-extractor: fix permissions when extracting release archive (#4168) (063dea79)
  • docs: update note on Go stdlib corpus name (#4148) (6f79e64b)
  • java: record EntrySet emission before calling emitter (#4145) (019f297f)
  • tools: fix generate_compilation_database on macOS (#4166) (#4167) (1999be3e)

Features

  • kzip info: default --read_concurrency to numcpu (#4157) (7fb5423d)
  • release: add extractors.bazelrc to release (#4163) (b1e68e29)

[v0.0.31] - 2019-10-10

Features

  • api:
    • add CrossReferencesRequest.totals_method flag (#4024) (3940fde5)
    • add build config to each related Anchor (#3738) (b8f01f6d)
    • allow a semantic scope to be associated per decoration (#3707) (643cc854)
    • add set of build configs per Corpus in CorpusRootsReply (#3572) (96cb400a)
    • add build configurations per FileTree entry (#3523) (b5eddd52)
    • add CrossReferencesRequest filter for build config (#3512) (cc9d2d66)
  • cxx_common:
    • support proto encoding of compilation units in kzips (#3940) (512fe0df)
    • document and implement kythe metadata as proto (#3912) (b19a1745)
    • Add ref imports edge field (#3465) (c9c6f6e5)
  • cxx_extractor:
    • use a toolchain for configuring cxx_extractor (#4030) (f1bed7e9)
    • allow resolving symlinks when creating vname paths (#4009) (a5c4bc39)
  • cxx_indexer:
    • provide defines spans for functions (#3708) (8cd2434b)
    • add tests and fix support for C++/proto metadata references (#3531) (dd8fe901)
  • docker_extract: support selecting encoding for kzip generation (#3947) (154cec53)
    • support package installation at extraction time to support system dependencies (#3641) (e7d15468)
    • Use bazelisk in Bazel extractor Dockerfile extraction. (#3596) (94e70cde)
    • add generic GCB Bazel extraction config (#3509) (abeff3e6)
    • add Bazel extraction Docker image (#3499) (2af62973)
  • extraction:
    • allow details to be added to a kindex required input (#4017) (255fb53d)
    • allow extractor to infer corpus from sources (#45) (bc7fc996)
  • go extractor:
    • add vnames.json support (#4069) (99cecdb6)
    • allow specifying go +build tags (#3851) (b8b89d1f)
  • go_indexer:
    • emit parameter comments (#4134) (93518511)
    • emit line comments when no preferred doc is present (#4132) (b3a278d5)
    • add deprecation facts for go (#3692) (09f04420)
    • use LOOKUP_BY_TYPED MarkedSource child for variables (#3689) (fc3ebd0f)
    • overriding method type satisfies interface method type (#3635) (426b1bf1)
    • add MarkedSource for tapp/tbuiltin nodes (#3631) (bbe98047)
    • add receiver type to function types (#3627) (3313fb3b)
    • convert variadic function parameters from slice (#3615) (0f638176)
    • add typed edges for bindings (#3611) (7f70f99d)
    • emit bindings for anonymous interface members (#3610) (d7af13c2)
  • java_common:
    • add forwarding method for setPathFactory (#4101) (699004c1)
    • use the standard compilation unit digest for kzip (#4060) (e5ef23b2)
    • implement standard compilation unit digesting (#4048) (55542254)
    • rudimentary CompilationUnit FileSystem (#3928) (8cb8d6d2)
    • add utility to convert schema proto enums (#3696) (c0b74290)
  • java_indexer:
    • Record @deprecated javadoc tags in the Java indexer (#2977) (84a77bf9)
    • move path-based file manager config to base class (#4133) (831b73ec)
    • command line option to use path-based file manager (#4122) (01858aba)
    • Initial path-based JavaFileManager implementation (#4115) (800002ca)
    • add typed edges for this/super (#4058) (dceb969d, closes #4055)
    • add property/* edges for @AutoValue classes (#3993) (0abf28c9)
    • add basic tests for java-9-10-11 features (#3898) (2139771c)
    • emit refs to JVM graph for externally defined nodes (#3800) (0d7614ed)
    • add receiver type to function types (#3628) (fe7aa759)
    • add MarkedSources for function tapp nodes (#3601) (f36eceff)
    • add MarkedSources for array/generic tapp nodes (#3561) (e2aaf23c)
  • jdk_indexing: allow extracting only specific make targets (#3935) (2978be61)
  • post_processing:
    • support Riegeli Snappy compression (#4072) (a7631889)
    • add Nodes.fromSource conversion utility (#3755) (03bdb570)
    • allow nodes/anchors to be ranked (#3750) (466b7bc4)
    • implement basic callers in PagedCrossReferences (#3712) (87f273d1)
    • support reading input files from a directory (#3497) (e907832f)
  • proto:
    • Add standalone proto extractor (#21) (c1c53ce4)
    • add extra_action and action_listener (#43) (956304df)
    • emit deprecation tags for proto fields (#3677) (418a3d9a)
    • proto plugin to embed metadata in C++ headers (#3511) (0d2ea56e)
  • schema:
    • embed metadata in schema.proto source file (#4020) (902b1344)
    • add Java utility to convert Node/Entry protos (#3714) (19567cea)
    • add schema proto representation of a Kythe Entry (#3704) (058565aa)
  • serving:
    • add wildcard node kind support to xrefs indirection (#3984) (2f8a5bcf)
    • experimental support for xrefs indirection (#3980) (bfb2c24c)
    • add build configs per corpus (#3580) (0292676f)
    • add build configs to FileTree serving data (#3527) (448d46e8)
  • textproto_indexer:
    • add indexer for text-format protobuf (#39) (d9c96147)
    • add standalone extractor for textproto (#35) (72cd0129)
    • add library for parsing textproto schema comments (#31) (b6f38f05)
    • support inline repeated field syntax (#46) (832e1583)
    • add refs for schema comments (#53) (93e69912)
  • tooling:
    • implement (*riegeli.Writer).Position (#3919) (94637264)
    • add --semantic_scopes flag to kythe decor command (#3719) (bd17d082)
    • add --build_config filter to 'kythe xrefs' command (#3588) (8cd01247)
    • add --build_config filter to 'kythe decor' command (#3587) (9cae15ee)
    • add KytheFS tool to mount index to filesystem (#3419) (cddcda7c)
    • migrate kythe CLI to new filetree API (#3487) (59aee1e3)
    • kzip can merge into the existing output file (#3679) (ea0f3de7)
    • add kzip subcommand for creating trivial kzips (#3537) (dc839a1e)
    • add function for merging multiple KzipInfos together (#4084) (e2202c5a)
    • change Unit.Digest() to return hex string representation (#4044) (f81e09b3)
    • thread encoding into kzip_extractor bazel rule (#4027) (3f81db7f)
    • add filter subcommand to kzip tool (#3998) (7d4e7de4)
    • add kzip view command (#3957) (5d4b4003)
    • support both proto and JSON encodings in Java for compilations in kzips. Also move kzip testdata to common location. (#3852) (4d86c48d)
    • create permits specifying encoding (#3842) (18ad24ed)
    • add support for encoding compilation units as proto and/or JSON in kzips. (#3836) (3643205e)
    • add info command to kzip tool which returns count of compilation units and referenced corpus names. (#3840) (6f83e91f)
    • add option to read compilation units in parallel (#4096) (1db42c19)
    • add proto output format to kzip info (#3991) (d32202eb)
    • use vfs to allow for changing filesystem impl (#3971) (cb882e9a)
    • add more details and json output mode to kzip info (#3933) (09cb07d9)
    • allow complete specification of a compilation unit (#3542) (7f82fe42)
    • allow embedding details messages in kzips (#3538) (d0255f56)
  • typescript: Support AngularTemplateCompile mnemonic (#4105) (98808c0a)
  • typescript_indexer:
    • don't emit duplicate nodes for namespaces (#4062) (3abf05cf)
    • print plugin names (#4061) (f4f15815)
    • emit references to hops in imports (#3990) (e385c8c3)
    • add minimal support for JSX (#3888) (c9f999d0)
    • expose getSymbolName through IndexerHost (#3909) (6d55e1e0)
    • add support for utf-16 offset lookup (#3908) (eae1ff81)
    • add support for indexing literal properties (#3899) (b4d64007)
    • define VName specification (#3783) (ca76e298)
    • emit "aliases" edge on aliased types (#3870) (7dd02837)
    • emit "overrides" edges for overridden methods (#3872) (ce043510)
    • index export equals and import equals nodes (#3871) (1c54c8a1)
    • add support for indexing module decls (#3873) (dd53f6b1)
    • add xrefs for declarations in objects (#3864) (e7e41b67)
    • reference modules in export statements (#3863) (f3eb65f1)
    • pass module name creation logic to plugins (#3828) (5756795f)
    • VName schema compliance for constructors (#3785) (cdee8bf8)
    • Getter/Setter entries (#3784) (0e2dd884)
    • add defines anchors for functions (#3775) (f03ecc89)

Bug Fixes

  • bump nokogiri to 1.10.4 (#4007) (870a5830)
  • update vulnerable outdated js-yaml NPM package (#3740) (b873a1c6)
  • get toolchains for remote builds working correctly (#7) (b034a8f3)
  • api: filter decoration overrides by desired build configs (#3739) (3f4ef51b)
  • cxx_common:
    • fix path_utils_test when tempdir is a symlink (#4022) (f71af3dd)
    • update LLVM to r367622 (#3944) (1d7123f9)
    • anticipate changes in Bison 3.3 syntax (#3513) (d14cb507)
  • cxx_extractor:
    • use the right compiler executable (#4032) (a2015717)
    • better support cuda extractions (#3747) (2d7f89c6)
    • include executable name in extracted arguments (#4023) (58a62498)
    • Set cxx extractor kzip times to a constant (#4086) (642c9330)
  • cxx_indexer:
    • emit references to dependent names based on name, not location (#4097) (28cf259b)
    • allow and test std::make_shared (#4059) (4016c5b3)
    • allow protobuf metadata in .stubby.h files (#4004) (29cdef09)
    • properly reference C++17 deduced templates (#3900) (69ef278c)
    • normalize windows paths (#3742) (167786ac)
    • insist that compilation units have working directories (#3716) (d3e059d1)
    • always add . to the VFS (#3715) (a8e95930)
    • use URI-friendly encoding for VName fields (#3705) (f9a7e299)
    • use build_config when claiming implicit AST subtrees (#3619) (8868db03)
    • attach build_config to file claim tokens (#3590) (05800883)
  • cxx_verifier: fix MSAN error on use-of-uninitialized (#4010) (08fa1823)
  • go extractor:
    • fix invalid Details messages for packages (#4120) (426a9b0b)
    • Change action go bazel extractor runs on (#4087) (27626173)
    • -tags is space-separated, not comma (#3856) (c932970f)
  • go_common: use nondeprecated zip file handle mod time (#4047) (b9e9c011)
  • go_indexer:
    • use only name for a named type's MarkedSource (#3850) (f363e506)
    • handle overrides for structs in a other packages (#3606) (f3364504)
    • always emit anchor for anon value types (#3605) (d97ca443)
  • java:
    • handle more null data from java (#4082) (e878b5f5)
    • accept either JRE 8 or JRE 9 style classpath in test (#3972) (3ea7de6c)
  • java_build: remove jvm_flags which complicate running on newer JDKs (#3955) (b4bdb395)
  • java_common:
    • normalize paths before looking them up (#4106) (d4155894)
    • adjust case when getting default format (#4104) (64659661)
    • add file digest as Path URI host (#3975) (2ead1aa4)
    • allow resolving relative paths against CU working dir (#3937) (8050ceec)
    • replace or remove JDK9+ methods (#3930) (b1810d84)
  • java_extractor:
    • include working directory in extracted proto (#4130) (bc363f87)
    • and tests should use ambient langtools (#4053) (7f680e94)
    • support missing -s in aspect extraction (#3986) (7609b970)
    • deal with both kinds of Generated annotations (#3889) (048134fd)
    • remove Option.D from compilation unit again (#3670) (8a0bdfda)
    • use reflection to access/override JDK bits. (#3612) (72915498)
    • Don't include time in kzips for java (#4085) (3c25f1a0)
  • java_indexer:
    • cast to base with asPath to support JDK8 (#4137) (1ab8b883)
    • address part of #3459 by claiming comments for annotation lines (#3489) (bcddb97c)
    • use Path to resolve metadata (fixes #4135) (#4136) (e03d4726)
    • accept AutoValue.Builder interface definitions (#4054) (e12eee78)
    • implement JDK9+ path-based FileObject methods (#3976) (bb70a39f)
    • dynamically resolve JRE 9 bootclasspath (#3970) (f95e4395)
    • emit and test type parameter MarkedSources (#3832) (7cb46e3f)
    • emit MarkedSource for defined nodes referenced earlier in analysis (#3826) (e3d031cc)
    • avoid NPE when referencing Java package in comment (#3803) (42f94049)
    • only emit MarkedSource for defined symbols (#3792) (3079f619)
    • only emit MarkedSource for defined symbols (#3788) (6bfb2f7a)
    • box LOOKUP_BY_PARAM MarkedSources with text (#3632) (44771993)
  • jdk_extractor: bazel runfiles no longer expect the workspace name (#4131) (ae19c938)
  • pipeline: beam output path can contain a filesystem scheme (#3532) (eba6ff48)
  • post_processing:
    • split semantic callers within xrefs group (#3776) (87e1e2ed, closes #3768)
    • convert DirectoryReply to FileDirectory for serving data (#3604) (0ef9b748)
    • make pipeline more tolerant to some errors (#3490) (dc33424b)
  • proto:
    • include deprecation tags for messages, enums and enum values. (#3822) (c602555d)
    • link BuildDetails proto (#49) (e9b68f17)
    • proto fields have subkind "field" (#4098) (ac6cb14b)
    • empty deprecation message and additional test case (#3678) (d56bc1d3)
    • skip synthesized map entry types (#26) (c23d4d52)
    • close file after use in SourceTree.Read() (#18) (da1c9cc0)
    • extract test files in TEST_TMPDIR instead of runfiles dir (#29) (f94a1299)
  • serving:
    • properly return lookup errors (#3764) (d5c0e4ec)
  • tests:
    • make proto/textproto tests not rely on jq (#3967) (28986284)
    • remove deadline option from proto testdata (#8) (7f2f889d)
  • textproto_indexer:
    • continue analysis even if schema comments are invalid (#3859) (07e5eda4)
    • handle relative paths correctly in textproto and proto extractors (#3694) (dbaa0a8b)
    • implement and test repeated extension fields (#50) (e658b1cb)
    • improve error handling around optionals (#42) (24455b8a)
  • tooling:
    • do not consider the empty kzip an error (#4111) (7dc45432)
    • check error before result (#4110) (3207a48f)
    • use uncompressed riegeli block size when decompressing (#3997) (a6040e85)
    • correct chunk position starting a block boundary (#3782) (341fd2cf)
    • fix #3246 (#3737) (c2d7ee67)
    • allow sample UI dependencies to be disabled (#3717) (4c687714)
    • migrate 'kythe ls' filters from deprecated FileTree API (#3566) (5c3e9c27)
    • migrate kythefs from deprecated FileTree API (#3564) (3ffd2597)
    • populate KzipInfo.total_files in info.go (#4018) (d1b99218)
    • make default kzip encodings explicit (#4012) (b526e547)
    • use proper incantation so testdata still found on import (#3846) (06f9aa46)
    • EncodingFlag fully implements flag.Getter and flag.Value (#3843) (55cf0dd2)
    • determine unit corpus and file language more robustly (#4095) (c4a354e8)
    • implement flag.Getter for all flat types (#3544) (a47b32ed)
    • Don't include kzip creation time in kzip (#4083) (5092d9d5)
  • typescript_indexer:
    • add anon signature part for function expressions (#3880) (b805d3a9)
    • don't throw on unfound module path (#3882) (e8f2c5ec)
    • do not give anonymous names to binding patterns (#3857) (f4fa3d58)
    • Do not name scopes created by rvalues (#3841) (4e6d241f, closes #3834)
    • differentiate signatures of static and instance members (#3819) (74e1e4a2)
    • point class type and values at the class name (#3835) (35f41ccd)
    • remove deprecated childof edge from anchor to file (#3724) (5533e861)
    • properly lookup file VNames (#3686) (34369679)
    • obey VNames that come in from the input (#3467) (a2bc9861)

Performance

  • post_processing: use heap.Fix in disksort (#4063) (3cfd3b3b)

[v0.0.30] - 2019-02-07

Features

  • api:
    • add DecorationsRequest filter for build config (#3449) (2480a935)
    • structured entries in DirectoryReply (#3425) (53e3a097)
  • build_details: add a build_config field to BuildDetails proto (#3303) (ed5ce4d5)
  • columnar:
    • add Seek method to keyvalue.Iterator interface (#3211) (753c91ae)
    • support build_config filtering of columnar decorations (#3450) (810c9211)
    • add definitions for related node xrefs (#3228) (52a635eb)
    • handle columnar decl/def CrossReferences (#3204) (eec113df)
  • cxx_indexer:
    • copy in utf8 line index utils (#3276) (93e69d29)
    • support emitting USRs for other kinds of declarations (#3268) (4d705cf9)
    • Support adding Clang USRs to the graph (#3226) (15535c65)
    • include build/config fact on anchors when present (#3437) (96c7d6bc)
    • Add support for member pointers and uses of them a… (#3258) (a83e856d)
    • read all compilations from a kzip file (#3232) (3bd99ee7)
  • gotool_extractor:
    • canonicalize corpus names as package/repo roots (#3377) (f2630cbc)
    • add Docker image for Go extractor (#3340) (f1ef34b5)
    • use Go tool to extract package data (#3338) (a97f5c0e)
  • java_indexer: emit implicit anchors for default constructors (#3317) (90d1abfe)
  • objc_indexer:
    • support marked source for @property (#3320) (b79d49bd)
    • marked source for category methods (#3311) (414bdf2d)
  • post_processing:
    • limit disksort memory by custom Size method (#3201) (7919fcf1)
    • pass-through build config in pipeline (#3444) (59be834f)
    • add build configuration to anchors in serving data (#3440) (e3c7fa18)
    • add diagnostics to file decorations (#3277) (0cd5dfca)
    • add support for Riegeli input files (#3223) (4035f931)
    • emit columnar callers (#3220) (e1fe01a6)
    • allow write_tables to compact output LevelDB (#3215) (2895c1c7)
  • sample-web-ui:
    • add link to related node definitions (#3227) (854ab489)
    • display callers in xrefs panel (#3221) (5c563dc7)
  • tools:
    • entrystream: support aggregating entries into an EntrySet (#3363) (e1b38f50)
    • kindex: support reading kzip files (#3293) (2be0c1f0)
  • release:
    • add extract_kzip tool to release archive (#3454) (3ab6111d)
    • add protobuf indexer to release (#3358) (ae537104)

Bug Fixes

  • api: properly marshal protos with jsonpb (#3424) (358b4060)
  • cxx_common:
    • add enumerator for kDocUri fact (#3378) (4b8925e0)
    • Add a dependency for strict dependency checking (#3269) (5a5a230e)
  • cxx_extractor: segfault when given nonexistent file (#3234) (6c0fef7a)
  • cxx_indexer:
    • set CompilationUnit.source_file for unpacked input (#3254) (35706fb1)
    • don't crash on empty function/enum bodies (#3281) (f06d335d)
  • gotool_extractor: when no global corpus is given, use package's corpus for each file (#3290) (6bc18f57)
  • java_common: allow analyzers to throw InterruptedExceptions (#3330) (01617d9c)
  • java_indexer:
    • make workaround source compatible with JDK 11 (#3275) (7284ac2c)
    • ensure static import refs are accessible (#3305) (c453a319)
    • ensure static import refs are static (#3294) (0f80fe48)
    • do not close System.out after first analysis (#3199) (e2af342f)
  • jvm_indexer: prepare code using ASM for Java 11 (#3214) (94810956)
  • post_processing: remove anchors from edge/xref relations (#3198) (b81ef3af)

[v0.0.29] - 2018-10-29

Added

  • KZip support has been added to all core extractors/indexers
  • cxx_indexer: define a deprecated tag and use it for C++ (#2982)
  • java_indexer: analyze default annotation values (#3004)

Changed

  • java_indexer: do not include Symbol modifiers in hashes (#3139)
  • javac_extractor: migrate javac_extractor to use ambient langtools (#3093)
  • verifier: recover file VNames using file content; reorder singleton checking (#3166)

Deprecated

  • Index packs and .kindex files have been deprecated in favor of .kzip files

Fixed

  • go_indexer: mark result parameters as part of the TYPE in MarkedSource (#3021)
  • java_indexer: avoid NPE with erroneous compilations missing identifier Symbols (#3007)
  • java_indexer: guard against null inferred lambda types (#3132)
  • java_indexer: support JDK 11 API change (#3149)
  • javac_extractor: ignore JDK 9 modules as well as JDK 8 jars (#2889)
  • javac_extractor: pass through -processorpath; don't delete gensrcdir early (#3063)

[v0.0.28] - 2018-07-18

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

[v0.0.27] - 2018-07-01

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: https://github.com/kythe/kythe/compare/v0.0.26...v0.0.27

Added

  • 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.

Changed

  • 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.

[v0.0.26] - 2016-11-11

Changed

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

[v0.0.25] - 2016-10-28

Changed

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

[v0.0.24] - 2016-08-16

Fixed

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

[v0.0.23] - 2016-07-28

Changed

  • CrossReferences API: hide signature generation behind feature flag
  • Java indexer: emit ref/imports anchors for imported symbols

Added

  • Java indexer: emit basic format facts

[v0.0.22] - 2016-07-20

Changed

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

[v0.0.21] - 2016-05-12

Changed

  • 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

Added

  • 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

Fixed

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] - 2016-03-03

Fixed

  • Java indexer: reduce redundant AST traversals causing large slowdowns

[v0.0.19] - 2016-02-26

Changed

  • 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

Added

  • entrystream: add --unique flag
  • write_tables: add --entries flag

[v0.0.18] - 2016-02-11

Changed

  • C++ indexer: --ignore_unimplemented now defaults to true
  • Java indexer: emit single anchor for package in qualified identifiers

Added

  • Java indexer: add callgraph edges
  • Java indexer: add Java 8 member reference support

[v0.0.17] - 2015-12-16

Added

  • 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] - 2015-12-08

Changed

  • 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

Added

  • Java indexer: emit (possibly multi-line) snippets over entire surrounding statement
  • Java indexer: emit class node for static imports

Fixed

  • 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] - 2015-10-13

Changed

  • Java 8 is required for the Java extractor/indexer

Fixed

  • write_tables: don't crash when given a node without any edges
  • Java extractor: ensure output directory exists before writing kindex

[v0.0.14] - 2015-10-08

Fixed

  • Bazel Java extractor: filter out Bazel-specific flags
  • Java extractor/indexer: filter all unsupported options before yielding to the compiler

[v0.0.13] - 2015-09-17

Added

  • 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] - 2015-09-10

Changed

  • 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

Added

  • 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] - 2015-09-01

Added

  • Java indexer: name node support for array types, builtins, files, and generics

Fixed

  • Java indexer: stop an exception from being thrown when a line contains multiple comments

[v0.0.10] - 2015-08-31

Added

  • 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

Fixed

  • entrystream: prevent panic when given --entrysets flag

[v0.0.9] - 2015-08-25

Changed

  • 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

Added

  • dedup_stream: add --cache_size flag to limit memory usage
  • C++ indexer: hash VNames whenever permitted to reduce output size

Fixed

  • write_tables: avoid deadlock in case of errors

[v0.0.8] - 2015-07-27

Added

Fixed

  • write_tables: ensure that all edges are scanned for FileDecorations
  • kythe refs command: normalize locations within dirty buffer, if given one

[v0.0.7] - 2015-07-16

Changed

  • 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

Added

  • kwazthis: if found, automatically send local file as --dirty_buffer
  • kwazthis: return /kythe/edge/typed target ticket for each node

[v0.0.6] - 2015-07-09

Added

  • 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

Fixed

  • Java indexer: don't generate anchors for implicit constructors

[v0.0.5] - 2015-07-01

Added

  • Bazel extra_action extractors for C++ and Java
  • Implementation of DecorationsRequest.dirty_buffer in xrefs serving table

[v0.0.4] - 2015-07-24

Changed

  • kythe tool: merge --serving_table flag into --api flag

Fixed

  • Allow empty requests in http_server's /corpusRoots handler
  • Java extractor: correctly handle symlinks in KYTHE_ROOT_DIRECTORY

[v0.0.3] - 2015-07-16

Changed

  • 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] - 2015-06-05

Changed

  • 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] - 2015-05-20

Initial release

[Unreleased] https://github.com/kythe/kythe/compare/v0.0.59...HEAD [v0.0.59] https://github.com/kythe/kythe/compare/v0.0.58...v0.0.59 [v0.0.58] https://github.com/kythe/kythe/compare/v0.0.57...v0.0.58 [v0.0.57] https://github.com/kythe/kythe/compare/v0.0.56...v0.0.57 [v0.0.56] https://github.com/kythe/kythe/compare/v0.0.55...v0.0.56 [v0.0.55] https://github.com/kythe/kythe/compare/v0.0.54...v0.0.55 [v0.0.54] https://github.com/kythe/kythe/compare/v0.0.53...v0.0.54 [v0.0.53] https://github.com/kythe/kythe/compare/v0.0.52...v0.0.53 [v0.0.52] https://github.com/kythe/kythe/compare/v0.0.51...v0.0.52 [v0.0.51] https://github.com/kythe/kythe/compare/v0.0.50...v0.0.51 [v0.0.50] https://github.com/kythe/kythe/compare/v0.0.49...v0.0.50 [v0.0.49] https://github.com/kythe/kythe/compare/v0.0.48...v0.0.49 [v0.0.48] https://github.com/kythe/kythe/compare/v0.0.47...v0.0.48 [v0.0.47] https://github.com/kythe/kythe/compare/v0.0.46...v0.0.47 [v0.0.46] https://github.com/kythe/kythe/compare/v0.0.45...v0.0.46 [v0.0.45] https://github.com/kythe/kythe/compare/v0.0.44...v0.0.45 [v0.0.44] https://github.com/kythe/kythe/compare/v0.0.43...v0.0.44 [v0.0.43] https://github.com/kythe/kythe/compare/v0.0.42...v0.0.43 [v0.0.42] https://github.com/kythe/kythe/compare/v0.0.41...v0.0.42 [v0.0.41] https://github.com/kythe/kythe/compare/v0.0.40...v0.0.41 [v0.0.40] https://github.com/kythe/kythe/compare/v0.0.39...v0.0.40 [v0.0.39] https://github.com/kythe/kythe/compare/v0.0.38...v0.0.39 [v0.0.38] https://github.com/kythe/kythe/compare/v0.0.37...v0.0.38 [v0.0.37] https://github.com/kythe/kythe/compare/v0.0.36...v0.0.37 [v0.0.36] https://github.com/kythe/kythe/compare/v0.0.35...v0.0.36 [v0.0.35] https://github.com/kythe/kythe/compare/v0.0.34...v0.0.35 [v0.0.34] https://github.com/kythe/kythe/compare/v0.0.33...v0.0.34 [v0.0.33] https://github.com/kythe/kythe/compare/v0.0.32...v0.0.33 [v0.0.32] https://github.com/kythe/kythe/compare/v0.0.31...v0.0.32 [v0.0.31] https://github.com/kythe/kythe/compare/v0.0.30...v0.0.31 [v0.0.30] https://github.com/kythe/kythe/compare/v0.0.29...v0.0.30 [v0.0.29] https://github.com/kythe/kythe/compare/v0.0.28...v0.0.29 [v0.0.28]: https://github.com/kythe/kythe/compare/v0.0.27...v0.0.28 [v0.0.27]: https://github.com/kythe/kythe/compare/v0.0.26...v0.0.27 [v0.0.26]: https://github.com/kythe/kythe/compare/v0.0.25...v0.0.26 [v0.0.25]: https://github.com/kythe/kythe/compare/v0.0.24...v0.0.25 [v0.0.24]: https://github.com/kythe/kythe/compare/v0.0.23...v0.0.24 [v0.0.23]: https://github.com/kythe/kythe/compare/v0.0.22...v0.0.23 [v0.0.22]: https://github.com/kythe/kythe/compare/v0.0.21...v0.0.22 [v0.0.21]: https://github.com/kythe/kythe/compare/v0.0.20...v0.0.21 [v0.0.20]: https://github.com/kythe/kythe/compare/v0.0.19...v0.0.20 [v0.0.19]: https://github.com/kythe/kythe/compare/v0.0.18...v0.0.19 [v0.0.18]: https://github.com/kythe/kythe/compare/v0.0.17...v0.0.18 [v0.0.17]: https://github.com/kythe/kythe/compare/v0.0.16...v0.0.17 [v0.0.16]: https://github.com/kythe/kythe/compare/v0.0.15...v0.0.16 [v0.0.15]: https://github.com/kythe/kythe/compare/v0.0.14...v0.0.15 [v0.0.14]: https://github.com/kythe/kythe/compare/v0.0.13...v0.0.14 [v0.0.13]: https://github.com/kythe/kythe/compare/v0.0.12...v0.0.13 [v0.0.12]: https://github.com/kythe/kythe/compare/v0.0.11...v0.0.12 [v0.0.11]: https://github.com/kythe/kythe/compare/v0.0.10...v0.0.11 [v0.0.10]: https://github.com/kythe/kythe/compare/v0.0.9...v0.0.10 [v0.0.9]: https://github.com/kythe/kythe/compare/v0.0.8...v0.0.9 [v0.0.8]: https://github.com/kythe/kythe/compare/v0.0.7...v0.0.8 [v0.0.7]: https://github.com/kythe/kythe/compare/v0.0.6...v0.0.7 [v0.0.6]: https://github.com/kythe/kythe/compare/v0.0.5...v0.0.6 [v0.0.5]: https://github.com/kythe/kythe/compare/v0.0.4...v0.0.5 [v0.0.4]: https://github.com/kythe/kythe/compare/v0.0.3...v0.0.4 [v0.0.3]: https://github.com/kythe/kythe/compare/v0.0.2...v0.0.3 [v0.0.2]: https://github.com/kythe/kythe/compare/v0.0.1...v0.0.2 [v0.0.1]: https://github.com/kythe/kythe/compare/d3b7a50...v0.0.1