Freenet 0.7.5 build 1481 is now available

The Freenet Team is proud to release Freenet build 1481, the first
build to be compiled from gradle! This concludes work during the past
two years to make it easier for new developers to start hacking on
Freenet.

Your Freenet node should update itself from Freenet via the auto-update.
To install a new node, get an installer from
https://freenetproject.org/pages/download.html


This release rekeys the update URIs to ensure they are compliant with
RFC6979. It also splits off java 7 into its own update key for 1482,
so we can use java 8 starting with 1483. The updated keys have been
split into shares using ssss-split and distributed among core
developers to maximize our release management bus factor:
https://en.wikipedia.org/wiki/Bus_factor


We also added the Winterfacey theme and set sky-static as default
theme until Winterfacey got more testing. You can test switch between
themes on Configuration -> Web Interface


Thank you for using Freenet!


And a special thank you to DC* (desyncr) who tracked down an OOM so we
could finally fix it and release after 6 weeks of fruitless search!


- Arne Babenhauserheide, current release manager


About Freenet:
Freenet is free software which lets you anonymously share files, browse
and publish "freesites" (web sites accessible only through Freenet) and
chat on forums, without fear of censorship. Freenet is decentralised to
make it less vulnerable to attack, and if used in "darknet" mode, where
users only connect to their friends, is very difficult to detect.
See https://freenetproject.org/pages/about.html


---


Developer changelog:

2018-10-16

Changes in 1481:

Switch to gradle. If you block network access of your development box,
you can use ./gradlew --offline jar test (you will then need to get
the dependencies yourself).

Switch from JNI (Java Native Interfaces) to JNA (Java Native
Access). This might allow getting rid of hard-to-build
freenet-ext.jar.

This also means that you need jna-4.2.2.jar and jna-platform-4.2.2.jar
in your freenet folder. The auto-updater takes care of that for you.
If you update manually by copying in new jar-files, you need to adapt
the classpath in wrapper.conf or in run.sh (if you do not use the wrapper).

Added a workaround for JNA bug in multi-user system: move tempdir into
the freenet folder: java.io.tmpdir=./tmp/; Needed until
https://github.com/java-native-access/jna/issues/985 is fixed
upstream.

Changes to update keys: Rekey the update URIs to ensure they are
RFC6979. Split off java 7 into its own update key for 1482, so we can
use java 8 starting with 1483. The updated keys have been split into
shares using ssss-split and distributed among core developers. See
https://github.com/freenet/scripts/blob/master/generate_autoupdate_key

Add Winterfacey theme. Set sky-static as default theme until
Winterfacey got more testing.

Further changes:

- Fix commons-compress bug, might help fix the Gentoo ebuild.
- Execute in background mode (reduced I/O priority) on windows NT6+.
- Override list request identifier
- use fallocate
- ipv6 fixes
- fix warnings
- optimization
- Persist "Bookmark Updated" notifications across restarts
- minimum bandwidth increased to 10KiB again
- undo update of pinned SSL certificates (site no longer exists)
- Add support for GIF89a
- Fix wrapped FCP message
- Add config option to allow caching of CHK and SSK keys
- bookmarks: fix jumping layout (missing activelink)
- reduce thread usage.
- Prepare for Java 8 - 1482 will be the last build to support Java 7.

A heartfelt thank you to all involved!

And a special thank you to DC* (desyncr) who tracked down an OOM so we could 
finally fix it and release after 6 weeks of fruitless search!

- Arne Babenhauserheide

---

shortlog:

Arne Babenhauserheide (7):
      add task ./gradlew tar, still pretty rough
      wrapper.conf: add JNA tmpdir on update if it is not yet set
      commit COMPRESS-449 workaround, see 
https://freenet.mantishub.io/view.php?id=6921, thanks to dennisne
      always use BouncyCastle in KeyGenUtils
      use a SkipShieldingInputStream as commons compress workaround
      use the SkipShieldingInputStream
      gradle: apply compatibility mode to all classes, not just to Version.java

Arne Babenhauserheide (freenet releases) (24):
      update version to 1480 to be in sync with master
      remove unnecessary TODO
      remove stray files
      remove stray import
      Update default bookmark editions
      add 1480 section to NEWS
      increase minimum bandwith to 10KiB again
      adjust wizard and comment to increased min bandwidth
      fix typo (found by TheSeeker)
      Build 1481
      undo SSL certificates switched to AWS
      add jna-platform and order
      Update default bookmark editions
      Update default bookmark editions
      Build 1481
      Update default bookmark editions
      KeyGenUtils: re-use the bouncy castle instance to avoid the memory leak.
      Update default bookmark editions
      Revert "Fix code for non-DOS systems", because hiding the files makes 
