Altinn.Authorization.ABAC 0.3.0

dotnet add package Altinn.Authorization.ABAC --version 0.3.0
                    
NuGet\Install-Package Altinn.Authorization.ABAC -Version 0.3.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Altinn.Authorization.ABAC" Version="0.3.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Altinn.Authorization.ABAC" Version="0.3.0" />
                    
Directory.Packages.props
<PackageReference Include="Altinn.Authorization.ABAC" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Altinn.Authorization.ABAC --version 0.3.0
                    
#r "nuget: Altinn.Authorization.ABAC, 0.3.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Altinn.Authorization.ABAC@0.3.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Altinn.Authorization.ABAC&version=0.3.0
                    
Install as a Cake Addin
#tool nuget:?package=Altinn.Authorization.ABAC&version=0.3.0
                    
Install as a Cake Tool

Publishing NuGet Packages with Release Please

Overview

This guide outlines the release strategy for Altinn Authorization C# packages using Release Please. We adhere to Semantic Versioning (SemVer) to manage versions consistently.

Release Process

Releases are automatically generated based on commit messages that follow the Conventional Commits specification. When a pull request (PR) is merged into the main branch, Release Please will:

  1. Detect changes in the repository.
  2. Update or generate the CHANGELOG.md.
  3. Update the version in *.csproj or version.json.
  4. Create a GitHub Release if necessary.

Commit Message Conventions

Each commit message must follow a structured format to ensure correct versioning:

Change Type Prefix
Patch fix:
Minor feat:
Major fix!:
Major feat!:
Major refactor!:

Example

Removing support for .NET 8 in the PEP package:

git add .
git commit -m "feat!: remove support for .NET 8"

Then, create a PR with the following title format:

release(<scope>): <component> <version>

For example:

release(main): Altinn.Authorization.PEP 5.0.0

Since we introduced a breaking change, we must bump the major version.

When this PR is merged, Release Please will create another PR with the updated changelog, including:

feat!: remove support for .NET 8

Once the Release Please PR is merged, the package can be safely deployed.

Specification

This guide follows the key terms defined in RFC 2119:

  • MUST: A requirement that must be followed.
  • MAY: An optional action.
  • SHOULD: A recommendation.

Commit Message Structure

  1. A commit MUST be prefixed with a type (feat, fix, etc.), followed by an optional scope, an optional ! for breaking changes, and a required colon and space.
  2. feat MUST be used for new features.
  3. fix MUST be used for bug fixes.
  4. An optional scope MAY be provided in parentheses, e.g., fix(parser):.
  5. The description MUST immediately follow the colon and space.
  6. A longer commit body MAY be included, starting one blank line after the description.
  7. A commit body MAY include multiple paragraphs.
  8. Footers MAY be included after one blank line.
  9. Footers MUST follow the format <token>: <value>, e.g., BREAKING CHANGE: environment variables now take precedence over config files.
  10. Breaking changes MUST be indicated in either the type prefix (!) or the footer.
  11. BREAKING CHANGE in the footer MAY be omitted if ! is used in the prefix.
  12. Other commit types MAY be used, such as docs: update API documentation.
  13. Commit messages MUST NOT be case-sensitive, except BREAKING CHANGE which MUST be uppercase.

Automation

  • GitHub Actions runs Release Please when PRs are merged into main.
  • The version bump is determined automatically based on commit history.
  • A new release is created only when a version change is required.

Publishing

When a release is created, .github/workflows/release.yml runs three jobs for each released package:

  1. publish builds, tests and packs the package, then attaches the .nupkg files to the GitHub release.
  2. publish-github-packages pushes it to the Altinn GitHub Packages feed.
  3. publish-nuget pushes it to nuget.org with Trusted Publishing. No API key is stored. NuGet/login exchanges the job's GitHub OIDC token for a short-lived key.

Trusted Publishing depends on settings outside this repository:

  • A nuget.org Trusted Publishing policy owned by altinn (the owner of the packages), with repository owner Altinn, repository altinn-auth, workflow file release.yml and environment nuget.
  • A nuget GitHub environment in this repository, limited to main, with the variable NUGET_USER set to the nuget.org profile name (not email) of the policy's creator.

All pushes use --skip-duplicate, so rerunning a job does not fail on versions that are already published.

Semantic Versioning Rules

Condition Version Change Example (1.2.3 →)
🚀 Breaking changes (require code modifications by consumers) Major (X.0.0) 2.0.0
➖ Removing or renaming public APIs Major (X.0.0) 2.0.0
🔄 Changing method signatures Major (X.0.0) 2.0.0
⚠ Changing default behavior in a non-backward-compatible way Major (X.0.0) 2.0.0
🔄 Removing support for a .NET version Major (X.0.0) 2.0.0
🔄 Upgrading to a new .NET version (breaking compatibility) Major (X.0.0) 2.0.0
🔄 Upgrading to a new .NET version (fully backward-compatible) Minor (X.Y.0) 1.3.0
✨ Adding new features (backward-compatible) Minor (X.Y.0) 1.3.0
➕ Adding a new public API Minor (X.Y.0) 1.3.0
📦 Internal performance improvements (no API changes) Minor (X.Y.0) 1.3.0
🔧 Deprecating an API (but still available for now) Minor (X.Y.0) 1.3.0
🐛 Bug fixes (no breaking changes) Patch (X.Y.Z) 1.2.4
📌 Fixing security vulnerabilities (no breaking changes) Patch (X.Y.Z) 1.2.4
📈 Performance optimizations (no API change) Patch (X.Y.Z) 1.2.4
📝 Documentation updates only (no code changes) No version bump -

