Skip to content

Commit a312a3e

Browse files
authored
Merge pull request #1 from shugaoye/main
Build 2.0.1-rc1
2 parents 9d14416 + 1255e64 commit a312a3e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+11499
-0
lines changed

.gitmodules

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[submodule "PureOtp"]
2+
path = PureOtp
3+
url = https://github.com/shugaoye/PureOtp.git
4+
branch = passxyz

CHANGELOG.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
## Change log
2+
3+
### 2.0.1-rc.1
4+
- Upgraded to .NET MAUI RC1
5+
- PassXYZLib moved to a separate project
6+
7+
---
8+
Version `1.x.x` is built for Xamarin.Forms
9+
### Release 1.3.8
10+
11+
### Release 1.3.7
12+
**KPCLib**
13+
- Added `GetOtpUrl()`
14+
15+
### Release 1.3.6
16+
**PassXYZLib**
17+
- Added LogFilePath
18+
- Added `ChangeMasterPassword()`
19+
- Improved `SearchEntries()`
20+
21+
### Release 1.3.5
22+
**KPCLib**
23+
- Added `Exists()` in `ProtectedBinaryDictionary`
24+
25+
**PassXYZLib**
26+
- Added `SearchEntries()`
27+
28+
### Release 1.3.4
29+
- Bug fixes
30+
31+
### Release 1.3.3
32+
- Improved property `IsUserExist` and Added `Delete` method in `User`
33+
- Support KeePass key file
34+
- Removed dependency on PureOtp
35+
36+
### Release 1.3.2
37+
- Removed dependencies
38+
39+
### Release 1.2.2
40+
- Bug fixes
41+
42+
### Release 1.2.1
43+
- Support Markdown in Notes field
44+
- Support PassXYZ data format
45+
46+
### Release 1.2.0
47+
- Added PassXYZLib
48+
- Support KPCLibPy
49+
50+
### Release 1.1.9
51+
- Removed dependency of Xamarin.Forms so it can be built with any .Netstandard apps
52+
- Using SkiaSharp to handle Bitmap which is supported by .Netstandard and .Net Core
53+
- Removed UWP test app and added .Net Core test app

