All Versions
Latest Version
Avg Release Cycle
109 days
Latest Release
1145 days ago

Changelog History
Page 2

  • v0.6.0 Changes

    October 07, 2016

    ๐Ÿš€ Current release marks community build number two, introducing major change to data layout and bringing new features to Gremlin.

    Storage format changed slightly. We highly recommend to do a clean import of the database with a new binary.

    Cayley now honors types of nquad values. IRIs (<name>) were converted to untyped strings (name), so it was possible for nodes with different types to be loaded as a single node. Now Cayley preserves type information, making these nodes separate. Queries that used IRIs without <> quotes will break because of this change. Gremlin now requires IRI it to be in "<follows>" form and the path lib expect these values to be of quad.IRI Go type. The same stands for Strings (aka RDF literals) and BNodes (aka blank nodes, _:name).

    Data loader now recognizes few basic typed literals like "10"^^<> and converts them into corresponding native type (Int for this example). It may also affect existing queries. Gremlin will automatically convert basic types into corresponding RDF typed literals.


    • ๐Ÿ‘ Typed values support for all backends. Includes types: String, IRI, BNode, Int, Float, Bool, Time.
    • ๐Ÿ†• New traversals in path lib and Gremlin: HasReverse, Skip, Limit, Count, Unique, Comparison/Filter, Regex.
    • โœ… More consistent backends behavior thanks to unified tests.
    • โšก๏ธ Updated docs and added examples.
    • โšก๏ธ Updated Docker image, and added example for it.
    • ๐Ÿ›  Many, many bugfixes and some optimizations.

    Full changelog:

    gabrys: Fix link to (#477)
    dennwc: expose Unique via path lib and gremlin; implement and expose Count iterator; resolve #240
    dennwc: gremlin: add regex support, make it harder to abuse regexps; add docs explaining why
    guycook: Implement regex filter as iterator (#474)
    dennwc: bolt,leveldb: fix AllQuads iterator not skipping deleted quads, add test
    dennwc: iterator: add variadic arguments to Add, Or and Fixed constructors
    dennwc: query: Refactor interfaces (#471)
    dennwc: fix lru panic
    wayeast: Clone receiver paths (#466)
    kenshaw: appengine: updating dependency paths and adding documentation (#464)
    dennwc: gremlin: handle string slice in via parameter
    kenshaw: appengine: add build constraint (#463)
    dennwc: Glide migration (#460)
    dwhitena: user/pass functionality for mongo backend
    allanino: Fix Docker building (#456)
    barakmich: gremlin: don't require a session to last as long as the timeout
    kris-runzer: graph: fix Is*(err error) checkers to properly compare against *DeltaError, add tests
    dennwc: optimize by default in Iterate helper
    dennwc: gremlin: clone path objects
    neonstalwart: simplify the signature of NextLogOut (manual merge of #264)
    dennwc: graph: add iteration helpers, update examples; resolves #446
    dennwc: http: fix json quads decoding
    dennwc: gremlin: fix ToArray without arguments
    dennwc: iterator: promote Next to main interface; make NoNext an optional interface
    oren: Example of BoltDB, update examples/
    robertmeta: Just better quickstart + examples creation
    dennwc: query: check type assertions, recover properly in gremlin; fixes #450
    josephschorr: Add Clone() to Path for easier reuse of Path segments (#444)
    dennwc: Wire Skip and Limit to Gremlin. Also fixed #254.
    dennwc: postgres: store hashes as binary data instead of hex strings
    dennwc: postgres: prepare each statement in ApplyDeltas
    dennwc: postgres: generate distinct node insert statements only
    dennwc: cquads: convert TypedString values to native types automatically on loading
    dennwc: gremlin: allow to specify multiple conditions in Filter
    dennwc: mongo: optimize comparison iterator
    dennwc: Test for typed value comparison and optimization
    dennwc: gremlin: expose value comparison iterator via path lib, add tests
    dennwc: gremlin: support for typed values
    dennwc: gremlin: replace JS-based graph object with reflect-based (rewritten, now it's easier extend)
    dennwc: comparison: compare only values with the same type, add a test for mixed set
    dennwc: mongo: use native value types where possible, fix indexing, remove recursion in LinksTo, remove unnecessary roundtrip
    dennwc: postgres: new table structure, store typed values natively; fix iterators; separate LRU cache
    dennwc: Update value comparison iterator. Stop graph.Value madness.
    dennwc: cquads: recognize TypedString and LangString in parser
    dennwc: Add a test for Raw-to-typed values exchange. Fix memstore not using hashes in map.
    dennwc: GAE (untyped). More tests. Fixed handling of size and conflicts in postgres.
    dennwc: quad: add support for few basic types (int, float, bool, time)
    dennwc: Unify tests for QuadStore. Run Mongo/Postgres in Docker automatically.
    dennwc: leveldb: use protobuf instead of json, migration code
    dennwc: bolt: migration code
    dennwc: add typed fields to protobufs
    dennwc: graph,query,exporter,path: updated to use typed values
    dennwc: quad: directions are typed
    kortschak: graph: provide more meaningful errors for bad actions (#443)
    josephschorr: Don't iterate over all quads unless necessary (#440)
    kortschak: clog: fix comment typos and add package comment (#442)
    dennwc: Implement Skip and Limit iterators (#369)
    EntilZha: Delete node API (#158)
    dennwc: Updated Dockerfile (fixed #357)
    dennwc: fix Unique iterator for non-comparable tokens; fixes #437
    kortschak: clog: make nil Logger safe (#436)
    robertmeta: Sweep through docs update/cleanup
    oren: remove duplicate in readme (#435)
    dennwc: fix postgres error on import, fixes #429
    dennwc: Added HasReverse function to path lib (#351)
    drzippie: Added sync.RWMutex to mongo cache (#380)
    robertmeta: Update docs (README, Locations, Quickstart-As-Lib, Quickstart-As-Application, HACKING, FAQ, Container)
    robertmeta Rerouting CONTRIBUTING to the discourse, updating CONTRIBUTORS to remove mention of CLA
    robertmeta: Moving Hacking from wiki to project
    dennwc: separate log package, resolves #221
  • v0.5.0 Changes

    July 03, 2016

    ๐Ÿ— We've spun out of the google namespace, so this is community build number one. There's some good chatter in IRC and places, and expect some notes in the mailing list soon. The project isn't dead, it was just resting.

    ๐Ÿš€ Now that we can add contributors, it's time to tag and build a release as a baseline. There may be some turbulence as some longstanding changes get merged over the next version or two, so before we do that, here are some binaries for people to try out the latest.


    • ๐Ÿ‘ Postgres/SQL backend support
    • โž• Add support for LabelContext() to query the Label field across Quads
    • ๐Ÿ’พ SaveOptional()
    • ๐Ÿ›  Many, many bugfixes

    Full changelog:

    barakmich: Add SaveOptional() to save predicates if they exist, and add the
    dennwc: path: Added SaveOptional
    dennwc: Fix interface conversion in Gremlin
    barakmich: fix build on 1.6 -- more accurate interface conversion
    josephschorr: Make call to `Sprintf` lazy
    barakmich: query/gremlin, graph/path: Add support for querying with labels
    Quentin-M: Fix NPE in SQL initialization
    jzelinskie: dockerfile: fix go install command
    jzelinskie: initial Dockerfile
    barakmich: graph: make quadstore init functions idempotent
    barakmich: Update README to mention Postgres and remove unused trello board
    jzelinskie: add Triple function
    Quentin-M: Fix SLOW DELETEs
    Quentin-M: Fix a deadlock behavior with DELETE transactions
    Quentin-M: Ensure that quads in a transaction are applied in the desired order.
    Quentin-M: Use a Size() estimate for SQL Quadstore when noSizes is enabled.
    barakmich: sql: Combine AND(Fixed, SQL) and fix Save() roundtrips
    barakmich: graph/sql: Use an IN clause when optimizing a fixed iterator
    barakmich: query/gremlin: fix building Or iterator, add test
    barakmich: query/gremlin: Refactor in terms of graph/path
    Quentin-M: Fix NPE in SQL Quadstore
    Quentin-M: Improve Transaction: deduplicate quads, allow adding/removing a quad in the same tx
    barakmich: Fix corners after causing a couple merges
    ds--: Adds exporting capabilities
    barakmich: Add migration tool and use protos in Bolt store
    barakmich: graph: Postgres backend
    sayden: Typo fix when building cayley from scratch
    sayden: Order of parameters when using :a and :d are switched
    Kavec: Refactor for readability
    kortschak: graph/bolt: don't panic on unitialised store
    barakmich: Fixes memstore transaction semantics
    Quentin-M: Make the SQL connection fail-fast
    Quentin-M: Fix NPEs in SQL Next and Contains
    barakmich: Roll the Go version forward on Travis builds (new stable)
    barakmich: Add check for multiple all iterators
    kortschak: internal: move {config,db,http} into internal
    skynet: Update
    neonstalwart: add string comparison to value comparison iterator
    tmlbl: Small REPL Improvements
    igm: Fixed multiplier for position of "label" in case of "po" key entry
    cayleydb: Update
    barakmich: Docs update based on @KamiQuasi #280
    lytics: Use new import path for go-uuid
    jzelinskie: travis.yml: bump appengine dependency
    barakmich: Add transaction (a list of deltas) as a primitive for applying sets oโ€ฆ
    nii236: Widened visualisation box to 100%
    panamafrancis: Added myself to the A+C
    barakmich: Add Save and Has API functions
    Quentin-M: Allow opening a database (bolt, leveldb, mongo) through Go API
    barakmich: Clean up Linkage definition
    allonhadaya: In out predicates
    barakmich: Fix bug where first Bolt iteration ignores deletion
    barakmich: Fix describe in Or iterator
    neonstalwart: collapse 2 iterations into 1 in memstore
    op: Fix nil pointer panic when meta bucket is missing
    barakmich: Fix LevelDB deleted-triple iterator stack overflow bug
    neonstalwart: move cmp to where it's used
    kortschak: graph: remove redundant type
    barakmich: Go API
    heyalexej: update leveldb link and fix some https links in README
    andrew-d: Refactor packages
    andrew-d: Fix TravisCI tests
    andrew-d: Remove deprecated ResultTree API
    Dabaez: Update
    barakmich: Implement the Unique iterator