Skip to content

Update - #1

Open
ONL wants to merge 1014 commits into
ONL:masterfrom
openwisp:master
Open

Update#1
ONL wants to merge 1014 commits into
ONL:masterfrom
openwisp:master

Conversation

@ONL

@ONL ONL commented Oct 1, 2021

Copy link
Copy Markdown
Owner

No description provided.

praptisharma28 and others added 23 commits September 26, 2024 15:19
#866

Fixes #866

---------

Co-authored-by: Federico Capoano <f.capoano@openwisp.io>
Signed-off-by: Gagan Deep <pandafy.dev@gmail.com>
Signed-off-by: Gagan Deep <pandafy.dev@gmail.com>
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.9.0 to 1.11.0.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](pypa/gh-action-pypi-publish@v1.9.0...v1.11.0)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [pytest-django](https://github.com/pytest-dev/pytest-django) to permit the latest version.
- [Release notes](https://github.com/pytest-dev/pytest-django/releases)
- [Changelog](https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst)
- [Commits](pytest-dev/pytest-django@v4.8.0...v4.9.0)

---
updated-dependencies:
- dependency-name: pytest-django
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [paramiko[ed25519]](https://github.com/paramiko/paramiko) to permit the latest version.
- [Commits](paramiko/paramiko@3.4.0...3.5.0)

---
updated-dependencies:
- dependency-name: paramiko[ed25519]
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [django-sortedm2m](https://github.com/jazzband/django-sortedm2m) to permit the latest version.
- [Release notes](https://github.com/jazzband/django-sortedm2m/releases)
- [Changelog](https://github.com/jazzband/django-sortedm2m/blob/master/CHANGES.rst)
- [Commits](jazzband/django-sortedm2m@3.1.1...4.0.0)

---
updated-dependencies:
- dependency-name: django-sortedm2m
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Closes #625
Closes #849

* [feature] Do not delete related Certs when device is deactivated
* [feature] Set device status to deactivated if current status is deactivating
* [feature] Return 404 checksum for deactivated devices
* [feature] Added activate and deactivate button on the device page
* [feature] Added "config_deactivating" signal
* [change] Show delete action after deactivate action
* [feature] Emit device_deactivated signal when device is deactivated
* [fix] Don't show any extra form on deactivated devices
* [change] Clear management IP after the device is deactivated
* [change] Added API endpoints for activating/deactivating device
* [change] Updated device delete API endpoint
* [change] Disable API operations on deactivated devices
* [feature] Added "device_activated" signal
* [docs] Updated docs
* [fix] Don't allow PUT/PATCH request for deactivated device

---------

Co-authored-by: Federico Capoano <f.capoano@openwisp.io>
- Bumped openwisp-users~=1.1.0
- Bumped openwisp-utils[celery]~=1.1.1
- Bumped openwisp-notifications~=1.1.0
- Bumped openwisp-ipam~=1.1.0
- Bumped netjsonconfig~=1.1.0
Signed-off-by: Gagan Deep <pandafy.dev@gmail.com>
Previously, fixing an invalid template configuration via the UI was
blocked due to the cache invalidation mechanism. This mechanism
attempted to evaluate the existing configuration, triggering a
ValidationError and preventing updates.
- Bumped netjsonconfig~=1.2.0a
- Bumped django-x509~=1.3.0a
- Bumped django-loci~=1.2.0a
- Bumped openwisp-users~=1.2.0a
- Bumped openwisp-utils[celery]~=1.2.0a
- Bumped openwisp-notifications~=1.2.0a
- Bumped openwisp-ipam~=1.2.0a
- Bumped djangorestframework-gis~=1.2.0a
Ensure consistency with the behavior of the openwisp-config agent.

Fixes #922

---------

Co-authored-by: Federico Capoano <federico.capoano@gmail.com>
Updates the requirements on [django-flat-json-widget](https://github.com/openwisp/django-flat-json-widget) to permit the latest version.
- [Release notes](https://github.com/openwisp/django-flat-json-widget/releases)
- [Changelog](https://github.com/openwisp/django-flat-json-widget/blob/master/CHANGES.rst)
- [Commits](openwisp/django-flat-json-widget@0.3.0...0.3.1)

---
updated-dependencies:
- dependency-name: django-flat-json-widget
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [psycopg2-binary](https://github.com/psycopg/psycopg2) to permit the latest version.
- [Changelog](https://github.com/psycopg/psycopg2/blob/master/NEWS)
- [Commits](psycopg/psycopg2@2.9.9...2.9.10)

---
updated-dependencies:
- dependency-name: psycopg2-binary
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
nemesifier and others added 30 commits June 3, 2026 11:57
Fixed several race conditions and shared-state issues which were causing 
intermittent CI failures.

Background command and connection tasks now avoid saving deleted rows in a way 
that could resurrect objects or trigger foreign key errors during concurrent 
deletions. Command execution also skips commands that were deleted after being 
scheduled. 

VPN client creation now reconciles against the current set of VPN templates, 
making template switches idempotent across multiple m2m_changed cycles.

Test sessions now use a dedicated Redis cache so cache.clear() on the default
cache cannot invalidate authenticated sessions from parallel tests.

Estimated location query-count tests now warm the organization geo settings
cache before assertions, avoiding nondeterministic extra queries.
This change introduces a generic enforcement of the deactivated device
state across OpenWISP Controller. When a device is deactivated, it
is treated as non-operational. This means no new configuration,
management, or connectivity operations will target it. However,
controller state, security, and cleanup processes will continue to run
to maintain system consistency.

Specifically, device registration and re-registration are blocked for
deactivated devices. Any workflow that would implicitly restore
configuration state or make a deactivated device appear operational
again is also blocked. Automatic template assignment and propagation
from groups will not run for deactivated configurations.

Active management traffic such as remote command execution is blocked.
Configuration pushes and reachability checks are allowed only during the
transitional state of deactivation. Once a configuration is fully
deactivated, no further controller-initiated communication will occur.

State-only and cleanup operations, like certificate revocation and cache
invalidation, remain allowed.

Closes #1338
The connection task test patched all Logger.info calls, so Celery's
eager task success log could become the final mocked call and fail the
assertion when the test was reused by extended apps.

Patch only the connection task logger to keep the assertion focused on
the application log emitted by update_config.
…1061

Historical migration models can expose old JSONField values as strings
or nulls. Several data migrations assumed dict values or live model
properties, which broke upgrades with older controller databases.

Normalized legacy JSON values before mutating configs, skip malformed
nested entries, and compute checksums inside the migration without
depending on the live Config.checksum property.

Also avoid loading stale template relations during VPN client template
population and tolerate VPN rows with missing DH parameters.

Related to #1061
* [tests] Used browser error helper in WHOIS test
* [chores] Removed unsupported publiccode field
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/cache](https://github.com/actions/cache) from 5 to 6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](actions/cache@v5...v6)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [django-redis](https://github.com/jazzband/django-redis) to permit the latest version.
- [Release notes](https://github.com/jazzband/django-redis/releases)
- [Changelog](https://github.com/jazzband/django-redis/blob/master/CHANGELOG.rst)
- [Commits](jazzband/django-redis@6.0.0...7.0.0)

---
updated-dependencies:
- dependency-name: django-redis
  dependency-version: 7.0.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [django-reversion](https://github.com/etianen/django-reversion) to permit the latest version.
- [Release notes](https://github.com/etianen/django-reversion/releases)
- [Changelog](https://github.com/etianen/django-reversion/blob/master/CHANGELOG.rst)
- [Commits](etianen/django-reversion@v6.2.0...v6.3.0)

---
updated-dependencies:
- dependency-name: django-reversion
  dependency-version: 6.3.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Introduced a declarative engine for cache invalidation based on
`CacheDependency`. This system centralizes cache invalidation logic,
replacing scattered signal handlers. Models can now declare dependencies
on related object changes to invalidate their cached values. A new
management command, `print_cache_dependencies`, allows inspection of the
invalidation graph.

Several missing cache invalidation cases were also handled.

Closes #1095
The geo app was importing test classes in the ready() method,
which caused some circular import issues in new development
branches we're working on.

This patch refactors internal testing logic to avoid that.
… flapping IPs #1430

- **Retained WHOIS records to minimize lookups:** Unreferenced
   WHOIS entries are retained temporarily before deletion to avoid
   triggering redundant GeoIP2 lookups for known IP addresses.
- **Automated background cleanup:** A periodic task automatically
  removes unreferenced WHOIS entries once they remain unused
  beyond the configured refresh threshold.
- **Optimized location alerts:** Estimated location notifications are
  triggered only when a device's geographic area actually changes.

Closes #1430
Always show the latest location details and encourage
users to refine the coordinates.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.