Skip to content

Commit

Permalink
release v1.1.2 (#5405)
Browse files Browse the repository at this point in the history
* prepare v1.1.2
  • Loading branch information
lykinsbd authored Jan 9, 2025
1 parent b2bf30e commit 7e6f318
Show file tree
Hide file tree
Showing 16 changed files with 139 additions and 24 deletions.
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,28 @@ This project uses [*towncrier*](https://towncrier.readthedocs.io/) and the chang

<!-- towncrier release notes start -->

## [Infrahub - v1.1.2](https://github.com/opsmill/infrahub/tree/infrahub-v1.1.2) - 2025-01-09

### Added

- Added a configuration option for INFRAHUB_PUBLIC_URL, which could be required for SSO depending on how Infrahub is published and accessed within your organization. ([#5306](https://github.com/opsmill/infrahub/issues/5306))
- Add `PermissionManager` that takes care of validating permissions when executing a GraphQL query or a requesting a REST endpoint by fetching permissions from backends only once per query. ([#5350](https://github.com/opsmill/infrahub/issues/5350))
- The query InfrahubTask in GraphQL, introduced a new `related_nodes` field to retrieve multiple related nodes per task.

### Changed

- The fields `related_node` and `related_node_kind` on the GraphQL query `InfrahubTask` have been deprecated, please use `related_nodes` instead.

### Fixed

- Fix schema dropdown option removal in branches other than the default one ([#5242](https://github.com/opsmill/infrahub/issues/5242))
- Fix an issue that would prevent creating a node on a branch with a computed attribute that referenced another node on that branch ([#5385](https://github.com/opsmill/infrahub/issues/5385))
- Update how we calculate an incremental diff to skip potentially expensive operations if at all possible
- Update uniqueness checks/constraints logic to consider NULL values instead of ignoring.
This might cause data integrity issues if you have nodes with NULL values for attributes that are part of their
the uniqueness constraints of their schema. This change includes a database migration that validates data integrity
using the new uniqueness check/constraint logic and will fail if any uniqueness issues exist.

## [Infrahub - v1.1.1](https://github.com/opsmill/infrahub/tree/infrahub-v1.1.1) - 2025-01-05

### Fixed
Expand Down
1 change: 0 additions & 1 deletion changelog/+incremental-diff-performance.fixed.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog/+task-deprecated.changed.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog/+tasknode.added.md

This file was deleted.

4 changes: 0 additions & 4 deletions changelog/+uniqueness-nulls.fixed.md

This file was deleted.

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

This file was deleted.

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

This file was deleted.

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

This file was deleted.

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

This file was deleted.

1 change: 0 additions & 1 deletion changelog/add.5376.md

This file was deleted.

4 changes: 2 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ services:
retries: 5

infrahub-server:
image: "${INFRAHUB_DOCKER_IMAGE:-registry.opsmill.io/opsmill/infrahub}:${VERSION:-1.1.1}"
image: "${INFRAHUB_DOCKER_IMAGE:-registry.opsmill.io/opsmill/infrahub}:${VERSION:-1.1.2}"
restart: unless-stopped
command: >
gunicorn --config backend/infrahub/serve/gunicorn_config.py
Expand Down Expand Up @@ -252,7 +252,7 @@ services:
deploy:
mode: replicated
replicas: 2
image: "${INFRAHUB_DOCKER_IMAGE:-registry.opsmill.io/opsmill/infrahub}:${VERSION:-1.1.1}"
image: "${INFRAHUB_DOCKER_IMAGE:-registry.opsmill.io/opsmill/infrahub}:${VERSION:-1.1.2}"
command: prefect worker start --type infrahubasync --pool infrahub-worker --with-healthcheck
restart: unless-stopped
depends_on:
Expand Down
108 changes: 108 additions & 0 deletions docs/docs/release-notes/infrahub/release-1_1_2.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
---
title: Release 1.1.2
---
<table>
<tbody>
<tr>
<th>Release Number</th>
<td>1.1.2</td>
</tr>
<tr>
<th>Release Date</th>
<td>January 9th, 2025</td>
</tr>
<tr>
<th>Release Codename</th>
<td>Lyon, Patch #2</td>
</tr>
<tr>
<th>Tag</th>
<td>[infrahub-v1.1.2](https://github.com/opsmill/infrahub/releases/tag/infrahub-v1.1.2)</td>
</tr>
</tbody>
</table>

# Release 1.1.2

This release is a bug-fix release to resolve issues found in Infrahub v1.1.1 and prior.

## Main changes

The complete list of changes can always be found in the `CHANGELOG.md` file in the Infrahub Git repository.

### Null values in uniqueness constraints

Previous to v1.1.2, NULL values were incorrectly ignored in uniqueness constraints;
as of this release, NULL values will be treated properly by the uniqueness logic.

Because the previous logic could have resulted in unintended behavior, upgrading v1.1.2 will perform a database migration for data integrity purposes.

### Added

- Added a configuration option for INFRAHUB_PUBLIC_URL, which could be required for SSO depending on how Infrahub is published and accessed within your organization. ([#5306](https://github.com/opsmill/infrahub/issues/5306))
- Add `PermissionManager` that takes care of validating permissions when executing a GraphQL query or a requesting a REST endpoint by fetching permissions from backends only once per query. ([#5350](https://github.com/opsmill/infrahub/issues/5350))
- The query InfrahubTask in GraphQL, introduced a new `related_nodes` field to retrieve multiple related nodes per task.

### Changed

- The fields `related_node` and `related_node_kind` on the GraphQL query `InfrahubTask` have been deprecated, please use `related_nodes` instead.

### Fixed

- Fix schema dropdown option removal in branches other than the default one ([#5242](https://github.com/opsmill/infrahub/issues/5242))
- Fix an issue that would prevent creating a node on a branch with a computed attribute that referenced another node on that branch ([#5385](https://github.com/opsmill/infrahub/issues/5385))
- Update how we calculate an incremental diff to skip potentially expensive operations if at all possible
- Update uniqueness checks/constraints logic to consider NULL values instead of ignoring.
This might cause data integrity issues if you have nodes with NULL values for attributes that are part of their
the uniqueness constraints of their schema. This change includes a database migration that validates data integrity
using the new uniqueness check/constraint logic and will fail if any uniqueness issues exist.

## Migration guide

The process to migrate your instance of Infrahub to the latest version may vary depending on your deployment of Infrahub.
However, at a high-level, it will involve getting the latest version of the Infrahub code, and then performing any needed Database Migrations and Schema updates.

Please ensure you have a **backup of your Infrahub environment** prior to attempting any migration or upgrade activities.

### Migration of an Infrahub instance

**First**, update the Infrahub version running in your environment.

Below are some example ways to get the latest version of Infrahub in your environment.

- For deployments via Docker Compose, update your container version by updating the `VERSION` environment variable and relaunch:
- `export VERSION="1.1.2"; docker compose pull && docker compose up -d`
- For deployments via Kubernetes, utilize the latest version of the Helm chart supplied with this release

**Second**, once you have gotten the desired version of Infrahub in your environment, please run the following commands.

> Note: If you are running Infrahub in Docker/K8s, these commands need to run from a container where Infrahub is installed.
```shell
infrahub db migrate
infrahub db update-core-schema
```

**Finally**, restart all instances of Infrahub.

### Migration of a dev or demo instance

If you are using the `dev` or `demo` environments, we have provided `invoke` commands to aid in the migration to the latest version.
The below examples provide the `demo` version of the commands, however similar commands can be used for `dev` as well.

```shell
invoke demo.stop
invoke demo.build
invoke demo.migrate
invoke demo.start
```

If you don't want to keep your data, you can start a clean instance with the following command.

> **Warning: All data will be lost, please make sure to backup everything you need before running this command.**
```shell
invoke demo.destroy demo.build demo.start demo.load-infra-schema demo.load-infra-data
```

The repository https://github.com/opsmill/infrahub-demo-edge has also been updated, it's recommended to pull the latest changes into your fork.
1 change: 1 addition & 0 deletions docs/sidebars.ts
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,7 @@ const sidebars: SidebarsConfig = {
slug: 'release-notes/infrahub',
},
items: [
'release-notes/infrahub/release-1_1_2',
'release-notes/infrahub/release-1_1_1',
'release-notes/infrahub/release-1_1_0',
'release-notes/infrahub/release-1_0_10',
Expand Down
4 changes: 2 additions & 2 deletions helm/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 4.1.1
version: 4.1.2
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.1.1"
appVersion: "1.1.2"

dependencies:
- name: neo4j
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "infrahub-server"
version = "1.1.1"
version = "1.1.2"
description = "Infrahub is taking a new approach to Infrastructure Management by providing a new generation of datastore to organize and control all the data that defines how an infrastructure should run."
authors = ["OpsMill <[email protected]>"]
readme = "README.md"
Expand Down
10 changes: 3 additions & 7 deletions python_testcontainers/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[project]
name = "infrahub-testcontainers"
version = "1.1.1"
version = "1.1.2"
requires-python = ">=3.9"

[tool.poetry]
name = "infrahub-testcontainers"
version = "1.1.0"
version = "1.1.2"
description = "Testcontainers instance for Infrahub to easily build integration tests"
authors = ["OpsMill <[email protected]>"]
readme = "README.md"
Expand All @@ -23,13 +23,9 @@ classifiers = [
"Programming Language :: Python :: 3.13",
]

include = [
"infrahub_testcontainers/docker-compose.test.yml"
]
include = ["infrahub_testcontainers/docker-compose.test.yml"]

[tool.poetry.dependencies]
python = "^3.9"
testcontainers = "~4.8"
pytest = "*"


0 comments on commit 7e6f318

Please sign in to comment.