- api:
- go_indexer: populate ReleaseTags/ToolTags with defaults (#5237) (0ad2c8ae)
- java: bump Java version to 11 (#5223) (f4af9da3)
- schema: add flag nodes (#5243) (e72c520a)
- 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)
- java: last release with JDK 8 support
- cxx_indexer:
- go extractor image: updates for extracting to a single corpus (#5173) (8697a6c4)
- go_indexer:
- java:
- do not emit doc nodes for non-javadoc commits by default (#5191) (b3b97642)
- java_indexer:
- proto_indexer:
- rust_common:
- 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)
- cxx_indexer:
- 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:
- schema: include Go generics examples (#5154) (4b7ae7b2)
- serving: add Hash to FileInfo protos (#5207) (dd53bcde)
- tooling: Support filtering of kzips by language. (#5167) (d3cea029)
- java: Update Flogger dependency to 0.7.3 due to log4j (#5152) (9a9fb44))
- java: Update Flogger dependency to 0.7.2 due to log4j (#5147) (ec0359e))
- Fixes an issue with the Bazel Rust extractor
fuchsia_extractor has been updated to no longer include .rlib files
- 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:
- docs:
- fuschia-extractor: Fix panic format string for Rust 2021 (#4958) (5edce0e5)
- go_indexer: check whether embedded type is Named (#5028) (7babd407)
- java:
- 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:
- 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)
- api: add set of languages appearing in Origin (#4947) (d5419f31)
- build:
- 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:
- go_indexer:
- indexing: add metadata support for generated protos (#5021) (baed7a22)
- java:
- java indexer: use compilation corpus for jvm and jdk nodes (#5035) (fb7df986)
- java_indexer:
- 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:
- rust_indexer:
- 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)
- serving: default to more performant approximate totals (#4896) (0ebe1919)
- 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)
- go_vnames: add go vname archives to simple_vnames.json (#4882) (44e45a63)
- go_vnames: properly map .x file vnames (#4878) (00d8e038)
- 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:
- platform: use proper JSON marshalling in proxy (#4804) (d5a03e10)
- proto: only decorate the relative type name in fields (#4872) (d24403f2)
- serving:
- tooling:
- typescript:
- verifier:
- cxx_indexer:
- 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:
- typescript: returns influence functions (#4841) (577446b7)
- verifier:
- 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:
- 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)
- create a localrun script (#4235) (dd6d7c96)
- api:
- common: add kytheuri CorpusPath helpers (#4707) (371a5d65)
- cxx_common:
- cxx_extractor:
- cxx_indexer:
- java_indexer: tag abstract methods/classes as such (#4746) (0d455662)
- serving:
- textproto:
- tooling: add optional analysis timeout to driver (#4714) (14d4fa59)
- verifier:
- build a souffle frontend that can read an entrystream (#4768) (0e9dc6a9)
- runextractor:
- Pass flags to the compdb extractor (#4663) (38fd346)
- Include stacktraces from assertion failures in C++ tools (#4655) (784e8ee7)
- 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:
- 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)
- 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:
- 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)
- 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)
- Change kzip writer implementations to use proto kzip encoding by default. (#4547) (566a83bd)
- compdb:
- java_indexer: experimentally emit named edges to JVM nodes (#4490) (9753c0f6)
- kzip: add subcommand and proto for metadata kzips (#4545) (f063dae5)
- rust:
- 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:
- indexing: add ref/id edge (#4435) (82ce8fc6)
- runextractor cmake: add -extra_cmake_args option (#4436) (489b5aec)
- 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:
- java_tests: export jdk_kzip (#4443) (c76ad892)
- ts_indexer: bug related to overridden functions. (#4463) (7288552a)
- 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)
- 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)
- copy_kzip:
- hard links always fail under bazel so don't try (#4365) (10540135)
- cxx_indexer:
- go_indexer: use the anchor for the file-file generates edges (#4348) (3d658d1d)
- tooling:
- cxx_indexer:
- 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)
- cxx_indexer: add generates edges for proto-generated files (#4332) (299950d0)
- java_extractor:
- java_indexer: add generates edges for proto-generated java files (#4321) (8f2080d4)
- cxx_common: rework VNameRef to conform to VName, templatize VNameLess (#4331) (2a83959d)
- go extractor: treat -arc flag like -importpath (#4324) (0f75ac02)
- java_extractor:
- 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)
- java_indexer: support implicit protobuf metadata (#4262) (cace853f)
- runextractor: Tell cmake to use clang (#4319) (5d10af8b)
- kzip:
- 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)
- 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)
- textproto: index contents of google.protobuf.Any fields (#4254) (d429a737)
- extractors: use distinct proto meta files for cc_proto_library (#4234) (24d64419)
- bazel extractor: give external paths a root (#4233) (bddf41f9)
- kzip: --encoding flag was previously ignored (#4216) (0f1bea83)
- java indexer: better support system modules (#4218) (a8cda826)
- release: include jsr250-api.jar in release archive (#3778) (1d8fcb97)
- 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)
- 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)
- 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)
- release: Add runextractor to the release (#4171) (5d16675f)
- 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)
- kzip info: default --read_concurrency to numcpu (#4157) (7fb5423d)
- release: add extractors.bazelrc to release (#4163) (b1e68e29)
- 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:
- cxx_extractor:
- cxx_indexer:
- docker_extract: support selecting encoding for kzip generation (#3947) (154cec53)
- extraction:
- go extractor:
- 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:
- proto:
- schema:
- serving:
- textproto_indexer:
- 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)
- 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:
- cxx_extractor:
- 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:
- go_common: use nondeprecated zip file handle mod time (#4047) (b9e9c011)
- go_indexer:
- java:
- java_build: remove jvm_flags which complicate running on newer JDKs (#3955) (b4bdb395)
- java_common:
- 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:
- 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:
- textproto_indexer:
- 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)
- post_processing: use heap.Fix in disksort (#4063) (3cfd3b3b)
- api:
- build_details: add a build_config field to BuildDetails proto (#3303) (ed5ce4d5)
- columnar:
- 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:
- java_indexer: emit implicit anchors for default constructors (#3317) (90d1abfe)
- objc_indexer:
- 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:
- tools:
- release:
- api: properly marshal protos with jsonpb (#3424) (358b4060)
- cxx_common:
- cxx_extractor: segfault when given nonexistent file (#3234) (6c0fef7a)
- cxx_indexer:
- 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:
- jvm_indexer: prepare code using ASM for Java 11 (#3214) (94810956)
- post_processing: remove anchors from edge/xref relations (#3198) (b81ef3af)
- 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)
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)
- Index packs and
.kindex
files have been deprecated in favor of.kzip
files
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)
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 analysisviewindex
: add --file flag to print a single file's contentsentrystream
: support for reading/writing Riegeli record files- First release of the ExploreService APIs
entrystream
:--read_json
/--write_json
are marked to be replaced by--read_format=json
/--write_format=json
- Java indexer: search for ClassSymbol in all Java 9 modules
- Java/JVM indexers: obtain JVM (a.k.a. "external") names in a principled way
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
- 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.
- Remove gRPC server and client code.
- Schema:
- Anchors no longer have
childof
edges to their parentfile
. - Anchor nodes must share their
path
,root
, andcorpus
VName
components with their parentfile
.
- Anchors no longer have
- Format strings have been replaced by the
MarkedSource
protobuf message. - C++ analysis:
- Included files are referenced by the
ref/file
edge. code
facts (containingMarkedSource
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
define
d, onlyref
d. - Old-style
name
nodes removed. - The extractor now captures more build state, enabling support for
__has_include
anchor
s involved incompletes
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.
- Included files are referenced by the
- 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 theirrecord
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 toDecorationsReply
. - xref.proto: replace
Location.Point
pairs withcommon.Span
. - xref.proto: by default, elide snippets from xrefs/decor replies.
- xref.proto: replace
Printable
formats withMarkedSource
. - xref.proto: allow filtering related nodes in the xrefs reply.
- xref.proto: optionally return documentation children.
- xref.proto: return target definitions with overrides.
- Nodes and Edges API calls have been moved from XRefService to GraphService.
- Replace google.golang.org/cloud dependencies with cloud.google.com/go
- Update required version of Go from 1.6 to 1.7
- write_tables now tolerates nodes with no facts. Previously it could sometimes crash if this occurred.
- CrossReferences API: hide signature generation behind feature flag
- Java indexer: emit
ref/imports
anchors for imported symbols
- Java indexer: emit basic
format
facts
- Schema:
callable
nodes andcallableas
edges have been removed. xrefs.CrossReferences
: change Anchors in the reply to RelatedAnchors- Removed search API
- 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
xrefs.Decorations
: add experimentaltarget_definitions
switch- kythe tool: add
--graphviz
output flag toedges
subcommand - kythe tool: add
--target_definitions
switch todecor
subcommand
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
- Java indexer: reduce redundant AST traversals causing large slowdowns
- 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
entrystream
: add--unique
flagwrite_tables
: add--entries
flag
- C++ indexer:
--ignore_unimplemented
now defaults totrue
- Java indexer: emit single anchor for package in qualified identifiers
- Java indexer: add callgraph edges
- Java indexer: add Java 8 member reference support
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
- 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
- Java indexer: emit (possibly multi-line) snippets over entire surrounding statement
- Java indexer: emit class node for static imports
- 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)
- Java 8 is required for the Java extractor/indexer
write_tables
: don't crash when given a node without any edges- Java extractor: ensure output directory exists before writing kindex
- Bazel Java extractor: filter out Bazel-specific flags
- Java extractor/indexer: filter all unsupported options before yielding to the compiler
- Java indexer: add
ref/doc
anchors for simple class references in JavaDoc - Java indexer: emit JavaDoc comments more consistently; emit enum documentation
- 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
- 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
- Java indexer: name node support for array types, builtins, files, and generics
- Java indexer: stop an exception from being thrown when a line contains multiple comments
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
entrystream
: prevent panic when given--entrysets
flag
- 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
- dedup_stream: add
--cache_size
flag to limit memory usage - C++ indexer: hash VNames whenever permitted to reduce output size
- write_tables: avoid deadlock in case of errors
- Java extractor: add JavaDetails to each CompilationUnit
- Release the indexer verifier tool (see http://www.kythe.io/docs/kythe-verifier.html)
- write_tables: ensure that all edges are scanned for FileDecorations
- kythe refs command: normalize locations within dirty buffer, if given one
- 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
- kwazthis: if found, automatically send local file as
--dirty_buffer
- kwazthis: return
/kythe/edge/typed
target ticket for each node
- 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
- Java indexer: don't generate anchors for implicit constructors
- Bazel
extra_action
extractors for C++ and Java - Implementation of DecorationsRequest.dirty_buffer in xrefs serving table
kythe
tool: merge--serving_table
flag into--api
flag
- Allow empty requests in
http_server
's/corpusRoots
handler - Java extractor: correctly handle symlinks in KYTHE_ROOT_DIRECTORY
- Go binaries no longer require shared libraries for libsnappy or libleveldb
- kythe tool:
--log_requests
global flag - Java indexer:
--print_statistics
flag
- 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
[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