Skip to content

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 force-pushed the feature/next-major branch from f9d1e9a to 24130a6 Compare October 23, 2019 10:24
@pluma pluma force-pushed the feature/next-major branch from 0cd7afc to 04b3e7e Compare February 25, 2020 17:20
@pluma pluma force-pushed the feature/next-major branch from 84d190a to fa720b1 Compare March 18, 2020 10:39
@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 force-pushed the feature/next-major branch from a79a3e6 to 5ce3dcc Compare May 1, 2020 13:44
@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 force-pushed the feature/next-major branch from 5ce3dcc to 7616029 Compare May 1, 2020 14:11
@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