fixed some processing errors that were causing servers to
be lost (also fixed a server that was losing itself :< )

1.8.5 Special EFCE Edition! :

Quicker SSD refreshing - 2 updates only.

added ADMIN_REJECT error code.

moved preferred name in ricardian contract to "[issue]" section.

added temporary low-level wallet addContract() call

includes the demo contracts for EFCE
(note these are short term contracts, and will
disappear fairly quickly).

1.8.3
-
1.8.4.... bug fix release:

Fixed the SSD refreshing code (both).

Some other minor bug fixes.

You will need the 1.8.4 to access some of the contracts
that are on the server that moved due to physical moves
and also to Anguilla domain moves.

Once installed,
simply attempt to access the server about 4 or 5 times,
ignoring the access failed messages, and
WebFunds should re-syncronise by updating the SSD and
then retrying the request.
This code is still bedding in, we'll get it stable some time!

1.8.2 .... minor maintenance release:

Added some new Contract types: Project, Bond, Commodity,

fixed small bugs: NPE on unknown account,
duff amount display when account returns bad value,
added later version of Pending that is cross-compatible.

Don't bother to upgrade to 1.8.2 unless you know the reason why!

1.8.1 is the more robust version of 1.8.0
(which should not be used, it has a killer bug).

Fixed Panic by stacktrace.

UpgradesManager now checks for latest and downloads the plugin
wallet. Doesn't handle WebFunds itself yet, all comes to those
that wait.

changed runlocal{bat} to allow overriding of MAIN
(untested on DOS, please check someone!).

1.8.0:
represents a migration to a new low-level
SOX wallet, which also brings a lot of hidden changes.

This release marks a start to deprecation of Java 1.1.
If you still run this, let us know.

The cut&paste of payments should be much better now,
eliminated the newlines bug (it was a Java "bug" that
needed a workaround) and also reduced the length of
lines in the payment. It took a concerted effort with
3 developers and a day to track it down :o Thanks guys!

Fixed annoying amounts display in History -- without
access to the contract, the History browser could not
display the unit of account. Also displays contract
name where possible.

Abstract Payments "yet more complete" in WebFunds...
Tokens still being worked on, 3rd generation of
architecture is being compiled every idle sunday.

Many internal changes due to continuing reorganisation
of wallet into low level and high level interfaces,
on demand from multitudes who are building applications
upon SOX.

"Stale Key" bug should be remedied, when spotted,
issuer code asks for update to key. This bug struck
anytime the server was restarted and recalculated
the session key, and needed WebFunds to be restarted.

Abstract Payments now "more complete" in WebFunds...
Tokens still being worked on. Special Pay
not as yet working, ignore please.
See
Token Notes
for more details.

Notes are now available on
customisation
such as how to modify the distribution for standard
contracts.

1.7.4 (mostly a checkpoint release):

Added a new test contract called BeerVouchers.

Fixed bug in Contracts to permit shares to be read
and added as subaccounts.

Abstract Payments now "complete" in WebFunds, Tokens
can be sent, but server treats them as ordinary.

