Synapse

Latest version: v2.205.0

Safety actively analyzes 723296 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 57 of 60

0.0.40

Not secure
--------------------

New Features
- 564 - Added a ``int:2:str10`` typecast to convert a integer value to the base10 string value.
- 569 - The Telepath ``Proxy`` object now fires the local event ``tele:sock:runsockfini`` when the Proxy is attempting to reconnect to its remote ``Daemon``. This can be hooked by implementers to detect the loss of an existing connection to a remote ``Daemon``.
- 572 - The ``synapse.axon.AxonCluster`` helper object is now a subclass of ``EventBus``. This will now automatically close its corresponding ``SvcProx`` instance on its own ``.fini()``.
- 572 - Added the ``synapse.lib.iq.objhierarchy()`` function to extract a type hierarchy from nested tufo-style objects. This can be a useful for debugging.

Enhancements
- 565 - Increase Tornado related test timeouts from 5 to 30 seconds.
- 570 - Additional debug logging added to ``synapse.axon.Axon`` actions.
- 572 - Additional debug logging added to ``synapse.lib.persist.Dir`` actions.

Bugs
- 561 - When a telepath Proxy object is made, by default it will create its own socket Plex object. This Plex is now fini’d when the proxy is fini’d.
- 568 - Add ``synapse.glob`` to ``synapse.lib.socket`` imports to fix a missing reference.
- 567- The ``synapse.lib.persist.Dir.items()`` method yielded offsets which could switch from being relative offsets to being absolute offsets. This has been changed to always yield absolute offsets.
- 570 - The ``synapse.axon.Axon._fireAxonClone`` thread now uses the ``tele:sock:runsockfini`` event to detect that a disconnect has occurred for its remote Proxy, and uses that to break out of its innermost ``synapse.lib.persist.Dir.items()`` loop. The previous behavior would fail to reconnect if part of an Axon cluster went down and then came back up, as the Proxy contained potentially invalid link information instead of getting an updated link tufo from the Axon’s ServiceBus.
- 571 - Fini ``Axon`` threads after calling ``self.syncdir.fini()`` to ensure that any threads which are in the real time event pump from the syncdir can safely close their resources before attempting to stop any threads.

Documentation
- 572 - Miscellaneous API docstring improvements.

0.0.39

Not secure
--------------------

New Features
- 553 - Synapse Docker images will now have ``-debug`` images available as well for all master and tagged builds. This image is built off of the ``vertexproject/pydebug:3.6-slim`` image. This image has full GDB support for Python enabled. See https://github.com/vertexproject/pydebug for more information.

Enhancements
- 551 - Make 4096 bit RSA keys by default when using the ``synaspse.tools.easycert`` tool. Thanks galyac!
- 550 - Add additional debug logging to Synapse when starting up a Cortex, executing remote methods via Telepath and around SSL errors.
- 554 - Validate the Storm ``tree()`` ``recurlim`` argument is greater than or equal to zero.
- 557 - ``inet:dns:look:tcp4:ipv4`` and ``inet:dns:look:tcp4:udp4`` sub properties of ``port`` and ``ipv4`` have been added, so a DNS response can be recorded from a server even if the server source port is unknown.
- 559 - Add a limit parameter to the Storm ``totags()`` operator.
- 560 - Add unit test for ``synapse.lib.dark``.

Bugs
- 555 - Set the x509 extension number of certificates made by ``synaspse.tools.easycert`` to version 3 (0x02). This allows Chrome to validate the certificates starting in Chrome 63.
- 558 - When an exception is raised during the ``synapse.lib.socket.Plex._plexMainLoop`` call to ``select.select()``, perform a check to see if any sockets are fini'd or have fileno() == -1 and perform a cleanup operation on that socket. This can reduce a race condition where a bad socket can get wedged and prevent the multiplexor from working correctly.
- 558 - Change the ``synapse.link.ssl.Socket.send()`` implementation to call ``self.sock.send()`` itself instead of calling through the default ``Socket.send()`` method. This allows us to properly catch ``SSLWantReadError`` and ``SSLWantWriteError`` exceptions; instead of allowing teh default method to catch them as ``OSError`` exceptions and fini the socket. The previous behavior lead to SSL Sockets being unstable.
- 556 - Fix the Storm filter function for ``+range()`` so that filter operator works properly.
- 562 - Fix the Storm filter function for ``+in()`` so that filter operator works properly.

Documentation
- 552 - Add documentation for the Storm operators to the user guide: ``pivot()``, ``join()``, ``refs()``, ``fromtags()``, ``totags()``, ``jointags()``, and ``tree()``.

