Skip to content
This repository has been archived by the owner on Jan 18, 2020. It is now read-only.

Releases: chop-dbhi/avocado

2.4.0 Release

29 Nov 12:17
Compare
Choose a tag to compare

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 to False 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 an icontains 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 through 0014 have been combined. Application migrations that depend on specific Avocado migrations less than 0014 must be updated to to point to avocado_0001 (or greater).
  • #216 The deprecated lexicon package has been removed. A data migration is included to set label_field_name, order_field_name, and code_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 as f.count()) returned an Aggregator 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 and DataQuery count-based and tree fields have been removed in favor of a count method to compute the count dynamically. This value is cached and is automatically invalidated based on the modified timestamp.
  • #246 The group field has been removed from DataField and DataConcept 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 just formatter.
  • #251 Remove ident and internal unused fields from DataField and DataConcept
  • #184 The deprecated sets package has been removed. A data migration is included to set the label_field_name if the label_field attribute is defined on the ObjectSet subclass.

Backported Fixes and Features

27 Jan 14:06
Compare
Choose a tag to compare

This release supports the corresponding Serrano 2.3.13 release and contains a few fixes and features backported from the 2.4.x series.

  • #281 Add general purpose cache function and improve existing ones.
  • 07a27eb Fix QueryProcessor.get_iterable to use passed queryset directly.

Update Modeltree 1.1.9

11 Nov 20:35
Compare
Choose a tag to compare

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 to ModelTree.add_query.

Permissions Setting

20 Oct 15:39
Compare
Choose a tag to compare

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

16 Oct 17:29
Compare
Choose a tag to compare

Enhancements

  • #243 - Refactored the base Formatter class to derive the default preferred format from DataField or DataConcept 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

03 Oct 14:27
Compare
Choose a tag to compare

Hotfix for 2.3.7

Bugs

  • #235 - Fixes an issue caused by avocado.stats.agg.Aggregator instances because pickled without properly pickling the internal queryset.

Data Cache Improvements, Migration Fix

30 Sep 16:48
Compare
Choose a tag to compare

Features

  • #230 - The data cache API now supports caching results with arguments

Enhancements

  • #226 - New DataField.dist method for getting a simple distribution of the field data

Bugs

  • #228 - Fix migration from v2.3.6

Optional Field Indexing

22 Sep 23:01
Compare
Choose a tag to compare

Features

  • #223 - Add DataField and DataConcept indexable field for toggling which fields or concepts are indexed by Whoosh

Bugs

  • #224 - Fix an unbound variable error

Optional QuerySets & Fixes

18 Sep 16:39
Compare
Choose a tag to compare

Enhancements

  • #214 - Add DataField.random for returning N random values
  • #220 - Add optional queryset argument to many DataField methods
  • #212 - Return cleaned values from DataContext validation

Bugs

  • #218 - Support unicode in CSV exporter
  • #222 - Remove hard-coded ValuesQuerySet transform in QueryProcessor.get_queryset method

Share By Username, Data Sparsity, Admin Enhancements

29 May 01:04
Compare
Choose a tag to compare

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 to DataField 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