Notebook/passxyzlib.ipynb

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "code",
5+
"execution_count": null,
6+
"metadata": {},
7+
"outputs": [
8+
{
9+
"data": {
10+
"text/html": "<table><thead><tr><th>Major</th><th>Minor</th><th>Build</th><th>Revision</th><th>MajorRevision</th><th>MinorRevision</th></tr></thead><tbody><tr><td><div class=\"dni-plaintext\">0</div></td><td><div class=\"dni-plaintext\">0</div></td><td><div class=\"dni-plaintext\">0</div></td><td><div class=\"dni-plaintext\">0</div></td><td><div class=\"dni-plaintext\">0</div></td><td><div class=\"dni-plaintext\">0</div></td></tr></tbody></table>"
11+
},
12+
"output_type": "unknown"
13+
}
14+
],
15+
"source": [
16+
"using System;\r\n",
17+
"using System.Reflection;\r\n",
18+
"\r\n",
19+
"Assembly.GetExecutingAssembly().FullName"
20+
]
21+
},
22+
{
23+
"cell_type": "code",
24+
"execution_count": 1,
25+
"metadata": {
26+
"dotnet_interactive": {
27+
"language": "csharp"
28+
}
29+
},
30+
"outputs": [
31+
{
32+
"data": {
33+
"text/plain": "There are 4 items.\r\n"
34+
},
35+
"output_type": "unknown"
36+
},
37+
{
38+
"data": {
39+
"text/plain": "item = home\r\n"
40+
},
41+
"output_type": "unknown"
42+
},
43+
{
44+
"data": {
45+
"text/plain": "item = data\r\n"
46+
},
47+
"output_type": "unknown"
48+
},
49+
{
50+
"data": {
51+
"text/plain": "last = src\r\n"
52+
},
53+
"output_type": "unknown"
54+
},
55+
{
56+
"data": {
57+
"text/plain": "False, src\r\n"
58+
},
59+
"output_type": "unknown"
60+
}
61+
],
62+
"source": [
63+
"using System;\r\n",
64+
"using System.Diagnostics;\r\n",
65+
"\r\n",
66+
"string testPath = \"/home/data/test/src\";\r\n",
67+
"\r\n",
68+
"\r\n",
69+
"string FindLastOne(string path = \"/\") \r\n",
70+
"{\r\n",
71+
" if (path == null) { return null; }\r\n",
72+
" string[] paths = path.Split('/');\r\n",
73+
" if(paths.Length > 0) \r\n",
74+
" {\r\n",
75+
" var i = 0;\r\n",
76+
" var item = \"\";\r\n",
77+
" Console.WriteLine($\"There are {paths.Length - 1} items.\");\r\n",
78+
" for (i = 0; i < paths.Length - 1; i++) \r\n",
79+
" { \r\n",
80+
" item = paths[i];\r\n",
81+
" if(!String.IsNullOrEmpty(item))\r\n",
82+
" {\r\n",
83+
" Console.WriteLine($\"item = {item}\");\r\n",
84+
" }\r\n",
85+
" }\r\n",
86+
" Console.WriteLine($\"last = {paths[paths.Length - 1]}\");\r\n",
87+
" }\r\n",
88+
" return paths[paths.Count() - 1];\r\n",
89+
"}\r\n",
90+
"\r\n",
91+
"var last = FindLastOne(testPath);\r\n",
92+
"// string path = \"/home/data/test/src\";\r\n",
93+
"\r\n",
94+
"/*\r\n",
95+
"foreach (var sub in subs)\r\n",
96+
"{\r\n",
97+
" Console.WriteLine($\"Substring: {sub}\");\r\n",
98+
"}*/\r\n",
99+
"\r\n",
100+
"Console.WriteLine($\"{testPath.EndsWith(\"/\")}, {last}\");"
101+
]
102+
},
103+
{
104+
"cell_type": "code",
105+
"execution_count": 1,
106+
"metadata": {},
107+
"outputs": [
108+
{
109+
"data": {
110+
"text/plain": "Key=1\r\n"
111+
},
112+
"output_type": "unknown"
113+
}
114+
],
115+
"source": [
116+
"public class NamedContainer<T>\r\n",
117+
"{\r\n",
118+
" public NamedContainer(T item, string name)\r\n",
119+
" {\r\n",
120+
" Item = item;\r\n",
121+
" Name = name;\r\n",
122+
" }\r\n",
123+
"\r\n",
124+
" public T Item { get; }\r\n",
125+
" public string Name { get; }\r\n",
126+
"}\r\n",
127+
"\r\n",
128+
"var nc = new NamedContainer<int>(1, \"Key\");\r\n",
129+
"Console.WriteLine($\"Key={nc.Item}\");"
130+
]
131+
}
132+
],
133+
"metadata": {
134+
"kernelspec": {
135+
"display_name": ".NET (C#)",
136+
"language": "C#",
137+
"metadata": {
138+
"interpreter": {
139+
"hash": "82a4497aa44a440fbfb1d441f8bbfbe94f1ccaaf7adaa9528d6a47a3b7658ad3"
140+
}
141+
},
142+
"name": ".net-csharp"
143+
},
144+
"language_info": {
145+
"name": "dotnet-interactive.csharp",
146+
"version": "3.8.5-final"
147+
},
148+
"orig_nbformat": 2
149+
},
150+
"nbformat": 4,
151+
"nbformat_minor": 2
152+
}

