Skip to content

Releases: hyphanet/fred

testing-build-1479-pre5

14 Oct 06:02
testing-build-1479-pre5
86d6f1f
Compare
Choose a tag to compare
Pre-release
.

testing-build-1479-pre4

13 Oct 18:53
testing-build-1479-pre4
5884b2e
Compare
Choose a tag to compare
Pre-release
.

testing-build-1479-pre3

13 Oct 16:50
testing-build-1479-pre3
5b0dd92
Compare
Choose a tag to compare
Pre-release
.

build01478: 2017-04-05

05 Apr 23:02
build01478
Compare
Choose a tag to compare
Freenet 0.7.5 build 1478 is now available. [overview]

- prepare pinned certs for the new Amazon-web-services based site.

Thank you for using Freenet!

- Arne Babenhauserheide

Developer changelog:

2017-04-05

Changes in 1478:

- prepare pinned certs for the new Amazon-web-services based site.

- Arne Babenhauserheide

---
Arne Babenhauserheide (freenet releases) (3):
      update NEWS.md for 1478
      Update default bookmark editions
      Build 1478

drak@kaverne (3):
      add amazon root certificate for the new site
      FIX: selected wrong cert, Now Amazon1-4. Note: not yet tested
      FIX: had linked fallback CAs to the primary one

build01477: 2017-03-09

09 Mar 01:52
build01477
Compare
Choose a tag to compare
Freenet 0.7.5 build 1477 is now available. [overview]

This is an emergency release:

- fix clickjacking vulnerability, thanks to Kevin for alerting us!
- patch url injection bug introduced in 1476
- fix SSL which broke with Java7 due to a missing cypher

Thank you for using Freenet!

- Arne Babenhauserheide

Developer changelog:

2017-03-09

Changes in 1477:

- fix clickjacking vulnerability
- patch open redirect and header injection vulnerability introduced in 1476
- fix SSL which broke with Java7 due to missing cypher

- Arne Babenhauserheide

---
Arne Babenhauserheide (freenet releases) (2):
      Update default bookmark editions
      Build 1477

Florent Daigniere (1):
      Fix a potential click-jacking vulnerability

drak@kaverne (4):
      Re-enable TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 and TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
      fix header injection and open redirection vulnerability introduced in 1476
      update NEWS.md
      fix patch over redirection bug to not break the feature

build01476: 2017-03-01

01 Mar 23:21
build01476
Compare
Choose a tag to compare
Freenet 0.7.5 build 1476 is now available. [overview]

- efficiency improvements: routing for fast nodes and spare bitmaps
- a new gif filter with improved security
- improved maintainability by replacing custom code with standard code
- show update info alongside bookmarks
- ssl fixes
- update plugins: Sharesite 0.4.4, Library v37, Freereader 6

Thank you for using Freenet!

- Arne Babenhauserheide

Developer changelog:

2017-03-01

Changes in 1476:

- FOAF efficiency enhancements for fast nodes
- gif filter
- ssl fixes
- logger fix
- spare bitmap efficiency
- reduce custom code
- show semi-persistent update info next to bookmarks
- plugin updates: Sharesite 0.4.4, Library v37, Freereader 6

Thank you to all involved!

- Arne Babenhauserheide

Sharesite changes from 0.2.7 to 0.4.4:

- provide default content as nicer example
- add explicit path option
- add insertHour to restrict the upload time
- show the current UTC hour next to the insertHour setting
- add random wait time of at most the remaining seconds in the insertHour to mask clicking insert during the insertHour.
- parse description as textile
- syntax help: show block elements first
- link to style.css at the bottom
- footer: link to the latest version of Sharesite
- thanks to banbananabans@CQUZ... from FMS for lots of feedback

---
Sharesite changes:

Arne Babenhauserheide (16):
      import patch
      more syntax help
      better code help and blockquote help
      help: add strong again
      hopefully really breaking block
      only redirect to edit if not preview clicked.
      rename ChangeLog to NEWS, because it is user-facing, not developer facing (as by the GNU coding guidelines).
      prepared version 0.2.1
      add Image syntax help.
      help: {toc} only works as only element in the line
      mention that the h. headline tags are what are used to form the contents text
      syntax: note that to the left is the syntax
      Added tag 0.2.8 for changeset efb842bd4f73
      Added signature for changeset 7f938354de9c
      increase realVersion and version
      0.4.4 with updated ant

drak@kaverne (91):
      fix localization and other minor stuff
      actually switch to an exact copy of the ShareWiki b17 source.
      add missing activelink template.
      review everything except for mylyn
      fix whitespace in review notes.
      Document the last version of textile-j under LGPL
      Compiling with Textile-J works.
      Removed mylyn stuff (under EPL).
      Use LGPL 2.1 as License, since I may now do that after replacing mylyn wikitext with textile-j, since the original author of sharelink could only have shared this (legally) under a GPL compatible license.
      add basic syntax help
      update l10n
      add syntax help {toc}
      include the NEWS in the source tarball.
      rename plugin to Sharesite
      keep the backup format the same: loads ShareWiki backups
      update version to 0.2.2 with realVersion 2
      update NEWS
      actually move to Sharesite
      replace freesite URL
      link to the Sharesite Freesite instead of ShareLink
      template: Add ids for header and footer to simplify CSS design
      more consistent IDs for CSS
      harmonize coding style
      harmonize coding style
      added an activelinkUri field.
      todo: discuss using a redirect for the activelink
      increment version to 0.2.4
      Added tag 0.2.4 for changeset f6689b03c70c
      Added signature for changeset be98370f3504
      increment build number to 27
      add NEWS entry for 0.2.4
      Added signature for changeset 03a85d80dfae
      fix: compare strings with .equals()
      update version and build number.
      Added tag 0.2.5 for changeset 4489ccf64d09
      Added signature for changeset 038bde8cbc27
      improve news
      activelink: note that the URI must be SSK or CHK
      prepare 0.2.6
      add a very basic Makefile
      prepare version 0.2.7
      fix Makefile a bit and update build number.
      Added tag 0.2.7 for changeset 06c3625ff20b
      Added signature for changeset cd12c2e21dad
      Added signature for changeset e3c31f3768f3
      syntax help, block elem first plus tabify
      parse description as textile and name content content. Thanks to banbananabans@CQUZ... from FMS
      also link to style.css at the bottom
      Add explicit path option
      also use the path for the link in the inserter and the site list
      footer: link to the latest version of Sharesite
      Update NEWS file
      ensure that getPath always has something to return
      url encode / in paths, because it breaks preview and insert.
      template: enclose description by div, not by p
      allow restricting inserts to a certain hour of the day
      improve UI strings
      fix source selection in Makefile
      allow setting the upload time to a random hour
      FIX: adjusted just the parameter, not the attribute
      Added signature for changeset 76c0e45f2bee
      merge git tag and hg sign
      update NEWS
      add TODO for a random wait time.
      Makefile: Always run ant clean before ant dist
      get the version of the running plugin instance, not the plugin class.
      add a random wait time within the selected hour interval to mask triggering an insert in that hour
      public static final -> private static final *happy*
      Increase version to 0.4.0: We now support convenient anonymous usage
      update NEWS
      textilej: add a special case for freenet keys (thank you, you know who you are)
      file bugs to keep the feature requests from FMS
      add a template for the initial content (preparation to ease starting to write)
      show insertHour setting after the path (at the top)
      version 0.4.1
      insertHour below content field
      add default content
      update NEWS
      Added tag 0.4.1 for changeset 2a59727908b1
      Added signature for changeset 7d4d68e90ef7
      switch to Java 1.7 as source and target
      use try-with-resources to avoid resource leaks. Thanks to Bombe\!
      cleanup whitespace
      add show current utc time bug
      Show the current UTC hour next to the InsertHour field
      FIX: used wrong replacement value for current utc hour
      update to 0.4.2
      remove unused variable, thanks to Bombe
      Added tag 0.4.2 for changeset df61855bf1ad
      Added signature for changeset 7e2afe9b55ca
      ant: add a copy task to provide a Sharesite.jar for the release scripts