them write-protected, so the original commit has to go.
      Revert "bug6562: mark temporary files as hidden", hidden files are 
non-writable under windows, see 
https://bugs.eclipse.org/bugs/show_bug.cgi?id=194216 — thanks to dark_mater on 
FMS to reporting this.
      Revert "Fix code for non-DOS systems", because hiding the files makes 
them write-protected, so the original commit has to go.
      Revert "bug6562: mark temporary files as hidden", hidden files are 
non-writable under windows, see 
https://bugs.eclipse.org/bugs/show_bug.cgi?id=194216 — thanks to dark_mater on 
FMS to reporting this.
      re-apply 1480 improvements to localization
      only lock the crypto provider in KeyGenUtils to BouncyCastle on Java 7, 
where missing ECC in SunCE leads to failing tests.

Bert Massop (42):
      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
      SessionManager: remove dead sanity check
      Improve SparseBitmap efficiency
      Integer.hashCode() is not available on Java 7; just use the value
      Add default serialVersionUIDs
      Fix rawtypes and unchecked warnings
      Remove redundant casts
      Fix warnings about missing @Deprecated
      Suppress fallthrough warnings in PNGFilter
      Implement hashCode where equals is overridden
      Remove unnecessary Math.min()
      Fix SRGA breakage due to misinterpretation of array generics
      Improve clarity and brevity of SortedIntSet
      Add unit test for SortedIntSet
      Make the open file descriptor count non-static for unit tests
      Remove writeFilter: it is never used and implementations are broken
      Implement GIF87a filter
      Also remove writeFilter-related advice messages
      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
      Add wildcard copy for filter test files
      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

Carlo Alberto Ferraris (4):
      Have fred execute in background mode (reduced I/O priority) on windows 
NT6+ This patch uses JNA (3.2.7) to call the native OS libraries. jna.jar is 
not included in the patch but can be fetched from 
http://java.net/projects/jna/downloads
      Fix small review issues
      Use proper exception
      Add comments and license.

D-sha (4):
      Add nice links to README.md
      Fix donation link in README.md
      tidy README.building.md
      more tidy README.building.md

DC* (1):
      Fix memory leak with BouncyCastleProvider

David ‘Bombe’ Roden (12):
      Fix wrapped FCP message
      Override list request identifier
      Add test for FCP message wrapper
      Fix wrapping a null FCP message
      Don’t send unwanted list request identifiers
      Remove parameter that’s always “true”
      Simplify methods that previously used the parameter
      Make handleDownload method private
      Add config option to allow caching of CHK and SSK keys
      Fix code for non-DOS systems
      Don’t show HTL 0 on stats page
      Remove empty table row

Dean (1):
      Update README.md

Florent Daigniere (98):
      Initial gradle support
      Update the travis build-file, make it use/cache gradle arctefacts
      Fix the unit tests not passing
      get rid of it since it's not used yet
      Ensure that Travis caches properly
      fix version-string updating
      fork a JVM for every test
      give up on PooledFileRandomAccessBufferTest
      Just disable the failing test when we know it won't succeed
      try bertm's new patch
      Replace our NativeThread JNI with JNA
      Use posix_fallocate()/fallocate() where possible
      doh
      untested code factoring out the legacy fallocate
      CPUID isn't used anymore
      use rfc5014: IPV6_PREFER_SRC_PUBLIC
      Don't output to wrapper.log if it's a small resize
      set IPV6_PREFER_SRC_PUBLIC regardless of the bindTo type
      Add JNA to ant too
      bug6668: NPE while try hide not-enough-disk-space alert
      Use java7 try syntax
      Add mockito to the ant build
      fix a warning
      Tweak the travis buildfile
      specify which JDK was used in the manifest
      Fix a potential problem with fallocate()
      add a few seconds to ensure it happens
      Fix posix_fallocate() on POSIX
      Turns out that OSX isn't POSIX
      Replace a HashMap by a ConcurrentSkipListMap
      Remove the socket-timeout for fproxy
      Take Bombe's comments into consideration
      Take Bombe's comments into consideration (round2)
      More cosmetic changes
      We don't need that if
      Add logging
      Implement the osx/linux equivalent
      Display the default value as intended
      bug6562: mark temporary files as hidden
      Bad things happen if ipv6 isn't available
      Handle EOPNOTSUP
      s/operating/file/ system
      handle ENOSYS too
      get rid of ant-buildfiles
      add gradle.properties to .gitignore
      Ensure that we don't have to truncate the file after fallocate()
      It's only safe if the total length is above 4KB!
      It's only safe if the total length is above 4KB!
      Error codes aren't the same cross-platform
      get rid of IDE config too; get gradle to generate them for you
      add gradle wrapper
      move gradle-witness into gradle's folder
      Re-enable RSA-based ciphers
      Re-enable RSA-based ciphers
      Upgrade to BC 1.56
      Update the BC tests for rfc7539 compliance
      Fix a potential click-jacking vulnerability
      update the javadoc on commit
      doh
      only build/deploy it with java7/oracle (once)
      This prevents caching
      try to dynamically update transifex
      try with the JVM that does build successfully
      add skip_cleanup
      Auto-upload the l10n for translation when it hits next
      ArneBab wants to do it manually
      doh
      download freenet-ext from the new repo
      Update Version,bookmarks,plugins and l10n from master
      clarify NEWS.md
      update NEWS.md
      Bump BC version to 1.57
      bump version number to 1478
      build against jdk8 and jdk9
      turns out that openjdk9 is not a thing yet
      upgrade to BC1.58
      build the javadoc on JDK8
      update the l10n
      fix useless warning
      Fix a typo in the Norvegian l10n
      update to gradle 4.2.1, simplify the build script
      tell travis to deploy tags
      use openjdk instead
      don't fail on javadoc errors
      avoid running the tests twice
      do the opposite since we can't build the javadoc that way
      bookmarks: fix jumping layout (missing activelink)
      doh; we need that to be set to false for reproducible builds
      Get travis to deploy snapshots to github-releases
      ignore the result of building the javadoc
      doh
      Ensure that there is a single Version file
      ensure that compileVersion runs after compileJava
      fix the dependency
      turns out that you need to set it twice
      display the SHA-256 hash now that it ought to be reproducible
      the assemble task messes the checksum up; not sure why yet
      94c367e895 was missing the dep's checksum

GNU Emacs User (4):
      fix compile error
      try adjusting only jna.tmpdir, not java.io.tmpdir
      need java.io.tmpdir=./tmp/ jna.tmpdir does not work.
      actually use the default theme as initial theme; switches to sky-static

Matthew Toseland (5):
      Factor out maxCountWaiting()
      Don't send RecentlyFailed until we've visited half the routing table, but 
at least 3 peers.
      Consistency, avoid locking twice
      1/4 of routing table max
      And no more than 10 peers.

Stephen Oliver (2):
      Build: add jna-platform for Windows-specific types
      Use JNA interface mapping instead of direct in ProcessPriority on Win

Steve Dougherty (17):
      MemoryLimitedJobRunnerTest: avoid high thread counts
      JVMVersion: fix spelling of "beyond"
      JVMVersion: add distinction between EoL alert and updater
      Revert "Merge remote-tracking branch 'origin/much-less-recentlyfailed' 
into next"
      gradle: fix typo in wrapper verification configuration
      README: focus on developers and update for Gradle
      README: link Travis build badge to Travis
      README: link Coverity badge to Coverity
      README: fix Coverity badge link
      README: remove errant dash
      build: upgrade Bouncy Castle to 1.59
      dependencies: add JNA 4.2.2 dependency
      dependencies: upgrade Bouncy Castle to 1.59
      Revert "Build 1481"
      build: enable deterministic tars
      build: use bzip2 compression for source archive
      Rekey the update URIs to ensure they are RFC6979

TheSeeker (1):
      fix memory limit setting on windows v2

Zero King (1):
      Fix typo

blacklightwork (1):
      Update theme.css

drak@kaverne (2):
      add Winterfacey theme
      fix binary or used instead of boolean or

xor-freenet (16):
      Class IfNull: Deprecate in favor of Java 7 providing the same
      Documentation: Convert some comments to JavaDoc
      Documentation: Deduct purpose of a constructor...
      Documentation: Fix obsolete claims about purpose of some constructors
      Remove constructors which were needed only by db4o
      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: If a plugin throws during startup then show the stack trace
      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
      TimeUtilTest: Test setTimeToZero()

--
Unpolitisch sein
heißt politisch sein
ohne es zu merken

Attachment: signature.asc
Description: PGP signature

Reply via email to