By following this guide, you ensure that releases are structured, predictable, and automated correctly.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Altinn.Authorization.ABAC:

Package Downloads
Altinn.Common.PEP

Policy Enforcement Point for Attribute-based authorization using Altinn.Authorization.ABAC in ASP.Net apps. See our repository for the full documentation.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Altinn.Authorization.ABAC:

Repository Stars
Altinn/altinn-studio
Next generation open source Altinn platform and applications.
Version Downloads Last Updated
0.3.0 749 10/13/2026
0.1.1 143,630 11/4/2025
0.1.0 23,795 9/18/2025
0.0.9-alpha.8 238 4/19/2024
0.0.9-alpha.6 187 4/19/2024
0.0.9-alpha.5 194 4/19/2024
0.0.9-alpha.4 184 4/18/2024
0.0.9-alpha.3 201 4/18/2024
0.0.9-alpha.2 167 4/18/2024
0.0.9-alpha.1 180 4/18/2024
0.0.9-alpha 262 4/16/2024
0.0.8 342,768 2/16/2024
0.0.8-alpha 585 1/22/2024
0.0.7 30,147 10/13/2023
0.0.6 1,124 9/29/2023
0.0.5 109,376 1/13/2022
0.0.5-alpha 1,502 10/1/2021
0.0.4-alpha 64,159 4/16/2021
0.0.3-alpha 80,658 11/27/2019
0.0.2-alpha 2,907 11/7/2019
Loading failed

# Changelog

## [0.3.0](https://github.com/Altinn/altinn-auth/compare/Altinn.Authorization.ABAC-v0.2.0...Altinn.Authorization.ABAC-v0.3.0) (2026-10-12)


### ⚠ BREAKING CHANGES

* **#4322:** Altinn.Common.PEP and Altinn.Authorization.ABAC no longer target net8.0. Consumers must be on .NET 9 or later.

### Bug Fixes

* **#4322:** drop net8.0 from published packages, embed symbols and reproducible builds ([#4323](https://github.com/Altinn/altinn-auth/issues/4323)) ([99e9396](https://github.com/Altinn/altinn-auth/commit/99e93960abaca3adf6b0f8771653c261a4b2a689))
* clear S2259 + S2955 null-deref findings ([#3150](https://github.com/Altinn/altinn-auth/issues/3150)) ([c24e8f0](https://github.com/Altinn/altinn-auth/commit/c24e8f0b66bf4d9444798b2610160b212961bbfc))
* combine rule decisions per the XACML 3.0 combining algorithm tables ([#3901](https://github.com/Altinn/altinn-auth/issues/3901)) ([b79b15c](https://github.com/Altinn/altinn-auth/commit/b79b15c2a6d89429efc7e72c114da619e82fff5a))

## [0.2.0](https://github.com/Altinn/altinn-auth/compare/Altinn.Authorization.ABAC-v0.1.1...Altinn.Authorization.ABAC-v0.2.0) (2026-10-06)


### ⚠ BREAKING CHANGES

* **#4322:** Altinn.Common.PEP and Altinn.Authorization.ABAC no longer target net8.0. Consumers must be on .NET 9 or later.

### Bug Fixes

* **#4322:** drop net8.0 from published packages, embed symbols and reproducible builds ([#4323](https://github.com/Altinn/altinn-auth/issues/4323)) ([99e9396](https://github.com/Altinn/altinn-auth/commit/99e93960abaca3adf6b0f8771653c261a4b2a689))
* clear S2259 + S2955 null-deref findings ([#3150](https://github.com/Altinn/altinn-auth/issues/3150)) ([c24e8f0](https://github.com/Altinn/altinn-auth/commit/c24e8f0b66bf4d9444798b2610160b212961bbfc))
* combine rule decisions per the XACML 3.0 combining algorithm tables ([#3901](https://github.com/Altinn/altinn-auth/issues/3901)) ([b79b15c](https://github.com/Altinn/altinn-auth/commit/b79b15c2a6d89429efc7e72c114da619e82fff5a))

## [0.1.1](https://github.com/Altinn/altinn-auth/compare/Altinn.Authorization.ABAC-v0.1.0...Altinn.Authorization.ABAC-v0.1.1) (2025-11-04)


### Bug Fixes

* handle ValidateDecisionResult when user has no authlevel-claim ([#1272](https://github.com/Altinn/altinn-auth/issues/1272)) ([e5c204e](https://github.com/Altinn/altinn-auth/commit/e5c204e86ebebc2d08311c693e428553ca4af1cd))
* move package config to ABAC dir ([#1635](https://github.com/Altinn/altinn-auth/issues/1635)) ([ec9f74a](https://github.com/Altinn/altinn-auth/commit/ec9f74ad3c2e4d8b6986a249f94b4e0341efb741))

## [0.1.0](https://github.com/Altinn/altinn-auth/compare/Altinn.Authorization.ABAC-v0.0.8...Altinn.Authorization.ABAC-v0.1.0) (2025-09-18)


### Features

* prepare for release ([#1261](https://github.com/Altinn/altinn-auth/issues/1261)) ([b0572fb](https://github.com/Altinn/altinn-auth/commit/b0572fb4841112cea44511932204475f6ab20824))