damas-core

damas-core API
Fork me on GitHub
     _
  __| | __ _ _ __ ___   __ _ ___        ___ ___  _ __ ___
 / _` |/ _` | '_ ` _ \ / _` / __|_____ / __/ _ \| '__/ _ \
| (_| | (_| | | | | | | (_| \__ \_____| (_| (_) | | |  __/
 \__,_|\__,_|_| |_| |_|\__,_|___/      \___\___/|_|  \___|

Changelog

Releases

2025-12-29 v2.6.1

This release brings 2 new operations to retrieve an object's graph: graph_forwards and graph_backwards to parse the connected objects following the direction of the links, or in reverse. These two new operations return the identifiers of the connected links and objects (not the whole JSON objects) so you can retrieve large graphs with an optimized response size, and read the objects in the graph afterwards. The older operation named graph is equivalent to the new graph_backwards operation, but returning whole objects. The graph operation is kept for backward compatibility, in deprecated status. This release also fixes a bug preventing using the upsert operation under certain conditions and the doc was improved (see details below).

Added

Changed

Fixed

Credits

@remyla

2024-12-21 v2.6

This release brings performance improvement for large databases, easier container deployment with nginx in front of the API. Also, it has a small and optional change in specifications (see below), an improved documentation and 1 bugfix.

Added

Changed

Fixed

ℹ️ UPGRADE NOTES:

# make a dump of you existing data using the --forceTableScan option
mongodump --host="<your_current_server>" --forceTableScan
# restore the dump into the new server
mongorestore --host="<your_new_server>" -d node -c node

Credits

@AymericCadier (createToken), @zankia (GitHub actions), @remyla (the rest)

2023-04-16 v2.5

This release is a minor release (no change were made to the specifications) which contains improvements to the server, to the Python client, to the CLI and to the documentation. A new extension is added to generate ulid identifiers (see details below). The methods of the Python client module now return explicit error codes. An event listener example is provided to listen to the server events using Python and web sockets. The documentation was improved, as well as 2 bugs fixed.

Here is a more detailed list of changes:

Server

CLI

Documentation

simplified texts of usages and documentation

Python

Bugfixes

Credits

@francou (ulid), @remyla

2020-05-25 v2.4.1

This release provide new features and improvements for user management, new features for security and changes in command line interface, along with 2 bug fixes in cli.

user management, authentication and security improvements

command line interface improvements

bug fixes

doc

Credits

Axel Pisani @axl-pis, Remy Lalanne @remyla

2019-05-24 v2.4

This release adds an extension system to change the server behavior by loading and configuring extensions from its configuration file. A lot of code has been rewritten as extensions (see server extensions page). Also, the efforts were made to get a server that can be used as a public web server (able to serve files, manage guest access and node-based permissions).

Features

Documentation

Credits

2017-06-01 v2.3.6

Changes

Command line interface
Specifications
server-nodejs

for a complete list of changes please see Github 2.3.6 milestone tagged issues

Credits

@juliearesu @zankia @remyla Thank you @juliearesu and @zankia!

2016-11-01 v2.3.5

retro tagging for November 2016 stable. Improvements made to the server-nodejs:

2015-04-07 v2.3.0

The release contains the evolutions from 2014 and is considered as the latest stable. However the Python module is not updated yet. This version is prior to the new implementations we will make during spring 2015.

Changes

2015-02-14 v2.2.0

This version is the latest production ready version at that time.

We are already working on the next 2.3.x version (branch 2014) with an updated API, so this should be the latest 2.2.x release appart from bug fixes and minor changes.

The 2014 branch (pre-production) will now be merge to the master branch.

Migration of a database from 2.1 to 2.2

(sorry for the french language, this is temporary, please ask for translation if needed) Requête permettant de sélectionner tout les fils et leurs parents et de les mettre dans la table KEY :

REPLACE INTO `key`(`node_id`, `name`, `value`) SELECT id,"#parent", parent_id FROM node;

Requête permettant la vérification de la présence de tout les fils et leurs parents sur la nouvelle table: (La requête renvoie le tableau des occurrences non trouvées dans la nouvelle table et ne renvoie rien si tout y est.)

SELECT ID, PARENT_ID FROM NODE WHERE (ID, PARENT_ID) NOT IN (SELECT ID, `VALUE` FROM NODE, `KEY` WHERE NAME="#parent" AND ID = NODE_ID);

Requête permettant la suppression de la colonne "parent_id" sur la table node:

ALTER TABLE node DROP COLUMN parent_id;

2015-02-14 v2.1-stable

This version is ran at Cyber Group Studios in production. This human-readable changelog is started from now, along with the distribution of the source code as Free software.