0.0.38

Not secure
--------------------

New Features
- 545 - Added storm macro function ``get:tasks`` and an API for introspecting tasks which have been registered on a Cortex.

Enhancements
- 544 - Added new fields (``url`` and ``whois:fqdn``) to ``whois:contact``.
- 547 - Enabled pyup monitoring for Synapse release notes and added config file to disable pyup update checks.
- 549 - Removed ``cryptography`` from setup.py.

Documentation
- 548 - Added CHANGELOG.md to maintain release notes within the repository.

0.0.37

Not secure
--------------------

New Features
- 542 - The ``Daemon`` now automatically calls ``item.fini()`` for items which are made from a Daemon configuration which are EventBus objects when the Daemon is ``fini()``'d. This allows the Daemon to tear down all instances of eventbus objects which it makes without having to share the object and set the ``onfini`` option when configuring the share.

Enhancements
- 541 - Added ``exe``, ``proc`` and ``host`` secondary properties to the ``inet:dns:look`` format to allow capturing a DNS lookup which may have originated from a file, process or a host.
- 540 - When the socket multiplexer does an ``accept()`` call, the remote ip and port are logged at the debug (``logging.DEBUG``) log level.

Bugs
- 58, 537 - Fixed IPv6 type norm() operations for OSX by using the ``ipaddress`` library instead of the ``s_socket.inet_ntop()`` function.
- 543 - Recent changes to pytest (included in the base image used for doing CI testing) changed how logging is performed. This disables those pytest changes.

0.0.36

Not secure
--------------------

New Features
- 529 - Synapse Docker container ``vertexproject/synapse`` is now built off of a base container, ``vertexproject/synaspe-base-image:py36``. This container is hosted from https://github.com/vertexproject/synapse-base-image and is also used for CI testing. The synapse-base-image contains all of the dependencies required for Synapse, as well as having software updated via `apt-get`. The base container also has ``:py35`` and ``:py34`` tags available as well.
- 523 - Added ``Cortex.extCoreFifo()`` to put of a list of items in a named Cortex FIFO.
- 523 - Added ``DataModel.addPropTypeHook()`` to allow a DataModel user to fire a function whenever a type is used to define a property. This can be used to define callbacks by a ``CoreModule``.
- 523, 538 - Added ``synapse.lib.db`` to handle pooled connections to databases. Added ``synapse.lib.sqlite`` to handle SQLite specific DB optimizations.
- 523 - Added ``synapse.lib.gis`` to handle geospatial computations.
- 523 - Added ``synaspe.lib.iq.TestSteps`` helper. This allows for for interlocking events for multithreaded tests.
- 523 - Multiple improvements to ``CoreModule``’s. They may now get a unique ``_mod_iden`` property by an implementor. This value can be retrieved with the ``CoreModule.getModIden()`` API. Added ``getModProp()`` and ``setModProp()`` APIs so that the CoreModule can store data in the attached ``Cortex`` object. Added a ``finiCoreModule()`` API which is automatically registered as a fini function for the CoreModule. CoreModule implementors can override this API in order to have resources torn down automatically.
- 523 - Added ``synapse.lib.revision`` module to provide helpers for doing revision path enforcement.
- 523 - Added ``syn:alias`` node types to allow for a global GUID alias for a given iden.
- 523 - Added ``synapse.models.geospace.LatLongType`` and ``synapse.models.geospace.DistType`` for normalizing Latitude/longitude data and distances.
- 523 - Added ``geo:nloc`` form to allow tracking the physical location of a given node over time.
- 539 - Added ``inet:wifi:ap`` node type to allow the intersection of a SSID and a BSSID value.
- 539 - Added ``tel:mob:imid`` form to represent the knowledge of an IMEI and IMSI together.
- 539 - Added ``tel:mob:imsiphone`` node type to represent the knowledge of an IMEI and a telephone together.