PassXYZLib.nuspec

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
3+
<metadata>
4+
<id>PassXYZLib</id>
5+
<version>2.0.1-rc.1</version>
6+
<authors>Roger Ye</authors>
7+
<owners>Roger Ye</owners>
8+
<requireLicenseAcceptance>false</requireLicenseAcceptance>
9+
<license type="expression">LGPL-3.0-or-later</license>
10+
<projectUrl>https://passxyz.github.io/KPCLib/</projectUrl>
11+
<description>This is an extension of KPCLib.</description>
12+
<releaseNotes>
13+
- Fixed dependency issue
14+
</releaseNotes>
15+
<copyright>Roger Ye</copyright>
16+
<repository url="https://github.com/passxyz/KPCLib" />
17+
<dependencies>
18+
<group targetFramework="net6.0">
19+
<dependency id="HtmlAgilityPack" version="1.11.42" exclude="Build,Analyzers" />
20+
<dependency id="Markdig" version="0.23.0" exclude="Build,Analyzers" />
21+
<dependency id="Microsoft.Maui.Dependencies" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
22+
<dependency id="Microsoft.Maui.Extensions" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
23+
<dependency id="Newtonsoft.Json" version="13.0.1" exclude="Build,Analyzers" />
24+
<dependency id="PassXYZ" version="2.1.5.22" exclude="Build,Analyzers" />
25+
</group>
26+
<group targetFramework="net6.0-android31.0">
27+
<dependency id="HtmlAgilityPack" version="1.11.42" exclude="Build,Analyzers" />
28+
<dependency id="Markdig" version="0.23.0" exclude="Build,Analyzers" />
29+
<dependency id="Microsoft.Maui.Dependencies" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
30+
<dependency id="Microsoft.Maui.Extensions" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
31+
<dependency id="Newtonsoft.Json" version="13.0.1" exclude="Build,Analyzers" />
32+
<dependency id="PassXYZ" version="2.1.5.22" exclude="Build,Analyzers" />
33+
</group>
34+
<group targetFramework="net6.0-ios15.2">
35+
<dependency id="HtmlAgilityPack" version="1.11.42" exclude="Build,Analyzers" />
36+
<dependency id="Markdig" version="0.23.0" exclude="Build,Analyzers" />
37+
<dependency id="Microsoft.Maui.Dependencies" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
38+
<dependency id="Microsoft.Maui.Extensions" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
39+
<dependency id="Newtonsoft.Json" version="13.0.1" exclude="Build,Analyzers" />
40+
<dependency id="PassXYZ" version="2.1.5.22" exclude="Build,Analyzers" />
41+
</group>
42+
<group targetFramework="net6.0-maccatalyst15.2">
43+
<dependency id="HtmlAgilityPack" version="1.11.42" exclude="Build,Analyzers" />
44+
<dependency id="Markdig" version="0.23.0" exclude="Build,Analyzers" />
45+
<dependency id="Microsoft.Maui.Dependencies" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
46+
<dependency id="Microsoft.Maui.Extensions" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
47+
<dependency id="Newtonsoft.Json" version="13.0.1" exclude="Build,Analyzers" />
48+
<dependency id="PassXYZ" version="2.1.5.22" exclude="Build,Analyzers" />
49+
</group>
50+
<group targetFramework="net6.0-windows10.0.19041">
51+
<dependency id="HtmlAgilityPack" version="1.11.42" exclude="Build,Analyzers" />
52+
<dependency id="Markdig" version="0.23.0" exclude="Build,Analyzers" />
53+
<dependency id="Microsoft.Maui.Dependencies" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
54+
<dependency id="Microsoft.Maui.Extensions" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
55+
<dependency id="Newtonsoft.Json" version="13.0.1" exclude="Build,Analyzers" />
56+
<dependency id="PassXYZ" version="2.1.5.22" exclude="Build,Analyzers" />
57+
</group>
58+
</dependencies>
59+
<summary>PassXYZLib added additional features for .NET MAUI.</summary>
60+
</metadata>
61+
<files>
62+
<file src="PassXYZLib/bin/Release/net6.0/PassXYZLib.dll" target="lib/net6.0/PassXYZLib.dll" />
63+
<file src="PassXYZLib/bin/Release/net6.0/PureOtp.dll" target="lib/net6.0/PureOtp.dll" />
64+
<file src="PassXYZLib/bin/Release/net6.0-android/PassXYZLib.dll" target="lib/net6.0-android31.0/PassXYZLib.dll" />
65+
<file src="PassXYZLib/bin/Release/net6.0-android/PassXYZLib.aar" target="lib/net6.0-android31.0/PassXYZLib.aar" />
66+
<file src="PassXYZLib/bin/Release/net6.0-android/PassXYZLib.xml" target="lib/net6.0-android31.0/PassXYZLib.xml" />
67+
<file src="PassXYZLib/bin/Release/net6.0-android/PureOtp.dll" target="lib/net6.0-android31.0/PureOtp.dll" />
68+
<file src="PassXYZLib/bin/Release/net6.0-ios/PassXYZLib.dll" target="lib/net6.0-ios15.2/PassXYZLib.dll" />
69+
<file src="PassXYZLib/bin/Release/net6.0-ios/PureOtp.dll" target="lib/net6.0-ios15.2/PureOtp.dll" />
70+
<file src="PassXYZLib/bin/Release/net6.0-maccatalyst/PassXYZLib.dll" target="lib/net6.0-maccatalyst15.2/PassXYZLib.dll" />
71+
<file src="PassXYZLib/bin/Release/net6.0-maccatalyst/PureOtp.dll" target="lib/net6.0-maccatalyst15.2/PureOtp.dll" />
72+
<file src="PassXYZLib/bin/Release/net6.0-windows10.0.19041/PassXYZLib.dll" target="lib/net6.0-windows10.0.19041/PassXYZLib.dll" />
73+
<file src="PassXYZLib/bin/Release/net6.0-windows10.0.19041/PureOtp.dll" target="lib/net6.0-windows10.0.19041/PureOtp.dll" />
74+
</files>
75+
</package>

