Skip to content

Releases: OS2iot/OS2iot-backend

v1.5.1 - Updated vm2

08 Jun 11:28

Choose a tag to compare

Update to vm2 npm package
Minor package update to fix CVE–2023–32314

Full Changelog: v1.5.0...v1.5.1

v1.5.0 - MQTT device support + better Open Data Dk datatarget

05 Jun 09:02

Choose a tag to compare

This release is intended to be used with frontend v1.5.0 and Docker v1.4.0

What's Changed

  • Rework of opendata dk datatarget by @Fritsen in #211
  • Roadmap features: Mqtt broker/subscriber support by @fcv-iteratorIt and @augusthjerrild in #213
  • Various bugfixes and improvements
  • Fixed bug in bulk import that skipped validation

Breaking changes

  • There has been introduced some new settings that needs to be set for the hosting to work for MQTT support, more can be read in the docs Installation guide

New Contributors

Full Changelog: v1.4.1...v1.5.0

v1.4.1 - Enforce name on DeviceModel and Kafka fix

21 Mar 12:04

Choose a tag to compare

Compatible with frontend version 1.4.2

What's Changed

Full Changelog: v1.4.0...v1.4.1

v1.4.0 - Quality of life updates

01 Mar 14:46

Choose a tag to compare

What's Changed

  • deviceModel included on fetches from application/:id/iot-devices
  • Feature/iot 1431 patch validator and ua parser by @fcv-iteratorIt in #204

Full Changelog: v1.3.0...v1.4.0

v.1.3.0 - Package Updates, Security Improvements and Improvements to User Management

17 Nov 11:39

Choose a tag to compare

Notes on breaking changes and functionality updates

This release mainly focused on updating outdated npm packages for security reasons, bugfixing and a revamp to who can update users.

Feature changes

  • Only a user administrator on the proper organization can see and update a users details
  • Better error descriptions when using the KOMBIT sign up flow
  • An additonal ADR algorithm has been added by Sensade
  • User administrators can now change the email of a KOMBIT user

Breaking changes

KOMBIT integration
After updating the passport-saml package, the backend now requires the property "KOMBIT_CERTIFICATEPUBLICKEY" for the KOMBIT integration to function.

typeorm update
Typeorm has been updated to a new version. This has changed the way Typeorm is initialized, mainly:

  • ormconfig.js has been deleted
  • Configuration previously found in ormconfig.js is moved to src/repositories/os2iot.repository.ts

What's Changed

New Contributors

Full Changelog: v1.2.0...v.1.3.0

v.1.2.0 - New User Management, MQTT DataTarget, Improved LoRaWAN Monitoring, General fixes

13 Jun 10:24

Choose a tag to compare

Important notes on migrations and deployment

New User Management
This release fundamentally changes how useraccess is managed in OS2iot. A database migration automatically maps the existing UserGroups/Permissions to the new models - but as these cannot be mapped exactly 1:1 you should check out the mapping before releasing and manually correct issues. The new structure is documented in:
https://os2iot.readthedocs.io/en/latest/software-architecture/software-architecture.html?highlight=Gateway%20administrator#user-permissions

Emails
As a new feature, the platform can and will now send emails to new users and User Administrators when applying for access to organizations. This requires the setup of new environment variables in the backend as described:
https://os2iot.readthedocs.io/en/latest/software-architecture/software-architecture.html?highlight=Gateway%20administrator#user-permissions

This requires setting up an SMTP server OS2iot can integrate with. Currently Username/Password is supported for the SMTP login.
Integration can be tested with tools like:
Ethereal

Gateway status
The backend now listens to the MQTT gateway status feed from Chirpstack and updates the database accordingly. The data is relatively limited, but if the Postgres database is very limited - make sure it can handle this new load.

What's Changed

Bug fixes

  • Connection to Sigfox now works again after changes in the Sigfox API
  • Application sorting works properly everywhere
  • Backend now handles validation of nullable numbers
  • Fixed an issue where relations between DataTargets and Devices were not handled correctly leading to issues with devices being deleted in ChirpStack but not OS2iot

Full Changelog: v.1.1.1...v1.2.0

v.1.1.1 Metadata, documentation, bug fixes

21 Mar 17:31

Choose a tag to compare

What's Changed

Migrations

A migration has been added for the application metadata. At the same time, the version of the TypeORM package was updated which changed around how TypeORM handles things a bit.
Changes introduced by the updating of the package are noted in the migration srxc/migrations/1646669134921-application-metadata.ts

Full Changelog: v.1.1.0...v.1.1.1

v.1.1.0 Migrations, multicast, API Keys

23 Feb 11:10
12485b4

Choose a tag to compare

What's Changed

  • OS2iot now supports ChirpStacks LoRaWAN multicast functionality. Multicast groups are defined under each application.
  • Database is now bootstrapped using TypeORM Migrations instead of TypeORM Synchronization (See notes for existing migrations below)
  • It is now possible to create API keys to interact with the OS2iot backend
  • Fix roles in controllers where it was set on the whole class by @AramAlsabti in #139
  • CVE-2019-18413. Patch for potential SQL injections by @AramAlsabti in #137
  • Calls to chirpstack optimized to make the bulk creation of LoRaWAN devices faster and less error prone. Should also reduce the load on the Chirpstack API when loading long lists.
  • FIWARE datatarget by @bkdkmd in #141
  • Data Target "Marketplace" ready for adding new data target types in the future (@bkdkmd)

New Contributors

Full Changelog: v.1.0.1...v.1.1.0

Breaking changes

Migrations

TypeORM migrations are now used to synchronize the database with the typescript entities instead of TypeORM Synchronize.
Migrations are applied before starting the NestJS application and are specified in package.json as prestart commands.

Longer startup time

Applying the migrations toward the database will make the startup time longer. If deployed using Kubernetes, be aware that the watchdog does not kill the pod prematurely.

Existing installations (important!)

When updating an existing database with the new backend/migrations, the database has to be prepared. An initial migration has been created that corresponds to the database state at release v.1.0.1. This has to be entered into the database in a "migrations" table.

This can be done with the following SQL script: (Release note updated with correct name for initial migration 5/4/22, [email protected])

CREATE TABLE migrations (
   id SERIAL PRIMARY KEY,
   timestamp BIGINT NOT NULL,
   name varchar NOT NULL   
);

INSERT INTO migrations (timestamp, name)
VALUES (1, 'Initial0000000000001')

v.1.0.1

12 Nov 13:53
ba70c7f

Choose a tag to compare

Covers the first round of closed issues and pull requests. Compatible with frontend v.1.0.1

What's Changed

  • Update default.controller.ts by @Joiversen in #117
  • Added environment variable for Postgres SSL config by @MadsSvejstrup in #118
  • Increased timeout for requests against ChirpStack application server by @GufCab in #124
  • LoRaWAN devices will now be deleted when deleting their parent application by @GufCab in #123
  • Pass copies of data to untrusted code instead of references by @MadsSvejstrup in #125
  • Make Log Levels configurable globally through environment variables by @GufCab in #127
  • Fetch latest message instead of all by @AramAlsabti in #126

New Contributors

Full Changelog: v.1.0.0...v.1.0.1

v.1.0.0

12 Nov 09:24
4ba5cf4

Choose a tag to compare

First release of OS2iot backend

Full Changelog: https://github.com/OS2iot/OS2IoT-backend/commits/v.1.0.0