Releases: django-salesforce/django-salesforce-agpl
Django v5.1 support
When you're ready to use django-salesforce with Django v5.1, please start a GitHub Sponsorship. You'll receive a license key.
The most important visible change is Django v5.1 support.
What is changed
- Add: Support for Django 5.1
- Change: The cursor rollback() method log messages are silenced by default
because they are mostly anoying in tests. They can be enabled again if
settings.DATABASES['salesforce']['OPTIONS']['WARNING_ON_ROLLBACK'] == True
- Changes where users will not know a difference:
- Refactored the backend.query to use consistent data types internally.
- Checked a development version of Django is really used by "tox -e djdev"
- Fix introspection for Salesforce API 62.0 Winter '25
(skip introspection of ...Event object that is not a table)
Improved query compiler
The main new features are in the improved query compiler
- Remove: the old Python 3.7
- Remove: the code for Django 2.0
- Fix: many issues in the query compiler in edge cases:
- fix a query with offset, but without a limit (NotImplementedError)
- fix a '__range' lookup on a field of custom foreign key object (SalesforceError)
- fix a '=null' lookup. It worked probably always correctly, but the old implementation was different from standard lookups. It made it impossible to distinguish it from unsupported queries
- Add: The query compiler is now much more precise. Most of unsupported queries will
write a warning before they are tried compiled. This is how users have
discovered some functional queries in the past.
No regression is known that a previously correct query would write a warning. - Add: Support for date and datetime lookup by year, quarter, month, day, week_day, hour
e.g. group this year by month:
.filter(date__year=2024).value('date__month').annotate(total=Sum('amount')) - Add: The method .sf(minimal_aliases=True) is not necessary
for ContentDocumentLink .filter(...); #259 - Fix: Compile correctly: .filter(related_model__field__in=...) Fix #302
- Fix: Prepare tests for Salesforce API 61.0 Summer '24
- Add: Introspect Salesforce fields of type Formula to sf_formula="..." parameter
Fixed a different homepage URL for django-salesforce-agpl Latest
Fixed a different homepage URL for django-salesforce-agpl
It is important for PyPI metadata, but the installed code is the same as in version v5.0.1
Support for db_default=... for defaults generated by Salesforce
- Add: Support for
db_default
field option in Django 5.0. It allows a seamless
support of thedefaultedOnCreate
counterpart in Salesforce. - Add: Support for Salesforce API 60.0 Spring '24.
- Change: Values of
FloatField
are now really float, not Decimal as previously. - Fix: Compatibility with the current django-debug-toolbar #322
- Fix: Introspection
inspectdb
of custom editable name fields #308 - Add: FloatField is used by
inspectdb
for some metadata with negative decimal places
that are new in API 60.0. - Change: A license code is required also in the first half of lifetime of a LTS version
unless the AGPL licence is accepted.
Django 4.2 LTS will be unlocked together with unlocking 5.0 in August 2024
in Django-salesforce 5.1 release. - Change: License code validity may not transfer to the next django-salesforce version
if sponsorship ended.
Django v5.0 support for project sponsors
This release contains mostly a series of small changes to enable Django v5.0 support.
It also makes Django 4.2 support available to all users.
What's Changed
- Add: Support for Django 5.0
- Add: Monitoring 'api_usage' from 'Sforce-Limit-Info' API response header django-salesforce/django-salesforce#317
Django v4.2 support
As part of this release, we're beginning a two-tiered licensing process to encourage sponsorship from users who run this library in a commercial context. All sponsorship dollars go directly to the developer and support continued features and maintenance.
When you're ready to use django-salesforce with Django v4.2, you have a choice between:
- Continue using (https://github.com/django-salesforce/django-salesforce)[the original library], and start a GitHub Sponsorship. You'll receive a license key.
- Switch to this AGPL licensed version of django-salesforce-agpl
What's Changed
- Add: Basic diagnostics after installation can be done by command
python manage.py check --database=salesforce
- Change: Use with Django 4.2 requires an enterprise license key.
- Add: Support for Django 4.2
- Use API 58.0 Summer '23
- Add: Support for Django Database caching #315
- Fix: Configurable max introspected pick-list size
SF_MAX_INSPECTDB_PICKLIST_LENGTH #312
Some people need to introspect huge picklists, some don't want.
New Contributors
- @DmytroLitvinov made their first contribution in django-salesforce/django-salesforce#310
Full Changelog: django-salesforce/django-salesforce@v4.1...v4.2