Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

arangojs 7.0.0 #626

Merged
merged 165 commits into from
May 1, 2020
Merged

arangojs 7.0.0 #626

merged 165 commits into from
May 1, 2020

Conversation

pluma
Copy link
Contributor

@pluma pluma commented Sep 23, 2019

This is the WIP PR for the next semver major release.

As a semver major release this includes a number of breaking changes, including:

  • dropping support for ArangoDB 2.x (EOL)
  • dropping support for Node 6/8 (current LTS is 10/12)
  • removing the non-graph API methods from graph collections (the underlying collections can now be accessed via a collection attribute)
  • removing the createXYZIndex helper methods as the equivalent JS APIs in ArangoDB have been deprecated for a long time
  • EdgeCollection and DocumentCollection have been merged but still exist as separate interfaces for TypeScript
  • passing a document ID or a document with an ID from a different collection to a collection method now throws an error (fixes Collection methods that expect document keys should not accept IDs #607)
  • collection.list() now returns an ArrayCursor as it should (fixes async collection.list() not using arraycursor #603)

Additionally:

  • drastically improving TypeScript type coverage (fixes better type information (typescript) #620)
  • documentation inlined into type definition & generated with typedoc
  • adding support for options objects wherever they should be allowed (fixes VertexCollection update opts #610)
  • adding support for returnNew/returnOld in graph collections (metadata is now returned in the edge/vertex attribute as in the HTTP API) (the new/old attributes as well as the content of the edge/vertex attribute are now merged into the response body for compatibility with the regular collection method return types)
  • adding collection.documentId() from ArangoDB JS API (fixes Collection name / ID generator #591)
  • all collection (not graph collection) methods that can take either a document or an array of documents now have two versions (e.g. update and updateAll) (fixes <collection>.remove() with array of keys or documents #349)
  • Database, Collection, Graph, View and Analyzer are memoized now (per-database, or per-connection in the case of Database itself) to avoid multiple objects being created for the same thing

What's currently missing:

  • Inline documentation
    • Collection/DocumentManipulation.md
    • Collection/EdgeCollection.md
    • Collection/Indexes.md
    • Collection/SimpleQueries.md
    • Graph/README.md
    • Graph/EdgeCollection.md
    • Graph/Edges.md
    • Graph/VertexCollection.md
    • Graph/Vertices.md
    • Analyzer.md
    • Aql.md
    • Cursor.md
    • Route.md
    • Transaction.md
    • View.md
  • Check for any stray TODOs
  • Add workflow for generating & publishing typedoc docs via gh-pages
  • Double-check return types
  • Double-check documentation

@pluma pluma added Feature Request Request for new functionality to be added to the driver. semver-major This issue requires backwards-incompatible changes to address. labels Sep 23, 2019
@pluma pluma self-assigned this Sep 23, 2019
@pluma pluma changed the title More typings, simplified collections arangojs 7.0.0 Apr 12, 2020
@pluma pluma linked an issue Apr 29, 2020 that may be closed by this pull request
@pluma pluma marked this pull request as ready for review May 1, 2020 13:52
@pluma pluma changed the base branch from master to v7 May 1, 2020 13:53
@pluma pluma merged commit 9fef12c into v7 May 1, 2020
@pluma pluma deleted the feature/next-major branch May 1, 2020 14:11
@pluma pluma mentioned this pull request May 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment