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 on GitHub but not offered from the website or 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
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Devl mailing list [email protected] https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
