-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathRELEASE.html
221 lines (218 loc) · 8.46 KB
/
RELEASE.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
<html>
<head>
<title>
I2P Easy-Install...
</title>
<meta name="author" content="eyedeekay" />
<meta name="description" content="i2p.firefox" />
<meta name="keywords" content="master" />
<link rel="stylesheet" type="text/css" href="style.css" />
<link rel="stylesheet" type="text/css" href="showhider.css" />
<link rel="stylesheet" type="text/css" href="darklight.css" />
</head>
<body>
<input type="checkbox" id="checkboxDarkLight">
<div class="container">
<div id="navbar">
<a href="#shownav">
Show navigation
</a>
<div id="shownav">
<div id="hidenav">
<ul>
<li>
<a href="..">
Up one level ^
</a>
</li>
<li>
<a href="index.html">
index
</a>
</li>
<li>
<a href="LICENSE.html">
LICENSE
</a>
</li>
<li>
<a href="index.html">
index.html
</a>
</li>
<li>
<a href="GOALS.html">
GOALS
</a>
</li>
<li>
<a href="PRINCIPLES.html">
PRINCIPLES
</a>
</li>
<li>
<a href="RELEASE.html">
RELEASE
</a>
</li>
<li>
<a href="UPDATES.html">
UPDATES
</a>
</li>
</ul>
<br>
<a href="#hidenav">
Hide Navigation
</a>
</div>
</div>
</div>
<a id="returnhome" href="/">
/
</a>
<h1>
I2P Easy-Install Bundle for Windows 2.4.9
</h1>
<p>
This is a pre-release of the I2P Easy-Install Bundle for Windows.
This changes how the I2P bundle and browser profile manager are installed and integrated with the host system.
The Easy-Install bundle is now a “portable” system that can be moved to different locations within or between Windows file-systems while retaining all built-in functionality.
A shortcut for starting the I2P router is still provided by the installer for convenience, but the shortcuts for starting the I2P Browser are now integrated with the I2P desktop UI.
</p>
<p>
The browser profile manager itself has been split away from the monolithic I2P router+Java/jpackage, and moved into an I2P plugin managed by the router.
While this was done primarily to reduce how complex the existing code was, this also results in behavior which is closer to the main distribution of I2P for Windows and will lead to a more flexible installer, which can bundle additional default plugins and may be suitable for installation as a Windows service.
I2P Plugins can also be updated independently of the router that hosts them, so it will be possible to update the browser profile manager independently of the router itself.
It also means that the browser profile manager can be un-installed by uninstalling the plugin, and much more importantly that the browser profile manager is now compatible with all Java I2P distributions.
</p>
<p>
<strong>
Why a dev build 3 weeks before the release?
</strong>
</p>
<p>
By further delineating the components of the bundle, these changes also affected how the release process happens.
In particular the build process of each component has been encapsulated in a CI description which can be reproduced on a local PC.
This simplifies and automates the build process by ensuring that up-to-date build tools are installed in a brand-new container for every build.
In effect this should speed up the release process for I2P Easy-Install for Windows considerably.
This release is a test-run of the new process, so I can document what is going on.
It breaks down roughly like this:
</p>
<ul>
<li>
It takes ~22 minutes to compile all the targets for the
<code>
i2p.plugins.firefox
</code>
and make the resulting artifacts available. During this process, I must insert 1 HSM and enter 1 password. (This part used to be about 30 steps, now it takes 1)
</li>
<li>
It takes ~22 minutes to compile all the targets for the
<code>
i2p.firefox
</code>
project and make the resulting artifacts available. This process produces only unsigned artifacts identified by their hashes, and is non-interactive. (This part used to be around 60 steps the first time, and 40 steps each additional time)
</li>
<li>
<code>
i2p.firefox
</code>
updates are signed in their
<code>
.su3
</code>
form. The
<code>
NSIS
</code>
-powered
<code>
.exe
</code>
installer is the current updater. The next step is to sign
<em>
just this installer
</em>
and generate a torrent of the result. (This process used to depend on the previous build process and couldn’t be done independently. Now it takes about 30 seconds)
</li>
<li>
Generate and sign a newsfeed to notify the users of an update. This process is the only process that is
<strong>
slower
</strong>
when containerized, because there are dozens of feeds to be signed in their respective containers. It takes about an hour.
</li>
</ul>
<p>
For you the end user, nothing much should change.
You’ll get your updates a lot faster, and have more options available for testing.
The same installer is used for the updater, and the process is handled the same way.
However for developers, testers, and maintainers, this release will result in big changes for the better.
</p>
<p>
This release still embeds a
<code>
2.4.0
</code>
Java I2P router. No changes have been made to update the embedded router.
Network behavior will be unchanged until the official
<code>
2.5.0
</code>
release.
</p>
<div id="sourcecode">
<span id="sourcehead">
<strong>
Get the source code:
</strong>
</span>
<ul>
<li>
<a href="https://github.com/eyedeekay/i2p.firefox">
Source Repository: (https://github.com/eyedeekay/i2p.firefox)
</a>
</li>
</ul>
</div>
<div>
<a href="#show">
Show license
</a>
<div id="show">
<div id="hide">
<pre><code>Copyright 2018
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
</code></pre>
<a href="#hide">
Hide license
</a>
</div>
</div>
</div>
</div>
<div>
<iframe src="https://snowflake.torproject.org/embed.html" width="320" height="240" frameborder="0" scrolling="no"></iframe>
</div>
<div>
<a href="https://geti2p.net/">
<img class="i2plogo" src="i2plogo.png"></img>
I2P
</a>
</div>
</body>
</html>