Author: toad
Date: 2008-09-26 11:58:27 +0000 (Fri, 26 Sep 2008)
New Revision: 22843

Modified:
   trunk/freenet/src/freenet/node/Version.java
Log:
1165: mandatory 3 October 0:00
ipAddressOverride:
- Really fix the NPE on startup bug.
- Include override dns addresses in noderefs even if we haven't resolved them. 
Appears to fix a problem with override address not appearing in noderefs.
Web interface:
- Change the skip-the-wizard text to make it more obvious that it's a bad idea.
- Improve some strings for some forms and page headings.
- Improve descriptions for some options.
- Improve the upload a file form to make it more obvious that uploading through 
the browser or browsing files on disk are alternatives.
- Rename networkSizeEstimate to darknetSizeEstimate, since only darknet nodes 
swap now.
- Update bookmark editions.
- Remove development flogs from bookmarks.
Bug #2582 : lots of CHK offer replies not going away, causing collapse in 
bandwidth usage
- Fix various places where we might not have unlocked a UID for an offer reply.
- Hopefully this will fix this serious and fairly widely reported bug.
L10n:
- English: Fix typo, update documentation for some store options, minor changes 
(promiscuous mode -> insecure mode), , improve the strings for some forms (add 
a friend, insert a file), improve title string at top of download page, remove 
OpennetUserAlert.*, remove a reference to insecure mode.
- Italian: Updated translation from Luke771,
- Finnish: Updated translation from Smar.
- Chinese: Updated translation from yongjhen.
Low level: sending and throttling packets:
- Largish refactoring, some optimisations. Get rid of alreadyReportedBytes, 
don't use DoubleTokenBucket, move message queue to PeerMessageQueue. The below 
may cost some CPU.
- Some counting accuracy fixes when determining whether to send a packet.
- Round-robin between peers: send *one* packet to a given peer, then move on to 
the next. If there are more packets to send, immediately loop around again. 
This will prevent the node from using all its bandwidth/time/etc to send 
packets to a single node with a big backlog, especially if sending packets is 
taking a long time.
- Resolve MessageItem's on creation, as doing it lazily doesn't save any memory 
in practice and complicates the code.
- Implement hard bandwidth limiting of all packets at the PacketSender level.
- Bucket size for bandwidth limiter is 500ms at full speed (as it was) or 2KB, 
whichever is larger.
- Within a priority, round-robin between different message groups (a group is a 
bunch of messages with the same ID). We more or less did this before with the 
old throttling system; this restores it in a different implementation.
Salted hash datastore:
- Make the store type option be always written to disk, regardless of whether 
it is the default or not. So changing the default will not cause costly 
migrations.
- Eliminate lock contention: no need to add the key to the primary filter when 
rebuilding the bloom filter. Don't sleep when rebuilding bloom filter, 
apparently not necessary now. Do need to lock the forked filter when merging 
however.
- Format change: one .hd file for both headers and data. There is 
auto-migration, one store at a time (there are 6), but it will take some disk 
space. Sorry, this shouldn't happen in future; it's a fairly big gain, reducing 
the number of seeks from 3 to 2.
- Preallocate data (fill with random bytes) by default to ensure predictable 
disk usage, and avoid long unkillable disk-thrashing CPU-thrashing (if 
encrypted) syscalls. Off on non-mac unixes if physical security is LOW. This 
happens on initial creation (1G so won't take long), on-line after changing 
size in config, or offline on restart if changing size didn't complete.
- Timeout locks after 20 seconds, and poll for shutdown every 2 seconds, to 
avoid causing unclean shutdowns.
Plugins:
- Fix removing plugins from cache for unofficial plugins.
- Fix loading unofficial plugins on node restart.
Opennet:
- Let the user change connectToSeednodes by restarting the node.
Internal: (fix possible bugs, but not immediately obvious where they would be):
- Synchronization in SortedLongSet.
Misc:
- Feed blocks to the client layer even if we can't store them (e.g. because the 
datastore is being resized).
Dev stuff:
- Logging.
- Comments.
- Delete dead code.
- Use an enum for the store contents type (CHK/PUBKEY/SSK).
- More minor refactoring.
- Generics, ArrayList, imports, autoboxing, more specific return/variable 
types, for(:) loops.
Unit tests:
- Complete the test case for UpdatableSortedLinkedList.

Installer:
- Browse Freenet script was broken, opening a firefox window pointing to the 
current directory instead of the node. Fixed.
- Make the auto-start setting a top-level option, and strengthen the wording 
about it.

UPnP:
- Set thread names.

Website:
- Fix link to offline installer.
- Get rid of reddit/digg links on the 0.7.0 announcement.
- Mention seclevel normal/low on the download page, not insecure mode.
- Mention the cronjob/service on the download page, and explain.
- Rewrite the post-install section on the download page to be up to date and 
clearer.
- Mention nested routers on the NAT entry on the FAQ.

luke771
toad
tommy
sdiz
smar
xor
yongjhen

WoT: (batosai, xor)
- Re-enable the config class and add a config page.
- Locking fixes.
- Move some code around so WoT builds both in eclipse and with ant.
- Tidyups.
- Move exceptions and unit tests to packages.
- Fix build.xml. (toad)
- Javadocs.

db4o branch:
- Merged all changes up to 1164 into the branch.
- It should work again now... hopefully.
- It will of course have its own bugs, plus any introduced in merging...
- Inserts are not properly tested, optimised or debugged.
- Persistent requests should however work rather well.


Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2008-09-25 23:08:36 UTC (rev 
22842)
+++ trunk/freenet/src/freenet/node/Version.java 2008-09-26 11:58:27 UTC (rev 
22843)
@@ -24,17 +24,17 @@
        public static final String protocolVersion = "1.0";

        /** The build number of the current revision */
-       private static final int buildNumber = 1164;
+       private static final int buildNumber = 1165;

        /** Oldest build of Fred we will talk to */
-       private static final int oldLastGoodBuild = 1163;
-       private static final int newLastGoodBuild = 1164;
+       private static final int oldLastGoodBuild = 1164;
+       private static final int newLastGoodBuild = 1165;
        static final long transitionTime;

        static {
                final Calendar _cal = 
Calendar.getInstance(TimeZone.getTimeZone("GMT"));
                // year, month - 1 (or constant), day, hour, minute, second
-               _cal.set( 2008, Calendar.SEPTEMBER, 22, 0, 0, 0 );
+               _cal.set( 2008, Calendar.OCTOBER, 3, 0, 0, 0 );
                transitionTime = _cal.getTimeInMillis();
        }



Reply via email to