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

Changelog

Byron Ruth edited this page May 13, 2013 · 6 revisions

2.0.22 (in development)

This will act as a pre-release for 2.1.

  • Add support for Django 1.5
  • Increase minimum version of ModelTree 1.1.5
  • Add a Haystack search_sites module for convenience when integrating in a project
  • Remove default search results size of 10
    • This is arbitrary and has caused confusion that it was truncating results
  • Augment the language text directly to DataContext JSON attributes
    • This reduces the overhead for clients to parse the language dict separately
  • Modify context validation to disable invalid nodes
    • This takes a more passive approach to validating context nodes, but prevents the context from getting in an unusable state. Validation errors result in the node being disabled.
  • Add template and default fields to DataContext and DataView
    • This enables the use case of differentiating template contexts and views vs. user-defined ones. The default flag enables marking a template as the default one to be used so there is a starting point for clients.
  • The dict representing the JSON data can be passed into the DataContext and DataView constructors directly for convenience
    • Other field values can still be defined using keyword arguments DataContext({...}, name='My Context')
  • Modify verbose name for 'in' to be 'is either X, Y or Z' and the negated form to 'is neither X, Y, nor Z'
  • Change container-based operators to use the Exact and NotExact text for single value lists
  • Backport context node schema from 2.1
    • This is a backwards compatible port of the context node changes in Avocado 2.1 specifically to:
      • Support the field key instead of id as the field identifier
      • Support the concept key which is used to scope the field
      • Support branches without children or one child to act as containers
  • Fix possible mis-ordering of formatter keys and fields
  • Add implementation (and fix) for handling the SELECT DISTINCT/ORDER BY behavior in databases more transparently
  • Fix #67, change ObjectSet created and modified to not be auto-updated
  • Increase length of DataField app_name, model_name, and field_name
    • For extra long field names...
  • Change avocado init to not prepend the model name to the field name
  • Fix and ensure unicode throughout
  • Fix the admin action for creating a single DataConcept from multiple fields when only one field is selected
  • Fix performance in Formatter class due to redundant logging
  • Add support for Decimal types in Formatter.to_number method
  • Update ModelTree to version 1.1.3 (critical bug fix)
  • Add receiver for change Avocado settings during test execution
  • Add missing DataField.coded_values which the Formatter.to_coded relied on
  • Add backup utilities for performing metadata data migrations
  • New command avocado migration for creating a metadata fixture and a corresponding South migration to load the fixture
  • Fix bug in R and SAS exporters
  • Improve ObjectSet class to enable deleting set objects rather than just flagging as being deleted
    • Pass the flag delete=True when calling a remove-based command, e.g. foo.replace(objs, delete=True)
  • Fix bug that only checked for NumPy for the for SciPy feature
  • Change HTMLFormatter to require the template argument which may be a template name or a Template object.
  • Allow arbitrary *args and **kwargs to be passed into *Exporter.write and *Exporter.read to enable propagation from write to read
  • Add short_name and long_name for use downstream by clients
  • Add export-specific format as the first preferred format
    • This is a better default which enables specific formatting when needed. The more general format can be reused across formatters, but when very specific formatting is necessary, this default is preferred.
  • Refactor DataField.model and DataField.field to take in account Lexicon and ObjectSet models
    • The real field and model instances are now named real_field and real_model, respectively.
  • Fix #55, Lexicon.label is now correctly used by the DataView
  • Rename sync subcommand to init
  • Rename SYNC_ENUMERABLE_MAXIMUM to ENUMERABLE_MAXIMUM
  • Remove orphaned command in favor of new check that performs multiple setup checks as well as check for invalid datafields.
  • Remove searchable model field since this applies only to text-based fields.
    • This has been repurposed as a deprecated computed property
  • Fix #45, allow dict-based settings to be updated, but not overridden
  • Remove DataField.data_source field
    • There was no functional utility of this field and is (currently) out of the scope for Avocado
  • Rename SasExporter => SASExporter for caps consistency
  • Remove assumption of lowercasing the app_name during an init call
  • String formatting cleanup
  • Add missing avocado/export/models.py file form 2.0.9
  • Replace DataField.operators with DataField.operator_choices
    • There is no need for two properties where one is a subset of the other
  • Fix Translator.language to use the cleaned value for model-based values
  • Simplify exact-based Operator.verbose_name strings
  • Add CHANGELOG to this README :)
  • Add appropriate content_type and file_extension to Exporter classes
  • Subclass DjangoJSONDecoder for use in the JSONExporter
  • Add validate convenience method to DataContext and DataView
  • Rename node to parse on DataContext and DataView
  • Add support for handling redundant rows via the exporter API
    • The BaseExporter.read now has a force_distinct argument that can be set to False to prevent removing redundant rows
  • Add (fix) support for using key-based DataFields
  • Refacor R and SAS exporter classes to use templates when generating the script
  • Fix Condition.field property to use get_by_natural_key
  • Add DataConcept.sortable field
    • This is purely for informational purposes and does not add a hard constraint when performing ordering by the DataView. Clients can use this field to prevent sorting by unsortable concepts.
  • Implement settings and management command and history API (#41)
  • Update ModelTree to 1.1.1, make South a hard dependency
  • Enforce a SELECT DISTINCT by default when calling DataContext.apply
    • A new keyword argument default has been added to override this behavior
  • Wrap orphaned command in transaction in case --unpublish is used to prevent inconsistent unpublishing
  • Add support for isnull lookups
  • Add Python 2.6 classifier
  • Fix incorrect use of sys.version_info
  • Add Python 2.6 support
  • Change django-jsonfield dependency link to cbmi fork
  • Fix setup.py classifiers
  • Fix django-jsonfield dependency link

2.0.0 - Initial release