Version 0.7.0e

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Release 0.7.0e - experimental

http://download.nxtcrypto.org/nxt-client-0.7.0e.zip

sha256: aa778bade323d2b3f4cf13c925aa7b541d57f0853a5828385b72254ac92010bc

Change log:

This is the first release using an embedded java database (H2) to store
the blockchain, instead of serialized java object files. Because this is
a major change, this version is to be considered experimental.

The blocks.nxt and transactions.nxt and .bak files are no longer used.
Furthermore, they will not be loaded at startup, when you start with
empty database the very first time it will need to download the full
blockchain from the network.

The database is stored under the nxt_db directory, as of now it will
take around 100 MB when downloaded. If anything goes wrong and you need
to start fresh, it is safe to delete that nxt_db directory, it will be
recreated.

There are no changes in the web.xml file compared to 0.6.1. I will add
parameters to tweak database settings later, if needed.

The database will use 50% of the memory available to java for its cache.
The actual value is printed out at startup.

Currently only blocks and transactions are stored in database tables,
everything else such as accounts, aliases, assets, orders, messages,
is loaded at startup and then kept in memory. The amount of memory
those take is still small, relative to what was needed for all blocks
and transactions.

At startup, the blockchain scan takes a bit longer, this is normal.
If anything else is unusually slow, I will look into profiling and
optimizing it.

There are no new user-visible features compared to 0.6.1, the code is
kept in sync now (including the critical bugfixes). Having both 0.6.1
and 0.7.0e nodes on the network should not result in forks. I will
maintain both the 0.6.x and 0.7.x branches for some time, until all
major database related issues are discovered and fixed. Please report
bugs, including the stack traces.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBAgAGBQJS88S2AAoJEFOhyXc7+e2A45IP/j6Wy+UrJ3BTipd6ddcvtXuG
3CuNxP5XXZn56dW5/2CS9dWKLNUSaaQr6GV2z/bEVOQBZQ3XPkX6MYQaKucInDOC
LltAh6pvHN/plP/ll+Wlglwu3k/qM193hfFezAvXwJNiHym/NanYp9HRJRF8DJmz
ZB3J/Qr1K91+9mWUNd0kMXv9IhgOHMoP+CWOrAoefTk/7XNH9pOBDdi5uUHP0gtF
4O6kis5HVkICIVkHGNi8rdED5z6drQFYpnwm5OG0CONK9fUatymSRjUPy0PHd+aI
MRxihtfV05gRIhBOtrMre2WYbSTBCDL0ITy0b4ejtYW7WU2TC7bW8Gk10o6DjSbx
inOWUm5EWs1MbebpERskjVd8cLLc8EgGtBpuEs8XPmzNiWw7ma5msUpnbPFWF5hT
nYSOgmGzY5MsTaFLzGARXFm3xv52JS0mM+catOOCKyHH/+1geJXjkbyK5eVgtshJ
5TxdnUA/LjX73bAVJOtOJlULFHwzrnKfl26qGoZRwR9gSJRLEoeA8yW5Wv2Bnx9N
2fwkVy9cfTeZTerVe0r0SfxywqmDMG3Og+9GhxLD3qE58aolRC3yOZZnh1xspT+s
LI1j3Q6GbaR7Mb5QXbrs2qtxDRjdnrmg/4CkhTAmAku1nBFtgeCXJY/wgtxGH+BL
Q4q/PI4rf99LkSxbe2l+
=TssU
-----END PGP SIGNATURE-----
Version 0.7.1

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Release 0.7.1

http://download.nxtcrypto.org/nxt-client-0.7.1.zip

sha256: 08f54b324ec4e644adc4864368e31c7ed14feb52918ca4522377c94d1f360f8a

Release 0.6.2

http://download.nxtcrypto.org/nxt-client-0.6.2.zip

sha256: cdb39d82e59aade4a0ea6b9f64fc9852fdab5d37a9a4ba755dffeaa96672aaf5

Change log:

Fixed a bug in the calculation of guaranteed balance which could in some
cases result in effective balance higher than the actual balance. Since
this change can produce a fork, a switch to the correct calculation will
happen at block 64000. Everyone should upgrade to either 0.7.1 or 0.6.2
before that block, or we will get forks.

Improved validation of peer addresses to prevent syntactically invalid or
unresolvable addresses from being included in the peers list.

Enabled logging of all debugging output to a log file. Everything printed
out to the console will also get logged to a file nxt.log. This should
help with submitting bug reports in case of crashes and errors, as it
doesn't matter anymore if your windows console just disappeared.
The nxt.log file is overwritten at every server restart.

