Releases: tango-controls/fandango
14.9.2: decimation/stability/concurrency
fandango 14.9.2
v14 still usable on python 2.6 (probably last release)
version reverted to 14.9 (pre py3)
solve py2to3 issues
update setup.py for pip2
Database decimation:
add functional.inf
add getTableIndex
improve aggregators
add check/checkTable methods
Stability/debugging:
replace asserts by raise
solve bug in DynamicDS.Lambdas
ask confirmation before tango_servers.stop()
better get_process_memory
add cache to get_process_memory()
set MemUsage polled, use fn., add traces
Events and processing:
bug in monitor event callback
get attribute polling when checking events
add delay pause to ThreadDict
add try/except to SubprocessMethod
add callback and pause to AsynchronousFunctions
solve bug on ThreadDict.Stop()
14.9.5: Changes needed for PyTangoArchiving 8.12, bugfixes
14.9.5 solve ESource deadlock
refactor check_device
push memusage event
deadlocks: use event lock, use proxy and ping on checks
check_device, do not access state by default
check_device, do not access state by default
solve bug in tango_servers script
filter_array: solve bugs on filtering null values
14.9.3 PyTangoArchiving requirements, getTableRows, SubprocessMethod
fix bug in inCl
fix fn.toList(dict)
Merge branch 'develop' of https://github.com/tango-controls/fandango into develop
solve return value in getTableRows()
Merge branch 'develop' of https://git.cells.es/ctpkg/fandango into develop
remove future import
SubprocessMethod TimeOut(time) exception
allow to force a mysql driver
solve py3 bug
14.8.1: bugfixes, improvements for dynamic devices, partitioned db's and shell utilities
14.8.1 Apply bugfixes/pull requests from github
solve fqdn issues (#16)
merge PR#17
Dont read attribute when previous is supplied (#19)
14.8 Solve Bug on DynamicDS.push_dyn_attr, bash shell improvements
adapt tango_monitor to use fandango.EventSource (event/polling combinator)
Astor: add host/devices as valid arguments
DynamicDS: pass value to push_dyn_attr (bug on first push), added try/except
threadDict: added 1 timewait at the first run()
functional:
avoid generator except in randomize
add kwargs and pickle export to call()
databases:
add getTableCreator/PartitionExpression methods
remove help from setup.py
14.7 Cleaner shell scripts, + DynamicCommands on DynamicDS
allow ThreadDict.get() to retrieve hw values
find_attributes, return always in lower case
solve bug in doc module, add coverage check
add tests and gen_test_file
add recursivity on loadModule and findModule
moving tests to ci/test
fixes on shell and export
add DynamicCommands to dynamically loaded devices
refine fandango shell logs
update pydocs
14.6 Inspect DB partitions, push from Lambdas code on Dynamic attributes
databases:
add methods to get/check table partitions and data size
dynamic devices:
add Lambdas property to speed up calculations
refactor check_changed_event to differentiate push and always
add getDynamicAttributes command
functional:
add fbool() to do all() on sequences
remove parenthesis from wildcards list
14.5.1 Improvements for SimulatorDS and Taurus Archiving Schema
databases:
improve traces
add note on MySQLdb/mysqlclient migration
tango methods
clear default settings for per_event and states
assume state/status to always push events
Solve issues exporting attributes, solve numpy array except
allow integer keys on pick
add missing tango/array/image types
add PGET/PSET for propertis, add DynamicSpectrumSize device property,
avoid problems when commands use reserved names
TangoEval: do not allow dots on attribute names
allow "+" as intermediate character on device names (for hdb++)
solved errors on export attributes to pck,
add DynDS.getAttrFormula() command
scripts:
solve bug in tango_monitor
Add "states" command and localhost warning
solve import issues on fandango script
Catch exceptions on attribute/device export
functional:
add functional.ISO_TIME_FORMAT definition
Add dates as valid format on str2type
Add exception catching on str2time
14.4.2
Solved bug in RAW_TIME parsing
Add DEFAULT_TIME_FORMAT/set_default_time_format
Add Variable class
Refactor Decorator func access
Set DynamicDS.MaxEventStream = 0 by default
14.4.0
Add ReadOnWrite property to DynamicDS
Add write_attribute/device_command to fandango.tango
Add functional.call() generic main method for testing
Add linos.get_disk_usage() method
Accelerate tango.get_full_tango_name() method
14.3: dots in Tango names
14.3.0
Enable erasing of events in set_attribute_events
use defaults regexp in tango eval, allowing dots and wildcards
update dynds scripts (port bug)
14.2.1
solve DynamicDS bug (ORBEndPoint dashes)
add check_device_events and Eval.CHECK methods
14.2.0
Bugfixes on callbacks/EventSource and servers/Astor methods
Fandango 14.1 - Queued events in DynamicDS
Fandango 14.1 - Queued events in DynamicDS
DynamicDS:
Queued event sending using processEvents() and MaxEventStream
Added EventQueueSize attribute
Bug solved on DynamicDS (ORBEndPoint)
Change in CopyCatDS ORBendPoint args
solve bug on received exception
Add ThreadDict cycle time measures
Solved bug on dyn_attr when called on running devices
Attribute pushing moved to push_dyn_attr method
Solve queue/Queue imports in several modules
Fandango 14.0: Refactoring of fandango.dynamic
DynamicAttribute moved to tango.dynattr
Properties, Attributes, Helpers divided in 3 classes
traces cleanup
add stats to monitored events
allow named args on shell
increase cache sizes, add setPauseEvents
add locks to Cached.prune
refactored Keep/Events management
refactored init_locals()
refactored get_attr_name
refactored evalAttr
KeepTime/cache moved to evalAttr
simplified event check
unused code commented
added DynamicAttribute.updated
Added init_locals method
13.9.0 Critical bugfixes and raw event pushing
13.9.0 - August 2018
DynamicDS:
solves critical bug in get_default_properties
Enable events on raw attribute change
Solve bugs on array events and qualities
tango_monitor refactored
fixed bugs on EventSource init/del
allow dots on device names (req by Philal)
better event check
set archive event as optional on DynamicDS
export devices: vector/list bug solved by kmadisa
export more attribute properties (by kmadisa)
critical bug solved on XATTR (long uris)
Fandango 13.6: Improvements for HDB++ and multi-host systems
13.6.0 - February 2017
Solve mem leak in FolderDS, add SaveCharBuffer() command
Add fandango.tango.check_attribute_events()
Caches added to get_tango_host and get_device
Add getter/setter methods to TangoEval
Decimation < 1 s
13.5.2 - January 2017
Enable Fully Qualified Domain Names in Tango models, model.fullname = URI
Solve bugs in filter_array methods (absdiff)
Improve set/get attribute config/events
13.4.0 - November 2017
Bugfix release for PyTangoArchiving 7.7
Qwt5 added to fandango.qt
Added waits to reduce worker cpu usage
Added -l/-v arguments to fandango shell
Add fqdn and tango_host to parse_tango_model
Increase server restart sleeps
Solve bugs on DynamicDS launchers
Json/Unicode bugfixes
13.2.7 - October 2017
Solve performance and cpu issues on EventListeners
Solve bugs on SimulatorDS configuration/startup
Fandango 13.2.6: Performance improvements for PANIC
IT IS ADVICED TO UNINSTALL ANY PREVIOUS VERSION OF FANDANGO BEFORE INSTALLING THIS ONE
Performance improvements on EventSources/Cached/tango.search for PANIC 6.2
@sergirubio sergirubio released this 8 days ago · 26 commits to develop since this release
CHANGES
Since 13.1.1
Adapt to Taurus4
Solve FakeAttributeValue.read() bug
TGet renamed to fandango.tango.finder()
Added fandango.objects.Cached, fandango.debug.Timed decorators
Solve bug on ReleaseNumber operations
Add '~' as negate character for extended regexp
python 3 + pep 8 cleanups
Add host-aware get/put free properties methods
Many improvements on functional/log methods
13.1: Multi-host panic and ServersDict api's
Solve bugs on EventSource/Listener API
Improve tango module performance (check_device, get_matching*)
Add quality boolean flags (.ALARM, .WARNING) to attribute values on TangoEval
Add microseconds on time related methods
sysargs_to_dict: added multiarg/multiflag/splitter arguments
Bugs solved in drag/drop API
Solve infinite queue bug in WorkerDS
Performance improvements on EventSources/Cached/tango.search for PANIC 6.2
CHANGES
Since 13.1.1
Adapt to Taurus4
Solve FakeAttributeValue.read() bug
TGet renamed to fandango.tango.finder()
Added fandango.objects.Cached, fandango.debug.Timed decorators
Solve bug on ReleaseNumber operations
Add '~' as negate character for extended regexp
python 3 + pep 8 cleanups
Add host-aware get/put free properties methods
Many improvements on functional/log methods
13.1: Multi-host panic and ServersDict api's
Solve bugs on EventSource/Listener API
Improve tango module performance (check_device, get_matching*)
Add quality boolean flags (.ALARM, .WARNING) to attribute values on TangoEval
Add microseconds on time related methods
sysargs_to_dict: added multiarg/multiflag/splitter arguments
Bugs solved in drag/drop API
Solve infinite queue bug in WorkerDS
12.6.1: Event Callbacks, Shell scripts and FolderDS for remote logging
IMPORTANT: Due to fandango.device module refactoring you may need to remove previous package before installing this one
12.6.1 - April 2017
Solve bugs in csv2tango and fandango launcher
Remove extensions from scripts
Add functional.obj2str, better string return from fandango launcher
filtersmart: accept strings as filter sequence
Solve exceptions on ThreadedObject exit
Solve bug on EventsThread.EVENT_POLLING_RATIO
PENDING:
NOT-TODO-YET(tiago): replace dicts.Enumeration by python Enum (but as it is not supported in python 2.6 we will wait to next OS upgrade)
NOTE: Some bugs where found in new multi-host capablities of tango.* methods; I did some patches but play with care.
ONGOING:
dicts: implement DictFile regexp alternative to CSVArray (to be used to import/export web reports)
StructDict with sort/get/filter methods like Panic api
preparing next PyAlarm release with None not allowed in comparisons
12.6 - March 2017
Arrays:
Solve bug in CSVArray.getAsTree when lastbranch is a column name
Apply x/y offsets on calls to CSVArray.resize()
Add try/except to CSVArray.set()
Callbacks/EventSource:
Adapted to multiple sources, add dummy for persistence
Rethrow exceptions on EventSource/CachedProxy.read(_raise=True) (default)
Solve EventSource filtering and polling bugs, cleanup now() references
solve issues with poll-only attributes, tune for >1000 events/second
Add write_with_read argument to EventSource.init()
Enable EventSource subscribe without listeners
Enable EventSource.removeListener(sequence)
Add extra counters to EventSource, solve bug in Cached values
Dev4Tango:
add LastUpdate and MemUsage attributes to all devices
Dicts:
ThreadDict: add _updates refresh on write hardware
Functional
Add iif(condition,truepart,falsepart,foward)
FolderDS/GUI:
add SaveFolder attribute
Solve bug in FolderGUI.ListFiles
Qt:
Adapt fadango.QEvaluator to latest PyQt4
patch for taurus 4
Solve problems with non-string models in QSignalHook
Scripts:
Add offset to tango2csv.add_properties_to_csv()
Enable host argument to tango_servers start/status/stop
Use tango_property to export DynamicDS properties
Tango:
Remove domain info in get_tango_host() (pytango bug)
Adapt get_device_info to multihost
Adapt fakeAttributeValue to taurus4
Solve bug in TangoEval formula starting with 'not '
add get_server_property method
check_attribute to allow proxy or taurusattribute as argument
Tests/simulation:
Set SimulatorDS as default simulation class
Threading:
Add ThreadedObject.get_avg_delay method
12.5 - January 2017
Solve problems on DynamicDS evalAttr() and tuples as sequences
12.4 - January 2017
Solve MRO exception in device.Dev4Tango
Solve bug in get_device_info/get_database_device
caused by domains in tango hostname
12.3 - November 2016
Improve documentation
functional:
- Add timed_range
- Improve export_device_to_dict()
- Solve regexp bug in str2py
- Add tango2json script
- add clsplit method
Dynamic:
- Improve ATTR/XATTR syntax
- Solve compatibility with Unsigned types, 12.2.3
- allow READ(full_attr) on eval
New-cache-proxy:
- Solve Bugs in EventListener and ThreadedObject
FolderDS:
- Adapt FolderAPI to multi-tango-host environment
- Add launchers
12.2.1 - October 2016, Bugfix release, required by latest PyPLC/Panic
Solve critical bug in tango.add_new_device that may prevent PyAlarm to start
FolderDS/API/GUI updated to be multi-tango-host capable
threads: timed_range new time-based iterator
dynamic: extend DynamicAttribute formula syntax for ATTR/GET/SET
callbacks: New EventSource/Listener API for registering to Tango events (BETA)
inheritance: printout that caused problems on fandango.sh
12.1 - August 2016, required by latest PyPLC/Panic
device.FolderAPI is now Singleton, capable of parsing folderds:/tango: URI's
functional: Solved bug on str2type(list)
12.0 - August 2016, required by latest PyPLC/Panic
Adds FolderDS device/api and solves JSON export issues
MIGRATED TO GITHUB: https://github.com/sergirubio/fandango
device/FolderDS:
- remote writing/reading log files
- FolderGUI tool for managing FolderDS devices
- FolderDS device class and documentation
functional:
- Add multiline strings when exporting to json dictionary
- Solve bug in replaceCl, dict2json
- Add code2atoms, allow str2list to keep separator
- solve bug in filtersmart()
- Add is_zero argument to isBool (enable 0 as a valid boolean by default)
tango:
- Solve numpy bug on export_attribute_to_dict (using str2type)
- Add verbose state on check_device()
- Add load_by_class get_device_host methods to ServersDict (for better device-based API's)
- Add get_device_help internal DS method
- Add get_class_devices method
- Add get_full_name method
linos: Add caseless option to listdir()
dynamic: Add Help() command to DynamicDS
qt: Solve bug in QEvaluator.setModel()
objects: Add nullDecorator to objects
log: Add logLevel to FakeLogger
test: Adding custom test scripts