diff --git a/CHANGELOG b/CHANGELOG index ea9d4e1392..97dc2c64b8 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,16 @@ v2.3.0 (XXXX-XX-XX) ------------------- +* changed return value of Foxx.applicationContext#collectionName: + + Previously, the function could return invalid collection names because + invalid characters were not replaced in the application name prefix, only + in the collection name passed. + + Now, the function replaces invalid characters also in the application name + prefix, which might to slightly different results for application names that + contained any characters outside the ranges [a-z], [A-Z] and [0-9]. + * prevent XSS in AQL editor and logs view * integrated tutorial into ArangoShell and web interface @@ -77,9 +87,40 @@ v2.3.0 (XXXX-XX-XX) storing JavaScript date objects in the database in a sensible manner. -v2.2.3 (2014-XX-XX) +v2.2.4 (2014-XX-XX) ------------------- +* fixed issue #1016: AQL editor bug + +* fixed issue #1014: WITHIN function returns wrong distance + +* fixed AQL shortest path calculation in function `GRAPH_SHORTEST_PATH` to return + complete vertex objects instead of just vertex ids + +* allow changing of attributes of documents stored in server-side JavaScript variables + + Previously, the following did not work: + + var doc = db.collection.document(key); + doc._key = "abc"; // overwriting internal attributes not supported + doc.value = 123; // overwriting existing attributes not supported + + Now, modifying documents stored in server-side variables (e.g. `doc` in the above case) + is supported. Modifying the variables will not update the documents in the database, + but will modify the JavaScript object (which can be written back to the database using + `db.collection.update` or `db.collection.replace`) + +* fixed issue #997: arangoimp apparently doesn't support files >2gig on Windows + + large file support (requires using `_stat64` instead of `stat`) is now supported on + Windows + + +v2.2.3 (2014-09-02) +------------------- + +* added `around` for Foxx controller + * added `type` option for HTTP API `GET /_api/document?collection=...` This allows controlling the type of results to be returned. By default, paths to diff --git a/js/apps/system/aardvark/frontend/js/views/queryView.js b/js/apps/system/aardvark/frontend/js/views/queryView.js index 8daee3e1f1..9c46614413 100644 --- a/js/apps/system/aardvark/frontend/js/views/queryView.js +++ b/js/apps/system/aardvark/frontend/js/views/queryView.js @@ -207,7 +207,6 @@ var inputEditor = ace.edit("aqlEditor"); inputEditor.getSession().setMode("ace/mode/aql"); inputEditor.setFontSize("16px"); - inputEditor.setOptions({fontFamily: "Courier New"}); inputEditor.commands.addCommand({ name: "togglecomment", bindKey: {win: "Ctrl-Shift-C", linux: "Ctrl-Shift-C", mac: "Command-Shift-C"}, diff --git a/js/common/tests/shell-database.js b/js/common/tests/shell-database.js index 72caa2ccea..f114af90a6 100644 --- a/js/common/tests/shell-database.js +++ b/js/common/tests/shell-database.js @@ -420,7 +420,7 @@ function DatabaseSuite () { internal.db._useDatabase("UnitTestsDatabase0"); assertEqual("UnitTestsDatabase0", internal.db._name()); var c1 = internal.db._create("test1"); - assertEqual([ "test1" ], getCollections()); + assertNotEqual(-1, getCollections().indexOf("test1")); c1.save({ "_key": "foo" }); assertEqual(1, internal.db._collection("test1").count()); assertEqual(1, c1.count()); @@ -429,7 +429,7 @@ function DatabaseSuite () { internal.db._useDatabase("UNITTESTSDATABASE0"); assertEqual("UNITTESTSDATABASE0", internal.db._name()); var c2 = internal.db._create("test1"); - assertEqual([ "test1" ], getCollections()); + assertNotEqual(-1, getCollections().indexOf("test1")); c2.save({ "_key": "foo" }); c2.save({ "_key": "bar" }); c2.save({ "_key": "baz" }); diff --git a/js/server/modules/org/arangodb/foxx/manager.js b/js/server/modules/org/arangodb/foxx/manager.js index 79281080ac..58b8bb4eb0 100644 --- a/js/server/modules/org/arangodb/foxx/manager.js +++ b/js/server/modules/org/arangodb/foxx/manager.js @@ -198,7 +198,7 @@ function extendContext (context, app, root) { } context.collectionName = function (name) { - var replaced = (cp + name.replace(/[^a-zA-Z0-9]/g, '_').replace(/(^_+|_+$)/g, '')).substr(0, 64); + var replaced = ((cp + name).replace(/[^a-zA-Z0-9]/g, '_').replace(/(^_+|_+$)/g, '')).substr(0, 64); if (replaced.length === 0) { throw new Error("Cannot derive collection name from '" + name + "'");