Enhancements
- 528 - When a property value is included in the Storm ``stats()`` operator, that value is now normed using ``getPropNorm()``.
- 529, 532 - The ``SvcProxy`` now refires ``syn:svc:init`` and ``syn:svc:fini`` events, so users of the SvcProxy may now react to those events to know that a service has been added or removed from the ``SvcBus``.
- 534 - Log messages for exceptions which occur on the ``EventBus`` which cause an exception in ``dist()`` function now include the repr of the ``EventBus`` object so it is clear what type of object had the error, and the mesg itself.
- 534 - ``traceback.print_exc()`` calls have been replaced by `logger.exception()`` calls so traceback information is directed through logging mechanisms, instead of being printed to stdout.
- 534 - The ``Axon.has()`` api now validates the ``hvalu`` parameter is not None before querying the Axon db via getTufosByProp, to ensure that we are not returning an arbitrary ``axon:blob`` tufo.
- 523 - ``Cortex.formTufoByProp()`` will now fire ``node:set:prop`` events for each property in a newly created node. This does not affect splice generation.
- 523 - ``Cortex.delTufo()`` will now fire ``node:set:prop`` events for each secondary property in the deleted node to indicate the new-valu is None.
- 523 - Added ``SynTest.getDirCore()`` and ``SynTest.getTestSteps()`` helpers for getting directory backed Cortexes and TestStep objects, respectively.
- 523 - ``CoreModule.getModPath()`` Now returns None if the Cortex the module is loaded in is not a directory backed Cortex.
- 523 - ``synapse.lib.queue.Queue`` now has a ``size()`` API and a ``__len__`` implementation which allows inspection of how many items are in the internal ``collections.deque`` object.
- 523 - Added ``synapse.lib.scope.pop()`` and ``synapse.lib.scope.Scope.pop()`` methods, which allow either a thread or object local scope to have a named object pop’ed out of it, similar to ``dict.pop()``.
- 523 - Storm syntax integer parser now supports parsing negative values (starting with a ``-`` sign), parsing values which start with ``0x`` as hex values, parsing values which start with ``0b`` as binary strings, and parsing floats properly.
- 539 - ``CompType`` forms now accept dictionary of values as input. They keys which map to fields and optfields are used to form the node.
- 539 - Added ``ipv4``, ``tcp4``, and ``udp4`` secondary properties to ``inet:dns:look``. These represent the IP address which requested the look, and the servers which may have responded to the look.

Bugs
- 529 - The ``SvcProxy`` object was incorrectly registering services by name, as well as tags, in its' ``ByTag`` helper. This was causing the ``SvcProxy`` to think additional services were still available after they were no longer available to the ``SvcBus``. This has been corrected, and the ``SvcProxy`` no longer misuses the ``ByTag`` helper.
- 531 - The atexit handler for the ``EventBus`` had a bad reference which could have triggered a NameError on shutdown. This has been fixed.
- 533 - Change the ``Axon`` test test_axon_host_spinbackup to use waiters on ``syn:svc:init`` events to address a race condition.
- 534 - Additional proxy objects are fini'd during Axon tests.
- 523 - ``Socket.send()`` now catches ``OSError`` and ``ConnectionError`` exceptions and fini’s the socket if they occur.

Documentation
- 527 - Added Storm documentation for the ``stats()`` operator.
- 534 - Docstrings for ``synapse.lib.persist.Dir.items()``, ``synapse.lib.service.SvcProxy.callByTag``, ``synapse.lib.service.runSynSvc`` have been rewritten.

0.0.35

Not secure
--------------------

New Features
- 524 - The Cortex class has a new API ``getCoreMods``, which returns a list of the currently loaded CoreModules in the Cortex.

Enhancements
- 522 - Exceptions raised during the thread Pool ``_run_work`` function are logged with additional information about what failed to run.

Bugs
- 522 - The ``synapse.lib.msgpack.en()`` function's use of the global msgpack.Packer object was wrapped in a try/except block; so that in the event of an exception during packing, we call the ``reset`` method to clear internal buffers of the object. It was possible that a serialization failure leaves data in the object, which would then be passed along to a subsequent caller. See https://github.com/msgpack/msgpack-python/issues/258 for example code showing this issue.
- 522 - Ensure that the axonbus Proxy objects made by Axon and Axonhost objects are fini'd.
- 522 - Fini more objects during Axon and Telepath tests which were not properly fini'd.
- 525 - The Axon ``_fireAxonClones`` function did not wait for its existing clones to come online (since they are handled by threads) befor entering the ``_findAxonClones`` routine. This could have caused the Axon to attempt to make additional clones for itself until the number of clones the Axon had loaded met the ``axon:clones`` option. The ``_fireAxonClones`` clones routine now waits 60 seconds for each previously known clone to come online before attempting to bring new clones online for itself.
- 526 - Pypi package had included a `scripts` package. This included development related scripts and was not intended for redistribution; and it collides with an existing `scripts` package on Pypi.

Documentation
- 522 - Update docstrings for ``telepath.openurl`` and ``telepath.openlink`` APIs.
dditional clones for itself until the number of clones the Axon had loaded me

Page 57 of 60

Links

Releases

Has known vulnerabilities

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.