Skip to content

v1.7.4

Compare
Choose a tag to compare
@zimingd zimingd released this 29 Jan 21:45
· 2855 commits to master since this release
0d2b84b

Release v1.7.4

Release Date: 29-January-2018

This release mostly includes bugfixes and improvements for various Table classes:

  • Fixed bug where you couldn't store a table converted to a pandas.Dataframe if it had a INTEGER column with some missing values.
  • EntityViewSchema can now automatically add all annotations within your defined scopes as columns. Just set the view's addAnnotationColumns=True before calling syn.store(). This attribute defaults to True for all newly created EntityViewSchemas. Setting addAnnotationColumns=True on existing tables will only add annotation columns that are not already a part of your schema.
  • You can now use synapseutils.notifyMe as a decorator to notify you by email when your function has completed. You will also be notified of any Errors if they are thrown while your function runs.

We also added some new features:

  • syn.findEntityId() function that allows you to find an Entity by its name and parentId, set parentId to None to search for Projects by name.
  • The bulk upload functionality of synapseutils.syncToSynapse is avaliable from the command line using: synapse sync.

Below are the full list of issues addressed by this release:

New Feature

  • [SYNPY-506] - need convenience function for /entity/child
  • [SYNPY-517] - sync command line

Improvement

  • [SYNPY-267] - Update Synapse tables for integer types
  • [SYNPY-304] - Table objects should implement len()
  • [SYNPY-416] - warning message for recursive get when a non-Project of Folder entity is passed
  • [SYNPY-482] - Create a sample synapseConfig if none is present
  • [SYNPY-489] - Add a boolean paramter in EntityViewSchema that will indicate whether the client should create columns based on annotations in the specified scopes
  • [SYNPY-494] - Link should be able to take an entity object as the parameter and derive its id
  • [SYNPY-511] - improve exception handling
  • [SYNPY-512] - Remove the use of PaginatedResult's totalNumberOfResult
  • [SYNPY-539] - When creating table Schemas, enforce a limit on the number of columns that can be created.

Bug

  • [SYNPY-235] - can't print Row objects with dates in them
  • [SYNPY-272] - bug syn.storing rowsets containing Python datetime objects
  • [SYNPY-297] - as_table_columns shouldn't give fractional max size
  • [SYNPY-404] - when we get a SynapseMd5MismatchError we should delete the downloaded file
  • [SYNPY-425] - onweb doesn't work for tables
  • [SYNPY-438] - Need to change 'submit' not to use evaluation/id/accessRequirementUnfulfilled
  • [SYNPY-496] - monitor.NotifyMe can not be used as an annotation decorator
  • [SYNPY-521] - inconsistent error message when username/password is wrong on login
  • [SYNPY-536] - presigned upload URL expired warnings using Python client sync function
  • [SYNPY-555] - EntityViewSchema is missing from sphinx documentation
  • [SYNPY-558] - synapseutils.sync.syncFromSynapse throws error when syncing a Table object
  • [SYNPY-595] - Get recursive folders filled with Links fails
  • [SYNPY-605] - Update documentation for getUserProfile to include information about refreshing and memoization

Task

  • [SYNPY-451] - Add limit and offset for accessApproval and accessRequirement API calls and remove 0x400 flag default when calling GET /entity/{id}/bundle
  • [SYNPY-546] - Change warning message when user does not DOWNLOAD permissions.