Skip to content

Commit

Permalink
Merge branch '5.11.x'
Browse files Browse the repository at this point in the history
  • Loading branch information
lunkwill42 committed Oct 3, 2024
2 parents c24b90a + e2772ed commit b507e20
Show file tree
Hide file tree
Showing 24 changed files with 122 additions and 28 deletions.
64 changes: 64 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,70 @@ This project uses [*towncrier*](https://towncrier.readthedocs.io/) and the chang

<!-- towncrier release notes start -->

## [5.11.0] - 2024-10-03

### Removed

- Dropped support for Python 3.7
([#2790](https://github.com/Uninett/nav/issues/2790))

### Added

- Post lifecycle event when power supplies or fans are removed
([#2982](https://github.com/Uninett/nav/issues/2982))
- Post lifecycle event when a module or chassis is deleted via the status or
device history tools ([#2983](https://github.com/Uninett/nav/issues/2983))
- Database model for representing Organizationally Unique Identifiers (OUI) to
identify vendors for MAC addresses
- Script for populating database with OUIs and corresponding vendors from IEEE
([#2945](https://github.com/Uninett/nav/issues/2945))
- Module for generating JWTs
([#2948](https://github.com/Uninett/nav/issues/2948))
- Documentation for configuring and using JWT tokens in NAV API
([#2618](https://github.com/Uninett/nav/issues/2618))

### Changed

- Upgraded dependencies after dropping support for Python 3.7
([#2790](https://github.com/Uninett/nav/issues/2790))
- Changed Sphinx version to 7.4.7
([#2826](https://github.com/Uninett/nav/issues/2826))
- Changed required PostgreSQL version to 13
([#2892](https://github.com/Uninett/nav/issues/2892))
- Moved the test suite's web crawler complexity away from the test discovery
phase to the test phase itself. This reduces the number of generated test
cases from `N` to 2 (where `N` is the number of reachable NAV pages)
([#2966](https://github.com/Uninett/nav/issues/2966))
- Link to the doc for using docker for development from the README and
mention what ports are used when using docker for development
([#2978](https://github.com/Uninett/nav/issues/2978))
- Many user-facing forms of the web user interface have been refactored in
order to remove a dependency that keeps NAV incompatible with Python 3.11.
This should not affect looks or functionality. This work is still ongoing in
the master branch and we hope it will be complete by NAV version 5.12.

### Fixed

- Correctly delete an IP Device's existing `function` value when empty field
value is submitted in the IP Device IP Device edit form
([#2269](https://github.com/Uninett/nav/issues/2269))
- Fixed crash bug when reordering filters within a filter group in Alert Profiles
([#2979](https://github.com/Uninett/nav/issues/2979))
- Fixed IPAM API crash bug that caused unnecessary error reports sent as e-mail
to site admins ([#2989](https://github.com/Uninett/nav/issues/2989))
- Fixed bad tooltip grammar in ipdevinfo "degraded aggregate link" badge
- Make the test suite easier to run under MacOS
- Skip tests when 3rd party requirements are missing, instead of outright
failing

### Security

- Ensure that CSRF token info is preserved when refactoring crispy forms to
non-crispy equivalents. This means that `flat_form.html` and
`_form_content.html` templates will include CSRF token info if form method is
set to `POST`. ([#3056](https://github.com/Uninett/nav/issues/3056))


## [5.10.2] - 2024-06-03


Expand Down
57 changes: 55 additions & 2 deletions NOTES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,66 @@ existing bug reports, go to https://github.com/uninett/nav/issues .
To see an overview of upcoming release milestones and the issues they resolve,
please go to https://github.com/uninett/nav/milestones .

NAV 5.11 (Unreleased)
=====================
NAV 5.11
========

This is mostly an interim release to shed old dependencies that are ultimately
keeping NAV from running on Python 3.11 and newer. While there are some bug
fixes, the main new user-facing feature in this release is the completion of
the lifecycle events system.

Dependency changes
------------------

.. IMPORTANT:: NAV 5.11 requires PostgreSQL to be at least version *13*.
.. IMPORTANT:: NAV 5.11 no longer supports Python versions older than *3.9*.

Python modules with changed version requirements:

* :mod:`twisted` (``>=23.8.0<24.0``)
* :mod:`sphinx` (``==7.4.7``)

New Python modules required:

* :mod:`requests`
* :mod:`pyjwt` (``>=2.6.0``)

These Python modules are no longer required due to support for Python versions
older than 3.9 being dropped:

* :mod:`backports.zoneinfo`
* :mod:`importlib_metadata`
* :mod:`importlib_resources`


More lifecycle events
---------------------

NAV 5.11 adds more lifecycle events that are posted when devices disappear or
are removed (i.e. they appear to be taken out of service and put on the shelf),
enabling a more complete lifecycle log of individual devices:

* ``deviceDeletedFan`` is posted for fan entities that disappear from IP devices.
* ``deviceDeletedPsu`` is posted for power supply entities that disappear from IP devices.
* ``deviceDeletedChassis`` is posted for a chassis that are forcibly deleted
from a stack by a NAV operator (using the status or device history tools).
* ``deviceDeletedModule`` is posted for a module that are forcibly deleted from
an IP device by a NAV operator (using the status or device history tools).

Features in the making
----------------------

The changelog references several features that are not yet complete, that will
be completed in upcoming feature releases. These include:

* Replacing the existing opaque API token system with self-signed JSON Web
Tokens (JWTs). NAV already supports API authentication through JWTs signed
by authorized third parties.

* An OUI vendor database is added to NAV, in order to keep track of which MAC
address prefixes are assigned to which hardware vendors. This will be
utilized for machine tracker searches in a future NAV release.


NAV 5.10 (Unreleased)
=====================
Expand Down
4 changes: 2 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ NAV is licensed under the *GNU GPL version 3*. NAV includes software from third
parties, which are either licensed under the GPL or compatible licenses.

* Copyright 2002-2021 Uninett AS
* Copyright 2022-2023 Sikt
* Copyright 2022-2024 Sikt

See individual source files for more detailed copyright notices.

Expand All @@ -56,7 +56,7 @@ upgrade instructions.
Take it for a quick spin
------------------------
For instruction on how to use docker to run code straight from the repo, see
`<doc/hacking/using-docker.rst>`_. Please be aware, though, that this is a highly developer-oriented environment, and is not suitable for production use.
`<doc/hacking/using-docker.rst>`_. Please be aware, though, that this is a highly developer-oriented environment, and is not suitable for production use.

Contributing
------------
Expand Down
1 change: 0 additions & 1 deletion changelog.d/+2896.added.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/+drop-py37-code-changes.changed.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/+ipdevinfo-tooltip-typo.fixed.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/+macos-testsuite-fixes.fixed.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/+skip-test-logic.fixed.md

This file was deleted.

3 changes: 0 additions & 3 deletions changelog.d/2269.fixed.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/2618.added.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/2790.changed.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/2790.removed.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/2826.changed.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/2892.changed.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/2945.added.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/2948.added.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/2966.changed.md

This file was deleted.

2 changes: 0 additions & 2 deletions changelog.d/2978.changed.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/2979.fixed.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/2982.added.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/2983.added.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/2989.fixed.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/3056.security.md

This file was deleted.

2 changes: 1 addition & 1 deletion requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ psycopg2==2.9.9 # requires libpq to build
IPy==1.01
pyaml

twisted>=23.8.0
twisted>=23.8.0,<24.0

networkx==2.6.3
# Cannot be removed as long as qrcode is included
Expand Down

0 comments on commit b507e20

Please sign in to comment.