Freereader changes:

Alexandre Rio (3):
      Change installation process for official plugins
      Remove unnecessary detailed explanation
      Replace svnVersion number with gitVersion

Florent Daigniere (4):
      update the URL to get jaxen-1.1.1 from
      Merge branch 'master' of https://github.com/AlexandreRio/plugin-Freereader into AlexandreRio-master
      Merge branch 'AlexandreRio-master'
      Release v6

Library changes:

KingSloth (1):
      Fix NullPointerException on old or negative USK edition

RdrOfTheSt0rm (2):
      use freds logger
      adjust logging levels

Steve Dougherty (1):
      Merge remote-tracking branch 'RdrOfTheSt0rm/use-fred-logger'

myself (1):
      Merge branch 'ksloth-fix-npe' of github.com:bertm/plugin-Library

---
Arne Babenhauserheide (2):
      Update Sharesite to 0.4.4
      Update Library to v37

Arne Babenhauserheide (freenet releases) (2):
      Update default bookmark editions
      Build 1476

Bert Massop (35):
      Always keep FOAF locations sorted
      Reduce algorithmic complexity of FOAF routing
      PeerLocation: avoid autoboxing, replace list with array
      PeerLocation: avoid NullPointerException
      PeerLocation: add unit test and fix discovered bugs
      PeerLocationTest: additional paranoia
      Implement GIF87a filter
      Add support for GIF89a
      Throw user-readable exception on EOFException
      Fix missing block termination
      Add support for Netscape GIF Loop Extension
      Improve GIFFilter documentation
      Add GIFFilter error messages to l10n
      Update GIFFilter status
      Simplify condition
      Use IMAGE_SEPARATOR constant appropriately
      Actually filter GIF87a instead of just preparing for it
      Add unit test for GIFFilter
      Get rid of some asserts; clamp the values instead
      Make SSL work on Java 8+
      Extend self-signed certificate life to 10 years
      Switch to non-outdated high-security SSL crypto
      Improve SSL error messages
      Factor out magic values for SSL
      nextgens suggested to use 256-bit ECDSA instead
      Improve SparseBitmap efficiency
      Rewrite BitArray to use BitSet internally
      Use LinkedList instead of our own DoublyLinkedList
      Move LimitedEnumeration into its sole using class
      Remove unused LimitedRangeIntByteArrayMap
      Deprecate SortedIntSet, document its peculiarities and simplify
      Remove unused Timer
      Integer.hashCode() is not available on Java 7; just use the value
      Improve clarity and brevity of SortedIntSet
      Add unit test for SortedIntSet

Florent Daigniere (1):
      Display the default value as intended

drak@kaverne (2):
      fix update uri notes
      update NEWS file

xor-freenet (9):
      BookmarkItem: Remove unused constructor...
      BookmarkItem: Store the belonging BookmarkManager
      BookmarkItem: Persist "Bookmark Updated" user alerts across restarts
      BookmarkManager: Fix losing update alerts if shutting down <5 min after     them
      FProxy bookmarks: Mark updated ones with bold link
      FProxy bookmarks: Add button to dismiss update notifications
      FProxy bookmarks: After clicking the dismiss button go back to same     section of page
      Fix whitespace to adhere to Google Java Style Guide
      Remove trivially obvious comment

build01475: 2016-06-25

25 Jun 11:19
build01475
b6319ba
Compare
Choose a tag to compare

2016-06-25

Freenet 0.7.5 build 1475 is now available. It materializes several months of work (the previous release was rushed to fix frostbite) and features some major changes.
It will become mandatory on July 15th.

