Skip to content

Releases: alliedtelesis/apteryx

v5.49

23 Oct 20:42
Compare
Choose a tag to compare

What's Changed

Full Changelog: v5.48...v5.49

v5.48

14 Oct 00:09
Compare
Choose a tag to compare

What's Changed

Full Changelog: v5.47...v5.48

v5.47

09 Oct 20:30
Compare
Choose a tag to compare
Return DB timestamp for refreshed paths

Previously we alway returned "now" if there was a chance
of a path being refreshed. That was because refreshed paths
always had their timestamps updated to "now" even if the
refresher decided not to update anything so that we did not
call the refresher again for stale child nodes. Now that we
do not use the DB timestamps to decide whether to call the
refreshers anymore we can fix this odd behaviour.

The change in behaviour is;
1. A call to a refresher does not result in all children of
the path having their timestamps set to "now" even if they
were not modified.
2. A call to get a timestamp for a path will call refreshers
to make sure the timestamp is up to date.

v5.46

06 Oct 22:05
Compare
Choose a tag to compare

What's Changed

Full Changelog: v5.45...v5.46

v5.45

22 Sep 23:34
Compare
Choose a tag to compare

Handle a tree the whole way from from apteryx_prune / apteryx_set_tree to the watch_tree callback in the client.

Add new memory diagnostics with "apteryx -m".

v5.44

21 Apr 22:30
Compare
Choose a tag to compare
Dont print error if apteryx_path_node passed NULL tree

It is commonly used to check if a tree has a path and that
tree may be completely empty.

v5.43

15 Apr 02:27
Compare
Choose a tag to compare
Implement apteryx_watch_tree_masked

Allows users to create a watch callback that masks
sets made by itself as defined by namespace and pid.

Flags are now passed to apteryxd via the GUID.
RPC messages contain the sender ns/pid.
Use macros to alow users to activate the required
functionality without them calling the _full fn.

v5.42

03 Apr 21:34
Compare
Choose a tag to compare
A worker pool is only needed for rpc instances that serve call backs

Since the glib-2.0 patch
4d2e77a55 GThreadPool: Always use the thread-spawning thread for the global shared thread pool
https://github.com/GNOME/glib/commit/4d2e77a5546cccc10f83d103d6f1527a5c9bcf13
creating a threadpool spawns a new thread. Previously, this was only the
case for non-Linux platforms.
This can cause issues for daemons that fork and depend on libraries that
load apteryx on LT_INIT, as the glib threadpool spawned thread will not
be copied on the fork.
Additionally, now libraries that only use get calls will be running an
extra thread from the threadpool.

Move the threadpool creation into request_cb() to only spawn the pool
managing thread for applications that require callbacks using workers.

v5.41

13 Mar 21:05
Compare
Choose a tag to compare
Ensure workers have correct sigmask

The slow work thread should have all signals blocked.
But should call callbacks with the worker_sigmask.
Tidy up variable naming so this is more obvious if
this code is changed later.

v5.40

11 Mar 03:26
Compare
Choose a tag to compare
Use MONOTONIC time for socket recv timeout

Get rid of the duplication of get_time_us functions.