Python-diameter

Latest version: v0.7.3

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

Scan your dependencies

Page 1 of 2

0.7.3

In this release

New features

* Multiple realms can be routed through the same peer (d99ae6f)
The multiple realms support is extended to also cover a scenario where a single peer will send messages with varying destination realm names. The `Node.add_application` accepts now an additional list of realms that will route through the given peer

Bugfixes and changes
* Diameter messages split across multiple frames no longer raise an exception and result in connection being closed (14)
* Session ID generation on python 3.9 defaults now to big-endian byte order

**Full Changelog**: https://github.com/mensonen/diameter/compare/v0.7.2...v0.7.3

0.7.2

In this release

New features

* A python implementation for the 3GPP Rf commands has been added:
* Accounting-Request/Answer
* A python implementation for the 3GPP Ro commands has been added:
* Credit-Control-Request/Answer

Bugfixes and changes
* Several incorrectly initialised `AccountingRequest` list attributes are now correct
* `AttributeError` raised whenever a peer is set as default is fixed (13)

**Full Changelog**: https://github.com/mensonen/diameter/compare/v0.7.1...v0.7.2

0.7.1

In this release

New features

* Statistics and performance numbers for peers (`Peer.statistics`) and cumulated for the entire node (`Node.statistics`) (9):
* Counters for received requests for the last minute, 5 minutes and 15 minutes
* Counters for sent result codes for the last minute, 5 minutes and 15 minutes
* Average response times
* Rate of processed responses per second
* Snapshots taken at 1-minute intervals, kept for 24 hours (`Node.statistics_history`)
* AVPs for diameter command messages that do not have a Python implementation can now be accessed as instance attributes as well. All unimplemented commands now inherit from `UndefinedMessage` class, which populates its instance attributes based on the AVPs it contains, when created using `Message.from_bytes` ([documentation](https://mensonen.github.io/diameter/guide/message/)).
* The list of known diameter command messages extended with ~100 new commands, mostly vendor-specific ([documentation](https://mensonen.github.io/diameter/api/commands/other_commands/))
* The most recent peer disconnect reason is recorded and accessible as the `disconnect_reason` Peer instance attribute
* A python implementation for the 3GPP Sy commands have been added:
* Spending-Limit-Request/Answer
* Spending-Status-Notification-Request/Answer

Bugfixes and changes

* `AvpTime` no longer overflows at year 2036, usage extended to year 2104 (8)
* Re-connect with persistent peers is no longer attempted, if the peer has exited after a Disconnect-Peer-Request. This behaviour can be overridden by setting the `always_reconnect` Peer attribute to true (5)
* Message routing to applications works now with multiple realms. I.e. an Application can now receive requests from multiple Peers that have been configured with different realm names
* Dataclasses representing translated Grouped AVPs have been moved to their own module `diameter.message.avp.grouped`
* Attempting to send a message through a node to a destination realm that is unknown (no peers configured) raises now a `NotRoutable` exception
* `RuntimeError` raised in Python 3.12 during interpreter shutdown has been silenced
* `Peer.last_connect` timestamp is now also set for incoming connections after a successful CER, previously always unset
* Nodes no longer dump periodic data on peer connections and statistics into logfiles. Statistics logging is controlled by `Node.peers_logging` and `Node.stats_logging`, both defaulting to False

**Full Changelog**: https://github.com/mensonen/diameter/compare/v0.6.1...v0.7.1

0.6.1

In this release

- Support for re-transmission detection and rejection added (1)
- Support for Proxy-Info AVPs in automatically generated answers added (2)
- 3GPP Diameter Charging Application (TS 32.299) support added
- Diameter Mobile IPv4 (rfc4004) support added
- Diameter Network Access Server (rfc4005, rfc7155) support added
- Diameter Extensible Authentication Protocol (rfc4072) support added
- "oneM2M" vendor and its AVPs added
- Bump from "alpha" to "beta" status

**Full Changelog**: https://github.com/mensonen/diameter/compare/v0.5.6...v0.6.1

0.5.6

In this release

- Incoming connections from relay agents are accepted even if no common application IDs (4)
- Accessing AVPs in defined diameter messages that have not been set are now returned as `None` instead of an `AttributeError` being raised
- Default timers have now sensible values, main thread wakeup timer can be configured
- Signed and unsigned integer AVPs are now handled separately, as `AvpInteger32`, `AvpUnsigned32`, `AvpInteger64` and `AvpUnsigned64`
- Adds a previously missing "Qos-Final-Unit-Indication" grouped AVP and all of its sub-AVPs as an instance attribute of `CreditControlAnswer`

**Full Changelog**: https://github.com/mensonen/diameter/compare/v0.5.4...v0.5.6

0.5.4

In this release

- Updates documentation with the final, correct package name
- Packages released to PyPI

The package can now be installed with `pip install python-diameter`.

Page 1 of 2

Links

Releases

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.