This repository has been archived by the owner on Jan 18, 2020. It is now read-only.
Releases: chop-dbhi/avocado
Releases · chop-dbhi/avocado
2.4.0 Release
Features
- #153 Added support for Django 1.6
- #312 Added support for Django 1.7
- #252 Added a
PERMISSIONS_ENABLED
setting to toggle when the permissions system should be enabled if django-guardian is installed. Set toFalse
to explicitly disable permissions, otherwise it will be automatically applied if installed. - #234 Models are now frozen as part of the metadata migrations.
- #268 A fallback search implementation has been added when Haystack is not installed or being used. Previously, the
search
manager method would throw an error if called and Haystack was not setup. This was problematic since Serrano uses that method. Now the search performs anicontains
database query on the relevant fields. - #280 Add utilities for canceling queries
- #318 Utilities for performing asynchronous (background) queries. This requires a Redis server to be setup and django-rq installed.
Changes
High Impact
- #288 Dropped support for Django 1.4
Medium Impact
- #249 South migrations
0001
through0014
have been combined. Application migrations that depend on specific Avocado migrations less than0014
must be updated to to point toavocado_0001
(or greater). - #216 The deprecated
lexicon
package has been removed. A data migration is included to setlabel_field_name
,order_field_name
, andcode_field_name
of lexicon primary key fields. Note: This drops support for lexicon detection on foreign key-based fields.
Low Impact
- 2cc44b9 In 2.3.x,
DataField
aggregation methods (such asf.count()
) returned anAggregator
instance that could be further manipulated and lazily evaluated. However, this prevented the actual return value of those methods from being cached. This has been changed so the value itself is returned so it can be used directly and also be properly cached. - #194 The
DataContext
andDataQuery
count
-based andtree
fields have been removed in favor of acount
method to compute the count dynamically. This value is cached and is automatically invalidated based on themodified
timestamp. - #246 The
group
field has been removed fromDataField
andDataConcept
since it was not being acknowledged in the permission system. The superior solution is to use django-guardian to define relationships between users and groups to fields and concepts. - #250 Change the field
DataConcept.formatter_name
to justformatter
. - #251 Remove
ident
andinternal
unused fields fromDataField
andDataConcept
- #184 The deprecated
sets
package has been removed. A data migration is included to set thelabel_field_name
if thelabel_field
attribute is defined on theObjectSet
subclass.
Backported Fixes and Features
This release supports the corresponding Serrano 2.3.13 release and contains a few fixes and features backported from the 2.4.x series.
Update Modeltree 1.1.9
Bugs
- #270 - Update to Modeltree 1.1.9 to address a limitation that prevented any way of passing the originating model in the
DataView
parser toModelTree.add_query
.
Permissions Setting
Enhancements
- #253 - Introduces the
PERMISSIONS_ENABLED
setting that determines whether object-level permissions should when getting all published data fields or concepts. Previously, it was determined based on whether django-guardian was installed. Now there is support for explicitly disabling it even if guardian is installed.
Formatter Refactor & Bugs
Enhancements
- #243 - Refactored the base
Formatter
class to derive the default preferred format fromDataField
orDataConcept
itself rather than blindly trying all formats. This also prevents incorrectly coercing values out of their native type.
Bugs
- #239 - Fix an issue affecting Lexicon-based fields that did not properly resolve the value field name.
- Fix an issue in the
DataField.dist
method which caused all fields on the model to be grouped by, rather than just the value field.
Data Cache Memory Leak Fix
Data Cache Improvements, Migration Fix
Optional Field Indexing
Optional QuerySets & Fixes
Share By Username, Data Sparsity, Admin Enhancements
Features
- Queries can now be (optionally) shared by username. Sharing features are now driven by a few settings
Enhancements
- The admin list display has been updated to order by categories and current status
- Hardcoded admin URLs have been removed to support sub-classing
- A new
sparsity
method has been added toDataField
which computes the ratio of records with null values to the total count - Regexp operators has been added to the registry for string-based fields
- Queries using Djago proxy models will now be properly respected due to a change in modeltree 1.1.8