* When a transaction aborts, add the error messages to the returned status to aid the development process (as suggested by @DeShadow)
* If we are an arangoerror log out the ArangoError code
* don't send the stacktraces via the 'net, but have better error messages anyway
* static is wrong here - we want to use it with per threads individual values now.
* restructure source just to have one stacktrace processing function.
* Pull array from javascript logging functions up to c++
* js_log now can handle an array of v8-strings, converts it to a vector of std::strings, feeds them one by one into logging for now.
* the stacktraces now don't do individual calls to js_log, but one with an array of log lines.
* Improve Foxx cluster resilience
Fixes#2083Fixes#2384Fixes#2408
Addresses #1892
* Port old Foxx API
* Implement single-file services
* Add console.errorStack/warnStack/infoStack helpers
* Simplify serviceInfo validation
* Extract github/upload logic into Aardvark and old FM API
* Move generator logic into Aardvark
* Move zip/js buffer logic into FM core
* Add Foxxmanager tests
* Send empty response when no README
* Disambiguate script arg format
Historically we allow passing an array of positional arguments or an arbitrary first argument.
This is surprising behaviour, so we should just always treat the value as a first argument.
* Rebuild bundle in development mode
* Nicer HTTP docs formatting
* Create Foxx HTTP docs
* Simplify service upload handling
* Remove inline swagger docs
* Implement public download route
* Consistency
* Rebuild aardvark
* Move bundle route into /_api/foxx/_local
* Rebuild Swagger API docs
* Add changes to CHANGELOG
* More docs
The require function should now behave as expected and treat ArangoDB's module paths as sources for "external" modules.
The "assert", "buffer" and "path" modules have been moved out of ./js/node into the bootstrap modules.
The module "org/arangodb/foxx/arangoApp" (as well as any modules depending on it) is incompatible with the new module loading behaviour and will be have to be rewritten from scratch.
The "Package" class has been removed entirely and is no longer needed.
Support for the database-stored modules is currently missing and needs to be re-implemented within the module loader.