Skip to content

Releases: edjCase/ICP.NET

5.1.0 Adding Asset Canister API

25 Jan 22:11
5e7d94d
Compare
Choose a tag to compare

5.0.0 WebSocket integration

12 Jan 19:52
2793bba
Compare
Choose a tag to compare

5.0.0-pre.2 WebSockets

13 Dec 22:21
Compare
Choose a tag to compare
Pre-release

5.0.0-pre.1 WebSockets Initial

11 Dec 21:39
Compare
Choose a tag to compare

Adding ToLedgerAccount to Principal

10 Nov 19:22
a5fd40b
Compare
Choose a tag to compare

What's Changed

Full Changelog: BoomDAO/ICP.NET@4.0.1...4.1.0

4.0.1 Client generation bug fixes

01 Nov 22:37
dd1c996
Compare
Choose a tag to compare

What's Changed

Full Changelog: BoomDAO/ICP.NET@4.0.0...4.0.1

4.0.0 Improved Custom Types and Generation

12 Oct 22:42
7b51d78
Compare
Choose a tag to compare

BREAKING CHANGES:

3.x.x => 4.x.x

The big change here was around variant classes and their attributes. Before the option types were defined by the attribute on each enum member, but in 4.x.x it changed to using method return types and having not type information in attributes. Also the VariantAttribute now gets the enum type from the Tag property vs the attribute

Version 3

[Variant(typeof(MyVariantTag))] // Required to flag as variant and define options with enum
public class MyVariant
{
    [VariantTagProperty] // Flag for tag/enum property, not required if name is `Tag`
    public MyVariantTag Tag { get; set; }
    [VariantValueProperty] // Flag for value property, not required if name is `Value`
    public object? Value { get; set; }
}

public enum MyVariantTag
{
    [CandidName("o1")] // Used to override name for candid
    Option1,
    [CandidName("o2")]
    [VariantType(typeof(string))] // Used to specify if the option has a value associated
    Option2
}

Version 4

[Variant] // Required to flag as variant
public class MyVariant
{
	[VariantTagProperty] // Flag for tag/enum property, not required if name is `Tag`
	public MyVariantTag Tag { get; set; }
	[VariantValueProperty] // Flag for value property, not required if name is `Value`
	public object? Value { get; set; }


	// This method is used to specify if the option has a type/value associated
	[VariantOption("o2")] // Specify the candid tag if different than 'As{CandidTag}' like 'Option2' here
	public string AsOption2()
	{
		return (string)this.Value!;
	}
}

public enum MyVariantTag
{
    [CandidName("o1")] // Used to override name for candid
    Option1,
    [CandidName("o2")]
    Option2
}

What's Changed

Full Changelog: BoomDAO/ICP.NET@3.2.2...4.0.0

4.0.0-pre.9 Fixing null variant option bug

10 Oct 16:04
17f6354
Compare
Choose a tag to compare

What's Changed

Full Changelog: BoomDAO/ICP.NET@4.0.0-pre.8...4.0.0-pre.9

4.0.0-pre.10 Misc bug fixes

10 Oct 17:49
932eb43
Compare
Choose a tag to compare

4.0.0-pre.8 Fixing noninline OptionalValue bug

09 Oct 23:44
c6eae59
Compare
Choose a tag to compare

What's Changed

Full Changelog: BoomDAO/ICP.NET@4.0.0-pre.7...4.0.0-pre.8