Cleaned-up hallmark and authorization token processing. Added Token and
Hallmark classes, those can be now used by Java client developers to
generate and validate tokens and hallmarks without going through the http
interface.

Improved logging of block push failures and block pop-off events, those
will now print out the block id and the reason for block rejection.

Improved peer blacklisting and logging of reasons for blacklisting. Http
requests from blacklisted peers are now completely ignored.

Made all API request handling classes under the nxt.http package visible
in the javadoc documentation, to be used for documenting the parameters
and return values of the http API.

There haven't been any database related bugs in the 0.7 series. All the
above changes have been applied to both 0.6 and 0.7 branches. I encourage
more people to try the 0.7.1 version, there is no need to continue
maintaining the 0.6 branch very long if we don't encounter problems with
the database version.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBAgAGBQJS9p7eAAoJEFOhyXc7+e2A44gP/iocZBytS+u/B2mpbcEAs0e2
VIpx8FLrAmSOX8Dwq+8O8PHdDVvbHeZuVpi9PZNmrZQnOlUfhqHF8MdGIBhEzRJw
f+koWWjSZTft5w/CKnM4PpvD1FzFh2XO/jMtkgI8nEu6YAXg6jwM6X2BqS6tSCNh
A65F+Juaw/na6n1HNCOt6SKj3tCdQf0xwNOeYCvqbkJL589n9WmHrqmPXhNmT52N
NvypwvY1uuNCG4Bd+rq6auw0tdCfFkxT82dIO2AlFWDjPQblBVKdg9PhNMtUaIDd
9/Go0YqC73+rIsRiLFWdxZqnJXprSMGVN5uUaHZ/eKBsROl5smuFsGODNcWK/+3k
p+35wI/ZG+fh9Lf5ALkJ3r0ZJh9JRLJrsOCnseTVFd6qMtvoxo6bWt/3kQgvBKNA
GFB01022UbPgPB5JwAF+adYDXOQ2MthGCIsb9y//smfHvsEXNahs9qYdhVhe2iIa
lmjqrSh34BrU3SMEGm6tsyYBTJ5akvrrm5JTBR6ujqR5VO5bjyWNxYIgewipzwJi
bvi6m5s06ldCggR5Yk1pLriOXjZUAFqTGUPFS6DMpUMezys+IJeCZ/Lh7M6dcCem
9E0H/Q0PpuMiZ7T5SccjyHr9ICT3jj805ERXvlc/YI+R0UGg6KPKijv/bU1pbf+/
BnqIfsUWg5zbkU6lkuja
=LewA
-----END PGP SIGNATURE-----
Version 0.7.2

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Release 0.7.2

http://download.nxtcrypto.org/nxt-client-0.7.2.zip

sha256: e8788f9cb5a7eef825526767ea39318f3aa58374d749f86b8e893c612be5937b

Change log:

Improved performance of blockchain scan.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBAgAGBQJS91QDAAoJEFOhyXc7+e2AgtMQANVkTyLX7VaLsy5gKZOontgu
J5QqHgboQtkyvy+/uN3Holb1x62W3uN3kH9rob/WS68n1nXHzBF8adVfBtjgyhn5
GtxzWovbkStTrE4eatGDaTk+9WRVbEJeRTSM80VjAuo1jR8xGFHbXCTf1DnFuR0B
zE/tz7LJHmYPlUTfmvAvUfN+vUA55qNY7KcpQ5Davs+o3qCOFVmUXg6MQD2Egi+1
ROcJZUJTkIIZs3u43KUM9BaN3znwjD9j/CHx0d95t2Ol0dOzovPMRUaytiZVMvQq
jAwL0lVvxOq7GrqWLZu4+4rfcjjQNBYNWg3RX0o0NggwDj4LSqvlcvG4S4Z516Pk
EveNpAseRRtO8QDqigi+cMeSUWLMOSiXtMf2qbHxaHyXWMB1b4UWbwJsKdj7JgEY
m8hgn8I7z6RVx/Jsxt9xEsANV4xhmh/htviPOfppgkzOuYbd0GYXGZ+qquH+KQka
VZhYxVywTA35cmN2PC3OdEOldezxPRtehVQsWNWbiZhKbr6PmqCdTroSWqlwjia3
XMkyGbsWvNXQnrlVy+Av/FTbZT6PXq3TJZvLdryX+X5TSn9Ggl4EAHCd5qjEv59g
H767/G7UOul+fK5mbUMhbVT/AN5hZ5tvRufaVLkXUeiADGXGeZ1yshgFFHitFxLQ
RgOCSWd0nUt41gDPhE9O
=qoui
-----END PGP SIGNATURE-----
Version 0.7.3

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Release 0.7.3