Added new Pay box inside the SOXWallet, same as other
one but adds some wallet specific things such as a
Token Payment, and a Rollover (do not use this latter,
completely untested :

1.7.3:

Added Nym requests so that SOX accounts can set names
at server side. This is not used within standard WebFunds
distribution as yet; get Trader to see what it does, it
will be added to WebFunds when we can figure out a use
(... coming soon!)

More work on Abstract Payments. Next step is to move
SimplePaymentFrame into SOX so that it can generate
random payments.

1.7.2:

Fixed main values display for right number
of decimal points (added support to Contract
to return DecimalFactor objects).

New -- real-early-alpha -- UpgradesManager
can now place wallets in the right place, then ask
for a reboot. Later on, this code will do more
!

Some debugging to work out why Macs cannot see the plugins.

30 seconds timout on sockets, not 10 seconds.

1.7.1:

Fixes to ClassLoader so that 3rd party wallet
could see files.

1.7.0:

New features:

Share contracts,

SignContractWizard

debugging output in stderr
for DOS users.

Backup Recovery,

3rd party wallets can now be added.

All new contracts are based on OpenPGP signing
(but old x509 contracts still supported).

Version 1.6 was not intended for public distribution,
it was a trial version for 1.7, and should be quickly
replaced as soon as possible...

1.6.6:

Kludge Recovery button added. Use with care.

Wallets can now be plugged in as 3rd party extensions
by placing in plugins/wallets directory.

Share contract has been added.

All contracts now have decimal capability,
as indicated by [issue] power number.
Code looks for the old currency versions
if power is not found.
Factor might be deprecated, it depends on whether we
ever find a non-decimal currency.

1.6.5:

Old
example.bat,
is now
runlocal_example.bat
and should have DOS line-endings.

Improvements in this README.html doco.

Fixes in SOX protocol and Crypto code
mean that 1.6.0-1.6.4 are now broken
(will not work with OpenPGP issuer).

Cryptix.jar is gone!

JDK 1.3 is reported to work on DOS systems....

This release completes the year-long migration
out of x509 and into openPGP.
New contracts are found within the download.
Old x509 contracts are now firmly relegated to the slow lane.

1.6.4:

New
run,
run.bat,
example.bat,
and rewritten instructions below all aimed at
describing how to get going with JDK 1.2 (Java 2).

Rewrote biz logic in SignContractWizard to support
reading of keys from a supplied contract, and the
writing of unsigned contracts previous to signing
attempt. Added sanity checking on keys on initial
reading.

Various signing and key bugs fixed in OpenPGP.

Changed Ricardian tag [cert]
to [certification]
as cert is way too overloaded.

updated run scripts and doco for jdk 1.2

1.6.3:

Minor series of changes to get OpenPGP
contracts running on Issuer.

Contract Browser now accepts [operator]
instead of [server]
in order to handle multi-level PKI.

Series of improvements to SignContractWizard.

Ready to try some real live contract preparation and running.

1.6.2:

Minor series of changes to fix 1.6.1

Contract Browse bug fixed, needed new files in SOX.jar
in order to read the DigiGold x.509 contract.

WebFunds may now run under some circumstances under JDK 1.2.

Set CLASSPATH in run.bat, no clue as to whether this is right.

1.6.1:

Major series of changes designed to get OpenPGP contracts in.

OpenPGP contracts now added:

New Jar to do OpenPGP stuff included.

Ricardian Contracts handle either the old
x.509 contracts or the new OpenPGP contracts.

"SignContractWizard" is rewritten from scratch
The new SWING library 1.1.1-RELEASE is needed for
this, see notes below.

New unused code includes PaymentFactory and Payment
types to do tokens. Also, DepositRequest is modified
to accept these new Payments and to handle additional
protocol state and type information suitable for
token methods. However, nothing in WebFunds uses this
code as yet.

Now uses the Cryptix JCE for much of the Crypto code.
Not completely changed over as yet.

x.509 is now moving to deprecated track. Current
DigiGold contract will be supported as long as it
is valuable, but no new x.509 contracts.

There are probably other changes....

Some old deprecated junk contracts have been removed,

"Digigold" Trial

"Glitter" play currency

we don't believe they are in use and should be
rolled over ASAP if they are found in existance.
A play contract will be provided with the public
releasable WebFunds.

1.6.0:

Major series of changes designed to assist new wallets
in development.

new debugging module places all STDERR and STDOUT
output into files of those names (lowercase).

Description written into payments now shown on history,
and on request for confirmation.

Wallet interface now has WalletContext providing
special features needed by wallet, rather than clumsy Core.

AppendFileStore used for some things, which provides
for an append only db method on rotating files. Not
in production use as yet for major things, but is used
for new things.

Start on payment state machine with StateReceipt
returned instead of Receipt from that store. Not
effective as yet, as it is made up on the spot,
but object can be migrated into code, replacing
Receipt and PendingReceipt.

Lots of cleanup in sox stores side, but no change
to data as yet. All client store stuff should now
be in webfunds.store.*.

Quick fix for the NPEx problem where the Java
PrintWriter object blows up. Cause is unknown,
backed out a change that seems to trigger it.

1.5.3:

Think I got it - the receipts were incorrectly updated,
but advise below concerning uncancellable payments still
holds in general!

Now checks for /dev/random for the good entropy.
Faster on Unix, still boring on Windows.

1.5.2:

Slow, painful fix to mail signing problem - the mail
code was completely rewritten to remove an "innovation"
that broke all mail signing. You might have noticed that
mail was clogging up...

There is still a bug in the mail code - receipts can
be dropped but signed for. This is a hanging offence,
if you see a Payment that you cannot cancel because it
is already used (pid), do not restart, but copy the
'out' file and send it to the support team.

DROPPED support for old /data/ version 1 data formats.
This is about a year old.... It will warn you of the
dropped support and terminate if present.

1.5.1:

Quick fix, can accept bearer deposit from unknown account.

Improved Payment readale comment.

History browser now has more features. Still has the
known bug of printing the unit of contract not account.
This can't be fixed until the browser is changes to a
plugin (which has access to the contracts).

1.5.0: Major cleanup release. Lots of detail changes

Under New, a Backups option that copies the
entire directory as selected. Fairly primitive,
the backup is only 99% runnable, but it has all
the important data.

There is a
new "defaults" features so that suppliers can
build a version that starts up with contracts already
sucked in to the contract store.
It takes contracts from "defaults/contracts" on first
startup for new user.

Also added a quick and dirty canonical hasher in
the same place, File/Hash.

Some changes in plugins.

Some debugging.

Known bug: if the SOXServer directory is
old / out of date, than there is no way to
start up. Workaround is to remove the
directory user/data2/Wallets/SOX/SOXServer
(which can be done any time) and restart.

1.4.6: Minor bug fix for 1.4.5

Added code to stop going out to Net until startup is
Complete, this should fix the 1.4.5 recovery failure.

No longer looks for "./" on Macs.

Plugin support now in /plugins/ ...

1.4.5: This version is tested as *Working* on MacOS,
but it has a recovery bug: can't recover 1.3 data!

Fixed Store stuff to *read* stores that have
31 chars. This fixes the Account, Receipt, and
AddressBook problems that broke the Mac.

Added flag "-jit false" to WebFunds (*not*
the run file) to turn off jit.
Useful if the JIT is giving problems - which
it seems to do with Symantec JIT - and there
seems no other way of turning it off.

Also fixed Make Payment silly bug (see 1.4.4).

Found bugs in value calculation (hidden by
broken debugs). You may see some dodgy receipts
that don't belong to the subaccount. Also, the
displayed values may change - for the better I hope.

Previous version 1.4.4 introduced much cleaner comms,
which seems to speed things up dramatically. On the
issuer machine, times are about 500 millisecs, so
we'll call that the no-network time. Any times you
see in the log - please post with a description of
where you are. Bonus points for a traceroute to hayek.ai!
look for this message:

i 507ms only !

1.4.4: Nothing much that you can see...

ContractStore now cleans old files into 'junk.'

On adding a SubAccount, it is registered,
so payments out of it should work straight
away (assuming they are zeroes).

SOXServer files are cached. This and the
remaining points seem to speed things up!

SOX server file now uses += multiplicative
servers so that there are many servers to
talk to. Automatic failover occurs whenever
a problem is detected, I rewrote the HTTP
code completely to use raw sockets (so a
timeout could be employed).

TimeSync is now done infrequently.

All good stuff with connections and getting net
stuff, but no new added features :(

A bug I've just spotted: Make Payment
with no amount is silly.

Another: named payment deposited into
non-related account says it was ok, when
it wasn't. Note that this is not the
same as depositing into any of your accounts,
as WebFunds looks for the actual account,
regardless.

Oh, really bad results with the JITs, so
that is now turned off in run.bat, but feel
free to try it. Also, I've turned on even
more debugging, there was a whole raft of stuff
that wasn't being displayed. If it doesn't work
for you, redirect it into a file.

Dropped EncryptedStore as it is (probably)
responsible for the startup freezes. Note that
this means passwords are no longer required!

Fixed a heisenbug that causes
new accounts to not register.

1.4.2: Cleanup. Receipts and values unconfused. First deposit
now saves the receipt. Two bugs remain:

Occasionally freezes on startup. Restart it.

An deposit into an account without that item
will cause the subaccount to be added, but the
display won't be updated.
Add the contract manually or restart.

Neither of these bugs look easy to fix :(

1.4.1: Lots of stuff.

Recoveres 1.3 Receipts. Has a go at recovering
Pendings but no promises - cancel or complete your
pending payments before upgrade!

As the recovery is not widely tested yet, you are
advised to take a copy of the user directory,
just in case!

Change of hierarchy to Wallet / Account / Contract.
It was contract before account, but this mucked up
the natural order of SOX, and also life in general,
so the bullet was bit and the change was made.

Rewritten contract store.
It might survive on MacOS.
Handles multiple names so you will be asked for
a choice where there is a clash, and WebFunds
applies tighter standards to older contracts.

None escape WebFunds beady eye, and
even the DigiGold_AUG.asc contract
is incorrect in your old stores. WebFunds
will ask you to confirm: the hash is

9c7c9e7bb564224977aea8674623a37407b8f6ee

which indicates that WebFunds has found bad
eolns and has recovered. Click on OK, and if
want to fix it permanently (!) use [new] to
add the contract again from the distribution.

New! Help! menu items now include help entries.

Changes to Exceptions in SOX and Stores.

Oh, yeah, almost forgot. I added source. In src.zip.

Just noticed - a bug with a) first deposit
is partial (ignore) and b) receipts confused
in history. Tomorrow.

1.4.0: For New users only. Most of the changes above,
but NOTE that this version does not recover 1.3
files..

Testing desired - these are big changes and we haven't had a
chance to test everything in there.

Because this version breaks the Pendings and AddressBook,
the version has been upped to 1.3.
1.2.5:
Cancel start set to zero. Name changes now persistant.
Cool dropdown menu in payments specifies targets.

1.2.4:
rename of accounts now works (uses new internal address book).

1.2.3:
fixed predicted balance.

1.2.2:
Corrected numbering. Speedups.

1.2.1:
Ooops, forgot to change the batch file. Worked on Unix :-)
(Was badly named as 2.0.1...)