Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependencies and add lifecycle to About page #305

Merged
merged 2 commits into from
Dec 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions src/Docusaurus/docs/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,45 @@ To use WiX as a .NET tool or as an MSBuild SDK via `dotnet build`, you must have
To use WiX as an MSBuild SDK via `msbuild`, you must have [.NET Framework 4.7.2 or later installed](https://learn.microsoft.com/en-us/dotnet/framework/get-started/system-requirements). WiX runs on ARM64 systems as ARM64


## Lifecycle

The WiX Toolset lifecycle is composed of two release processes: major versions and servicing updates. (Given the velocity of major version releases, the WiX Toolset eschews the use of minor versions.)

Note that [FireGiant customers have major version and servicing update lifecycles determined by their support contract](https://www.firegiant.com/services/wix-extended-support/?utm_source=wixtoolset.org&utm_medium=Display&utm_campaign=lifecycle&utm_term=note&utm_content=about_page). Consumers of the open source WiX Toolset project have lifecycles with dates and durations detailed below.

### Major versions

The WiX Toolset follows an annual release cadence for new major versions. The targeted release date is every April 5th, the anniversary of WiX's release as Open Source.
In each of the two months before a new major version, a release candidate build is produced. That means WiX users should circle the following dates on their calendars:

| Date | Release |
| ---- | --- |
| February 5th | v#.0-rc.1 |
| March 5th | v#.0-rc.2 |
| April 5th | v#.0 |

### Servicing updates

There are two categories of servicing updates: bug fixes and security updates.

Bugs we fix for FireGiant customers can be released as bug fix updates. Other fixes and features ship in the next major version release.

We strongly encourage consumers of the open source project to adopt release candidates quickly, testing them with their existing projects to help catch regressions in time to fix them before the major version release. Otherwise, it could take up to a year to get the fix.

To keep both customers and consumers safe, security updates are released more widely. Specifically, security updates are provided for the current major version *and* the previous major version up to 10 months after the current version's release. The following table should make it clear.

| WiX Version | Release Date | Consumer Security Fixes End Date |
| ----------- | ------------ | ----------------------- |
| WiX v3 | 2009/07/04 | 2025/02/06 |
| WiX v4 | 2023/04/05 | 2025/02/05 |
| WiX v5 | 2024/04/05 | 2026/02/05 |
| WiX v6 | 2025/04/05 | 2027/02/05 |

This provides consumers with security updates for 22 months and ensures they are protected while updating to the latest major version.

Of course, FireGiant customers get [security fixes just like bug fixes as per their support contract](https://www.firegiant.com/services/wix-extended-support/?utm_source=wixtoolset.org&utm_medium=Display&utm_campaign=lifecycle&utm_term=of_course&utm_content=about_page).


## License

The WiX toolset is released under the [Microsoft Reciprocal License (MS-RL)](http://opensource.org/licenses/ms-rl). A reciprocal license is used to ensure that others who build on the effort of the WiX community give back to the WiX community. Specifically the license requires that fixes and improvements to the WiX toolset must be published using the same license.
Expand Down
2 changes: 1 addition & 1 deletion src/FeedGenerator/FeedGenerator.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Octokit" Version="4.0.3" />
<PackageReference Include="Octokit" Version="13.0.1" />
</ItemGroup>
</Project>
17 changes: 13 additions & 4 deletions src/Web/Models/ErrorEntity.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.

namespace WixToolset.Web.Models
{
using System;
using Microsoft.WindowsAzure.Storage.Table;
using Azure;
using Azure.Data.Tables;

public class ErrorEntity : TableEntity
public class ErrorEntity : ITableEntity
{
public ErrorEntity()
{
Expand All @@ -17,6 +18,14 @@ public ErrorEntity(string site, string key = null)
this.RowKey = key ?? DateTime.UtcNow.ToString("yyyy-MM-ddTHH-mm-ss-ffff") + "-" + Guid.NewGuid().ToString("N");
}

public string PartitionKey { get; set; }

public string RowKey { get; set; }

public ETag ETag { get; set; } = ETag.All;

public DateTimeOffset? Timestamp { get; set; }

public int StatusCode { get; set; }

public string IP { get; set; }
Expand All @@ -31,4 +40,4 @@ public ErrorEntity(string site, string key = null)

public string Text { get; set; }
}
}
}
15 changes: 12 additions & 3 deletions src/Web/Models/VisitEntity.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.

namespace WixToolset.Web.Models
{
using System;
using Microsoft.WindowsAzure.Storage.Table;
using Azure;
using Azure.Data.Tables;

public class VisitEntity : TableEntity
public class VisitEntity : ITableEntity
{
public VisitEntity()
{
Expand All @@ -19,6 +20,14 @@ public VisitEntity(string site, string purpose, string key = null)
this.Purpose = purpose;
}

public string PartitionKey { get; set; }

public string RowKey { get; set; }

public ETag ETag { get; set; } = ETag.All;

public DateTimeOffset? Timestamp { get; set; }

public string Method { get; set; }

public string IP { get; set; }
Expand Down
17 changes: 6 additions & 11 deletions src/Web/Services/StorageService.cs
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.

namespace WixToolset.Web.Services
{
using System;
using System.Diagnostics;
using System.Threading.Tasks;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Table;
using Azure.Data.Tables;
using WixToolset.Web.Models;

public class StorageService : IStorageService
Expand All @@ -18,10 +17,10 @@ public StorageService(string connectionString)
throw new ArgumentNullException(nameof(connectionString));
}

this.Storage = CloudStorageAccount.Parse(connectionString);
this.Storage = new TableServiceClient(connectionString);
}

private CloudStorageAccount Storage { get; }
private TableServiceClient Storage { get; }

public async Task LogErrorAsync(int code, string ip, string page, string referrer, Exception exception)
{
Expand All @@ -47,15 +46,11 @@ public async Task WriteToTableStorage(string tableName, ITableEntity entity)
{
try
{
var op = TableOperation.Insert(entity);

var client = this.Storage.CreateCloudTableClient();

var table = client.GetTableReference(tableName);
var table = this.Storage.GetTableClient(tableName);

await table.CreateIfNotExistsAsync();

await table.ExecuteAsync(op);
await table.AddEntityAsync(entity);
}
catch (Exception e)
{
Expand Down
7 changes: 4 additions & 3 deletions src/Web/Web.csproj
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="WindowsAzure.Storage" Version="8.1.4" />
<PackageReference Include="Azure.Data.Tables" Version="12.9.1" />
<PackageReference Include="System.Text.Json" Version="6.0.11" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="Nerdbank.GitVersioning" Version="3.4.194" PrivateAssets="all" />
<PackageReference Include="Nerdbank.GitVersioning" Version="3.6.146" PrivateAssets="all" />
</ItemGroup>
</Project>
8 changes: 4 additions & 4 deletions src/test/XsdToMarkDownTests/XsdToMarkdownTests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Markdig" Version="0.20.0" />
<PackageReference Include="Markdig" Version="0.38.0" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3" PrivateAssets="All" />
<PackageReference Include="xunit" Version="2.4.1" PrivateAssets="All" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" PrivateAssets="All" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" PrivateAssets="All" />
<PackageReference Include="xunit" Version="2.9.2" PrivateAssets="All" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2" PrivateAssets="All" />
</ItemGroup>

</Project>
Loading