http://download.nxtcrypto.org/nxt-client-0.7.3.zip

sha256: 8dccdaaf16d5f6714a96b05e08a918462cc3d549db66c7f52e81bc51b30894ae

Change log:

The 0.6.x series is no longer supported. Starting with this release,
only the database version will be developed.

Optimized the getMilestoneBlockIds protocol. This is the peer to peer
request that currently puts the most load on the public nodes, and is a
cause of a large amount of unnecessary outbound traffic. However, for
backwards compatibility, version 0.7.3 still supports both the old
and the improved getMilestoneBlockIds protocols, so when older clients
connect to 0.7.3 nodes they will still cause unnecessary load and
extra traffic, unfortunately.

WARNING: Support for the old getMilestoneBlockIds protocol will be
removed in 0.7.4. You don't need to upgrade immediately, but if
you don't do it before 0.7.4 comes out, your older version nodes
will not be able to request blocks and catch up with the blockchain.
Better upgrade sooner than later.

More and more refactoring. Completely separated the user interface logic
from the core business logic. Nothing in the core nxt package depends on
the classes in the nxt.user package anymore. Instead, a Listeners
framework is used, so that the UI can register to be notified of the
events in the core that it needs to know about. This is also intended to
be used by Java client API developers.

Added some more indexes to the database tables to improve performance.
These will be created automatically the first time this version is
started with your existing database - no need to start from scratch,
no need to delete your old nxt_db directory.

Privacy related change: Before this release, newly generated blocks
and new transactions were broadcasted to peers twice. This could allow
your peers to deduce that your node was the generator of the block or
transaction in question. This is now fixed. Note that somebody with
the ability to monitor all your internet traffic will still be able to
tell that it was you who generated a block, because the generating node
sends the block before having received it from any other peer. I don't
see a physically possible way to avoid that, yet. Also note that the
transaction re-broadcasting feature will continue to re-broadcast your
transactions until they are received back from at least one other node,
but will not do that with transactions received from other nodes. This
could still be used to deduce that your node was the source of a
transaction, in case the initial attempt to send it failed, and it was
re-broadcasted (but somebody already observed the failed first attempt).

Separated block forging logic into a Generator class, which can also
be used by Java API clients to start and stop forging.

Added startForging and stopForging API requests.
Parameters: secretPhrase, required for both starting and stopping.

Fixed minor bugs. Fixed a bug in peer download traffic monitoring.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBAgAGBQJS+0MYAAoJEFOhyXc7+e2ALV8P+wWgHvaTWjTnph67Z9KsFE2Q
b4SNxnjbcirb7VOJmADdgaJ06XSx3rstgh2oY7Dt3Lm/h30NFTF38eUSTMbfTqGt
w3vH1n3X0VM6Hf6XB+pqRDo6gyA3rqnaf0U7dftOMYJlEnBu9enN+3XKvWbCb7jQ
hn+sJ0VufaHXtthHewQI7Zu5Bs0/T/73P1bwTDTg8Q6X3+qErpDMDlp+ibFqp0CO
eRDil8J+wKUtJhnJKlCTTCW0oVeYzr2pEiiSzd8x3LxvRBdGhzrtsgo1QMPJuBW1
1VB0vf8AbZbrEAMfnG+ZhRVO91AJstha7aG9k5hS7irEQ+WFtu7gVYeei+0vpHYg
QEqS/+ylRdTDeIOyCM3M3GdOCBo2cotvC9wlV0xfozEbA9KXdMPmLifw8tGcnxTs
RjCrHSb2u6xPAq+fcOa/OxXRTBEm8l2cUdZ6dv5eQ1GHaqfICOol5DtxG0U5K21K
2fv3RPwn41OkHFM1k+ohR+Rj+KczKvT8smKzZYbL/uqb2LonW8QONK0sfjZWOBmx
53XEjYh0MLTpbHyFWai3KpVpHyfE/5jxZL29Js7ImE6yjHX82g3ZS6S5cJJDQhOs
IIv2fKmusnhzwDIgtaSVKT/gSnleQqEBLCgCtV4FH7oQpht7sRNbOLK9DEHRN0uI
jLWVCgICI1/J3YhaDUza
=1geu
-----END PGP SIGNATURE-----
Merge branch 'experimental'