The following bugs have been fixed/implemented:

  • 0006745: Disk crypto: Should type password twice when setting it
  • 0006344: Change default compatibility mode to COMPAT_1466
  • 0006488: using “visit freesite” to visit a freesite with a hash (#) fails instead of opening it and jumping to the anchor.

Summary of changes:

  • fix a critical bug: prevent announcement loops
  • drop support for negtype9 (non-cummulative ack logic)
  • start to warn user that java7 is EOL
  • PluginInfoMessage: Fix wrong "does not provide FCP" info about plugins
  • Stop warning users that java9 isn't recent enough
  • Don't use FOAF if the HTL isn't high enough
  • Attempt to update update.sh
  • l10n improvements
  • cooldown improvements
  • load-limiting changes (token buckets)
  • MessageFilter improvements
  • relax the CSS parser (see #446)
  • support for HTML Audio tags
  • ask/confirm the disk-crypto password in the wizard
  • make the paste-a-key control usable on the WelcomeToadlet
  • the default compatibility mode for inserts is now COMPAT_CURRENT
  • remove the DSA related parameters from noderefs
  • Fix a major bug that might explain the poor connectivity since 1473

Thank you for using Freenet!

  • Florent Daigniere

diffstat:
.classpath | 2 +-
.settings/org.eclipse.jdt.core.prefs | 7 +-
build.properties | 2 +-
dependencies.properties | 8 +-
src/freenet/client/InsertContext.java | 3 +-
src/freenet/client/async/ClientLayerPersister.java | 7 +-
.../client/async/ClientRequestSelector.java | 27 +-
src/freenet/client/async/DatastoreChecker.java | 50 +-
src/freenet/client/async/KeyListenerTracker.java | 182 ++--
src/freenet/client/filter/CSSTokenizerFilter.java | 26 +-
src/freenet/client/filter/GIFFilter.java | 10 +-
src/freenet/client/filter/HTMLFilter.java | 59 ++
src/freenet/clients/fcp/FCPServer.java | 10 +-
src/freenet/clients/fcp/LoadPlugin.java | 5 +
src/freenet/clients/fcp/PluginInfoMessage.java | 5 +-
src/freenet/clients/fcp/ProtocolErrorMessage.java | 1 +
src/freenet/clients/http/FProxyToadlet.java | 8 +-
src/freenet/clients/http/PproxyToadlet.java | 3 +
.../clients/http/SecurityLevelsToadlet.java | 94 +-
src/freenet/clients/http/WelcomeToadlet.java | 31 +-
.../clients/http/staticfiles/defaultbookmarks.dat | 16 +-
.../http/wizardsteps/SECURITY_PHYSICAL.java | 21 +-
src/freenet/crypt/DSAPublicKey.java | 28 +-
src/freenet/crypt/ECDSA.java | 41 +-
src/freenet/crypt/EncryptingIoAdapter.java | 203 ----
src/freenet/io/comm/MessageCore.java | 6 +-
src/freenet/io/comm/MessageFilter.java | 45 +-
src/freenet/l10n/BaseL10n.java | 25 +-
src/freenet/l10n/freenet.l10n.de.properties | 3 +-
src/freenet/l10n/freenet.l10n.en.properties | 24 +-
src/freenet/l10n/freenet.l10n.es.properties | 4 +-
src/freenet/l10n/freenet.l10n.fr.properties | 4 +-
src/freenet/l10n/freenet.l10n.it.properties | 2 +-
src/freenet/l10n/freenet.l10n.nb-no.properties | 3 +-
src/freenet/l10n/freenet.l10n.nl.properties | 4 +-
src/freenet/l10n/freenet.l10n.pt-br.properties | 1 -
src/freenet/l10n/freenet.l10n.ru.properties | 2 +-
src/freenet/l10n/freenet.l10n.zh-cn.properties | 4 +-
src/freenet/l10n/freenet.l10n.zh-tw.properties | 4 +-
src/freenet/node/AnnounceSender.java | 2 +-
src/freenet/node/BasePeerNode.java | 3 -
src/freenet/node/BaseSender.java | 8 +-
src/freenet/node/DarknetPeerNode.java | 4 +-
src/freenet/node/DatabaseKey.java | 7 -
src/freenet/node/FNPPacketMangler.java | 19 +-
src/freenet/node/NPFPacket.java | 73 +-
src/freenet/node/NewPacketFormat.java | 6 +-
src/freenet/node/NewPacketFormatKeyContext.java | 3 +-
src/freenet/node/Node.java | 316 +-----
src/freenet/node/NodeClientCore.java | 1061 +++++++++++---------
src/freenet/node/NodeCrypto.java | 131 +--
src/freenet/node/NodeDispatcher.java | 24 +-
src/freenet/node/NodeStarter.java | 4 +-
src/freenet/node/NodeStats.java | 186 ++--
src/freenet/node/OpennetPeerNode.java | 4 +-
src/freenet/node/PeerManager.java | 4 +-
src/freenet/node/PeerNode.java | 17 +-
src/freenet/node/RequestStarter.java | 19 +-
src/freenet/node/RequestStarterGroup.java | 24 +-
src/freenet/node/SeedClientPeerNode.java | 2 +-
src/freenet/node/SeedServerPeerNode.java | 2 +-
src/freenet/node/fcp/AllDataMessage.java | 22 -
src/freenet/node/fcp/BaseDataCarryingMessage.java | 7 -
src/freenet/node/fcp/ClientGet.java | 132 ---
src/freenet/node/fcp/ClientPut.java | 183 ----
src/freenet/node/fcp/ClientPutBase.java | 72 --
src/freenet/node/fcp/ClientPutDir.java | 105 --
src/freenet/node/fcp/ClientRequest.java | 138 ---
src/freenet/node/fcp/CompatibilityMode.java | 59 --
src/freenet/node/fcp/DataCarryingMessage.java | 13 -
src/freenet/node/fcp/ExpectedHashes.java | 18 -
src/freenet/node/fcp/FCPClient.java | 140 ---
src/freenet/node/fcp/FCPMessage.java | 27 -
src/freenet/node/fcp/FCPPersistentRoot.java | 104 --
src/freenet/node/fcp/GetFailedMessage.java | 53 -
src/freenet/node/fcp/ProtocolErrorMessage.java | 77 --
src/freenet/node/fcp/PutFailedMessage.java | 42 -
src/freenet/node/fcp/SimpleProgressMessage.java | 52 -
src/freenet/node/fcp/package-info.java | 3 -
src/freenet/node/useralerts/JVMVersionAlert.java | 2 +-
src/freenet/pluginmanager/OfficialPlugins.java | 4 +-
src/freenet/pluginmanager/PluginManager.java | 28 +-
src/freenet/support/JVMVersion.java | 18 +-
src/freenet/support/PrioritizedTicker.java | 242 +++--
src/freenet/support/Ticker.java | 36 +
src/freenet/support/TokenBucket.java | 6 +-
src/freenet/support/TrivialTicker.java | 7 +
src/freenet/support/io/ArrayBucket.java | 4 +-
test/freenet/client/filter/CSSParserTest.java | 2 +-
test/freenet/crypt/EncryptingIoAdapterTest.java | 203 ----
test/freenet/node/NewPacketFormatTest.java | 38 +-
test/freenet/node/NodeAndClientLayerBlobTest.java | 110 ++
test/freenet/node/NodeAndClientLayerTest.java | 85 ++
test/freenet/node/NodeAndClientLayerTestBase.java | 40 +
test/freenet/node/NullBasePeerNode.java | 5 -
test/freenet/store/SlashdotStoreTest.java | 12 +-
test/freenet/support/CheatingTicker.java | 6 +
test/freenet/support/JVMVersionTest.java | 19 +-
test/freenet/support/PrioritizedTickerTest.java | 270 ++++-
test/freenet/support/SpeedyTicker.java | 25 +
100 files changed, 1981 insertions(+), 3327 deletions(-)

Git shortlog:
Arne Babenhauserheide (1):
audio-tag: add ?type=audio/mpeg to src-uris

Bert Massop (8):
Fix MessageFilter cleanup delay time
Replace traversal-only LinkedList and HashMap by ArrayList
Reduce frequency of MessageFilter cleanup job
Cleanup KeyListenerTracker
Fix a corner case in BloomFilter length
NodeStats: reduce code duplication in request location tracking
Fix parsing of Java versions >= 9 (JEP-223)
Force stripping ECDSA signature padding: BC 1.54 has retarded checks

Florent Daigniere (86):
Remove the DSA params from the noderefs
Merge branch 'localise-fde-hyperlink' of https://github.com/toad/fred-staging into toad-localise-fde-hyperlink
Merge branch 'toad-localise-fde-hyperlink' into next
Merge branch 'fix-db4o-source-path' of https://github.com/xor-freenet/fred-staging into xor-freenet-fix-db4o-source-path
Merge branch 'xor-freenet-fix-db4o-source-path' into next
Merge branch 'fix-eclipse-java-version' of https://github.com/xor-freenet/fred-staging into xor-freenet-fix-eclipse-java-version
Merge branch 'xor-freenet-fix-eclipse-java-version' into next
Merge branch 'PR500-fixup' of https://github.com/xor-freenet/fred-staging into xor-freenet-PR500-fixup
Merge branch 'xor-freenet-PR500-fixup' into next
Merge branch 'plugins-disable' of https://github.com/toad/fred-staging into toad-plugins-disable
fix indent
Merge branch 'toad-plugins-disable' into next
Merge branch 'lazy-start-datastore-checker' of https://github.com/toad/fred-staging into toad-lazy-start-datastore-checker
fix indent
Merge branch 'toad-lazy-start-datastore-checker' into next
Merge branch 'cooldown-fixes' of https://github.com/toad/fred-staging into toad-cooldown-fixes
fix indent
Merge branch 'toad-cooldown-fixes' into next
Merge branch 'remove-load-limiting-high-level-token-buckets' of https://github.com/toad/fred-staging into toad-remove-load-limiting-high-level-token-buckets
code style
Merge branch 'toad-remove-load-limiting-high-level-token-buckets' into next
Merge branch 'simple-messagefilter-fixes' of https://github.com/bertm/fred-staging into ber...

Read more

build01474: 2016-06-05

05 Jun 15:20
build01474
ced0ba2
Compare
Choose a tag to compare

Freenet 0.7.5 build 1474 is now available. This is an emergency bugfix release, hence I am releasing it rather than Steve while he is incapacitated. It fixes some important bugs, one of which is involved in the current attacks on Frost and Sone.

Summary of changes:

  • Fix the Frostbite bug: if the node downloads a malicious key, this would cause the whole client layer to break. This is currently being actively used to attack Frost and Sone.
  • Automatically upgrade nodes to use the minimum bandwidth limit if necessary. Some nodes were unable to start up because their bandwidth limit was too low. Apologies to anyone affected by this. Also, improve the logic that sets the per-second bandwidth limits from a monthly setting. Obviously, you should be very careful if using Freenet on a connection with a monthly transfer limit.
  • Minor security improvements to the web interface.

If your node is unable to update because of the Frostbite bug, please turn off the affected applications (unload the Web of Trust and Sone plugins and shut down Frost), and then restart the node. It should pick up the update within a few hours. If it still doesn't work, the update.cmd or update.sh scripts may fix the problem, but they will access our website in a traceable manner.

Thank you for using Freenet!

  • Matthew Toseland

Git shortlog:

Bert Massop (4):
BloomFilter: additional sanity checking of length and hash count
Add more splitfile sanity checks
Make KeyListenerTracker more resilient
Fix a corner case in BloomFilter length

Florent Daigniere (7):
Set rel='noreferrer noopener' where appropriate
Merge branch 'do-not-die-on-too-low-bandwidth' of https://github.com/ArneBab/fred-staging-1 into ArneBab-do-not-die-on-too-low-bandwidth
Merge branch 'ArneBab-do-not-die-on-too-low-bandwidth' into next
Merge branch 'frostbite-hotfix' of https://github.com/bertm/fred-staging into bertm-frostbite-hotfix
Merge branch 'bertm-frostbite-hotfix' into next
Merge branch 'avoid-claiming-magic' of https://github.com/Thynix/fred-staging into Thynix-avoid-claiming-magic
Merge branch 'Thynix-avoid-claiming-magic' into next

Matthew Toseland (1):
Build 1474, mandatory in a week but crucial bugfixes

Steve Dougherty (3):
Merge remote-tracking branch 'ArneBab/do-not-die-on-too-low-bandwidth' into next
Merge remote-tracking branch 'nextgens/use-noreferrer' into next
l10n: avoid suggesting tracing is impossible

drak@kaverne (5):
FIX: on too low bandwidth, use min bandwidth
node init: log increase of bandwidth to minimum
fixed bandwidth selection per month
whitespace (tabify)
use asymptoticDlFraction + fix whitespace

build01473: 2016-05-21

22 May 12:50
build01473
3e4b67f
Compare
Choose a tag to compare
Freenet 0.7.5 build 1473 is now available. This is the first build to require
Java 7! It upgrades Bouncy Castle to version 1.54, and adds a Traditional
Chinese translation to the Windows installer.

Plugin updates:

* Add Sharesite - a fork of ShareWiki - as an official plugin. Thanks to
  ArneBab for getting it ready! It includes an earlier version of TextileJ to
  avoid license problems, and adds syntax help, external activelink support, and
  a template with div IDs for easier CSS.
* Update Freereader with the ability to configure the site title and subtitle,
  and fix the translation support.

User-facing core change highlights:

* Improve MP3 filtering.
* Add The Filtered Index to the default bookmark list.
* Fix handling of filenames with non-ASCII spaces.
* Alphabetize language configuration dropdown.
* Add Hungarian translation support. The translation was added previously but not
  actually available.
* Fix dropping low-traffic connections. This helps with simulations.
* Optimize FProxy CSS load order, and fix bugs which prevented caching static
  assets. This improves web interface responsiveness.

Thank you for using Freenet!

- Steve Dougherty

Developer changelog:

2016-05-21

This is the first build to require Java 7! It upgrades Bouncy Castle to version
1.54, and adds a Traditional Chinese translation to the Windows installer.

Plugin updates:

* Add Sharesite - a fork of ShareWiki - as an official plugin. Thanks to
  ArneBab for getting it ready! It includes an earlier version of TextileJ to
  avoid license problems, and adds syntax help, external activelink support, and
  a template with div IDs for easier CSS.
* Update Freereader with the ability to configure the site title and subtitle,
  and fix the translation support.

Core change highlights:

* Improve MP3 filtering.
* Reduce test memory usage.
* Fix opennet announcements not having location set.
* Fix binary blob download over FCP.
* Add The Filtered Index to the default bookmark list.
* Wait for running transfers on RouteNotFound.
* Mark Freenet traffic with QoS.
* Fix handling of filenames with non-ASCII spaces.
* Alphabetize language configuration dropdown.
* Remove NativeBigInteger. This reduces custom code.
* Use BouncyCastle's DSA implementation. This improves security and reduces
  custom code.
* Add Hungarian translation support. The translation was added previously but not
  actually available.
* Add random delay to opennet ACKs to improve security.
* When converting USK to SSK change negative suggested edition to positive. This
  should help avoid issues when using USKs with suggested search editions.
* Discard unwanted submessages from swap replies. This improves security.
* Fix dropping low-traffic connections. This helps with simulations.
* Optimize FProxy CSS load order, and fix bugs which prevented caching static
  assets. This improves web interface responsiveness.

Changes since Freereader version 4:
---
Alexandre Rio (4):
      Add l10n files to the final jar
      Clean readme files and format them to markdown
      Ignore meta files and build folders
      Create ToadletContainer with l10n key instead of value

Matthew Toseland (2):
      Fix build
      Fix build.

aleph (3):
      Add missing :
      remove space
      Excessive l10n

drak@kaverne (4):
      add option to use override.properties.
      use the basename as title of the inserted page.
      indent with tabs (as in the surrounding code).
      make site title and subtitle configurable. Includes some code duplication to avoid db4o problems.

hernic (1):
      Update build.xml

nicolas hernandez (7):
      Fix deprecation
      Add UTF-8 marker
      Reorganize imports (some old not valid imports)
      Update build.xml
      Add l10n mechanism for internationalization
      First local file
      Update build.xml

Changes since Fred build 1472:
---
Bert Massop (21):
      Fix parsing of sampling frequency
      Fix parsing of emphasis
      Fix parsing of padding bit
      Always consider an invalid header a frame sequence interruption
      Explicitly skip entire ID3v1 and ID3v2 tags
      Add unit tests for MP3Filter
      Fix MPEG version >1 layer III frame size calculation
      Cleanup MP3Filter a bit
      Remove redundant braces
      Replace octal notation with decimal
      Always URL-encode non-ASCII space characters
      Add testcase for URI-safe URL-encoding
      Reduce memory usage of SplitFileInserterStorageTest
      Rename misleading "Filename" column in upload queue
      Simplify buttons and behaviour for QueueToadlet
      Rephrase "In Progress:" queued requests to be "Running"
      Rename "Wrapper" settings to "Java settings"
      Make seednodes.fref parsing more robust
      Clarify comment in seednodes reader
      Store updated seednodes.fref in nodeDir, not userDir
      Fix uncompleted uploads being treated as failed in queue

Daniel Roberts (2):
      Fix peer node network traffic statistics
      Make the traffic-at-startup counters final

David ‘Bombe’ Roden (3):
      Make the first-time wizard configurable
      Remove direct calls to SubConfig constructor
      Hide “remove from cache” checkbox for plugins loaded from disk

Eleriseth (3):
      FreenetURI.sskForUSK: negate negative suggestedEdition
      HMACTest: fix benchmark code
      HMACTest: benchmark various sizes

Florent Daigniere (55):
      Upgrade to BouncyCastle 1.54
      Make deterministic ECDSA signatures (RFC6979)
      Make DSA signatures deterministic too
      Comment the DSA code, fix a busy loop
      HMAC: replace our implementation by the JCA's
      Configure travis to test with java8 instead of java6
      Add a lousy benchmark to show that it's not slower
      Ensure that we always get 32bytes worth of DSA privkey
      Fix an obvious side-channel in the legacy DSA code
      Revert "Fix an obvious side-channel in the legacy DSA code"
      Target java7
      Update the eclipse build file to use BC1.54
      Tell users to download BC from their website
      Mark all FNP traffic with Diffserv AF13
      Make it configurable
      Add a period to the l10n string
      Use IPTOS_THROUGHPUT instead of AF13
      Fix inconsistent braces
      Spaces before language constructs
      Throw an IllegalArgumentException instead of reverting back to default
      Plugins might require java1.8
      Use SoftReferences for the SHA256 pool
      SHA256: let the JVM decide how big the pool should be
      remove dead code
      Bertm is right, Sun java is no more
      I've missed these two with my regexp
      Use a Queue and make it lockless (thanks bertm)
      A better version of the same thing
      formatting
      Add a new test to catch a crypto-bug happening on next
      It turns out that we need truncated HMACs
      hmacLength is a variable that has no reason to exist
      Add more codepoints as defined by RFC1349
      bertm is right, this is not fatal
      berm made a fair point, we should force the restart
      Fix logging on DarknetPeerNode
      We need to write to the peer-file when we add a darknet peer; duh!
      Ensure that we always write the peer file when we add a peer
      Add showoutput=yes to junit parameters
      More debugging in junit parameters; disable forking
      doh
      Add a new formatter to try to catch the exception; ensure that we don't paralellize; allocate more memory for each test
      Add junit3 to build-deps
      revert last commit, remove threads=1 for junit (not supported in ant 1.8)
      remove threads=1 for junit (not supported in ant 1.8)
      delegate the DSA magic to bouncycastle; this hasn't been tested
      always try both with and without the signature mask
      get rid of NativeBigIntegers
      explain the hash truncation
      doh
      update comments about truncation
      meh. Travis' wget is broken
      ensure that we always return the MD
      The old logic reverses the boolean, I guess we should keep it that way
      Simplify and comment the hash truncation logic

Matthew Toseland (17):
      Recreate message, as required
      Fix keepalives
      Pass in now
      Optimise
      Fix race condition in MultiMessageCallback
      Random delay for opennet ack when not path folding (locally)
      Reduce to 3 pings/blocks
      Use ping or bwlimit, whichever is larger.
      Logging
      Argh (logging)
      Use real-time bulk transfer time
      But add the ping time to the delay time, as both matter
      Add javadocs to MultiMessageCallback
      Assertion: Can't make() after arm()
      Give a code example in javadocs
      Better overall explanation
      Fix code sample

Sadao (1):
      fcp: fix zero-length binary blob download

Steve Dougherty (21):
      DatabaseKey: simplify return condition
      HMAC_legacy: remove trailing whitespace
      README: add Travis build status
      crypt/DSA: fix specifying extra argument
      fcp: fix ReturnType.DIRECT NPE
      README.md: add Coverity status badge
      Remove newly added trailing whitespace
      BaseL10n: fix spelling of "ensure"
      DSAGroup: fix mixed tabs and spaces
      RequestSender: fix whitespace
      RequestSender: rework value clamping
      Add Sharesite as an official plugin
      CONTRIBUTING: fix style guide link
      l10n: add Sharesite plugin name
      Update translations
      Remove outdated translation strings
      Update Freereader to version 5
      Revert "test: fix resource path on Java 6"
      Fix indentation
      Update default bookmark editions
      Build 1473

drak@kaverne (19):
      http: expiry time 1 day from now, not one day from mod
      static files: implement cacheControl inspired by the commit from bertm
      css themes: add missing /static/information.png and alert.png
      css: turn base into a pure interface and import the sub-files directly in the theme
      css: Do not import base.css in the static themes
      update NEWS file
      http: cache-control, remove ETag
      update NEWS file
      documentation: 2MB manifest means 62 CHK redirects
      default config: min filesize for complaining is 50MiB
      default config: minimum bandwidth 10 KiB
      readme: start cleanup (i.e. stop calling 0.7 new)
      readme: capitalize titles (instead of uppercase) and remove 0.5 section
      Rename security to Usage and shorten it
      chat page: use negative usk numbers
      chat: set Sone minimal version to 72.
      bookmarks: add the filtered index and improve Nerdageddon entry
      add missing staticfile images for themes
      add more missing staticfile images for themes

xor-freenet (3):
      FProxy configuration: Sort language dropdown alphabetically
      BaseL10n: Remove useless cast
      BaseL10n: Add support for Hungarian translations

yadevel (3):
      Add missing assignment for Opennet announce location
      Avoid claiming of unrejected messages by NodeDispatcher
      wait for running transfers before processing RNF

build01472: 2016-03-19

19 Mar 19:25
build01472
Compare
Choose a tag to compare
Freenet 0.7.5 build 1472 is now available.

This is the last build to support Java 6! The next build will require
Java 7 or higher. Nodes running Java 7 or higher and using the official
update key will now use a new update key. Nodes on Java 6 remain using
the old update key and will not be updated to further builds. Thanks to
yadevel for fixing the regression this release was blocking on!

This version was initially partially released as build 1471 - it was
released to the website but not auto-update. Build 1472 fixes a bug
which when using Java 6 prevented nodes from starting for the first
time. It did not break existing installations.

Highlights:

- Fix uploads stalling when using MAXIMUM physical security.
- Fix lots of "setNativePriority(X) has failed!", which was caused by a
  serious thread priority problem. This might fix nodes unexpectedly
  losing peers.
- Order alerts within a category by time: if you have lots of messages
  from darknet peers they will remain nicely sorted.

Translations:

- Add partial Greek translation.
- Update German, Bokmål, Brazilian Portuguese, Simplified Chinese, and
  Traditional Chinese translations.
- Fix Bokmål localization loading.

Also:

- Remove Gantros Index because it stopped updating.
- Remove Linkageddon because it stopped updating.
- New version of UPnP to fix some instability and compatibility
  problems. Thanks to 007pig we have a new UPnP plugin in development
  which supports UPnP2, but it is not yet included. [2]
- New version of KeyUtils.

WebOfTrust now has an updatable testing version built and maintained by
xor. To use it, unload WebOfTrust, then load "WebOfTrust Testing
Versions" on the Plugins page. Versions built by xor will not work with
Java 6.

Sites can set favicons with <link ref="icon" type=... href=...>. (type
could be "image/x-icon")

Extensive review and improvement of English source strings and French
and Spanish translations. Tests for and fixes of value substitution in
translations. Thanks Vaughan Woodzell!

The default theme is now sky-static instead of clean-dropdown. This
looks less outdated, though not modern.

There is now a caching layer on the store. This should significantly
reduce I/O load. [0]

Fix default bookmarks missing the "software" category since build 1470.
If you don't see this category please re-add the default bookmark set
from the bookmark editing page.

IpToCountry database is updated. (This allows providing the country
flags on the peers pages. It is local to each instance and does not
contact an external service.)

WebOfTrust is updated to build 18. Its changelog is separate, [1] but
one of the major changes is incremental score recomputation which
requires roughly 3% of the time of a full recomputation.

Add partial CSS3 support, including viewport lengths. Thanks, Ben
Green!

[0] https://github.com/freenet/fred/pull/157
[1] USK@QeTBVWTwBldfI-lrF~xf0nqFVDdQoSUghT~PvhyJ1NE,OjEywGD063La2H-IihD7iYtZm3rC0BP6UTvvwyF5Zh4,AQACAAE/flog/27/Content-617C8FC.html
[2] https://github.com/freenet/plugin-UPnP2
[enumerate user-facing changes]

Thank you for using Freenet!

- Steve Dougherty

Developer changelog:

2016-03-19

Changes in 1472:

This is the last build to support Java 6! The next build will require
Java 7 or higher. Nodes running Java 7 or higher and using the official
update key will now use a new update key. Nodes on Java 6 remain using
the old update key and will not be updated to further builds. Thanks to
yadevel for fixing the regression this release was blocking on!

This version was initially partially released as build 1471 - it was
released to the website but not auto-update. Build 1472 fixes a bug
which when using Java 6 prevented nodes from starting for the first
time. It did not break existing installations.

Highlights:

- Fix uploads stalling when using MAXIMUM physical security.
- Fix lots of "setNativePriority(X) has failed!", which was caused by a
  serious thread priority problem. This might fix nodes unexpectedly
  losing peers.
- Order alerts within a category by time: if you have lots of messages
  from darknet peers they will remain nicely sorted.

Translations:

- Add partial Greek translation.
- Update German, Bokmål, Brazilian Portuguese, Simplified Chinese, and
  Traditional Chinese translations.
- Fix Bokmål localization loading.

Also:

- Remove Gantros Index because it stopped updating.
- Remove Linkageddon because it stopped updating.
- Tighten security by removing old deprecated DSA-based crypto and
  compatibility, and always include identity= in opennet noderefs.
- Fix JVM version string parsing.
- Fix and add test for broken localization substitution token pairs.
- Due to node reference changes packets for setting up connections to
  opennet seednodes are now larger. If you set Freenet's MTU lower than
  its default (1280 bytes) this may prevent you from connecting to seed
  nodes. If you experience this, please raise the MTU.
- New version of UPnP to fix some instability and compatibility
  problems. Thanks to 007pig we have a new UPnP plugin in development
  which supports UPnP2, but it is not yet included. [2]
- New version of KeyUtils.

WebOfTrust now has an updatable testing version built and maintained by
xor. To use it, unload WebOfTrust, then load "WebOfTrust Testing
Versions" on the Plugins page. Versions built by xor will not work with
Java 6.

Sites can set favicons with <link ref="icon" type=... href=...>. (type
could be "image/x-icon")

Extensive review and improvement of English source strings and French
and Spanish translations. Tests for and fixes of value substitution in
translations. Thanks Vaughan Woodzell!

The default theme is now sky-static instead of clean-dropdown. This
looks less outdated, though not modern.

There is now a caching layer on the store. This should significantly
reduce I/O load. [0]

Fix default bookmarks missing the "software" category since build 1470.
If you don't see this category please re-add the default bookmark set
from the bookmark editing page.

Fix problems caused by bookmarks without a name. Adding bookmarks
without a name is not allowed, and loaded bookmarks without a name will
be renamed (otherwise they would prevent modifying any bookmarks).
Thanks to _xiaoyu for the report!

IpToCountry database is updated. (This allows providing the country
flags on the peers pages. It is local to each instance and does not
contact an external service.)

WebOfTrust is updated to build 18. Its changelog is separate, [1] but
one of the major changes is incremental score recomputation which
requires roughly 3% of the time of a full recomputation.

Add partial CSS3 support, including viewport lengths. Thanks, Ben
Green! See the merge commit - 143cb856f5dc8aee7457eb027fac11c34d18bd2c
- for details.

FCP: Add Identifier to all messages sent by ListPersistentRequests.

Note to plugin authors: we removed KeyListenerConstructionException
because it was never thrown. Plugins that handled it will need to be
updated. This is (largely) why KeyUtils updated.

- Only update essential plugins if we have to. This should avoid
  connectivity problems for installs for which plugins are necessary to
  connect.
- Show peer locations, not distance in peer location histogram on the
  statistics page in advanced mode.

[0] https://github.com/freenet/fred/pull/157
[1] USK@QeTBVWTwBldfI-lrF~xf0nqFVDdQoSUghT~PvhyJ1NE,OjEywGD063La2H-IihD7iYtZm3rC0BP6UTvvwyF5Zh4,AQACAAE/flog/27/Content-617C8FC.html
[2] https://github.com/freenet/plugin-UPnP2

KeyUtils v5026:
---

Bert Massop (1):
      Remove references to removed KeyListenerConstructionException

Steve Dougherty (1):
      Version 5026

saces (1):
      show fpi and gh bugtracker

UPnP 10007:
---

Bert Massop (5):
      Fix NPE when binding SSDP socket does not succeed.
      Fix NPE when a service provider fails to list its services
      Language: use UPnP instead of UP&P
      Fix NPE when no ports have been forwarded
      Fix connection reset on case sensitive Host HTTP header name

Juiceman (2):
      Reformat codebase using Jindent tool
      Remove extra spaces

Steve Dougherty (2):
      Add readme
      10007: improve stability

Changes from 1470:
---

Ben Green (8):
      Altered test to reflect the correct values for box-sizing.
      Added CSS Defaulting Keywords to Filter, no need to explicitly define: initial, inherit and unset for all CSS properties as the standard says they are valid for all.
      CSS Properties: inherit, initial and unset are valid for all elements,     they are so-called CSS Defaulting Keywords. As such I have made the     CSSPropertyVerifier will always accept them if they are the only     property. All inherit keywords also removed from the arrays where     they were present in CSSTokenizerFilter.
      Renamed function to better describe how it works.
      Added some comments, corrected a typo and made a slight optimisation
      Added support for more attributes related to CSS3: UI and Flexbox.     nav-* attributes require a valid selector which can be matched by     HTMLelementVerifier, made HTMLelementVerifier static so it can be     used in CSSPropertyVerifier to verify an se type (isSelector) for     nav-down, nav-left, nav-right and nav-up.
      Added support for attribute box-suppress to complete support for CSS3 Display
      Fixed Generic ArrayList Constructor for Java 6 compatibility. Changed line endings and allowed numbers to look like this: "1.em"

Benjamin Green (6):
      Added additional units to isLength() method. In CSS3 they are variable length 1-4 chars.
      Added box-sizing CSS3 property to filter.
      Added CSS3 flex attributes and values to the filter.     Added tests for the above.
      Style updates (K&R Style ifs). Commented code removed (sorry).     Also: Changed "lengthValue = value.substring(0, value.length());"     to "lengthValue = value;" strings are immutable.
      Style changes again: Missed an if in the previous commit.
      Made a mistake in the acceptable values for box-sizing attribute.

Bert Massop (5):
      Simplify RGA removeRandomExhaustiveSearch wakeupTime conditions
      HTMLFilter: fix processing of reset input element
      Show peer locations, not distance in peer location histogram
      Fix JVM version comparison for version >1.9 and build >99
      Reduce memory usage of SplitFileInserterStorageTest

David ‘Bombe’ Roden (15):
      Fix potential resource leak
      Allow icons in <link> tags
      Add method to wrap message with list request identifier
      Add list request identifier to end list message
      Send list request identifier with all replies to a list request
      Make field “Identifier” optional for ListPersistentRequestsMessage
      Don’t create new message if no identifier needs to be added
      Remove check for impossible condition
      Copy hashcode correctly
      Use common base class for input and output streams
      Remove useless exception rethrows
      Remove exception that was never thrown
      Fix wrapped FCP message
      Override list request identifier
      Fix wrapping a null FCP message

Florent Daigniere (51):
      How much do we bet?
      assertTrue(false); => fail();
      Revert "Slightly safer locking". It's not.
      Fix CID-122355: Resource leak in Metadata.java
      Fix CID-74397: Indefinite wait in RealCompressor
      Fix CID-122317: Indefinite wait in FCPConnectionOutputHandler
      RealCompressor: previous commit was wrong; better fix to land next release
      Simplify RealCompressor
      bug6591: improve compression algorithm choice
      get rid of useless variable
      Junit4 is already added 3 lines below
      upgrade to BC 1.52
      UPnP: require v10006 after purge-db4o
      USKRetriever: remove superfluous logging
      Improve RealCompressor
      bug6600: minimumVersion for connection essential plugins
      bug4490: Recommended version support in official plugins
      Be smarter about the maximum heap size on 32bit systems
      turns out that sun.arch.data.model might not exist
      toad is right: this isn't what we want
      toad thinks that this is superfluous
      Thanks for the code review toad!
      remove migration code from 2011
      remove useless import (thanks bombe)
      Fix bug #6623 : Wrapper.log: Lots of "setNativePriority(X) has failed!"
      Deprecate old variables; One should use the enum
      Document NativeThread.dontCheckRenice
      Only update essential plugins if we have to
      Actively prevent newer plugins from being deployed
      Remove DiffieHellman related code (pre-neg9)
      Remove DSA and compat code from PeerNode*
      Stop sending a DSA signature
      Use P256 pubkey as identity
      Don't re-use a MD returned to the pool!
      Remove more dead-code
      Major modification of DSA keys in references
      Always send/parse the identity line on opennet
      Remove more dead code
      Implement the workaround suggested by toad
      Second part of the workaround
      Setup CI at https://travis-ci.org/freenet/fred/
      Integer.compare() is java7 ... thanks @Bombe for spotting it
      try the container-based infrastructure
      Critical bugfix following #440
      Remove dead code (DHGroup)
      Remove some more pre-negtyp9 code
      Remove more deadcode as suggested by IDEA
      Improve locking for nonce-handling
      Fix logging on DarknetPeerNode
      We need to write to the peer-file when we add a darknet peer; duh!
      Ensure that we always write the peer file when we add a peer

Lucas Phillips (1):
      change recommendation of Truecrypt to Wikipedia's list of FDE software

Matthew Toseland (115):
      Use synchronized(this) for size etc (no need for a read/write lock here), check for size in pushAll loop without having to lock again.
      We need to synchronize when accessing startJob, *NOT* when calling pushAllCachingStores.
      Document a bit.
      Do not change startJob in the "too full" case.
      Rename and clarify queuedJob
      runningJob prevents us from running pushAllCachingStores twice at once. queuedJob prevents us from queueing two or more jobs to write everything in the future.
      Better for unit testing.
      Doh!
      Trivial tidyup of code.
      Paranoia.
      Clarify
      Increase number of keys to write before rotating, add FIXME.
      Don't queue job twice if over the limit, reduce code duplication.
      FIXME
      Use return value of -1 to indicate empty, and document.
      Make isEmpty() package local so we can use it for unit tests but not other stuff.
      Move CachingFreenetStore* to src/freenet/store/caching/
      Move CachingFreenetStoreTest too
      Doh, fix accidental change of comparison, broke caching (would always not cache).
      Factor out getTotalBlockSize() to StoreCallback
      Add testCollisionsOverMaximumSize
      Add SleepingFreenetStore, useful for a test.
      Test all the possibilities for pushLeastRecentlyBlock, *including the tricky one where it returns 0*.
      Increase the delay. Maybe this will make Jenkins happy. It works here even with 200ms.
      Try a different executor.
      Don't use Future, it appears to confuse Jenkins. :(
      Longer delay, again for Jenkins.
      Javadocs.
      Clarify
      Create ProxyFreenetStore, base class for CachingFS, SleepingFS etc.
      Implement WriteBlockableFreenetStore, use it to make test both faster and more reliable. SleepingFS is a really dirty hack, deprecate it.
      Add waitForSomeBlocked(), wait until a write is actually blocked before starting another one.
      Use Lock/Condition. Overkill, but not necessarily any uglier.
      Use Future, now that the problem is solved.
      block cannot be null here, thanks findbugs.
      Always close the InputStream
      Slightly safer locking
      Reduce priority for updater inserts except in most critical cases.
      Be much, much less aggressive about inserting the main jar blob.
      Fix RGA.wakeupTime never getting set.
      Fix
      Delete unused code.
      Tidy up
      Javadocs.
      Document
      Add isOpennetForNoderef(), cleanup.
      Remove some opennet-specific code from PeerNode.
      Factor out writePeers()
      Factor out writePeers(), don't write darknet peers for seeds
      Move fromAnonymousInitiator to a method too.
      Remove PeerManager argument too.
      Get rid of OutgoingPacketMangler argument too.
      Don't set mustCheckpoint if not checkpointing
      Check for checkpointing in lock() too.
      Wake up lock()'ers and clear flag (bug 6612)
      Improve logging
      Logging
      Logging
      Add test for disabling checkpointing (bug #5512)
      Purge LocationUIDPair.
      Cleanly handle dropping too old peers, tell the user.
      Prevent logging code from breaking startup
      Add missing file, sorry!
      Re-check the stores list periodically
      Re-check the stores list periodically
      Cleanup: Factor out pushOffThread*
      Only queue one job in the >90% case.
      Move variable declaration inside look (Bombe)
      Use spaces not tabs on changed lines
      Replace spinning wait in test with proper wait
      Rename variables isSelector -> isIDSelector
      Only allow ID selectors.
      Fix test: Class selector no longer allowed in nav-*
      Explain issues here
      Improve cursor handling (2 coordinates or none)
      Do not accept empty for && expressions (+explain)
      align-items doesn't accept content-distribution
      Fix justify-items and add tests
      Fix leaking a message when rejecting because not routable
      Comments: Explain what identity is for nowadays
      Don't reuse key material (depends on #440)
      Fix comment
      Remove outdated comments.
      Indent.
      Remove unused variables
      Simplify and rename method
      Match by pubkey hash, not obfuscation key
      Match by pubkey not identity (fixes opennt bug)
      Remove now unused getIdentity()
      Remove unused code
      Remove more unused obsolete code
      Remove out of date comment
      Remove unused method
      Factor out dropped peers UI into a useralert
      Rename l10n strings
      Fix l10n string typo
      Fix nondeterminism
      Remove more non-determinism
      Need slot filters for SSK tests
      Need a real delay
      Fix NPE on creating a new node, argh!
      Indent.
      Fix regression in refactoring (someBroken)
      Log after saving the .broken file
      Send the new format UOMAnnouncement message for legacy
      Get rid of all the special treatment of freenet-ext.jar
      Get rid of old UOMAnnounce message
      Send the legacy jar if necessary in UOM
      Remove some more old-UOM cruft
      Fix the UOM URI as well :(
      Argh, fix normal UOM case (no transition)!
      Broadcast only to appropriately versioned nodes
      Send the correct announcement on connect too
      Send UOMAnnouncement only after we know the other side's version
      Delete bogus/outdated check which breaks transition UOM

Pascal666 (2):
      Fix improper indenting & logging bug caused by it
      Add instructions for installing dependencies on CentOS

Simon Vocella (30):
      improving locking in pushAll
      add testOverMaximumSize in CachingFreenetStore that test the case when we are going over maximum size
      change in textOverMaximumSize in CachingFreenetStore: SaltedHashFreenetStore is lossy, since it only has 5 possible places to put each key, so change howManyBlocks in howManyBlocks*5
      CachingFreenetStore: use LRUMap instead of two Treemap and change the logic in pushAll
      add CachingFreenetStoreTracker that It's a single counter, a single flush job that gets called when it's full
      add CachingFreenetStoreTracker in Node
      add CachingFreenetStoreTracker in CachingFreenetStore and change some methods
      fix tests in CachingFreenetStoreTest
      CachingFreenetStoreTracker: add unregisterCachingFS, lock in register/unregister and take snapshot in pushAllCachingStores
      CachingFreenetStore: add unregisterCachingFS in close and add registerCachingFS in start
      CachingStore: setUserAlertManager set the property in the *underlying* store
      CachingFreenetStore: now pushAll return the number of bytes that it pushed down to the *underlying* store
      CachingFreenetStoreTracker: fix in pushAllCachingStores and unregisterCachingFS, improvements and fixing in add
      CachingFreenetStoreTest: add one check in testOnCloseSSK and testTimeExpireSSK and waiting the flushing of the cache in testOverMaximumSize
      CachingFreenetStoreTracker: use toArray(new CachingFreenetStore[cachingStores.size()]) to avoid casting from Object, delete pushAllCachingStores call direclty in add
      CachingStore: change pushAll in pushLeastRecentlyBlock
      CachingFreenetStoreTracker: do while{} in unregisterCachingFS and pushAllCachingStores
      CachingFreenetStoreTest: check where is the block in testOnCollisions
      CachingFreenetStoreTest: delete two useless lines
      CachingFreenetStore: add size to avoid useless cycles in CachingFreenetStoreTracker
      CachingFreenetStoreTracker: now use the size of CachingFreenetStore
      delete useless size in CachingFreenetStore and use isEmpty
      use isEmpty instead of getSize in CachingFreenetStoreTracker and push a limited number of keys instead of one push in add
      CachingFreenetStoreTracker: add "|| maxSize == 0" in the assert in add() function because if maxSize == 0 we have a queuedJob = false
      use a "final int sizeBlock;" set at construction, instead of getSizeBlock() in CachingFreenetStore
      CachingFreenetStore: peekKey() can change, if a block is re-added due to a collision (with overwrite=true). So push* needs to keep the key for the block it's just written, check that the blocks are equals(), check the return value from removeKey(), and THEN add the bytes to the counter.
      CachingFreenetStoreTracker: add() have a lower threshold, say 90% of maxSize, when it will start a write job, but still accept the data.
      CachingFreenetStore: If backDatastore.put() throws, we should probably still remove the key. We don't want to keep looping forever. This is especially important for KeyCollisionException.
      CachingFreenetStore: always remove the key, even if we get IOException and check if the last version of the block are equals to the block pushed. it might have changed if there was a put() with overwrite=true. If it has changed, return 0, i.e. don't remove it
      CachingFreenetStore: error in equals, correct

Steve Dougherty (54):
      Close output stream
      Update Spanish, French, and Brazilian Portuguese translation
      Refine English strings
      MessageAuthCode: fix JVM-version-dependent test failure
      Fix Norwegian Bokmål path and configuration
      themes: avoid styling headers as normal text
      l10n: remove unused strings
      l10n: polish phrasing and fix typos
      l10n: fix spelling of "compromised"
      l10n: reduce configuration description aggression
      l10n: polish phrasing and fix typos
      Convert NEWS to Markdown
      NEWS: remove 1468 tray download mention
      Fix spelling of "infeasible"
      CONTRIBUTING: document adding news entries
      l10n: remove unused string
      l10n: replace "meta-string" with "path component"
      l10n: remove duplication; fix phrasing in SSL options
      l10n: avoid duplication; fix phrasing
      l10n: polish phrasing
      l10n: fix mailing list address
      l10n: clarify progress page purpose
      Move Gantros' index to top bookmark
      BookmarkEditor: reduce code duplication
      BookmarkEditor: disallow empty bookmark names
      Parse empty bookmark name as "Unnamed Bookmark"
      Add bookmark name NEWS entry
      default bookmarks: move Enzo's Index to the top
      Update WebOfTrust to build 18
      Update translations
      Remove untranslated strings
      Update Freemail to v0.2.7.2
      Update FlogHelper to v35
      Update KeyUtils to v5025
      BaseL10n: fix Bokmål slug
      reformat canAutoconfigureDatastoreSize()
      fix loss of precision
      Update translations
      test: fix resource path on Java 6
      l10n: remove unused somePeersDisconnectedBlockedTooLong
      remove 1421-specific legacy updater
      DroppedOldPeersUserAlert: fix ".broken" suffix duplication
      Update UPnP to 10007
      Update KeyUtils to v5026
      l10n: add Greek translation
      Update translations
      l10n: fix token mismatch in Traditional Chinese
      updater: change old update key to new for Java 7+
      fix offering legacy jar UOM using the stable key
      Update default bookmark editions
      Build 1471
      NodeUpdateManager: fix using SSK on Java 6
      update TRANSITION_BUILD for build delay
      Build 1472

Vaughan Woodzell (16):
      Add unit tests for BaseL10n
      Refactor a little to combine calls to addL10nSubstitutionInner()
      Avoid returning partially-populated node on l10n error
      Always clone node before adding in addL10nSubstitutionInner()
      Remove unused key parameter from addL10nSubstitutionInner()
      Use fallback string on error in addL10nSubstitutionInner()
      Add test for invalid l10n strings
      Fix broken l10n substitution variables
      Return key from addL10nSubstitution() if fallback fails
      Pass l10n parse exception into Logger.error()
      Separate BaseL10n.getFallbackString() from getDefaultString()
      Separate l10n fallback logic from value handling
      Move exception handling out of BaseL10n.tryGetL10nSubstitution()
      Remove unneeded null check from BaseL10n.addL10nSubstitution()
      Improve method names and javadoc in BaseL10n
      Copy l10n test properties in unit-build

drak@kaverne (23):
      l10n: suggest store values between 100MiB and 20GiB
      Improve suggested store size wording
      wizard: improve datastore size selection
      adjust indentation to using spaces
      wizard: use 10GiB from 50GiB free to 100GiB free
      add a NEWS file
      add a NEWS entry about the NEWS file
      bookmarks: indexes for default bookmarks in software category were wrong.
      default bookmarks: Fix: did not adjust the documentation category name.
      update NEWS
      improve our READMEs with build instructions
      add a note how to run the built freenet yourself.
      switch the default theme to sky static
      Order node-to-node message alerts by sent time
      l10n: Simplify N2NTM useralert header
      useralerts.N2NTM: order by received time instead of sent time
      useralerts: order messages in each class by updated time
      n2ntms: the composed time is the time the user hit send
      UserAlertManager: fix the comments and make them actually useful
      NEWS: add sorted n2ntms
      Gantros is likely dead. Let us preserve his or her memory.
      Linkageddon stopped updating.
      update NEWS file

oo (1):
      CompatibilityAnalyser: fix dontCompress always being false

saces (1):
      set addItem to public

xor-freenet (4):
      Fix updating for official plugins whose JAR URI is USK
      OfficialPlugins: Add testing versions of WOT published by xor
      WOT testing versions' l10n: Warn user about permanent auto-update
      Eclipe classpath: Fix sourcepath of contrib to match repository name

yadevel (1):
      Avoid claiming of unrejected messages by NodeDispatcher