PassXYZLib.sln

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.1.32113.165
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PassXYZLib", "PassXYZLib\PassXYZLib.csproj", "{E6F6B65A-6474-4978-9F9C-F22194688240}"
7+
EndProject
8+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B5CFEC4A-7D25-4D24-B4F7-A568E1DF4750}"
9+
ProjectSection(SolutionItems) = preProject
10+
appveyor.yml = appveyor.yml
11+
CHANGELOG.md = CHANGELOG.md
12+
PassXYZLib.nuspec = PassXYZLib.nuspec
13+
README.md = README.md
14+
EndProjectSection
15+
EndProject
16+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PureOtp", "PureOtp\PureOtp\PureOtp.csproj", "{6361E2B1-FAC9-4D2E-9876-90A37E516598}"
17+
EndProject
18+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PassXYZLib.xunit", "PassXYZLib.xunit\PassXYZLib.xunit.csproj", "{9FE01E8A-B87F-4B86-806A-C79C05B2CF18}"
19+
EndProject
20+
Global
21+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
22+
Debug|Any CPU = Debug|Any CPU
23+
Debug|ARM = Debug|ARM
24+
Debug|x64 = Debug|x64
25+
Debug|x86 = Debug|x86
26+
Release|Any CPU = Release|Any CPU
27+
Release|ARM = Release|ARM
28+
Release|x64 = Release|x64
29+
Release|x86 = Release|x86
30+
EndGlobalSection
31+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
32+
{E6F6B65A-6474-4978-9F9C-F22194688240}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
33+
{E6F6B65A-6474-4978-9F9C-F22194688240}.Debug|Any CPU.Build.0 = Debug|Any CPU
34+
{E6F6B65A-6474-4978-9F9C-F22194688240}.Debug|ARM.ActiveCfg = Debug|Any CPU
35+
{E6F6B65A-6474-4978-9F9C-F22194688240}.Debug|ARM.Build.0 = Debug|Any CPU
36+
{E6F6B65A-6474-4978-9F9C-F22194688240}.Debug|x64.ActiveCfg = Debug|Any CPU
37+
{E6F6B65A-6474-4978-9F9C-F22194688240}.Debug|x64.Build.0 = Debug|Any CPU
38+
{E6F6B65A-6474-4978-9F9C-F22194688240}.Debug|x86.ActiveCfg = Debug|Any CPU
39+
{E6F6B65A-6474-4978-9F9C-F22194688240}.Debug|x86.Build.0 = Debug|Any CPU
40+
{E6F6B65A-6474-4978-9F9C-F22194688240}.Release|Any CPU.ActiveCfg = Release|Any CPU
41+
{E6F6B65A-6474-4978-9F9C-F22194688240}.Release|Any CPU.Build.0 = Release|Any CPU
42+
{E6F6B65A-6474-4978-9F9C-F22194688240}.Release|ARM.ActiveCfg = Release|Any CPU
43+
{E6F6B65A-6474-4978-9F9C-F22194688240}.Release|ARM.Build.0 = Release|Any CPU
44+
{E6F6B65A-6474-4978-9F9C-F22194688240}.Release|x64.ActiveCfg = Release|Any CPU
45+
{E6F6B65A-6474-4978-9F9C-F22194688240}.Release|x64.Build.0 = Release|Any CPU
46+
{E6F6B65A-6474-4978-9F9C-F22194688240}.Release|x86.ActiveCfg = Release|Any CPU
47+
{E6F6B65A-6474-4978-9F9C-F22194688240}.Release|x86.Build.0 = Release|Any CPU
48+
{6361E2B1-FAC9-4D2E-9876-90A37E516598}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
49+
{6361E2B1-FAC9-4D2E-9876-90A37E516598}.Debug|Any CPU.Build.0 = Debug|Any CPU
50+
{6361E2B1-FAC9-4D2E-9876-90A37E516598}.Debug|ARM.ActiveCfg = Debug|Any CPU
51+
{6361E2B1-FAC9-4D2E-9876-90A37E516598}.Debug|ARM.Build.0 = Debug|Any CPU
52+
{6361E2B1-FAC9-4D2E-9876-90A37E516598}.Debug|x64.ActiveCfg = Debug|Any CPU
53+
{6361E2B1-FAC9-4D2E-9876-90A37E516598}.Debug|x64.Build.0 = Debug|Any CPU
54+
{6361E2B1-FAC9-4D2E-9876-90A37E516598}.Debug|x86.ActiveCfg = Debug|Any CPU
55+
{6361E2B1-FAC9-4D2E-9876-90A37E516598}.Debug|x86.Build.0 = Debug|Any CPU
56+
{6361E2B1-FAC9-4D2E-9876-90A37E516598}.Release|Any CPU.ActiveCfg = Release|Any CPU
57+
{6361E2B1-FAC9-4D2E-9876-90A37E516598}.Release|Any CPU.Build.0 = Release|Any CPU
58+
{6361E2B1-FAC9-4D2E-9876-90A37E516598}.Release|ARM.ActiveCfg = Release|Any CPU
59+
{6361E2B1-FAC9-4D2E-9876-90A37E516598}.Release|ARM.Build.0 = Release|Any CPU
60+
{6361E2B1-FAC9-4D2E-9876-90A37E516598}.Release|x64.ActiveCfg = Release|Any CPU
61+
{6361E2B1-FAC9-4D2E-9876-90A37E516598}.Release|x64.Build.0 = Release|Any CPU
62+
{6361E2B1-FAC9-4D2E-9876-90A37E516598}.Release|x86.ActiveCfg = Release|Any CPU
63+
{6361E2B1-FAC9-4D2E-9876-90A37E516598}.Release|x86.Build.0 = Release|Any CPU
64+
{9FE01E8A-B87F-4B86-806A-C79C05B2CF18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
65+
{9FE01E8A-B87F-4B86-806A-C79C05B2CF18}.Debug|Any CPU.Build.0 = Debug|Any CPU
66+
{9FE01E8A-B87F-4B86-806A-C79C05B2CF18}.Debug|ARM.ActiveCfg = Debug|Any CPU
67+
{9FE01E8A-B87F-4B86-806A-C79C05B2CF18}.Debug|ARM.Build.0 = Debug|Any CPU
68+
{9FE01E8A-B87F-4B86-806A-C79C05B2CF18}.Debug|x64.ActiveCfg = Debug|Any CPU
69+
{9FE01E8A-B87F-4B86-806A-C79C05B2CF18}.Debug|x64.Build.0 = Debug|Any CPU
70+
{9FE01E8A-B87F-4B86-806A-C79C05B2CF18}.Debug|x86.ActiveCfg = Debug|Any CPU
71+
{9FE01E8A-B87F-4B86-806A-C79C05B2CF18}.Debug|x86.Build.0 = Debug|Any CPU
72+
{9FE01E8A-B87F-4B86-806A-C79C05B2CF18}.Release|Any CPU.ActiveCfg = Release|Any CPU
73+
{9FE01E8A-B87F-4B86-806A-C79C05B2CF18}.Release|Any CPU.Build.0 = Release|Any CPU
74+
{9FE01E8A-B87F-4B86-806A-C79C05B2CF18}.Release|ARM.ActiveCfg = Release|Any CPU
75+
{9FE01E8A-B87F-4B86-806A-C79C05B2CF18}.Release|ARM.Build.0 = Release|Any CPU
76+
{9FE01E8A-B87F-4B86-806A-C79C05B2CF18}.Release|x64.ActiveCfg = Release|Any CPU
77+
{9FE01E8A-B87F-4B86-806A-C79C05B2CF18}.Release|x64.Build.0 = Release|Any CPU
78+
{9FE01E8A-B87F-4B86-806A-C79C05B2CF18}.Release|x86.ActiveCfg = Release|Any CPU
79+
{9FE01E8A-B87F-4B86-806A-C79C05B2CF18}.Release|x86.Build.0 = Release|Any CPU
80+
EndGlobalSection
81+
GlobalSection(SolutionProperties) = preSolution
82+
HideSolutionNode = FALSE
83+
EndGlobalSection
84+
GlobalSection(ExtensibilityGlobals) = postSolution
85+
SolutionGuid = {CCF3A192-9A1C-4C52-87E1-10BD46C1DEA6}
86+
EndGlobalSection
87+
EndGlobal

0 commit comments

Comments
 (0)