Change Log¶
0.8.0 (2022-12-12)¶
- Added compatibility with Django versions 4.0 and 4.1
- Dropped support for Django versions below 3.2
- Updated
AuditableandVersionableto useself._state.addingto differentiate between records being added or updated - Switched development environment from Vagrant to Docker
Note: As of this release, TimeZoneField/TimeZoneHelper still require pytz, despite the Django 4.0+ move to zoneinfo.
0.7.2 (2021-10-05)¶
- Removed public
djem.auth.get_user_log_verbosity()function due to the apparent potential for causing cyclic imports, as observed in real world usage.
0.7.1 (2021-08-25)¶
- Fixed readthedocs configuration
- Fixed README badges
0.7 (2021-08-24)¶
A number of features are renamed. In all cases, the old names remain available for backwards compatibility, but are deprecated.
- Dropped support for Python 2 (minimum supported version is 3.6)
- Dropped support for Django versions below 2.2
- Renamed
CommonInfoMixinandCommonInfoQuerySettoAuditableandAuditableQuerySet, respectively - Renamed
ArchivableMixintoArchivable - Renamed
VersioningMixinandVersioningQuerySettoVersionableandVersionableQuerySet, respectively - Renamed
CommonInfoFormtoAuditableForm - Renamed
DJEM_COMMON_INFO_USER_REQUIRED_ON_SAVEsetting toDJEM_AUDITABLE_USER_REQUIRED_ON_SAVE - Added
UNDEFINEDconstant - Added
Loggablefor instance-based logging - Added
OLPMixinfor custom user models, to support advanced OLP-related functionality - Added
MixableQuerySetmixin for customQuerySetclasses - Added
DJEM_UNIVERSAL_OLPsetting - Added
DJEM_PERM_LOG_VERBOSITYsetting - Added
AuditableQuerySetcreate(),get_or_create(), andupdate_or_create()methods - Added
ArchivableQuerySetarchived()andunarchived()methods - Added
ajax_login_required()decorator - Added
UserSavablemixin for forms - Removed default implementations of
_user_can_change_*()and_user_can_delete_*()onAuditable- this was far too specific a use-case to be the default - Removed
ArchivableQuerySet’sarchive()andunarchive()methods - Removed
Archivable’sliveandarchivedManagers - Removed explicit
Managerclasses for mixins - Moved custom
QuerySetclasses for mixins intodjem.models.models
0.6.4 (2018-12-06)¶
- Fixed setup.py to include
include_package_data=True
0.6.3 (2018-12-06)¶
- Updated MANIFEST.in to include the templates directory
0.6.2 (2018-03-25)¶
- Fixed #2: Object level access now defaults open when no model method exists to define it explicitly
0.6.1 (2018-03-02)¶
- Updated PyPi details
0.6 (2018-03-02)¶
- Renamed project
- Added
csrfify_ajaxtemplate tag - Added
paginatetemplate tag - Added
form_fieldandcheckboxtemplate tags - Added
MessageMiddleware - Added
MessagingRequestFactory - Added
TemplateRendererMixin - Updated
AjaxResponseto allow message strings marked as safe to skip being escaped - Moved
AjaxResponsefromdjem.misc.AjaxResponsetodjem.ajax.AjaxResponse. Also removed shortcut importdjem.AjaxResponse. - Moved
get_page()fromdjem.misc.get_pagetodjem.pagination.get_page. Also removed shortcut importdjem.get_page.
0.5 (unreleased)¶
Never released: project renaming took precedence. These features were released under 0.6, and the new project name, instead.
- Added replacements for
permission_requireddecorator andPermissionRequiredMixinthat support object-level permissions - Added
get_page()helper function - Added
Tablehelper class - Added
MandMonhelper classes for simple code performance debugging - Added
mon()decorator as a shortcut for monitoring a function - Added inspection/prettyprint utilities for debugging
- Added extensible
Developerclass as a home for shortcuts to common user-based operations useful to developers
0.4.3 (2016-09-17)¶
- Added
authenticate()method toObjectPermissionsBackend, fixing a bug where it broke authentication if a user’s credentials were not authenticated by earlier backends
0.4.2 (2016-06-21)¶
- Fixed missing commits under 0.4.1 tag
0.4.1 (2016-06-21)¶
- Fixed documentation build issues on
readthedocs.org
0.4 (2016-06-21)¶
- Added
AjaxResponse - Added
GOODIES_COMMON_INFO_REQUIRE_USER_ON_SAVEsetting - Added object-level permission support (
ObjectPermissionsBackend,ifpermandifnotpermtemplate tags) - Updated
CommonInfoMixinto provide default object-level permissions for subclasses, based on ownership
0.3 (2016-03-19)¶
- Added
TimeZoneField/TimeZoneHelper - Cleaned code as per
isortandflake8
Pre-0.3¶
CommonInfoMixin, with associated manager and querysetArchivableMixin, with associated manager and querysetVersioningMixin, with associated manager and querysetStaticAbstractparent model, with associated manager and querysetCommonInfoFormfor ModelForms based onCommonInfoMixinmodels