Skip to content

Latest commit

 

History

History
325 lines (222 loc) · 20.6 KB

CHANGELOG.rst

File metadata and controls

325 lines (222 loc) · 20.6 KB

Synapse Changelog

v0.1.14 - 2019-06-21

Features and Enhancements

  • Add sub-command aliases for the Cmdr hive and cron commands, so that similar subcommands like list and ls work across both commands. (#1281)
  • Simplify adding structured data to the cell Hive via Cmdr. (#1282)

Bugfixes

  • Fix an issue in Cmdr for hive get which could result in failing to properly overwrite files when saving a Hive value to disk. (#1282)

Improved Documentation

  • Add additional logging for ReadTheDocs documentation builds. (#1284)
  • Add additional Hive API docstrings. (#1285)

v0.1.13 - 2019-06-18

Features and Enhancements

  • Add syn:trigger runtime only nodes to the Cortex. These represent triggers which have been configured on a Cortex. (#1270)
  • Add a new packed node helper, synapse.lib.nodes.tagsnice(), to get all the leaf tags on a node and any tags which have a time interval associated with them. (#1271)
  • Add a err? column to the output of the cron list. This includes an X character in the column if the last execution of that Cron task encountered an error. (#1272)
  • Refactor the Boss commands in cmdr to their own file and improve test coverage for the Cortex storm command in Cmdr. (#1273)
  • Add $node.globtags() method to Storm which accepts a tag glob, and returns a list of the matching glob values. (#1275)
  • Add there remote Cortex API CoreApi.delNodeProp() to allow property deletion from a single node. (#1279)

Bugfixes

  • Update CellApi Hive functions to properly check permissions. (#1274)
  • Ensure that tearing down a Telepath generator via GeneratorExit from non-async code properly signals the generator to teardown on the ioloop. (#1278)
  • Fix an issue where Storm subquery variable assignments were being pushed to the global runtime, but were not properly available to the Path objects associated with inbound nodes. (#1280)

Improved Documentation

  • Improve inline API help for a few test helper functions. (#1273)
  • Update Cmdr reference documentation for trigger and cron updates. (#1277)

v0.1.12 - 2019-06-12

Features and Enhancements

  • Centralize the allowed() and _reqUserAllowed() function from the CoreApi class to the CellApi, making permission checking easier for CellApi implementers. (#1268)
  • Add the $path built-in Storm variable to the default variables populated in the Storm pipeline. (#1269)
  • Add a $path.trace() method to get a object which traces the pivots from a given Path object. The path idens can be obtained via trace.iden(). (#1269)
  • Add $lib.set() to Storm Types. This can be used to get a mutable set object. (#1269)

Bugfixes

  • Fix an issue where the Base link() API required the linking function to be a coroutine. (#1261)

Improved Documentation

  • Improve inline API help for a few functions. (#1268)

v0.1.11 - 2019-06-06

Features and Enhancements

  • Add an optional facility to lmdbslab to prevent its data from being swapped out of memory. Add a Cortex configuration option (in the cell.yaml file) named dedicated to enable this for the lmdb slabs that store the graph data in a Cortex. This is currently only supported on Linux. (#1254)

Bugfixes

  • Fix an issue where the Cmdr color awareness for error highlighting was preventing documentation from building properly. (#1261)
  • Fix an issue where the synapse.servers.cortex --mirror option was not properly mirroring realtime splices. (#1264)
  • Fix a runtsafe variable order bug in Storm. (#1265)
  • Work around an issue in prompt-toolkit's print_formatted_text function. (#1266)
  • Fix an issue where color awareness was not available for Cmdr sessions launched via synapse.tools.csvtool and synapse.tools.feed. (#1267)

Improved Documentation

  • Update Storm lift documentation to include lifting by time intervals. (#1260)
  • Update ReadTheDocs build configuration to utilize a Docker container, instead of a conda environment. (#1262)

v0.1.10 - 2019-06-04

Features and Enhancements

  • Add $node.iden() method in Storm to expose the iden of a node. (#1257)
  • Add $lib.text() method in Storm Lib to add a mutable string formatting object. (#1258)

v0.1.9 - 2019-05-31

Features and Enhancements

  • Add colored error reporting in Cmdr when a BadSyntax exception is sent to the user. (#1248)
  • Expose the local Synapse version information in Cmdr via the locs command. (#1250)
  • Add reflected class names to the Telepath shareinfo. Expose this with the Proxy._getClasses() API. (#1250)
  • Add --file and --optsfile arguments to the Cmdr storm command. These, respectively, allow a user to provide a file containing a raw Storm query and variable arguments as a json file. (#1252)

Bugfixes

  • Fix an issue where the Cmdr log command did not clean up all of its settings. (#1249)
  • Fix an issue with the Storm switch statement handling of non-runtsafe values. (#1251)
  • Fix an issue with the Storm if statement handling of non-runtsafe values. (#1253)
  • Fix an issue with when connecting to a Cortex via Telepath for the default remote layer, which previously could have pointed to a layer which was not the correct layer for the default view. (#1255)

v0.1.8 - 2019-05-22

Features and Enhancements

  • Add if/elif/else statement. Add and/or/not inside dollar expressions. Have expressions always return an int. (#1235)
  • Add variable and expression filters. Test for and correct all known grammar ambiguities. Tag filters with a comparison, e.g. +#$foo=$bar, now don't raise an exception (#1241)
  • Add ability to enable and disable cron jobs and triggers. (#1242)

Bugfixes

  • Fix a bug where a tag addition could cause a splice to be generated if the tag window being added was inside of the existing tag window. (#1243)
  • csvtool now correctly handles print events (#1245)

Improved Documentation

  • Update release process documentation. (#1244)

v0.1.7 - 2019-05-17

Features and Enhancements

  • Add the Synapse version information in the Telepath handshake. Expose this with the Proxy._getSynVers() API and in the Cmdr CLI via the locs command. (#1238)
  • Add a --save-nodes argument to the Storm command in Cmdr to do a one-shot record of nodes returned by a Storm query. (#1239)
  • Allow synapse.tools.cmdr to take a second argument and run that argument as a Cmdr command. (#1239)
  • Add $node.repr() to Storm types. This allows the user to get the repr of the primary property, or a secondary property, and assign it to a variable in storm. (#1222)
  • Add lib.csv.emit() to Storm types. This allows the user to emit a message during a Storm query which can easily be joined into a CSV. (#1236)
  • Add a --export option to synapse.tools.csvtool. This allows the user to create a CSV file from a query that uses the $lib.csv.emit() Storm function. (#1236)

Bugfixes

  • Resolve Storm grammar ambiguity between tag condition filters with value and left join. (#1237)
  • Resolve Storm grammar ambiguity to prevent reserved words from being identified as a Storm command. (#1240)

v0.1.6 - 2019-05-15

Bugfixes

  • Fix an ambuguity in the Storm grammer regarding quoted command arguments. (#1234)

v0.1.5 - 2019-05-15

Features and Enhancements

  • Make Ndef, Edge and TimeEdge repr implementations consistent. (#1217)
  • Add jsonl support the synapse.tools.feed tool. (#1220)
  • Add /api/v1/model API route for the Cortex HTTPAPI to expose the data model for a running Cortex. (#1221)
  • Add fire() function to Storm types to fire storm:fire messages during Storm command execution. (#1221)
  • Add $() expression syntax to Storm for mathematical operations, along with a new parsing engine built around Lark. (#1216)
  • Add a warning when Synapse is imported if the user is running Python with -OO optimizations, since that can degrade the library capabilities. (#1219)
  • Cleanup some exception chains so that type normalization errors do not result in large tracebacks on the server. (#1224)
  • Allow $lib.print() to accept curly brace {} formatted strings for using variable substitution when printing values in Storm. (#1227)

Bugfixes

  • Fix an issue in Storm with lifting or filtering nodes by tags when the tag value is a variable. (#1223)
  • Fix an issue which was preventing a tag variable value reference in Storm from behaving correctly. (#1228)
  • Fix a missing await statement which prevented properly setting layers for a Cortex View object. (#1231)

Improved Documentation

  • Fix some docstrings related to test code helpers. (#1230)

v0.1.4 - 2019-05-01

Features and Enhancements

  • Add POST support to the /api/v1/model/norm HTTP API endpoint. (#1207)
  • Add getPropNorm() and getTypeNorm() Telepath API endpoints to the Cortex and CoreApi. (#1207)
  • Add list length() and index() methods to Storm types. (#1208)
  • Add helper functions to synapse.lib.node for extracting repr values from packed nodes. (#1212)
  • Add --nodes-only to the Cmdr log command to only record raw nodes. (#1213)
  • Add guid(), min(), max() functions to Storm types. (#1215)
  • Add getStormEval() to the synapse.lib.storm.Cmd class. This helper can be used by Storm command implementers in resolving variables, full property, and relative property values off of the Storm runtime. (#1215)
  • The Storm min and max commands may now accept a relative property path, a full property path, or a variable. (#1215)
  • Add a --mirror to synapse.servers.cortex to allow easier mirroring of a backup Cortex from its source Cortex. (#1197)

Bugfixes

  • Fix an error in PropPivotOut and FormPivot where a None object could be yielded in the Storm pipeline. (#1210)
  • Shut down HTTP API servers on Cell fini(). (#1211)

Improved Documentation

  • Convert developer guide from static RST to Jupyter Notebook. (#1209)
  • Convert HTTP API guide from static RST to Jupyter Notebook. (#1211)
  • Add a note about backing up and restoring a cortex to the quickstart guide. (#1214)

v0.1.3 - 2019-04-17

Features and Enhancements

  • Add the ability to delete a role via HTTP API, as well as being able to mark a user as being archived. Archiving a user will also lock a user. (#1205)
  • Add support to archiving for user to the CellApi for use via Telepath. (#1206)

Bugfixes

  • Fix remote layer bug injected by previous optimization that would result in missing nodes from lifts when the node only resides in the distant layer. (#1203)

Improved Documentation

  • Fix error in the HTTP API documentation. (#1204)

v0.1.2 - 2019-04-10

Features and Enhancements

  • Automatically run unit tests for the master every day. (#1192)
  • Add test suite for synapse.lib.urlhelp. (#1195)
  • Improve multi-layer and single layer performance. This is a backwards-incompatible API change in that 0.1.2 cortex will not interoperate with 0.1.2 remote layers before version 0.1.2. Persistent storage format has not changed. (#1196)
  • Add skeleton for reverse engineering model. (#1198)

Bugfixes

  • When using synapse.tools.cmdr, issuing ctrl-c to cancel a running command in could result in the Telepath Proxy object being fini'd. This has been resolved by adding a signal handler to the synapse.lib.cli.Cli class which is registered by cmdr. (#1199)
  • Fix an issue where deleting a property which has no index failed. (#1200)
  • Single letter form and property names were improperly disallowed. They are now allowed. (#1201)

Improved Documentation

  • Add some example developer guide documentation. (#1193)

v0.1.1 - 2019-04-03

Features and Enhancements

  • Allow synapse.servers tools to specify a custom Telepath share name. (#1170)
  • Add $lib.print(), $lib.len(), $lib.min(), $lib.max(), and $lib.dict() Storm library functions. (#1179)
  • Add $lib.str.concat() and $lib.str.format() Storm library functions. (#1179)
  • Initial economic model for tracking purchases. (#1177)
  • Add progress logging for the (0, 1, 0) layer migration. (#1180)
  • Remove references to Cortex.layer as a Cortex level attribute. There was no guarantee that this was the correct write layer for a arbitrary view and could lead to incorrect usage. (#1181)
  • Optimize the snap.getNodesBy() API to shortcut true equality lift operations to become pure lifts by buid. (#1183)
  • Add a generic Cell server, synapse.servers.cell that can be used to launch any Cell by python class path and file path. This can be used to launch custom Cell objects. (#1182)
  • Add server side remote event processing to .storm() API calls. (#1171)
  • Add Telepath user proxying. (#1171)
  • Migrate Dockerhub docker container builds and pypi packaging and release processes to CircleCI. (#1185)
  • Improve performance. Add a small layer-level cache. Replace home-grown synapse.lib.cache.memoize implementation with standard one. Make layer microoptimizations. (#1191)

Bugfixes

  • Fixes for lmdblab.dropdb and lmdbslab.initdb mapfull safety. (#1174)
  • Graceful recovery for pre v0.1.0 database migrations for lmdbslab backed databases. (#1175)
  • Syntax parser did not allow for multiple dot hierarchies in universal properties. (#1178)
  • Fix for lmdbslab mapfull error during shutdown (#1184)
  • synapse.lib.reflect.getShareInfo() could return incorrect data depending on execution order and object type inheritance. (#1186)
  • Add missing test for Str types extracting named regular expression matches as subs. (#1187)

Improved Documentation

  • Minor documentation updates for permissions. (#1172)
  • Added docstring and test for synapse.lib.coro.executor(). (#1189)

v0.1.0 - 2019-03-19

  • Synapse version 0.1.0 released.