Django-salesforce

Latest version: v5.1

Safety actively analyzes 682244 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

4.0

----------------
* Internal change: The default row type from salesforce Cursor is now a tuple,
not a list
* Fix: Invalid primary key from bulk_create([one_object]) in Django 3.0 298
* Add suport for Django 4.0 (rc 1) and declare support for Python 3.10,
Salesforce API 53.0 Winter '22.
* Add: Support timestamps with "auto_now_add=True" and "auto_now=True".
* Fix: Fix tests for Salesforce API 52.0 Summer '21 that broke syntax of
filters on a primary key or foreign keys: can not be compared to empty string
and allowed only =, !=, IN, NOT IN.
A filter ``.filter(field__gt='')`` must be replaced e.g. by ``.exlude(field=None)``.
* Fix: Works also with obsoleted USE_TZ=False 221
* Fix: Support also alternative clones of Beatbox 172
* Add: Implement queryset.bulk_update() method 236
* Fix: SOQL command in queryset.raw() is supported case insensitive
* Fix: ManyToMany relationships compiled also with GROUP BY, HAVING, ORDER BY. 264
* Fix: Lookup IsNull() in 'queryset.filter(...=None).update(...)' 283
* Fix: DefaultedOnCreate() to work with new sqlite3 and new Django
* Fix: Command inspectdb with --table-filter=regex_pattern
* Fix: Count('*') and Count(... distinct=True)
* Add: Simple authentication by auth.SimpleSfPasswordAuth(). 282
* Add: Higher 'threadsafety=2' level of the driver. Every thread can use its
own database connections with the same alias, but checked that the same
thread can not open more connections with the same alias.
* Add: Test for big SOQL queries of length almost 100000 bytes
* Add: Strict typing of SalesforceModel and all ``salesforce/*.py`` code.
All dependent user code can use also strict typing now.
* Add: Method .explain(...)
* Fix: Low level EXPLAIN command
* Add: Decorator 'PatchedSfConnection(... use_debug_info ...)' to can check
the executed SOQL in tests e.g. for aggregate() method.
* Add: Verbose error message in authentication.
* Add: Support offline tests with playback by MockTestCase,
also for tests of database error handling.
* Fix: Example models can now create a migration
* Fix: Check pylint, increase code coverage (91%)
* Fix: Tests updated for Salesforce API 52.0 Summer '21
* Remove: Unused code, mostly residues from old Django versions
* Add: Prepare for DynamicWebAuth; Configurable username in RefreshTokenAuth
Still requires a low level user code in middlewawe. (therefore considered as
undocumented alpha code.)

3.2

----------------
* Add: Support for Django 3.2
* Remove: Django 1.11
* Update: to use Salesforce 51.0 Spring '21 API
* Add: Fields `OneToOneField` are detected by `inspectdb` in Django >= 3.0
(and as ForeignKey unchanged in old Django)
* Fix: Fixed all hidden deprecation warnings
* Fix: Backward compatibility with old migrations. 275
* Fix: Simplify output of inspectdb if a choice is too huge
or if tables are restricted by table filter. 279

3.1

----------------
* Fix: Enable support for Django 3.1 final.
* Change: Package versions will be synchronized with Django "release version" from now on.

1.1

----------------
* Add: Optional Refresh Token Authentication by ``RefreshTokenAuth`` with
cryptographic code_challenge / code_verifier.
* Add: Tag `[django-salesforce]
<https://stackoverflow.com/questions/tagged/django-salesforce>`_
for questions on Stackoverflow.com.
* Fix: Allow SOQL query up to 100000 characters, fixed 164
* Add: Support for custom authentication modules configurable by
``settings.DATABASES['salesforce']['AUTH']``
* Add: Authentication by Salesforce CLI SFDX application for developers, e.g.
'salesforce.auth.SfdxOrgWebAuth'
* Fix: Easier dynamic authentication. It requires an explicit setting now:
``"salesforce": {... "AUTH": "salesforce.auth.DynamicAuth" ...}``
* Add: Configurable API_VERSION by settings.DATABASES['salesforce']['API_VERSION']
* Add: A method .sf() on querysets and managers to can pass additional parameter
e.g. all_or_none=True or edge_updates=True to bulk_create() and update() methods.
* Fix: Fixed long delay in application after unstable nework connection 267
* Fix: Old fix for timeouts 174 was inappropriate for unstable connections.
* Fix: Queryset with empty slice e.g. queryset[100:100]
* Fix: Fix "max_length" in inspectdb for Choice Fields, because it is ignored
by SFDC, but important for Django.

1.0

----------------
* Remove: Support for Django 1.10
* Remove: Support for Python 2.7, 3.4
* Add: Support for Python 3.9 (alpha 5)
* Add: Preliminary support for Django 3.1-dev (development snaphot 2020-04-21)
* Fix: Fixed all hidden deprecation warnings. (related removed old versions)
* Fix: ``.annotate()`` method can use GROUP BY if Django >= 2.1
example queryset.order_by().values('account_id').annotate(cnt=Count('id'))
* Fix: ``DefaultedOnCreate()`` and DEFAULTED_ON_CREATE is now transparent for
other code. It has a surrogate normal value and it is never saved 213
* Add: Warning if a value DEFAULTED_ON_CREATE is tried to be saved again without
refreshing the real value.
* Fix: Support for Django Debug Toolbar - including EXPLAIN commend
* Fix: Consistent output of inspectdb with db_column on every field.
The old behavior with ``custom=`` parameter and minimalistic db_column
can be turn on by ``--concise-db-column`` option. 250
* Fix: Export attributes "verbose_name", "help_text" and "default=DEFAULTED_ON_CREATE"
also for ForeignKey by inspectdb.
* Fix: Not to export DEFAULTED_ON_CREATE excessively for not createable fields.
* Fix: Error handling in bulk delete()
* Fix: SomeModel.objects.all().delete()
* Fix: Wildcard search with characters "_" and "%". 254
* Fix: Accept a manually added AutoField in models.
* Fix: Close correctly all SSL sockets before dropped. (minor)
* Fix: Lazy test helper fixed for Python >= 3.8 (lazy: exception can be tested later
then the fail was detected. It uses two tracebacks.
e.g. ``with lazy_assert_n_requests(n)``: check that the optimal number
of requests was used if everything critical was OK and show the first
suboptimal command-line.)
* Add: Bulk update limited to 200 objects: bulk_update_small()
* Add: Static typing by Mypy. Can validate user code that correspondd to the user data model.
with SalesforceModel (requires also installed django-salesforce-stubs)
* Update: Salesforce 48.0 Spring '20 (no fix)
* Add: Raw cursor with fields dict: ``connection.cursor(name='dict')``
* Add: Internal module mocksf is used in tests/debugging for record or replay of
raw Salesforce requests/responses.

0.9

----------------

* Fixed: filter for objects with no children rows (missing test)

* Added: lookup ``.filter(...__not_in=subquery)``' and 'not_eq',
because of unsupported ``.exclude(...__in=subquery)``.

* Added: command ``ping_connection`` that automatic called after every
longer inactivity to minimize timeouts. Fixed 174

* Fixed: ``makemigrations`` works now also without db_table name e.g. for
simple standard objects.

* Fixed: bug ``.using('salesforce')`` in ``default`` database queryset.

* Added: ``salesforce.models_extend`` module with SalesforceModel with
varchar primary key that works also with ``default`` databases.
Fixed methods for it: save() and ``bulk_create()`` to can create a new
pk or to copy an object exactly. Fixed 231

* Fixed: test setUpClass to can run tests on an empty Salesforce database.

* Fixed: ``TimeField.save()`` regression on BusinessHours object. (Salesforce 47.0
Winter '20 started to apply a default time shift by Organization time zone on
TimeField.)

* Fixed inspectbd to ignore some new objects in Salesforce 47.0 Winter '20
that are not a table.

* Updated for Django 3.0 beta 1.

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.