I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
history.txt 643 KiB
Newer Older
str4d's avatar
str4d committed
2017-07-30 str4d
 * Console
   - light theme:
     - Fix spacing issue with banned peers list
     - Tweak font sizes for Arabic
   - Shrink icons in sidepanel network status span
   - Add single graph view buttons to classic theme
   - Better separation of graphing controls in single graph view
   - Enhance presentation of /oldconsole and /proof

str4d's avatar
str4d committed
2017-07-28 str4d
 * Console:
   - Enhance presentation of show/hide news links on home page
   - Fix some issues with Arabic CSS (light/dark)
   - Further tweaks to graphs display and fixes for borderless single graphs
     in midnight/dark themes
   - Fix minor coloring issues with light theme post-rework
   - Misc theme fixes
 * I2PSnark:
   - Move </center> tag in fileinfo view that prevented sticky navbar from
     working
   - ubergine:
     - Alternative panel tabs for embedded view
     - Tighten .snarkTorrents thead/tfoot spacing
     - Tweak embedded navbar coloring
     - Reduce height of download bars

str4d's avatar
str4d committed
2017-07-26 str4d
str4d's avatar
str4d committed
 * Themes:
   - 'light' theme (console & apps):
     - Rework to reduce contrast (ticket #1996)
     - Add custom radio/checkbox icons for Chrome/Blink
str4d's avatar
str4d committed
 * Console:
   - Add JavaScript snippet to reset dest address scroll position onblur (fixes
     Chrome/Blink disappearing text bugs in i2ptunnel and susidns)
str4d's avatar
str4d committed
   - Fix reseed failure notice overlap when "check connection" message shown
   - Enhance presentation of console "error 500" messages
   - Cosmetic tweaks to welcome page presentation, arabic welcome page tidyup
   - Migrate .smallhead th class to tr to simplify markup
   - Sidebar:
     - Remove "Congestion" from default sidebar (still present in default
       advanced sidebar)
     - Fix label wrapping issue with translations
     - Migrate sidepanel news section to tables to permit better control over
       wrapping and placement (ticket #1996)
     - Move news item dates to tooltips to lessen chance of headlines wrapping
       and cleanup presentation
     - Increase maximum length of local tunnel links in the sidebar (and handle
       overflow with CSS) to minimize chance of default tunnels display
       truncating in translations
     - Add the power off icon to sidebar restart button on hover to clarify
       button function (ticket #1996)
   - /configadvanced: Move floodfill status to row above to remove unnecessary
     whitespace and cleanup UI
str4d's avatar
str4d committed
   - /debug:
     - Add container divs and styling markup
     - Add top navigation menu
str4d's avatar
str4d committed
     - Add debug icon to h2 headers to aid navigation
   - /graphs: Improve presentation of graph images by removing rendered border
     and setting background color to better integrate with themes
   - /home: Widen div.app to lessen chance of truncation (classic/midnight)
str4d's avatar
str4d committed
   - /jars:
     - JARs, WARs & individual plugins separated with headers
     - Filenames stripped of path info (path indicated on headers and tooltips)
     - Add container divs and styling markup
str4d's avatar
str4d committed
     - Minimize table overflow with conditional scaling of content
     - One-click select for revision, sha256 & unsigned mods
   - /logs:
     - Reduce line/entry spacing for router and critical logs (#ticket 1996)
     - Multi-column view for changelog at >=1400px to address horizontal
       whitespace issue
   - /netdb:
     - Multi-column display of Leases in LeaseSet tables
     - Better alignment of Lease elements, iconify gateway
     - Placeholder flag for unknown/unresolved peers for [flag+dest] combos to
       improve presentation / fix deadspace issue
   - Chinese:
     - Fix alignment of table contents in /tunnels (classic)
     - Fix sidebar content display width (midnight)
     - Cosmetic fixes (all themes)
str4d's avatar
str4d committed
 * I2PSnark:
   - Mitigate truncation of ratings dropdown in comments section (translations)
   - light: Reduce contrast of display text
   - light/classic: Increase contrast of download bars
   - Create Torrent trackers table: Replace "Tracker URL" with "Tracker Type"
     (ticket #1996)
   - Add a persistent warning to the messagelog when JavaScript is disabled to
     indicate potential loss of form data upon refresh (ticket #1996)
   - Migrate "view or change bandwidth" to [Configure] tooltip to standardize
     configuration links, allow for more space for option labels and lessen
     chance of option labels wrapping in translations
str4d's avatar
str4d committed
 * I2PTunnel:
   - Ensure message log font scales proportionately
   - Fix overflow issue with dropdowns in Chrome/blink (dark/midnight)
 * SusiDNS
   - Reduce width of filter buttons to lessen chance of wrapping (ticket #1996)
   - Add non-selectable items to improve copy/paste of hosts in address books
   - Make dest addresses in host list only display scrollbar on focus to reduce
     screen clutter
   - Hide broken imagegen images
 * SusiMail:
   - Dismiss notifications on click
   - Enhance presentation of 'postman' links on login panel
str4d's avatar
str4d committed

2017-07-25 str4d
 * Console: Move JRobin default color and font changes into SummaryRenderer

2017-07-15 zzz
 * Console: Fix compile error with Jetty 9.2.22 (ticket #2019)

2017-07-13 zzz
 * Crypto: Preserve CRT parameters for RSA private keys (ticket #2005)
 * Various fixes after review

str4d's avatar
str4d committed
 * Console:
   - Increase displayed changelog lines to help ensure at least one whole
     release cycle is visible
   - /tunnels: Fix display issue with inbound/outbound glyph display in table
     header (classic/light)
   - light: Prevent routerlogs from causing horizontal page overflow
 * I2PSnark:
   - Fix I2PSnarkUtil.getCommentsName() to match its JavaDoc
   - Reduce size of screenlog font at 1400-1600px viewport width to lessen
     chance of text-wrapping (ticket #1996)
   - classic: Fix a linespacing issue in the config section (options:) that only
str4d's avatar
str4d committed
     triggers in foreign languages that force the options labels to wrap
 * Fix HTML tags across non-default conditional branches
zzz's avatar
zzz committed
2017-07-08 zzz
 * GeoIP, blocklist, translations update

 * Console:
   - /configlogging: Fix log file size config bug (ticket #1996)
   - /logs: Correctly format unavailable crypto warnings (ticket #1996)
   - Show advanced sidebar links by default in advanced mode (ticket #1996)
2017-07-02 str4d
str4d's avatar
str4d committed
 * Console:
   - Show correct icon for "Firewalled" network status
   - Cosmetic changes to new firewalled network status in sidebar
   - Arabic: ensure the destinations correctly align on /tunnels
 * SusiDNS: Default to the console theme
str4d's avatar
str4d committed
 * I2PSnark: Ensure .snarkNoneLoaded background color remains constant on
   mouseover in dark theme
str4d's avatar
str4d committed
2017-07-01 str4d
str4d's avatar
str4d committed
 * Console:
   - /netdb:
     - All Routers/Leasesets/Sybil sections:
       - Each transport instance on own line
       - Better presentation of address characteristics
       - Place flag in table header
     - Container div for leasesets to allow responsive 2 column display
str4d's avatar
str4d committed
     - Increased spacing of lease information in leaseset tables
     - Add div for "not initialized" message
     - Reorganize content in sybil db to reduce horizontal whitespace:
str4d's avatar
str4d committed
       - Conditional 2-column display of sybil families
       - Multi-column view for sybil router characteristics & threatpoints
       - Empty (n/a) fields to maintain visual consistency in column view
str4d's avatar
str4d committed
   - /tunnels:
     - Tag "Local" for translation (and convert to lowercase in CSS)
     - Arabic: ensure our tunnel tables display correctly
str4d's avatar
str4d committed
 * I2PSnark:
   - Fix unclosed <label>
   - Standalone:
str4d's avatar
str4d committed
     - Better target the per-theme and imported console resources
str4d's avatar
str4d committed
     - List all available themes in config section
   - Themes: tidyups & further optimizations to reduce lag
zzz's avatar
zzz committed
2017-07-01 zzz
 * Fix family key export (ticket #2011)

str4d's avatar
str4d committed
 * Console:
   - Welcome page readmes:
     - Responsive 2 column layout for eepsite section
     - Minor formatting corrections
     - Ensure urls in Arabic display correctly
     - Fix commenting out of forum.i2p where it impacts surrounding text
     - Cleanup unneeded CSS classes
     - Enhance Chinese legibility
   - Add untagged strings for /tunnels tooltips and local tunnel indicator
     (to be tagged for translation post .31 release)
str4d's avatar
str4d committed
   - classic: reduce color contrast of main display font
   - classic/dark/midnight: alignment on /peers and /tunnels
   - /tunnels:
     - Add bandwidth tiers definitions
     - Indicator for local tunnels
   - /profiles:
     - Split capabilities and version
     - Minimize wrapping at narrow viewport width
     - Iconify view profile link
     - Add "OK" status indication for functional peers
   - /peers: merge Dir and CWND rows in definitions table
   - /events: when no events found, place result in table
   - All themes: marginally increased width of sidebar to better accommodate
     extra long strings
   - Chinese: ensure buttons do not deviate in height (ticket #1996)
str4d's avatar
str4d committed
   - Arabic: fix alignment issues on /configui; presentational enhancements
   - Misc: remove erroneous tags
 * i2ptunnel: consistent tooltips and Destinations for editClient and editServer
str4d's avatar
str4d committed
 * I2PSnark:
   - Disable JavaScript td:onclick (handled by css)
   - Fix minimode bug in vanilla/ubergine
   - Minimode for dark/classic
   - ubergine:
     - Further optimizations to reduce lag/cpu load
     - New hidpi details.png to bypass mix-blend mode in .snarkTorrents
   - Usability:
     - Tab navigation now works for toggle panels
     - Touch target for configure button now extends entire length
   - All themes: cleanups and optimizations
zzz's avatar
zzz committed
2017-06-15 zzz
 * Data: Cache hostname lookups in RouterAddress (ticket #1998)
 * Job Queue: Make search jobs droppable (ticket #1998)
 * Router: Increase JVM DNS cache time (ticket #1998)
 * Util: Add negative DNS lookup cache, increase cache size (ticket #1998)

str4d's avatar
str4d committed
2017-06-12 str4d
 * Console:
str4d's avatar
str4d committed
   - /logs: fixed environment/running info table resize on hover (ticket #1996)
str4d's avatar
str4d committed
   - Scale theme/language divs so we don't truncate language display
   - Arabic (light) adjust font size for sidebar elements
   - Sidebar network status display (ticket #1996)
   - Usability:
     - Enhance presentation of tables on /peers (header/column alignment,
str4d's avatar
str4d committed
       center to separator for multi-value rows)
     - Enhance presentation of tables on /tunnels (reliable alignment of mixed
       content in rows, more prominence to bandwidth tiers)
   - /netdb: Fix UI bug with unpublished LeaseSets
str4d's avatar
str4d committed
 * I2PSnark:
   - Usability: add tabindex="0" to screenlog
   - Update navbar link classes to allow easier targetting of button type
   - Remove disabled cursor for known tracker radio icons (ticket #1996)
   - Fix alignment issue for comments (ticket #1996)
   - ubergine: further optimize theme to reduce scroll lag (ticket #1996)
   - ubergine/vanilla:
     - Add mini-mode at <=800px
     - Small size reduction to navbar links (ticket #1996)
 * Imagegen: Theme tweaks

2017-06-05 str4d
 * Add state classes to network status messages in sidebar
str4d's avatar
str4d committed
 * Switch light theme to the same top-nav style as the other themes
str4d's avatar
str4d committed
2017-06-04 str4d
 * De-duplicate strings for translation
 * Minor theme tweaks and bugfixes
 * SusiDNS: Update SVG image to use grouped objects for styling and hotlinks
 * Hardcode language names in their native language (to make them easier for
   users to identify)
str4d's avatar
str4d committed

str4d's avatar
str4d committed
2017-06-03 str4d
 * Console:
   - Add spans to /stats page to avoid summary info breaking mid-sentence, and
     to aid presentation
   - Adjust /stats CSS so information isn't over-dense
   - Set graph size for generated graphs on /stats to 600x200
   - Fix netdb leaseset tables
     - Ensure we only iconify add to addressbook links and not b32 dests
   - Individual icons for I2PSnark and I2P Plugins on /home
   - Add div to upnpstatus on peers to comply with layout
   - Fix various unclosed/erroneous tags
str4d's avatar
str4d committed
 * SusiDNS:
   - Rework SVG image
     - Now features interactive feedback when mouseover objects and hotlinks
   - Update fallback images for en and fr
   - Update overview text
   - added tabindex="0" to destination addresses, highlighted on :focus
str4d's avatar
str4d committed
 * i2psnark:
   - Reorder .snarkCommentInfo sections so my rating / average rating is located
     directly above posted comments/ratings in .snarkComments
   - If author name for comments is configured, display it in .snarkCommentInfo
     table header
   - Full status tooltips for status icons in .snarkTorrents
   - Rework td/th classes for .snarkTorrents so each column (both th + td) now
     belongs to a given class
   - Stop .snarkTorrentStatus class being incorrectly applied to .peerinfo
     columns
   - Spans for DHT peers / Dest in #totals, .snarkTorrentInfo info hash
   - Delete icon for delete comments td
   - Overhaul .snarkTorrents column widths
   - CSS tidyups
 * Compress some of the larger image files by 40-60%
str4d's avatar
str4d committed
 * UI feedback:
   * Console:
     - Increase contrast of table rows on profile/tunnels/peers tables
     - Changed pink font to magenta in /logs to increase legibility
     - Soften H3 headings in sidebar
     - Single click to select I2P Version and Running Environment table text,
       with table:hover color change and text cursor to better reflect selection
       - Modify text above to indicate what exactly needs to be included in logs
     - Reduce size of monospace dests in peers/profiles/tunnels, add additional
       spacing (responsive)
     - Fix resizing of sidebar reseed button
str4d's avatar
str4d committed
     - De-emphasise sidebar app icons with background-blend-mode: luminosity
str4d's avatar
str4d committed
     - Change sidebar snark icon to match homepage icon
     - Bump div.main text color from #222 to #333 (reduce contrast)
str4d's avatar
str4d committed
     - (light, dark, midnight) fix minor alignment issues with Arabic CSS
     - JRobin (graphs):
       - Fix font size issue for non-title text on graphs
       - Optimise layout (tweaked padding, legend box size etc)
       - Tweak graph lines (now dotted, slightly less opaque)
str4d's avatar
str4d committed
   * i2ptunnel:
     - Remove redundant labels and spans for keyaccess
     - Edit Server:
       - Shift Local Destination / Private Key file to share table row
       - Move "Use SSL to connect to target" to Target Port column
     - Add translation tagging for title tags
     - Remove redundant title tags and provide enhanced strings for features
       that benefit from clarification
     - Move title tags to <label> where applicable
     - Fixed Cancel button on registration so it now jumps back to the list page
     - textareas for registration page and local destination on edit server page
       changed to divs
       - Scrollbars hidden until mouseover, 1 click to select content
       - Responsive width, tabindex="0"
     - Fix overflow issue on select dropdowns (edit server/client -> tunnel
       options) in Chrome / Blink
     - More generous vertical padding for th (responsive)
     - Larger h2/h3s (responsive)
     - Increase spacing between panels in iframe mode
str4d's avatar
str4d committed
   * SusiDNS: Change address helper icon to add book icon
   * i2psnark:
     - Remove font-adjust-size (ubergine/vanilla)
     - Add extra spacing to screenlogger bullets (ubergine)
str4d's avatar
str4d committed
     - (ubergine) speed up tr:hover events by optimizing css (remove latency)
     - (all) remove fade activation delay for download bars, speed up fade-in /
       fade-out
     - Fix i2psnark link in navbar overflow issue in Arabic (ubergine/vanilla)
     - (ubergine) change default font for screenlog from Noto Mono to Droid Sans
       Mono to soften text/slightly reduce text size
str4d's avatar
str4d committed

2017-05-25 zzz
 * Crypto: Fix AES NPE on 4-core RPi 2nd try (ticket #1989)

2017-05-24 zzz
 * GeoIP: Fix NPE

2017-05-21 zzz
 * i2psnark: Fix bencoded scrape response for zzzot (ticket #1994)

2017-05-21 str4d
 * i2psnark: Integrate ratings and comments into themes

str4d's avatar
str4d committed
2017-05-20 str4d
   - Clarify choices on address helper save page (ticket #1940)
   - Add router.hideFloodfillParticipant to advanced settings help
str4d's avatar
str4d committed
 * i2psnark:
   - Make DHT debug section collapsible
   - Tooltips for downloading/finished torrents
   - Download bars for torrents, torrent parts and peer downloads
   - Friendlier date format (with completed: <date> tooltip for finished torrents)

2017-05-19 zzz
 * Console: Move /peers page rendering from router to console (ticket #1879)
 * i2psnark: Add ut_comment UI and per-torrent configuration
str4d's avatar
str4d committed
2017-05-18 str4d
Prop from i2p.i2p.str4d.ui:
 * Backend HTML changes to routerconsole and apps:
   - IDs, classes and <span>s for styling
   - <label>s to extend touch targets
   - Table layouts where it makes sense
   - Tooltips
   - Move most of the hard-coded styles to CSS
 * Overhaul all themes:
   - Responsive layouts
   - Standardisation of UI elements, configuration labels, etc.
   - Consistent layouts, spacing, font sizes, etc.
   - Routerconsole themes now present for all bundled plugins
   - HiDPI images
   - Accessibility and localisation improvements
   - Testing on a wide array of browsers and screen sizes
 * Console:
   - /home:
     - Move console links above hidden service links
     - Link are now full touch button targets
     - Add tabindex ="-1" to icon links
   - Sidebar:
     - Include bandwidth in minimal sidebar
     - Optional Advanced section
   - /graphs:
     - Graph image updates
       - Improve contrast
       - Custom fonts with fallback
       - Left-align legend
       - Thinner restart and graph lines for clarity
       - Separate legend and display period date
       - Text tidyups
     - Tweak layout and text of configuration options
     - Default width to 400px to avoid info truncation
     - 15s and 30s refresh options
   - /help:
     - Collate help topics from various routerconsole pages
     - Document various router.config settings
     - Add mini-FAQ
   - /peers: CSS sort buttons, with new icons to avoid conflation of
     tunnel direction and sort direction
   - /profiles: Add definitions for capabilities
   - Limit file inputs to accepted extensions
   - Fix bug in /configui lang selector when not in advanced mode
 * i2psnark:
   - Collapsible "Add Torrent" and "Create Torrent" sections
   - Disable theme selector when "universal theming" enabled
   - Debug info styling
   - <noscript> fallbacks:
     - Use meta-refresh
     - Hide JavaScript-dependent buttons
 * SusiDNS:
   - Disable spellcheck on config editor
   - Additional column on hostname list page for helper address with icon, and
     iconfication of b32 addresses
   - Add minified identicon to hostname column
   - Consolidation of Hostname/host name/name referenced: now all "Hostname"

 * Crypto: Fix AES NPE on 4-core RPi (ticket #1989)
 * i2psnark: Fix HTML double-escape (ticket #1992)
 * Router: New method to get bandwidth class

2017-05-12 zzz
 * i2psnark: Better handling of read-only i2psnark dir (ticket #1990)

2017-05-10 zzz
 * Debian: Fix apparmor profile (ticket #1986)
 * SusiDNS: Fix display of default subscription

2017-05-05 zzz
 * Blockfile: Move from i2p.jar to addressbook.jar
 * i2psnark: Initial support for ut_comment, no UI yet
 * Jetty: New default servlet for eepsite, with
   locale-independent directory listing (ticket #1965)
zzz's avatar
zzz committed
* 2017-05-03 0.9.30 released

2017-04-30 zzz
 * Jetty: Rollover log files at midnight, not noon

zzz's avatar
zzz committed
2017-04-29 zzz
 * Build: Fix failing release tests
 * Jetty:
   - Revert previous checkin, unrelated to the Jetty Timer bug
   - Add patch to fix Jetty Timer bug, backported from Jetty 9.4
 * Translations update

2017-04-27 zzz
 * Console: Disable Jetty timer thread consolidation
   causing log file rollover to stop (ticket #1068)

2017-04-26 zzz
 * HTTP Proxy: Add delay before jump page

2017-04-14 zzz
 * SSU:
   - Reuse previous introducer expiration if available,
     so we don't force a republish
   - Don't run peer test if configured to force firewalled

2017-04-13 zzz
 * SSU: Publish introducer expiration (proposal 133)

2017-04-06 zzz
 * Debian: Add bash-completion scripts

2017-04-04 zzz
 * Router: Fix config dir location in Gentoo

2017-04-02 zzz
 * Context: Fix ClientAppManagerImpl in AppContext
 * i2psnark: Fix standalone configuration for Jetty 9

2017-04-01 zzz
 * Console: Fix stopping of webapps when console stops (ticket #1893)
 * i2psnark: Only rewrite torrent config file if changed (ticket #1893)
 * KeyStoreUtil: Reduce log level of expired cert error
 * Util: Don't sync config writes on Android/ARM (ticket #1893)

2017-03-31 zzz
 * SSU:
   - When a IPv6 peer connects, trigger a IPv6 peer test, not a IPv4 one
   - Require two consecutive peer test results for some state transitions,
     to prevent frequent transitions to firewalled and back

2017-03-29 zzz
 * SSU: Refactor PeerTestEvent out of UDPTransport
 * Throttle: Reduce threshold for probabalistic throttling
   on slow platforms (ticket #1964)

2017-03-27 zzz
 * Blockfile: Include authentication strings in exports
 * Build: Suppress JarScanner warning during Debian build (ticket #1975)
 * Debian: Add missing addressbook.jar to package (ticket #1973)
 * SusiDNS: Add addressbook.jar to classpath, don't fail
   to start if it's still not found (ticket #1973)
 * Time: Fix crashes on old Androids (ticket #1976)

2017-03-25 zzz
 * Blockfile: Upgrade to Blockfile format 4 on non-Android ARM
 * i2ptunnel: Allow alt priv key file to be added without restarting I2P

zzz's avatar
zzz committed
2017-03-24 zzz
 * Addressbook: Remove static reference, hide implementation
 * CPUID: Recognize Ryzen

2017-03-23 zzz
 * Plugins:
   - Blacklist i2pbote and BwSchedule
   - Translate exceptions thrown from PluginStarter
   - Add version number to console messages when installing/starting

2017-03-21 zzz
 * i2psnark: Enhancement to support RPC plugin
zzz's avatar
zzz committed
 * Context: New ClientAppManagerImpl in AppContext, so registration works
2017-03-20 zzz
 * i2psnark: Enhancements to support RPC plugin
 * SSU: More work on introducer expiration (proposal 133)
2017-03-18 zzz
 * Addressbook (ticket #1966):
   - Build as jar, not war
   - Put empty war in updater
   - Move Servlet starter to SusiDNS
   - Skip war in RouterConsoleRunner

2017-03-14 zzz
 * Blockfile: Fix specified-destination deletion from the correct book
 * i2ptunnel:
   - New form to enter private key file for alternate destination
   - Use alt destination for registration if set
 * NBI: Adjust info logging at startup
 * SusiDNS:
   - New button for adding alternate destination
   - Fix nonces on details page with multiple destinations
   - Fix single dest deletion on details page with multiple destinations
   - Set book in all forms to ensure correct book

2017-03-13 zzz
 * i2ptunnel:
   - Add subsession support to servers
   - Reset I2P socket on TCP socket errors
 * SAM: Reset I2P socket on handler errors
 * Streaming: Add reset() to I2PSocket API

2017-03-11 zzz
Prop from i2p.i2p.zzz.jetty9:
 * Console: Fix RouterConsoleRunner for Jetty 9
 * Debian packages:
   - Remove libjetty8-java and ant-optional dependencies
   - Add libjetty9-java and libtomcat8-java dependencies
     Fixes stretch/sid package (ticket #1902)
   - Fix up build files for package builds
 * Eepsite: Update initial configuration files for Jetty 9
 * Jetty:
   - Update to Jetty 9.2.21.v20170120 and Tomcat 8.0.33 (tickets #1512, #1935)
     Fixes jsp compilation on Java 9 (ticket #1870)
     Fixes InstanceManager warning (ticket #1818)
     We now support servlet API 3.1, JSP API 2.3, and EL API 3.0.
     Breaks the following plugins: bwschedule, i2pbote, i2pcontrol, zzzot
 * Startup: Add migration code for eepsite Jetty 8 configuration files

2017-03-09 zzz
 * i2psnark: Prevent RuntimeException caused by corrupt i2psnark.dht.dat file
 * Router: Set default sig type to EdDSA for non-Android ARM
 * Streaming: Don't change buffer size when max message size is adjusted

2017-03-06 zzz
 * CPUID:
   - Fix saving of libjcpuid.jnifile on Macs,
     was incorrectly saving as libjcpuid.so (tickets #1865, #1900)
   - Try to load libjcpuid-x86_64-osx.jnilib for 32-bit Macs,
     because as of 0.9.26 it's a 'fat binary' with 32-bit in it also.
   - Add library search path logging to main()
 * NBI:
   - Try to load the "none" architecture for x86, even if
     CPUID loading fails (tickets #1865, #1900)
   - Add library search path logging to main()
 * Throttle: Fix disable of probabalistic throttling
   (ticket #1963) (thx mysterious)

2017-03-03 zzz
 * Utils: Fix crash in Windows installer

2017-03-02 zzz
 * SSU:
   - Initial work on introducer expiration (proposal 133)
   - Fix bug in error handling for introduction parameters in RI

2017-03-01 zzz
 * Servlet: Catch OOM in MultiPartRequest

2017-02-27 zzz
 * i2psnark: Fix disappearing start button
 * addressbook: Add date parameter to authentication strings

zzz's avatar
zzz committed
* 2017-02-27 0.9.29 released

2017-02-27 zzz
 * i2ptunnel: Fix generation of advanced authentication strings

2017-02-23 zzz
 * HostTxtParser: Add -q command line option, enhance return codes
 * PrivateKeyFile: Add option to generate addressbook authentication

zzz's avatar
zzz committed
2017-02-20 zzz
 * GeoIP and blocklist update

 * Build: Fix calls to Class.newInstance() deprecated in Java 9
 * I2CP: Return null on decompression failure instead of
   throwing exception (ticket #1915)
 * Utils: Disable caching of ResettableGZIPOutputStreams,
   add more checks for compression failure,
   fix output for zero-length input (ticket #1915)

2017-02-10 zzz
 * Test: Add random delays and drops to LocalClientManager

 * Streaming: Fix optional delay and choking (tickets #1046, #1939)

2017-02-08 zzz
 * I2CP: Return local delivery failure on queue overflow (ticket #1939)

2017-02-05 zzz
 * Console: Consolidate timer threads (ticket #1068)
 * NTCP: Don't write to an inbound connection before
   fully established, causing NPE (ticket #996)
 * Streaming:
   - Don't always send optional delay (ticket #1046)
   - Don't hard fail on expired message error (ticket #1748)

2017-02-04 zzz
 * HTTP proxies:
   - Pass through relative referer URIs, convert same-origin
     absolute referer URIs to relative (ticket #1862)
 * NTP: Enable IPv6 support (ticket #1896)

2017-01-30 zzz
 * Router: Run shutdown tasks in parallel,
   increase max time for shutdown tasks (ticket #1893)
   i2psnark: Remove most delay between announces at shutdown

2017-01-29 zzz
 * i2ptunnel CONNECT proxy:
   - Add support for outproxy plugin (tickets #1364, #1895)
   - Add support for ports

2017-01-28 zzz
 * Utils: Detect when running as service on Gentoo

zzz's avatar
zzz committed
2017-01-26 zzz
 * Build: Set up translations for man pages
 * Javadoc: Fixes (ticket #1894)

2017-01-24 zzz
 * i2prouter: Add root check to restart and condrestart (ticket #1770)

2017-01-17 zzz
 * Utils: Java 9 yakkety workarounds

2017-01-12 zzz
 * DTG: Don't try to start if headless (ticket #1924)

2017-01-07 zzz
 * i2ptunnel: Fix NPE on proxy.i2p/add when no params

2017-01-06 zzz
 * EepGet: Recognize more status codes

2017-01-04 zzz
 * Crypto: Enforce correct seed and hash lengths in EdDSAPrivateKeySpec
 * Data: No longer sort addresses in an RI by SHA256
 * Router: Replace random tunnel keys when rekeying

2016-12-24 zzz
 * Utils: Add RKG command line tool

2016-12-23 zzz
 * Console: Add Referrer-Policy header

2016-12-22 zzz
 * Blocklist:
   - More efficiently check blocklist when receiving new RI
   - Check blocklist when loading RIs
   - Ensure blocklist is initialized before netdb
 * Clock: Fix duplicate notification of clock shift listeners
 * Console: Limit age of news entries displayed
 * Update: Fix JVM crash and i2p.jar corruption when updating from -1

2016-12-21 zzz
 * NTP:
   - Verify source address and port
   - Add to command line
   - Add KoD support (ticket #1897)
   - Add initial IPv6 support (ticket #1896)

2016-12-20 zzz
 * Build: Fix installer compile failure

2016-12-16 zzz
 * Router: Synchronize graceful exit code access
 * Update: Save blocklist version in UpdateManager

2016-12-16 zzz
Prop from i2p.i2p.zzz.test2:
 * BOB:
   - Refactor NamedDB implementation to HashMap
   - Refactor NamedDB locks to ReentrantReadWriteLock
   - All unlocks in finally blocks, remove redundant unlocking
   - Remove throw declaration from methods that don't
   - Read under write lock when that's simpler
   - Use Boolean fields rather than valueOf()
   - Fix unlock order inversion in I2PtoTCP and MUXlisten
   - Remove unused locking in TCPtoI2P
   - Add missing locking in status command
   - Remove redundant locking
   - Remove unnecessary catch-and-rethrows
   - Spelling fix in error message
   - Make some methods static
 * Console: Sort banlist and floodfills in true binary order, not by base64 string
 * Utils:
   - Consolidate stream copy code
   - Consolidate base64 alphabet string

zzz's avatar
zzz committed
* 2016-12-12 0.9.28 released

zzz's avatar
zzz committed
2016-12-09 zzz
 * Translation updates

2016-12-06 zzz
 * GeoIP: Update from Maxmind 2016-12-06

2016-12-05 zzz
 * Router:
   - Revert default family sig type back to ECDSA
   - Update blocklist

2016-12-02 zzz
 * Cleanup: Single char indexOf()
 * Console: Version the css links

zzz's avatar
zzz committed
2016-12-01 zzz
 * NetDb: Peer selection tweaks

2016-11-27 zzz
zzz's avatar
zzz committed
 * NetDb:
   - Add same-port check in peer selector
   - Add MTU, SSU caps, IPv6 prefix, and cost lookups

2016-11-26 zzz
 * NetDb:
   - Add advanced lookup form
   - Add port and sig type lookups
   - Fix /16 and /8 lookup
   - Fix tab highlighted for all lookups
   - Add sybil points for banlist

2016-11-25 zzz
 * SU3File: Add types for blocklist (proposal #130)

2016-11-24 zzz
 * Sybil tool enhancements
 * Blocklist feed tweaks

2016-11-23 zzz
 * Console: Support RI lookup by caps or IP
 * NetDB: Penalize new and slow peers
 * News: Add command line utility support
 * Router: Support blocklist in the news feed (proposal #129)

2016-11-21 zzz
 * NetDB: Fix detection of bandwidth class with multiple values specified

2016-11-20 zzz
 * NetDB: When doing lookups, don't use floodfills too close
 * Router: Change default family sig type to EdDSA

2016-11-17 zzz
 * Build: Add attributes for java version to all jars and wars
 * Blocklist: Add support for IPv6 in blocklist.txt
 * Console: Add netdb lookup by family
 * NetDB: When verifying store, don't use floodfills too close
 * Tomcat 6.0.48

2016-11-16 zzz
 * Console: Remove dead home page links (ticket #1882)
 * Profiles: Pull same-IP detection into a utility class
 * Router: Add methods to verify and track members of our family

2016-11-15 zzz
 * Certs: Add Let's Encrypt ISRG Root X1 cert

2016-11-14 zzz
 * Logs: Fix output of dup message after 30 minutes

2016-11-13 zzz
 * Console: Add initial news to bottom of news page (ticket #1153)
zzz's avatar
zzz committed
 * i2psnark: Periodically save DHT nodes (ticket #1328)
 * UPnP:
   - Prevent exception on bad HTTP header (ticket #1480)
   - Prevent NPE on socket creation fail (tickets #728, #1681)

2016-11-12 zzz
 * Console:
   - Fix inadvertent config save when clicking sidebar
     buttons on /configstats
   - Add IPv6 firewalled setting on /confignet
 * I2CP: Reduce error level on session closed while signing LS (ticket #1606)
 * JRobin: Move DeallocationHelper logging from wrapper log to router log
 * Profiles: Periodically save, delete old ones after saving (ticket #1328)
 * Susimail:
   - Add logout button to more pages (ticket #1374)
   - Fix nonce error on login after logout
   - Fix internal error after cancel button on settings form when not logged in

2016-11-11 zzz
 * Build: Truncate history.txt bundled in installers

2016-11-10 zzz
 * Transport: Use NTCP for some outbound connections even before
   SSU minimums are met (ticket #1835)

2016-11-09 zzz
 * Transport: Add stats for inbound v4/v6 connections (ticket #1854)
 * Tunnels: Reduce default VTBM records from 5 to 4

2016-11-08 zzz
 * Build: Fix minimum Java version for Windows
 * Install: Add max memory option to runplain.sh
 * Crypto: Change serial number in selfsigned certs from int to long
 * Router: Fix low-memory log messages for non-wrapper (ticket #1795)
zzz's avatar
zzz committed
 * Transport: Improve IPv6 address selection logic
2016-11-06 zzz
 * Console: Add Java 9 log warning (ticket #1870)
 * Security: Consistently log authentication failures for all interfaces
 * Util: Consolidate linux service detection code

2016-11-05 zzz
 * Build: Add support for using libtomcat8-java package
 * Console: Add message to ignore InstanceManager warning (ticket #1818)
 * SusiDNS: Fix jsp EL syntax error with EL 3.0 (Tomcat 8) (ticket #1870)

2016-11-04 zzz
 * Console: Improve handling and logging of webapps that fail to start
 * i2psnark: Add launch-i2psnark.bat (ticket #1871)
 * Transports:
   - New config i2np.allowLocal, fixes test networks (ticket #1875)
   - New configs i2np.udp.minpeers and i2np.udp.minv6peers, for testing (ticket #1876)

2016-10-29 zzz
 * Console: Java 9 fixes for classloader (ticket #1870)

2016-10-28 zzz
 * Build: Fix typo in jcpuid build.sh for Mac (ticket #1865)
 * Crypto:
   - Generate more-conforming selfsigned certs (ticket #1853)
   - Remove deprecated Sha256Standalone as scheduled
 * Utils:
   - Fix Java version detection for Java 9 (ticket #1870)
   - Add Addresses methods for multiple DNS results (ticket #1050)

2016-10-26 zzz
 * Build: Mac jbigi/jcpuid improvements and docs (ticket #1865)
 * JRobin 1.6.0-1
 * Systray: Remove old 32-bit Windows implementation, replaced by DTG

2016-10-25 zzz
 * i2psnark: Better calculation of total upload limit
 * SSU: Increase max IPv6 MTU (proposal #127)
 * Zxing 3.3.0

2016-10-23 zzz
 * Crypto: Create keystore directory when making SSL keys (ticket #1866)

2016-10-22 zzz
 * Build: Fix jbigi build in Arch Linux and others for Java 8 (ticket #1863)
 * Console:
   - New Korean translation
   - New Chinese (Taiwan) translations for susidns, susimail, debian
   - New initial news translations: Czech, Greek
 * Jetty 8.1.21.v20160908

zzz's avatar
zzz committed
2016-10-21 zzz
 * Console:
   - New Galician translation
   - Remove calls to deprecated two-arg setStatus()
zzz's avatar
zzz committed
 * Crypto: Actually use a random nonzero byte in ElGamal
 * Data: Cache serialized leasesets on floodfills
 * NetDB: Disallow RSA for RI or LS
 * Tomcat 6.0.47
 * Utils: Add MTU to command line utils
zzz's avatar
zzz committed
 * Wrapper 3.5.30

2016-10-20 zzz
 * Build: Add library jars to i2p.jar classpath for Debian builds
 * Console: Fix HTML error on /configservice
 * Debian: Update package descriptions, allow Java 9
 * i2psnark: Add ids to rows, add to per-torrent show peers link
 * SSU: Fix minimum version check for IPv6 peer test (tickets #1829, #1861)
zzz's avatar
zzz committed
* 2016-10-17 0.9.27 released

2016-10-16 zzz
 * Fix test for IPv6 firewalled configuration

zzz's avatar
zzz committed
2016-10-14 zzz
 * Translations: Update from Transifex

2016-10-10 zzz
 * Debian: Don't use glassfish-javaee.jar for jstl.jar (ticket #1793)

2016-10-06 zzz
 * GeoIP: Update from Maxmind 2016-10-04

2016-10-02 zzz
 * Crypto: Add EdDSA private key spec constructor for hash
 * i2psnark: Add standalone shutdown method
 * i2ptunnel: Registration page layout fixes
 * SusiMail:
   - Show settings button even if no messages
   - Add nonce to forms (thx Kevin Froman)

2016-09-24 zzz
 * DesktopGUI: Enable by default on Windows
 * i2ptunnel:
   - Don't accept default 'mysite.i2p' as a valid spoof host
   - Don't wrap destination in status message box
 * Reseed: Remove user.mx24.eu as requested
 * Utils: Move SipHashInline from util to crypto

2016-09-22 zzz
 * Crypto: Don't NPE in encoding when field not set
 * DataHelper: Fix read() for nonzero offset
 * i2ptunnel: Whitelist IRC AWAY inbound

2016-08-21 zzz
 * Console: Add jsps to view entire router.log and wrapper.log files

2016-08-19 zzz
 * CPUID: Add IDs for Kaby Lake
 * JettyStart: Fix main()
 * Router: Fix return code in getShutdownTimeRemaining()
 * Tunnels:
   - Enable tunnel testing when in hidden mode (ticket #1192)
   - Enable tunnel testing when without addresses (ticket #1835)
   - Use fast peers for inbound tunnels when without addresses (ticket #1835)

2016-08-14 zzz
 * i2ptunnel:
   - Register actual listen host with port mapper
   - Register POP and SMTP ports with port mapper
 * Reseed: Add new 'atomike' reseed

2016-08-12 zzz
 * i2ptunnel:
   - Add outproxy plugin support to SOCKS (ticket #1824)
   - Use preferred sigtype for new SOCKS tunnels

2016-08-09 zzz
 * Console: Fix UPnP NPE on /peers (ticket #1830)

2016-08-02 zzz
 * i2psnark: Fix SIOOBE on bad announce URL (ticket #1823)
 * SSU: Fix peer test stuck when IPv6-only (ticket #1819)
 * Streaming: Fix debug NPE (ticket #1821)

2016-07-20 zzz
 * SSU:
   - Increase minimum peers if we have a IPv6 address
   - Check for 'B' cap for peer test
   - Fix peer test IP length check

zzz's avatar
zzz committed
 * i2ptunnel: Block 'Proxy' header
 * SU3File: Also look in config dir for signer certificate

2016-07-16 zzz
 * I2CP Client: Handle disconnect properly if received before first LS
 * Streaming: Kill accept() when session disconnects

2016-06-25 zzz
 * SSU peer testing: Add IPv6 implementation (ticket #1752; proposal #126)
 * Utils: Improve random seed initialization
zzz's avatar
zzz committed
2016-06-22 zzz
 * SSU peer testing:
   - Forget the test and don't keep retransmitting to Charlie
     if we receive the Bob reply after the 2nd Charlie reply
   - Only fire a peer test on connection if address has changed

2016-06-16 zzz
 * Console: Split up configclients, add configi2cp,
   configplugins, configwebapps (ticket #1804)

2016-06-15 zzz
 * Utils: Add method to set language in standalone app context
 * i2psnark:
   - Add form to set language in standalone context
   - Add Ukrainian and Japanese translations

zzz's avatar
zzz committed
2016-06-11 zzz
Prop from i2p.i2p.zzz.test2:
 * CPUID: Add CLI output for new AMD tests
zzz's avatar
zzz committed
 * i2psnark standalone (ticket #1191):
zzz's avatar
zzz committed
   - Cherry-pick fixes from psi's github i2psnark_rpc branch
   - Fix up Jetty XML file for Jetty 8
   - Start with JettyStart
   - Add UrlLauncher to launch browser
   - Fix up paths in CSS files during build
   - Force startup delay to 0
   - Fix theme selection
   - Adjust CSS and image paths
   - Add shutdown hook to delete temp dir
 * i2ptunnel CLI: Don't set the listen host to the I2CP host
 * jbigi:
   - Fix GMP version reporting for shared library (ticket #1800)
   - mbuild-all script fixes
 * NetDB: Improve handling of deferred search result jobs

zzz's avatar
zzz committed
* 2016-06-07 0.9.26 released

zzz's avatar
zzz committed
2016-06-03 zzz
 * Update translations from Transifex

2016-06-01 zzz
 * Build: Fix Debian build on ARM (ticket #1801)

2016-05-29 zzz
 * Console: Fix /configfamily form (ticket #1797)

str4d's avatar
str4d committed
2016-05-29 str4d
 * CertUtil: Dynamically load javax.naming classes to avoid
   VerifyErrors on some Androids
str4d's avatar
str4d committed
 * LogWriter: Dynamically load Android writer

2016-05-26 zzz
 * Build: Launchpad build fixes

2016-05-25 zzz
 * DesktopGui: Add monochrome icons for Windows and Mac
 * Reseed:
   - Require two sources minimum (ticket #1794)
   - Update list of sources requiring SNI
 * Translations: Update English po files

str4d's avatar
str4d committed
2016-05-22 str4d
 * I2CP: Dynamically load Android domain socket code

2016-05-20 zzz
 * DesktopGui:
   - Fix systray menu redraw on Mac;
   - Switch to AWT by default on Mac;
   - Hide DTG enable on Mac until we fix dock

2016-05-19 zzz
 * Config files, eepsite help: Add path information for OS X
   and Windows as a service. (ticket #1495)

2016-05-12 zzz
 * NTP:
   - Don't put random data in zeroed fields
   - Increase random data in originate timestamp from 1 byte to 2 bytes
   - Verify originate timestamp to prevent injection
   - Verify received packet size
 * SSU:
   - If configured with a hostname, bind to all v4/v6
     addresses found for that hostname.
   - Fix binding if more than one IP or host was configured.

2016-05-09 zzz
 * Console:
   - Fix escaping of search URLs on /confighome
   - Fix HTML error on /configui
 * DesktopGui: Add 9 new translations
 * i2psnark: Limit cases when we display tracker errors;
   include host name of tracker when we do

2016-05-08 zzz
 * Console: Fix UTF-8 passwords, partial fix for usernames

zzz's avatar
zzz committed
2016-05-07 zzz
 * Build:
   - Add DTG to updater
   - Fix and bundle DTG license info
   - Remove jstl.jar and standard.jar from updater,
     last changed in 0.9
   - Fix bundling of Tomcat license info
   - Add back the old way to build bundles for gettext < 0.19
 * Console:
   - Change to new DTG constructor
   - Don't attempt to start systray or DTG when running as a service
   - Show systray controls for all OSes on /configservice
   - Implement backend for systray control
 * DesktopGui:
   - Implement second TrayManager menu implementation in Swing.
   - Use Swing except on Windows
   - Hide restart menu items if no wrapper
   - Add graceful restart and shutdown menu items
   - Add basic adjustment of menu based on shutdown state
   - Disable wrapper notification for now
   - Remove Swing DesktopguiConfigurationFrame,
     move to a submenu.
   - Remove LookAndFeel setting
   - Make Main class a RouterApp
   - Remove all static log, context, and instance fields
   - Remove unused ConfigurationManager class
   - Translate tooltip, disable tooltip on linux
   - Use safer exec call to start i2p
   - Remove all images, use itoopie
   - Don't start spinner thread in router context
   - Handle various startup errors better
   - Synchs, finals, javadocs, cleanups

2016-05-04 zzz
zzz's avatar
zzz committed
 * i2prouter: Set JAVA_HOME correctly on Mac OS X 10.5 and later (ticket #1783)
 * Utils: Fix bug in periodic timers triggered by
   a backwards clock shift, caused graphs to be blank
   and various router, streaming, and i2ptunnel
zzz's avatar
zzz committed
   degradations over time (tickets #1702, #1776)
zzz's avatar
zzz committed
 * Wrapper: Update to wrapper 3.5.29, except for Windows.
   Fixes wrapper failure on FreeBSD 10 (ticket #1118)

2016-05-01 zzz
 * Build: Compile resource bundles from ant, not msgfmt,
   speeding up builds with translations by 20x
 * Debian: Back out libhttpclient-java dependency,
   requires 4.4 which is too recent for most distros

2016-04-30 zzz
 * Blocklist: Add RFC 6598 addresses
 * Console:
   - Only display cpuid information on x86
   - Readme page link fixes (tickets #1789, #1790)
 * Data: Fix NPE calculating the hash of a RI of unknown sig type
 * Debian:
   - Add runtime dependency on libhttpclient-java,
     link to /usr/share/java/httpclient.jar and httpcore.jar
 * Eepsite: comment out gzip filtering in cgi context,
   causes hung threads, root cause unknown
 * Router: Reduce log level of RI sig failure
 * SAM: Log tweaks (ticket #1778)

2016-04-29 zzz
 * Debian:
   - Add runtime dependency on gettext-base,
     link to /usr/share/java/libintl.jar
   - Add runtime dependency on libgetopt-java,
     link to /usr/share/java/gnu-getopt.jar
 * SysTray:
   - Remove systray4j.jar from linux installers
   - Move SysTray.java to SysTrayImpl.java
   - New SysTray.java that instantiates SysTrayImpl
     by reflection, so the SysTrayImpl.java source is optional
   - Remove systray4j.jar, systray4j.dll, and SysTrayImpl.java
     from Debian source packages
   - Remove systray4j.jar from Debian binary packages
 * Update: Enable libjbigi update for ARM

2016-04-28 zzz
 * News: Parse and store CRLs in news feed

zzz's avatar
zzz committed
2016-04-28 zzz
Prop from i2p.i2p.zzz.gmp6-prop:
 * CPUID:
   - Added source of CPUID information
   - Made CPUIDCPUInfo non-abstract to support looking for
     CPU features during CPU identification
   - Add support for extended feature registers EBX/ECX
   - No such thing as EBX for 0x80000001 call; remove getExtendedEBXCPUFlags(),
     replaced with getExtendedEBXFeatureFlags()
   - Check for support of 6 required Core i3/i5/i7 instructions to enable Haswell,
     since GMP Haswell requires Core i3/i5/i7 support.
     There are Pentium/Celeron Haswells that do not support these instructions.
   - Added AVX, AVX2, AVX512, TBM, ADX, BMI1, BMI2, MOVBE, FMA3 feature detection
   - More diagnostic output in CPUID.main()
   - More javadocs
   - Only call getCPUVendorID() once in getInfo()
   - Recognize Skylake
   - Do the same checks for Broadwell and Skylake that we do for
     Haswell, and check ADX as well, which will be used in GMP 6.1
 * Crypto:
   - Use constant time modPow() for signing and decryption
   - Use native modInverse()
 * libjbigi:
   - Added nativeJbigiVersion(), nativeGMPMajorVersion(),
     nativeGMPMinorVersion(), nativeGMPPatchVersion(),
     nativeModInverse(), nativeModPowCT()
   - Support negative vaules in conversion functions
   - Support negative base value in modPow()
   - Throw ArithmeticException for bad arguments rather than crashing
   - New build targets
   - Drop 32-bit corei libs where they are identical to the
     core2 lib, since we now have a generic fallback in NBI:
     libjbigi-freebsd-corei.so, libjbigi-linux-corei.so,
     libjbigi-osx-corei.jnilib
   - Revamped downloading of gmp files
   - Revamped cross-compilation support
   - Added 'osx' alias for darwin
   - Added FreeBSD cross-compilation instructions
   - Removed NetBSD, kFreeBSD, Solaris, OpenBSD binaries
   - Added coreihwl, coreisbr, bulldozer, steamroller,
     cortex a9, and cortex a15 support
   - Rebuilt all binaries with GMP 6.0.0a
 * libjcpuid:
   - Add nativeJcpuidVersion()
   - Clear ECX register to ensure it will work with EAX=7
   - Added jcpuid build instructions for linux/osx/freebsd/windows
   - Improved build script
   - Imported Microsoft Visual Studio Community 2015 project files.
   - Fixed OSX include search path
   - Rebuilt all binaries
 * NativeBigInteger:
   - Version reporting
   - Total redesign of fallback code
   - core2 is always a fallback for corei, and
     core2_64 is always a fallback for corei_64
   - Remove special case for core2/corei in getMiddleName2()
     since it's now a fallback in getResourceList()
   - Added support for new CPUs:
     Intel Sandy Bridge, Haswell and Broadwell;
     AMD Bulldozer, Piledriver, Steamroller, Excavator and Jaguar;
     ARM Cortex A5/A7/A8/A9/A15; ARM A12/A17 using the A15 libs
   - Test improvements:
     Output versions; Only warmup crypto once;
     Add -n option to test native only;
     Reduce output if only native or only Java tested;
     Try to prevent not-coprime errors

2016-04-26 zzz
 * Addressbook:
   - Finish implementation of signed actions
   - Move HostTxtEntry to net.i2p.client.naming for use by i2ptunnel
   - Add tests for Daemon to read local subscription file
   - Store last-modified date
   - Logging cleanups and consolidation
 * Blockfile: Remove unused code and classes
 * BlockfileNamingService:
   - Implementation and fixes for new API methods
   - Add support for long property values, backward compatbile, no version bump
 * DataHelper: Properties methods cleanup
 * i2ptunnel:
   - New page for registration authentication
   - Remove old, unused hostname signature generation
 * NamingService: Add new API methods for reverseLookupAll()
 * PrivateKeyFile:
   - Add InputStream constructor for i2ptunnel
   - Ensure initialization before returning private keys
 * SusiDNS:
   - Display signature validation on details page
   - Add support for multiple dests per hostname

2016-04-20 zzz
 * Addressbook:
   - Add sign/verify methods for inner signature
   - Add preliminary handling of incoming actions
 * Blockfile:
   - Add generics
   - Add method to change serialization schema for a skiplist
   - Fix delIndex() method
 * BlockfileNamingService:
   - New database version 4, for multiple destinations per hostname
   - Disallow database version higher than supported
 * NamingService: Add new API methods for multiple Destinations per hostname

2016-04-17 zzz
 * Addressbook:
   - Several cleanups and refactoring
   - Add initial support for signatures in subscriptions
   - Fix main-class in addressbook.jar
   - Fix corrupted manifest in addressbook.jar
 * Build: Fix broken build from scratch in jetty build.xml
 * Console:
   - Add JSTL version to /logs
   - Update version warnings
   - Add OpenJDK check for ARM
 * PrivateKeyFile: Add method to specify sig type on creation
 * SingleFileNamingService: Store signature properties on write
 * TunnelId: Add max value check

2016-04-13 zzz
 * SOCKS: Fix NPE on lookup failure in SOCKS 4a

zzz's avatar
zzz committed
2016-04-07 zzz
 * Debian builds:
   - Prep for depending on tomcat packages
   - Minor fixes

2016-04-04 zzz
 * Debian builds:
   - Depend on glassfish-javaee for JSTL 1.2 by default

zzz's avatar
zzz committed
2016-04-03 zzz
 * Debian builds:
   - Add build options to depend on various packages
   - Depend on geoip-database and libjetty8-java by default
   - Add debian-alt directory with configurations for alternate series
   - Prep for depending on additional packages
   - Improvements in ant debian build targets
 * Transport:
   - Add library to read standard Maxmind geoip database format
   - Use system Maxmind geoip files if available

zzz's avatar
zzz committed
* 2016-03-22 0.9.25 released

2016-03-14 zzz
 * Console: Replace pastethis with zerobin
 * Peer selection: Don't truncate data used for random slice
 * Router: Fix corner cases maintaining local leasesets (ticket #1768)
 * Susimail: Fix NPE
 * UPnP: Fix NPE in HTML output on /peers (ticket #1779)

2016-03-01 zzz
 * i2psnark: Fix handling of HAVE messages received before metainfo
 * i2ptunnel: Don't default to a private key file that exists (ticket #1628)
 * NetDb:
   - Search for new leaseset before expiration;
   - Reduce expiration for router infos with introducers
   - Add missing reseed cert
 * SSU: Switch introducers less often

zzz's avatar
zzz committed
2016-02-26 zzz
 * Console:
   - Add X-Content-Type-Options header everywhere (ticket #1763)
   - Don't display error after clicking restart on /graph page (ticket #1582)
 * i2ptunnel:
   - Fix default shouldBundleReplyInfo for non-HTTP servers
   - Fix display of hostname signature
   - Add QR code generation
 * Router: Log full path to wrapper.log when dumping threads
 * Transports: Increase connection limits for class N and higher
 * Utils: Add main classes to i2p.jar and router.jar
   for simple command line access to utilities
zzz's avatar
zzz committed

2016-02-22 zzz
 * Console: Improve news CSS (ticket #1710)
 * Crypto: Blacklist certificates by SHA1 hash, not by serial/CN/OU
 * I2CP: Improve client error message when internal router connection fails 
 * Graphs: Increase font size
 * Transports: Increase default max inbound bandwidth,
   increase minimum in/out bandwidths

2016-02-19 zzz
 * Clock: Add sanity checks to detect invalid system clock

2016-02-18 zzz
 * Console: Clean up display and form handling
   for specifying a fixed host name or IP on /confignet
 * Crypto: Add utilities for loading CRLs from disk;
   check for revocation when reading in certificates
 * Transport:
   - Implement mayDisconnect() for outbound connections also,
     use when publishing RI directly to floodfill
   - Run SSU idle disconnect check faster if floodfill or near connection limit
 * NetDB: Fix bug publishing router info too often

zzz's avatar
zzz committed
2016-02-17 zzz
 * i2psnark: Increase max files per torrent to 2000
 * I2PTunnel: Improve layout of blacklist radio buttons
 * Router: Switch to new lease sooner before expiration
 * SAM: Don't log an error on datagram send success

zzz's avatar
zzz committed
2016-02-13 zzz
 * I2PTunnel:
   - Add options to block by referer and user-agent
   - Log blocked destinations in b32, not b64
 * Imagegen: Add text to QR codes

2016-02-10 zzz
 * Crypto: Use new internal key generation instead of calling
   out to keytool; save CRL for new su3 amd family keys

2016-02-09 zzz
 * Crypto: Fix raw (su3) signing, broken in test2 prop (-2)

zzz's avatar
zzz committed
2016-02-08 zzz
 * BOB: Fix invalid output after getnick (ticket #1204)
 * SAM v3.3:
   - Add support for MASTER sessions
   - Add support for per-packet optins SEND_TAGS, TAG_THRESHOLD, EXPIRES, and SEND_LEASESET
   - Refactoring and cleanups
   - Client test enhancements
   - Fix bug receiving datagrams on v3 sessions with UTF-8 session IDs

zzz's avatar
zzz committed
2016-02-03 zzz
Prop from i2p.i2p.zzz.test2:
 * Build: More checks in release target
 * Console:
   - New /configfamily for export/import and setup (ticket #1510)
   - Custom icons for non-webapp plugins (ticket #1550)
   - Add secure.thethinhat.i2p to console home page and hosts.txt
 * Crypto:
   - Implement EdDSA key encoding and decoding (ticket #1723, github issue #13)
   - Fix I2P crypto provider and add it
   - Specify I2P provider in keytool arguments when necessary
   - Add EdDSA key generator support to provider
   - Synch fix in EdDSA (github issue #10)
   - Add hashCode() and equals() everywhere it was missing in EdDSA
   - Put unknown class name in EdDSA exceptions
   - Implement one-shot methods in EdDSA so we don't copy
     the data if all the data is available (ticket #1750)
   - Fix API violation if EdDSA signing object is reused (ticket #1750)
   - Add ElGamal classes, from Bouncy Castle 1.53, for provider
   - Implement Java ElGamal keys built on the BC classes
   - Add KeyFactory and KeyPairGenerator for ElGamal
   - Add ElGamal signature implementation, to be reviewed
   - KeyGenerator: Check that dsax is greater than zero
   - SHA256Generator: Don't fall back to Sha256Standalone,
     SHA-256 support must now be in the JRE.
     Deprecate all uses of Sha256Standalone, schedule for removal.
     This will require a new Syndie release.
   - New utils to support private key import/export
   - Add support for CRL generation and export
   - Consolidate PEM encoding
   - Improve ASN.1 signature encoding/decoding utilities
   - New selfsigned key and cert generator,
     to be hooked in to KeyStoreUtil to replace keytool.
   - Add EdDSA_SHA512_Ed25519ph sig type
   - Add OIDs to sig types
 * I2PTunnel: Fix exception message choice that was backwards
   for router/non-router context
 * Jetty: Add gzip filter to eepsite Jetty (new installs only)
 * Random: Don't bother trying to seed from /dev/urandom on Windows
 * Router: Make network ID configurable
zzz's avatar
zzz committed
 * Utils: New ArraySet implementation
zzz's avatar
zzz committed

2016-02-01 zzz
 * Imagegen:
   - Return 403 if no code specified in QR or RA
   - Mode parameter for html or text in RA
   - Set RA text-mode character encoding
   - Fix up test page

zzz's avatar
zzz committed
2016-02-01 zzz
Prop from i2p.i2p.zzz.imagegen:
 * Console:
   - New imagegen webapp, including servlets for identicons, QR codes,
     and random art. Bundles a small part of zxing, most of identicon,
zzz's avatar
zzz committed
     and a rewrite of randomart from gnutls (ticket #1652)
zzz's avatar
zzz committed
   - Add identicons to sybil page.
 * i2ptunnel: Add identicons to i2ptunnel address helper conflict page.
     Clean up text on the conflict page for readability.
 * SusiDNS:
   - Display QR and identicon images on details page
   - Fix title whitespace

zzz's avatar
zzz committed
* 2016-01-27 0.9.24 released

2016-01-27 zzz
 * SocksHeader: Fix arraycopy argument order
 * SSU: Fix minimum version for extended options

2016-01-20 zzz
 * SusiDNS: Replace image (ticket #1301)

2016-01-17 zzz
 * BuildHandler: Disable tunnel removal on next-hop timeout
 * Console:
   - Fix mime type for svg in themes directory
   - Add zh_TW translation
 * Fortuna: Add getByte() method
 * i2psnark: add opendocument mime types
 * i2ptunnel: Remove unused stats
 * Utils: Move CachedIteratorArrayList from core to router

zzz's avatar
zzz committed
2016-01-13 zzz
 * BuildHandler: More early-disconnect cases
 * Family: Add i2p-dev cert

2016-01-10 zzz
 * Tunnels: Fix build request Bloom filter (ticket #1746)

2016-01-07 zzz
 * Console: Fixed summary bar overflow (ticket #1739)

2016-01-06 zzz
 * Build: Remove big geoip files from release again
 * Console: Properly register listen hosts with PortMapper
 * DataHelper: Optimize checks in storeProps()
 * I2PTunnel: Fixup console links in error pages if console is
   on a non-standard host or port, or on https
 * Jetty: Change default source logging from b64 to b32.
   To change back to b64, add the following to the RequestLogImpl
   section of jetty.xml: <Set name="b64">true</Set>
 * NetDB: Don't query floodfills if they are too old to
   support sig types or encrypted replies (ticket #1742)
 * PortMapper: Add method to convert wildcard host to actual host

2015-12-21 zzz
 * SSU: Hand all messages pending after establishment to the
   outbound queue at once, for efficiency.
   Don't sort outbound messages by size, keep priority order instead.

zzz's avatar
zzz committed
2015-12-20 zzz
 * BuildHandler: Additional fixes (ticket #1738)
 * CertUtil: Add methods to export private keys
 * Console: Sybil tool enhancements
zzz's avatar
zzz committed
 * Transports:
   - Disconnect faster when first message is a
     tunnel build request which we reject
   - Display SSU sent/received messages, not packets,
     on /peers to be consistent with NTCP

2015-12-18 zzz
 * BuildHandler: Fix NPE (ticket #1738)

2015-12-16 zzz
 * Profiles:
   - Don't use same family in a tunnel
   - Reduce IPv6 mask from 8 to 6

zzz's avatar
zzz committed
2015-12-13 zzz
 * Data: Optimize router info writes, disable caching

2015-12-12 zzz
 * Router:
   - Add family public key to router info (ticket #1510)
   - More deadlock prevention (ticket #1722)

2015-12-11 zzz
 * Logs: Windows line ending fixes
 * Router:
   - Fix family verification, partially hook into netdb store()
   - Limit wait for NTP to 45 seconds (ticket #1725)
   - Increase lookup cache max sizes,
     reduce max lookup depth, and increase non-floodfill profile bonus
     to attempt to reduce load on floodfills
   - Don't let context clock shifts affect calculated uptime
 * Transport: More deadlock prevention (ticket #1722)
 * SSU: Fix outbound IPv6 errors on Windows without a real v6 address
   when explict host is set. Validate addresses before confirming that
   we have an IPv6 address. Possibly related to ticket #1538.
 * Wrapper: Listen for Windows Service shutdown events to stop router

zzz's avatar
zzz committed
2015-12-10 zzz
 * Router:
   - Change addCapabilities() to getCapabilities()
   - Add netdb family sign/verify utility (ticket #1510)
 * RouterInfo:
   - Remove addCapability() and delCapability()
 * StatPublisher:
   - Remove Service interface, not required
   - Consolidate getCapabilities() and network ID here
   - Add family signatures

str4d's avatar
str4d committed
2015-12-08 str4d
 * Core: Fill in basic datastructure length tests
 * Ministreaming: Add unit tests
 * Streaming:
   - Add more unit tests
   - Separate out integration tests

zzz's avatar
zzz committed
2015-12-08 zzz
 * Crypto: Consolidate certificate import methods

2015-12-06 zzz
 * Console: Don't force profile creation when loading floodfill tab
 * Installer: Add wrapper deadlock detection to default wrapper.config
 * NetDb: Stub out a "family" indicator (ticket #1510)
 * Profiles: More changes to reduce memory usage
 * Startup: Increase rekey probability
 * Sybil tool: Tweaks and enhancements

zzz's avatar
zzz committed
2015-12-04 zzz
 * Console: Fix NPE on /profiles
 * Profiles:
   - Fix first heard about to be earliest, undeprecate
   - Fixup first heard about at profile readin
   - Persist good/bad lookup/store DBHistory stats added in 0.7.8
   - Remove unused DBHistory methods and fields to save memory
   - Change bonus longs to ints to save memory
   - Extend profile expiration time from 3 days to 15
   - Consolidate getLong()
   - Synch fixes
 * Sybil tool: Tweaks and enhancements

2015-12-03 zzz
 * Console: Add experimental Sybil analysis tool
zzz's avatar
zzz committed
 * NetDb: Fix deadlock (ticket #1722)
zzz's avatar
zzz committed
2015-12-01 zzz
 * i2psnark:
   - Consolidate default tunnel length definition
   - Increase max peers and uploaders per torrent
   - Increase default max total uploaders
   - Increase max peers sent and returned in DHT
zzz's avatar
zzz committed
 * SAM:
zzz's avatar
zzz committed
   - Don't map keys to upper case in parser, corrupts I2CP options
   - Register SSL and UDP ports with PortMapper
zzz's avatar
zzz committed
 * SSU: Allow IP and port in relay request if it matches the source
 * Transport: Interrupt DH refiller thread when pool is empty,
   to speed refilling and reduce pumper stalls
zzz's avatar
zzz committed

2015-11-30 zzz
 * SAM:
   - Timeout for first command after HELLO
   - Send error message if no NAME key in LOOKUP
   - Destination caching enhancements
   - Client: Add SSL forward support, handle header line in forwarded stream

2015-11-29 zzz
 * i2ptunnel:
   - Change preferred sig type to Ed
   - Set permissions on backup tunnel keys file

2015-11-28 zzz
 * i2psnark:
   - Fix NPE caused by URL-to-URI conversion in -2 (ticket #1715)
   - Increase max pieces to 32K
zzz's avatar
zzz committed
   - BEP 21 support (upload_only)
zzz's avatar
zzz committed
 * SAM:
   - Fix parser to allow spaces in quoted values (tickets #1325, #1488)
   - Handle UTF-8 in ReadLine (ticket #1488)
   - 3.2 complete (ticket #1574)

2015-11-27 zzz
 * SAM:
   - Use DataHelper to load/store sam.keys
   - Move sam.keys to config dir (ticket #677)

zzz's avatar
zzz committed
2015-11-27 zzz
Prop from i2p.i2p.zzz.sam:
 * PasswordManager: new methods for use by SAM
 * SAM:
   - Use getopt for SAM args processing
   - Change default host from 0.0.0.0 to 127.0.0.1
   - Add SSL support with -s option (ticket #1106)
zzz's avatar
zzz committed
   - Add -c configfile option, default sam.config
   - Add protocol and port notification (ticket #1323)
   - Add authorization options in HELLO (ticket #1106)
zzz's avatar
zzz committed
   - Add AUTH commands: ENABLE, DISABLE, ADD, REMOVE
   - Add PING, PONG commands (tickets #1572, #1573)
   - Add QUIT, STOP, EXIT commands
zzz's avatar
zzz committed
   - Add SSL option for STREAM FORWARD
   - Move DatagramServer from SAMv3Handler to its own file
   - Make DatagramServer a Handler, register with bridge
   - Use ReadLine with timeout for SAMHandlerFactory
   - Support parallel STREAM ACCEPTs
   - Add HEADER option for RAW forwarding
   - Better exception handling
   - Extensive enhancements to Java client for testing
   - Bump version to 3.2 (ticket #1574)
zzz's avatar
zzz committed
 * Streaming: Fix recognition of PoisonPacket in ConnectionHandler

2015-11-22 zzz
Prop from i2p.i2p.zzz.test2:
 * Build:
   - More release checks
   - Add systray dependency tracking to build
   - Remove commons-logging classes from commons-logging.jar (ticket #1679)
 * Lint:
   - Replace URL with URI where possible
   - Don't use DataHelper.fromLong() for 1-byte reads, for efficiency
   - Don't catch Exception, catch RuntimeException or checked exception.
 * i2psnark:
   - Minor details page reformatting
   - Add skipped length on details page
 * NewsManager: Make it a ClientApp, not a RouterApp
 * Profiles: Don't allow creation of our own profile
 * Router: Revert JobTiming being a clock shift listener, not needed
 * SSU:
   - Support extended options
   - Add support for requesting a relay tag via
zzz's avatar
zzz committed
     Session Request extended options (tickets #1465, #1656)
 * Tunnels:
   - Locking fixes
   - Don't set stats in our own profile
   - Minor optimizations
 * Utils:
   - Centralize time zone code in DataHelper
   - Add caching string split()

2015-11-21 zzz
  * Console: Fix escaping of plugin description on /configclients (ticket #1711)

str4d's avatar
str4d committed
* 2015-11-19 0.9.23 released

2015-11-19 str4d
  * build.xml: Stop building SUD and SU2 update files in "ant release" (ticket #1709)

2015-11-15 kytv
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2015-11-03.
kytv's avatar
kytv committed
 * Translation updates
zab2's avatar
zab2 committed
2015-11-13 zab
 * Interrupt() when cancelling scheduled tasks (tickets #1694, #1705)
zab2's avatar
zab2 committed

2015-11-13 zzz
 * Console: Fix lifetime participating bandwidth display (ticket #1706)

2015-11-12 zzz
 * Console /configclients:
   = Fix filtering and escaping
   - Fix autostart setting on new client, was inverted

2015-11-11 zzz
 * i2psnark:
   - Change log level to hide socket closed error at tunnel shutdown (ticket #1687)
   - Increase max pieces
 * Timers: State fix 4th try (tickets #1694, #1705)

 * I2CP: Fix additional connections getting rejected during tunnel open (tickets #1650, #1698)
 * Streaming: Split blacklist into one for EC and one for Ed

2015-11-04 zzz
 * Threads: More conversions to I2PAppThread
 * Timers: Improve OutboundMessageRegistry locking (ticket #1694)

2015-11-02 z3r0fox
 * EepGet: Fix command line filename selection (ticket #1616)

2015-11-01 zzz
 * Utils: Double IP lookup cache size (ticket #1700)

2015-10-31 zzz
 * Convert remaining Threads to I2PThread or I2PAppThread
 * UPnP: Fix deadlock in callbacks (ticket #1699)

2015-10-30 zzz
 * Router: Fix cascading I2CP error (ticket #1692)

2015-10-21 zzz
 * i2psnark: More consistency and torrent links in messages
 * Router: Increase timer thread priority

2015-10-17 zzz
 * Crypto:
   - Consolidate duplicate unlimited strength crypto check code
   - Disable TLS_DHE_DSS_WITH_AES_128_CBC_SHA

 * Console: Add Java 6 warning to summary bar
 * i2psnark:
   - Fix deadlock (ticket #1432)
   - Add "smart sort" option, set sort based on language (tickets #637, #1303)
   - Don't balloon files on ARM (ticket #1684)

2015-10-14 zzz
 * Update:
   - Require Java 7 to download dev builds (ticket #1669)
   - Fix persistence of the available dev version

2015-10-13 zzz
 * Startup: Delete our old RI from netDB when rekeying

2015-10-11 zzz
 * Crypto: Test for broken Gentoo ECDSA support

2015-10-10 zzz
 * i2psnark: Increase max piece size to 16 MB, max files to 999,
   close files faster based on file count (tickets #1626, #1671)
 * JobQueue: Only adjust timing for negative clock shifts
 * NamingServices: Add support for lookups prefixed with "www."
 * Startup: Increase rekey probability
2015-10-08 zzz
 * SimpleTimer2: Additional fix for uncaught IllegalStateException
   affecting streaming timers (ticket #1672)

2015-10-02 zzz
 * Router: Don't check config files for reload on Android

2015-09-28 zzz
 * Addressbook: Fix isValidDest() for EC/Ed dests
 * i2psnark: Support adding plain base 32 hashes
 * Susimail: Hide headers and buttons if search results are empty

2015-09-27 dg
 * Router: Fix soft restarts for 'massive' clock jumps (over +150s or -61s) and recover from standby
   and hibernate (ticket #1014).

2015-09-27 zzz
 * Console:
   - Export SSL cert on creation
   - New /certs page to show local SSL certs
   - Show 'none' if no leasesets
 * SimpleTimer2: Fix bug in forceReschedule() that caused subsequent uncaught IllegalStateException,
   affected streaming timers
 * Streaming: Move throttler from context timer to streaming timer
 * Tunnels: Use max of 2 not-failing peers in an exploratory tunnel,
   use high cap for the rest; change outbound exploratory
   default length from 2 + 0-1 to 3+0.
 * Util: Speed up IP address validation by using Apache's implementation (ticket #1198)
2015-09-25 dg
 * Rename _() for translation to _t() for Java 9 compatibility (ticket #1456)

2015-09-24 zzz
  - Rename bad .torrent files instead of deleting them

dg2-new's avatar
dg2-new committed
2015-09-20 dg
 * /configreseed: Add 'Reset URL list' button for revert to default hosts (ticket #1554, thanks dzirtt@gmail.com)

2015-09-19 zzz
 * i2psnark: Add recheck/start/stop buttons to details page (ticket #372)

2015-09-18 zzz
 * EepGet:
   - Send Accept-Encoding: gzip even when proxied
   - Fix man page (ticket #1631)
 * i2psnark:
   - Don't display "Tracker Error" if torrent is stopped (ticket #1654)
   - Improve directory listing efficiency (ticket #1079)
 * i2ptunnel:
   - Pass Accept-Encoding header through HTTP client and server proxies,
     to allow end-to-end compression
   - Don't do transparent response compression if response
     Content-Encoding indicates it is already compressed
 * Streaming: Move remaining timers from the context to streaming's SimpleTimer2

2015-09-17 zzz
 * i2psnark:
   - Store magnet parameters across restart (ticket #1485)
   - Don't delete torrent config file after error on initial startup (tickets #1575, #1658)
2015-09-16 zzz
 * Build:
   - Include geoip in update files for next release
   - Add created-by string to release torrents
 * i2psnark:
   - Store torrent added and completed times in config files, display on details page
   - Add metainfo creation command line support for created-by string
 * Profiles: Bias slightly away from floodfills

2015-09-15 zzz
 * Console:
   - Store news feed items separately on disk in XML, like a real feed reader
   - Limit display to 2 news items in summary bar, /home and /console
   - New /news page to show all news (ticket #1425)

zzz's avatar
zzz committed
* 2015-09-12 0.9.22 released

kytv's avatar
kytv committed
2015-09-11 kytv
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2015-09-02.
 * Translation updates pulled from Transifex

2015-09-04 zzz
 * UPnP: Fix "content not allowed in trailing section"
   (tickets #481, #1653)

2015-08-31 zzz
 * Data: Cache P256 and Ed255i9 key certificates
 * i2psnark: Change default sig type to Ed25519

zzz's avatar
zzz committed
2015-08-29 zzz
 * Router:
   - Change default RI sig type to Ed25519, with a 10% chance od
     rekeying from DSA at each restart
   - Don't initialize KeyManager before selecting sig type
   - Don't log KeyManager error when changing sig type

zzz's avatar
zzz committed
2015-08-25 zzz
 * i2psnark:
   - Return partial piece to coordinator after reject
   - Fix tracking of downloaded portion of piece after reject
   - Send reject on receipt of bad request
   - Mark piece unrequested after receiving bad data, so it
     will be requested again, but not from the same peer
   - Fix NPE in Request constructor on error
   - Fix stuck before completion due to reject handling (ticket #1633)
zzz's avatar
zzz committed
   - Fix orphaned temp files due to reject handling (ticket #1635)
zzz's avatar
zzz committed

2015-08-02 zzz
 * Console: Fix SSL excluded ciphers (thx lazyg)
 * SU3File: Add keystore password command line option

zzz's avatar
zzz committed
* 2015-07-31 0.9.21 released

zzz's avatar
zzz committed
2015-07-27 zzz
 * Update: Fix processing of translated news su3 files

2015-07-26 zzz
 * Update translations

zzz's avatar
zzz committed
2015-07-25 zzz
 * i2psnark: Fix total_size in metadata message (ticket #1618)
 * NetDB: Fix NPE (ticket #1619)

str4d's avatar
str4d committed
2015-07-21 str4d
 * Core: Throw DFE in Certificate.create() instead of AIOOBE (ticket #1016)

2015-07-21 str4d
 * Core: Fix parsing bug in KeyCertificate

zzz's avatar
zzz committed
2015-07-16 zzz
 * Console: Add dates to news headings

zzz's avatar
zzz committed
2015-07-12 zzz
 * Findbugs all over

2015-07-08 zzz
 * Tunnels: New Bloom filter size, increase bandwidth limit (ticket #1505)

2015-07-07 zzz
 * Crypto: Check for error return from sign()
 * i2psnark: Tweak dest display in footer
 * Streaming: New config to add to DSA-only list
 * Updates: New news URL

2015-07-05 zzz
 * SSU: Compete better with NTCP for outbound bandwidth allocations
 * Transport: Adjust thread priorities to prevent I/O stalling

2015-06-29 zzz
 * Transport: More fixes for SSU stalling

2015-06-28 zzz
 * Apache Tomcat 6.0.44

2015-06-25 zzz
 * Console: Use registered host/port for eepsite link (ticket #1604)
 * Jetty starter: Register host/port when started
 * PortMapper: Add hostname support

2015-06-24 zzz
 * Transport: Add failsafe to prevent complete SSU stall waiting
   for bandwidth limiter

2015-06-23 zzz
 * Console: Fix NPE on /configtunnels
 * GeoIP: Add countries and flags for Asia/Pacific, Bonaire, St. Barts,
   St. Maarten, South Sudan
 * I2CP: Don't try to decrypt an LS before it's encrypted (ticket #1608)
 * Router: Increase default outbound bandwidth to 60 KBps;
   raise class L/M boundary to match so defaulted routers are still L

zzz's avatar
zzz committed
 * NetDB: Partially revert last NetDB change: flood because we don't want
   to create a hole in the DHT before publisher resends to somebody else.
2015-06-20 dg
 * I2PSnark: Auto-start now only starts torrents which were running at shutdown (#766)
 * NetDB: Don't say we stored, and don't flood, if we're shutting down
2015-06-19 zzz
 * I2CP: Fix simple session lookups, broken in prop
 * I2PSocketEepGet: Do hostname lookups in-session for efficiency
 * Tunnels: Increase default max tunnels

2015-06-18 zzz
 * I2CP:
   - Don't send the first LS request to the client until we have
     at least one OB tunnel, so the client waits until we are ready.
   - Fixes to prevent multiple pending LS requests
   - Move client-side implementation classes to
     new package net.i2p.client.impl, leaving only the
     factories and interfaces in net.i2p.client
 * Update: Add language param to news fetch for translated news (ticket #1425)

zzz's avatar
zzz committed
2015-06-17 zzz
Prop from i2p.i2p.zzz.multisess:
 * Router, I2CP, Streaming, i2ptunnel:
   - Multisession support and multiple destinations in one tunnel pool
   - Connections to Hardcoded blacklist of destinations that do not
     support ECDSA will use the DSA session
   - Change shared clients to ECDSA by default, with a DSA subsession
   - Add support for 'aliased' local destinations that use the same tunnel pools
   - No UI or config support, no server support, may be added later
   - Catch uncaught exceptions in ClientConnectionRunner and stop connection
   - When socket is closed, set sessionID and LS to null,
     close subsession and set its sessionID and LS to null
   - Checks on client side for null session ID
   - Check for null session in Destroy Session message
zzz's avatar
zzz committed

2015-06-13 zzz
 * i2psnark: Fix NPE (ticket #1602)
 * NetDB:
   - Improve routing of DatabaseStoreMessage acks
   - Send our own RI unsolicited in reply if we aren't floodfill
   - Don't ack or flood a store of an unknown type
   - Don't say we stored, and don't flood if we're shutting down
 * PeerTestJob: Don't generate zero reply token
zzz's avatar
zzz committed
 * Timestamper: Reduce NTP timeouts to shorten startup time
   when NTP is blocked
 * Tunnels: More checks of messages received down exploratory tunnels

dg2-new's avatar
dg2-new committed
2015-06-08 dg
 * Language fixes
 * Make netDb.storeFloodNew graphable for testing (#1195)
 * Directly connect to nearby floodfills to share our RI
   to speed up integration of new floodfills (#1195)
dg2-new's avatar
dg2-new committed
 * Silence Irc{Inbound,Outbound}Filter warnings about 'no streams'
   when we can't connect to an IRC server. Change to WARN.
dg2-new's avatar
dg2-new committed

2015-06-07 zzz
 * Logs: Correct wrapper.config location when running as a service
 * NetDB: Fix early NPE
 * SSU: Possible fix for NPE in establisher

2015-06-06 zzz
 * Console: Add indication of current ff status on /configadvanced,
   change immediately when config changes, force republish

2015-06-06 str4d
 * newsxml: Don't use XXX for parsing dates on Android

2015-06-04 str4d
 * i2ptunnel:
   - Don't connect manager to router in constructor (ticket #815)
   - Don't call startup() in chained constructor (ticket #1593)
zzz's avatar
zzz committed
2015-06-03 zzz
Prop from i2p.i2p.zzz.sam:
 * I2CP: Set keepalive on sockets (ticket #1573)
 * SAM:
   - Close sockets and stop tunnels when router-side SAM stops (ticket #1572)
   - Better checks for quoting status message strings (ticket #1488)
   - Set encoding for sam.keys file
   - Don't throw NPE on rare stream errors
   - Comment out unused dumpProperties()
   - Cleanups, log tweaks, thread name tweaks
   - Set keepalive on sockets (ticket #1573)
Prop from i2p.i2p.zzz.test2:
 * Console:
   -  Don't allow unbanning of all-zero hash
   -  Nicer "move" icons on /configsidebar, add tooltips
   -  Prevent bad line-wrap of very long menu items
 * HTTP Client: Greatly simplify decompression by using InflaterOutputStream
 * I2CP: Prevent sending messages before handshake with router is complete
 * i2psnark:
   - Add support for fast extensions (BEP 6)
   - Don't say 'download finished' unless we downloaded something
   - Don't lose sort param when hiding peers
 * i2ptunnel: Strip top-level supercookies too
 * LogWriter: Write dup message to wrapper log and crit buf also (ticket #1585)
 * Reseed: Only log reseed network disconnected warning once
 * Router: Add gzip and translate caches to clearCaches()
 * Susidns, addressbook: Don't attempt to fetch subscriptions if
   HTTP proxy is down (ticket #1530)
 * SSU: More synchronization in PeerState
 * Stats: Reduce number of rates in required stats to save memory
 * UPnP: Only log network disconnected warning once

zzz's avatar
zzz committed
* 2015-06-02 0.9.20 released

2015-05-31 zzz
 * Fortuna: Catch AIOOBE (ticket #1576)

2015-05-30 zzz
 * i2ptunnel: Fix +/- variance config (ticket #1587)

2015-05-29 zzz
 * HTTP client: Fix occasional truncation of compressed responses

2015-05-27 zzz
 * Banlist: Ban all-zero hash
 * DataHelper: Add year output to formatDuration()
 * Graphs: prevent NaNs if we are skewed ahead of system time
 * NetDb: Drop all-zero lookups and stores, add stats
 * SSU:
   - Fix debug logging of dumped packets
   - Drop sessions with bad clock skew, banlist peer, add stats
   - Drop sessions with corrupt DSM, banlist peer, add stats

2015-05-23 zzz
 * I2CP: Add an INIT state for session, so a newly created session
   isn't treated as CLOSED and immediately replaced by i2ptunnel,
   which caused dup shared clients in a race at startup
   (possible related tickets #642, #650, #815, #1545)

2015-05-21 kytv
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2015-05-06.
 * Translation updates

2015-05-13 zzz
 * Console: Fix URLs caught in XSS filter on /confighome (ticket #1569)
 * i2psnark: Fix deletion of single-file torrent outside snark dir (ticket #1544)
 * NTCP: Catch race in Reader (ticket #1534)

2015-02-12 dg
 * Job Queue/stats: add stat/graph for amount of scheduled jobs (router.tunnelBacklog)
 * FloodfillMonitorJob:
   - Use avg of router.tunnelBacklog instead of current backlog
 * Some language/spelling fixes

2015-05-11 zzz
 * Util: Fix corruption of cached ReusableGZIPInputStreams

 * i2ptunnel: Improve error handling in UDP tunnels
 * Plugins: Add support for custom icons (ticket #1550)

2015-05-08 zzz
 * Reseed: Don't reseed while shutting down (ticket #1565)

 * SAM: Close datagram or raw session when underlying
   I2P session closes (tickets #1455, #1563)
 * Update: Add support for su3-signed development builds (ticket #1381)

2015-05-06 zzz
 * Datagram: Convert IOE to DFE and throw on error (ticket #1562)
 * Naming services: Export address books with Windows
   line endings on Windows (ticket #1557)
 * Transport: Add config to force IPv4 (only) to firewalled (ticket #1541)

2015-05-04 zzz
 * i2ptunnel:
   - Close input stream when HTTP client decompressor
     terminates (ticket #1506)
   - Add Connection: close headers to errors and proxy.i2p responses
     where it was missing (ticket #1531)

zzz's avatar
zzz committed
2015-05-03 zzz
 * Console: Add floodfill configuration form to /configadvanced
 * Router: Allow class M to become floodfill;
   add bandwidth classes P and X (ticket #1447)
zzz's avatar
zzz committed
 * SusiDNS: Add export button

2015-05-02 zzz
 * Console: Fix Indonesian translations
 * Jetty 8.1.17.v20150415
 * Transports: Cleanup of ticket #1458 fixes

zzz's avatar
zzz committed
2015-04-30 zzz
zzz's avatar
zzz committed
 * Transports: Correctly handle IPv4 firewalled, IPv6 not (ticket #1458)
zzz's avatar
zzz committed

2015-04-29 zzz
 * Clock: Make forward slewing work better
zzz's avatar
zzz committed
 * I2CP: Periodically send a SetDate message to external clients
 * Transports:
   - Fix clock skew calculations
   - Track IPv4/v6 reachability separately (ticket #1458)

2015-04-28 zzz
 * JobQueueRunner: Don't call System.exit() on OOM,
   let the shutdown progress normally;
   Make it an I2PThread instead of a Runner so we can
   call fireOOM() for consistent logging (ticket #1549)
 * Router: Don't add OOM listener on Android so
   we don't hang onto the context

2015-04-27 zzz
 * NamingService: Add export methods
 * SusiDNS: Add export support, no UI yet
 * Transports:
   - Convert internal state to enums, prep for tracking
     IPv4/v6 reachability separately (ticket #1458)
   - Don't set TCP keepalive for IPv6

2015-04-26 zzz
 * i2ptunnel: Reduce sleep time in runners to reduce latency

zzz's avatar
zzz committed
2015-04-25 zzz
 * I2PSSLSocketFactory: Add hostname verification
 * SSLEepGet:
   - Rework recent setSoTimeout code changes, as they broke SNI
   - Add option to save certs even if no errors
   - Add option to disable hostname verification

zzz's avatar
zzz committed
 * Util: Catch and convert OOM in I2PThread.start()
 * i2ptunnel:
   - Fix Socks and SocksIRC tunnels not starting
   - Fix shutdown of client tunnels on server socket errors,
 * Updates: Fail fast if HTTP proxy is not running (ticket #1530)

2015-04-23 zzz
 * Streaming:
   - Reduce min RTO for quicker recovery after packet loss
   - Reduce default initial ack delay
   - More efficient checking for input buffer overflow

2015-04-22 zzz
 * i2psnark: Fix deletion of config files, cleanup old ones (ticket #1498)
 * I2PSocketEepGet: Fix i2psnark NPE caused by -6 (ticket #1543)
 * NTCP: Reduce min send finisher threads to 1
 * PortMapper: Status output for /debug

2015-04-21 zzz
 * i2ptunnel: Log uncaught errors in thread pool
 * Reseed: Disable non-su3 reseeding
 * Router timestamper:
   - Add country-to-continent mapping
   - Add continent zones as fallback
   - Don't start threads in constructors
 * Transports: Reduce idle timeouts

2015-04-20 zzz
 * Blockfile: Unroll recursive initialization
 * EepGet: Set soTimeout for non-proxied fetches to enforce
   header timeout and prevent long reseed hangs
 * Reseed:
   - Honor SSL/non-SSL setting when custom reseed list is set (ticket #1136)
   - Remove all default HTTP URLs (ticket #1514)

zzz's avatar
zzz committed
2015-04-17 zzz
Prop from i2p.i2p.zzz.test2:
 * Console: Set session cookies to HttpOnly
 * i2psnark: Remove extra mime types in i2psnark web.xml;
zzz's avatar
zzz committed
   added to Jetty's default by now, or in our mime.properties file
 * i2ptunnel:
   - Send HTTP server port 443 traffic to the server
     transparently, to support HTTPS over the same tunnel, if so configured
   - Add check for total header size in HTTP server
   - Return specific error pages to client on errors
     in HTTP header processing in the HTTP server (ticket #1507)
 * Jetty:
   -  Add extensive help to jetty-ssl.xml
   -  Set session cookies to HttpOnly in all webapps
 * JobQueue: Make number of runners configurable
 * Router: Move update extraction code to new class in tasks/
 * Tunnels:
   - Add bloom filter warning if high bandwidth but low memory
   - Add new Bloom filter size, increase bandwidth limit (ticket #1505)
   - Add config to disable Bloom filter for testing

2015-04-16 zzz
 * I2CP: Run DistributeLocal jobs inline (ticket #1506)
 * i2psnark: Increase max tunnels to 10
zzz's avatar
zzz committed
 * i2ptunnel: Don't start tunnels in constructors (ticket #815)
 * NetDB: Reduce max search depth
 * Transport: Fix active peer count for NTCP

 * SimpleScheduler: Deprecated, functionality moved to SimpleTimer2 (ticket #1069)
zzz's avatar
zzz committed

2015-04-13 zzz
 * Router: Fix NPE on bad share bandwidth config (ticket #1524)
 * Streaming: Handle reset packets without a FROM field, validate
              signature using connection's destination
 * Update: Don't log an error for the "dummy" updater (ticket #1525)
zzz's avatar
zzz committed
* 2015-04-12 0.9.19 released

zzz's avatar
zzz committed
2015-04-11 zzz
 * Updates after review

2015-04-09 kytv
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2015-04-07.
 * Translation updates

2015-04-05 zzz
 * IRC Server: Better timeout handling reading initial lines (ticket #723)

zzz's avatar
zzz committed
2015-04-04 zzz
 * i2ptunnel:
   - Better timeout handling when reading headers in HTTP server (ticket #723)
   - Fix NoSuchElementException processing proxyList caused by 03-31 checkin
 * Streaming:
   - Fix read timeout on input stream (ticket #723)
   - Fix read() returning 0 instead of -1 on read timeout (ticket #335)

2015-04-03 zzz
 * i2ptunnel: Fix stopping tunnel on bad args when starting
 * wrapper.config: Remove old mortbay Jetty parameters

2015-04-01 zzz
 * I2CP: Allow larger client clock skew (ticket #1503)
 * i2psnark: Fix changing data directory on Windows (ticket #1503)

 * API: Fix some client-side APIs to honor defaults in Properties;
   add javadocs to specify where we do and don't (ticket #1491)
 * i2ptunnel: Fix multiple SSL outproxies in HTTP client

2015-03-29 zzz
 * I2CP: Prevent NPE (ticket #1503)

2015-03-25 zzz
 * i2ptunnel HTTP client: Replace all getBytes() calls
   with a Writer or getBytes("UTF-8") (ticket #457)

2015-03-24 zzz
 * Streaming: Throw I2PSocketException when connection is reset,
   display new error page in HTTP client (ticket #643)

2015-03-23 zzz
 * Javadoc: Add missing package.html files (ticket #1109)
 * Summary bar: linkify news headings, remove 'show news' link

2015-03-22 zzz
 * Console: Better status feedback on manual reseed from URL
 * NetDB: Don't become floodfill w/o ECDSA support
 * Reseed: Better status feedback and cleanup in summary bar

2015-03-21 zzz
 * Console: Support plugin installation from local file

zzz's avatar
zzz committed
2015-03-20 zzz
 * Reseed:
  - Move multipart form support from susimail to jetty-i2p.jar
    so console can use it
  - Finish manual reseed from local file

zzz's avatar
zzz committed
2015-03-19 zzz
 * Reseed (ticket #1369):
zzz's avatar
zzz committed
  - Add form to manually reseed from zip or su3 URL
  - Add form to manually reseed from local zip or su3 file
  - Add form to create reseed zip file to share
  - Backend support and refactoring in reseed code

zzz's avatar
zzz committed
2015-03-18 zzz
 * NetDB:
  - Send exploratory lookups directly to the floodfill if
    we are already connected to him
  - Don't encrypt RI lookups when overloaded
  - Don't explore when overloaded
zzz's avatar
zzz committed
  - Don't publish non-ff RI on exit if we are coming right back
 * Router: Allow disabling the setting of some System properties, for embedded applications
 * StatisticsManager: Publish dummy LS count if we just started
 * Streaming: Reduce min RTO again
zzz's avatar
zzz committed
 * Tunnels: Drop instead of reject requests on high job lag
 * UPnP: Update to cyberlink 3.0

2015-03-16 zzz
zzz's avatar
zzz committed
 * Apache Tomcat 6.0.43
 * NetDB: Send RI lookups directly to the floodfill if
   we are already connected to him
 * Router:
   - Republish RI early if capabilities change
   - Increase exploratory tunnel quantity if floodfill
 * Throttle: Reject tunnels based on job lag

zzz's avatar
zzz committed
2015-03-15 zzz
 * Job Queue:
   - Fix overload dropping
   - Add drop count to job stats
   - Decrease overload threshold again
 * NetDb: Track flood success
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2015-03-13 zzz
 * i2psnark:
   - Auto-reduce tunnel quantity based on peer count
   - Increase max tunnels
 * Job Queue:
   - Drop garlic message decryption jobs on overload
   - Decrease overload threshold

2015-03-13 dg
 * Router: create router.integratedPeers (floodfills) stat, and 
   allow graphing of it.

2015-03-08 zzz
 * i2psnark: Increase min and default bandwidth
 * Throttle: Tweak messages during probabalistic rejection
 * Transport: Add missing bogons to IP validity check

zzz's avatar
zzz committed
* 2015-02-22 0.9.18 released

2015-02-18 kytv
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
kytv's avatar
kytv committed
   database from 2015-02-04.
dg2-new's avatar
dg2-new committed
2015-02-15 dg
 * FloodfillMonitorJob: 
   - Use lifetime average value for job lag
   - Change the job lag limit to less than 25ms
   - Consider and set the limit of backlogged tunnels to less than 5

2015-02-10 dg
 * I2PSnark, Jetty, SAM, crypto: findbugs resource leaks.

2015-02-07 zzz
 * SSU: Limit range for valid clock skew
 * Transport: Ban routers if they are too old and we are non-DSA

2015-02-06 zzz
 * NetDB: Reduce max job lag for floodfill
 * NTCP: Block IP for a while when incoming connection is dropped before
   receiving a message. Possible workaround for tickets #551, #1075, #1411.
 * Transport:
   - Decrease DH refiller initial delay and increase buffer size
     to reduce chance of running out on high-bandwidth routers
   - Add event log for reachability change

2015-02-01 zzz
 * Crypto: Catch IAE in generateCertificate()
 * NetDB: Don't flood an RI back to itself. While Java ffs self-flood,
   other implementations may not.
 * OCMOSJ: Pick a OB tunnel at random, not with the OBEP closest
   to the lease, as that may be hurting connection reliability.
 * Router: Call warmupCrypto() earlier in the initialization

zzz's avatar
zzz committed
2015-01-31 zzz
 * Console:
   - Don't display invalid IPv6 addresses as options on /confignet
   - Disable changing log path
 * NetDb:
   - Encrypt lookups for 32-bit x86 also
   - Disable floodfill in laptop mode
 * PRNG: Don't hang forever at startup waiting for SecureRandom init
zzz's avatar
zzz committed
 * Transport: Set 4 MBps max bw due to bloom filter

2015-01-30 zzz
 * HTTP Proxy: More error page changes
 * NTCP: Throttle event pumper if looping too fast (tickets #551, #1075, #1411)

zzz's avatar
zzz committed
 * SSU:
   - Fix replaceExternalAddress churn when firewalled
   - Sort introducers in router address, so we won't force a republish
     due to a different ordering of the same introducers
   - Don't publish an address if we need introducers but don't have any,
     so the user won't see a 'firewalled with inbound NTCP enabled' message
   - Fix transition from firewalled to non-firewalled
zzz's avatar
zzz committed
2015-01-28 zzz
 * UPnP:
  - Rescan for devices periodically and when reachability changes (tickets #661, #959)
  - Callback when device removed
  - Consolidate callbacks
  - Clear ignored devices after primary device removed
    to allow one to be promoted on rescan
zzz's avatar
zzz committed
  - Don't put "I2P" in registered protocol name
  - Add uptime to UPnP info
  - HTML escaping
  - Remove static log on Android

2015-01-11 zzz
 * i2psnark: Skip incompatible welterde tracker if we are ECDSA
 * I2PTunnel: Add option for multihoming optimization

2015-01-10 zzz
 * NetDB: Stubs for bandwidth estimation during reseed (ticket #935)

2015-01-09 zzz
 * NetDB: Publish RI faster when costs change (ticket #1437)

2015-01-08 zzz
 * Console, i2ptunnel, proxy: Renaming of various things to "hidden services"

2015-01-07 zzz
 * ClientAppConfig: Start i2ptunnel sooner (ticket #1162)
 * NetDB: Possible fixes for reseed completion not recognized (ticket #1384)
 * Router:
   - Add startup/shutdown state machine
   - Don't reset uptime after a soft restart
 * Startup: Accept tunnels after 10 minutes instead of 20 (ticket #1152)
 * Tunnels:
   - Cleanup, catch more cases of zero-hop configuration
   - Temporarily increase exploratory tunnel quantity at startup,
     so that netdb refresh will work better
zzz's avatar
zzz committed
2015-01-05 zzz
 * Blocklist:
   - Rewrite to read and merge multiple files
   - Include in update, use version in base dir too
   - Increase limits
   - Bug fixes
zzz's avatar
zzz committed
 * EepGet: Change command line default to 0 retries
zzz's avatar
zzz committed
 * Latency reduction all over:
   - SSU: Reduce ack delay
   - Streaming: Reduce min RTO and flusher delay
   - Tunnels: Reduce GW batching time
zzz's avatar
zzz committed
 * Streaming:
   - Add API for sending/receiving payload in ping/pong
   - Fix PcapWriter
zzz's avatar
zzz committed
 * UrlLauncher:
   - Configure browser with routerconsole.browser (ticket #1159)
   - Convert to ClientApp interface

zzz's avatar
zzz committed
2015-01-03 zzz
 * I2CP: Use configured leaseset keys if available
 * I2PTunnel: Persist leaseset keys

zzz's avatar
zzz committed
2014-12-15 zzz
 * Console: Prevent two-word translations from splitting across lines in summary bar
zzz's avatar
zzz committed
 * Crypto: EdDSA cleanups
zzz's avatar
zzz committed
 * i2psnark: Unchoke new peer sooner
 * SSU: reduce log level of uncaught errors processing I2NP message
 * SU3:
   - Don't require specification of sig type when signing
   - Implement 'extract -k'
   - Fix getContentOffset()
   - Fail on excess data after signature
 * Tunnels: Raise concurrent build limit

2014-12-08 zzz
 * HTTP Proxy: Fix parsing of ECDSA address helper
 * NetDB: Increase lookup throttle time

zzz's avatar
zzz committed
2014-12-05 zzz
Prop from i2p.i2p.zzz.test2:
 * Console:
   - Show b32 for local leasesets also on netdb LS tab
 * Data:
   - Disallow duplicate keys in a Mapping
   - Add RouterInfo.getVersion()
 * I2NP:
   - Move some data structures away from ByteArray; offsets were always zero
     - New BuildRequestRecord constructors
     - BuildRequestRecord field becomes final byte[222]
     - IV becomes byte[16]
     - Build record becomes EncryptedBuildRecord
   - Remove extra copy in BuildRequestRecord.encryptRecord()
   - Remove unused BuildRequestRecord.readOurIdentityMatches()
   - DatabaseStoreMessage: Mask the unused bits in the type field for future use
 * i2psnark: Reduce auto-stop threshold for update torrent
 * I2PTunnel: Reduce i2ptunnel threads, more thread pooling.
   - Move client pool from static inI2PTunnelClientBase to TCG.
   - Use client pool for some server threads
   - Run some things inline that were formerly threads
 * KeyGenerator: main() test improvements
 * Logger: Configurable flush interval
 * Plugins: Another fix for restarting a ClientApp plugin
 * Profiles: Change slice selection argument from an int to an enum for clarity
 * SusiMail:
   - Add save-as button
   - Fix encoding for filename in Content-Disposition header
 * Transport:
   - Disallow standard I2P application ports as the router port
   - Increase default class O conn. limits to 350 NTCP, 1050 SSU
 * Update: Use last-modified instead of last-checked for the next
   if-modified-since fetch, to fix failing to fetch the latest news

zzz's avatar
zzz committed
* 2014-11-30 0.9.17 released

kytv's avatar
kytv committed
2014-11-28 kytv
 * Updated PO files from Transifex
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2014-11-05.

2014-11-26 zzz
 * BuildRequestor: Reduce delay when client build can't find
   a paired tunnel (ticket #1412)
 * Data:
   - Fix NPE on unknown sig type in destination
   - Fix hashcode and equals for typed data
 * Tunnels: Disallow changing allowZeroHop setting for exploratory

2014-11-24 zzz
 * i2ptunnel: Fix automatic setting of random key
 * PrivateKeyFile: Don't rewrite file in main() if no options

2014-11-23 zzz
 * Reseed hosts update

2014-11-22 zzz
 * PeerSelector: If non-DSA, don't use incompatible peers
   for exploratory tunnels or closest-hop in client tunnels
 * SAM: Fix v3 bug accepting incoming connections

2014-11-17 zzz
 * NetDB: Exclude A1/A2 "countries" from auto-floodfill

2014-11-15 zzz
 * I2NP:
   - Set lookup type flags even if no reply tunnel specified
   - Reduce object churn when writing some messages

zzz's avatar
zzz committed
2014-11-13 zzz
 * I2PTunnel:
   - Fix bug that left server acceptor thread running after close
   - Add destroy() methods to release all resources when closing a tunnel for good,
     particularly the streaming timer threads
   - Use COWAL to prevent concurrency problems
 * PluginStarter: Simplify detection of active threads
 * Streaming:
   - Don't return null from accept() any more; actually throw
     ConnectException as the Javadocs have always specified
   - Throw ConnectException from accept() if interrupted; previously caught and ignored
   - Throw exceptions from ConnectionHandler.accept(), not higher up
   - Close ServerSocket when ConnectionManager is shut down
   - Synchronize setActive(), clear queue when starting to accept,
     better handling of calls that don't change state

 * Data: Clear more caches when under memory pressure and at shutdown
 * Plugins: Fix bug in stopping a ClientApp plugin with $parameters in the args

zzz's avatar
zzz committed
2014-11-09 zzz
 * i2psnark: Fix tracker config form issues
 * Router, i2ptunnel: Add option for per-pool persistent random key,
   so peer ordering does not change across restarts

2014-11-08 zzz
 * EdDSA: Bump minimum router version to 0.9.17
 * i2psnark: Add support for specifying data dir in add form (ticket #1028)
 * ProfileOrganizer: More efficient slice calculation
 * SSU: Fix bug preventing inbound connection from non-DSA router (ticket #1408)
 * Transports: If non-DSA, check for compatibility before connecting out

2014-11-06 zzz
Prop from i2p.i2p.zzz.test2:
 * Blockfile:
   - Add block size to superblock
   - Add span size to skiplist block
   - Bump version to 1.2
 * Console:
   - Log warnings for Java 6 or no Pack200
   - Add ECDSA warning to sidebar
   - Don't disable updates when restarting from /configupdate
   - Recognize router.newsRefreshFrequency=0 as "never"
 * Crypto: Drop dummy crypto stubs
 * i2psnark:
   - Convert '+' to ' ' in magnet dn param
   - Fix NPE when deleting torrent if the data directory
     was deleted out from under us (ticket #1407)
   - Add new opentrackers, remove welterde
   - Support multiple default opentrackers
   - Don't link to opentrackers at the top
 * i2ptunnel:
   - ECDSA default for all new server tunnels
   - ECDSA default for streamr client tunnels
   - Fix display of server destination on edit page when not running (privkey file path wasn't absolute)
   - Fix display of persistent client key b32 on edit page when not running
   - Fix display of server sig type on edit page when we have a privkey file
 * jbigi: Save and report extracted library name
 * Reseed: SSL-only by default
 * Router:
   - Make recognition of a hidden router consistent,
     whether specified in the caps or the cert
   - Job Queue: Only drop lookup jobs if lagged
 * SSU:
   - Don't resend ACKS that are too old (ticket #772)
   - Dont OOM if ACK sender dies
   - Don't publish direct info if introducers are required
 * SU3File: Show content and file types in showversion
 * Transports:
   - Consolidate port checking code
   - Disallow SSDP port
 * Update: Implement signed news in su3 format with trusted signers,
   wrapping an Atom XML format
 * Util:
   - Use write-sync-close-rename for config file writing
   - Null check in zip entry name

2014-11-04 zzz
 * SSU: Fix corruption of ack-only packets containing bitfields

zzz's avatar
zzz committed
* 2014-11-01 0.9.16 released

kytv's avatar
kytv committed
2014-10-30 kytv
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2014-10-07.
 * Arabic, Chinese, Czech, Dutch, French, German, Russian, and Spanish
   translation updates from Transifex

2014-10-30 zzz
 * Router: Fix rare NPE building garlic message (ticket #1403)

2014-10-26 zzz
 * SSU: Fix ACK Sender thread dying on corrupt packet

2014-10-24 zzz
 * i2ptunnel: Fix description entered via wizard

2014-10-23 zzz
 * SessionKeyManager:
   - Raise inbound limit
   - Delete oldest tagsets when limit is hit
   - Don't delete recent tagsets when limit is hit
 * SSL: Don't prohibit SSLv3 ciphers if that's all we have

zzz's avatar
zzz committed
2014-10-20 zzz
 * Console: Fix lockups (ticket #1395)
 * Eepsite Jetty: Switch back to QueuedThreadPool (ticket #1395)

2014-10-17 zzz
 * NTCP: Deadlock fix 3rd try (ticket #1394)

2014-10-16 zzz
 * NTCP: Deadlock fix 2nd try (ticket #1394)

2014-10-15 zzz
 * Console, I2CP, i2ptunnel, SSLEepGet: Set allowed SSL
   protocols and ciphers. Disable SSLv3 and older ciphers.
   Enable TLSv1.1 and TLSv1.2 on Java 7,
   where it is disabled by default client-side.
2014-10-14 zzz
 * I2NP: Implement DatabaseLookupMessage search type field

2014-10-13 zzz
 * i2ptunnel: Set default sig type to ECDSA-P256 for client types
   Standard, IRC, and Socks IRC, if non-shared.

zzz's avatar
zzz committed
2014-10-10 zzz
 * Banlist: Remove unused banlist tracking in the profile
   causing deadlock (ticket #1394)
 * GeoIP:
   - Don't rate peers in some countries as high capacity
   - Don't enable auto-floodfill in some countries
   - Don't prefer floodfills in some countries

2014-10-08 zzz
 * UPnP: Comment out unused parsers

2014-10-07 zzz
 * CPUID: Remove Intel model 2 again, this is spoofed in the VM
 * Graphs: Catch an error caused by missing fonts
 * i2ptunnel: Handle named sig types from i2ptunnel.config in the GUI
 * SSU: Improve handling of socket that gets closed (ticket #1385)
 * Startup: Delay ReadConfigJob another minute

2014-10-05 zzz
 * Crypto: EdDSA cleanup

2014-10-04 zzz
 * i2psnark: Disable changing types for predefined trackers
 * i2ptunnel: Fix js confirm for delete button

2014-10-03 zzz
 * Console: New add-to-addressbook links on leaseset page
 * CPUID: Fix Intel processor identification
 * i2psnark: Fix adding magnet links with % encoding (ticket #1391)

2014-09-30 zzz
 * Logs: Fix displayed filename when empty (ticket #1386)
 * SAM: Fix v3 LS publish, broken in -4 (ticket #1390)

2014-09-29 zzz
 * CPUID:
   - Fix main() model and family calculation
   - Add model string fetch from processor
   - AMD model string tweaks
 * i2psnark: Show subdirectory in table header on details page

zzz's avatar
zzz committed
2014-09-27 zzz
zzz's avatar
zzz committed
 * CPUID:
   - Fix model and family calculations
   - Fix most AMD family 15 IDs
   - Add AMD Llano, Jaguar, Bulldozer 2
   - Add Intel Ivy Bridge, Haswell, Broadwell, Penryn,
     Pineview, Cedarview, Bay Trail, Avoton, and others
   - Set best-guess capabilities for most Intel processors
   - Supply best-guess model string in most cases
   - Processors listed above, and some others, may see crypto speedups as a result

2014-09-26 zzz
zzz's avatar
zzz committed
 * EdDSA: Use our PRNG by default for keygen
 * i2psnark:
   - Increase default to 3 hops (ticket #966)
   - Show info hash on details page
 * NetDB: Increase max age of RIs to reduce number refreshed after restart
zzz's avatar
zzz committed
 * SAM:
   - Don't publish LS for DIRECTION=CREATE
   - Set default tunnel name
zzz's avatar
zzz committed
 * Tests: Fix junit compile fails due to data structure moves
 * Transport: Hooks for pluggable transports (ticket #1170)

zzz's avatar
zzz committed
2014-09-23 zzz
Prop from i2p.i2p.zzz.test2:
 * Addressbook: Improve parser efficiency
 * Data structures: Move several router-only classes from i2p.jar to
   net.i2p.data.router in router.jar. This will break existing
zzz's avatar
zzz committed
   versions of the i2pcontrol plugin.
zzz's avatar
zzz committed
 * HTTP Client: Add error page for unsupported encryption
 * I2CP:
   - Verify crypto key pair in LS
   - Verfiy same dest as before in LS
   - Enforce strict authorization when auth is enabled
 * i2psnark:
   - Set-all priority buttons (ticket #1376)
   - Comment out command-line code
   - Consolidate and clean up parameters code
   - Click to sort by column
   - Display upload ratio when sorted by ratio, and on details page (ticket #1298)
   - Consolidate code for creating img entities
   - Switch from checkbox to radio for tracker configuration form
   - Sort themes in config form
   - Consolidate HTML header code
   - Set no-cache headers
   - Don't set HTML headers for redirects
 * I2PTunnelGUI: Test tool deleted, moved to i2p.scripts
 * Jetty 8.1.16.v20140903
 * KeyGenerator: Add support for converting
   all signing key types from private to public
 * NetDB:
   - Encrypt RI lookups and request encrypted reply on
     faster boxes, to prevent scraping by OBEPs and IBGWs
   - Encrypt exploratory lookups too
   - Better handling of unsupported encryption in destinations
   - Implement handling of unsupported encryption in router identities
   - Banlist forever all RIs with unsupported encryption
   - New negative cache of all dests with unsupported encryption
   - New methods for destination lookup that will succeed even if
     the LS is expired or encryption is unsupported
   - Use new dest lookup so client will get the right error code
     later, rather than failing with no LS when we really got it
     but just couldn't verify it.
   - Don't auto-enable floodfill if ARM or if ElG decrypt is too slow
 * NTCP EstablishState:
   - Prep for future enhancements by refactoring to a state machine model
   - Reduce object churn; use SimpleByteCache
   - Synchronization
 * OCMOSJ: Detect unsupported encryption on dest and return the correct failure code
     through I2CP to streaming to i2ptunnel
 * PrivateKeyFile:
   - New constructor with padding
   - New router extension to add getRouterIdentity()
   - Add validateKeyPairs()
 * Router:
   - New router.sigType config
   - Generate / regenerate router keys based on config
   - New router.keys.dat file in PKF format for sig types and padding
   - Fix RouterInfo.readBytes() signature verification with sig types
   - Catch unset padding in KeysAndCert.writeBytes()
   - Catch key errors in ReadRouterJob
   - Show RI sig type on /netdb in console
   - Move some things from Router to startup classes
   - Startup classes package private
   - Buffer readin of key files
   - Remove configurability of router.info and router.keys file locations
   - Consolidate router keys readin code
   - Update killKeys file list
   - Validate router key pairs read in from file
   - Don't try to use an unavailable sig type for the router,
     even if it's the default
 * RoutingKeyGenerator:
   - Move from core to RouterKeyGenerator in router.jar
   - Leave RoutingKeyGenerator as a simple abstract class
   - DatabaseEntry now uses timestamp instead of mod data
     to determine if mod data has changed. Don't expose
     mod data to DatabaseEntry any more.
   - I2PAppContext.routingKeyGenerator() now returns null;
     you must be in RouterContext to get a generator.
 * SSU:
   - Implement bundling of multiple fragments in a single data message.
     This has always been in the spec and implemented in the receive side
     since the beginning, so it is compatible with all versions.
   - OutboundMessageState: Fix SSU Output Queue errors in PacketBuilder:
     Remove all buffer caching as it can't be made thread-safe.
     Just allocate buffer in constructor and let GC handle it
     Do fragmenting in constructor and make all fragment fields final
     Don't track per-fragment retransmissions as it wasn't used
     Move ack tracking from an array to a long
     Sync all ack methods; Entire class now thread-safe
   - InboundMessageState: Rewrite PartialBitfield for efficiency, less space and object churn
   - PeerState.fetchPartialACKs() improvements
   - Don't allow more than 10 bytes when reading in bitfield
   - Don't send a corrupt ack packet if the partial ack got completed (race)
 * Streaming: Re-enable message status override, but treat LS lookup failure
     as a soft failure for now.
 * Transports:
   - Handle RI sig types
   - Banlist unsupported RI sig types
   - Return unused DH keypairs to the pool
 * Tunnels:
   - Enforce request record timestamp
   - Randomize timestamp to prevent hop detection at top of hour

2014-09-22 zzz
 * SSU: Fix 100% CPU after socket failure
 * UPnP: Catch reported error on FreeBSD

zzz's avatar
zzz committed
* 2014-09-20 0.9.15 released

kytv's avatar
kytv committed
2014-09-17 kytv
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2014-09-04.
 * Translations:
   - updates pulled from Transifex (cs, es, fi, fr, ja, nb, pl, ro, ru, uk)
   - en po files updated and pushed to Transifex
kytv's avatar
kytv committed

2014-09-16 zzz
 * i2psnark: Don't send HTML-only headers for icons (2nd try)

zzz's avatar
zzz committed
2014-09-13 zzz
 * i2ptunnel:
   - Fixes for stopping client tunnels
   - Fix status display for shared clients

2014-09-12 zzz
 * i2psnark: Escape fixes
 * i2ptunnel: Fix updating session options on a running delay-open client tunnel

zzz's avatar
zzz committed
2014-09-09 zzz
 * i2psnark: Escape fixes

2014-08-31 zzz
 * Build: Add support for bundling router infos in the package
 * I2PTunnel: Allow changing of spoof host and target host/port without
              restarting server tunnel

zzz's avatar
zzz committed
2014-08-30 zzz
 * Console:
  - Re-enable plugin installation by default
  - Don't show configuration section or update-all button if no plugins installed
  - Show unavailable crypto on /logs
 * Router: Log warnings for unavailable crypto at startup
 * RouterInfo: Backport fix for verification of EdDSA RI sig type

2014-08-28 zzz
 * Streaming: Fix verify of Ed25519 signatures in CLOSE packets

zzz's avatar
zzz committed
2014-08-27 zzz
 * i2psnark:
   - Persist uploaded count (tickets #1034, #1298)
   - Don't retry announce if we get back HTML
   - Recognize Vuze tracker rejections
   - Don't retry rejected announces unless seeding
   - Better UI handling of announces with ports or full destination
 * NetDB: Don't abort initialization on an unsupported RI sig type
 * Streaming: Fix P521 and RSA sig types
zzz's avatar
zzz committed

2014-08-23 zzz
 * Console, i2psnark, i2ptunnel: Escape fixes and cleanups
 * SSU: Drop peer tests as Bob from unestablished Alices

zzz's avatar
zzz committed
2014-08-22 zzz
 * SigTypes:
   - Add isSupportedSince(), use in floodfill selection
   - Handle mixed-case 25519 enum
   - Fix 25519 type code
   - Add dup type code check

2014-08-21 str4d
 * Add Ed25519 SigType

zzz's avatar
zzz committed
2014-08-21 zzz
 * i2psnark:
   - Escape control chars in encodePath()
   - Increase max piece size to 8 MB (ticket #1347)
 * i2ptunnel: Add local SSL support for std. and IRC client tunnels (ticket #1107)

zzz's avatar
zzz committed
2014-08-19 zzz
 * i2psnark:
   - Don't filter create torrent form, and
     fix exception on ':' in file names (ticket #1342)
   - Don't remap file names on torrents we created, and
     save remap setting in torrent config file (tickets #571, 771)
   - Escaping fixes since names may not be remapped
   - Use better encodePath() from Jetty
   - Don't say create torrent succeeded when it didn't
   - Add more sanity checks for base path of created torrent

2014-08-18 zzz
 * i2psnark:
   - Don't send HTML-only headers for icons
   - Catch IllegalStateException for icons
 * Tunnels: Use consistent tunnel pair for Delivery Status Message
   to reduce network connections (ticket #1350)

2014-08-15 zzz
 * Console: Escaping fix (ticket #1348)
 * I2CP: Lookup synch cleanups

2014-08-13 dg
 * Console, EventLog: add BECAME_FLOODFILL and NOT_FLOODFILL, they are now shown
   at the /events page when the router changes its floodfill state

2014-08-13 zzz
zzz's avatar
zzz committed
 * Console: Escaping fix (ticket #1346)
 * i2psnark: Fix add torrent NPE

zzz's avatar
zzz committed
2014-08-10 zzz
Prop from i2p.i2p.zzz.snarkconfig:
 * i2psnark:
   - Move config file and DHT persistence file to a config dir
   - Move per-torrent configuration from "zmeta" in the main config file
     to a per-torrent config file (ticket #1132)
   - Split timestamp and bitfield into separate configs
   - Fix misspelling of autoStart config
   - Remove two unused SnarkManager methods
   - Refactor file deletion in prep for better file name handling (ticket #571)
   - Don't use canonical files in directory listings,
     for speed and to avoid file comparison problems (tickets #1079, #1148)
   - Set base file/dir in Storage constructor, make final,
     in prep for arbitrary locations (ticket #1028)
   - Add missing nonce protection for file priority setting
   - Add torrent mime type

zzz's avatar
zzz committed
2014-08-10 zzz
Prop from i2p.i2p.zzz.test2:
 * Console: Show share options below 30% (ticket #1329)
 * Crypto: Move TransientSessionKeyManager from core to router.
   I2PAppContext will return the dummy SessionKeyManager which
   is sufficient for non-tag uses (e.g. Bote).
   Client use of end-to-end encryption using SessionTags was
   disabled in release 0.6, 2005-07-27.
 * KeysAndCert: Change hashcode to prevent possible collisions
   caused by apps with zeroed pubkey
 * Plugins: Start of SU3 support (ticket #1227)
 * SAM:
   - Don't spawn a thread for each transmitted datagram
   - Set protocol field for raw and signed datagrams
   - Enforce a 60s timeout for HELLO
   - Use naming service cache to reduce Destination object churn
   - Get Log object from the log manager
 * SigType: Add static isAvailable() methods
 * SSU: Speed up introductions by responding to HolePunch (ticket #1333)
 * SU3File:
   - Add support for XML and NEWS types
   - Fix NPE on EOF reading input
   - Add -x option to bypass signature verification
   - Add -k option to use specified private key cert for verification
   - Don't verify signature in showversion
 * UPnP: Disable external entities in XML parser

2014-08-10 zzz
 * Console: Hide client delete buttons unless advanced on /configclients

zzz's avatar
zzz committed
* 2014-08-09 0.9.14.1 released

kytv's avatar
kytv committed
2014-08-07 kytv
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2014-08-06.

zzz's avatar
zzz committed
2014-08-03 zzz
 * Console:
   - Fix update buttons
   - Don't filter parameter names starting with "nofilter_"
   - Re-allow configadvanced, news URL, and unsigned update URL if routerconsole.advanced=true
   - Re-allow plugin install if routerconsole.advanced=true or routerconsole.enablePluginInstall=true
   - Only allow whitelisted plugin signers, unless routerconsole.allowUntrustedPlugins=true
   - Re-allow clients.config changes if routerconsole.advanced=true or routerconsole.enableClientChange=true
   - More escaping
 * i2psnark: Fix add torrent form

zzz's avatar
zzz committed
2014-07-31 zzz
 * ExecNamingService: Remove
 * Plugins: Add whitelist of keys

zzz's avatar
zzz committed
* 2014-07-26 0.9.14 released

zzz's avatar
zzz committed
2014-07-26 zzz
 * Console:
zzz's avatar
zzz committed
   - Fix several XSS issues (thx Exodus Intelligence)
zzz's avatar
zzz committed
   - Add Content-Security-Policy and X-XSS-Protection headers
   - Disable changing news feed URL from UI
   - Disable plugin install from UI
   - Disable setting unsigned update URL from UI
   - Disable /configadvanced
 * DataHelper: Disallow \r in storeProps() (thx joernchen of Phenoelit)
 * ExecNamingService: Disable (thx joernchen of Phenoelit)
 * Startup: Add susimail.config to migrated files

kytv's avatar
kytv committed
2014-07-23 kytv
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2014-07-02.

2014-07-19 zzz
 * i2psnark: Don't prefer leeches during end game, to
   prevent slowdowns or stalls
 * SAM: Add support for RAW on the bridge socket in v3 (ticket #1334)
 * Streaming; Disable fail-fast for now.
 * SusiMail: Better error message on decode fail
str4d's avatar
str4d committed
2014-07-15 str4d
 * I2CP: Stubs for I2CP connections over Unix domain sockets

zzz's avatar
zzz committed
2014-07-11 zzz
 * Datagrams:
  - Redefine the repliable datagram signature for non-DSA_SHA1 sig types;
    was the sig of the SHA-256 of the payload, now the sig of the payload itself.

2014-07-03 zzz
 * Base64:
  - Catch numerous decoding errors that were previously misdecoded (ticket #1318)
  - Improve decoding efficiency, reduce copies
  - encode(String) now uses UTF-8 encoding
  - decode() now accepts short strings without trailing '='
  - whitespace in decode will now cause an error, was previously ignored
 * Console: Add event log viewer (ticket #1117)

kytv's avatar
kytv committed
2014-07-02 kytv
 * Update Java Service Wrapper to v3.5.25
    - Windows: x86 and x64 versions self-compiled with VS2010 in
      Windows 7. The icon has been changed from Tanuki's default to Itoopie.
    - Linux ARMv6: Compiled on a RaspberryPi using gcc 4.6.3-14+rpi1,
      Oracle Java 1.7.0+update40 and stripped
    - All other binaries are from the "community edition" deltapack offered by
      Tanuki.

2014-06-29 zzz
 * NetDB: Fix handling reseed URLs with ports (ticket #1278)

2014-06-28 zzz
 * NetDB: Add support for reseeding with su3 files (ticket #934)
 * SAM:
   - Support SIGNATURE_TYPE, bump to 3.1 (ticket #1318)
   - Private key checking fixes (ticket #1318)
   - Parameter parsing fixes (ticket #1325)
   - Cleanups

2014-06-24 zzz
 * Streaming; Drop the preliminary channel implementations,
   as they don't work and can't ever work as designed.

2014-06-23 zzz
 * Streaming:
   - Bundle new socket messages for translation
   - Fix connection error message
 * Tunnels: Reject participating tunnels when hidden (ticket #1314)

zzz's avatar
zzz committed
2014-06-21 zzz
 * i2psnark:
   - Display webapp name in html title (ticket #1311)
   - Use tracker from magnet link in display (ticket #1313)
   - Clarify auto-start (ticket #1293)
   - Include tracker in magnet link on details page (ticket #964)

2014-06-13 zzz
 * i2psnark: Fix NPE when fetching invalid torrent (ticket #1307)
 * Transports: Disallow Carrier Grade NAT (RFC 6598) addresses
 * Tunnels: Don't get stuck only building tunnels
   for an empty pool (ticket #1300)

2014-06-10 zzz
 * i2psnark: Fix decoding of negative numbers (ticket #1307)
 * NewsFetcher: Only treat correct status codes as success

zzz's avatar
zzz committed
2014-06-09 zzz
 * i2psnark:
   - Show client version if available
   - Linkify all announce URLs on details page
   - Sanitize announce URLs
 * Jetty 8.1.15.v20140411
 * Tomcat 6.0.41

2014-06-07 zzz
 * Console: Fix NPE in summary bar
 * Eepsite: Updated French help page (thx hummingbird)
 * i2psnark: Fix errors when checking read-only files
 * NetDB: Reduce negative lookup cache time
 * OCMOSJ:
   - Increase timeout if we must lookup leaseset
 * Streaming:
   - Shorter expire time in TCBCache
   - Don't fail a connection once it is up

zzz's avatar
zzz committed
2014-06-01 zzz
 * i2psnark:
   - Store seed/leech status in DHT tracker (ticket #1280)
   - Increase max received DHT nodes (Vuze sends more)

zzz's avatar
zzz committed
2014-05-31 zzz
Prop from i2p.i2p.zzz.test2:
 * Console: Fix shutdown error on old wrappers (ticket #1285)
 * CPUID:
   - Add hasAES()
   - Fix bugs in unused hasSSE3(), hasSSE41(), hasSSE42()
 * Crypto:
   - Use JVM AES when faster
   - Don't start YK thread in constructor (ticket #973)
 * HTTP client:
   - Fix 'connection reset' browser messages
     after an error in the first line (ticket #1277)
  - Add GUI options for user-agent, referer, accept
  - Disable SSL to i2p addresses by default, add GUI option
  - Fix NPE in error handler
 * I2CP: Per-message reliability settings (ticket #788):
   - Store message nonce in ClientMessage, so we may send
     a MessageStatusMessage with a failure code to the client
     without sending an ACCEPTED MessageStatusMessage first.
     All MessageStatusMessages sent in response to outbound messages will now have a valid nonce.
   - Clean up and reuse MessageState for asynch notification
   - New I2PSession sendMessage() method and listener
   - Move VerifyUsage from SimpleScheduler to SimpleTimer2 for efficiency
   - New I2PSessionException
   - Streaming PacketQueue requests status for SYNs on outbound conns
   - PacketQueue throws I2PSessionException in streams
 * i2psnark:
   - Support ports in announce URLs (ticket #1283)
   - Change "private" value in infohash from string to number,
     to match what everybody else does
   - Send seed/leech status in DHT announces (ticket #1280)
   - Extend DHT tracker expire time from 45m to 3h
   - Extend DHT announce interval from 10m to 40m
   - Increase announces from 1 peer to 4 (ticket #1281)
   - Respond to get_peers with an empty peers list instead of
     a nodes list if the requester was the only peer (ticket #1279)
   - Fix sendError() (still unused)
 * i2ptunnel:
   - Show key cert settings
   - Display custom error pages for I2PSocketExceptions (ticket #788)
   - Tag I2PSocketException text for translation (no bundles yet)
   - Move methods from superclasses to I2PTunnelHTTPClientBase
   - Fix connect client error pages, but they aren't displayed anyway
   - Don't start I2PTunnelRunner threads in constructor (ticket #973)
 * SusiMail: fix NPE (ticket #1296)
 * SystemVersion: Add isJava7() and isX86()

zzz's avatar
zzz committed
* 2014-05-22 0.9.13 released

2014-05-20 zzz
 * Fixes after code review
 * SSU: Fix peer test deadlock (ticket #1286)

2014-05-15 kytv
 * Translations, imported from Transifex:
zzz's avatar
zzz committed
   - Dutch, French, German, Italian, Japanese, Norwegian Bokmål, and Ukrainian
     translation updates
   - Start of Slovak language translation
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2014-05-06.

kytv's avatar
kytv committed
2014-05-14 kytv
 * Update the UserAgent that we send for users that go out through the outproxy
   to match that of the current Tor Browser Bundle.
kytv's avatar
kytv committed

2014-05-13 zzz
 * BOB, SAM, i2psnark: Fix datagram NPE (ticket #1275)
 * i2psnark: Escaping fixes on details page
 * SusiMail:
   - Fix AIOOBE (ticket #1269)
   - Don't let an exception on one mail break others
zzz's avatar
zzz committed
2014-05-10 zzz
 * NTCP: Fix NPE (ticket #996)
 * SusiMail: Remove deleted mails from memory

2014-05-09 zzz
 * SusiMail: Add more locking (ticket #1269)

2014-05-08 zzz
 * i2psnark: Add log message if directory does not exist (ticket #1263)
 * i2ptunnel: Display warning for duplicate client ports (ticket #1265)

2014-05-07 zzz
 * Console:
   - Add hiddengate.i2p
   - Fix console getting disabled when saving client config (ticket #1260)
 * Router: Add warning at startup if console is disabled
 * SSU: Extend establishment phase retx timeout
 * SusiMail:
   - Don't fetch headers from folder sorters
   - Update debug setting when saving config
 * Transports: Use constant time method for HMAC verification
 * Tunnels: Revert expl. OB default back to 2 + 0-1 for now

2014-05-01 zzz
 * SusiMail: js enhancements, build cleanups, css tweaks

2014-04-30 zzz
 * Plugins: Retry deletion at restart if it fails (ticket #1257)

2014-04-29 zzz
 * SusiMail:
   - Add print css
   - Hide header and footer in mobile css
   - Fix 'from' address in compose

2014-04-28 zzz
 * UDP:
   - Locking fixes on peer testing
   - Slow down peer test frequency, esp. when firewalled

zzz's avatar
zzz committed
2014-04-27 zzz
 * NTCP: Remove published NTCP address if SSU becomes firewalled,
         to fix the "Firewalled with NTCP enabled" message,
         broken during IPv6 implementation in 0.9.8
zzz's avatar
zzz committed
 * Router: Set killVMOnEnd before runRouter() (for azi2phelper)
 * RoutingKeyGenerator: Don't assume UTC (for azi2phelper)
 * SusiMail:
   - Add locking for disk cache
   - Remove cancel button from login page
   - New configuration page (ticket #1158)
zzz's avatar
zzz committed
   - Move set page form to configuration page
   - Theme and js enhancements
 * UDP:
   - Locking fixes on rebuilding address
   - Don't rapidly churn address when we don't have enough introducers

zzz's avatar
zzz committed
2014-04-25 zzz
 * SusiMail:
   - Add icons for new messages, attachments, and spam
   - Different colors for new mail and spam
   - Tweak sort button display based on current sort
   - Display image attachments inline
   - Don't rezip certain attachment types, just offer link
   - Move delete and confirmation buttons
   - Increase max size for full download again
   - Fix repeated re-saves of mail to disk
   - Enable auto-deletion of downloaded mails
zzz's avatar
zzz committed
   - Send delete to server for mails already downloaded
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2014-04-24 zzz
 * SusiMail:
   - Add background mail checker
   - Add idle timeout connection closer
   - Rely on idle checker for most delayed deletions
   - Cleanup resources better when shutting down session
   - Don't add deleted mails to folder
   - Set socket soTimeouts
   - Display errors after check mail button pushed

zzz's avatar
zzz committed
2014-04-23 zzz
 * SusiMail:
   - Queue deletions for a later thread
   - Synch all folder access
zzz's avatar
zzz committed
   - Fix fetching of new mail
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2014-04-22 zzz
 * SusiMail:
   - Add persistent cache
zzz's avatar
zzz committed
   - Fix encoding in sent mails on non-UTF8 platforms
zzz's avatar
zzz committed
   - Show sender name in folder view
   - Add support for configured sender name
   - Add HTML escaping of '&'
   - Fix Folder sorting so UP is up and DOWN is down
   - Fix capture by show page after back button
zzz's avatar
zzz committed
   - Load all mails from disk at startup
   - Add offline mode
zzz's avatar
zzz committed

2014-04-21 zzz
 * SusiMail:
   - Pipeline all deletes and quit
   - Don't reconnect after delete and quit
   - Verify connected before each POP3 operation
   - Don't clear messages if a reconnection fails
   - Use locale-based sorting for strings
   - Increase limit for full fetch again
   - Increase default page size back again

2014-04-21 dg
 * findbugs: mostly stream closure fixes in router, apps, core

zzz's avatar
zzz committed
2014-04-20 zzz
 * SusiMail:
   - Implement extensive pipelining in POP3 for a big speedup
     of the initial connection
   - Don't require an attachment to be "uploaded" to send it
   - Move delete attachment button, hide if no attachments
   - Save BCC-to-self preference in the session
   - Fix date format in reply
   - Close any open POP3 socket when session is unbound
   - Don't keep returning user to compose page (ticket #1252)
   - Add javascript capture of back button on compose page

2014-04-19 zzz
 * Console: Remove the classpath workarounds for SusiMail,
   since it isn't using the jetty classes any more
 * SusiMail:
   - Increase max size of mails that are fetched in full,
     previous limit was so small it never happened.
   - Move page nav to top of folder view, hide if only one page
   - Refuse to send mail with no "to"
   - Reduce default page size as it slows startup
   - CSS and layout fixes
   - Flush writes in POP3 and SMTP
   - Don't wait for SMTP response after QUIT
   - Tell the user if there are no messages
   - Fix the message view layout
   - Message view attachment cleanups
   - Pipeline USER and PASS to save a round-trip at startup
   - Better synchronization in POP3
   - Properly de-byte-stuff in POP3
   - Remove unnecessary caching in POP3
   - More efficient handling of POP3 responses
   - Remove 60s timeout for fetching a message,
     so retrieval of large messages doesn't fail
   - Use pipelining in SMTP
   - Rewrite SMTP response processing
   - Translate SMTP error messages

zzz's avatar
zzz committed
2014-04-18 zzz
 * configclients: Don't allow console disable
 * I2PTunnel IRC Client: Prevent AIOOBE (ticket #1254)
zzz's avatar
zzz committed
 * SusiMail:
   - Extend session expiration (ticket #1253)
   - Handle non-UTF8 encoding on header lines (ticket #508)
   - Display dates in current locale and time zone
   - Display sender name on message view
   - Remove sort-by-ID buttons
   - Hide "reload config" button unless config file is present
   - Increase default page size
   - Don't force reconnection on folder view (ticket #1253)
   - Button theme tweaks
   - Only show logout button on folder view
zzz's avatar
zzz committed
   - Add dependency tracking to build

zzz's avatar
zzz committed
2014-04-17 zzz
 * i2psnark: Randomize announce list order and limit size
 * SSU: SessionRequest replay prevention (ticket #1212)
 * SusiDNS:
   - Locking on config file accesses
   - Remove static log and context
 * SusiMail:
   - Button styling for prev,next,list
   - Log errors to router log too
 * Tunnels: Increase OBEP throttle limit

2014-04-06 zzz
 * NetDB: Iterative search improvements
zzz's avatar
-2  
zzz committed
2014-04-05 zzz
 * I2PTunnel:
   - Add server option for unique local address per-client
   - Fix changing outproxy without stopping tunnel (ticket #1164)
   - Fix add-to-addressbook hostname link in i2ptunnel (ticket #688)
 * NetDB: Skip key cert LS stores and verifies for floodfills that don't support them
zzz's avatar
-2  
zzz committed

2014-04-01 zzz
 * Console: Fix summary bar html when displaying an update constraint
 * NetDB: Handle RI response from non-floodfill router down a client tunnel

zzz's avatar
zzz committed
* 2014-03-31 0.9.12 released

2014-03-28 zzz
 * i2ptunnel.config: Remove irc.freshcoffee.i2p
 * StatManager: Don't start thread for an empty config
 * StatisticsManager: Don't publish client tunnel stats

kytv's avatar
kytv committed
2014-03-28 kytv
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2014-03-05.
zzz's avatar
zzz committed
 * Brazilian Portuguese, French, Norwegian, and Russian translation updates imported from Transifex
kytv's avatar
kytv committed

2014-03-23 str4d
 * Console: Handle stopping plugin ClientApps

2014-03-16 zzz
 * SSU: Fix corruption of introducer keys

2014-03-15 zzz
 * Certificate: Fix null cert hash code
 * Hash: Cleanup of cached hash
 * NetDB: Randomize returned DSM timestamp

2014-03-13 zzz
 * SAM: Class, field, findbugs cleanups

2014-03-12 zzz
 * Console: Handle ISO-639-2 language codes (ticket #1229)
 * I2PTunnel: Send message to client on HTTP Server OOM or out of threads
 * Streaming:
   - Track recently closed connections (ticket #1161)
   - Workaround for jwebcache and i2phex (ticket #1231)
 * Wrapper: Fix failed restarts on ARM (ticket #1230)

2014-03-08 zzz
 * PeerManager: Restore profileOrganizer.sameCountryBonus advanced config,
                inadvertently removed in 0.9.10

zzz's avatar
zzz committed
2014-03-07 zzz
 * Router:
   - Look for DeliveryStatusMessages beyond the message expiration,
     so we don't throw out a tagset that gets acked late
   - Allow re-adding of a "failed" tagset to the SKM
   - Extend max message age in MessageValidator
   - Remove unused and confusing timeout param when registering a selector

2014-03-06 zzz
 * Router: Encrypt DeliveryStatusMessages sent in garlics (ticket #1217)

2014-03-05 zzz
 * Transports: Don't send a duplicate store of our RI at
     start of a connection (ticket #1187)
 * NTCP:
   - Lower send priority of the RI at exchange
   - Bob will now send his RI even if he doesn't have Alice's
   - Send RI again sooner on long-lived connections

str4d's avatar
str4d committed
 * Console: Updated website URLs in readme.html files
 * susimail: Removed remaining Jetty dependencies in susimail
   (patch from wockenfuss) (ticket #1165)

zzz's avatar
zzz committed
2014-02-24 zzz
 * NetDB: Slow down router refresh after startup to reduce load
   on exploratory tunnels
 * NTCP:
   - Add check for replayed session requests (ticket #1212)
   - Disable inbound check connection
   - Reduce object churn in EstablishmentManager
   - Don't pollute Hash cache in EstablishmentManager
 * Transports: Use SigUtil.rectify() in DH
 * Tunnels: Rate-limit connections at the OBEP (ticket #1134)

 * I2PTunnel: add 'irc.dg.i2p' to the default IRC2P tunnel (for more
   information, see http://echelon.i2p/docs/IRC2p/irc2p_userguide.txt)
2014-02-21 zzz
 * Build: Add property for target version
 * I2CP Client: Generate revocation key of same type as signing key
 * i2ptunnel: Only offer SigType options that are available in the JVM
 * LeaseSet: Add check for SigType mismatch
 * RouterAddress: Restore storage of expiration and use in signature
   calculation, broken in 0.9.3, in anticipation of using it someday
 * SigType: Add isAvailable()

2014-02-20 zzz
 * i2ptunnel: Add inproxy block option to HTTP server
 * Router: Allow null args to main() (broke Android)

zzz's avatar
zzz committed
2014-02-17 zzz
 * HMAC:
   - Replace BC MD5 with JVM version, refactor I2PHMAC to use
     MessageDigest instead of BC Digest (ticket #1189)
   - Use JVM HmacSHA256 instead of I2PHMAC for Syndie since it is standard
zzz's avatar
zzz committed
 * SSU:
   - Use session key for relay request/response if available (ticket #1206)
zzz's avatar
zzz committed
   - Restrict authentication with Bob's intro key to session created packet
zzz's avatar
zzz committed
   - Remove packetAuthTime stats
 * Initial support for key certificates and arbitrary types and lengths
   of signing keys and signatures in RouterIdentities and Destinations.
   - Fixup of Destination.create() and Destination.size()
   - Add generic off/len methods in DSAEngine, needed for streaming
   - Support i2cp.destination.sigType option in TunnelController and
     I2PSocketManagerFactory
   - Fixup of sign/verify in streaming Packet
   - Add setting in i2ptunnel server edit page (hidden for now)
   - Comment out cert setting on i2ptunnel server edit page
   - Show key type on susidns details page and LS debug page
   - Hide setting in i2ptunnel edit pages unless advanced user
   - Only store LS with key certs to routers that support it
   - Only store LS with more than 6 leases to routers that support it
 * Jetty:
   - Update to Jetty 8.1.14.v20131031, Servlet 3.0, JSP 2.2
   - Use Servlet and JSP jars from Jetty instead of Tomcat
   - Tomcat remains at 6.0.37 supporting Servlet 2.5 / JSP 2.1
   - Remove Jetty dependency in console error pages
   - Require Java 6
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2014-02-14 zzz
 * I2CP:
   - Add session limit, add new status code for refused
   - Ramdomize session ID, prevent dups
   - Make SessionId immutable

2014-02-13 zzz
 * Router: Convert to getopt (ticket #1173)
 * Tunnels: Change expl. OB default to 3+0

2014-02-11 zzz
 * HTTP client proxy: Don't flush after headers for a POST,
   so the POST data is included in the SYN packet,
   to improve speed and reliability of small POSTs

zzz's avatar
zzz committed
2014-02-10 zzz
Prop from i2p.i2p.zzz.test2:
 * Addressbook: Rewrite subscriptions.txt for new default URL
 * Build: Honor require.gettext=false for i2prouter translations
 * Core: Add lightweight getopt command line parsing lib (ticket #1173)
 * EepGet:
   - Convert to getopt (ticket #1173)
   - New option -c for clearnet (no proxy), same as -p:0
   - Proxy option -p with host name arg only (no ':') now allowed
   - Proxy password option is now -x, not the second arg to -u
   - Prompt for proxy password if not supplied in options
   - Line length option is now -l, not the second arg to -m
   - Error on nonproxied .onion hosts
   - Update man page, sort options (ticket #1173)
   - Support Digest proxy authentication (ticket #1173)
   - Move authentication parsing method from I2PTunnelHTTPClientBase
 * EepHead, PartialEepGet, SSLEepGet: Convert to getopt (ticket #1173)
 * EepHead, PartialEepGet:
   - New option -c for clearnet (no proxy), same as -p:0
   - New option -o, same as EepGet
   - Proxy option -p with host name arg only (no ':') now allowed
   - Add proxy auth support with -u and -x options (ticket #1173)
 * I2Ping:
   - Convert to getopt (ticket #1173)
   - Add support for from/to ports
 * i2psnark: Cache PeerID.toString()
 * I2PTunnel:
   - Convert to getopt (ticket #1173)
   - Add more argument sanity checking and a usage output
 * PrivateKeyFile:
   - Convert to getopt (ticket #1173)
   - New option -e for hashcash effort, replaces -h with arg
   - Stub out -t option, to be propped from ecdsa branch
 * Streaming:
   - Set ports on many packets that were missing them
   - Use connection throttling methods on pings too (ticket #1142)
   - Add methods to set ports on pings
   - Argument checking on ping methods
 * SU3File: Convert to getopt (ticket #1173)
 * UpdateManager: Convert to RouterApp and remove update hooks from context
     (ticket #1185)

zzz's avatar
zzz committed
2014-02-10 zzz
 * Console:
   - Don't reset graph settings when clicking restart or shutdown on graphs page
   - Don't recommend guest login on trac, it's disabled
   - Catch and remove corrupt jrb file (ticket #1186)
   - Always set default language on /configui
 * Transports: Reduce target connection count again to reduce
               tunnel reject rate further

* 2014-02-08 0.9.11 released

zzz's avatar
zzz committed
2014-02-07 zzz
 * Services:
   - Move backup news to psi.i2p
   - Move default addressbook subscription to i2p-projekt.i2p
   - Remove www.i2p2.i2p from default update lists
   - Add psi.i2p to hosts.txt
   - Update links on help pages to avoid redirects on new website
     and select the correct language
 * SusiDNS: Fix whitespace issues

kytv's avatar
kytv committed
2014-02-06 kytv
 * Brazilian Portuguese, Danish, French, Japanese, Polish, Russian, Ukrainian
   translation updates
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2014-02-05.

zzz's avatar
zzz committed
2014-01-31 zzz
 * /logs: Fix encoding of wrapper log section (ticket #1193)
 * NetDB: Fix cases where corrupt RouterInfo files were not deleted (ticket #1190)
 * SOCKS: Remove static logs

2014-01-30 zzz
 * InboundMessageDistributor: Set reply flag on LeaseSets

2014-01-28 zzz
 * /configclients: Add link to plugins.i2p; don't show delete button for console
 * Tunnels: Change expl. IB default to 2 + 0-1

2014-01-28 dg
 * I2PSnark: Make 'kitty.png' transparent
2014-01-28 zzz
 * I2CP: Use client tunnels for b32 lookups (ticket #1166)

zzz's avatar
zzz committed
2014-01-27 zzz
Prop from i2p.i2p.zzz.i2cp:
 * I2CP:
   - Add support for hostname lookups over I2CP with new
     HostLookup and HostReply messages.
   - Move username / password from CreateSession to GetDate for
     early authentication; this is an incompatible chage.
     Outside router context with authentication enabled,
     new clients will not work with old routers.
     Early authentication is not yet enforced, enable with
     i2cp.strictAuth=true. Will change default to true in a later release.
   - Block all actions before authentication.
   - Better disconnect messages to clients for diagnostics
   - Improve lookup command, add auth command in i2ptunnel CLI for testing
   - Don't start ClientWriterRunner thread in constructor
   - Don't flush in ClientWriterRunner unless necessary
   - Send GetDate even in SimpleSession outside of RouterContext
   - Improve SetDate wait logic to reduce locks and break out when Disconnect received
   - Add Disconnect handler to SimpleSession
   - Add SessionID to HostLookup/Reply messages, for future
     use when we have multiple sessions
   - Throw IAE on invalid SessionID values
   - Add support for b64 conversion in destLookup()
   - Catch invalid message length sooner
 * I2Ping:
   - Extend I2PTunnelClientBase so non-shared-client,
     I2CP options, and other features will work
   - Fixes for fields and threading
   - Cleanups
 * Streaming:
   - Send LS with ping (broken since 0.9.2)
   - Set the NO_ACK flag on pings and pongs

2014-01-27 zab
 * Move message serialization later in the SSU sending pipeline
zzz's avatar
zzz committed
   (Ticket #1183)
2014-01-27 zzz
 * i2ptunnel HTTP Proxy: Fix default enable for outproxy plugin

zzz's avatar
zzz committed
Prop from i2p.i2p.zzz.outproxy:
 * i2psnark: Lower threshold for auto-stop
 * i2ptunnel HTTP Proxy:
   - Add support for HTTPS
   - Add support for outproxy plugins
 * Installer: Update links
 * NetDB: Fix NPE after client shutdown (ticket #1174)
 * Router: Lower frequency for publishing stats
 * Update: All updates via torrent

2014-01-25 zab
 * Move OutNetMessage buffer preparation to the Writer threads 
zzz's avatar
zzz committed
* 2014-01-22 0.9.10 released

kytv's avatar
kytv committed
2014-01-20 kytv
kytv's avatar
kytv committed
 * Translation updates
kytv's avatar
kytv committed
 * Updates to geoip.txt and geoipv6.dat.gz based on Maxmind GeoLite Country
   database from 2014-01-08.

2014-01-20 zzz
 * Console: Change www.i2p2.i2p links to i2p-projekt.i2p
 * Reseed: Remove netdb.i2p2.de

 * NetDB: Fix handling of DSRM and DSM down client tunnels
zzz's avatar
zzz committed
2014-01-11 zzz
 * NetDB:
   - Reduce min part tunnels for ffs to 35
   - Use client tunnels for LS lookups from OCMOSJ (ticket #1166)

2014-01-11 str4d
 * BOB: Pass through I2CP host/port (ticket #827)

2014-01-10 str4d
 * BOB: Implement ClientApp interface (ticket #347)

zzz's avatar
zzz committed
2014-01-09 zzz
 * Kademila: Fix NPE in remove()

2014-01-09 kytv
 * Translations
  - Updates to French, German, Romanian, and Russian
  - New Brazilian Portuguese translation
  - Mass pull of translations from Transifex
  - Update of English strings

str4d's avatar
str4d committed
2014-01-09 str4d
 * susimail:
  - Fixed pagination with zero entries (ticket #1168)
  - UTF-8 support from wockenfuss (ticket #508)
str4d's avatar
str4d committed
 * Console: Fixed overlapping text issue in midnight theme

zzz's avatar
zzz committed
2014-01-07 zzz
 * Streaming: Fix StandardServerSocket.close() and isClosed()

zzz's avatar
zzz committed
2014-01-04 zzz
 * Peermanager: Disable small same-country bonus
 * Tunnels: Change client default to 3 hops in router;
   change expl. default to 2+0 IB and 2 + 0-1 OB

2014-01-04 dg
 * Streaming: Move streaming to new package (ticket #1135)
 * Console: Change /configclients 'advanced warning' to include 'toopie, no red
dg2-new's avatar
dg2-new committed
 * Console: Add 'advanced warning' to /configclients
 * SOCKS5Server: Remove redundant, commented out line from my previous findbugs

zzz's avatar
zzz committed
2013-12-19 zzz
 * NetDB: Fixes for ExpireRoutersJob
  - Don't expire if too few routers
  - Don't expire if net is disconnected
  - Don't run in VMCommSystem

2013-12-15 zzz
* EepGet: Allow override of the User-Agent
* i2psnark: Set User-Agent

zzz's avatar
zzz committed
2013-12-14 zzz
* NetDB:
 - Just before midnight, flood to new location too so lookups
   don't fail after keyspace rotation (ticket #510)
 - Refactor RoutingKeyGenerator and UpdateRoutingKeyModifierJob
   in support of the above

zzz's avatar
zzz committed
2013-12-13 zzz
 * i2ptunnel: Show destination for persistent client key only if available;
              show b32 for the key as well
 * NetDB:
   - Increase new kad size to K=24, B=4
   - Fix router count by counting in the data store, not the kbuckets
   - Randomize the order we load router infos at startup so we
     don't bias the kbuckets

zzz's avatar
zzz committed
2013-12-10 zzz
Prop from i2p.i2p.zzz.test2:
 * Config files: Allow empty values
 * Data: Deprecate Signature.FAKE_SIGNATURE
 * GeoIP: Thread the periodic lookup so it doesn't clog the timer queue
 * I2CP router-side: Disconnect client on attempt to publish invalid leaseset
 * i2psnark:
   - Make a set of the default trackers so the config array
     can be private and the lookup for the form is more efficient.
   - Disable streaming pings (ticket #1142)
 * i2ptunnel: Disable streaming pings for clients (ticket #1142)
 * i2ptunnel IRC client: Do not filter server PING or client PONG (ticket #1141)
 * Jetty 7.6.14.v20131031
 * PeerManager: Thread the periodic reorg so it doesn't clog the timer queue
 * PrivateKeyFile: Fix ISE (ticket #1145)
 * Startup: Wait a while and recheck if a recent ping file is there,
            so that a crashed router doesn't prevent a restart (ticket #633)
 * Transport: Reduce target connections from 60% to 45% of limit
   to improve network capacity. Apparent problems with lower limits were
   actually due to unrelated bugs, fixed in 0.9.8.1-22.
 * Translations:
   - Add support for country variants (ticket #1133)
   - Refactor data in ConfigUIHelper
 * UDP PeerState: findbugs volatile/atomic/synch
Prop from i2p.i2p.zzz.netdbkad:
 * NetDB:
   - Move net.i2p.kademlia package from i2psnark to core, and convert
     netdb to use it.
   - Delete old implementation in netdb
   - Fixups in netdb for generics
   - Add debug output to /debug
 * Kad unit tests:
   - Move KBucketSetTest to new directory
   - Fix testSelf() as new implementation will never include myself
   - Delete KBucketImplTest, not applicable/useful now
   - Port KBSTest from i2p.zzz.kademlia branch
   - Fix RandomTrimmer so it always returns true, so it may be used
     as the trimmer in the unit tests

zzz's avatar
zzz committed
* 2013-12-07 0.9.9 released

zzz's avatar
zzz committed
2013-12-04 zzz
i2psnark: Fix ConnectionAcceptor not restarting after tunnel
  restart, preventing incoming connections

2013-12-01 kytv
 * Update geoip.txt based on Maxmind GeoLite Country database from 2013-11-05.
 * French, Italian, Romanian, Spanish, and Swedish translation updates from transifex

 * I2PTunnel: Don't send 'X-Powered-By' on HTTP server tunnels for anonymity reasons.
2013-11-25 str4d
 * Reseed: Listen to "Require SSL" config option

zzz's avatar
zzz committed
2013-11-23 zzz
 * i2ptunnel: Clean up old timer threads

2013-11-23 str4d
 * susimail: Fix NPE when deleting last message (ticket #414)

2013-11-19 kytv
 * Translation updates and start of Japanese translation pulled from Transifex

2013-11-14 kytv
 * Update Java Service Wrapper to v3.5.22
    - Windows: Self-compiled with VS2010 in Windows 7. The icon has been
      changed from Tanuki's default to Itoopie.
    - Linux ARMv6: Compiled on a RaspberryPi using gcc 4.6.3-14+rpi1,
      Icedtea6 6b27-1.12.5-1+rpi1 and stripped
    - All other binaries are from the "community edition" deltapack offered by
      Tanuki.

zzz's avatar
zzz committed
2013-11-14 zzz
 * Tunnels: Fix reception of encrypted responses to LS lookups (ticket #1125)

2013-11-07 zzz
 * i2psnark: Fix file links, broken in -12 (ticket #1114)
 * Logging: Track duplicates across flush interval (ticket #1110)
 * NetDB: Fix RI publish interval, broken in -7

2013-11-03 zzz
 * NetDB: Allow store of leaseset as long as one lease has not expired
 * Transport:
   - Expire wasUnreachable entries, so inbound tunnel build failures
     don't escalate
   - Add network status to event log

2013-11-01 zzz
 * Transport: Fix GeoIPv6 (ticket #1096)

zzz's avatar
zzz committed
2013-10-31 zzz
 * i2psnark: Always verify file lengths at startup (ticket #1099)
 * Transports: Increase threshold for idle timeout reduction
   (partially back out change from -10)

2013-10-29 dg
 * i2psnark: Start torrents by default (ticket #1072)

zzz's avatar
zzz committed
2013-10-29 zzz
 * i2psnark: Fix start and start-all buttons on text-mode browsers
   and Opera (ticket #1093)
zzz's avatar
zzz committed
 * InboundMessageDistributor:
   - Don't discard an encrypted DSRM received
     down a tunnel, just strip the hashes like we do for unencrypted
   - Send a store of our own encrypted LS received down a tunnel to
     the InNetMessagePool so the FloodfillVerifyStoreJob will see it.
 * NetDB: Fix LS store verifies with encrypted replies
   by storing the tagset with the correct SKM for the inbound tunnel used.
   Broken since 0.9.7 when it was introduced.
 * Tunnels:
   - Build a new exploratory fallback tunnel in the BuildExecutor
     loop if we run out.
   - Don't use closest expl. tunnel as the paired tunnel for a build,
     use a random one instead (partially back out change from -12)

meeh's avatar
meeh committed
2013-10-29 meeh
 * Adding no.i2p registrar

dg2-new's avatar
dg2-new committed
2013-10-28 dg
 * I2PTunnel: Enable persistent keying for SOCKS tunnels (ticket #1088)

2013-10-27 zzz
 * Streaming; Fix crash caused by previous blacklist fix (ticket #1070)

zzz's avatar
zzz committed
2013-10-26 zzz
zzz's avatar
zzz committed
 * i2psnark: Display base name, not torrent file name (ticket #985)
zzz's avatar
zzz committed
 * I2PTunnel HTTP server: New POST limiter
zzz's avatar
zzz committed
 * Profiles: Ensure we select random peers even before the first reorganization
 * Streaming: Randomize end of first conn limit period
 * Tunnels:
   - Don't use fallback expl. tunnels as the paired tunnel
     for a client tunnel build.
   - Fix selection of an expl. tunnel close to a hash
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2013-10-25 zzz
zzz's avatar
zzz committed
 * Router: Only log ping file error once (ticket #1086)
zzz's avatar
zzz committed
 * Streaming:
   - Check blacklist/whitelist before connection limits, so
     a blacklisted peer does not increment the counters
   - Don't increment total throttle if peer is throttled
   - Fix blacklist NPE after config change (ticket #1070)
 * Transports: Reduce connection idle time sooner

2013-10-24 zzz
zzz's avatar
zzz committed
 * i2psnark: Drop incoming connections on HTTP port
 * I2PTunnel: Don't let uncaught exception kill server acceptor (ticket #1070)
 * I2PTunnel standard, HTTP, and IRC servers:
   Route connections to specific targets based on incoming I2P port
   with custom option targetForPort.xxxx=myserver:yyyy
   This allows multiple services on a single server tunnel (ticket #1066)

zzz's avatar
zzz committed
2013-10-23 zzz
 * I2PTunnel standard and IRC clients:
   - Allow host:port targets; set defaults in i2ptunnel.config (ticket #1066)
   - Don't fail start if hostname is unresolvable; retry at connect time (ticket #946)
   - Output IRC message on connect exception
   - Update target list on-the-fly when configuration changes
zzz's avatar
zzz committed
 * NetDB:
   - Increase RI publish interval to reduce the connection load on ffs
   - Save RI-last-published time; check it before publishing

2013-10-19 zzz
 * NetDB:
   - Reinstate ExpireRoutersJob
   - Reduce min part. tunnels for floodfill
   - Reduce floodfill redundancy

2013-10-17 zzz
 * I2CP: Move SSL client socket code to util,
   move cert location to certificates/i2cp.
 * I2PTunnel: Support SSL for connection to local server
   for Standard, HTTP, and IRC server tunnels.
   Put server cert in certificates/i2ptunnel if necessary.
 * Streaming: Throw IOE if socket is closed (ticket #1077)

2013-10-14 kytv
 * French translation updates from Transifex

2013-10-14 zzz
 * Translations: Move country names to a new resource bundle

 Prop from branch i2p.i2p.zzz.test2:
 * Console:
   - Implement webapp state detection and stop button for webapps
     on /configclients (Ticket #1025)
   - Set per-connector acceptors back to 1, Jetty default changed to 2?
   - Tag strings on /jobs (ticket #969)
 * Data Structures:
   - Make Destination and RouterIdentity keys and cert immutable
   - Add Destination cache
 * i2psnark:
   - Combine getPeers and announce into a single method, as we must announce to
     the closest from the getPeers, not the closest from the kbuckets
   - Stop getPeers when nothing closer is found
   - Increase DHT dest lookup, search timeouts, and max search depth
   - Loop tracker client faster when in magnet mode or if DHT announce fails
   - Don't return an empty peers list in DHT if we only know about the requestor
   - Refactor Storage file data structures
   - Sort files when creating torrents
   - Add torrent auto-stop support; enable for update file
   - Add tunnel auto-close when no torrents are running
   - Close socket before closing output stream to avoid blocking in
     Peer.disconnect(), and prevent Peer.disconnect() loop
 * I2PTunnelHTTPServer: Don't thread a receiver for GET or HEAD
 * Jetty 7.6.13.v20130916
 * Logging:
   - Require strict match of class name component
   - parseLimits() cleanup
 * SSU: More efficient InboundMessageState
 * Streaming:
   - Fix active stream counting so it doesn't count streams
     that are closed and in TIME-WAIT state. Also, break out of the
     counting loop as soon as we know the answer. (Ticket #1039)
   - Consolidate scheduling of DisconnectEvent, and ensure
     we only do it once. (Ticket #1041)
   - Atomics for close/reset send/receive
     so we only do things once. (Ticket #1041)
   - Remove setCloseReceivedOn(), unused outside Connection
   - OR the isFlagSet parameter instead of multiple calls
   - Remove acked packets from _outboundPackets inside synced iterator
   - Short-circuit _outboundPackets iterator if empty
   - Small optimization if not logging in ConnectionPacketHandler
   - Stub out processing of close ack (ticket #1042)
   - Don't queue a message for an unknown connection on the SYN queue
     if it has a send ID set, it must be for a recently closed connection
   - Major rework of connection disconnect process. Tickets 1040-1042.
   - Prevent multiple calls or reentrancy in disconnect() (ticket #1041)
   - Implement processing of close to skip TIME-WAIT, and
     wait for all packets to be acked (not just the CLOSE) before
     doing so, if possible (ticket #1042)
   - Don't call disconnect() or disconnectComplete() from I2PSocketFull.destroy()
     so retransmissions and acks can still happen (removes some close loops)
   - Don't call disconnect() until we have both sent and received a CLOSE (ticket #1040)
   - Don't reset the connection from CPH just because we sent a CLOSE
     and it was acked (ticket #1040)
   - Ack packets even if we sent a CLOSE  (ticket #1040)
   - Retransmit CLOSE if not acked (ticket #1040)
   - Send received packets to the MessageInputStream even if we haven't received a SYN
   - Don't call MessageInputStream.messageReceived() for ack-only packets, that was pointless
   - Don't send a RESET after timeout of an outbound connection
   - Work around bugs on other end by limiting retransmission of CLOSE packets
   - Make I2PSocketFull.close() nonblocking; it will now cause any user-side
     writes blocked in I/O (Connection.packetSendChoke()) to throw
     an exception (tickets #629, #1041)
   - Don't ignore InterruptedExceptions; throw InterruptedIOException
   - MessageInputStream locking fixes
   - Make _isInbound final
   - More cleanups, javadocs, log tweaks
 * Transport: Treat more IPs as local
   - 25/8 Hamachi (moved from 5/8 Nov. 2012)
   - 2620:9b::/32 Hamachi
   - 3ffc::/16 6bone
   - 2001:db8::/32 example (RFC 3849)
   - 0::/8 Includes IPv4 compatibility addresses ::xxxx:xxxx
 * Update:
   - Support notification of updates that cannot be downloaded
     due to "constraints". Add constraint checks for java version,
     router version, configuration, and base permissions. (ticket #1024)
   - Thread news fetcher so it doesn't clog the scheduler
 * Watchdog: Format messages better

zzz's avatar
zzz committed
2013-10-06 zzz
 Prop from branch i2p.i2p.zzz.ecdsa:
 * Build:
   - Generate su3 file in release target
   - Add zzz's new RSA 4096 pubkey cert for updates
   - Fix checkcerts.sh
 * Console: Move advanced setting to HelperBase
 * DSAEngine changes:
   - Implement raw sign/verify for other SigTypes
   - Add sign/verify methods using Java keys
 * ECDSA Support:
   - Add ECConstants which looks for named curves and falls back to
     explicitly defining the curves
   - Add support for ECDSA to SigType, DSAEngine and KeyGenerator
   - Attempt to add BC as a Provider
   - genSpec: fallback to BC provider
 * EepGet:
   - Fix non-proxied PartialEepGet
   - Prevent non-proxied eepget for an I2P host
 * KeyGenerator changes:
   - Generate key pairs for all supported SigTypes
   - KeyPairGen: Catch ProviderException, fallback to BC provider
   - Add KeyGenerator main() tests
 * KeyRing and DirKeyRing added: simple backend for storing X.509 certs
 * KeyStoreUtil added:
   - Consolidate KeyStore code from SSLEepGet, I2CPSSLSocketFactory,
     SSLClientListenerRunner, and RouterConsoleRunner into new
     KeyStoreUtil and CertUtil classes in net.i2p.crypto (ticket #744)
   - Change default to RSA 2048 (ticket #1017)
   - Set file modes on written keys
   - Overwrite check in createKeys()
   - New getCert(), getKey()
   - Extend keygen max wait
   - Read back private key to verify after keygen
   - Validate cert after reading from file
   - Validate CN in cert
   - Specify cert signature algorithm when generating keys
 * NativeBigInteger: Tweak to prevent early context instantiation
 * RSA support added: constants, parameters, sig types, support in DSAEngine, KeyGenerator, SigUtil
 * SHA1Hash: Add no-arg constructor
 * SigType changes:
   - Add parameters (curve specs) to SigTypes
   - Add getHashInstance()
   - Add RSA, fix ECDSA
   - Renumber, rename, comment out types that are too short.
 * SigUtil added:
   - Converters from Java formats (ASN.1, X.509, PKCS#8)
     to I2P formats for Signatures and SigningKeys
   - Move ASN.1 converter from DSAEngine to SigUtil, generalize
     for variable length, add support for longer sequences,
     add more sanity checks, add more exceptions
   - Move I2P-to-Java DSA key conversion from DSAEngine to SigUtil
   - Add Java-to-I2P DSA key conversion
   - Add Java key import
   - New split() and combine() methods
 * SSLEepGet: Move all certificates to certificates/ssl, in preparation
   for other certificate uses by SU3File
 * SU3File changes:
   - Support all SigTypes
   - Implement keygen
   - Readahead to get sigtype on verify, as we need the hash type
   - Enum for content type
   - Add unknown content type, make default
   - Fix NPE if private key not found or sign fails
   - Store generated keys in keystore, and get private key from keystore
     for signing, in Java format
   - Use Java keys to sign and verify so we don't
     lose the key parameters in the conversion to I2P keys
   - Type checking of Java private key vs. type when signing
   - Use certs instead of public keys for verification
   - Fix arg processing
   - Improve validate-without-extract
   - New extract command
   - Change static fields to avoid early context init
   - Reduce PRNG buffer size for faster signing
 * Update: Preliminary work for su3 router updates:
   - New ROUTER_SIGNED_SU3 UpdateType
   - Add support for torrent and HTTP
   - Refactor UpdateRunners to return actual UpdateType
   - Deal with signed/su3 conflicts
   - Verify and extract su3 files.
   - Stub out support for clearnet su3 updating
   - New config for proxying news, separate from proxying update
   - PartialEepGet and SSLEepGet tweaks to support clearnet update
   - Remove proxy, key, and url config from /configupdate
   - More URI checks in UpdateRunner
   - Add https support for news fetch
   - Add su3 mime type
   - Reset found version in update loop so we don't fetch from
     the next host too.
   - Prevent NPE on version after SSL fetch

zzz's avatar
zzz committed
* 2013-10-02 0.9.8.1 released

2013-10-01 zzz
 * Startup: Fix rekeying on Windows (tickets #1056, 1057)

zzz's avatar
zzz committed
* 2013-09-30 0.9.8 released

2013-09-26 kytv
 * French, German, Russian, and Swedish translation updates from Transifex
 * Update geoip.txt based on Maxmind GeoLite Country database from 2013-09-03

2013-09-23 zzz
 * Console: Add /proof page which can copied to prove you run a router

kytv's avatar
kytv committed
2013-09-20 kytv
 * Chinese, French, German, Russian, and Swedish translation updates from
   Transifex
 * Revert expl. default back to 2 hops, wait for next release
2013-09-07 zzz
 * Crypto: Don't use "short exponent" on faster platforms.
   Rebuild router identity if key length doesn't match setting.

2013-09-03 zzz
 * configui: Change pw restart warning to error so people dont miss it
 * Data: deprecate most of LeaseSetKeys
 * i2ptunnel: Reduce buffer size and use cache in HTTPServer
 * Jetty: Increase maxIdleTime
 * profiles: use different sort for floodfill profiles display
 * Utils: Consolidate maxMemory() calls

zab2's avatar
zab2 committed
2013-08-31 zab
 * Streaming: Use only non-retransmitted packets when sampling RTT
zab2's avatar
zab2 committed
   (Ticket 1007, RFC 6298)
zab2's avatar
zab2 committed

 * Addressbook: Don't write to log file on Android (ticket #859)
 * Addresses: Treat Teredo addresses 2001:0::/32 as local
 * Console: Display "accepting tunnels" instead of "rejecting tunnels"
            after 20 minutes (ticket #902)
 * i2psnark: Highlight table rows on hover
 * NTCP: Handle race where peer's NTCP address goes away
 * SSU, confignet: Add support for specifiying multiple addresses
 * SusiDNS: Don't require last subscription to be terminated by newline (ticket #1000)

zzz's avatar
zzz committed
2013-08-11 zzz
 * Jetty 7.6.12.v20130726

2013-08-11 kytv
 * Update Java Service Wrapper to v3.5.20
    - Windows: Self-compiled with VS2010 in Windows 7. The icon has been
      changed from Tanuki's default to Itoopie.
    - Linux ARMv6: Compiled on a RaspberryPi using gcc 4.6.3-14+rpi1,
      Icedtea6 6b27-1.12.5-1+rpi1 and stripped
    - All other binaries are from the "community edition" deltapack offered by
      Tanuki.
 * Translations
   - French, Portugeuse, Russian, Spanish, and Turkish updates from Transifex
   - Start of Romanian translation from Transifex
zab2's avatar
zab2 committed
2013-08-11 zab
 * Streaming:
   - reduce initial ack delay 2000->1000
   - rework the logic of acking duplicate packets

zzz's avatar
zzz committed
* 2013-08-10 0.9.7.1 released

zzz's avatar
zzz committed
2013-08-10 zzz
zzz's avatar
zzz committed
 * Prop from i2p.i2p.0971
 * Update:
   - New update hosts, thanks Meeh and dg
   - Increase update-via-torrent to 30%

zzz's avatar
zzz committed
2013-07-30 zzz
 * i2psnark: Increase max piece size to 4 MB (ticket #993)
 * Tunnels: Extend local expiration of IB tunnels, to allow for
   more clock skew and not drop valid messages at their destination

zzz's avatar
zzz committed
2013-07-29 zzz
zzz's avatar
zzz committed
 * Signatures:
   - Prep for new signature algorithms; new SigType enum;
     Signature, SigningPublicKey, SigningPrivateKey store type
   - New Hash384 and Hash512 classes
   - Remove length field in SimpleDataStructure
   - New SU3File generator/verifier/extractor
zzz's avatar
zzz committed
 * GeoIPv6: Fix NPE (ticket #992)
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2013-07-28 zzz
 * Addresses: Treat RFC 4193 addresses fc00::/7 as local
 * NetDB: Disable RI verifies for now

zzz's avatar
zzz committed
2013-07-26 zzz
 * Transports:
   - Fix IPv6-only option 2nd try
   - Treat RFC 4193 addresses fc00::/7 as local

zzz's avatar
zzz committed
2013-07-25 zzz
zzz's avatar
zzz committed
 * Transports:
   - Prefer IPv6 by default
   - Fix IPv6-only option
   - Don't try NTCP IPv6 addresses unless we have one
   - Fix non-%16 SSU padding; enable by default
 * Tunnels:
   - Make expl. default 3 hops  (ticket #966)
   - Allow expl. fallback up to -2 hops

zzz's avatar
zzz committed
2013-07-24 zzz
 * GeoIP: Fix lookups, broken in IPv6 branch
 * UPnP:
   - main() tweaks for debugging
   - Fix for devices that return base URLs with trailing '/' (ticket #986)
zzz's avatar
zzz committed
2013-07-22 zzz
 * BuildReplyHandler:
   - Make non-static
   - Don't pollute Hash cache with build response record hashes
   - Use SimpleByteCache
   - cleanups
 * HashComparator:
   - Don't pollute Hash cache with hashes
   - cleanups

zzz's avatar
zzz committed
2013-07-21 zzz
 * I2CP:
   - Don't NPE when loglevel=warn
   - Don't enforce property length limits when inside router JVM
 * I2PSnark: Log uncaught error in ThreadedStarter to router log
 * I2PThread: Log uncaught error to wrapper log

zzz's avatar
zzz committed
2013-07-20 zzz
 Prop from i2p.i2p.zzz.ipv6:
 * Addresses:
   - blocklist 192.88.88.0/24 6to4 anycast
   - invalidate 2002::/16
   - Strip scope from returned IPv6 addresses
 * Blocklist:
   - Add IPv6 in-memory single list
   - Limit in-memory single list size
   - Fix dup check in getAddresses()
 * CSFI: Pass TransportManager instead of CSFI to GetBidsJob; remove unused methods
 * Console:
   - Add IPv6 column on /peers
   - Other minor /peers cleanup
 * FloodfillPeerSelector, ProfileOrganizer: Use 8 bytes for IPv6 check
 * GeoIP:
   - Use cached IP in RouterAddresses
   - Use both NTCP and SSU addresses
 * GeoIPv6:
   - Handle gzipped input data in merge tool
   - Add script to generate compressed data
   - Add local additions
   - Add compressed data file, generated from Maxmind data fetched 2013-05-24
   - Include data in installer and updater
   - Update Maxmind license info, now CC-SA 3.0
   - Enable GeoIPv6 lookup in CSFI
 * NetDb:
   - Add floodfillEnabled() to NetworkDatabaseFacade so callers don't
     have to cast to FNDF, and Dummy NDF will work
   - Remove static FNDF.floodfillEnabled()
 * NTCP:
   - Move SSU address notification handling from CSFI to NTCPTransport
   - Drop NTCPAddress, just use RouterAddress
   - Drop _myAddress field, use super's currentAddress
   - Bad bind config not fatal
   - Fix publishing address when host specified but interface is not
   - Republish even if only changing cost
 * PacketPusher: Minor optimization
 * Peer tests:
   - Use only IPv4 peer for Alice and Bob in peer tests; Charlie may be an IPv6 peer.
   - Enforce IPv4 (Alice's) address inside PeerTest packet
 * RouterAddress and RouterInfo toString() cleanups; don't cache RI in _stringified
 * RouterAddress:
   - hashCode/equals tweaks
   - Add new constructor
   - Add add getHost() and deepEquals()
   - Compare host string, not IP, in equals()
   - Deprecate some setters
   - Add warning about setCost()
   - Change cost storage from int to short
   - Cost range checks
 * RouterContext: Fix disabling client manager with i2p.dummyClientFacade=true
 * SSU:
   - Change from single UDPEndpoint to a List of UDPEndpoints
   - Move (single) receive queue from UDPReceiver to PacketHandler
   - Multiple transmit queues (one for each UDPEndpoint/UDPSender),
     select queue in PacketPusher
   - Throw exception on UDPEndpoint.startup() failure
   - Remove all _external* fields; use _currentAddresses in super
   - Big rework of externalAddressReceived(), rebuildExternalAddress(),
     needsRebuild(), and replaceAddress() for multiple addresses and IPv6
   - Add caching in UDPAddress
   - More IPv6 flavors of utility methods
   - Remove two-arg replaceAddress()
   - Fixes for i2np.udp.allowLocal, log tweaks, sender/receiver thread name tweaks
   - Handle IPv6 in too-close checks
   - IPv6 SSU MTU adjustments
   - Hash IPv6 addresses in IPThrottler
 * SSU Introduction:
   - Document that Alice-Bob RelayRequest/RelayResponse may be IPv4 or IPv6,
     but don't implement IPv6 yet.
     Changes required in IntroductionManager and PacketBuilder to send Alice's
     IPv4 address in the RelayRequest packet over IPv6, and to publish
     IPv6 introducer IPs.
   - Bob-Charlie RelayIntro must be IPv4
   - Only offer/accept relay tags as Bob or Charlie if the Bob-Charlie session is IPv4
   - Alice-Charlie communication must be IPv4
 * SSUDemo:
   - Configuration fixes, delete RI on exit, log tweaks, cleanups
   - Use IPv6; don't use System properties
   - Adapt for NTCP testing too
 * Tests:
   - New buildTest and prepTest targets
   - Fix UDPEndpoint usage in unit tests: Restore receive(); Handle null UDPTransport
   - Fix UDPEndpointTestStandalone: init context; Add unit test buildPacket() method to PacketBuilder;
     Fix NPE in MessageHistory
 * Transports:
   - Add new TransportUtil for getting/setting IPv6 config
   - Prep for supporting multiple RouterAddresses per-transport
   - Prep for multiple address discovery
   - Fix multiple-detection code in externalAddressReceived()
   - Synchronize tracking of last IP/port
   - Don't accept IPv6 address changes from peers
   - Remove unused getLocalAddress()
   - Pkg private getLocalPort()
   - Start transports in a standard order to make testing easier
   - When transports learn of interface addresses before being started, save them
     and use them at startup
   - Pick SSU random port before startListening() and have the TransportManager
     pass it to NTCP before starting
   - Only restart NTCP after changing addresses when necessary;
     prevent thrashing at startup (ticket #459)
   - Always bind NTCP if we have port; not just when not firewalled
   - Only call rebuildRouterInfo() once at startup
   - More checking of min/max SSU port config
   - Invalid SSU bind config no longer fatal
   - Allow "true" for ipv6 config
   - SSU fixes for per-address and IPv6 MTU
   - MTU.main() print all interfaces
   - Add i2np.disable property for testing
 * Transports:
   - Sort multiple peer addresses by cost, with adjustment for local IPv6 preference
   - Add default IPv6Config for ease of changing later
   - Only treat IPv6 addresses as valid if we have a public IPv6 address
 * Tunnel GW pumper: Limit threads when testing
 * UDPAddress:
   - Reduce object churn, check intro key length,
     don't look for ihost3, reject ports < 1024, cleanups
   - Remove dependency in console; make package private
 * UPnP:
   - Fix UPnP address received before startListening(), broken by isAlive() check
   - Pass device IP back in forward port callback
   - Only declare success if forwarded IP is public

zzz's avatar
zzz committed
2013-07-20 zzz
 Prop from i2p.i2p.zzz.test2:
zzz's avatar
zzz committed
 * DHSessionKeyBuilder: Fix for session and mac keys if DH key is between 32 and 63 bytes.
   Was: NPE. Now: mac key is hash of session key. Won't ever happen. (Ticket #963)
 * I2CP/I2PTunnel locking fixes (partial fixes for tickets 650. 722, 815, 946, 947, 953):
   - I2PSocketManagerFactory: New createDisconnectedManager(), javadocs
   - I2PSessionImpl: Rewrite state management and locking, prevent multiple
     connect() calls, but allow disconnect() to interrupt connect()
   - I2PSimpleSession: Changes to match I2PSessionImpl
   - I2PTunnelServer: Don't connect in constructor, use createDisconnectedManager()
     for a final manager, finals and cleanups
 * ClientManager:
   - Make classes extensible for router-side test stubs
   - Add router-side local-only test implementation, no full router required.
     Only tested with external clients, probably doesn't work in-JVM.
   - Don't start threads in ClientManager constructor
   - Remove unused Reader param in ClientMessageEventListener methods
   - Cleanups, volatiles, finals, javadocs
 * Translations:
   - New varargs method in Translate
   - New TranslateReader to translate static files on-the-fly using _("") tagging
   - Tag proxy error pages for TranslateReader
   - Drop static translated proxy error pages
   - Add new i2ptunnel bundle for the proxy alone, shipped in the jar.
   - Use TranslateReader in HTTP proxy for error pages
   - Move HTTP proxy strings from the web (war) to proxy (jar) bundle so they will be loaded
     Fixes translations for the lower half of the proxy pages that weren't accessible in the war.
   - Initial translations created by msgmerge from i2ptunnel and routerconsole po files, un-fuzzied
   - Tag initialNews.xml for TranslateReader
   - Drop static translated initialNews pages
   - Add new routerconsole bundle for the news alone, shipped in the jar
   - Use TranslateReader in HTTP proxy for initial news
   - Initial translations created manually from translated xml filesx
   - Add translated proxy error pages and initial news to deletelist.txt
 * Transports: Consolidate translation methods in TransportImpl;
   ngettext fix for "peers" string


zzz's avatar
zzz committed
2013-07-19 zzz
zzz's avatar
zzz committed
 * PRNG:
   - Don't delay the refiller if we need more (don't limit max output)
   - Add FortunaRandomSource.main() to output to stdout for testing e.g. with dieharder

zzz's avatar
zzz committed
2013-07-19 zab
zzz's avatar
zzz committed
 * Streaming:
   - initialize streaming RTT from sample, trac #979, RFC 6298
   - store rttDev in TCBCache
zab2's avatar
zab2 committed

zzz's avatar
zzz committed
* 2013-07-15 0.9.7 released

2013-07-11 kytv
 * Chinese, Russian, Spanish, and Turkish updates from Transifex
kytv's avatar
kytv committed
 * Update geoip.txt based on Maxmind GeoLite Country database from 2013-07-02
2013-07-11 str4d
 * susimail: Improvements to layout in mobile browsers

2013-07-06 zzz
 * TunnelPool: Don't reuse peers for exploratory tunnels

zzz's avatar
zzz committed
2013-07-04 zzz
 * Streaming:
   - Don't stop timers when session disconnects (tickets #644, #810)
   - Throw exception on attempt to use destroyed socket manager

 * Console: Hide dead tunnel pools on /tunnels
 * Updater: Fix plugin update checker (ticket #897)
 * Utils: Reduce logging in wrapper log when extracting zip files

zzz's avatar
zzz committed
2013-06-30 zzz
 * BuildHandler: Drop build request with bad flags

2013-06-28 zzz
 * i2psnark:
   - Show more metadata on details page
   - Fix rar icon
   - More URL escaping

2013-06-23 zzz
 * i2psnark: When receiving a metainfo via magnet and saving it to disk,
   preserve all non-standard fields (such as those created by Robert) so the
   infohash doesn't change on restart and split the swarm.

2013-06-22 zzz
zzz's avatar
zzz committed
 * SSU:
   - Pad messages with random data instead of zeros
   - Implement non-mod-16 padding, disabled for now
2013-06-22 meeh
 * I2PTunnel: Change connect proxy default to outproxy-tor.meeh.i2p after h2ik's AWOL

2013-06-21 zzz
 * Crypto: AES decrypt speedups
 * NetDB, i2psnark: Speed up XORComparators
 * SSU: Ignore non-mod-16 padding

2013-06-20 zzz
 * i2psnark: Show start-all button even if tunnel is open,
   if at least one torrent is stopped (ticket #808)

2013-06-17 zzz
 * Console: Don't display 'unsupported' message when restart button clicked
 * I2CP: Don't send SendMessageEndMessages from client to router if
         in fast receive mode and the router doesn't require them.
 * NetDB:
   - Don't instantiate unused success job for republish LS
   - Add debug setting to encrypt RI lookups
 * NTCP: Extend interval for sending time sync messages
 * SusiMail: Fix classpath problem when started manually (ticket #957)

2013-06-14 zzz
 * I2CP: Fix deserialization of new RVLSM; enable by default
 * i2psnark: Fix bug creating torrent with a single file in a directory

2013-06-12 zzz
 * Console: Add missing jetty jars to classpath (ticket #952)
 * I2PTunnel: Add advanced quantity options

2013-06-10 kytv
 * Translations (from Transifex)
   - Start of Turkish language translation
   - Update to French translation

zzz's avatar
zzz committed
2013-06-10 zzz
 * Installer: Don't install Windows service by default
 * NetDB: Let class N routers become floodfill; scale max connections for non-O floodfills
 * Transports: Reduce idle timeouts to mitigate conn limit issues

2013-06-09 zzz
 * NetDB: Prep for leasesets with different expire times
   - Add new I2CP RequestVariableLeaseSetMessage
   - Send RVLSM if client supports it; handle on client side;
     disabled by default for the moment.
   - Add LeaseSet.getLatestLeaseDate()
   - Check latest, not earliest, date too far in future in KNDF.validate()
   - Check latest date too far in past in KNDF.validate()
   - Only check gateway and tunnel ID for equality in OCMOSJ lease caching to reduce churn
   - Split up KNDF.validate(RI) for efficiency, don't need to check
     signature, netid, etc. before lookups, only on store
   - Remove enforeNetID config
   - Fix major bug causing newer leasesets to be treated as older, and not stored or published
   - Increase max adjustment time of earliest lease
   - TransientDataStore cleanups
   - RouterInfo and LeaseSet equals() speedups

zzz's avatar
zzz committed
2013-06-07 zzz
 * BlockfileNamingService:
   - Fix bug that kept reverse index from being updated
   - Bump DB version to 3 to trigger repopulation of the reverse index
   - Make metaindex final
   - Add freelist check to the main() test

2013-06-06 zzz
 * BuildRequestRecord: Don't waste entropy on bytes we will overwrite

2013-06-05 zzz
 * DatabaseLookupMessage: Change format for encrypted reply request
   to allow multiple bundled reply tags
 * I2CP: Save client version for future reference
 * InboundMessageDistributor: Cleanups
 * LeaseSet: Don't allow changes after signature added
 * NetDB:
   - Debugging option for encrypting RI lookups
   - Remove unused classes

2013-06-01 zzz
 * EepGet: Used cached byte array in uncompressor
 * i2psnark:
   - Add idle detector, reduce tunnel count when idle (prep for torrent updates)
   - Cancel CoordinatorAcceptor cleaner when halted
   - Make PeerCoordinatorSet an Iterable
   - Reduce max protocol errors to 1
   - Disable unused PeerMonitorTask

zzz's avatar
zzz committed
 * configtunnels.jsp: Allow more hops and tunnels when routerconsole.advanced=true
 * i2psnark: Fix details page on Windows
 * NetDB:
   - Add DLM fields for requesting an encrypted reply
   - Add support for encrypted DSRM and DSM in response to a DLM
   - Fix netDb.alwaysQuery debug setting so it works again, and always
     sends to that router first (move from FNDF to IterativeSearchJob)
 * PRNG: Cleanups using Collections.singletonMap()
 * Router utils: New RemovableSingletonSet
 * TransientSessionKeyManager:
   - Support variable expiration for inbound tag sets
   - Several efficiency improvements
 * VersionComparator: Add static method, use most places

2013-05-30 kytv
kytv's avatar
kytv committed
 * Update Java Service Wrapper to v3.5.19
    - Windows: Self-compiled with VS2010 in Windows 7. The icon has been
      changed from Tanuki's default to Itoopie.
    - Linux ARMv6: Compiled on a RaspberryPi using gcc 4.6.3-14+rpi1,
      Icedtea6 6b27-1.12.5-1+rpi1 and stripped
    - All other binaries are from the "community edition" deltapack offered by
      Tanuki.
 * Allow themes to be used in IE >= 10

2013-05-29 zzz
 * Console: Remove I2PDigestAuthenticator workaround, as Jetty 7.6.11 has the fix
 * i2ptunnel: Default to 3 hops (ticket #936)
 * Jetty 7.6.11
 * Tomcat 6.0.37

zzz's avatar
zzz committed
* 2013-05-28 0.9.6 released

kytv's avatar
kytv committed
2013-05-24 kytv
 * Update geoip.txt based on Maxmind GeoLite Country database from 2013-05-08

2013-05-13 kytv
 * Misc. fixes to i2prouter script
 * German translation updates from Transifex

2013-05-13 zzz
 * i2psnark:
   - Adjust target piece size calculation
   - Tweak to make it easier for new peers to connect
 * NetDB: Increase floodfill count for good
 * UPnP: Detect devices without port forwarding capability (ticket #930)

2013-05-07 zzz
 * Streaming: Chain stored IOE to get correct location

 * Console: Fix Jetty thread pool policy and thread name
 * Transports: Clean up internal/external port confusion (ticket #873)
   - Bind SSU to configured internal, not external, port at startup
   - Use only internal ports for UPnP (getRequestedPort() fixups)
   - Don't have NTCP follow frequent SSU port changes
   - Don't use external SSU port for internal NTCP port
   - Display internal SSU port on /confignet

2013-05-01 zzz
 * BuildRequestor: Slow down build loop if we have no exploratory tunnels
                   (ticket #926)
 * IRC Server tunnel: Reject bad protocols immediately

2013-04-30 str4d
 * Console: Updates to readme_ar and a CSS tweak from hamada (ticket #489)

zzz's avatar
zzz committed
2013-04-29 zzz
 * Transports:
   - Initial prep for multiple addresses per style
   - Simplify NTCP send pool

2013-04-28 zzz
 * i2psnark:
   - Improve page nav
   - Ensure current stats and correct event delivered in announce
   - Only show lower section on first page
   - Dir page CSS tweaks
   - Parameter fixes
   - Support HTTP request ranges

2013-04-26 zzz
 * Console: Show log location on /logs even if not opened yet (ticket #905)
 * HTTP proxy: Verify nonce count in digest auth
 * i2psnark: Use smaller piece size for small torrents
 * installer: Fix DOS line endings on misc. files (ticket #872)
 * Plugins: Track pending plugin clients better, don't hold references,
            start delayed clients from SimpleTimer2 instead of Job queue (ticket #670)
 * SusiDNS:
   - Trim and sort config form data
   - Fix DOS line endings on config files in Linux (ticket #872)
kytv's avatar
kytv committed
2013-04-25 kytv
 * Portuguese, Russian, Spanish, and Swedish translation updates from Transifex

2013-04-25 str4d
 * i2ptunnel: Allow the "AUTHENTICATE" command in IRC tunnels to enable SASL
              authentication (ticket #904)

2013-04-24 zzz
 * Console, i2ptunnel: Don't register shutdown hook if ClientAppManager is present
 * JettyStart: Fixes for use by plugins
 * RouterAppManager: Add shutdown hook

2013-04-23 zzz
 * Console: Fix Jetty digest auth bug causing repeated password requests
 * i2ptunnel: Block b32.i2p supercookies

zzz's avatar
zzz committed
2013-04-21 zzz
 * AppManager: Add HTML debug output
 * Installer: Fix installations to a different drive on Windows
   (prop from i2p.i2p.zzz.winfix095; ticket #912)
 * Streaming: Pcap window size fixes

2013-04-21 str4d
 * i2ptunnel: Return "Invalid Request URI" instead of "Non-HTTP Protocol" for
              URIs with illegal characters (ticket #891)

2013-04-19 kytv
 * Installer: Run fixperms.bat under any version of Windows that's not XP or
   2003 to ensure it's run under Vista, 7, 8, and the upcoming "Blue"

zzz's avatar
zzz committed
2013-04-19 zzz
 * AppManager: Register jetty, console, and SAM with manager
 * i2psnark: Disable spellcheck in more form fields
 * LogManager: Add support for saving properties added in recent releases
 * Updates:
   - Notify manager about all available update methods at once, so the priority
     system works and it doesn't only update via HTTP
   - Start router update download at startup if available
   - Only check plugins when core version increases, not decreases, so we
     don't update plugins when downgrading
   - Limit length of URL shown on summary bar
 * WorkingDir: Correctly strip DOS line endings while migrating,
               to fix eepsite location on 0.9.5 Windows installs (ticket #919)

2013-04-18 zzz
 * i2psnark: Fix params after P-R-G
 * i2ptunnel: Set target=_top in all external links to break out of console iframe
 * SusiMail: Fix loading of Jetty classes

2013-04-17 zzz
 * Console: Better handling of missing font for graphing (ticket #915)
 * Eepsite: Fix jetty.xml configuration of ThreadPool
 * i2ptunnel: Fix default form action (ticket #882)
 * SusiDNS: Set target=_top in all external links to break out of console iframe
 * Systray: Better detection of 64-bit Windows (tickets #756, #912)

2013-04-16 zzz
 * ClientAppManager: Add method to look up clients by class and args
 * Console: Implement stopping of clients using the ClientApp interface
            (ticket #347)
 * SAM: Implement ClientApp interface (ticket #347)

2013-04-15 zzz
 * Console: Move from deprecated Jetty SSL methods to SslContextFactory
 * i2psnark:
   - Add data directory configuration to GUI (ticket #768)
   - Add page size configuration to GUI
   - Multiple instance DHT file cleanup
   - Mime type fixes
   - Remove web classes from jar

2013-04-14 zzz
 * i2psnark:
   - Set unique tunnel nickname for additional instances
   - Increase page size to 50
 * Jetty logging: Fix logging using I2PLogger class;
   log ignored messages at debug level

2013-04-13 zzz
 * Console: Add /graph support for bw.combined, consolidate
            rendering code (ticket #890)
 * i2psnark:
   - Limit number of torrents displayed; add previous/next page buttons
   - Only register one instance with UpdateManager

zzz's avatar
zzz committed
2013-04-10 zzz
 * Jetty: Upgrade to Jetty 7.6.10.v20130312
    - Jetty build.xml improvements
    - MigrateJetty improvements
    - Lots of changes in RouterConsoleRunner and WebApp classes
    - Lots of eepsite config file changes
    - Changes to I2PLogger and I2PRequestLog
    - Use JettyStart class to start Jetty from clients.config
 * i2psnark: Eliminate Jetty dependencies in i2psnark for good.
    Required due to webapp classloader changes in Jetty 7,
    we can no longer access or extend Jetty classes.
    - Extend javax HttpServlet instead of Jetty's DefaultServlet
    - Implement BasicServlet to replace functions of DefaultServlet
    - Add MimeTypes implementation to add to servlet's defaults
    - Add local mime.properties file, remove checks in I2PSnarkServlet for those
      we were missing
    - Eliminate all use of Jetty utility classes including MimeType, Resource,
      Buffer, Cache, URIUtil, ...
    - Use servlet path everywhere, so the war can be renamed
    - Use servlet path as base for config file and data directory names,
      so we may have multiple instances running together
    - Don't override service(), use doGet() and doPost() instead
 * I2NP: Ignore unused 7 bits of the Database Lookup Message,
   so we can use them later

zzz's avatar
zzz committed
* 2013-03-08 0.9.5 released

2013-03-03 zzz
 * graphs.jsp: Fix saving settings (ticket #857)

2013-03-03 kytv
 * Update geoip.txt based on Maxmind GeoLite Country database from 2013-02-19

2013-02-22 kytv
 * French, German, Norwegian, and Portuguese translation updates from
   transifex.

zzz's avatar
zzz committed
 * Flag for Curaçao (CW), public domain
2013-02-12 zzz
 * NetDB: Randomize delay before floodfill store verify

zzz's avatar
zzz committed
2013-02-10 zzz
 * Logs: Again fix setting log filename (ticket #805)
 * Update: Bump torrent update to 3% of routers
 * Wrapper: Update ARMv6 Java Service Wrapper to v3.5.17 (ticket #826).

2013-02-09 zzz
zzz's avatar
zzz committed
 * NetDB:
   - Encrypt DatabaseLookup messages out exploratory tunnels
     when we already have the RI of the ff
   - Don't use multiple routers from the same /16 in lookups or stores

zzz's avatar
zzz committed
 * German, Polish, Portuguese, Spanish, and Swedish translation updates
   from Transifex
2013-02-04 str4d
 * i2ptunnel:
   - IP -> domain name mapping in SOCKS client tunnel:
     - Change SOCKS5 addressType on a successful mapping
     - Allow any domain name to be mapped, not just .i2p

kytv's avatar
kytv committed
2013-01-31 kytv
zzz's avatar
zzz committed
 * Add Norwegian Bokmål language to the router console
 * Add Bokmål translations from Transifex
kytv's avatar
kytv committed

zzz's avatar
zzz committed
2013-01-31 zzz
 * EepGet:
   - Fix URL when not proxied to conform to RFC 2616
   - Add port to Host header to conform to RFC 2616

zzz's avatar
zzz committed
 * Console: Catch IllegalStateException storing nonces (tickets #836, #852, #858)
 * Translations:
   - Use JVM language name if available
   - Correct Estonian language code from ee to et

zzz's avatar
zzz committed
2013-01-27 zzz
 * BuildHandler:
   - Add early throttler based on previous hop
   - Limit concurrent next-hop lookups
 * NetDB: Increase floodfills again
 * RandomSource: Seed from SecureRandom too

str4d's avatar
str4d committed
2013-01-23 str4d
 * i2ptunnel: Added IP -> I2P URL mapping to SOCKS client tunnel
   (via custom option ipmapping.IP=URL)

2013-01-21 str4d
 * Console:
   - Added option to /configui to force the mobile console to be used
     (for cases where the UserAgent matching fails)
str4d's avatar
str4d committed
   - Added Opera Mobile to list of mobile UserAgents
   - Added a link to the summary bar for mobile users on /home
str4d's avatar
str4d committed
2013-01-19 str4d
 * Console:
   - Added proper support for mobile browsers with a CSS override file
     for each theme
   - Tweaked UserAgent detection so Android tablets get normal console

kytv's avatar
kytv committed
2013-01-17 kytv
* Hungrarian, Italian, Portuguese, Russian, and Swedish translation updates
  from Transifex

2013-01-12 zzz
 * EepGet: Don't retry if proxy isn't there
 * I2CP: Failsafe check for delivery job requeueing forever (ticket #819)
 * jobs.jsp: Add table of pending jobs
 * NetDB: Split up files into subdirectories
 * SAM: Force i2cp.messageReliability=None (ticket #819)

2013-01-02 zzz
 * DataHelper: new getASCII() method
 * DataStructures:
   - Convert SessionTag.hashCode() to SipHash to prevent collision attacks
   - Improve equals()
 * I2CP:
   - Remove unused equals() methods for message classes
   - Remove static logs
   - Fix leak if nonce = 0 but reliability != none (ticket #819)
   - More work on failure codes (ticket #788)
 * Logs: Fix setting log filename (ticket #805)
 * SAM: Synchronize dissector
 * Transport: Fix early NPE (ticket #824)

2013-01-01 kytv
 * Update Java Service Wrapper to v3.5.17 (ticket #826).
    - Windows: Self-compiled with VS2010 in Windows 7. The icon has been
      changed from Tanuki's default to Itoopie.
    - FreeBSD: Self-compiled in FreeBSD 7.4 to eliminate the dependency on the
      compat6x port.
kytv's avatar
kytv committed
    - Linux x86, Linux x64, Linux ARMv5, Linux-PPC32, MacOSX & Solaris: Binaries
      are from the "community edition" deltapack offered by Tanuki. The Linux
      binaries have been stripped.

2012-12-29 zzz
 * i2psnark: Redirect after post
 * Javadocs: Fix javax links
 * Tunnels: Handle duplicate tunnel IDs (ticket #812)

zzz's avatar
zzz committed
2012-12-26 zzz
 * I2CP:
   - Prep for delivery of detailed failure codes to the client (ticket #788)
   - Minor optimizations and cleanups
 * i2psnark: Create torrent form tweaks
 * NetDB: Split routerInfo files into subdirectories, disabled for now,
   enable with router.networkDatabase.flat=false
 * Stats: Clean up some duplicate createRateStat calls (ticket #787 comment 2)
 * Tunnels: Catch rare BuildExecutor IAE only in Java 7 (ticket #811)

zzz's avatar
zzz committed
 * Javadocs: Fix javadoc errors in the cybergarage package. Upstream bug #3598391 has been
   filed for this issue.  If these javadoc fixes need to be reverted in the future,
   MTN rev 5bdb7fc27e35f174001bd6105a502fd5094842e5 covers it.
zzz's avatar
zzz committed
2012-12-22 zzz
zzz's avatar
zzz committed
 * i2psnark: Add announce list support (BEP 12) (ticket #778)
 * i2ptunnel: Add more tunnel quantity options for servers
 * Jetty: Update to Apache Tomcat 6.0.36
zzz's avatar
zzz committed

zzz's avatar
zzz committed
 * French language translation update from Transifex
2012-12-19 zzz
 * Update: Hide the update buttons when router.updateDisabled=true, as is the case
zzz's avatar
zzz committed
   for Debian packages. Broken in 0.9.4. (Ticket #817)
zzz's avatar
zzz committed
* 2012-12-17 0.9.4 released

zzz's avatar
zzz committed
 * German and Swedish translation updates from Transifex
 * Update geoip.txt based on Maxmind GeoLite Country database from 2012-12-04
zzz's avatar
zzz committed
2012-12-11 zzz
 * Wrapper: Use Tanuki's binary for armv7

2012-12-08 zzz
 * susimail: Button CSS tweak

2012-12-07 zzz
 * RouterClock: Reduce log level (ticket #790)

2012-12-05 zzz
 * GarlicMessage: Fix notes and log in GarlicMessageHandler and HandleGarlicMessageJob,
   they are used for netdb messages received by floodfills http://zzz.i2p/topics/1282
 * I2CP: Fix external I2CP apps, including i2ping, caused by 0 nonce value,
   broken in 0.9.2 (tickets #799, #801). Allow nonces == 0.
 * Reseed: Don't go on to the next host if we have enough http://zzz.i2p/topics/1287
 * SSU: Fix rare NPE (ticket #798)

 * Chinese, French, Italian, Polish, and Ukrainian translation updates from
   Transifex.
2012-11-24 zzz
 * Addressbook: Disable unused wakeup via http
 * Codel: Make stats non-required (ticket #786)
 * Profiles: Small optimization in coalesceOnly() (ticket #765)

2012-11-21 zzz
 * Wrapper: Add armv6 files for Raspberry Pi

kytv's avatar
kytv committed
2012-11-21 kytv
 * Update Java Service Wrapper to v3.5.16.
    - Windows: Self-compiled with VS2010 in Windows 7. The icon has been
      changed from Tanuki's default to Itoopie.
    - FreeBSD: Self-compiled in FreeBSD 7.4 to eliminate the dependency on the
      compat6x port.
    - Linux PPC32: Self-compiled in Debian Squeeze
    - Linux x86, Linux x64, Linux ARMv5, MacOSX & Solaris: Binares are from the
      "community edition" deltapack offered by Tanuki. The Linux binaries have
      been stripped.

2012-11-20 zzz
 * Transport: Fix bug that inadvertently reduced default max
   SSU connections in 0.9.2, thus reducing tunnel build success rates

kytv's avatar
kytv committed
2012-11-19 kytv
 * Add support for kFreeBSD to NBI and CPUID
 * Improve kFreeBSD support in jcupid/jbigi scripts

2012-11-19 zzz
 * BuildHandler: Disable CoDel, wasn't helping
 * NetDB: Add negative lookup cache
 * Profiles: Split up files into subdirectories

2012-11-17 zzz
 * error500.jsp: Add servlet version
 * i2psnark: Clear PEX peers set after use, cause of bad peer counts
 * Tunnels: Set default priorities for tunnels (ticket #719)

zzz's avatar
zzz committed
2012-11-16 zzz
 * i2psnark: Fix rare IOOBE (ticket #777)
 * NetDB:
   - Implement automatic reseeding (ticket #521)
   - Increase minimum routers
   - Log reseeds in event log
zzz's avatar
zzz committed
 * Tunnels: Fix outbound tunnel message priority (ticket #719)

2012-11-13 zzz
 * Bandwidth Limiter: Fix stats broken in -1
 * HTTP Proxy: Store referrer of new addresses in address book
 * NTCP:
   - Fix NPE (ticket #770)
   - Use ByteCache for buffers
 * SOCKS: Reduce log level of connect errors
 * SSU: Fix bug that would drop 512 byte messages
 * stats.jsp: Link to graph page, not single image

 * eepget: Add logic to figure out the path to java.exe (java isn't always added to the system path
   in Windows) (ticket #769)
2012-11-05 zzz
 * Console:
   - Fix NPE after restart (ticket #763)
   - Move more nonces out of system properties
 * i2psnark:
   - More DHT limits
   - Announce to backup trackers if DHT is empty
   - Use PEX and DHT info in torrent peer count
   - Don't use temp files for announces
 * PeerManager: Don't reorganize as often if it takes too long (ticket #765)
 * RequestLeaseSetJob: Only disconnect client after multiple dropped
   lease set requests; reduce timeout, other cleanups
 * Unsigned Update: Fix notification on failure

 * German, Portuguese, and Swedish translation updates from Transifex
 * Refreshed English po files to push to TX.
zzz's avatar
zzz committed
2012-11-02 zzz
 * configstats: Fix group sorting, translate groups
 * I2CP:
   - Better fix for logging dropped messages (ticket #758)
   - Implement fast receive to reduce per-message handshakes
   - Make messageReliability=none the default
 * i2psnark:
   - Split buckets correctly
   - More exploration fixes
 * i2ptunnel:
   - Better privkey backup file name
   - Revert increment of privkey tunnel name
   - Move deleted privkeys to backup dir
   - Fix jsp build dependencies
   - Fix layout issue on Chrome (ticket #757)
 * KeyManager: Eliminate races, buffer I/O, eliminate periodic syncing

2012-10-31 zzz
 * FIFOBandwidthRefiller: Reduce refill interval to smooth output
 * I2CP: Reduce log level when outbound queue is full (ticket #758)
 * i2ptunnel: Fix NPE in zzzot plugin
 * PriBlockingQueue: Enforce max size
 * Streaming: New disableRejectLogging option (default false), enable for snark

zzz's avatar
zzz committed
2012-10-30 zzz
 * i2psnark:
   - Add kbucket debugging
   - Eliminate redundant explore keys
   - Add more limits to DHT tracker
   - Delay expiration at startup
   - Only enable updates for dev builds and 1% of release builds
 * i2ptunnel:
   - Create backup privkey files (ticket #752)
   - Fix NPE in Android startup
 * Installer: Drop news.xml and old certs
 * logs.jsp:
   - Don't display dup message if last
   - Spacing tweaks
 * OutNetMessage: Properly clean up when dropped by codel (but unused for now
   since codel is disabled for ONM)
 * SSU:
   - Adjust RTT/RTO calculations
   - Better bandwidth tracking
   - Cleanup of OutboundMessageState
   - Stat tweaks
 * StatisticsManager: Publish stats less often
 * Transports: Increase min peer port to 1024
 * Tunnels: Implement per-client outbound tunnel message priority (ticket #719)
 * Update Manager: Warn on dup registration

sponge's avatar
sponge committed
2012-10-30 sponge
 * cleanups as requested

zzz's avatar
zzz committed
2012-10-28 zzz
 * Addresses:
   - Add methods for connectivity detection
   - Remove Hamachi restriction
 * Banlist: renamed
 * Clients: New interface for clients started via clients.config, and a new
   manager to track the lifecycle and start/stop clients on demand.
   (ticket #347)
 * Console:
   - Add console password form to configui.jsp
   - Consolidate all the jsp formhandler boilerplate in the new formhandler.jsi
   - Store form handler nonces in the servlet session instead of system properties,
     to prevent cross-session interference
   - Bypass nonces if console password enabled
   - Remove ports from port mapper on shutdown, other changes to
     track actual ports better (ticket #731)
   - Prep for RouterApp interface by storing context in a field,
     shuffle around what's static and what's not (ticket #347)
   - Convert to RouterApp interface
   - Convert from basic to digest authentication (ticket #652)
zzz's avatar
zzz committed
   - Use new password manager (ticket #731)
 * Core: New password manager for storing passwords in router.config
   in consistent ways, including salting and hashing if possible.
   (ticket #731)
 * i2ptunnel:
   - Convert HTTP and CONNECT proxies from basic to digest authentication
   - Bypass nonces if console password enabled
   - Convert to ClientApp interface
   - Synchronization improvements
 * Streaming: Add pcap debug facility, from i2p.i2p.zzz.pcap
 * Transport:
   - Add a simple network monitor
   - Add new reachability state for network disconnected
   - Prevent any tunnel building when disconnected (ticket #519)
   - Don't unleash watchdog when disconnected
   - Split up NTCPConnection's single _bwRequests Set into inbound and outbound,
     make FIFOBandwithLimiter.Request unidirectional (ticket #719)
 * Update: Major redesign of the update facilities:
   - Generic interfaces for updating and checking things
   - Allow checkers and updaters outside router context
   - Hide update buttons after downloading update (ticket #484)
   - Add update-via-i2psnark facility
   - Don't hold references to updaters after completion

zzz's avatar
zzz committed
* 2012-10-27 0.9.3 released

2012-10-25 zzz
 * BuildHandler: Fix "too slow" rejections due to internal clock skew

zzz's avatar
zzz committed
2012-10-24 zzz
 * I2PSnark:
   - Fix several partial piece (temp file) leaks
   - Don't lose all DHT peers if we stop quickly	
   - Explore a kbucket if it's less than 3/4 full

2012-10-24 str4d
 * i2ptunnel: Truncate long client destinations (ticket #581)

2012-10-21 zzz
 * Watchdog: Don't dump threads too often (ticket #519)

2012-10-20 zzz
 * Transport: Back out CoDel for SSU PeerState and NTCP

2012-10-19 zzz
 * UDP: Fix peer test NPE (ticket # 748)

2012-10-18 kytv
* Portuguese and Spanish updates from Transifex
kytv's avatar
kytv committed
 * Update geoip.txt based on Maxmind GeoLite Country database from 2012-10-02
2012-10-15 kytv
* Italian and Swedish updates from Transifex

2012-10-14 zzz
 * Console: Use non-nio connector for Java 5 and JamVM/gij
            (tickets #715 and #743)
 * i2psnark: Fix request tracking bug preventing piece requests

2012-10-11 kytv
* Italian translation updates from Transifex
* i2prouter:
  - Support for installing as a daemon with systemd on Arch Linux and Suse
  - Support installing as a daemon on Slackware

2012-10-10 zzz
 * ShellCommand: Fix launching all browsers at startup (ticket #453)
 * stats.jsp: Sort groups by translated name

zzz's avatar
zzz committed
2012-10-09 zzz
 * Console, i2ptunnel: Warn on low ports
 * EventLog: Add more events
zzz's avatar
zzz committed
 * NetDB: Increase floodfills again
 * RouterInfo: Exit 1 on error in main()
 * SSU:
   - Add peer test throttling
   - Peer test packet count fixes
   - Adjust peer test timeouts and add backoff
   - Reject relays and peer tests from same /16
   - More peer test cleanup and log tweaks
 * Transports:
   - Enforce minimum peer port
   - Warn on low router ports

zzz's avatar
zzz committed
2012-10-08 zzz
 * SSU:
   - Fix relay request handling bug from -10
   - Fix peer test reply handling bug from -10
   - Fix NPE from -6

zzz's avatar
zzz committed
2012-10-07 zzz
 * I2PAppContext: Improved synching in constructor
 * i2ptunnel:
   - Set default read timeout in standard server
   - Reduce header timeout, enforce total header timeout
     in IRC and HTTP servers (ticket #723)
 * Logs:
   - Flush buffers in logs.jsp
   - Add dup message to buffers, was in file only
 * Streaming: Don't ignore option or force connect timeout to 5 minutes
 * UPnP: Workaround NPE (ticket #728)

zzz's avatar
zzz committed
2012-10-06 zzz
 * configlogging.jsp: Fix IAE
 * error500.jsp: Fix whitespace
 * i2psnark:
zzz's avatar
zzz committed
   - Add allocating and checking indications (ticket #695)
zzz's avatar
zzz committed
   - Add bandwidth message at startup
   - More checks at torrent creation
 * SSU:
   - Throttle outbound destroys on shutdown
   - Limit outbound introduction offers
   - Validate port/IP in received peer tests
zzz's avatar
zzz committed

2012-10-05 zzz
 * configservice.jsp: Add GC button
 * DataHelper: Sanity checks in storeProps(), use
               storeProps() for router config again
 * SSU:
   - More synchronization fixes
   - Reduce chance of dup acks in a single message
   - Reduce max unsent acks to 50
   - Use last ack time in ping decision too
   - Reduce ack delay
 * TunnelPoolManager: Fix early NPE (ticket #724)

zzz's avatar
zzz committed
2012-10-03 zzz
 * NTCP: Reduce conLock contention
 * SSU:
   - Increase max outbound establishments based on bandwidth
   - Synchronization fix for Java 5
   - Use multiple buffer sizes in OutboundMessageState to
     reduce memory usage
   - Adjust skew calculation, synchronize too
   - Ping loop improvements

zzz's avatar
zzz committed
2012-10-02 zzz
 * I2CP: Delay after sending disconnect message to
         help it get through
 * i2psnark: Fix delete download message
 * i2ptunnel: Fix log message
 * NTCP: Only set keepalive if firewalled
 * OOMListener: Dump threads on OOM
 * PRNG, LogWriter: Use I2PThread to catch OOM
 * SimpleByteCache: Fix ABQ/LBQ selection
 * SSU:
   - Fix memory leak in _peersByRemoteHost map caused by not
     removing peers that change IP or port
   - Send keepalives if firewalled
   - Handle peers that change ports on an established session
   - Synchronize adds and drops
   - Don't use peers with high RTTs in clock skew calculation
   - Reduce initial RTT/RTO

zzz's avatar
zzz committed
2012-09-28 zzz
 * i2psnark:
   - Fix bugs in rarest-first tracking
   - Fix requesting of partial piece when there are multiple seeds
   - Synch fix in BitField
 * i2ptunnel: Fix wrong server IP in log message
 * peers.jsp: Remove SSU "Dev" column
 * SessionKeyManager: Store original tagset size for debugging
 * Streaming: Don't send RST on globally-blackisted conns

zzz's avatar
zzz committed
2012-09-26 zzz
zzz's avatar
zzz committed
 * Addresses: Reject numeric IPs of the form n, n.n, and n.n.n
 * Console, i2ptunnel: More validation of address and port in forms
 * ConvertToHash:
   - Add support for b64hash.i2p
   - Cleanup and use cache
 * i2psnark: Enable DHT by default
 * RFC822Date: Synchronization fix
 * Streaming:
   - Implement changing connection limits on a running session
   - Implement global blacklist

zzz's avatar
zzz committed
2012-09-25 zzz
 * Context: Make files final
 * EventLog: Fix IAE on portable
 * Jetty: Add non-NIO selector option (ticket #715)
 * OutboundEstablishState: Cleanup (ticket #671)
 * SimpleByteCache: Concurrent fix
 * UPnP: Cleanup & final
zzz's avatar
zzz committed
 * URLLauncher: Add xdg-open (ticket #717)
zzz's avatar
zzz committed

zzz's avatar
-1  
zzz committed
2012-09-21 zzz
 * BuildHandler: Use CoDel for inbound queue
 * ByteCache:
   - Prevent release of wrong size
   - Move all 16/32 byte users to SimpleByteCache
   - Increase SimpleByteCache default size.
 * ClientConnectionRunner:
   - Run HandleJob and MessageReceivedJob inline for speed
   - Remove payload from message map if availability announce fails
   - Cleanups
 * ClientManager:
   - Concurrent client map for faster lookup
   - Add by-hash client map for faster lookup by hash
 * ClientWriterRunner: Limit queue size
 * Clock: Synchronization, log large shifts to event log
 * Console: Mark all restarts on graphs using the event log.
 * FortunaRandomSource:
   - Fix bug that wasted entropy in nextInt()
   - Improved synchronization
 * GarlicMessage:
   - Add notes about GarlicMessageHandler and HandleGarlicMessageJob
     being unused in practice
 * I2CP:
   - Limit router/client queue sizes and queue wait times
   - Buffer output streams
 * i2psnark:
   - Implement blacklist for unreachable DHT peers
   - Reduce threshold for unreachable
   - Use ByteCache for chunks in/out
 * IP Lookup:
   - Add caching in RouterAddress with secondary caching
     in Addresses; use caches to speed up transport bids,
     blocklist checks, geoip lookups, and profile organizer
     checks (ticket #707)
   - Limit IP cache size in TransportImpl
   - Clear caches at shutdown
 * JobQueue: Reduce lock contention
 * LHMCache: New util, replacing several private versions
 * LogWriter:
   -  Duplicate log message removal
   -  Increase buffer time
 * NTCP: Move NTCPConnection outbound queue to CoDelPriority
 * OutNetMessage:
   - Centralize priority definitions
   - Raise netdb store and reply priority
 * Router:
   - Boost priority of shutdown thread
zzz's avatar
zzz committed
   - Replace ident log with new, general-purpose event log;
     use for stops, starts, and updates, and others.
zzz's avatar
-1  
zzz committed
   - New AQM CoDel queue utilities
   - Startup/shutdown synchronization fixes
 * RouterAddress: Remove unused expiration field to save space
 * SimpleTimer (ticket #653):
   - Move all remaining uses to SimpleTimer2
   - Deprecate
 * SSU:
   - Move MessageReceiver, UDPSender and UDPReceiver queues to CoDel
   - Separate PeerState outbound message list into a queue for unsent messages
     and a list for sent messages awaiting ack
   - Implement PeerState outbound queue as CoDelPriority
   - Implement backlogged indication like in NTCP
   - Increase initial and max RTO
   - Don't count ack-only packets in bandwidth allocation
 * Streaming: Don't send a RST to an hour/day limited peer,
   or blacklisted, or non-whitelisted, to not waste outbound bandwidth
 * SystemVersion: New util, to consolidate duplicate code,
   and determine Java version on Android
 * TunnelGateway:
   - Refactor TunnelGateway.Pending to its own file PendingGatewayMesasge
   - Move OBGW queue to CoDelPriority
   - Move IBGW queue to CoDel
   - Limit queue sizes
   - Add stat for overflow
   - Remove some stats
   - Change pumper to LinkedHashSet for efficiency
     (like NTCP Reader/Writer)
   - Limit messages pumped per cycle to increase
     round-robin fairness
   - Implement pushback from a backlogged transport
     queue to the pre-fragmentation queue
   - Comment out some unused code

zzz's avatar
zzz committed
* 2012-09-21 0.9.2 released

2012-09-15 zzz
 * Build: Fix unpack problem on Java 5: http://forum.i2p/viewtopic.php?t=7334

2012-09-14 zzz
 * SSU: Fix shutdown NPE (ticket #709)

 * Update geoip.txt based on Maxmind GeoLite Country database from 2012-09-05
2012-09-12 kytv
 * Czech translation updates from Transifex
2012-09-10 meeh
 * Added fix for startup issues on newer versions of launchd (osx startup scripts)

2012-09-05 meeh
 * Added startup scripts for osx

2012-09-04 zzz
 * I2PTunnelServer: Clean shutdown after session exception
 * OutNetMessage: Speedup after profiling (ticket #707 - thx dg, kytv, zab)
 * SSU: Fix some issues with queueing outbound establishments

2012-08-31 zzz
 * i2psnark: Remove * from magnet and download names
 * Router: Lengthen shutdown spinner life
 * Startup: Don't complain about clients.config missing on Android

kytv's avatar
kytv committed
2012-08-29 zzz
 * ClientManager: Cleanups
 * i2psnark:
   - Fix NPE on destroy() if init() failed
   - Add new flood-resistant KBucket trim policy
   - Limit received MsgID size
 * NTCP: Reduce lock contention (ticket #697)
 * RandomIterator: Workaround for Android bug (ticket #703)

zzz's avatar
zzz committed
2012-08-27 zzz
 * i2psnark:
   - Notify threads awaiting DHT replies at shutdown
   - Fix cases where we weren't using the session for b32 lookup
zzz's avatar
zzz committed
 * Reseed: Remove forum.i2p2.de
 * Streaming: Limit amount of slow-start exponential growth
 * SSU:
   - Limit UDPSender queue size
   - Increase UDPSender max packet lifetime
   - Clear UDPSender queue before sending destroys to all
   - Increase PeerState queue size so large streaming windows
     don't get dropped right away, especially at slow start
   - Various improvements on iterating over pending outbound
     messages in PeerState
 * Wrapper: Update armv7 to 3.5.15

2012-08-27 kytv
 * Update Java Service Wrapper to v3.5.15.
    - Windows: Self-compiled with VS2010 in Windows 7. The icon has been
      changed from Tanuki's default to Itoopie.
    - FreeBSD: Self-compiled in FreeBSD 7.4 to eliminate the dependency on the
      compat6x port.
    - Linux ARMv5, Linux PPC32: Self-compiled in Debian Squeeze
    - Linux x86, Linux x64, MacOSX & Solaris: Binares are from the "community
      edition" deltapack offered by Tanuki. The x86 and x64 binaries for Linux
      have been stripped.

2012-08-26 zzz
 * DataHelper: Trim trailing whitespace when loading properties
 * NetDB: Increase floodfills, decrease flood redundancy
 * SendMessageOptions: Increase tag fields to 4 bits and use
                       table lookup for more flexibility
 * Streaming: Use packet type and current window size to adjust
              number of tags sent and tag threshold, to improve
              efficiency and reliability

2012-08-25 kytv
 * Dutch and German translation updates from Transifex
 * Router console typo fixes (#701)

2012-08-25 zzz
 * SDSCache: Reduce min and increase max size
 * SimpleByteCache: Change from LBQ to ABQ to reduce object churn
 * Other object churn cleanups (ticket #699)

zzz's avatar
zzz committed
2012-08-24 zzz
 * I2CP:
   - Add methods for sending a message with extended options
   - Fix cases where the efficient sendNoEffort() wasn't being used
 * i2psnark:
   - Use extended I2CP options for datagrams
   - Fix timeout for sent datagrams
   - Add link for local torrent file on details page
   - Show totals line even if only one torrent
   - Reduce token timeout
   - Check token age before use
   - Limit incoming token size
 * OCMOSJ:
   - Implement per-message overrides for tag threshold,
     tags to send, and bundle leaseset
   - Fix bug adjusting timeouts
   - Warn on client expiration time bugs

2012-08-23 zzz
 * Crypto: Rename bouncycastle HMAC libs so they don't conflict
   with older Android versions which bundle them
zzz's avatar
zzz committed
 * NTCP: Reduce lock contention (ticket #697)
 * SSU:
   - Don't relay or introduce to/from privileged ports
   - Various spoof detections

zzz's avatar
zzz committed
2012-08-22 zzz
 * NetDB: Add hash collision detection
 * SimpleTimer2: Synchronization improvements (ticket #653)
 * SSU:
   - Fail establishment immediately on SessionCreated
     validation fail
   - Defer outbound DH generation until required
   - Validate address/port in RelayIntro messages
   - Throttle hole punches
   - Workaround for Android ICS bug
   - More cleanups

zzz's avatar
zzz committed
2012-08-21 zzz
 * NetDB: Decrease stat publish probability
 * SSU:
   - Use external, not internal port to sign SessionCreated message.
     Together with previous fix to allow external port change, this
     should fix session establish fails when NAT changes our port
   - Track outbound establishments by both Hash and IP/port,
     to improve lookups of establishments in progress
   - Fix expiration of outbound establishments
   - Validate address/port in RelayResponse messages
   - Change RemoteHostID to store Hash instead of byte[] for the peer hash
   - Log tweaks

2012-08-20 zzz
 * I2CP: MessageStatus cleanup
 * i2psnark: Add minimum tracker and DHT announce intervals
 * I2PTunnelRunner: Remove unnecessary lock (ticket #690)
 * SSU: Allow port change if firewalled
 * Streaming: Increase max connection timeout
 * UPnP:
   - Prep for UPnP returning different external port
   - Better logging of errors

2012-08-18 kytv
 * Fix hang during uninstallation experienced by some users in Windows

zzz's avatar
zzz committed
2012-08-17 zzz
 * i2psnark:
   - Adjust DHT timeouts
   - Add max peers per-torrent in tracker
   - Remove duplicate clean task for nodes
   - Fix another DHT warning message
 * SSU:
   - Use remote MTU when published (ticket #682)
zzz's avatar
zzz committed
   - Queue outbound msgs during inbound establish
   - IntroManager cleanups
   - More synchronization

sponge's avatar
sponge committed
2012-08-17 sponge
 * BOB: just some cleanup of old, dead meaningless commentedout code
        and a little reformatting.

zzz's avatar
zzz committed
2012-08-16 zzz
 * Utils: Drop unused BufferedRandomSource, PooledRandomSource,
   EepGetScheduler, EepPost and HTTPSendData, moved to i2p.scripts

zzz's avatar
zzz committed
2012-08-15 zzz
 * i2psnark:
   - Fix bug preventing completion announcement, broken in 0.9.1
   - Fix setting short retry time after initial announce failure
   - Fix DHT announce and getPeers
   - Fix DHT warning message
zzz's avatar
zzz committed
 * UPnP: Update to CyberLink 2.1 (ticket #427, possibly others)
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2012-08-13 zzz
 * SSU EstablishmentManager:
   - Remove use of outbound timers in EstablishmentManager; drive all events in Establisher thread
   - Don't change nonces when retransmitting intro packets
   - More synchronization in EstablishmentManager
   - Increase establishment timeouts and implement timeouts for individual phases (ticket #669)
   - Fix bug where InboundEstablishState.createdPacketSent() wasn't being called,
     so SessionCreated packets weren't retransmitted
   - Increase retransmission timeout for SessionCreated and implement backoff
   - Send destroy if establishment times out in the middle
   - Fix code that pulls outbound states off a deferred queue
   - Improve UDPPacket.toString() for debugging
   - More logging of packets dropped in EstablishmentManager
   - Change establish states to enums

zzz's avatar
zzz committed
2012-08-12 zzz
 * Jetty: Don't use direct byte buffers that may be leaking (ticket #679)
 * PeerManager: Fix NPE on Android (ticket #687)
 * SSU:
   - Reject some packet types if they came in via fallback introKey
   - Increase retransmission timeout for SessionRequest, SessionConfirm,
     and RelayRequest; implement backoff
   - Move UDPFlooder to test
   - More volatiles, finals, cleanups, stat removals, log tweaks

zzz's avatar
zzz committed
2012-08-11 zzz
 * DataHelper: toString(byte[]) cleanup
 * i2psnark:
   - Fix DHT nodes not being saved at shutdown
 * RouterContext: Make the contexts list concurrent
 * SSLEepGet: Don't throw UOE in TrustManager
 * SSU MTU (ticket #682):
   - Use local MTU detection
   - i2np.udp.mtu now sets max MTU, not initial MTU
   - Put local MTU in netDb 
   - Fix receive MTU calculations
   - Track remote MTU based on actual received packet size
   - Display local MTU on peers page

2012-08-10 kytv
* German and Greek translation updates from Transifex

2012-08-09 zzz
 * Datagrams: Remove static logs
 * i2psnark:
   - Remove static SnarkManager instance
   - Allow DHT-only torrents
   - DHT debugging
 * NTCP: Stat cleanup
 * SAM:
   - Don't use direct byte buffers that may be leaking (ticket #679)
   - Volatiles and finals
 * SSU:
   - Don't send a packet that exceeds the MTU
   - Stub out local MTU detection (ticket #682)
   - More cleanups

str4d's avatar
str4d committed
2012-08-07 str4d
 * Console:
   - Theme updates from dr|z3d
   - Changed universal theming key so it is not mistaken as a theme
     name by the routerconsole
 * i2psnark:
   - Theme updates from dr|z3d
   - If universal theming is set and routerconsole theme is classic,
     use light theme explicitly
 * susidns: new midnight theme from dr|z3d

2012-08-06 zzz
 * Clone System properties before iterating to avoid
   ConcurrentModificationException (ticket #680)
 * Console: Fix flag links on /console to return to same page
 * i2psnark: Add support for DHT (disabled by default)
 * jbigi: Add ARMv6 libjbigi.so for Raspberry Pi

zzz's avatar
zzz committed
2012-08-05 zzz
 * I2PSessionImpl: One more volatile (ticket #659)
 * i2ptunnel, I2CP, EepGet: Buffer socket input streams (ticket #666)
 * UDP:
   - Limit PacketHandler threads to 1 (ticket #660)
   - Limit queue sizes between UDPReceiver and PacketHandler,
     and between PacketHandler and MessageReceiver, to prevent OOMs
     and/or excessive queue delays
   - Increase UDPPacket cache size based on max mem
   - Remove more stats

2012-08-03 zzz
 * build.xml: Add buildI2PTunnelJar target for Android
 * i2psnark: Finish migration to I2P logging to reduce object churn (ticket #673)
 * LogManager: Add logger.logBufferSize and logger.dropOnOverflow options (ticket #662)
 * JobQueue: Synch fix (ticket #670)
 * OutNetMessage: Fix NPE when log level = INFO (ticket #676)
 * SimpleScheduler, SimpleTimer2: Replace getInstance() calls
 * UDP:
   - Catch some cases where UDPPackets were not returned to the cache (ticket #675)
   - Fix inverted logging logic (ticket #663)
   - Remove check in UDPPacket.getLifetime() (ticket #664)
   - RemoteHostID cleanup, cache hashcode
   - Remove udp.fetchRemoteSlow stat
   - Remove some time stamping in UDPPacket
   - Other cleanups - see http://zzz.i2p/topics/1198

str4d's avatar
str4d committed
2012-08-03 str4d
 * Console: universal theming support - packaged apps will try and use the routerconsole
   theme if universal theming is enabled there and the same theme exists for the app.

2012-07-31 str4d
 * core, router:
   - Existing JUnit test framework fixed up and running.
   - Code coverage tools (Clover and Cobertura) integrated into unit test targets.
   - Implemented new test-related targets to provide a ScalaTest test framework.

2012-07-30 zzz
 * build.xml: Move more default properties to build.properties
 * DecayingBloomFilter, DecayingHashSet, xlattice filters:
   - Move from core to router
   - Comment out tests
 * ElGamal/AES/SessionTag:
   - Increase TX expire from 10 to 12 min, while keeping RX expire at 15 min.
     3 minutes should be plenty of clock skew + delay.
   - Move tags-to-send and low-threshold values to be per-SKM
   - New session config options crypto.tagsToSend and crypto.lowTagThreshold
   - Prep for per-packet override of tags and thresholds
   - Cleanups and Javadocs
 * GarlicMessageBuilder:
   - Put data clove last to speed acks and leaseset store on far end
 * I2PTunnel: Add some defaults for the new session config options
 * OCMOSJ:
   - Don't bundle LeaseSet just because we're requesting an ACK
   - Changed session config option shouldBundleReplyInfo to default to true
     and be used to disable bundling altogether when set to false.
     Was previously an undocumented option to force bundling with a certain probability.
   - Don't send tags unless we've already generated a reply token (race)
   - Cleanups and Javadocs
 * RoutingKeyGenerator: Cleanups (ticket #672)

zzz's avatar
zzz committed
* 2012-07-30 0.9.1 released

2012-07-28 str4d
 * Console: theme fixes

kytv's avatar
kytv committed
* Update geoip.txt based on Maxmind GeoLite Country database from 2012-07-04
* Finnish, French, German, Spanish and Swedish translation updates from TX

sponge's avatar
sponge committed
2012-07-26 sponge
* BOB Fix static references to Log
sponge's avatar
sponge committed
2012-07-24 sponge
 * BOB reset spin flag to enable restart from zap command

str4d's avatar
str4d committed
2012-07-24 str4d
 * Summary bar: disable fallback iframe in summary.jsi (so when JS is disabled
   the summary bar will not refresh at all)
str4d's avatar
str4d committed
 * Home page:
   - Replaced 16x16 icons with 32x32 ones
   - Updated icon for git.repo.i2p
str4d's avatar
str4d committed
   - Moved RestartStatus back above LocalDestinations
zzz's avatar
zzz committed
2012-07-24 zzz
 * LookaheadInputStream: Fix bug causing gunzip fails, esp. on Android
 * Router: Don't create router.ping file on Android
zzz's avatar
zzz committed
 * SSLEepGet: Fix on Android (ticket #668)

2012-07-21 zzz
 * i2psnark: Remove dark theme
zzz's avatar
zzz committed
 * Reseed: Add new cert for cowpuncher
 * SSU: Remove exception creation (ticket #665)

str4d's avatar
str4d committed
2012-07-21 str4d
 * Home page: unlinked the iframed pages for i2psnark and susimail (the pages
   /webmail and /torrents still exist, but the console links to the apps
   directly instead for now)

2012-07-19 str4d
 * Home page: replaced itoopie with an eepsite icon (c/o dr|z3d) for eepsites
   with no icon of their own.
 * i2psnark:
str4d's avatar
str4d committed
   - New light theme (c/o dr|z3d) which integrates with console light theme
   - Moved table heading text into tooltips to reduce visual clutter

2012-07-18 str4d
 * Home page: Added id3nt.i2p and git.repo.i2p

2012-07-18 zzz
 * Home page: Add colombo-bt.i2p, remove keys.i2p
 * i2psnark: Clear rate stats when restarting torrent

str4d's avatar
str4d committed
2012-07-16 str4d
 * console: work towards better integration
   - Wrapped the bundled apps in iFrames (with a link in the page header to
     open the app in a new tab):
     - i2ptunnel
     - i2psnark
     - susimail
     - susidns
   - Theme improvements
     - Added theme support to susimail and susidns
       - "susimail.theme=foo" in susimail.config
       - "theme=foo" on susidns config page
     - Extensive work on dark console theme (dr|z3d)
       - Improved integration of i2ptunnel in iframe
       - General improvements
     - New dark themes for i2psnark, susimail and susidns which integrate well
       with dark console theme (dr|z3d)
     - Tweaks to other themes (console and i2psnark) to work with the various
       structural changes (dr|z3d)
     - Added per-theme favicons
     - Updated IE shim to fix some issues
   - Summary bar improvements
     - Updated every console page to use Ajax for the summary bar
       - Falls back to iFrame if JS disabled
       - Ajax refresh time is adjustable
     - The summary bar is now customizable; sections can be added, removed and
       reordered as desired
     - Added/updated tooltips
     - Added a new summary bar section to show news headings when the main news
       display is hidden
   - Changes to structure of /home to bring it in line with rest of console
 * i2psnark
   - Reworked the torrent info/file manager page to improve the layout

2012-07-15 zzz
 * XORComparator: Reduce object churn (Ticket #658)

kytv's avatar
kytv committed
2012-07-12 kytv
* Translations from Transifex:
  - Add new Greek translation
  - Dutch translation update

zzz's avatar
zzz committed
2012-07-01 zzz
 * i2psnark:
   - Don't send a keepalive to a peer we are going to disconnect
   - Disconnect peer when idle a long time
   - PeerCheckerTask cleanup
   - Static ref cleanup
   - Don't show a downloaded torrent file as "seeding"
   - Better torrent file download icon

zzz's avatar
zzz committed
2012-06-29 zzz
 * HTTP Proxy: Change the error code for unknown host from 404 to 500
 * SimpleTimer: Fix logging
 * Streaming:
   - Allow at least 3 packets and up to half the window to be active resends
     instead of just 1, to reduce stall time after a packet drop
   - Increase fast retransmit threshold back to 3 to reduce retransmissions
   - Don't fast retransmit if we recently retransmitted it already
   - Allow double the window as long as gaps are less than the window
   - Don't set the MSS in a resent packet (saves 2 bytes)
   - Remove redundant calls to updateAcks()
   - Update activity timer when resending a packet
   - Reset unackedPacketsReceived counter at all places where acks are sent
     so it isn't wrong
   - Fix some places where the activeResends count could become wrong
   - Prevent storm of CLOSE packets
   - Never resend the whole packet in ackImmediately(), just send an ack
   - Cancel flusher timer in MessageOutputStream when closed
   - Move some createRateStats to ConnectionManager to reduce repeated calls
   - Cleanups, javadocs, logging, volatile, finals
 * Update: Increase eepget timeouts
zzz's avatar
zzz committed

 * ElGamalAESEngine: Fix bad size estimate when tags are included,
                     resulting in trailing zeros after the padding
                     in the unencrypted data
 * i2psnark: Don't create a new PeerCoordinator after restart, as the
             TrackerClient holds on to the old one and that causes it
             to not get peers. Possibly fixes ticket #563.
 * I2PTunnel: Fix NPE on shared client creation, thx kytv
 * Transport: Add Ethiopia to hidden mode list

2012-06-21 zzz
 * I2CP: Make separate message ID counters per-destination, use atomic,
         increase max (could have caused "local loopback" problems)
 * IRC Client: Don't flush output unless out of input, so the
               streaming messages don't get split up unnecessarily
 * OCMOSJ, ElG, Streaming: log tweaks
 * TunnelInfo: Change msg counter from long to int
 * TunnelPeerSelectors: Minor refactoring to store context
 * TunnelPool: Fix bug where a tunnel was marked as reused when it wasn't
 * TunnelPoolManager: Use one ClientPeerSelector for all pools

2012-06-20 zzz
 * I2PSession:
   - Greatly simplify the VerifyUsage timers
   - Constructor cleanup

2012-06-19 zzz
 * i2psnark:
   - Hide buttons while stopping all
 * Socks: Pass remote port through
 * Streaming:
   - Listen only on local port if set
   - Listen only for streaming protocol if configured (new option)
   - Javadocs re: ports

zzz's avatar
zzz committed
2012-06-18 zzz
 * i2psnark:
   - Improve torrent shutdown handling to maximize chance of
     announces getting to tracker
   - Thread task to open tunnel and improve UI feedback while open is pending
   - Clean up delete-torrent messages
   - Remove redundant shutdown hook
   - Avoid NPE in PEX message handling
   - Log tweaks

zzz's avatar
zzz committed
2012-06-15 zzz
 * I2PSocketEepGet: Use specified port
 * I2PTunnel:
   - Don't strip port from an I2P URL
   - More client options cleanups
   - Options changes now propagate to running
     socket managers and sessions, and through to the router
   - Better parsing of jump server URLs
 * NetDB: Only publish stats every so often, to improve
   anonymity while preserving the ability to monitor
   the network (effective next release)
 * SocketManager:
   - Simplify factory, use 4-arg constructor,
     make fields final, deprecate 0-arg constructor
   - Improve how options are updated
   - Javadocs

zzz's avatar
zzz committed
2012-06-13 zzz
 * I2PSocketEepGet: Set port to 80
 * I2PTunnel:
   - Pass port through HTTP client proxy
   - HTTP server proxy sets host header to
     the value of "spoofedhost.xx" option for port xx
   - Set client options more efficiently
 * i2psnark: Possible fix for piece-after-choke
 * Streaming:
   - Channel cleanups and comments
   - New I2PSocketAddress

zzz's avatar
zzz committed
2012-06-11 zzz
 * i2psnark:
   - Display torrent file downloads in torrent area
   - Sort magnets and downloads first
   - Fix sorting problem when torrent dir is a symlink
   - Reduce max file idle time
zzz's avatar
zzz committed
   - Reduce TrackerClient threads
   - Reduce delay between peer adds for faster startup
   - Thread the announces and reduce timeout when stopping
zzz's avatar
zzz committed
 * NativeBigInteger: Workaround for Raspberry Pi to load the correct lib
zzz's avatar
zzz committed
 * Router: Don't let shutdown tasks hang the shutdown (tickets #564, #566)
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2012-06-08 zzz
 * i2psnark:
   - Move private tracker config from create box to torrent config
   - Refactor private and open tracker configuration
   - Add private indication on details page
 * netdb.jsp: Don't show our info on summary page

2012-06-04 zzz
 * i2psnark: Take tracker out of opentracker list when removed

2012-06-03 kytv
* Translation updates:
  - Add Hungarian language from Transifex (thanks AdminLMH!)
  - Italian language updates from Transifex (thanks ColumboBT)
2012-06-02 zzz
 * i2psnark: Improve opentracker configuration
 * Job Queue: Add failsafe check

2012-06-01 zzz
 * Console: Tab the netdb and profile pages
 * i2psnark: Fix partially-complete torrent not announcing
 * NetDB: Reduce flood redundancy from 8x to 6x

zzz's avatar
zzz committed
2012-05-31 zzz
 * i2psnark:
   - Add per-hour conn limit
   - Blacklist peer after two bad handshakes
   - Reduce connect timeout
zzz's avatar
zzz committed
   - Close connection immediately if bad protocol
   - Stop adding peers when we hit the limit
   - Lower limit for outbound connections so we give
     new peers a better chance in large swarms
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2012-05-30 zzz
 * Graphs: Reduce log EOF error to warn
 * i2psnark:
   - Increase max upload (ticket #645)
   - Increase per-minute conn limit from 6 to 8
   - Improve rarest-first behavior
   - Handle URI encoding, UTF-8, and multiple trackers in magnet links
 * Timestamper:
   - Move from core to router, leave stub in core
     so it doesn't break compatibility. This removes a
     thread in app context and prevents any app context from
     running NTP; external clients must use the time
     received from the router.
   - Increase query interval

kytv's avatar
kytv committed
2012-05-28 kytv
zzz's avatar
zzz committed
 * i2prouter: Add support so that 'i2prouter install' will work in ArchLinux
 * jbigi/jcpuid scripts: Improve support for ArchLinux
kytv's avatar
kytv committed

 * German, Italian, Spanish, and Swedish translation updates from Transifex
2012-05-23 zzz
 * i2psnark:
   - Fixes when complete except for skipped files
     (ticket #447) status in UI, don't connect outbound,
     disconnect seeds when done
   - Custom tracker map AIOOBE fix
   - More classes pkg private
 * jobs.jsp: Add more queue diagnostics

zzz's avatar
zzz committed
2012-05-22 zzz
 * i2psnark:
   - Refactor tracker map
   - Prevent torrent shutdown when changing file priority to skip
   - Fix deadlock when changing file priorities
zzz's avatar
zzz committed
 * RoutingKeyModifier: Update after large clock shift

2012-05-20 zzz
 * Console: Add full file path to thread dump message
 * i2psnark:
   - Create sparse files at torrent creation and delay
     "ballooning" until first write (ticket #641, #447)
   - Redo clear messages button
   - Concurrent message queue
 * Profiles: reduce same-country bonus
 * RoutingKeyModifier: Several changes to ensure the routing key
                       is correctly changed just after midnight.

zzz's avatar
zzz committed
2012-05-19 zzz
 * i2psnark:
   - Store received chunks in temp files
   - Don't allocate from heap for unneeded chunks
   - Remove peer count restriction for torrents with large pieces
   - Use priorities and rarest calculations to sort partials
   - Preserve p parameter in clear messages link

2012-05-13 zzz
 * Console: Add X-Frame-Options to headers,
   disable with routerconsole.disableXFrame=true

zzz's avatar
zzz committed
* 2012-05-02 0.9 released

kytv's avatar
kytv committed
2012-04-26 kytv
 * German, Spanish, and Swedish Translation updates
   from Transifex

2012-04-20 zzz
 * Remove search box
 * Fix i2psnark dir when started from Windows no-wrapper
   (ticket #627)

kytv's avatar
kytv committed
2012-04-14 kytv
 * Update wrapper to v3.5.14
 * Update geoip.txt from Maxmind's April 2012 database

2012-04-12 kytv
 * German, Spanish, and Swedish translation updates from Transifex

zzz's avatar
zzz committed
2012-04-12 zzz
  * Console:
    - Try again to fix console on Windows w/o IPv6
      by starting connectors individually
    - Fix whitespace issues on several pages
    - Prevent rare early NPE
    - Non-default theme cleanups
    - Theme and translate home page logo

2012-03-28 zzz
  * RouterInfo: Fix fatal NPE in last checkin

zzz's avatar
24  
zzz committed
2012-03-27 zzz
  * FloodfillVerify:
    - Fix verifies stuck on one peer by blamimg the verify peer on failure
    - Follow DSRM in response to RI verifies
    - Increase floodfill verify timeout
  * Home page: Delay router down message until two consecutive fails
  * RouterInfo: Add method to validate sig during read-in for speed

2012-03-27 sponge
  * A hopeful fix to allow SHOUTcast/icecast to work over the http proxy.
  * A little more code clean up

2012-03-26 zzz
  * Code cleanups:
    - Remove unused imports
    - Remove unused local variables
    - Remove unused private fields
    - Remove unnecessary casts
  * Console:
zzz's avatar
24  
zzz committed
    - Try again to fix console on Windows w/o IPv6 (ticket #621)
    - Move oldconsole rendering from Router to OldConsoleHelper

2012-03-24 zzz
  * GarlicConfig: Remove more unused methods
  * i2psnark:
    - Fix dup torrent msg with magnets (tickets #433 and #504)
    - Fix state when storage dies during transition out of magnet mode
    - Fix NPE in magnet mode
    - Error logging improvements
    - Support add-torrent with infohash alone
    - CSS tweaks

2012-03-22 zzz
  * Home page: CSS tweaks
  * Reseeder: Get rid of static instance, root in netDB,
              don't use system properties for status
  * RetransmissionTimer: Instantiate per-destination
  * Router: When removing a config setting, remove from context also
  * SimpleScheduler, SimpleTimer, SimpleTimer2: Replace static instances
    with I2PAppContext-rooted references

zzz's avatar
zzz committed
2012-03-20 zzz
  * i2psnark: Message area tweaks and clear link
  * NetDB:
    - Don't reread RI if netdb date is recent
    - Prevent LS/RI overwrites
    - Disallow hash mismatches in RI files
    - Reseed won't fetch our own RI
    - Reseed won't overwrite recent RIs
  * Router: Make runRouter() public

  * Plugins: Less confusing message, fix CNFE by catch and ignore on delete.
             Order and reverse order plugin names for start/stop all cases.
zzz's avatar
zzz committed
2012-03-18 zzz
  * Jetty: Fix check alias override

zzz's avatar
zzz committed
2012-03-17 zzz
  * BuildHandler: Implement restart and shutdown to stop the thread
  * Jetty: Don't extract wars
  * FileUtil: Better logging of weird unpack200 errors
  * I2PTunnel: Make CLI-only methods private, and static where possible
  * Streaming: Scheduler cleanup

2012-03-16 zzz
  * FragmentHandler: Zero-copy read of unfragmented messages
                     for speed and to reduce object churn
  * Home page: Tag tooltip; CSS tweaks; news tweak
  * HTTP Proxy: Jump and addresshelper page tweaks
  * Jetty: Add I2P mime types to default eepsite config
  * OCMOSJ: Refactor cache to its own class, make non-static
  * TransportManager: Fix fatal exception on soft restart caused by DHSKB refactoring
  * TrustedUpdate: Preserve default key names even when keys are set
                   in advanced config

sponge's avatar
sponge committed
2012-03-15 sponge
  * Plugins:
    - String.isEmpty() [ java 6 ] -> (String.length() == 0) [ java 5 ]
    - for a file: URL, use "Attempting to copy plugin from" message
    - s/{0}// on non-translated string
    - grammar: "File copy failed {0}" -> "Failed to copy file from {0}"
    - use the context provided to get startup time
    - getCanonicalPath() -> getAbsolutePath()
    - install != update. Don't change the user's settings, and don't restart
      it on an update if "dont-start-at-install". This gives the same
      functionality as before.

zzz's avatar
zzz committed
2012-03-14 zzz
  * Blockfile, i2psnark: Remove static logs
  * DHSessionKeyBuilder:
    - Move from core to router/transport
    - Make non-static, instantiate in TransportManager
    - Generate keypair in constructor and make final
      to move more processing to the precalc thread
      and eliminate races
    - Synchronize getSessionKey() to eliminate races
    - Comment out unused methods
  * Jetty:
    - Set default cache-control for webapps and eepsite
    - Disable dir listing for console webapps
  * UDPTransport:
    - Make key builder final in InboundEstablishState to
      eliminate rare NPE (ticket #406)
    - Remove unused static instance
  * YKGenerator: Make non-static, instantiate in ElGamalEngine

sponge's avatar
sponge committed
2012-03-13 sponge
  * Add sponge.i2p :-D bump version.

2012-03-13 sponge
  * Plugins:
    - Fix a bug in the updater. It was not comparing the correct name.
    - Plugin updates can now be deferred if router-restart-required is set.
      The update happens at the next router restart.

zzz's avatar
zzz committed
     - Handle 'file://' URLs for installation and updates (ticket #429).
       You must specify the entire path, e.g.
       file:///home/someone/magicplugin.xpi2p
       - This works for updates too!
       - Only tested on Linux, needs to be tested on Windows.

zzz's avatar
zzz committed
2012-03-12 zzz
  * Console:
    - Better IPv6 test, hopefully will work on Windows
    - Hide home page flags once language is selected
    - Home page shrinkage and other CSS tweaks

sponge's avatar
sponge committed
2012-03-11 sponge
  * Slackware package script updates

zzz's avatar
zzz committed
2012-03-11 zzz
  * Build:
    - Include old commons logging classes in commons-logging.jar
    - Preserve manifests in Jetty/Tomcat jars
zzz's avatar
zzz committed
  * Jetty Logger: Promote warns to errors when a Throwable is the second arg
zzz's avatar
zzz committed

sponge's avatar
sponge committed
2012-03-11 sponge
  * fix broken comment in jetty.xml

zzz's avatar
zzz committed
2012-03-10 zzz
  * Build: Add new jetty jars to router.jar classpath so it works
    on very old installs with individual jars specified in the
    wrapper.config classpath
  * configloggging: Fix clearing log overrides
  * Console: Test if IPv6 addresses will work before instantiating
             connectors, so Jetty will still start without them
  * HTTP Proxy: Fix generation of jump links (ticket #616),
                broken by refactoring in -1
  * Jetty Logger: Put a note in wrapper log saying where the logs went

zzz's avatar
zzz committed
2012-03-09 zzz
  * Update default eepsite base context to use DefaultServlet
    instead of ResourceHandler, to provide resume, directory
    indexes, caching, etc.
  * Simplify default eepsite base and CGI contexts to use a Context
    instead of a ContextHolder, ServletHandler, and ServletHolder
zzz's avatar
zzz committed
  * GarlicConfig: Remove unused reply block methods
  * SessionKeyManager:
    - Don't use unacked tagsets after consecutive ack failures
      and revert to full ElGamal if necessary (ticket #574)
    - Synchronize creation of new sessions to prevent dups
    - Don't remove an unacked session until it's really out of tags
    - Failsafe removal of old unacked tagsets
    - Cleanups, final, comments, log tweaks, debug.jsp tweaks, synchronization tweaks

2012-03-06 kytv
 * German and Spanish translation updates from Transifex

2012-03-06 zzz
  * i2psnark: Fix NPE on magnet link addition
  * Jetty logger: Fix stack trace logging
  * viewstat.jsp: Properly close the ImageOutputStream to fix
    NPEs in the finalizer, probably was the root cause of
    what we blamed on Jetty
  * Webapp class loader: Fix dup classes in classpath
    caused by last checkin (symptom: i2psnark in wrong directory)

zzz's avatar
zzz committed
2012-03-05 zzz
  * Build: Make windows and non-windows installers for release
  * configclients: Tweaks
  * Graphs: Add time interval to legend
  * NetDB: Increase min ff to 250
  * Plugins: Fix setting webapp classpath on Jetty 6
  * UDP: Log tweaks
  * viewstat.jsp: Set Connection: Close to work around Jetty bug
    http://jira.codehaus.org/browse/JETTY-1346

zzz's avatar
zzz committed
2012-03-04 zzz
  * Jetty: Upgrade to Jetty 6.1.26, Tomcat 6.0.35, and JSTL 1.2.
    - Supports Servlet 2.5 / JSP 2.1 standards
    - Jetty and Tomcat jars are checked in, no more need to
      download Jetty in the build process.
    - Bundle Jetty 6 rewrite handler and JMX
    - Bundle sample Jetty config files for rewrite, JMX, and SSL
    - Use ant's ant.jar instead of the one from Jetty
    - Port router console, i2psnark, and I2PRequestLog code to Jetty 6
    - Remove all old Jetty 5 patches and the custom Server() constructor,
      this will break Seedless use of the custom constructor
    - Fix up all .jsps to JSP 2.1 standards
    - Include automatic migration of clients.config,
      and of jetty.xml files for an eepsite at port 7658.
      New config includes files in eepsite/contexts and eepsite/etc
      Any other Jetty-hosted eepsites,
      or an eepsite not at port 7658 or with custom
      modifications of the jetty.xml file, will require
      manual editing of the new Jetty config files.
      This includes modifications for the seedless server in jetty.xml.
    - The following plugins are not compatible with Jetty 6
      and will be disabled until updates are available:
         i2pcontrol, pebble, and zzzot
    - Users updating must use the updaterWithJetty build target once,
      to get the new Jetty and Tomcat.
    - Put I2PRequestLog in its own jetty-i2p.jar
    - Jetty logging moved from wrapper to I2P log using the new I2PLogger class,
      also in jetty-i2p.jar
  * Console: Start all wars after the main console war,
    for faster startup and to prevent one failed war from preventing
    startup of the entire console
  * i2psnark: Disable i2psnark RunStandalone, unused and instantiated Jetty 5
  * i2ptunnel: Move i2ptunnel Bean classes from the jar to the war.
zzz's avatar
zzz committed
    These were deprecated for external use long ago.
    This will break very old seedless plugins; updates have
    been available for months.
  * susimail: Copy MultiPartRequest and other required classes from Jetty 5.1.15
    and add it to susimail, as the replacement MultiPartFilter in
    Jetty 6 is difficult to migrate to, and does not support content-type

zzz's avatar
zzz committed
2012-03-03 zzz
  * Console:
    - New simplified home page, refreshing with AJAX
    - New home configuration page
  * i2psnark:
    - CSS tweaks
    - Ajax and link fixes
    - Move js to console in prep for merging w/ homepage
  * NetDB: Remove bw stats (effective next release)

zzz's avatar
zzz committed
2012-03-02 zzz
  * BlockfileNamingService: Add negative cache
  * Build: Add built-by to jars; check for corrupt jars on debug page
  * configstats.jsp: Hide log settings unless already enabled
  * DataStructures:
    - Remove static logs
    - Sort addresses in RouterInfo at initialization only;
      change from Set to List to save space
    - Remove unused counters in Lease to save space
    - Increase max leases to 16
  * Graphs:
    - New single graph page with easy resizing
    - Support graphing of previous intervals
  * i2pinstall.exe: Add icon
  * i2psnark:
    - Add tracker configuration form
    - Remove custom tracker option from create form
    - Add private torrent option
    - More icons in buttons
    - Use js for refresh
  * I2PTunnelHTTPClient:
    - Refactoring to use Java URI parser to better handle
      escapes, IPv6 addresses, ports
    - Rewrite i2paddresshelper scanning/removal
    - Refactor out local server code
    - Nicer address helper error page
  * NetDB:
    - Reenable verify of RI stores, disabled in 0.7.9,
      checkin comments claim reenabled in 0.7.10 but didn't happen.
    - Synchronize StoreJob.sendNext() to avoid dups
  * netdb.jsp: Fix debug leaseset count again
  * susidns: Add b64 hash to details page

zzz's avatar
zzz committed
* 2012-02-27 0.8.13 released

2012-02-22 kytv
  * Updated German, Italian, Spanish, Swedish, and Ukrainian translations
    from Transifex.

2012-02-22 zzz
  * ExploratoryPeerSelector: Use fast peers if hidden for
    inbound tunnels to improve success
  * NetDB:
    - Don't publish our RI if it has no addresses
    - Publish our RI sooner after startup
      to facilitate our IB tunnel builds

2012-02-20 zzz
  * i2ptunnel:
    - Fix streamr session registration
    - Don't delete privkey file for a non-persistent client tunnel
      (ticket #599)
  * Streaming: Fix race NPE (thx echelon)

2012-02-17 zzz
  * i2psnark: Escape fixes
  * netdb.jsp: Fix debug median calculation

zzz's avatar
zzz committed
2012-02-17 kytv
kytv's avatar
kytv committed
  * Add Czech language from Transifex (thanks Waseihou)

2012-02-12 str4d
  * i2ptunnel: Tunnel creation wizard

2012-02-10 zzz
  * WorkingDir: Fix detection of migrated directory

2012-02-09 zzz
  * i2psnark: Escape semicolons

2012-02-04 zzz
  * Deprecate util classes used only by installer
  * ProfileOrganizer: Add profileOrganizer.sameCountryBonus config
  * WorkingDir: Reset dates of eepsite files while migrating
                to avoid exposing install time (thx Z6)
  * Wrapper files:
    - Move PID and status files to config dir in i2prouter
    - Don't set PID files in wrapper.config as Windows doesn't need them
      and the wrapper won't start if the dir doesn't exist
    - Move wrapper.log to config dir using override in i2prouter,
      Windows stays in system temp dir
    - Move wrapper.log to config dir for no wrapper
    - Move wrapper.log setup for no wrapper from RouterLaunch
      to WorkingDir
    - Redirect stderr too when no wrapper
    - Create config dir in i2prouter for Linux/Mac

2012-02-02 kytv
 * Ukrainian and Polish translation updates from Transifex

2012-01-30 zzz
  * i2psnark: More illegal chars
  * LogWriter: Don't rotate and open file until first message
  * SusiDNS: Reduce listings to 50/page

2012-01-27 zzz
  * Build: Repack release jars with pack200 -r, saves about 1% and
           might save a little memory at runtime too
  * confignet: Add UDP disable option
  * SAM: Remove client demo classes from sam.jar

2012-01-26 zzz
  * configclients: Fix form action default
  * NetDB: Increase min ff to 200
  * Plugins: Fix updated count
  * SusiDNS: Make UI 1-based

2012-01-24 zzz
  * Addresses: Fix NPE if no interfaces found http://forum.i2p/viewtopic.php?t=6365
  * i2ptunnel: Fix white-on-white buttons on hover
  * Plugins: Add completion message after all-update check
  * susidns, susimail: Add icons to buttons

zzz's avatar
-7  
zzz committed
2012-01-22 zzz
  * Transports: Bind only to a single interface if specified
                as the host address and it's available (ticket #591)
  * VMCommSystem: Move to dummy directory

2012-01-21 zzz
  * Build: Fix Windows build, version checking for release
  * Console summary bar: Move some code around

2012-01-20 sponge
  * Fix too short of delay for http. It is up to the browser to time out
    in a shorter time, not the proxy. This is wreaking havoc on large
    downloads, similar to the issues that we had in the distant past with
    jetty's default timeout being too short.

zzz's avatar
-5  
zzz committed
2012-01-18 zzz
  * I2PTunnel: Register ports with the PortMapper
  * Router:
    - Use new synchronized change-and-save-config methods
      to eliminate races with ReadConfigJob
  * Tunnels:
dg2-new's avatar
dg2-new committed
    - When a peer is banlisted, fail all our tunnels where
zzz's avatar
-5  
zzz committed
      that peer is the adjacent hop. In particular this
      will remove outbound tunnels when we can't contact
      the first hop, and enable quicker recovery.
  * Update: Find the proxy port in the PortMapper

2012-01-16 hottuna
  * Router:
    - Don't throttle tunnel creation if using a higher
    - than default router.maxParticipatingTunnels setting.

zzz's avatar
-4  
zzz committed
2012-01-16 zzz
  * Build: Put Implementation-Version in manifests
  * NetDB: Hopefully fix rare NPE (ticket #589)
  * Plugins:
    - Only stop a plugin before update if it was running
    - Only stop a plugin at shutdown if it was running
    - Don't start a plugin after update if it was disabled
    - Disable plugin if it fails version checks at startup
    - Auto-update plugins after a router update
    - Add update-all button and more cancel buttons
  * Router:
    - Add synchronized change-and-save-config methods to avoid races
    - Save previous version in config so we know when we updated
  * Transport: Revert change from -2, put addresses back in RouterInfo
               when hidden, broke inbound tunnel building

zzz's avatar
zzz committed
2012-01-14 zzz
  * i2ptunnel: Partial fix for dest formatting (ticket #581)
  * jars.jsp: New debug page
  * logs.jsp: Use wrapper method to find wrapper log if available
  * Stats:
    - Cleanups
    - Remove some locking
    - Change some longs to ints to save space
    - Remove static logs

2012-01-13 zzz
  * i2prouter: Add translation infrastructure

zzz's avatar
zzz committed
2012-01-10 zzz
  * Console:
    - Add info to error 500 page
    - Add indication on summary bar when in VM comm system
    - Make graceful the default for HUP (ticket #580)
    - Fix class error on wrapper 3.1.1
  * i2prouter: Don't attempt to translate strings from script
  * Router:
    - Auto-hidden mode for bad countries
    - Don't put addresses in our RouterInfo when hidden

zzz's avatar
zzz committed
2012-01-08 zzz
  * Plugins:
    - Enforce min and max Jetty versions at plugin installation
    - Enforce I2P, Java, and Jetty versions at plugin startup too
  * Router:
    - No longer check for updates or start any threads in the Router constructor,
    - for ease in building multiple routers in the JVM,
    - and also because starting threads in a constructor is bad practice.
    - All threads now start in runRouter().
    - Installation of updates now only happens via Router.main().
  * RouterInfo, RouterAddress: Optimizations and integrity checks
    - Remove synchronization
    - Do not allow contents to change after being set, throw IllegalStateException
    - Do not copy contents out in getters
    - Make options final
    - Add getOption() and getOptionsMap() methods
  * Router shutdown:
    - Fix failsafe shutdown hook broken in 0.8.8;
      HUP, INT, and TERM signals should now shut down cleanly.
    - Shutdown hook no longer prevents other hooks from running
    - Trap HUP, if router.gracefulHUP=true, and do graceful shutdown.
      Only under wrapper, non-Windows.
    - i2prouter stop now uses SIGTERM
    - Implement i2prouter graceful using SIGHUP (ticket #580)
    - Configure wrapper to ignore SIGUSR1 and SIGUSR2 as they will shut down
      or crash the JVM

2012-01-06 kytv
zzz's avatar
zzz committed
  * EepGet: If transfer fails, exit with status 1 (fixes #576)
zzz's avatar
zzz committed
* 2012-01-06 0.8.12 released

2012-01-04 kytv
zzz's avatar
zzz committed
  * Update geoip.txt based on Maxmind GeoLite Country database from 2011-12-08
kytv's avatar
kytv committed
2012-01-02 kytv
zzz's avatar
zzz committed
  * Wrapper 3.5.13 for everything other than armv7.
kytv's avatar
kytv committed

zzz's avatar
zzz committed
  * Fix webapp PortMapper lookup for SSL-only console
  * Wrapper 3.5.13 for arm v7
zzz's avatar
zzz committed
  * Fix log NPE when saveConfig() fails at startup, thx kytv
zzz's avatar
zzz committed
  * New Estonian translation thanks ajutine
2011-12-27 kytv
zzz's avatar
zzz committed
  * Spanish and Swedish translation updates from Transifex
2011-12-23 zzz
  * Logging: Eliminate LogWriter/LogManager deadlock

2011-12-18 zzz
  * Addresses: Add utility toString() methods
  * Blocklist: Buffer input to speed lookup
  * PersistentDataStore: Buffer file writes and reads
  * Router: Cleanup startup jobs and router.config reading; javadocs
  * Transport: Log tweaks

kytv's avatar
kytv committed
2011-12-17 kytv
  * Ukrainian translation updates from Transifex
kytv's avatar
kytv committed
  * Add my key to TrustedUpdate.java
kytv's avatar
kytv committed

zzz's avatar
zzz committed
2011-12-17 zzz
  * i2psnark:
    - Replace file name characters not supported in default charset
    - Add torrent file name to local details page
  * GeoIP: Reduce thread priority during lookup
  * ProfileManager: Make some methods non-blocking to reduce
                    lock contention in transports

2011-12-15 kytv
  * Swedish translation updates from Transifex

zzz's avatar
zzz committed
2011-12-14 zzz
  * BuildHandler: Increase next hop timeout again
  * DataHelper:
    - Speed up heavily used long/byte[] converters
    - Add little endian versions of the converters
    - Cache common properties keys
  * GarlicMessageParser: Use cached cert
  * GeoIP: Buffer input to speed lookup by 10x
  * I2NP: Disable pass-through checksum debugging
  * MessageHistory:
    - Flush at shutdown
    - Fix file location, only delete if enabled
    - Cleanups, concurrent
  * ResettableGZIPInputStream: Better footer log errors
  * RouterAddress: Cache transport names
  * TransportBid: Remove unused stuff

2011-12-13 kytv
  * Don't require that full stats are enabled to be able to graph
    router.highCapacityPeers. (closes #450)

2011-12-12 kytv
  * German and Spanish translation updates from Transifex

2011-12-12 zzz
  * ExploreJob: Tweaks to handle DatabaseLookupMessage changes
  * I2NP:
    - Deprecate unused stream methods and I2NPMessageReader since
      all transports provide encapsulation.
    - Don't throw IOE from byte array methods
    - Use cached null cert in GarlicClove
    - Add method to limit size of buffer to read
    - Don't check checksum at input, in most cases
zzz's avatar
zzz committed
    - Reuse checksum at output, for unmodified pass-through messages
      (but recalculating it now and logging on a mismatch for testing)
    - Fix DatabaseLookupMessage to internally store the don't include peers as
      a List, not a Set, so it doesn't get reordered and break the checksum
    - Log cleanup
  * NTCP:
    - Zero-copy and limit size when handing buffer to I2NP
    - Log hex dump message on I2NPMessageException, like in SSU
    - Don't close connection on I2NPMessageException
  * PortMapper: New service for registering application ports in the context
  * ReusableGZIPInputStream: Fix 3 major bugs, all present since 2005:
    - Payloads an exact multiple of 512 bytes failed to decompress
    - Data at the end of the stream could be lost
    - read() returned -1 when the data was 0xff
  * SearchState: generics and cleanups

2011-12-11 sponge
  * HTTP server tunnel, use log.WARN for 3 first minutes. (closes #460)

2011-12-10 kytv
  * Replace eepget's whitelist of accepted characters with the
    blacklist from i2psnark. (closes #562)

zzz's avatar
zzz committed
2011-12-09 zzz
  * Base64: Add decodestring command in main()
  * Console, i2psnark: More button CSS tweaks
  * I2NP:
    - Earlier detection and better logging of
      truncated TunnelGatewayMessage and DatabaseStoreMessage
    - Fix and enhance UnknownI2NPMessage implementation
    - Don't deserialize or verify the checksum of the
      embeddedI2NP message in the TunnelGatewayMessage
      at the IBGW, just use UnknownI2NPMessage and pass it along,
      except if zero hop; Still to do: similar thing at OBEP
    - Cleanups and javadoc
  * LeaseSet: Fix size calculations
  * UDP:
    - Fix major bug from 2005 that corrupted outbound messages
      that were an exact multiple of the fragment size.
    - Round expiration times when converting to seconds
    - Zero-copy of single-fragment messages in MessageReceiver
    - Optimizations, log tweaks, comments

2011-12-06 zzz
  * Router:
    - More refactoring tasks to their own files
    - Adjust some thread priorities
  * Susimail: Adjust login form sizes
  * Tunnels: Increase next hop send timeout
  * UDP: Fix major MTU bug introduced in 0.8.9.
    - Change large MTU from 1492 to 1484 and small from 608 to 620
      for encryption padding efficiency
    - Enforce sent MTU limit
    - Increase receive buffer size from 1536 to 1572 so that excessive-sized
      packets sent by 0.8.9-0.8.11 routers aren't dropped
    - Limit the max acks in a data packet
    - Limit the duplicate acks in successive data packets
    - Only include acks that will fit in the mtu in a data packet
    - Correctly remove acks from the pending set after they are sent,
      so they aren't sent repeatedly
    - Don't pad data packets unless necessary
    - Debug logging and javadocs

zzz's avatar
zzz committed
2011-12-04 zzz
  * Console:
    - Less icons on configclients.jsp
    - Fix some browsers breaking line on negative numbers
    - Tab CSS tweaks
  * i2psnark: Fix directories not always deleted when torrent is deleted
  * IRC Client: Lower log level for connect error to warn (thx echelon/sponge)
  * Tunnel RED:
    - Complete rework of participating traffic RED.
      Implement an accurate bandwidth tracker in FIFOBandwidthRefiller.
    - Fix drop priority of VTBM at OBEP
    - Lower drop priority of VTBRM at IBGW
    - Raise threshold from 95% to 120%
    - Remove unused things in HopConfig
  * UDP: Fix i2np.udp.allowLocal operation (thx Quizzers)

zzz's avatar
zzz committed
2011-12-02 zzz
  * Console:
    - Summary bar tweaks
    - Config nav CSS tabs
    - CSS cleanups from last checkin
  * Susimail:
    - Login screen tweaks
    - Cleanups, generics, static

zzz's avatar
zzz committed
2011-12-01 zzz
  * Console:
    - Split up config network page
    - CSS tweaks in summary bar
    - Spiff up the buttons
  * i2psnark:
    - Retry link on torrent download fail
    - Clear URL after clicking 'add torrent'
    - Message tweaks
    - CSS tweaks
  * IRC Server: Fix IOOBE (ticket #559)
  * Throttle: Update throttle status immediately on shutdown request;
              clear starting-up message after 20 minutes

zzz's avatar
zzz committed
2011-11-29 zzz
  * Random: Use new nextBytes(buf, off, len) for efficiency
  * Router: Refactor periodic tasks to their own files

zzz's avatar
zzz committed
2011-11-28 zzz
  * Specify locale in all toLowerCase() and toUpperCase() calls to
    avoid the "Turkish four i problem";
    replace most equalsIgnoreCase() calls too.
  * Update: Files listed in deletelist.txt will be deleted

2011-11-28 kytv
  * IRCClient: Add IRCop commands (and other safe commands) to the whitelist

zzz's avatar
zzz committed
2011-11-27 zzz
  * IRCClient: Outbound whitelist optimization
  * Reseed:
    - Restore i2pbote (ticket #516)
    - Remove r31453 (cert expiring, host soon to be shut down permanently)

zzz's avatar
zzz committed
2011-11-26 zzz
  * DCCServer: Socket error log fix
zzz's avatar
zzz committed
  * NTCP: Fix pumper NPE (ticket #555)
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2011-11-23 zzz
  * CryptixAESEngine: Fix bogus bounds checks
  * NTCP:
    - More optimizations in recvEncrypted()
    - More efficient XOR
    - Reduce bandwidth stat update frequency
    - Check for repeated zero-length reads
  * RandomSource: Add new method getBytes(buf, offset, length)
  * Tunnel encryption: More efficient XOR

zzz's avatar
zzz committed
2011-11-21 zzz
  * NTCP Pumper:
    - Ensure failsafe pumper code gets run on schedule
    - Don't copy the read buffers
    - Adjust minimum read buffers based on memory
    - New i2np.ntcp.useDirectBuffer option (default false)
    - Mark peer unreachable when read failure is during establishment
    - Change some Reader Lists to Sets to avoid linear search
    - Log tweaks, debugging, new loop stats

zzz's avatar
zzz committed
2011-11-18 zzz
  * NTCP:
    - First cut at improving EventPumper performance (ticket #551)
    - Establishment timeout cleanup/concurrent
    - Remove some logging and stats
    - Switch some Queues from LBQ to CLQ
    - Static ByteBuffer cache

2011-11-16 zzz
  * Console: Add Jetty version to logs page
  * NTCP: Reduce log level for race (ticket #392)
  * NTCPConnection: Concurrent PrepBufs
  * OutNetMessage: Remove some fields and methods used only in NTCP debugging
  * Router: Move router.ping file from temp directory to config directory

zzz's avatar
zzz committed
2011-11-14 zzz
  * Console: Remove % chart at bottom of tunnels.jsp
  * Profiles: Only use same-country metric for countries with
    lots of I2P users
  * SusiDNS: Remove .jsp suffixes

2011-11-12 zzz
  * Installer: Fix Ukrainian translation (ticket #550) thx rndnick

2011-11-11 zzz
  * Console:
    - Less magic and fix img sizes, for speed and less artifacts while rendering
    - CSS tweaks

zzz's avatar
-1  
zzz committed
2011-11-09 zzz
  * Console: Add ability to hide news
  * I2PTunnel IRC Client: Don't filter PASS (ticket #549)
  * Licenses: Update information
  * Router: Clean up config map methods and uses
  * wrapper.config: Increase shutdown timeout

zzz's avatar
zzz committed
* 2011-11-08 0.8.11 released

kytv's avatar
kytv committed
2011-11-05 kytv
  * Update geoip.txt based on Maxmind GeoLite Country
    database from 2011-11-02

zzz's avatar
zzz committed
2011-11-02 zzz
  * HTTP Proxy: Error page tweak
  * Reseed:
    - Add new host
    - Handle % escaping in file URLs
    - Do basic validation of router hash
    - Add some more sanity checks

kytv's avatar
kytv committed
2011-11-01 kytv
  * Update Ukrainian translations from Transifex
  * Update i2prouter script for better compatibility with Gentoo

zzz's avatar
zzz committed
2011-10-31 zzz
  * NetDB: Reduce max RI publish interval
  * ProfileOrganizer:
    - Fix expiration of old profiles
    - Don't exceed high cap limit between reorgs
    - Reduce max reorg cycle time
    - Reduce new bonus values
zzz's avatar
zzz committed
    - Fix rare NSEE thx sponge
zzz's avatar
zzz committed
  * SSU: Increase threshold for incremented cost
zzz's avatar
zzz committed
  * Tunnels:
    - Restore and implement lengthOverride()
    - Adjust quantity override
zzz's avatar
zzz committed

zzz's avatar
-3  
zzz committed
2011-10-29 zzz
  * BuildHandler: Add router.buildHandlerThreads config setting
  * CapacityCalculator: Small adjustment for XOR distance to
    break ties and encourage closeness
zzz's avatar
-3  
zzz committed
  * ProfileOrganizer: Reduce min expire time
  * SSU: Limit max peers to use as introducers

zzz's avatar
zzz committed
2011-10-28 zzz
  * BuildHandler: Move inbound request handling to its own thread(s)
    (ticket #542, see also http://zzz.i2p/topics/996)
  * CapacityCalculator: Small boost for connected peers, new peers, and
    same-country peers; deduct for recently-unreachable peers
  * DecayingBloomFilter: Whups fix NPE from previous checkin if log=INFO
  * NTCP: Reduce min idle time
  * SSU:
    - Increase default max connections again
    - Reduce min idle time
    - Separate out introducer pinger from introducer selection
      so it can be run separately and more often
    - Only ping introducers if we need them
  * Tunnels:
     - Reduce exploratory tunnel quantity if build success rate
       is very low, but may disable this later
     - Try rebuilding same tunnel (some of the time)

zzz's avatar
zzz committed
2011-10-25 zzz
  * BloomSHA1, DecayingBloomFilter:
    - Refactor for concurrent, at some small risk of false negatives
    - Optimizations to cache objects and reuse offsets
  * Tunnels:
    - Make most classes package private
    - Final, static, logs, cleanups
zzz's avatar
zzz committed
    - Consolidate createRateStat calls
zzz's avatar
zzz committed
    - Add getTotalLength()
    - Remove unused lengthOverride()
  * UDP: Mark only first fragment as a duplicate

zzz's avatar
zzz committed
* 2011-10-20 0.8.10 released

2011-10-19 kytv
  * Update Italian translation from Transifex (thanks danimoth)

zzz's avatar
zzz committed
2011-10-19 zzz
  * I2PTunnel: Fix timeout message on POST (ticket #531)
zzz's avatar
zzz committed
  * NetDB: Reduce RI max expiration again

zzz's avatar
zzz committed
2011-10-18 zzz
zzz's avatar
zzz committed
  * StoreJob: Ensure nonzero token
  * Tunnels: Connection limit mitigation:
    - Disable tunnel testing
    - Implement closest-to-the-key tunnel selection
    - Use closest-selection in NetDB lookups, stores, and verifies;
      OCMOSJ; and in BuildRequestor

zzz's avatar
zzz committed
2011-10-17 zzz
zzz's avatar
zzz committed
  * BuildExecutor: Efficiency tweak
  * Console: Hide tunnel lag if tunnel testing is disabled
  * NetDB: Fix rare NPE from netdb.jsp (ticket #539)
  * Router: Change all shutdown CRITs to ERRORs; shutdown
    the stat manager last to reduce chance of NPEs
    (similar to that in tickets #534,535)
  * SSU: Increase max concurrent outbound attempts;
    fix udp.establishRejected stat

zzz's avatar
zzz committed
2011-10-15 zzz
  * BuildExecutor: Add tunnel.buildConfigTime stat
  * configupdate.jsp:
    - Fix setting to 'never' (ticket #523)
    - Fix always saying trusted keys changed
    - Parameterize tags
  * EepGet:
    - Add gunzip support (nonproxied only)
    - Clean up progress formatting
  * FloodfillMonitorJob: Log tweak (ticket #533)
  * I2CP: Improve error message (ticket #533)
  * JobQueue:
    - Log error when queue is out of order
    - Log tweaks
  * FloodfillPeerSelector: Fix stat NPE (tickets #534,535)
  * RouterThrottle:
    - Fix stat NPE (tickets #534,535)
    - Increase max tunnels and max delay again
  * OutNetMessagePool: Log tweak (ticket #533)
  * Router:
    - Add OOM help (ticket #533)
    - Prevent parallel shutdowns after multiple OOMs (tickets #534,535)
  * Stats: Add API methods for zero duration
  * SSLEepGet:
    - Add gunzip support
    - Increase buffer size
zzz's avatar
zzz committed
  * SSU: Fix concurrency errors (ticket #536)          \
zzz's avatar
zzz committed
2011-10-13 kytv
  * Updated translations from Transifex
    - Swedish: debconf and i2psnark
    - Finnish: router console

zzz's avatar
zzz committed
* 2011-10-11 0.8.9 released

2011-10-10 zzz
  * Lower max netdb RI expiration again
  * Increase default max tunnels
  * Cleanups after review
  * Exorcism (ticket #476)

kytv's avatar
kytv committed
2011-10-07 kytv
  * GeoIP:
    - Switch to Maxmind's GeoIP service (it's better maintained
      than our old provider)
    - Update based on Maxmind GeoLite Country database from 2011-10-07
kytv's avatar
kytv committed
  * Translation updates from Transifex:
    - I2PSnark: de, es, and pt
    - I2PTunnel: de and es
    - RouterConsole: de and es
    - SusiDNS: de and es
    - SusiMail: de and es
kytv's avatar
kytv committed

zzz's avatar
zzz committed
2011-10-07 zzz
zzz's avatar
zzz committed
  * Reseed:
    - Add an https reseed, thx h2ik
    - Restore ovh reseeds, thx mathiasdm
  * Tunnels:
    - For expl. tunnels, fall back to high cap sooner
    - Tweak build rejections for class N
2011-10-06 kytv
  * Add diftracker.i2p to I2PSnark

zzz's avatar
zzz committed
2011-10-06 zzz
  * RepublishLeaseSetJob:
    - Out-of-order JobQueue 3nd try to fix
    - Lower timeouts
  * Reseed:
    - Update host lists
    - Switch back to https by default
  * Throttle: Increase max message delay
  * Transport:
    - Add per-style send processing time stat
    - Increase default SSU conn limit

2011-10-05 zzz
  * Streaming: Fix build
  * UDP: Catch address without key sooner

zzz's avatar
zzz committed
2011-09-30 zzz
  * logs.jsp: Add wrapper version
dg2-new's avatar
dg2-new committed
  * Banlist: Shorten time
zzz's avatar
zzz committed
  * Wrapper: Update armv7 to 3.5.12

kytv's avatar
kytv committed
2011-09-30 kytv
  * fix umask bug by upgrading to wrapper v3.5.12. Binaries are from Tanuki's
    delta pack for the community edition, except:
    - Win64: not available from Tanuki--compiled with VS2010
    - FreeBSD: Tanuki's binaries are compiled in FBSD v6.  I compiled the
      wrapper in FreeBSD 7.4 to eliminate the dependency on the compat6x port.
    - Linux ARM: not available from Tanuki
    - OSX: Tanuki offers separate binaries for 32bit VS 64bit. Our
      wrapper is quad-fat supporting PPC32/PPC64 and x86/x86_64.

2011-09-29 zzz
  * Bandwidth refiller: Reinitialize at restart, avoid
    issues from clock skews

2011-09-27 kytv
  * Remove exotrack.i2p from i2psnark

2011-09-24 zzz
  * HTTPClient: Fix error page not appearing, broken by
                StreamForwarder change
  * HTTPServer: More mime types not to compress

2011-09-23 kytv
  * Update Italian, Spanish, and Swedish translations
    from Transifex

zzz's avatar
zzz committed
2011-09-20 zzz
  * Crypto: Comment out some main()
  * ClientMessage: Remove unused MessageReceptionInfo
  * i2psnark: File allocation cleanup to use less heap
  * i2ptunnel HTTPResponseOutputStream:
    - Use reusable gunzipper and a larger pipe for efficiency
    - Close output stream in StreamForwarder to prevent lost data,
      existing bug but made worse by larger pipe
  * I2PTunnelHTTPServer: Don't compress small responses or images
  * I2PTunnel, NTCP: Catch unchecked exceptions from GNU NIO (ticket # 519)
  * JobQueue, RepublishLeaseSetJob, StartExplorerJob:
    Out-of-order JobQueue 2nd try to fix
  * NetDB: Limit max explore queue
  * RouterContext: Remove unused MessageStateMonitor

2011-09-18 kytv
kytv's avatar
kytv committed
 * Add OpenBSD & NetBSD to NBI and CPUID
zzz's avatar
zzz committed
2011-09-16 zzz
  * Console: Home page flag spacing
  * EepGet: Add some new command line options
  * JobQueue:
    - Add warning to setStartAfter() as queue is no longer
      continuously sorted
    - Fix StartExplorerJob not calling requeue()
    - More pumper cleanups
  * Reseed:
    - Add HTTP proxy authorization support
    - Stub out SSL proxy support
    - Disable i2pbote reseed
  * Router: Fix router changing client-side tunnel options,
    causing original tunnel quantity to not be restored
    (ticket #513)

zzz's avatar
zzz committed
2011-09-14 zzz
  * Console: Verify valid host/IP before saving on net config form
  * i2psnark:
    - Add refresh time option
    - Add public file permissions option (ticket #501)
    - Fix configuration of tunnel parameters (ticket #524)
    - Allow changing I2CP parameters while tunnel is open
    - Remove duplicated options in I2CP options string
    - Don't open tunnel when saving config
  * IRC DCC: Fix conn limit options
  * Router: Set permissions on router.ping file

kytv's avatar
kytv committed
2011-09-13 kytv
  * Update i2prouter script

zzz's avatar
zzz committed
2011-09-12 zzz
zzz's avatar
zzz committed
  * build.xml: Run test scripts at release time
zzz's avatar
zzz committed
  * Build Executor:
    - Limit max parallel builds on really slow machines (ticket #519)
    - Slow down build loop when network is apparently disconnected (ticket #519)
  * i2psnark: Fix inaccuracy in the completed bytes display
zzz's avatar
zzz committed
  * NetDB: Disable floodfill at shutdown time if enabled

2011-09-09 zzz
  * TunnelDispatcher: Fix bug in -13 preventing participating
    tunnels from being expired and causing high CPU usage

2011-09-08 zzz
dg2-new's avatar
dg2-new committed
  * Blocklist: Include IP in banlist reason
  * Ministreaming: Drop old classes replaced by streaming
    years ago.
  * NTCP: Hopefully fix race NPE, thx devzero
  * Tunnels: Limit Bloom filter size based on max memory

2011-09-07 zzz
  * Console: Limit max displayed participating tunnels
  * JobQueue: Change queue from a Set to a TreeSet for more efficiency
  * TunnelDispatcher: Change participant expire List to a Queue for
    efficiency and to remove global lock. Also remove separate
    time List for space savings.

  * Console: Move jobs.jsp rendering code from
  * Crypto: Rework use of SHA256 for efficiency and
    to avoid clogging the Hash cache with one-time hashes,
    and avoiding the global cache lock.
    This also greatly increases Hash cache hit rates.
    Also use SimpleByteCache for temporary byte buffers.
  * I2PTunnel: Save keys to privkey file when enabling
    persistent key after tunnel creation (ticket #480)
  * JobQueue: Change queue from a List to a Set for efficiency
  * PrivateKeyFile: Add more constructors
  * SDSCache: Use weak refs; increase size for pub keys

zzz's avatar
zzz committed
  * NetDB:
    - Try again to fix ISJ deadlock, thx devzero
    - Lower RI expiration again
    - Expire RIs with SSU only and no introducers sooner
  * Transport: Remove one global lock in OutboundMessageRegistry.

zzz's avatar
zzz committed
2011-09-03 zzz
  * i2psnark: Fix "eject" button in certain browsers (ticket #511)
  * UDP Inbound:
    - Hopefully fix race NPE, thx devzero
zzz's avatar
zzz committed
    - Catch some more fragment errors
    - Exception and log tweaks
    - Cleanups and javadocs

2011-09-02 zzz
  * Console: Cache user-agent processing
  * NetDB: Hopefully fix ISJ deadlock, thx devzero
2011-09-02 sponge
  * I2PSnark: Fix GUI html tag for adding a torrent, it was missing a space.

zzz's avatar
-8  
zzz committed
2011-09-01 zzz
  * Console: Enable color logs
  * GeoIP: Cache country codes
  * NetDB: Explore more aggressively if hidden or K
  * UDP: Cleanups and introduction fixes

2011-08-31 zzz
  * OCMOSJ: Remove some global cache locks, other cleanups

2011-08-30 zzz
  * I2CP: Cache b32 lookups client-side
  * I2PTunnelHTTPClient: Use existing session for b32 lookups
                         rather than a new SimpleSession
  * Naming: Increase b32 lookup timeout to 15 sec.

zzz's avatar
zzz committed
2011-08-29 zzz
  * NetDB:
    - Replace the old parallel lookup method with a true
      Kademlia lookup that iteratively queries additional floodfill
      peers returned in DatabaseSearchReplyMessages. This is a more
      efficient and reliable lookup that will work much better
      when not all floodfill peers are known, and it removes a serious
      limitation to network growth.
    - Limit max number of DSRM entries to look up
    - Cleanups, javadocs, log tweaks
  * Tunnels:
    - Increase timeouts on all deferred netdb lookups to 15s; add lookup stats
    - Cleanups, javadocs, log tweaks

zzz's avatar
-2  
zzz committed
2011-08-28 zzz
  * checkcerts.sh: New test
  * Console: Remove 'firewalled and fast' message, just say 'firewalled'
  * I2PTunnelRunner: Fix logging
  * Log: Fix level stuck at DEBUG when using public constructor
  * OutboundMessageRegistry: Cleanups
  * Stats: Restore pre-0.8.8 API to not create a new Rate if it does not
           exist in RateStat.getRate()
  * UPnP: Lower some log levels

kytv's avatar
kytv committed
2011-08-26 kytv
  * Debian: Bugfix: Avoid overwriting preseeded debconf values
    upon package installation (ticket #514).
  * Windows: Fix bug in fixperms.bat that occurred when installing on
    non-English versions of Windows 7 and Vista.

zzz's avatar
zzz committed
2011-08-25 zzz
  * Blockfile:
    - Avoid NPE after corruption (ticket #515)
    - Add reverse lookup table; bump DB rev to 2
  * I2PTunnelIRCClient:
    - Big refactoring into multiple class files
    - Allow AWAY and CAP messages
    - First cut at DCC support - not for SOCKS (yet)
  * Streaming:
    - Hook I2CP ports through to I2PSocket
    - Javadocs, init cleanups, final
  * UDP:
    - Complete rewrite of OutboundMessageFragments for
      concurrent and for efficiency to avoid O(n**2) behavior
    - Don't delay in OutboundMessageFragments at the end
      of the loop if we have more to send now, this should
      speed things up
    - Queue a new send immediately after a packet is acked
    - Send session destroy message when dropping connection
    - Increase large MTU to 1492 (was 1350)
    - Cleanups, log tweaks, javadocs, final

zzz's avatar
zzz committed
* 2011-08-23 0.8.8 released

2011-08-23 zzz
  * Tweaks after review

zzz's avatar
zzz committed
2011-08-21 zzz
  * RateStat: Cleanups and javadoc fixes
  * susimail: Fix page encoding

  * Translations:
    - New Danish and Ukranian translations from transifex
    - Update Italian, Chinese, Spanish, Polish, Swedish,
      and Vietnamese translations from transifex
    - Update .tx/config
zzz's avatar
zzz committed
2011-08-19 zzz
  * Soft restart:
    - Allow NTP to reinitialize clock after the comm system
      in the first minute of uptime
    - Fix i2ptunnels not restarting
    - Increase minimum forward clock shift for soft restart
    - Reduce minimum backward clock shift for soft restart
    - Signal the I2CP client with a different message when restarting
    - I2CP client reconnects when receiving restart message

2011-08-17 kytv
  * Fix #506: Don't attempt to load systray4j when using a 64bit JVM
    in Windows.

  * Console: Tweak logs page CSS
  * Graphs: Delete corrupt rrd file (ticket #483)
  * UPnP: Fix bug causing failure when the PC has multiple interfaces

2011-08-06 kytv
 * Fix #473 (wrapper.logfile set to the wrong path in Windows).

2011-07-31 zzz
  * Crypto: Implement and then comment out an alternate
            AES-256/CBC implementation using the JVM crypto libs,
            and tests, it isn't faster
  * Netdb: Add a job to refresh all the old router infos at startup,
           to speed integration

2011-07-30 kytv
kytv's avatar
kytv committed
 * Installer:
   - add libjbigi*core*jnilib, libjbigi-osx-none_64.jnilib, and
     libjbigi-linux-ppc.so
   - Add Linux PPC wrapper
 * Add linux-ppc to NBI.
 * Remove unused lock

zzz's avatar
zzz committed
2011-07-29 zzz
  * Netdb Search:
    - Follow all DSRM's, not just the last one, by moving the code
      from the match job to the selector
    - Update peer profile after SingleSearchJob
    - Cleanups, javadocs, log tweaks, final
  * ProfileOrganizer: Tweak fast tier size

2011-07-28 zzz
  * Context: Split up big lock to avoid deadlocks
  * Streaming: Avoid a rare exception on race
  * TunnelPoolManager: Reduce race window for restarting a tunnel pool

kytv's avatar
kytv committed
2011-07-27 kytv
  * Add armel (armv5tejl) wrapper. Compiled and tested in Debian Squeeze.

zzz's avatar
zzz committed
2011-07-26 zzz
  * Installer: The previous wrapper files only work on armv7
  * NativeBigInteger: Move libjbigi-linux-arm.so to libjbigi-linux-armv7.so,
                      do ARM version detection in NBI.
zzz's avatar
zzz committed
  * NetDB:
    - Explore even more aggressively at startup
    - Increase SingleSearchJob timeout
    - Increase time at startup for processing DSRM
    - Cleanups, final, javadoc, concurrent
  * OutNetMessage: Cleanups
  * Tunnels: Change another log error to a warn
  * Watchdog: Improve the way it calls for a thread dump

2011-07-22 kytv
  * Add a 64bit wrapper to OSX. With 0.8.7 came a fat Mac wrapper with i386 and PPC.
    The included wrapper is now quad-fat (i386, ppc, x86_64, and ppc64).

2011-07-21 zzz
  * Atalk: Remove this terrible example
  * Console: Use capability method for counting integrated peers
  * i2psnark: Don't let connection problem crash the DirMonitor (ticket #495)
  * Netdb: Speed up collection of all the floodfill peers by using
           PeerManager.getPeersByCapability()
  * PeerManager: Capability cleanups
  * Tunnel TestJob:
    - Don't continue testing after the pool is dead
    - Tweak test intervals
  * TunnelPool: Make more methods package private

zzz's avatar
zzz committed
2011-07-18 zzz
  * FileUtil: Add a rename method and a new copy method
  * I2PTunnel: Rename privkey file when deleting tunnel to prevent inadvertent reuse
  * Netdb: Update reseed lists
  * Streaming: Improve conn limit log message
  * UDP: Lower max port below 31000 since wrapper uses that

zzz's avatar
zzz committed
2011-07-15 zzz
  * Shutdown:
    - Cancel our JVM shutdown hook when shutting down
    - Run a spinner task so shutdown always completes
    - exit() instead of halt() so other JVM shutdown hooks run
    - Prevent duplicate wrapper notifier hooks
    - Notify the wrapper twice, once for stopping and once for stopped

zzz's avatar
zzz committed
2011-07-13 zzz
  * Blocklist:
    - Fix delayed lookup of reason from file
    - Tag strings for translation
    - Sort IPs on configpeer.jsp correctly
  * SummaryHelper: Fix NPE at startup (ticket #493)

2011-07-10 zzz
  * DH, YK:
    - Improve YK speed test
    - Shut down thread faster
    - Refiller keeps going until full
    - Cleanups
  * I2PTunnel: Fix a shutdown hang
  * Message Registry: Clear pending messages at restart / shutdown
  * OCMOSJ: Clear caches at restart
  * Router Clock: First cut at recognizing and reacting to large system
    clock shifts by partially restarting the router. Also improve
    restarts initiated from config.jsp
    Tickets #465, #468, #494
  * UPnP:
    - Wait for a while to ensure port removal at shutdown or restart
    - Fix device rediscovery and port opening after restart

zzz's avatar
zzz committed
2011-07-08 zzz
zzz's avatar
zzz committed
  * Findbugs: Several fixes and cleanups
  * I2NP: Consolidate common code from TunnelBuildMessage and
          TunnelBuildReplyMessage into a common base class
zzz's avatar
zzz committed
  * NetDB, TestJob: Fix NPEs at startup (ticket #493)
zzz's avatar
zzz committed
  * Sha256Standalone:
    - Use system SHA-256 MessageDigest instead of Sha256Standalone in PRNG
    - Deprecate DataHelper functions using Sha256Standalone arguments;
      used only by Syndie
    - Note deprecation in javadocs

zzz's avatar
zzz committed
2011-07-07 zzz
  * Blockfile:
    - Log error on out-of-order spans
    - Log error on corrupt level and discard
    - Fix SkipSpan non-flush bug causing null levels
    - Add level fixer that repairs nulls and out-of-order levels
    - Fix bug on backwards span construction, not hit in practice
    - Lots of log level changes

zzz's avatar
-5  
zzz committed
2011-07-06 zzz
  * EepGet: Add method to add extra headers to request
  * Floodfills: Increase again
  * HTTP Proxy: Fix error on shutdown
  * NamingService: Use HostsTxtNamingService if default fails to initialize
  * Netdb: Catch exception on dup netdb entries
  * Netdb exploration:
    - Remove floodfills from dont-include list in exploration
      DatabaseLookupMessage, as the dont-include-floodfills flag
      has been supported since release 0.7.9.
      This will make exploration work better, as there is room for
      non-floodfills in the don't-include list now.
    - Reduce min and max exploration intervals
    - Explore aggressively at startup and if known routers is low
    - Explore slowly if known routers is high
  * PeerManager: Load profiles in separate thread to avoid slowing
                 down the context initAll()
  * Tunnels: Use exploratory tunnels to help maintain a minimum number
             of connected peers

2011-07-03 zzz
  * AppContext: Add hasWrapper() method
  * Shutdown:
    - Clear more resources in peer manager, netdb, stat manager,
      session key manager, naming service, tunnel dispatcher,
      OCMOSJ (result of testing with jvisualvm)
    - Don't call wrapper on shutdown (starting two threads) if we
      were started with runplain

2011-07-01 zzz
  * EepGet:
    - Fix error output bug
    - Output error data for 504 too
  * I2PThread: Remove logging, too many issues with extra contexts
  * Router, console, i2psnark: Change three errors to warns (tickets #479, #482, #487)

2011-06-30 zzz
  * BlockfileNamingService:
    - Support readonly blockfiles
    - Open blockfile readonly if not in router context
    - Log warning if blockfile is locked
    - Set as default
  * DataHelper: Throw IOE if uncompressed data too big,
    instead of silently truncating
  * EepGet:
    - Add method to get response code
    - Add method to write error data to the output
    - Increase buffer size to 8 KB
    - Trim content type
  * IRC Server: Send a message back if the tunnel is up but the server is down
  * NewsFetcher: Change default interval to 36 hours
  * Random: Refactor refiller for concurrent
  * Shutdown:
    - Register shutdown hooks for caches, in the first step of cleaning up
      resources on shutdown, which is important in Android as the JVM
      isn't going away.
    - Clear profiles from memory on shutdown
    - Add shutdown hook for AsyncFortunaRandomSource
    - Implement and call shutdown for BandwidthRefiller
    - Implement and register shutdown hook for i2ptunnel
    - Implement and register shutdown hook for Jetty console server
    - Implement and register shutdown hook for Timestamper
    - Fix UPnP-SSDPNotifySocket thread not stopping
    - Fix all but one UDP PacketHandler threads not stopping
    - Fix i2psnark DirMonitor not stopping
    - Fix UPnP-Disposer not stopping quickly
    - Implement and call YKGenerator and DHSessionKeyBuilder shutdown
    - Implement and call shutdown for RouterWatchdog
    - Kill the global app context
    - Recognize multi-router case
    - Fix RandomIterator, YKGenerator, DHBuilder, NTCPConnection
      hanging on to old context
    - Fix DHBuilder thread not stopping
    - Stop I2PThread from starting a new App context at shutdown
    - Stop LogWriter from starting a new App context at shutdown
    - Have router kill any leftover App context at startup
    - Fix I2PThread hanging on to old context
  * Updates:
    - Add the router version to the zip file comment in the updater
    - Add a class to extract the zip file comment
    - Require the sud version header to match the zip file comment
      to prevent spoofing of the version number, since the version
      number in the header is not covered by the sud signature.

zzz's avatar
zzz committed
* 2011-06-27 0.8.7 released

zzz's avatar
zzz committed
2011-06-26 zzz
  * Fixes after review:
    - Fix Polish po file
    - Install as a service by default on Windows again
    - Change CPUID getters to package private
    - Split new jbigi install messages into two lines
    - Test script updates
    - Javadocs

zzz's avatar
zzz committed
2011-06-23 zzz
  * IRC: Allow outbound INVITE

2011-06-21 kytv
  * Make the i2prouter script fail more gracefully if there's
    a problem loading the wrapper.

2011-06-14 zzz
zzz's avatar
zzz committed
  * Build: New targets for including jbigi in the updater
  * Console: CSS tweak for flag box
  * i2psnark: Recognize ktorrent
  * Jbigi / NBI / wrapper / installer:
    jbigi and wrapper files for arm.
    Compiled on trimslice with gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5)
    Log postinstall errors to postinstall.log.
zzz's avatar
zzz committed
  * NetDB: Increase floodfills and better adjustment based on available memory
  * RateStat: final
zzz's avatar
zzz committed
  * Router: Delete old libjbigi.so and libjcpuid.so at startup if jbigi.jar is newer.
            This will force a reextraction by CPUID and NBI.
duck's avatar
duck committed
2011-06-13 duck
    * Finnish, Italian, Polish and Vietnamese translations, thanks Transifex teams.

2011-06-13 zzz
   * To ensure we don't release bad packages, fail the build
     if gettext fails. Change property at top of build.xml if
     you don't have gettext and want the build to continue.

kytv's avatar
kytv committed
2011-06-12 kytv
   * Add jcpuid files (32 & 64bit) for Intel Macs
   * Compile jbigi-osx-none for Intel Macs. libjbigi-osx-none.jnilib
     is now a fat binary combining the already existing PPC
kytv's avatar
kytv committed
     compile and my new x86 build.
2011-06-11 zzz
    * i2psnark Polish translation, thanks polacco

2011-06-10 zzz
    * CPUID, NativeBigI: Add support for atom, core2, corei, nano, pentiumm, geode
    * Random: Add config setting prng.bufferSize to override the default 256 KB
    * JBigI:
      - Add new libjbigi-linux-xxx.so files built by sponge, now that we have
        CPUID.java support for them (thanks hottuna).
        See http://zzz.i2p/topics/306 for discussion and test results.

        64-bit processors (atom, core2, corei, nano):
        Built with GMP 5.0.2. License is LGPLv3.
        Built by sponge with GCC 4.4.4, downloaded from
        http://sponge.i2p/files/jbigi/gmp-5.0.2/
        For 64-bit processors, both performance testing and
        the GMP changelog http://gmplib.org/gmp5.0.html led us to use 5.0.2
        for both the 32- and 64-bit versions, even though the files are twice as big.
        5.0.x contains specific optimizations for atom and nano.
        All 64-bit libs have _64 appended.

        32-bit processors (pentiumm, geode):
        Built with GMP 4.3.2. License is LGPLv3.
        Built by sponge with GCC 4.4.4, downloaded from
        http://sponge.i2p/files/jbigi/gmp-4.3.2/
        The 4.3.2 files are half the size of those built with GMP 5.0.2, and there was
        little or no performance difference between the two versions for 32 bit processors.
    * NBI: Enable 64-bit processor detection
    * Profiles: Skip and delete a corrupt profile read from disk

2011-06-10 kytv
   * jcpuid & jbigi added for 64bit Windows (only used with a 64bit jvm).

kytv's avatar
kytv committed
2011-06-09 kytv
   * Added an x64 wrapper for Windows. This is needed because a 32bit wrapper
     cannot start a 64bit JVM.

2011-06-08 zzz
    * Build:
      - Add standard manifest to jbigi.jar
      - Don't do 'mtn list changed' if not in a workspace or not needed
    * LogManager: Use DataHelper methods for loading and storing config
    * Update jbigi/jcpuid Windows dlls. As was done for FreeBSD and Linux, the
      libraries for 32bit CPUs were linked against gmp-4.3.2 and those for the
      64bit CPUs were linked against gmp-5.0.2.

2011-06-07 kytv
    * Upgrade the wrapper to 3.5.9. Noticable changes include:
      - FreeBSD amd64 is now a supported arch along with i386. To use the wrapper
        with the most recent version of FreeBSD the port 'misc/compat6x' will need
        to be installed.
      - OSX: Both Intel and PPC Macs are supported. 32-bit support. If you'd like 64-bit
        support, please file a bug in trac with the output of "uname -m".
    * Upgrade jbigi/jcpuid for FreeBSD i386 and add support for amd64. As was done with
      the Linux compiles, 32bit compiles were linked with gmp 4.3.2 and 64 bit builds
      (as well as 32bit builds for 64bit cpus) were linked against gmp 5.0.2.

2011-06-06 zzz
    * Drop andorid/ directory; further development will happen in
      an android-only branch.

zzz's avatar
zzz committed
2011-06-05 zzz
    * Console: Tag stat descriptions at declaration rather than in Strings.java
    * Data: Remove duplicate signature verification code
            in RouterInfo and LeaseSet
    * DSAEngine: Add code for alternate implementation using Java libs;
                 disabled by default. Add test code to verify identical results
                 and compare speed.
    * JBigI:
      - Replace old non-PIC 32-bit linux libs (GMP 4.1.3 built in 2004)
        with PIC libs built with GMP 4.3.2. License is LGPLv3.
        Built by sponge with GCC 4.4.4, downloaded from
        http://sponge.i2p/files/jbigi/gmp-4.3.2/
        The 4.3.2 files are half the size of those built with GMP 5.0.2, and there was
        little or no performance difference between the two versions for 32 bit processors.
        See http://zzz.i2p/topics/306 for discussion and test results.
      - Replace old non-PIC 64-bit linux libs (GMP 4.1.4 built in 2005)
zzz's avatar
zzz committed
        with PIC libs built with GMP 5.0.2. License is LGPLv3.
        Built by sponge with GCC 4.4.4, downloaded from
        http://sponge.i2p/files/jbigi/gmp-5.0.2/
        For 64-bit processors, both performance testing and
        the GMP changelog led us to use 5.0.2 for both the 32- and 64-bit versions,
        even though the files are twice as big.
        See http://zzz.i2p/topics/306 for discussion and test results.
        libjbigi-linux-athlon64.so was a 64 bit file; by the new naming standard
        supported by NativeBigInteger, it is now a 32-bit file and the
        64-bit one is libjbigi-linux-athlon64_64.so.
        All new 64-bit libs will have _64 appended.
      - Remove libjbigi-windows-athlon64.dll which was a duplicate of libjbigi-windows-athlon.dll;
        NBI now tries athlon as a fallback for all 64-bit processors.
      - Update build docs

zzz's avatar
zzz committed
2011-06-04 zzz
    * NBigI: Recognize Android
    * KeyGenerator: Restore old return type to not break ABI (thx kytv)
    * Router:
      - Add a lock for reading/writing the router.info file
      - Check our RouterInfo validity after reading and before saving,
        to catch fatal errors sooner

2011-06-03 zzz
    * Android: More build updates, start working on JNI for GMP
    * Build: Fix dependency issue cause by misspelled file name

2011-06-02 zzz
    * Android: Build fixes
    * Crypto:
      - HMAC Javadocs and cleanups
      - HMAC Use SimpleByteCache
    * ElGamalAESEngine: Fixups required after SessionKey enforcement
    * Reseed: Give up on a seed after 90% of fetches fail
    * SessionKey: Enforce data size and prevent reuse

2011-06-02 sponge
    * Remove txt file in BOB.jar as per zzz's request.

zzz's avatar
zzz committed
2011-06-01 zzz
    * Crypto:
      - Use java.security.MessageDigest instead of bundled GNU SHA-256 code
        if available, which it should always be.
        5 to 20% faster on Oracle JVM; 40 to 60% on Harmony;
        5 to 15% on JamVM; 20x (!) on GIJ.
      - Use java.security.MessageDigest instead of bundled Bitzi SHA-1 code
        if available on non-Oracle JVMs, which it should always be.
        Not faster on Oracle JVM; 30 to 60% faster on Harmony;
        15 to 20% on JamVM; 10-15x (!) on GIJ.

2011-06-01 sponge
    * ConfigClients stopClient stubbed out.

2011-06-01 sponge
    * Re the below, using better way that kytv suggested.
      There is more than one way to peel a pineapple...

2011-06-01 sponge
    * Remove the one little html file that ends up in BOB.jar.
        The file is NOT a javadoc file, it is a package file.
2011-05-31 zzz
    * HTTP Proxy: Don't send redirect for POST (thx kytv)
zzz's avatar
zzz committed
    * jbigi: Add support for solaris
zzz's avatar
zzz committed
2011-05-30 zzz
    * I2CP:
      - Append I2CP Version information to the Get/Set Date Messages,
        so that both the router and client are aware of the other side's version,
        and future protocol changes will be easier to implement.
        Previously, router version information was not available to the client,
        so when router and client were in different JVMs,
        old clients would work with new routers
        but new clients would not work with old routers.
        After this change, we can design future changes so that new clients
        will work with old routers.
        This is an enhancement to the old protocol version byte sent by the client,
        which we have never changed and probably never will.
      - Prevent a client from setting the router's clock
      - Javadocs
    * i2psnark: Restrict swarm size for small torrents
    * netDb: Don't refetch expiring router infos if we have enough

2011-05-28 zzz
    * i2psnark: Fix bug preventing Robert from connecting to snark (thx sponge)

zzz's avatar
zzz committed
2011-05-27 zzz
    * Console: Fix router.updateThroughProxy being set to false after saving
               change on /configupdate when install dir is read-only.
               (ticket #466)
    * EepGet:
      - Fix redirect loop (thx kytv)
      - Reset redirect counter when retrying
zzz's avatar
zzz committed
    * JBigI:
      - Refactor to handle 64 bit libs and a list of fallback libs
      - Logging tweaks
      - Only check for one file name in library path
    * CPUID:
      - Recognize amd64 as x86
      - Only check for one file name in library path

2011-05-25 zzz
    * CPUID: Load 64-bit libcpuid if available
    * HTTP Proxy: Address helper refactoring, address book add form
zzz's avatar
zzz committed
    * JBigI:
      - Start updating NativeBigInteger
      - Remove k63 libs that are dup of k62; handle in NBI
    * Naming: B32 fixes
    * NetDB: Increase floodfills again

zzz's avatar
zzz committed
2011-05-23 zzz
    * Console:
      - Disable zh translation in graphs on windows due to font issues
      - Force news refetch after URL change
      - Fix NPE at startup
      - Graph tweaks

2011-05-23 sponge
    * mbuild.sh fixups
    * add new jcpuid/mbuild.sh -- pedantic naming
    * jbigi/mbuild-all.sh -- pedantic naming
    * see also http://zzz.i2p/topics/306?page=1#p3341

2011-05-22 zzz
    * GeoIP: Read countries.txt in UTF-8
    * Jetty: Fix build error that omitted local jetty patches from org.mortbay.jetty.jar;
             affected 0.8.4 and 0.8.6 installers. Include jar in the updater for the next release.

2011-05-21 sponge
    * mbuild.sh document and fixes
    * mbuild-all.sh add cpu types

zzz's avatar
zzz committed
2011-05-20 zzz
    * Certificate: Fix creation bug; improve router cert generation
    * DataHelper:
      - Undeprecate fromProperties() and toProperties()
      - Undeprecate BOOLEAN_FALSE and BOOLEAN_TRUE
      - Fix fromProperties() and toProperties() to correctly throw DataFormatExceptions
      - Add sort option
      - Efficiency improvements in writeProperties(), toProperties(), storeProps(), and toString()
      - Fix encoding issues (ticket #436)
    * i2ptunnel: Fix server-side stripping of X-Accept-encoding
    * Jbigi / JCPUID:
      - Remove nativeDoubleValue(), update jbigi README
      - Unbundle jbigi.jar, create at build time
      - Add support for new Intel family/model names.
      - Add proper support for using Core2 machines as P4.
      - Add support for identifying SSE 3/4.1/4.2/4A support on CPU.
      - Rewrite cpuid.c so it builds with PIC (source only, binary not updated yet)
    * LogManager: Try to prevent out-of-order logging at shutdown
    * Naming Services, Addressbook, and SusiDNS:
      - Add new API for Naming Services to support modifications
      - Redesign HostsTxt NS as an interface to three
        SingleFile NSs, one for each text file
      - Add locking to SingleFile NS
      - Redesign SusiDNS and addressbook to interface to the API
        instead of accessing files directly
      - SusiDNS requests addressbook update via the NS API
      - Redesign addressbook to reduce memory usage when processing subscriptions
      - Redesign SusiDNS to use much less memory by not loading in the whole
        addressbook where possible
      - Add new Blockfile NS for an on-disk database of hosts
        Based on the BlockFile database:
        http://www.metanotion.net/software/sandbox/block.html
        with substantial enhancements to lower memory usage
        and improve exception handling
      - Remove old unused AddressDB NS, FilesystemAddress NS, and PetName NS.
      - Restructure Dummy NS and Meta NS
      - Redesign NS caching to use an LRU map
      - SusiDNS checks for invalid host names
      - SusiDNS IDN conversion and better support for non-ASCII host names
      - Add b32 links in SusiDNS
      - HTML fixes and cleanups in SusiDNS
      - SusiDNS message and tagging cleanups
      - SusiDNS new details page
    * Stats and Graphs:
      - Update to JRobin 1.5.9.1
      - Major rework required for 1.5.9 API
      - Disable graphs in JVMs that crash with 1.5.9 (gij, JamVM, Harmony)
      - Make graph data persistent (3 month RRD on disk),
        with option to disable
      - Improve error handling
      - Disable graph page refresh when appropriate
      - Fix HTML errors
      - Add restart marker on graphs
      - Restore zh text on graphs
      - Improve form save messages
      - Add expires directive to graphs
      - Refactor handling of required stats
      - Clean up / shorten description for required stats
      - Change bw.sendBps and bw.receiveBps from KBps to Bps

zzz's avatar
zzz committed
* 2011-05-16  0.8.6 released

2011-05-13 zzz
    * Increase min floodfills; decrease min routerinfo expiration

2011-05-11 zzz
    * Use partitions of fast tier for various hops of client tunnels

zzz's avatar
zzz committed
2011-05-06 zzz
    * Tunnels and profiles:
      - Increase max fast and high-cap tier sizes
      - Slow profile eval cycle after sufficient uptime
      - Fix bug which started a new build after a successful build
      - Misc. cleanups

zzz's avatar
-1  
zzz committed
2011-04-28 zzz
    * Console: Try to prevent cascaded IllegalStateExceptions in .jsp code;
      add logging for original error
    * peers.jsp: Tag UPnP strings
    * UPnP: Strip trailing nulls from incoming XML to prevent
      "content not allowed in trailing section" exceptions

zzz's avatar
zzz committed
* 2011-04-18  0.8.5 released

2011-04-11 zzz
    * Console: Hide iframe on mobile browsers
    * DataHelper: Speed up eq() (Ticket #437)
    * HTTPServer: Strip inbound X-Accept-Encoding header
    * netdb.jsp: HTML fixes
    * Plugins: Log error when console server not found
    * Reseed: Log tweak

m1xxy's avatar
m1xxy committed
2011-04-02 m1xxy
zzz's avatar
zzz committed
    * routerconsole, i2psnark, ...  I2P ahora también en español: ¡Bienvenidos los hispanohablantes!
m1xxy's avatar
m1xxy committed
      - routerconsole, i2ptunnel, i2psnark, SusiDNS, Susimail fully translated into Spanish
        (thx to PunkiBastardo and user)
    * routerconsole, i2psnark, ...
m1xxy's avatar
m1xxy committed
      - French translations completed by magma
zzz's avatar
-8  
zzz committed
2011-03-22 zzz
    * Handle GNU JRE returning Long.MAX_VALUE for max memory
    * i2ptunnel: HTML fixes

2011-03-20 zzz
    * Console: Remove cache directives
    * i2psnark: Fix peers stuck at uninteresting after metainfo fetch
    * i2ptunnel: Change all clients to 3 hops by default (new installs only)
    * Profiles:
      - Nicer profile dump
      - More efficient profile lookup for display
      - Fix dumpprofile NPE
      - Change file suffix from .dat to .txt.gz
      - Set firstHeardAbout on creation
    * Rate: Fix equals()
    * Recognize links and links2 as text browsers

zzz's avatar
-6  
zzz committed
2011-03-12 zzz
    * Blocklist: Add bogons since they won't change any more
    * BuildHandler: Loop double-check
    * Console:
      - Fix HTML errors in form message box,
        logs.jsp, netdb.jsp, profiles.jsp, stats.jsp,
        configpeer.jsp, configtunnels.jsp, configupdate.jsp
      - ngettext cleanups
    * LogWriter: Prevent NPE after permissions fail

duck's avatar
duck committed
2011-03-11 duck
    * Susimail: translation support, including dutch translation.

zzz's avatar
zzz committed
2011-03-10 zzz
    * configclients.jsp: Split form up, fix HTML warnings
    * configui.jsp: Fix lang setting broken by previous nonce change
    * Console: Consolidate nonce handling
    * eepget: Don't send X-Accept-Encoding header to proxy (ticket #422)
    * logs.jsp: Fix NPE (ticket #430)
    * netdb.jsp: Fix table alignment
    * Tunnel Preprocessor: Use entropy for padding more efficiently

zzz's avatar
zzz committed
2011-03-08 zzz
zzz's avatar
zzz committed
    * Clock: Cleanups and javadocs
zzz's avatar
zzz committed
    * Console:
      - Parameterize download button tags (ticket #425)
      - Clean up summary bar HTML warnings
      - Just display a summary bar link for text browsers
      - Move welcome div from the readme files to index.jsp
      - Require a nonce to change language
zzz's avatar
zzz committed
    * EepGet: Cleanups and javadocs
zzz's avatar
zzz committed
    * i2psnark:
      - More efficient metainfo handling, reduce instantiations
      - Improved handling of storage errors
      - Improved handling of duplicate file names
      - More metainfo sanity checks
      - Metadata transfer error handling improvements
      - Code cleanup, remove dead and duplicated code
zzz's avatar
zzz committed
    * Reseed: Use the reseeder as a clock source
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2011-03-02 zzz
    * BuildHandler:
      - Limit request queue size
      - Concurrent request queue
zzz's avatar
zzz committed
      - Remove dead code for queued reply handling
zzz's avatar
zzz committed
    * OutNetMessage: Remove dead code
    * Tunnel cleanups, final, javadoc

zzz's avatar
zzz committed
* 2011-03-02  0.8.4 released

zzz's avatar
zzz committed
2011-02-27 zzz
    * Console:
      - Fix numerous readme HTML errors
      - Fix flag locations in readmes
      - desktopgui.enable now defaults to false; run systray if false
      - Start icon app before console
      - Restore systray form in configservice.jsp
      - Only save lang when clicking on flags if desktopgui is running
      - Only allow two-letter lang code from cgi parameter
    * Reseed: Disable HTTPS until we have enough working hosts again

zzz's avatar
zzz committed
2011-02-24 zzz
    * i2psnark:
      - Fix delete and remove buttons for Opera and w3m
      - Stop torrent if no valid trackers
      - Fix war build dependencies

zzz's avatar
zzz committed
2011-02-23 zzz
    * BuildHandler:
      - Lower participating throttler max limit
      - Cleanups and loop checks
    * Console: Fix summary bar HTML error
zzz's avatar
zzz committed

2011-02-22 zzz
    * BuildHandler: Prelmiinary participating tunnel throttler
    * I2PTunnel:
      - Add spellcheck=false to textareas
      - Fix HTML error in 503 error page

2011-02-19 zzz
    * I2PTunnel: Fix standalone server tunnels
                 http://forum.i2p/viewtopic.php?t=5376
    * Plugins: Fix signature verification if router.config specifies
               trustedUpdateKeys (ticket #416)
mathiasdm's avatar
mathiasdm committed
2011-02-18 Mathiasdm
    * Desktopgui now has an option to be disabled (desktopgui.enabled)
2011-02-17 zzz
    * Build:
      - Add includeAntRuntime=false to all javac targets
      - Add build date, mtn rev, and changed file list to all manifests
      - Add unless=uptodate to all jar and war targets
        (bob and dtg still todo)
    * Console: Add Arabic
    * i2ptunnel: outproxy2 -> outproxyng (Ticket #394 take 2)

zzz's avatar
zzz committed
2011-02-15 zzz
    * i2psnark: Details link shuffle, mostly restore 0.8.3 behavior
    * Profiles: Punish rejections more, in an attempt to spread the
                load more through the network
    * Timers: Log cleanup

2011-02-14 Mathiasdm
    * Fix headless issue without reboot

2011-02-13 zzz
    * Connect Client: Minor NPE fix cleanup
zzz's avatar
zzz committed
    * JobQueue: Prevent NPE at shutdown (thanks liberty)
    * GeoIP: Prevent startup NPE (ticket #413, thanks RN)
    * NetDB: Prevent ExpireLeaseJob NPE (thanks sponge)

2011-02-11 Mathiasdm
    * routerconsole: fixed graphs using jrobin; and headless issue
          in general: no more switches between headless and non-headless.

2011-02-11 sponge
    * I2PTunnel: fix NPE in I2PTunnelConnectClient

2011-02-10 sponge
    * I2CP: fix NPE in QueuedClientConnectionRunner

zzz's avatar
zzz committed
2011-02-10 zzz
    * I2CP: Correctly close internal connections on the router side
            when closed by the client, was causing massive memory leak
            for internal clients using lots of sessions (thanks sponge)
zzz's avatar
zzz committed
            (ticket #397)
zzz's avatar
zzz committed
    * i2psnark:
      - Improved magnet link parsing, use tr parameter if present
    * i2ptunnel: Change shared clients default for new clients to false
    * Streaming: Don't use iter.remove() on a COWAS

2011-02-09 sponge
    * BOB: fixup delivery in config, adds config file versioning.
    * I2CP: Fix most of the I2CP leaks. Two leaks remain, but they are small.
            net.i2p.internal.QueuedI2CPMessageReader and
            net.i2p.router.client.I2CPMessageQueueImpl
            are the two remaining leaks.

zzz's avatar
zzz committed
2011-02-07 zzz
    * i2psnark:
      - Check for dup magnet torrent when adding torrent file
      - Add exotrack.i2p (ticket #403)
      - Disable spellcheck in textarea
    * i2ptunnel: Generate error message when i2ptunnel.config save fails
                 (ticket #404)

2011-02-06 zzz
    * i2psnark: Fix maggot links, and magnet links with trailing parameters (thx user)

zzz's avatar
zzz committed
2011-02-05 zzz
    * .mtn-ignore: New, to make it harder to check in stuff you shouldn't
    * BOB: Drop checked-in build dir
    * i2psnark:
      - Big refactor to support torrents where only the infohash is known
        (i.e., added by magnet links)
      - Big refactor to use accessors instead of public fields
      - Add support for metadata transfer (BEP 9) via the
        extension protocol (BEP 10)
      - Add support for adding torrents via standard magnet links (BEP 9)
        and "maggot" links (http://sponge.i2p/files/maggotspec.txt)
      - Add support for peer exchange (i2p_pex)
      - Add stubs for future DHT support (BEP 5)
      - Add more information on torrent details page;
        add details page for single-file torrents
      - Make filename filtering consistent (ticket #368)
      - Fix add-torrent locking (ticket #371)
      - Fix opentracker configuration
      - Add several connect-to-self checks
      - Add support for using new I2CP bandwidth limiter
      - Add support for using new in-session I2CP naming lookups
      - Don't expire outbound Piece messages, since we now defer loading the
        data from disk
    * i2ptunnel:
      - Change connect proxy default to outproxy2.h2ik.i2p (ticket #394)
zzz's avatar
zzz committed
      - IRCClient: Use tunnel log instance
      - Server: Full queue log tweak

zzz's avatar
zzz committed
    * Build:
      - Remove dup flag files (ticket #316)
      - Remove BOB dependency on i2ptunnel
    * Console: Add DTG to classpath for old installs
    * I2PTunnel: Fix NPE
    * RandomSource: Fix seeding from /dev/urandom
    * Reseed: Limit time spent downloading from a single source

sponge's avatar
sponge committed
2011-02-02 sponge
    * BOB: Revise lookup code, bump BOB version

2011-01-31 zzz
    * Console: Put all socket handlers in same thread pool,
               set min/max threads and idle timeout
    * Context: Fix properties init
    * DataStructures:
      - Cleanups
    * DecayingBloomFilter, DecayingHashSet: Cleanups and speedups
    * Findbugs: Lots of cleanups
    * I2CP:
      - Add experimental bandwidth limiter
      - Add I2PSession API method to update tunnel and bandwidth
        configuration on an existing session
      - Filter more system properties before passing them to the router
      - Start work on passing per-message flags to the router via I2CP
    * I2PAppContext: New getProperties() method
    * i2ptunnel:
      - Use context properties as defaults
    * NetDB, DatabaseStoreMessage:
      - Convert everything from DataStructure to the
        new DatabaseEntry superclass
      - Optimizations made possible by DatabaseEntry
      - Don't rescan netDb directory unless changed
    * OCMOSJ:
      - Don't send expired messages
      - Clean up stat init
    * PeerManager: Make calculators static, take out of router context
    * Router:
      - Add new RandomIterator, use in UDP, peer selector,
        profile organizer
      - Add a stat to monitor peer selector run time
    * RouterContext: Clean up clock overrides
    * Streaming:
      - Add new real sockets for easier porting of apps.
        See http://zzz.i2p/topics/792 for info. Untested.
      - Case cleanups
      - Javadoc

zzz's avatar
zzz committed
* 2011-01-24  0.8.3 released

zzz's avatar
zzz committed
2011-01-16 zzz
    * Console: Allow editing of console args
    * UDP: Prevent rare startup NPE
    * UPnP:
      - Change all log errors to warns (tickets #76, #95, #120)
      - Double socket soTimeout to 2 seconds

2011-01-15 zzz
    * Console: Add some HTTP headers in the view servlets

2011-01-12 zzz
    * Log: Fix rare initialization problem
    * PrivateKey: Fix hashCode()

zzz's avatar
zzz committed
2011-01-09 zzz
    * DataHelper: Speed up and annotate sortStructures()
    * Data Structures: More caching improvements, don't cache where we shouldn't
    * NetDB: Don't rescan netDb directory unless changed,
             to reduce Hash cache thrash (backport from test4)
    * RouterInfo:
      - Don't cache byteified data by default, to save ~1.5 MB
      - Don't create empty peers Set, to save ~100KB

zzz's avatar
-9  
zzz committed
2011-01-07 zzz
    * Data Structures: More caching
    * i2psnark: Improve request tracking to reduce memory usage

zzz's avatar
zzz committed
2011-01-05 zzz
    * build.xml: Fix findbugs target
    * Fix some miscellaneous findbugs bugs
    * i2psnark: Refactor request tracking to prevent possible deadlocks
    * OCMOSJ: Fix cache bug
    * TrustedUpdate: Fix key store bug

zzz's avatar
zzz committed
2011-01-02 zzz
    * Console: Disable spellcheck in textareas
    * Data Structures: More tweaks
    * I2CP: Fix BWLimits Message reply in standard session

2010-12-31 zzz
    * Console:
      - Make themes and history.txt return 403 on error,
        not 500, to avoid the new error page
      - Add logging, enable with routerconsole.log=filename
      - Link to full history.txt on help page
    * Data Structures: Caching cleanups
    * Datagram Dissector: Fix RuntimeException caused by reuse,
                          preventing iMule from connecting on UDP
                          (thanks devzero)
    * i2psnark:
      - Send cache directive for in-war icons
    * OCMOSJ: Refactor cache keys for efficiency

zzz's avatar
zzz committed
2010-12-30 zzz
    * Data Structures:
      - New SDSCache for SimpleDataStructures
      - New SimpleByteCache for byte[]
      - Cache Hash, PublicKey, and SigningPublicKey
      - Remove global lock in ByteCache
    * I2CP: Missing piece of parallel naming lookup
    * i2psnark: Fix buttons on Firefox 4.0b
    * i2ptunnel:
      - Use dropdown box to select interface for clients
      - Warn on index page if required fields not set

zzz's avatar
zzz committed
2010-12-29 zzz
    * Console: Add 500 error page
    * DSAEngine: Restore variants of methods using a Hash argument,
                 required by Syndie, removed in 0.8.1
zzz's avatar
zzz committed
    * Reseed:
      - Add new configreseed page
      - Add StartCom CA cert required for www.i2pbote.net

zzz's avatar
zzz committed
2010-12-27 zzz
    * Crypto: Cleanups and fixups
    * Console:
      - Add SSL support - To enable, change clients.config. Examples:
          ## Change to SSL only: just add a '-s'
          clientApp.0.args=-s 7657 ::1,127.0.0.1 ./webapps/
          ## Use both non-SSL and SSL: add '-s port interface'
          clientApp.0.args=7657 ::1,127.0.0.1 -s 7667 ::1,127.0.0.1 ./webapps/
          ## ...and change URLLauncher args further down for the browser to open https:// at startup if you like.
      - Add a simple history.txt servlet
      - Add form for I2CP options on configclients.jsp
    * Context:
      - Add hook for internal I2CP
      - Change temp file random to Base64 http://zzz.i2p/topics/804
    * Data structure caching:
      - Use a single static null certificate in place of
        tens of thousands of them
    * graphs.jsp: Form tweaks, fix setting delay to 'Never'
    * I2CP:
      - Change from the internal pseudo-socket that was
        implemented in 0.7.9 to an internal Queue that directly
        passes I2CPMessage objects. For in-JVM clients,
        this eliminates two writer threads per client and
        avoids the serialization/deserialization of I2CP messages.
      - New option i2cp.disableInterface to turn off external I2CP port
        (7654) and allow internal clients only
      - I2CP over SSL, enable with i2cp.SSL=true
      - Bypass authorization for internal accesses
      - Move BWLimits and DestLookup message support from
        I2PSimpleSession to I2PSessionImpl
      - Include the Hash in the DestReplyMessage on a failed lookup
        so the client may correlate replies
      - Add support for parallel lookups and BWLimits requests
      - Add support for specifying the timeout for DestLookups
        (can only be smaller than the router timeout for now)
      - Extend dest lookup router timeout from 10s to 15s
zzz's avatar
zzz committed
    * i2psnark:
      - Backport TrackerClient NPE fix
      - Fix last piece length calculation for torrents > 2GB (ticket #361)
zzz's avatar
zzz committed
    * i2ptunnel:
      - Get Log from the logManager instead of instantiating,
        so we may adjust the levels on the fly
      - Better logging of server errors
      - Return 503 to client before closing i2p socket if server is not there
      - Extend header timeouts for HTTP and IRC server tunnels
      - Limit server blockingHandle threads
      - Run standard server blockingHandles inline
      - For clients, use a common thread pool that expires idle threads
        rather than keeping 5 accept() threads for each client.
      - Use pool for HTTP decompression also.
      - Disable router host/port options when in router context
      - Add blacklist, connection limit, and jump list options to edit form
    * Pack200: Find and use either Oracle or Apache library at runtime;
               neither required at compile time.
    * Router: Convert 'mark router liveliness' thread to SimpleScheduler
    * Stats: Change stat.full default to false
    * Threads:
      - Reduce thread pool sizes based on memory and/or bandwidth limits
      - Tweak some thread names for clarity
    * Update:
      - Change the UpdateHandler to try all sources in a loop, rather than one,
        so the user need not retry manually
      - For each source, fetch the first 56 bytes and check the version
        before downloading the whole thing, so we need not wait for every
        host to have the latest before updating the news.

2010-12-26 sponge
    * URI resource fixes from pre-review time from upstream prior merge
    * Evolve URI fixs another step.
    * Document how the URI path fix works.
    * Fix 302 redirects so they URL encode properly.
    * bump to -1

zzz's avatar
zzz committed
* 2010-12-22  0.8.2 released

z3d's avatar
z3d committed
2010-12-13 dr|z3d
    * Console themes: Midnight & Classic renovations.

zzz's avatar
zzz committed
2010-12-12 zzz
    * i2psnark:
      - Fix end-game deadlock
      - Fix last-modified check for multifile torrents, causing
        apparent loss of data after abnormal exit
      - Tweaks

zzz's avatar
zzz committed
2010-12-11 zzz
    * Build: Fix 'ant distclean poupdate' again
    * I2CP: Change a log error to a warning (ticket #353)
zzz's avatar
zzz committed
    * i2psnark:
      - Restore text (ticket #273)
      - Fix several HTML errors (ticket #273)
      - Fix HTML error causing info links to be unclickable in dillo (tiicket #273)
      - Fix alt text duplicated or looking bad in text browsers (ticket #273)
      - Fix Opera button errors (ticket #332)
      - Fix POST resubmission errors (ticket #334)
      - Catch FetchAndAdd copy error (ticket #352)
      - Set permissions on downloaded torrent files
      - Hide some columns when not running
      - Lots of spacing cleanups
      - Rename images so users don't end up with unused files
      - Remove ~15 unused images
      - Clean up theme selection speed-coding exercise
      - Indent fixes
    * Log: Don't double-timestamp CRITS in wrapper.log
    * News: XML fixes (ticket #350)
    * Plugins: Better handling of signing keys (Ticket #351)
    * TunnelPoolManager: Fix rare startup NPE (http://forum.i2p/viewtopic.php?t=5192)

2010-12-10 Mathiasdm
    * I2PTunnel: Fixed up security fix.
2010-12-07 Mathiasdm
    * I2PTunnel: Security fix: change server reply
      to return 'I2PServer' instead of the actual servername.
z3d's avatar
z3d committed

z3d's avatar
z3d committed
2010-12-06 dr|z3d
z3d's avatar
z3d committed
      - Resolve table header wrapping issue.
      - Vanilla/Ubergine theme enhancements.
zzz's avatar
zzz committed
2010-12-05 zzz
    * DataHelper: Have readLong() and readString() throw an
      EOFException instead of a DataFormatException on EOF,
      which should lower the log severity in I2CP and I2NP
      when a client or peer disconnects.

zzz's avatar
zzz committed
    * Console: Format console refresh time
    * I2NP: Allow message to be written more than once,
            instead of throwing an IllegalStateException
zzz's avatar
zzz committed
    * i2psnark: Fix extension messages
    * Streaming: Restore I2PSocketManagerFull as public
                 (broke jwebcahe ticket #345)
    * Transport: Hamachi address block 5/8 assigned by IANA

z3d's avatar
z3d committed
2010-12-01 dr|z3d
z3d's avatar
z3d committed
      - Extensive reworking of ieshim.css for classic theme/Internet Explorer.
      - Additional console_big.css files for other themes to enhance doublebyte glyph support.
z3d's avatar
z3d committed
      - Make show/hide peers and stop/start all torrent buttons more obvious.
      - Rework Vanilla icons to bring in line with color scheme.

zzz's avatar
zzz committed
2010-11-30 zzz
    * I2CP: Try to hide Pipe closed messages (several tickets)
    * i2psnark: Move PeerCheckerTask from Timer to SimpleTimer2
                to save some threads
    * Logging:
      - Limit buffer size; block and wakeup writer when full
      - Limit errors written to system log
      - Add method to force a log below the current level
      - Try to fix log flushing error
zzz's avatar
zzz committed
    * Streaming: Change some logged errors to warnings
                 (tickets 76, 341 and others)

z3d's avatar
z3d committed
2010-11-29 dr|z3d
z3d's avatar
z3d committed
    * Updated console theme "light".

zzz's avatar
zzz committed
2010-11-29 zzz
    * i2psnark:
      - Don't timeout queued piece messages
    * Logging:
      - Use System locale and time zone for default date/time format,
        so it matches the wrapper log time (we can't set the wrapper log time zone).
        (existing installs must remove logger.dateFormat line
         in logger.config to get system default format)
      - Force RuntimeExceptions to CRIT level
      - Don't have log() count buffer size
    * Streaming: Make all classes outside the API package private
zzz's avatar
zzz committed
    * UDP:
      - Fix bug causing PacketPusher to loop quickly instead of sleeping
      - Fix udp.sendCycleTime stat
      - Fix speed values on peers.jsp
      - Try to fix rare NPE (ticket 298)

zzz's avatar
zzz committed
2010-11-28 zzz
    * Build: Move all dependencies to top-level build.xml,
             so each sub-build.xml is only executed once
    * i2psnark:
      - Fix NPE and other partials bugs
      - More extension message stubbing
      - Log tweaks
    * I2PTunnel: Deprecate destFromName()

zzz's avatar
zzz committed
2010-11-27 zzz
    * Build:
      - Add man pages to package
      - New updaterWithJavadoc target
    * configstats.jsp: Fix NPE
    * Console:
      - Linkify "plugin installed and started" message
      - Add link to javadocs if installed
    * i2psnark:
      - Drop queued outbound requests when choked
      - Redo some data structures and locking to hopefully prevent deadlock
      - Memory reduction part 3: Return partial pieces to PeerCoordinator when choked
    * Streaming: Fix race NPE at stream close

z3d's avatar
z3d committed
2010-11-27 dr|z3d
   * I2PSnark: New alternative theme: "Vanilla".
   * Big thanks to sponge for implementing the theme changer!
z3d's avatar
z3d committed

sponge's avatar
sponge committed
2010-11-27 sponge
   * Plugin: ticket 336 fix NPE

2010-11-27 sponge
   * Slackware: bump i2p-base version, so that it can be upgraded with the new
2010-11-26 sponge
   * i2psnark: Don't save theme parameter if it has not changed.

2010-11-26 sponge
   * i2psnark: Add theme change and theme selection storage abilities.

zzz's avatar
-9  
zzz committed
2010-11-26 zzz
    * Console: Split initialNews.xml into a file for each language
               don't copy to config dir at install.
    * i2psnark: Clean up and enhance the PeerCoordinator's partial piece handling,
                in preparation for more improvements
    * LogManager: When not in router context, delay creating log file until required
    * NetDb: Lower RouterInfo expiration time again
    * Router: Prevent NCDFE after unzipping update file
zzz's avatar
-9  
zzz committed
    * Transports: Round time to prevent clock bias, also adjust for RTT in UDP
z3d's avatar
-8  
z3d committed
2010-11-26 dr|z3d
z3d's avatar
z3d committed
    * Readme: Overhaul (English) layout and text.
z3d's avatar
-8  
z3d committed

z3d's avatar
-7  
z3d committed
2010-11-25 dr|z3d
    * Console themes: Classic and Dark theme refresh.
    * Fix langbox overflow issue in all themes.

zzz's avatar
-6  
zzz committed
2010-11-24 zzz
    * configui: Add .pt
    * configtunnels: Log cleanup
    * graphs: Synch to conserve memory; cleanup
    * i2psnark:
      - Prevent dup requests during end game
        (ticket 331 - thanks sponge and Oct!)
      - POST parameter tweaks
      - Message cleanup
    * logs: Add trac login hint
    * Router:
      - Save some info to config file when installing or updating
      - Remove global lock on accessing config
      - Add global lock on reading/writing config file
    * SimpleDataStructure: Fix problem in fromBase64() that
      manifested itself as a configtunnels.jsp bug

2010-11-24 sponge
    * Slackware, fix rc.i2p, bad logic.

2010-11-24 sponge
    * Plugin: ticket 104 Fix webapp isRunning to check ALL webapps.
      The only defecency is that if one is running, that it considers the
      entire pliugin to be running. I'm not sure if that is a good thing
      or a bad thing, but the other code checks threads that way.

zzz's avatar
-4  
zzz committed
2010-11-22 zzz
    * Addressbook: Fix rename error on Windows (tkt 323 - thanks RN!)
    * build.xml: Cleanup, fix distclean error in older ants.
    * Console:
      - Convert GraphHelper to a FormHandler
      - Require POST for all forms
      - Change the way we store the Writer to prevent problems
      - Fix bonus setting on configpeer.jsp
      - More ".jsp" removal
    * i2psnark:
      - Defer piece loading until required
      - Stub out Extension message support
      - Convert GET to POST, require POST
    * NTCP: Log tweak
    * SSLEepGet, Reseeder:
      - Implement additional CA loading
      - Provide facility to reuse SSL state for speed
      - Provide facility to store previously untrusted certificates
      - Add www.cacert.org cert to the installer and updater so
        SSL on a.netdb.i2p2.de and c.netdb.i2p2.de will work
      - Add SSL reseed hosts, prefer them by default
      - Reseed message cleanup

zzz's avatar
-3  
zzz committed
2010-11-19 zzz
    * Addressbook
      - Store last-fetched time so we don't always fetch subscriptions after restart
      - Randomize first fetch time
      - Make most classes package private
    * Console: Rewrite URLs so we don't need .jsp
    * i2psnark: Recognize postman b32, recognize ogv and oga.
    * i2ptunnel:
      - More work on error propagation and improving log messages
      - Increase nonce queue size again
    * News:
      - Store news last-fetched time so we don't always fetch news after restart
      - Don't include news in the updater
    * peers.jsp fixups
    * PrivateKeyFile: Speedups and better messages
    * SecureFile: New class, catch places that were missed,
                  add i2p.insecureFiles option to disable (default false)

zzz's avatar
zzz committed
2010-11-17 zzz
    * Addressbook: Try to save files safely
    * Console: Display durations with new tagged formatDuration2()
    * DataStructures:
      - Shim in 3 new abstract classes
        SimpleDataStructure, KeysAndCert, and DatabaseEntry
    * I2CP:
      - Send DisconnectMessage at router shutdown
      - Add username/password authorization
    * I2PTunnel:
      - Improve messages when starting and stopping tunnels
      - Index page outproxy display cleanup
    * I2PTunnel HTTP and Connect clients:
      - Shim in a new abstract superclass I2PTunnelHTTPClientBase for common code
      - Add local proxy username/password authorization
      - Add outproxy username/password authorization
      - Filter hop-by-hop Proxy headers appropriately
    * I2PTunnel SOCKS and SOCKS IRC clients:
      - Add local proxy username/password authorization
      - Add SOCKS 5 outproxy support, with username/password authorization
    * logs.jsp: Format multiline messages better
    * Stats: Improve Frequency, enable coalescing; cleanup and javadocs
    * stats.jsp: Cleanup, more tagging, hide obscure stuff unless ?f=1
    * Streaming: Fix bug causing read() to incorrectly return EOF

zzz's avatar
zzz committed
* 2010-11-15  0.8.1 released

2010-11-08 zzz
    * I2CP: Fix NPE caused by null session options (seen in i2pbote)

HungryHobo's avatar
HungryHobo committed
2010-11-06 HungryHobo
    * New Ant target: debianrepo
    * Rename debian target to debian-binary
    * New debian target generates binary and source packages
    * Debian tweaks

2010-11-03 zzz
    * Merge and snark fixups

zzz's avatar
zzz committed
2010-11-01 zzz
    * ClientConnectionRunner: Add synch to fix race causing AIOOBE
                              (http://forum.i2p/viewtopic.php?t=5061)
    * configlogging.jsp: Parse log limit with current locale
                (ticket #118)
    * i2psnark:
      - Limit number of parallel requests of a single piece when in the end game
      - Shorten and weight the speed tracker so the display is more
        reflective of current speed
    * logs.jsp: Add message if wrapper log not found
                (ticket #103)

zzz's avatar
zzz committed
2010-10-30 zzz
    * i2psnark:
      - Priority mapping bugfix
      - Close files as we go when creating/checking
        so we don't run out of file descriptors
      - Update request queues after priority change
      - Only add wanted pieces to wanted list at startup
      - Make sure lastRequest is null when it should be
      - Delay during StopAll so we don't close the tunnel before the
        stopped announces go out and reopen it
      - Logging tweaks

2010-10-27 zzz
    * i2psnark:
      - Don't stay interested if we run out of pieces
        to request (thanks sponge)
      - Enhance debug mode to show requests
      - Priority mapping bugfix
    * Transport: Avoid rare NPE at startup

2010-10-24 zzz
    * FileUtil: Make it easier to compile without Pack200, or with
                Apache Harmony's Pack200, add unzip to main()
    * i2psnark: Catch a race after disconnect()
    * NTCP: Catch a race after stop()
    * Router: Set permissions on wrapper.log when not called by RouterLaunch
    * Systray: New doc and main()

2010-10-22 sponge
    * Sanity and some fixs for slackware package

sponge's avatar
sponge committed
2010-10-22 sponge
    * Fix rc.i2p for slackware package

zzz's avatar
zzz committed
2010-10-19 zzz
    * Escape & in logs and i2psnark (much more to do)
    * JobImpl: Deprecate two debugging methods
    * replaceAll() -> replace() when we don't need regex

2010-10-15 zzz
    * i2psnark: Add file priority feature
    * I2PSocketEepGet: Set connect delay to save a RTT, will
      speed announces in i2psnark

2010-10-12 zzz
    *** 1.6 or higher JDK now required to build
    * configlogging.jsp:
      - Add easy way to add an override
      - Make file size specifier more flexible
    * Console:
      - Sort RouterAddress options on netdb.jsp and peers.jsp
      - Remove unused web-*.xml file from war
    * Crypto:
      - Convert all ArrayList caching to LBQs in YKGenerator,
        HMACGenerator, and AESKeyCache.
      - Change DSAEngine params from Hash to new SHA1Hash, since
        these were really 20 byte hashes, not 32 byte Hashes.
      - Add stats to track YKGenerator caching success
      - Fix YKGenerator precalculation to be much more useful by
        increasing the cache size and dramatically shortening the delay
      - Option cleanups
      - YKGenerator cleanups
      - Mark HMAC256Generator unused
    * EepGet: Reset length variable on redirect
    * Files: Change permissions to 600/700 for all written files/directories.
      Now requires Java 1.6 to build, but only 1.5+ to run.
      (requires 1.6 to set permissiomns)
    * GeoIP: Fix locking bug causing lookups to stop
    * Hash: Throw IAE if data length is not 32 bytes,
      now that DSAEngine abuse is gone
    * HTTPResponseOutputStream:
      - More caching
      - Stats cleanup
      - Max header length check
      - Catch OOM
      - Initializer cleanup
      - Javadoc
    * I2CP:
      - Add new option i2cp.messageReliability=none, which prevents the
        router from sending MessageStatusMessages back in reply to an
        outbound SendMessageMessage. Since the streaming lib always ignored
        the MSMs anyway, make it the default for streaming.
        This will reduce the I2CP traffic significantly.
        MSM handling now avoided, but it is still fairly broken, see
        comments in I2PSessionImpl2.
      - Cleanups to replace method calls with fields
      - More cleanups, javadoc, rate reduction
    * i2psnark:
      - Compact response format
      - Add link to finished torrent in message box
      - Don't let one bad torrent prevent others from
        starting or stopping
      - Sort peers by completion %
      - Add some missing mime types to web.xml
      - shouldLog() cleanup
    * i2ptunnel:
      - Now that streaming flush() is fixed, use it in IRCClient, and
        for initial data in I2PTunnel runner, to avoid the 250 ms
        passive flush delay
      - Add hostname DSA signature field, to be used for addkey forms.
        Experimental, may be commented out later.
      - More header blocking (thanks telecomix!)
      - Remove unused web-*.xml file from war
    * Installer: Add startup hint for non-x86
    * Javadoc updates all over the place
    * LogConsoleBuffer: Java 5
    * Naming:
      - Increase cache size and expiration time
      - Add clearCache() method
      - Don't use EepGet or Exec for b32
      - Javadoc updates
    * NetDB:
      - Expire unreachable routers quickly, even if they don't have introducers,
        so we don't have old data on routers that ran out of introducers.
      - Fix rare NPEs at shutdown
    * NTCP:
      - Cleanups
    * Streaming:
      - Make flush() block less, by waiting only for "accept" into the
        streaming queue rather than "completion" (i.e. ACK from the far end).
        This prevents complete stalls when flushing, and should help performance
        of apps that use flush(), like i2psnark (and SAM?).
        close() still does a flush that waits for completion, as i2ptunnel
        doesn't like a fast return from close().
      - cleanups
    * SusiDNS:
      - Remove unused web-*.xml file from war
    * TransportManager: Convert _transports from a List to a CHM
      to prevent a rare concurrent exception
    * Tunnels:
      - Don't use peers < 0.7.9 for tunnels due to the old
        message corruption bugs
      - Javadoc
      - Cleanups
    * UDP:
      - Beginnings of destroy message support
      - Try to avoid running out of introducers by relaxing selection criteria
        and increasing minimum number of potential introducers
      - Avoid rare AIOOBE
      - PacketBuilder refactor
      - Make most classes package private
      - Comments
      - Logging cleanup
      - Comment out a main()

sponge's avatar
sponge committed
2010-10-10 sponge
    * Fulfill Request for name resolving in BOB

2010-09-15 dr|z3d
    * I2PSnark: Overhaul UI, implement new theme.
zzz's avatar
zzz committed
* 2010-07-12  0.8 released

2010-07-08 zzz
    * I2PTunnel: More error propagation fixes

2010-07-07 duck
    * RouterConsole: Add Help & FAQ link, minor label improvements.
2010-07-05 zzz
    * i2psnark: Fix transition to end game
    * I2PTunnelIRCClient: Filter PART messages like we do for QUIT

2010-07-04 duck
    * RouterConsole: Dutch translation (thanks to monkeybrains)

2010-07-03 zzz
    * Build: Fix poupdate dependencies
    * I2PTunnel: More error propagation fixes
    * I2PTunnelHTTPClient: Don't use BufferedReader

2010-07-01 zzz
    * EventDispatcher: Minor cleanups and comments
    * I2PTunnel: Don't start a tunnel if no valid destinations;
      cleanups, logging, and error propagation fixes
    * Transport: Fix NTCP address generation when host is specified but port is auto

2010-06-29 sponge
    * 25%-50% cpu savings in BOB. The remainder of the fix is in streaming
      lib, which aparently keeps running and does not sleep according to
      profiling.

2010-06-29 zzz
    * CapacityCalculator: Cleanup
    * I2PTunnel: Add default HTTPS outproxy
    * Jetty: Disable TRACE and OPTIONS in console and eepsite
    * RouterInfo: Add main() to dump RI files
    * Scale prng.buffers based on max memory, reduce default from 16 to 9
    * SOCKS: Better HTTP error message

2010-06-26 zzz
    * I2PTunnel:
     - Move connection profile and delay connect to advanced config section
     - Add persistent client key support to SOCKS IRC
     - Fix display of interactive setting
    * jbigi, jcpuid: Suppress log messages when not in router context
    * jetty.xml: Add info on how to configure for following symlinks
    * logs.jsp: Add more JVM version info so we can distinguish OpenJDK from Sun

2010-06-16 zzz
    * Console: Sort countries with selected locale
    * FileUtil: Try to handle lack of unpack200 support more gracefully
    * Update: Select old update URL if no unpack200 available

zzz's avatar
zzz committed
2010-06-13 zzz
    * Console: Add some divs for languages to news and readmes
    * HTTP Proxy: Pass different User Agent to outproxy
    * i2psnark:
      - Move config to separate page
      - Icon tweaks
    * Translation: zh fix

dev's avatar
dev committed
2010-06-12 welterde
    * fixed possible race-condition and improved code style in ObjectCounter utility class

zzz's avatar
zzz committed
* 2010-06-07  0.7.14 released

2010-06-07 zzz
    * Misc tweaks after code review

zzz's avatar
zzz committed
2010-06-05 zzz
    * Netdb:
      - Use new receivedAsReply flag in LeaseSet to mark
        those received as response to a query
      - Mark which methods in FloodfillPeerSelector may return
        our own hash
      - Redefine selectNearest() so it may return our own hash,
        so it can be used for closeness measurement
      - Redefine findNearestRouters() to return Hashes
        instead of RouterInfos
      - Fix LeaseSet response decisions for floodfills, based
        on partial keyspace and closeness measurements
      - List only count of published leasesets in netdb

2010-06-03 zzz
    * NewsFetcher: Delay a minimum amount at startup
    * Update: Fix multiple updates after manually
      starting update - caused by refreshing summary bar
      (thx 'backup'!)

2010-06-02 zzz
    * graphs.jsp: Tag some more
    * Translation: Set xgettext add-comments option
    * UDP: Fix a bug from a blank i2np.udp.host config
      causing frequent RouterInfo updates and incorrect
      addition of introducers, caused by config.jsp handling
    * Update: Change default update URLs to .su2 for pack200

2010-06-01 zzz
    * i2psnark:
      - More listing fixes
      - Revert choker change
zzz's avatar
zzz committed
      - Start end game a little sooner
    * Installer: Disable pack200 in updater again, doesn't work
      on Java 1.5
    * Remove jetty from updater - it's been in for a few
      releases, and i2psnark now has its own listHTML method

2010-05-27 zzz
    * Translate: Add GNU ngettext (plurals) support

2010-05-26 zzz
    * i2psnark: Listing fixes and cleanups;
      icons on front page; tweak bw choker again

zzz's avatar
zzz committed
2010-05-24 zzz
    * i2psnark: Listing icons and cleanups

dev's avatar
dev committed
2010-05-23 welterde
    * core:
      - fixed major security hole in DatagramDissector
dev's avatar
dev committed
    * I2PTunnelServer: Implemented WEBIRC support in IRC server tunnel

zzz's avatar
zzz committed
2010-05-23 zzz
    * i2psnark:
      - Choke slower when at bandwidth limit
      - Fix completion % for small files
      - Use Random from context
    * NewsFetcher:
      - Add backup URL
      - Change to 0 retries (was 2)

zzz's avatar
-9  
zzz committed
2010-05-21 zzz
    * i2psnark:
      - Spiff up dir listings
      - Urlify some messages
      - Only go into end game at the end

zzz's avatar
zzz committed
2010-05-19 zzz
    * Data: Remove lots of unnecessary initializers
    * susidns: More validatation when adding entry
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2010-05-15 zzz
    * Console:
      - Tag text in graphs
      - Move SummaryRenderer to its own file
    * Eepsite: Set no-cache in redirecting page
    * Hash: Move caching XOR methods only used by KBucket
      into netdb
    * i2psnark: CSS tweaks
    * Log: Translate priority

2010-05-13 zzz
    * netdb.jsp debug tweaks
    * Plugins: Try to prevent ZipErrors after upgrade

zzz's avatar
zzz committed
2010-05-10 zzz
    * Console:
      - Summary bar tweaks
      - Add monthly bw estimate
    * DataHelper: Deprecate inefficient eq() methods
    * i2psnark:
      - Add tunnel config dropdowns
      - Comment out old proxy stuff
    * NetDB:
      - Handle old and duplicate stores more efficiently
      - Have DataStore put() return success
      - Move getDistance() to its own class
    * Router: Add router.forceBandwidthClass advanced config for testing
    * Streaming: Add support for connection throttling
    * TunnelPoolManager: Concurrent
    * UDP: To help limit connections, don't offer to introduce
      when floodfill

2010-05-10 sponge
     * PluginStarter: If there is some delay, there may be a really good reason for it.
       Loading a class would be one of them!
       So we do a quick check first, If it bombs out, we delay and try again.
       If it bombs after that, then we throw the ClassNotFoundException.

zzz's avatar
zzz committed
2010-05-05 zzz
    * build.xml: Create packed sud in release
    * Console:
      - Print stack trace if exception on startup
      - IllegalStateException rather than NPE if no context
    * EepGet: Limit max times to fail completely even if numRetries is higher
    * i2psnark: Skip 'the' when sorting snarks
    * I2PTunnelHTTPClient: Reject 192.168.*
    * Plugins:
      - Set classpath for specific client only, not for the whole JVM
      - Use ConfigDir() not AppDir()
    * Replace size() <= 0 with isEmpty() everywhere, ditto > 0 -> !isEmpty()
    * RouterInfo: Clean up use of sortStructures()

zzz's avatar
zzz committed
2010-05-02 zzz
    * ByteCache:
      - Add a per-cache stat
      - Limit each cache based on max memory
      - Disable in UDP MessageReceiver
      - Add clearAll() method to be called when under
        severe memory pressure; call from Router
    * Plugins: Fix version checker bug

zzz's avatar
zzz committed
2010-04-27 zzz
    * i2psnark: Serve downloaded files from the servlet rather
      than with a file: link
    * Jetty: Backport directory listing bugfix from jetty 6
    * peers.jsp: Cleanup and tag

zzz's avatar
zzz committed
* 2010-04-27  0.7.13 released

zzz's avatar
zzz committed
2010-04-23 zzz
    * Plugins: Cleanups

zzz's avatar
zzz committed
2010-04-21 zzz
    * EepGet: Don't convert a MalformedURLException into
zzz's avatar
zzz committed
      an IOE so we recognize it when it's thrown
zzz's avatar
zzz committed
    * ReusableGZIPStreams:
      - Concurrent
      - Workaround for Apache Harmony 5.0M13 Deflater bug
    * TrustedUpdate: Increase buf size for extraction

2010-04-18 zzz
    * configclients.jsp: Start button logic for clients was inverted
    * Console: IRC links in readmes and initialNews
    * I2PTunnelServer: Debug log incoming conns
    * Transport: Reduce floodfill max NTCP conns to 425 (was 500)

2010-04-16 sponge
    * BOB early session destroy to speed up tunnel tare-down.

zzz's avatar
zzz committed
2010-04-15 zzz
    * DataHelper: Limit max length in readline()
    * Floodfills: Increase max to 100 (was 60) and min to 60 (was 45)
    * i2ptunnel: Log tweaks
    * I2PTunnelHTTPServer: Limit max header lines

2010-04-15 sponge
    * I2PTunnelHTTPClient: Test for "http://:/" and output error page.
      This avoids an ArrayIndexOutOfBoundsException, which can eventually
      cause the eepproxy to stop functioning.

2010-04-12 zzz
    * configstats.jsp: Fix full stats checkbox default
    * i2psnark:
      - Concurrent, limit, display, log tweaks
    * i2ptunnel: Implement access lists for TCP servers.
      Enter b32 or b64 hash or dest into list box, and
      check enable for whitelist. Uncheck enable and enter
      i2cp.enableBlackList=true in advanced i2cp options for
      blacklist. Todo: make black/whitelists radio buttons.
    * LogManager: Concurrent

zzz's avatar
zzz committed
2010-04-10 zzz
    * i2psnark:
      - Disconnect seeds that connect to a seed
      - Lower per-torrent conn limits for large pieces
    * Startup:
      - Don't die horribly if there is a router.info file
        but no router.keys file
        http://forum.i2p/viewtopic.php?t=4424
      - Log tweaks
    * Streaming:
      - Fix the window size increment logic so it
        does it much more often

zzz's avatar
zzz committed
2010-04-08 zzz
    * Key Manager: Hopefully avoid some races at startup
      http://forum.i2p/viewtopic.php?t=4424
    * OCMOSJ:
      - Increase min timeout
      - Logging tweaks
    * Streaming:
      - Detect and drop dup SYNs rather than create
        a duplicate connection - will hopefully fix
        "Received a syn with the wrong IDs"
      - Send reset for a SYN ACK with the wrong IDs
      - Don't send a reset to a null dest
      - Logging tweaks
      - Cleanups

zzz's avatar
zzz committed
2010-04-05 zzz
    * Console:
      - Add tooltip support for plugin links
      - Make target=_blank for plugin links
      - More HTML transitional fixes
      - Standardize on 'save' to the right of 'cancel'

2010-04-02 zzz
    * FloodfillPeerSelector: Adjust rankings again

zzz's avatar
zzz committed
2010-03-31 zzz
    * FloodfillPeerSelector: Adjust rankings to try to
      improve LeaseSet lookups
    * HostsTxtNamingService: Don't load the whole hosts.txt
      into memory for every lookup

zzz's avatar
zzz committed
2010-03-29 zzz
zzz's avatar
zzz committed
    * build.xml: Prep for a windows-only pkg
zzz's avatar
zzz committed
    * configclients.jsp:
      - Always show start button for webapps and plugins
    * configclients.jsp, configupdate.jsp:
      - Fix submission when entering CR in a text box
    * EepGet: Don't retry after a MalformedURLException
    * HTTPResponseOutputStream: More static
    * Plugins:
      - Stop all plugins at shutdown
      - Log tweaks
    * WebApps:
      - Remove the WAC after stopping it
      - Stop a WAC before starting it to prevent dups
      - Implement destroy() in addressbook to prevent dups
      - Implement destroy() in i2psnark to prevent dups

zzz's avatar
-2  
zzz committed
2010-03-25 zzz
    * configclients.jsp: Fix dup anchor
    * Console: Sort plugin links in summary bar
    * i2psnark:
      - Send numwant=0 if we don't need peers
      - Report returned complete and incomplete counts
        if higher than peer count
      - Allow missing peer list
      - Log tweaks
    * netdb.jsp: Tag transport properties
    * Plugins: Remove final check and install console
      messages after a while
    * PrivateKeyFile: Add b32 output
    * Reseed: Add another host

zzz's avatar
zzz committed
2010-03-18 zzz
    * Blocklist, CommSystem, FIFOBandwidth, TransportManager,
      OutNetMessage, InNetMessagePool:
      - Java 5 cleanup
    * ByteCache:
      - Replace some locks with concurrent
    * Clients:
      - Negative delay means run immediately and inline
      - Add methods to test class and run inline,
        to propagate errors to the console
      - Use new methods for plugins
      - Add javadoc for clients.config format
    * config.jsp: Set burst to +10% for 20s by default,
      to fix bug where the burst stays high when limits
      are reduced.
    * FIFOBandwidthRefiller:
      - Replace global counters with atomics
      - Use lockless shortcut methods to grant
        requests if we can satisfy immediately
    * i2psnark: Tweak upload bw tracking
    * Installer: Enable pack200 (-3.3MB)
    * Job Queue:
      - Replace some locks with concurrent
      - Change job ID to a long so it won't wrap
      - Remove some unused stats
      - Java 5 and debug cleanup
    * KeyManager: Concurrent
    * logs.jsp: Add link to trac
    * netdb.jsp: Display transport cost if not default
    * Peer Manager:
      - Replace some locks with concurrent
      - Switch back to fast version of getPeersByCapability()
      - Java 5 cleanup
    * Streaming: Concurrent
    * Throttle:
      - Remove some unused stats
    * Tunnel Builds: Enable VTBM
    * Tunnel Dispatcher: Discard at IBGW based on router clock,
      not system clock.
    * TunnelGatewayPumper:
      - Refactor for concurrent
    * UDP:
      - Big refactor of several classes for concurrent,
        elimination of several locks
      - Reduce max number of resent acks in a packet to
        lower overhead
      - Take incoming messages from the head of the queue,
        not sure why taking them from the tail "reduces latency"
      - Java 5 cleanup

zzz's avatar
-2  
zzz committed
2010-03-17 zzz
    * I2PTunnel: Disable nonce checking when console password set
    * Reseed: Add another host

zzz's avatar
zzz committed
* 2010-03-15  0.7.12 released

zzz's avatar
zzz committed
2010-03-13 zzz
    * Partial fix for i2ptunnel nonce troubles

2010-03-08 zzz
    * Floodfills: Increase max to 60 (was 28) and min to 45 (was 20)
    * i2psnark: Better track outgoing bandwidth by incrementing
      counter before the blocking write
    * Random: Remove and deprecate some old classses
    * Reseeder: Reduce max response size to 1MB (was 8MB)

zzz's avatar
zzz committed
2010-03-05 zzz
    * Console:
      - Tag reseed messages
      - Translate country names on flag popups
zzz's avatar
zzz committed
    * I2PSOCKSIRCTunnel:
      - New, for filtering IRC client traffic when using SOCKS
    * I2PTunnelIRCClient:
      - Make filter classes static and public for use by SOCKS
      - Eliminate redundant case conversion
      - Pass ISON message through (jIRCii uses it for pings)
      - Switch back to StringBuffer since it's used by 2 threads
      - Set daemon on filter threads
    * SOCKS5Server:
      - Fix handling of multiple authentication methods

zzz's avatar
zzz committed
2010-03-02 zzz
    * Console:
      - Add link to jobs.jsp on configservice.jsp
      - Add plugin disableStop support
    * Context: Add boolean getProperty methods
    * HTTP Proxy:
      - Fix address helper conflicts caused by last checkin
      - Use B32 instead of random hostname for conflict link
    * LoadClientAppsJob:
      - Fix unquoted arg after quoted arg
      - Logging cleanup

zzz's avatar
zzz committed
2010-02-27 zzz
    * eepsite: Add some help to index.html
    * HTTP Proxy:
      - Put B32 instead of B64 in Host: header, saves 450 bytes
      - Eliminate some redundant lookups
      - Fix http://i2p/b64/ and /eepproxy/site/ requests
      - Disallow a port specified for an i2p address
      - Cleanup and comments
      - For more info see http://zzz.i2p/topics/566
zzz's avatar
zzz committed
    * i2psnark:
      - Fix NPE after create file failure
      - Sanitize more characters in file names
    * netdb: Fix NPE after OOM http://trac.i2p2.i2p/ticket/38
    * NTCP Transport:
      - Replace lists with concurrent queues in EventPumper
        and NTCPConnection to remove global locks
      - Java 5 cleanup
    * Plugins: Support console themes
    * UDP Transport:
      - Replace the unused-since-2006 TimedWeightedPriorityMessageQueue
        with DummyThrottle
      - Don't instantiate and start TWPMQ Cleaner and OutboundRefiller
        threads, part of priority queues unused since 0.6.1.11
      - Don't instantiate and start UDPFlooder, it is for testing only
      - Prevent NPE http://zzz.i2p/topics/571
zzz's avatar
zzz committed

2010-02-23 zzz
    * Unzip: Any files in the zip with a .jar.pack or .war.pack extension
      will be transparently unpacked with unpack200. Savings is about 60%.
      Someday we will do this for suds, but we can do it for xpi2ps now.
    * build: Add updater200 target

zzz's avatar
zzz committed
2010-02-22 zzz
    * configclients.jsp:
      - Add js delete confirm
      - Remove delete button for webapps
    * i2psnark:
      - Ignore a non-i2p tracker in a torrent rather than deleting
        the torrent, thus "converting" a torrent to in-netowrk use
        via the open trackers
      - Add js delete confirm

2010-02-19 zzz
    * i2psnark: Make file box bigger
    * Plugins:
      - Fix display of download status
      - Unhide

zzz's avatar
zzz committed
2010-02-18 zzz
    * Clock: Slew tweak
    * i2psnark: Improve error message when finding HTML
    * HTTP Proxy: Fix blank page instead of error page for eepsite unreachable
    * Plugins:
      - Fix plugin start button
      - Change signer prop to match docs
      - Tweaks
    * Transport:
      - Fix recognition of IP change when not firewalled
      - Require consecutive identical results from two peers before changing IP
    * TrustedUpdate: CLI exits 1 on failure for ease of use in scripts

zzz's avatar
zzz committed
2010-02-15 zzz
    Propagate from 3 dev branches.

    i2p.i2p.zzz.test:
    * Clock:
      - getFramedAveragePeerClockSkew() now returns a long (ms);
        was a Long (s)
      - Implement NTP-style clock slewing so the clock is adjusted
        gradually
      - Implement clock strata so we prefer better clocks
      - Implement a timestamper in the transport so we will periodically
        update the clock even if NTP is not working.
        This allows the router to converge the clock instead of simply
        hoping the first connected peer is correct.
      - Slow down NTP attempts after several consecutive failures
    * Console: refactor and tag update messages
    * Streaming: MessageOutputStream logging tweaks
    * Transport:
      - Prepare for using address costs
zzz's avatar
zzz committed
      - Adjust bids based on address cost
      - Increase cost if near transport capacity, disabled until 0.7.12
zzz's avatar
zzz committed
      - Clear the geoip negative cache periodically

    i2p.i2p.zzz.plugin:
    * Jrobin: Move from routerconsole.jar to its own jrobin.jar,
      adjust classpath in routerconsole.jar manifest
    * Plugins:
      New plugin support, hidden for now, enable with router.enablePlugins=true
      Configure and add plugins on configclients.jsp
      Supports the following:
      - Console webapps
      - New translation bundles
      - Link on console
      - Anything that can be started in clients.config
      - Additions to classpath for clients and webapps
    * TrustedUpdate:
      - Add method to check if we know about a key
      - Add method to add a key
      - Add method to extract without verifying
      - Add method to get key signer name
    * Webapps: Allow additions to a webapp classpath.
      - Pull jstl.jar and standard.jar out of susidns.war
      - Remove 100KB of duplicate classes from i2psnark.war

    i2p.i2p.zzz.VTBM:
    * I2NP: Add UnknownI2NPMessage so we can route unknown message types
    * Tunnel Builds:
      - Add getRecordCount() to TunnelBuildMessage and TunnelBuildReplyMessage so they can be extended.
      - New I2NP Messages VariableTunnelBuildMessage and VariableTunnelBuildReplyMessage,
        which contain the number of request slots in them.
      - Convert all static assumptions of 8 slots to getRecordCount()
      - Use the new VTBM if all hops in the tunnel and the OBEP or IBGW of the reply tunnel
        support it, and the tunnel is 4 hops or shorter.
      - Reply to a VTBM with a VTBRM of the same size
      - Make BuildReplyHandler static
      - Convert the currentlyBuilding List to a ConcurrentHashMap to speed reply lookups
        and eliminate a global lock; don't put fallback tunnels in there
      - Add new tunnel.corruptBuildReply stat
      - Various cleanups and javadoc
      - Fix first hop expiration for Build Messages, was way too long
      - Randomize Build Message expiration to make it harder to guess hop position
      - Save expired tunnel build configs for a while, so that we will still use the tunnel
        and update peer stats if the reply comes in late
      - Don't update our own profile for Tunnel Build Replies
zzz's avatar
zzz committed
      - VTBM generation only through routers >= 0.7.12
zzz's avatar
zzz committed
      - VTBM generation disabled for now

zzz's avatar
zzz committed
* 2010-02-15  0.7.11 released

2010-02-13 sponge
    * Fix addWebApplications API goofup
    * Bump BOB version, which I forgot to do.

2010-02-13 zzz
    * Floodfills: Increase max to 28 (was 15) and min to 20 (was 10)

2010-02-12 sponge
    * org.mortbay.jetty.Server modified method to accept attributes for
      batch webapp launches via addWebApplications.

2010-02-10 zzz
    * I2PTunnelRunner: Flush initial data, for some reason it wasn't
      getting flushed ever in some cases.

zzz's avatar
zzz committed
2010-02-10 zzz
    64-bit windows installer fixes. Still no 64-bit wrapper.
    Thanks eche|on for testing!
    * Izpack:
      Add 64-bit windows dll so installer doesn't die trying to add shortcuts
    * Launch4j:
      Upgrade to launch4j 3.0.1 2008-07-20.
      The license is BSD for launch4j and MIT for the wrapper code in head/
      Changelog is in installer/lib/launch4j/web/changelog.html
      Hopefully this will fix installs for 64-bit JRE on 64-bit windows.
      The previous version was 2.0-RC3 2005-08-13.
      The previous license was GPLv2 for launch4j and LGPLv2.1 for the wrapper code in head/
      The bin/ld.exe and bin/windres.exe files were contributed by
      i2p users in 2005 so the i2p installer could be built on windows.
      They have not been updated for 3.0.1, so pkg builds on windows
      will presumably still get 2.0-RC3.

zzz's avatar
-9  
zzz committed
2010-02-06 zzz
    * Console: Fix saving update keys, was broken in 0.7.10
    * i2psnark: Add transmission ID
    * news.xml: Wrap i2p version tags in XML comment
    * Transport: Try yet again to prevent two NTCP pumpers

2010-02-04 zzz
    * i2psnark: Fix sending stopped events to the tracker

2010-02-03 zzz
    * Console:
      - Hide update buttons and update config if install dir is readonly or if configured
      - Show yellow star if no outbound tunnels
    * i2psnark: Don't prefer to opportunistically unchoke unchoking peers when not interested
    * NetDb: Lower min RouterInfo expiration to 2.5h (was 3h)

zzz's avatar
zzz committed
2010-01-31 zzz
    * i2psnark standalone: Fix CSS
    * Jetty: Update to 5.1.15 to get ResourceHandler fix

2010-01-30 sponge
    * Fix NPE in TCPtoI2P when a lookup fails, report the error to the stream.
    * Fix setkeys bug in DoCMDS, forgot to create the object before calling
      it's methods, which threw an NPE.

2010-01-29 zzz
    * build.xml: Add a debian-source target
    * Data structures:
      - Speed up some hashcode() and equals()
      - Cleanup and javadoc
    * Jetty: Turn on checkAliases
    * NetDb:
      - Add basic DOS prevention for lookups
      - Move flood throttle check so we don't throttle ourselves
      - Don't store over client tunnels to pre-0.7.10 floodfills
      - Don't update unused lease fail stats
    * Startup: Disable browser launch for debian daemon

dev's avatar
dev committed
2010-01-28 welterde
    * enhance support for multiple RouterAddresses' of the same style in RouterInfo

zzz's avatar
zzz committed
2010-01-26 zzz
    * build.xml: Speed up distclean additions
    * Clock: Don't refuse to update because of peer skew the first time
zzz's avatar
zzz committed
    * Debian: Fixup, update, enhance scripts
    * I2NP: Various cleanup and bulletproofing
    * Log: Try to avoid complaints at shutdown
    * Profiles: Fix lack of profiles at router startup, especially for new routers
    * stats.jsp: Shrink the dropdown box

zzz's avatar
zzz committed
2010-01-24 zzz
zzz's avatar
zzz committed
    * ProfileOrganizerRenderer: Cleanups
    * Reseed: Update welt's reseed hostname
    * Transport clock skews:
      - Store and report UDP clock skews even for large values, so
        a badly skewed local clock will be reported to the console
dg2-new's avatar
dg2-new committed
      - Don't banlist for NTCP clock skew if we don't know what time it is
zzz's avatar
zzz committed
      - If NTP hasn't worked yet, have NTCP or SSU update the clock one time
      - Include failed clock skew in NTCP skew vector if there aren't many connections
      - Don't include NTCP clock skews for non-established connections
      - Fix framed clock skew frame size
      - Report framed clock skew even if for only one peer, if NTP hasn't worked yet
      - Don't log RRD errors after clock adjustment
      - Reduce min skew for console warning to 30s (was 45s)
      - More Java 5 cleanups

zzz's avatar
-1  
zzz committed
2010-01-24 zzz
    * Clock:
      - Don't let a client update the router clock
      - Restore and enhance vanished clock error log message
    * Graphs: Enforce max size to lessen chance of OOM from malicious link
    * NetDb:
      - Move stat initialization, reduce number of rates
      - Add basic DOS prevention by not flooding if stores are too-frequent
    * ProfileOrganizer:
      - Limit High Cap to 75 max
      - Reduce max lock wait time, change no lock error to warning
      - More cleanup
    * Startup:
      - Enable multiple parallel job runners much sooner to speed startup
      - Rearrange the startup order to get the long jobs started sooner
      - Don't allow the netDb readin job to clog the job queue

2010-01-21 dr|z3d
    * New eepsite structure and enhanced pages. Now with graphics and stuff!

zzz's avatar
zzz committed
* 2010-01-22  0.7.10 released

zzz's avatar
zzz committed
2010-01-21 zzz
    * eepget.bat: Add to pkg
    * Floodfills: Increase max to 15 (was 9) and min to 10 (was 4)
    * I2PTunnelServer: Fix bug preventing connection retries
      at startup from working
    * Logs: Don't be quite so noisy in the wrapper log if we
      can't open the router log
    * Properties: Don't play games with \r and \n on load/save,
      it was causing fatal issues on DOS if your username started
      with r or n

2010-01-19 sponge
    * Firewall fix for NTCP, where firewalls will forget a NAT relationship
      on a stream... AKA setting keepalive. This should fix the stuck NTCP
      issue that has been bothing zzz for years.
    * Set keepalive on BOB connections too, since this will assist closing
      the connections in the event of a crash on a client.

zzz's avatar
zzz committed
2010-01-18 zzz
    * configclients.jsp: Fix add-new-client feature
    * Console: Add a tunnel share ratio estimate
    * graphs.jsp:
      - Remove jrobin sig
      - Set lower limit to 0
      - Save settings when changed
    * Reseed: Support SSL and proxies
    * Translate: Catch empty string

zzz's avatar
zzz committed
2010-01-17 zzz
    * Clock: Change a CRIT to an ERROR, lower threshold for changing from 10s to 5s
    * configclients.jsp: Support add, delete, edit
    * I2CP: Clean up resources on 5-minute leaseset timeout at startup
    * LeaseSet generation: Increment the lease date slightly, to force
      the floodfill to flood it when it changes
    * NetDb Lookups: Don't try to send a RI lookup to itself through a zero-hop tunnel
    * NetDb Stores and Verifies:
      - Do LS stores and verifies through client tunnels
        to prevent correlation by the OBEP or FF
      - Encrypt LS stores to prevent snooping by the OBEP,
        if the floodfill supports it
      - Encrypt LS and RI verifies to prevent snooping by the OBEP
      - Extend verify delay and timeout
      - Reenable RI verifies
      - Disallow simultaneous verifies for the same key
      - Don't resend on verify timeout; try a different peer instead
      - Don't resend to same peer on verify fail, try a different one
      - Adjust ff selection criteria
      - Flood even if received garlic-encrypted
    * Profiles: Limit fast peers to 30 max
    * SSLEepGet: New
    * Tunnels: Prevent more than one zero-hop tunnel in a lease
    * VersionComparator: Move from TrustedUpdate.java to util

2010-01-14 sponge
    * Fully clean up I2PTunnel. No more lint issues, should compile 100%
      clean.
    * Dropped unused class BufferLogger from I2PTunnel as it is not used
      anylonger.

2010-01-14 sponge
    * Clean up reverse connection ability, remove some annoyingly redundent
      code. Place all settings in the console. It works!

2010-01-10 sponge
    * Insert reverse connection ability into the http server code so that
      seedless can start to get worked on. It's disabled by default.

zzz's avatar
zzz committed
* 2010-01-12  0.7.9 released

2010-01-12 zzz
    * I2CP: Clean up resources on 5-minute leaseset timeout at startup
    * Increase max floodfills to 9 (was 6)
    * Temporarily disable routerInfo floodfill verifies
    * Fix .fr eepsite index css
    * Javdoc tweaks

2010-01-09 zzz
    * Include new eepsite indexes in pkg

2010-01-02 sponge
    * Fix one last stupid mistake in build.xml, my fault.

2010-01-02 sponge
    * Fix NB 6.8 goofyness... 'till ant 1.7.1 or > is needed, stay with NB
	6.5, as the newer ones place a check for 1.7.1. We require 1.7.0

2010-01-02 sponge
    * Fix build.xml target for justBOB
    * Fix Main build.xml so that it actually deletes backup files and add a
      few extra types that should be commonly needed... atleast by me.

zzz's avatar
zzz committed
2010-01-02 zzz
    * Console: Save refresh setting
    * i2psnark:
      - Don't URL-encode chars we don't have to
      - CSS tweaks
    * Transport: Implement 'laptop mode' to change ident and port
      when the IP changes

2010-01-01 sponge
    * Happy New year everyone!
    * Added a target to generate a stand-alone BOB jar file.

zzz's avatar
zzz committed
2009-12-31 zzz
    * BuildResponseRecord: Make static
    * i2np: Remove unused logs
    * i2psnark: Fix message box, was a little too small
    * InternalSocket: Fallback to external socket on fail
    * NetDb: Fix exploration by adding a null hash to mean
      "don't give me floodfills"
    * PeerSelector: Downgrade floodfills with high fail rate

zzz's avatar
zzz committed
2009-12-26 zzz
    * Console:
      - Tag the rest of logs.jsp
    * Tunnels, Transports:
      - Lots of code to detect improper reuse of cached objects
        after release
      - Prevent release of TunnelDataMessage cached ByteArray,
        as it may be reused if retried in another transport;
        a nasty bug causing corrupt messages
      - Prevent race with released resources in UDP OutboundMessageState;
        a nasty bug causing corrupt messages
      - More cleanups and comments
    * UDP: Bid lower than NTCP when we need introducers and don't
      have enough

zzz's avatar
zzz committed
2009-12-22 zzz
    * Tunnels:
      - Do RED dropping before the IBGW fragmenter, not after
      - Change batch time to 250ms for IBGWs (was 100ms)
      - Change batch time to 150ms for exploratory OBGWs (was 100ms)
      - Start a new message in the fragmenter if almost full
      - Fix a major, longstanding synchronization bug in the FragmentHandler
        which led to corrupt messages at the endpoints
      - More cleanups and comments

zzz's avatar
zzz committed
2009-12-20 zzz
    * Console:
      - Fix status to show a disconnected network error rather than
        clock skew or UDP error when disconnected
      - Use peer clock skew rather than clock offset for determining
        whether to display clock skew error
      - tunnels.jsp: Clarify tunnel table headings
    * Contexts: Add isRouterContext() method
    * Profile, DBHistory:
      - Tweak the rate periods
      - Add a global fail rate stat
      - Increase the HashMap sizes
    * Router: Move some more threads to I2PAppThread so an OOM won't
      crash the router
    * Timestamper: Reduce delays (cuts 10s out of router startup)
    * Transport: Rework peer clock skew method to always return a value
    * Tunnels:
      - Reduce the drop probability for TunnelBuildMessages at the OBEP
      - Schedule outbound startup instead of hanging the thread for 3s
      - Cleanup preprocessor code, add comments

zzz's avatar
zzz committed
2009-12-18 zzz
    * Console: Fix spacing in update section
    * I2CP:
      - Move client-side writes to their own thread
      - Reenable InternalSockets
    * i2ptunnel: Fix bundle script
    * InNetMessagePool: Cleanup
zzz's avatar
zzz committed
    * Log:
      - Close old file on rotate
      - Buffer writes
      - Write in UTF-8
zzz's avatar
zzz committed
    * SusiDNS:
      - Remove untranslatable button images (-15KB)
      - Tag buttons and messages
      - Add some button CSS
    * Tunnel building:
      - Increase timeout to 13s (was 10s)
      - Fix tunnel.buildReplyTooSlow stat
      - Tweak logging
      - Prioritize expl. builds over client builds
      - Code cleanups
    * TunnelSettings: Drop, unused

zzz's avatar
zzz committed
2009-12-15 zzz
    * HTTP Proxy: Make jump server list configurable
zzz's avatar
zzz committed
    * I2CP: Remove unused logs
zzz's avatar
zzz committed
    * i2psnark: Fix stop/start, cleanups
    * i2ptunnel: Fix bundle location
zzz's avatar
zzz committed
    * SusiDNS:
      - Rewrite and correct a lot of the text, tag jsps
      - UTF-8 fixes
zzz's avatar
zzz committed
    * TunnelManager: Fix a locking bug
    * Update: Improve error message

zzz's avatar
zzz committed
2009-12-13 zzz
    * Find ResourceBundles in wars
    * Fix restart from config.jsp if no wrapper
    * i2psnark: Elaborate popups

2009-12-12 welterde
dev's avatar
dev committed
    * Sort peers on tunnels.jsp by country
dev's avatar
-5  
dev committed
    * fix NPE in ^^
zzz's avatar
zzz committed
2009-12-12 zzz
    * Disable InternalSockets until it's fixed

zzz's avatar
zzz committed
2009-12-11 zzz
    * Addressbook, susidns: Rework addressbook into a
      HttpServlet, so susidns can kick it when the subscription
      list changes
    * Build: Truncate the history in the updater (-80KB)
    * Console:
      - Add a nicer handler for missing webapps
      - Restore the restart message
      - Change "depth" to "length"
    * Data: Cache the Hash hashcode
    * EepGet: Use InternalSocket if available
    * Fragmenter: Pull the new comments, new stats, and
      debug log fix from i2p.i2p.zzz.batch in - but not the
      batching mods, which need a fresh look.
    * I2CP: Implement an internal "socket" class that
      allows clients in the same JVM to connect to the
      router without going through the kernel
    * I2NP: Drop unused classes
    * i2psnark:
      - Translation support
      - Tweak torrent name popup
    * I2PTunnel:
      - Translation support
      - Switch all I2PThreads to I2PAppThreads
      - Run an InternalSocket as well for the HTTP Proxy
    * Naming Services:
      - New EepGetAndAddNamingService that appends new
        hosts to hosts.txt
      - Move default reverseLookup to base class
      - Deprecate unused services
    * NetDb:
      - Switch from ArrayList to ConcurrentHashSet in
        KBucketImpl to reduce chance of deadlock;
        remove periodic shuffling of the bucket,
        needs to be addressed elsewhere
    * SusiDNS:
      - Translation support
      - Remove jsp's from the war
    * Translation: Move code from routerconsole to core,
      to support translation of other webapps

* 2009-12-08  0.7.8 released

2009-12-08 zzz
    * Misc. cleanups after review, prep for release

2009-12-06 zzz
    * netdb.jsp: Fix bug caused by XSS fix
    * Translations: drop ru until after release

zzz's avatar
zzz committed
2009-12-05 zzz
    * Build: Fix poupdate dependency
    * Console: Add Russian option

2009-12-05 sponge
    * BOB: fix a critical bug causing ghosts on probes
      and remove unused code.

zzz's avatar
zzz committed
2009-12-04 zzz
    * Console: Close up some possible XSS (thanks Pragmatk)
    * i2psnark: Config cleanup, more HTML transitional fixes
    * readme*.html: Point to translated pages on www.i2p2.i2p

2009-11-29 zzz
    * config.jsp: Comment out unused stuff better
    * profiles.jsp: Hide non-ff from ff table
    * HTTP Proxy: Don't send proxy.i2p to the naming service,
      it was making the error pages load slowly
    * SOCKS Proxy: Fix an error message
    * Transport: Fix the default inbound burst

2009-11-29 sponge
    * net.i2p.router.transport.udp deadwood code cleanup.
    * documented rare NPE in InboundEstablishState.java.

2009-11-28 sponge
    * Improvement to BOB's TCPio to hopefully lower load average. It seems
      to be helping a little when stress-tested with Robert.

zzz's avatar
zzz committed
2009-11-24 zzz
    * DataStructures: Remove unused Logs
    * OrderedProperties: Simplify, use in i2psnark
    * Profiles: Record successes in the DB fail rate
      too, so we can calculate a percentage
    * profiles.jsp:
      - Change fail rate from count to percent
      - Hide standard profiles by default
    * Streaming:
      - When an "immediate" ack is requested, do it within
        250 ms (was 2000)
      - Request immediate acks when < 1/3 of window remains,
        or when < 3 packets remain in window,
        and every 8 packets (was when < 2 packets in window remain)
      - Change requested delay to RTT/2 (was RTO/2)
      - Log cleanup and javadoc

zzz's avatar
zzz committed
    * GeoIP: Update to Nov 17 2009 data
    * Netdb Floodfill rework part 4 of N:
      - Search closest-to-the-key
      - Put closest-to-the-key in explore don't-include-list
      - Use facade's peer selector for exploration rather than
        instantiating a new one
      - Adjust response time limit
    * netdb.jsp: Add popups on flags
    * Routerconsole build: rename include files so they aren't
      compiled and bundled separately (~15KB)

2009-11-18 zzz
    * Build: Don't update the po files by default, add new
      target "poupdate" to do that.
    * Netdb:
      - Floodfill rework part 3 of N: Send closest-to-the-key
        in DSRM replies
      - Adjust criteria for following DSRM
      - Note failed floods in the profile
      - Reduce max flood

zzz's avatar
zzz committed
2009-11-16 zzz
    * addressbook: Move class to net.i2p.addressbook
    * build: Take two test scripts out of the installer
    * i2psnark: Bye TPB
dg2-new's avatar
dg2-new committed
    * Banlist: Fix bug from two checkins ago, all were forever
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2009-11-14 zzz
    * HTTP Proxy:
      - Add support for error page translations
      - Add support for external pages for all errors
      - Fix lack of \r in error page headers
      - HTML transitional fixes
      - Cleanups
    * UDP PeerTestManager: Throw in some synchronization to
      try to fix stuck tests

zzz's avatar
zzz committed
2009-11-11 zzz
    * Console: Some colon cleansing
    * FloodfillPeerSelector: Adjustments
dg2-new's avatar
dg2-new committed
    * Banlist: Move HTML renderer to router console,
zzz's avatar
zzz committed
      add cause parameter for ease of translation,
      tag all causes

zzz's avatar
zzz committed
2009-11-11 zzz
    * Addressbook, NamingService: Allow 516 byte dests
      that end with AA but not AAAA, so we can permit
      non-null zero-length certs.
    * Console:
      - Tag tunnel status
      - Add transport table to netdb.jsp
    * i2psnark:
      - Reject torrents with too many pieces
      - Reject torrents with a single file named *.torrent
      - Increase max piece size to 2MB (was 1MB), but reduce
        max number of connections to lessen ooms
    * Netdb FloodOnlySearchJob:
      - Fix up field hiding and duplicate overrides
      - Other javadoc and java 5 improvements
    * Netdb StoreJob, FloodfillVerifyStoreJob:
      - Fix bug where reply selector wasn't registered for
        routerinfo stores, so we didn't get stats, and
        we kept retrying. This also prevented verification
        and profile updates for routerinfo stores.
        This bug was introduced 4 years ago by the change to
        store routerinfos directly.
      - Add dbStoreSuccessful() to profile, and have FVSJ
        call it or dbStoreFailed() as appropriate to give
        credit or blame to the floodfill we stored to.
      - Don't let FVSJ verify using the peer we stored to
    * Netdb Stores:
      - Floodfill rework part 2 of N:
        Store and verify closest to the key, subject to
        last-failed lookup and store stats.
      - DataHelper: Fix broken byte[] compareTo() used by XORComparator,
        was not doing unsigned comparisons!
      - FloodfillPeerSelector: Use standard XORComparator
        now that it works, instead of messing with BigInteger
      - FloodfillVerifyStoreJob: Set correct timeout for
        requeued store job (was only 10s)
      - KNDF: Rework getPeerTimout() to use 1 day averages,
        and lower the min, max, and multiplication factor.
      - Publish jobs: Lengthen timeout to 90s (was 30s for
        routerinfos and 60s for leasesets)
      - StoreJob: Limit max peer timeout to 15s for direct stores
    * Streaming: Fix unused resend delay field in the packet header,
      it is defined as seconds and we were not dividing by 1000,
      so we were truncating 1000 to one byte which equals 232.
    * UDP:
      - Better handle a test reply from bob with a 0-length IP
      - Add config options for min and max random port

2009-11-09 dr|z3d
    * New midnight blue lightweight theme; supports IE and provisions its own console_big.css
    * Streamlining and honing of console_big.css

zzz's avatar
zzz committed
2009-11-07 zzz
zzz's avatar
zzz committed
    * Console:
      - countries.txt: Convert to mixed case, include in update
      - netdb.jsp: Hide all routers by default, sort and tag country names
      - oldstats.jsp: Move to stats.jsp
      - profiles.jsp: Show new DBH times instead of counts
    * Profiles:
      - Track last good and bad lookup times
        and last good and bad store times,
        to prep for floodfill changes
      - Don't reset last-heard-about at router startup
    * Checklist and Android readme fixups

zzz's avatar
zzz committed
2009-11-04 zzz
    * Build:
      - Move some files to installer/resources
      - Fix initialNews.xml in install package
    * Console: More tagging
    * NetDb: Reduce routerinfo expiration slightly
    * Profiles:
      - Remove the almost-unused send and receive size RateStats;
        this also reduces the effective time for isActive()
      - Only store DB history on-demand to save space;
        fix up resulting NPEs
      - Savings: ~2MB heap
    * Throttle: Reduce max msg delay to 1250ms (was 1500)
    * UDP: Pick a random port on first install or bind failure -
      No more port 8887 to prevent easy state-level blocking

sponge's avatar
sponge committed
2009-11-04 sponge
    * Fixups to Slackware scripts

zzz's avatar
zzz committed
2009-10-31 zzz
    * Console:
      - More tagging
      - Show user-installed themes on configui.jsp
      - Fix reseed button spacing
    * GraphHelper cleanup
    * Susidns: add link to subscription faq

zzz's avatar
zzz committed
2009-10-29 zzz
    * Console tag fixes, bundle script fix
    * Add help target to build.xml

zzz's avatar
zzz committed
2009-10-28 zzz
    * Console:
      - Rewrite TrustedUpdate version comparator, use for netdb version table
        so 0.7.10 will be sorted correctly
      - Reduce netdb.jsp memory usage
      - More tagging fixups
      - configclients.jsp fixup for "Web console"
      - Remove limiter status from peers.jsp
      - Fix UPnP status header
    * NetDb:
      - Generate new RI immediately at startup
      - Try again to not publish RI until we have been up a few minutes

zzz's avatar
zzz committed
2009-10-26 zzz
    * Console:
      - Add parameterized tag
      - Don't save config when checking for updates on configupdate.jsp
      - Refactor confignav.jsp to java and tag
      - Start tagging profiles.jsp
      - Rework ConfigRestartBean and tag
      - More tag fixups
      - Add lang=xx for testing
      - Add file for additional tagged strings

2009-10-23 zzz
    * Certificate: Fix the (apparently unused) readBytes(byte[], int) method
      for a null certificate - http://zzz.i2p/topics/388 - thanks HungryHobo
    * Console:
      - Don't hide link to configui.jsp for IE any more
      - Add lang selection on configui.jsp
      - Tag strings in configui.jsp
      - Load console_big.css if lang == zh
      - Add _x() tag for static iniitializers
      - HTML transitional input tags
      - Rename cssHelper to intl for ease of tagging
    * Update: Better error message when .sud file not found or truncated
      http://forum.i2p/viewtopic.php?t=3979
      The bug with the file going to the wrong place was fixed a couple months ago.

2009-10-21 dr|z3d
    * Enhance index.jsp with "paperclips" for the main links
    * Tighten sidepanel layout to gain us some vertical screen real estate
    * Update news.xml with the correct link for Chinese translation page

zzz's avatar
-4  
zzz committed
2009-10-20 zzz
    * I2NP: Remove old TunnelCreateMessage and TunnelCreateStatusMessage
    * Logger: Don't kill the whole JVM if we can't open the log file
    * MessageHistory: Cleanups
    * NetDb: Move renderStatusHTML to routerconsole
    * Router Console translation infrastructure:
      - Persistent lang setting with routerconsole.lang=xx
      - Loading any page with ?lang=xx changes the persistent setting
      - Add a custom Jetty handler to load foo_xx.jsp if it
        exists for language xx. This is for jsp files with lots
        of text in them. Otherwise use inline translate methods.
        Not for included jsps.
      - Add a script to create and update messages_xx.po translation
        files, and create ResourceBundles from them
      - Add class to translate strings from cached ResourceBundles
      - Add translate wrappers to HelperBase, FormHandler, and *Renderer,
        so calls can be made from both jsp and java files
      - Add example translations on configupdate.jsp - two in
        the jsp itself and one in the helper.
      - This is for strings in routerconsole only. Will be expanded
        to other webapps and the router later.
    * summarynoframe.jsp:
      - Refactor to SummaryBarRenderer (saves 100KB)
      - Add translate tags
      - Use context RNG for nonces
      - Transitional HTML style for input tags
    * TunnelDispatcher: Drop messages that expire far in the future
    * TunnelPoolManager: Move renderStatusHTML to routerconsole

z3d's avatar
z3d committed
2009-10-16 dr|z3d
    * Extensive UI whitespace cleanups and positional finessing.

zzz's avatar
-1  
zzz committed
2009-10-16 zzz
    * Crypto: Two more test classes out of the lib
    * FloodfillMonitor: Slow down the volunteers again
zzz's avatar
-4  
zzz committed
    * i2psnark: Add TPB tracker
zzz's avatar
-1  
zzz committed
    * NetDb: Rework part 1 of N:
      - Flood only to those closest to the key
      - Java 5 fixups
zzz's avatar
-4  
zzz committed
    * oldconsole.jsp: Remove almost all of it, add lines for tino
zzz's avatar
-1  
zzz committed
    * ProfileOrganizerRenderer:
      - Move to routerconsole
      - Write directly to Writer for speed
    * Router: Add router.hideFloodfillParticipant option for testing
    * StatisticsManager: Cleanup after release

* 2009-10-12  0.7.7 released

2009-10-11 zzz
    * Misc. cleanups after review, prep for release

zzz's avatar
zzz committed
    * ElGamalEngine: Fix rare AIOOBE (thanks hottuna!)
    * I2PTunnel: Fix persistent client tunnel keyfile location
zzz's avatar
zzz committed
    * peers.jsp: Fix NTCP rate formatting (thanks hottuna!)
    * Add paste.i2p2.i2p, and echelon's software links to readmes (thanks
      to GoHE for Swedish translations); cosmetic tweaks to same.
    * Various optimizations and tweaks to all 3 themes.

zzz's avatar
zzz committed
2009-10-07 zzz
    * Doc and eepsite_index updates
    * UDP: Remove port number from thread names

2009-10-04 zzz
    * i2psnark: Fix NPE caused by last checkin (thanks wuxia!)

zzz's avatar
zzz committed
2009-10-02 zzz
    * BuildMessageTest: Move out of the lib
    * i2psnark: Fix changing opentracker list
    * Makefile.gcj: fixups
    * OCMOSJ: Fix SKM NPE on closed dest
    * ProfileOrganizerRenderer: static tweaks
    * SusiDNS: HTML transitional fixes, might help opera
    * Tunnel IVValidator: Increase size of bloom filter
      for high-bw routers (>= 512KBps share bw) to reduce
      false positive rate. Adds 2MB heap for >= 512KBps routers
      and 6MB for >= 1536KBps.

2009-09-21 sponge
    * fixups to SlackBuilds. requiredbuilder does the wrong thing, and
      thinks that java is perl! This isn't really a big deal,
      the file format is simple enough and the requirements are known.

2009-09-07 mkvore
    * removes a SAM v1&2 bug

2009-09-04 zzz
    * SessionKeyManager, OCMOSJ, Garlic:
      - Enable per-client SessionKeyManagers for better anonymity
      - tagsDelivered() now means tags are sent, not acked.
      - OCMOSJ uses the new TagSetHandle object returned from tagsDelivered()
        to call tagsAcked() or failTags() as appropriate.
      - Assume tags delivered on an established session to
        reduce streaming lib stalls caused by massive tag deliveries;
        should increase throughput and window sizes on long-lived streams
      - Unacked tagsets on a new session are stored on a separate list
      - Don't kill an OB Session just because it's temporarily out of tags
      - Increase min tag threshold to 30 (was 20) due to new speculative
        tags delivered scheme, and to increase effective max window
      - More Java 5 and dead code cleanups, and more comments and javadoc,
        debug logging cleanups
      - Key toString()s for easier debugging
      - HandleGarlicMessageJob: cleanup of unused things
    * Tunnel TestJob:
      - Consume the tag after a failed test so it doesn't
        stay in the SKM
      - Disable tests with router.disableTunnelTesting=true
    * configkeyring.jsp: Add delete and cancel buttons
    * Logging: Fix directory for rotated log
    * TunnelDispatcher: Cleanup

sponge's avatar
sponge committed
2009-09-02 sponge
    * Small logic fix for dr|z3d

zzz's avatar
zzz committed
2009-08-28 zzz
    * Client: Fail if no date handshake after 30s or no leaseset
      after 5m, rather than hanging forever.
    * Console:
      - Prevent OOMs in NewsFetcher or StatsSummarizer from
        killing the router
      - Fix favicon (-17)
    * Data: Speed up many hashcodes
    * DataHelper: Fix byte array hashcode for small arrays
    * DecayingBloomFilter:
      - Replace with new DecayingHashSet for 3 of 4 uses,
        and also in the 4th if the router is low-bandwidth.
        Saves 8 MB heap.
    * EepGet, I2PSnark:
      - New I2PSocketEepGet fetches through existing tunnels
        rather than through the proxy
      - Use new eepget for i2psnark
      - Add a fake user agent for non-proxied fetches
      - Cleanups
    * NetDb:
      - oops, store leaseset locally even when shutting down
        (fix -16)
      - Java 5 cleanups
    * PRNG:
      - Rename config option to prng.buffers (was router.prng.buffers)
      - Change the default from 16 to 2 for I2PAppContext (saves 3.5MB)
    * Tunnel:
      - Adjust the random drop probability for the message size
      - Concurrentify HashSetIVValidator
    * TunnelPool:
      - Don't test tunnels when shutting down
      - Less rates
      - Java 5 cleanups

zzz's avatar
zzz committed
2009-08-24 zzz
    * ClientManager:
      - Prevent client destination theft by rejecting duplicates
      - Java 5 cleanups
    * Console:
      - Put favicon on every page
zzz's avatar
zzz committed
      - Make every page UTF-8, ☃ safe for snowmen
zzz's avatar
zzz committed
      - Remove options boxes on configtunnels.jsp
      - Fix UTF-8 form submission (i2ptunnel too)
      - Throw 403 instead of 404 from flags.jsp and viewstat.jsp
        so we don't render error.jsp
    * I2CP: Fix the SessionConfig serializer in DataHelper,
      so that UTF-8 tunnel names are not corrupted by
      I2CP and can be displayed on the console
    * Message: Move 2 unused classes out of the router lib (~15KB)
      (more SKM prep)
    * Message, I2PSession, SessionKeyManager, Console:
      Prep for SessionKeyManager work in the router -
      Fix up SKM renderStatusHTML(); add debug.jsp to see it;
      Redefine getClientSessionKeyManager();
      More cleanups
    * Ministreaming: Kill deprecation warnings
    * profiles.jsp: Bulletproofing, less memory usage
    * Streaming, I2PSession:
      Prep for SessionKeyManager work in the router -
      Comment out, deprecate, and javadoc for unused keys and tags,
      they are vestiges of end-to-end crypto
    * Updates: Verify zip at startup before extracting
    * Wrapper: Take a couple fields out of the log so it's narrower

2009-08-20 zzz
    * Config files:
      - Add some path and encoding help
    * configclients.jsp: Add full path to config file
    * configpeer.jsp: Limit max displayed banned IPs
    * Console:
      - Don't display firewall warning unless it's real
      - Cleanups
    * DataHelper, I2PTunnel, Router:
      - Save config files in UTF-8 rather than the default encoding,
        since we read them in UTF-8!
    * eepsite_index_de.html: localhost -> 127.0.0.1
    * i2psnark: Add size total
    * I2PTunnel:
      - Make IRC Proxy non-shared, delayed-start, close-on-idle
        for new users, for the anonymity benefits (see "Shared Clients,
        Correlation and Collusion" http://zzz.i2p/topics/217 )
      - Remove "experimental" flag on new client options
    * Jetty build: More clean targets
    * jetty.xml: Change encoding to UTF-8
    * jobs.jsp: Cleanup
    * logs.jsp: Add system encoding
    * Ministreaming: Cleanups, deprecation, move demos out of the lib
    * netdb.jsp: Flags for leases
dg2-new's avatar
dg2-new committed
    * NTCP: Clean up clock skew banlist message
    * profiles.jsp:
      - Rename the Failing column
      - Reduce the time cutoff again to 90m (was 2h)
    * readme*html: localhost -> 127.0.0.1
    * Router: Don't do some things when we are shutting down
dg2-new's avatar
dg2-new committed
    * Banlist: Clean up expire message
    * Stats:
      - Fix BufferedStatsLog so it works at all
      - Don't instantiate BufferedStatsLog unless stats.logFilters
        property is defined (restart now required to enable logging)
        This eliminates the StatLogWriter thread and a decent
        amount of memory.
      - Move two CLI classes out of the lib
      - Commment out places where getStatLog() isn't checked for null
      - Cleanups
    * Transports: Lower conn limit factor to 50 (was 60)
    * Update:
      - Fix problems where a requested unsigned update would actually
        kick off a signed update
      - Fix problem when policy set to notify, and clicking
        check for update, incorrectly causing unsigned update download
        and bad messages
      - Verify zip integrity of unsigned updates
      - Move zip files to router dir, not base dir
      - More tweaks and cleanup
    * VMCommSystem fixups
    * WorkingDir: Ensure modified files are processed with UTF-8 encoding
    * XmlPull: Remove, unused.

2009-08-19 sponge
    * Java code to set Router Console password for dr|z3d

2009-08-18 dr|z3d
    * Fixes for sidepanel
    * Overhauled classic theme for i2ptunnels
    * First stage of code validation to fix broken and "illegal" code
    * Multifarious other UI tweaks and fiddles.

sponge's avatar
sponge committed
2009-08-15 sponge
    * Merge in dr|z3d and my own html fixes for router console java and jsp
      files so that Opera (and now IE?) doesn't puke anymore on the missing
sponge's avatar
sponge committed
      and misplaced HTML tags.
    * Optimized all jsp files so that they are shorter to save space, which
      is then used to fix the broken HTML. We should break even space-wise.
    * Bump to -13.

sponge's avatar
sponge committed
2009-08-11 sponge
    * Code Janitor time! Many fixes and documenting fixes that should be
      done in the future. for the most part, this is a general code cleanup.
    * On smaller/embedded systems, the "final" keyword cleanups will have
      more of an impact than on larger systems.
    * Document missing hashCode() methods.
    * Unhide more variables to make code easier to read.

2009-08-11 zzz
    * Android:
      - Merge in the branch
      - Build instructions in the android/ dir
      - Rename HMac to I2PHMac to avoid android lib conflicts
      - Configurable number of PRNG buffers in AsyncFortunaStandalone
        (router.prng.buffers=16) to control memory use - these
        are 256KB each.
      - Configurable size of the DecayingBloomFilters
        (router.decayingBloomFilterM=23) to control memory use - there
        are 4 pairs of these (8 total), each 2**(M-3) bytes,
        or 8MB total for M=23.
      - There's at least two unsolved fatal problems:
        1) Most of the routerinfo signature verifications fail,
           including our own
        2) It randomly dies after a while
    * Console:
dg2-new's avatar
dg2-new committed
      - Rename the banlist and the blocklist
      - Try to reduce servlet problems on iframe
      - Select server or client icon for local dests
    * EepHead: New
    * Move StatsGenerator from router to routerconsole
    * Move the unused AdminManager from router to the apps directory
    * NetDb stats: Hide part. tunnel total events, effective next release
    * Router: Comment out dead oldconsole code
    * Updater:
      - Add new unsigned update option, triggered by
        last-modified date, using the new EepHead.
        Buttons still are not hidden after download complete.
      - Make the .sud updater use the temp dir when proxied
      - Several cleanups

z3d's avatar
z3d committed
2009-08-11 dr|z3d
    * Extensive sidepanel overhaul
      - Ensure all sidepanel headings link to pertinent pages
      - First stage of enhanced Local Destinations sub-panel presentation
      - Move Configuration, Help, and I2PTunnel manager links to headings
      - Add tooltips to all linked content; table content next in line
z3d's avatar
z3d committed

2009-08-07 dr|z3d
    * summarynoframe.jsp
      - Main content now tabulated for better presentation
      - Headings now more prominent
      - Pruning where necessary of text strings
    * Console themes (light/dark/classic)
      - Ensure functionality with new sidepanel layout
      - Custom hacks for IE/classic
      - Enhanced form/button presentation
zzz's avatar
-8  
zzz committed
2009-08-07 zzz
    * build.xml:
      - Try to automate the release process
      - Take jetty back out of the updater after 4 releases
    * Console:
      - Add a custom error page
      - Don't count ourselves in known peers
      - Hide update button when shutting down
      - Increase skew warning threshold to 3s (was 100ms)
      - Remove UTC time from summary bar
      - Truncate long dest names
      - Try to reduce servlet problems on index page
    * Core:
      - Catch unzip fd leaks on error
      - Move 2 test classes out of the lib
    * Eepsite:
      - Quote the jetty.xml path in clients.config,
        and adjust the migration function, to fix the
        eepsite-won't-start bug on windows
    * HTTP Proxy:
      - Restore the localhost error message
      - Catch 127.0.0.1:xxxx addresses too
    * I2PTunnel:
      - Move the privkey files from the app dir to the
        config dir, in preparation for splitting the two
        dirs by default
    * Ministreaming:
      - Make getInt() static
      - Move the big TestSwarm class out of the lib
    * NetDb stats: Post-release cleanup
    * PersistentKeyRing: Fix broken storage of keys in config file
    * Router: Move the WorkingDir class from i2p.jar to router.jar
    * Streaming: New option i2p.streaming.answerPings (default true)
    * Timestamper: Don't start thread if not enabled
    * Wrapper:
      - Extend timeout to 20s (was 5s)
      - Shorten ping interval to 5m (was 10m)

2009-08-03 dr|z3d
    * Extensive update to the Classic theme; custom css hacks for IE.

2009-08-02 dr|z3d
    * Better support for Internet Explorer/classic theme.
    * Incremental improvements to classic theme.
    * More UI tweaks and fiddles.
z3d's avatar
z3d committed
    * Fixes for I2PSnark UI; more to come.
    * Resolve anomalous buttons and text fields in console ui.
    * Enhance presentation of data in /peers.jsp.
    * Fix themes issue with horizontal width of radio/checkbox icons.
    * Other cosmetic UI enhancements.

zzz's avatar
zzz committed
* 2009-07-31  0.7.6 released

2009-07-31 zzz
    * Update versions, package release
    * Fix snark.css link
    * Revert graph antialias enable
    * Remove <center> from iframe head
    * Fix tunnels.jsp HTML
    * Prevent linux-only installer screen from displaying on windows

zzz's avatar
zzz committed
2009-07-28 zzz
    * Add new reseed URL (thanks eche|on!)

2009-07-27 zzz
    * Add flag dimensions to speed up profiles.jsp rendering
    * Catch i2psnark create torrent with no data entered error
      http://forum.i2p/viewtopic.php?t=3763
    * Fix typos in proxy error files

2009-07-26 zzz
    * Add wrapper.config and i2prouter comments for 'portable'
    * Recognize same base and config dir in WorkingDir
    * Reformat XInfoPanel in installer for clarity

2009-07-25 dr|z3d
    * Enhance the layout of /graphs.jsp
    * Fix some of the irks in I2PSnark UI.
    * Ongoing tweaks and fiddles to the themes' css. Not finished by any means!
2009-07-24 zzz
    * Eepsite: Add Deutsch index page and css (thanks sperrbezirk!)
    * Router: Support i2p.dir.base and i2p.dir.config passed in via properties
    * Throttle: Decrease default max tunnels to 2500

2009-07-23 dr|z3d
    * Include additional tile graphics and I2PSnark header logo in /console/images/
    * Tidy up some layout irks; add some last minute 0.7.6 pre-release sparkle!
    * Ongoing overhaul of the I2PSnark UI.

sponge's avatar
sponge committed
2009-07-23 sponge
    * Add bob.i2p and sponge.i2p keys to hosts.txt

sponge's avatar
sponge committed
2009-07-23 sponge
    * Fix jdk 1.6izm in BOB as per zzz

2009-07-22 dr|z3d
    * More work on the I2PSnark UI.
    * Start of improvements to tunnel table data.
    * Ongoing theme enhancements.

    * First stage of overhaul of webapps ui.
      susidns, susimail & i2psnark now lightly themed.
    * Proxy error messages now themed as per chosen theme.
    * Modest tweaks to the classic theme, et al.

2009-07-21 zzz
    * configclients.jsp: Close anchor
    * Console: Drop top-level css, unused now
    * Eepsite: Add default robots.txt (thanks v1v4)
    * GeoIP: Add license info
    * HTTP Proxy: Additional proxy.i2p restrictions
    * ServiceManager: Drop, unused

zzz's avatar
zzz committed
2009-07-20 zzz
    * BuildHandler: Increase threshold for dropping instead
      of rejecting to 81% (was 75%)
    * Console: Hide configui.jsp from IE, disable selection
    * GeoIP: Fix minor bugs (thanks Arsene)
    * graphs.jsp: Reduce refresh time to eliminate double iframe load
    * HTTP Proxy: Fix proxy.i2p "home page" (thanks dr|z3d)
    * I2PSnark: Remove Postman tracker
    * Peer Profiles:
      - Reduce max age for display to 2h (was 3h)
      - Drop unused Persist classes
      - Dynamically adjust expire time to control memory use
      - Increase reorganize time to 45s (was 30s) to reduce CPU use
        and lock contention
      - Remove some stat rates
      - Delay start of PeerTestJob
    * Stats: Increase coalesce time to 50s (was 20s) to reduce CPU use
    * summarynoframe.jsp: Cleanup
    * Transports: Reduce the number of Rates

zzz's avatar
zzz committed
2009-07-16 zzz
    * HTTP Proxy: Themes for error pages

sponge's avatar
sponge committed
2009-07-16 sponge
    * ministreaming:
      - small pedantic fix
    * streaming:
      - Fix a deadly race condition.
      - Some small pedantic fixes.
    * core:
      - Fix a deadly race condition.
    * BOB:
      - Fixed some races that occured from fixing races in streaming and core.
      - Some badly needed code refactoring to depend less on the database.

zzz's avatar
zzz committed
    * Console:
      - Make light the default theme
      - Convert readme_zh.html from GB2312 to UTF-8
    * Installer: Don't launch the router from the postinstall.sh script
      on linux anymore; add a panel to the installer to provide launch instructions.

sponge's avatar
sponge committed
2009-07-15 sponge
    * Slackware SlackBuild fixes.

2009-07-14 dr|z3d
    * Increment to 0.7.5-10
    * Tidy up layout of readme.* files.
    * Work on console css to make it more Opera/webkit friendly.
    * Other cosmetic tweaks.

zzz's avatar
-9  
zzz committed
2009-07-13 zzz
    * Build: Add readme*.html files to the udpater
    * Build Handler: Don't reject for conn limits if class O,
      under the assumption that they are already talking
      to most of the routers, so there's no reason to reject. This may drive them
      to their conn. limits, but it's hopefully a temporary solution to the
      tunnel build congestion. As the net grows this will have to be revisited.
    * Throttle: Increase default max tunnels to 3000,
      to give us more capacity during congestion
    * Tunnels: Change the default variance from 1 to 0.
      Under the one-packet-enough theory, and the fact that most
      tunnels in a x+1 pool are of length x, variable lengths
      don't really help that much. Also, a default of 1 led
      to all sorts of problems with iMule/SAM, who was not
      setting the variance properties.
      This will affect exploratory tunnels for new users,
      and those that have never saved a change on configtunnels.jsp,
      and iMule users 1.4.5 and earlier.

zzz's avatar
zzz committed
2009-07-12 zzz
    * Add configui.jsp
    * orange flash remove take 2

2009-07-11 zzz
    * netdb.jsp: Fix bad tag causing orange mouseovers

z3d's avatar
z3d committed
2009-07-11 dr|z3d
    * More enhancements to the router console, consolidation of the
z3d's avatar
z3d committed
      - Apply new themes with routerconsole.theme=light/dark/classic
        added to advanced config.

zzz's avatar
-6  
zzz committed
2009-07-11 zzz
    * Build Handler: Drop rather than reject requests when near
      conn limits and the next hop is not connected, to reduce
      connection congestion
    * Console: Force IE to the classic theme
    * I2PSnark:
      - Bring back details links for Postman2 B64 torrents
    * I2PTunnel:
      - Make reduce-on-idle the default for all the shared clients
        for new installs (15m)
    * Profile Organizer:
      - Allow NTCP-only peers in inbound tunnels
    * Transports:
      - Move from a single connection limit threshold (80%) to
        two (75% and 87%), and only start rejecting tunnels
        at the higher threshold, to increase build success
      - Move some limit methods from the transports to TransportImpl
      - Add limit methods with a threshold argument
      - Increase default SSU conn limits a little more

2009-07-07 dr|z3d
    * Introducing 2 new console themes (light & dark), in addition
      to changes to the console navigation; navbar now resides in
      the sidepanel and other stuff besides. More to follow!
z3d's avatar
z3d committed

zzz's avatar
-4  
zzz committed
2009-07-06 zzz
    * Console: Fix small textareas on Opera
    * EepGet: Don't send X-Accept-Encoding for non-proxied fetches
    * HTTP Proxy: Limit proxy.i2p to /themes/ directory
    * I2PSnark:
      - Change postman2 announce URL to use hostname rather than B64
      - Shorten torrent name to fit better on one line
    * I2PTunnel:
      - Add edit text
      - Fix broken favicon
    * Move almost all uses of StringBuffer to StringBuilder,
      for efficiency (thanks Arsene for the suggestion)
    * Reseed:
zzz's avatar
-4  
zzz committed
      - Fix console status messages broken by global replace
      - Remove tino, add b.netdb.i2p2.de
    * SSUDemo: Move to the router/java/test directory
    * Startup: Log clients.config problems
    * Transport: Implement NTCP auto-transition from an
      address to no address, so that inbound NTCP is disabled
      after SSU detects a firewall. When UPnP was apparently successful
      but the router is still firewalled (due to an additional
      software firewall or a bad UPnP indication, for example)
      the router will now remove the NTCP address.

sponge's avatar
sponge committed
2009-07-05 sponge
    * Added X-I2P-DestB64 and X-I2P-DestB32 http headers

2009-06-29 zzz
    * Big directory rework:
      Eliminate all uses of the current working directory, and
      set up multiple directories specified by absolute paths for various uses.

      Add a WorkingDir class to create a user config directory and
      migrate certain files to it for new installs.
      The directory will be $HOME/.i2p on linux and %APPDATA%\I2P on Windows,
      or as specified in the system property -Di2p.dir.config=/path/to/i2pdir
      All files except for the base install and temp files will be
      in the config directory by default.
      Temp files will be in a i2p-xxxxx subdirectory of the system temp directory
      specified by the system property java.io.tmpdir.

      Convert all file opens in the code to be relative to a specific directory,
      as specified in the context. Code and applications should never open
      files relative to the current working directory (e.g. new File("foo")).
      All files should be accessed in the appropriate context directory,
      e.g. new File(_context.getAppDir(), "foo").

      The router.config file location may be specified as a system property on the
      java command line with -Drouter.configLocation=/path/to/router.config
      All directories may be specified as properties in the router.config file.

      There will be no migration from an existing installation
      unless the system property -Di2p.dir.migrate=true is set.
      If there is no migration, it will continue to use $I2P for all files,
      except for temporary and PID files.

      The following linux scripts are now customized with the install path at,
      installation, and may be moved to /usr/local/bin and run from any
      working directory:
          eepget, i2prouter, runplain.sh

      For new installs, the i2p base directory ($I2P) may be read-only
      if updates are disabled. The only time i2p should write to the base directory
      is to unzip the update file. Updates are downloaded to the config dir. If, upon
      restart, the base dir is not writable, it will log a message and continue.

      Additional information, copied from I2PAppContext:

      #  Directories. These are all set at instantiation and will not be changed by
      #  subsequent property changes.
      #  All properties, if set, should be absolute paths.
      #
      #  Name	Property 	Method		Files
      #  -----	-------- 	-----		-----
      #  Base	i2p.dir.base	getBaseDir()	lib/, webapps/, docs/, geoip/, licenses/, ...
      #  Temp	i2p.dir.temp	getTempDir()	Temporary files
      #  PID	i2p.dir.pid	getPIDDir()	router.ping
      #  Config	i2p.dir.config	getConfigDir()	*.config, hosts.txt, addressbook/, ...
      #
      #  (the following all default to the same as Config)
      #
      #  Router	i2p.dir.router	getRouterDir()	netDb/, peerProfiles/, router.*, keyBackup/, ...
      #  Log	i2p.dir.log	getLogDir()	logs/
      #  App	i2p.dir.app	getAppDir()	eepsite/, ...
      *  Note that the router can't control where the wrapper actually puts its files.

      All these will be set appropriately in a Router Context.
      In an I2P App Context, all except Temp and PID will be the current working directory.

      Related changes:
      i2prouter:
      - Don't cd to script location, no longer required
      jbigi, cpuid:
      - Extract files from jar to temp dir, load from that dir, then
        copy to the base dir if we have permissions (and failing silently
        if we don't), so we have optimized libs and no complaints
        when we have a read-only base dir.
      logs.jsp:
      - Get wrapper log location from a property too
      - Display log file locations
      RouterLaunch:
      - If no wrapper, put wrapper.log in system temp dir
        unless specified with -Dwrapper.logfile=/path/to/wrapper.log
        or it already exists in CWD (for backward compatibility)
      - Append rather than replace wrapper.log
      - Pass wrapper log location to router as a property, so that logs.jsp can find it
      runplain.sh:
      - Add path substitution to runplain.sh on install
      - Pass I2P base dir to the router as a property
      Systray:
      - Fix NPE if no config file
      wrapper.config:
      - Put wrapper.log in system temp dir for new installs
      - Pass I2P base dir to the router as a property

2009-06-29 zzz
    * HTTP Proxy:
      - Add simple web server for "proxy.i2p" to serve
        images and CSS for the error pages
      - Take CSS out of the error pages; use internal server
        for CSS, image, and favicon
    * i2psnark build:
      - Move FetchAndAdd to static inner class
      - Fix standalone build to include i2psnark.jar since classes
        aren't in the .war anymore
      - Have standalone jetty use I2PAppContext temp directory
      - Replace launch-i2psnark.jar with launch-i2psnark script,
        since RunStandalone is in i2p.jar
      - Clean up jetty-i2psnark.xml, turn off jetty logging
      - Remove standalone build from the pkg target in the main build.xml
    * Jbigi, CPUID:
      - Reduce memory demand on startup from 4MB to 4KB each
    * NetDb: Fix an NPE on early shutdown
    * Reseeding / NetDb:
      - Move reseeding from the routerconsole app to
        the router, so that we can bootstrap an embedded router lacking a routerconsole
        (iMule or android for example), without additional modifications.
        This allows better integration between the reseeding function
        and the netDb.
      - Call reseed from PersistentDataStore, not from the
        routerconsole init, and start seeding as soon as the netdb has read
        the netDb/ directory, not when the console starts.
      - Wake up the netdb reader as soon as reseeding is done,
        rather than waiting up to 60s.
      - Don't display the reseed button on the console until the
        netdb initialization is done.
    * RouterConsoleRunner:
      - Catch a class not found error better

zzz's avatar
zzz committed
2009-06-29 zzz
    * Console: Convert table headers to <th> to prep for CSS changes
    * Console CSS: Move css file, make a classic theme to prep for CSS changes
    * Console: Move favicon.ico and i2plogo.png out of the .war
      so that the HTTP proxy can use them directly;
      proxy error pages must be updated next
    * NetDb stats: Normalize tunnel build stats for increased anonymity,
      effective in 0.7.6

sponge's avatar
sponge committed
2009-06-30 sponge
    * General cleanup on streaming and ministreaming.
      This fixes some compile warnings, and prepares for a larger fix.
      There is no code-flow changes, just lint. One warning remains as I am
      unsure exactly how to solve the problem yet.

* 2009-06-29  0.7.5 released

2009-06-29 Complication
    * Update versions, package release
    * Remove the last reference to my eepsite as a "news.xml" source,
      and likewise stop my public key from being included
      among valid release signing keys.

sponge's avatar
sponge committed
2009-06-25 sponge
    * Summary frame layout change so it makes sense.

zzz's avatar
-4  
zzz committed
2009-06-23 zzz
    * Browser Launch: Add sensible-browser, x-www-browser, defaultbrowser, and
      www-browser in an attempt to launch the user's preferred browser
    * configupdate.jsp: Cleanup
    * Installer: Include console.css!!!
    * NTCP: Try again to prevent two Event Pumpers
    * Update: Increase max retries
    * UPnP: Catch AIOOBE reported by tuna

zzz's avatar
-3  
zzz committed
2009-06-21 zzz
    * Browser Launch: Wait until the routerconsole is up before launching the browser
    * Installer: Fix wrapper.config parsing on windows
    * netdb.jsp: Add country chart at bottom, clean up version chart
    * News Fetcher:
      - Change default news URL, use it instead of the old one even if
        the old one is saved in the configuration, to assist in the transition
    * ReseedHandler:
      - check for upper case HREF to be compatible with apache indexes
    * Statistics Manager: post-0.7.4 cleanup
    * Transport: Treat 5.0.0.0/8 (Hamachi) as local

mathiasdm's avatar
mathiasdm committed
2009-06-17 Mathiasdm
    * desktopgui:
      - Added client and server tunnel view
        (saving does not work yet)

zzz's avatar
zzz committed
2009-06-17 zzz
    * PeerSelector:
      - Limit exploratory tunnels to connected peers when over
        half the connection limit (was 80%)
      - Have the high capacity tier fall back to a new connected tier
        before moving on to the not failing tier
        so that tunnel build success doesn't collapse and drive
        connections to the limit
    * PeerTestJob:
      - Limit to connected peers

zzz's avatar
-1  
zzz committed
2009-06-12 zzz
    * Console:
      - Move the console css from default.css in the .war to docs/themes/console/console.css,
        and support console themes in the main console with routerconsole.theme=foo
      - Remove unused NoticeHelper

    * Installer:
        Upgrade to izpack 4.3.0 and add a short script to fix Vista install problems.
        (previous izpack was 3.7.2 from 2005-04-22)
zzz's avatar
-1  
zzz committed
        izpack 4.3.0 from :
        http://dist.codehaus.org/izpack/releases/4.3.0/IzPack-install-4.3.0.jar
        SHA1 f06da6b26ac2c68fed64ab38980352989b8d8841
        (no signatures or sha1sums found on website, and the jar is unsigned)
        License: Apache 2.0
zzz's avatar
-1  
zzz committed
        upack izpack:
        java -jar IzPack-install-4.3.0.jar
        or
        java -jar IzPack-install-4.3.0.jar -console
zzz's avatar
-1  
zzz committed
        get the standalone-compiler.jar from the installation lib/ directory:
        SHA1 6d2b4a5657bfb864a333b1c4b1c0f8223aa57d80
        (no signatures or sha1sums found on website, and the jar is unsigned)
zzz's avatar
-1  
zzz committed
        This fixes the bug with the install windows centered in all the
        workspaces, not the current workspace. And who knows what other
        bugs in the last 4 years.
zzz's avatar
-1  
zzz committed
        To fix Vista (and presumably Windows 7) permissiom problems,
        add a run-privileged flag for those, and run the new fixperms.bat
        which calls icacls to add the privileges to the install directory.
zzz's avatar
-1  
zzz committed
        Add support for 6 more language packs found in the new release.
        Change from ISO3 codes to native language names.
zzz's avatar
-1  
zzz committed
        Disable creation of the i2p.tar.bz2 file in build.xml
        (distributed as i2pheadless-0.7.x.tar.bz2), as izpack 4.3.0 now
        supports headless installation with java -jar i2pinstall.exe -console.
        Update INSTALL.txt and INSTALL-headless.txt accordingly.

      - Add install and temp path substitution to wrapper.config and
        i2prouter on install

      - Change the wrapper.config classpath to one line: lib/*.jar
        This means we lose control of classpath load order, so move the windows installer
        jars copy.jar, delete.jar, and exec.jar to a new installer/ directory so
        these jars won't be in the classpath or potentially conflict, since
        copy.jar and delete.jar include FileUtil.class, and we don't want to have
        to remember to add them to the updater if we ever change FileUtil.class.
        Delete the installer/ directory in postinstall.sh since it is windows-only.

    * Watchdog: Only try to dump threads if there is a wrapper
         and we aren't on windows

* 2009-06-12  0.7.4 released

2009-06-12 Complication
    * Update versions, package release

zzz's avatar
zzz committed
2009-06-09 zzz
    * NTCP: Fix startup race NPE (thanks postman!)

sponge's avatar
sponge committed
2009-06-08 sponge
    * Last commit for this cycle. All debugging except for WARN removed.
      I can use the visit command to debug now anyway.

sponge's avatar
sponge committed
2009-06-08 sponge
    * Removed BOB debugging as-per zzz

sponge's avatar
sponge committed
2009-06-08 sponge
    * Fixed NPE and some other goofups in BOB.
    * BOB bump version

zzz's avatar
zzz committed
2009-06-07 zzz
    * Build file:
      - Add updaterWithJettyFixesAndGeoIP, use it in pkg for one release
      - Cleanups
    * Console:
      - netdb.jsp cleanup
      - tunnels.jsp cleanup
zzz's avatar
zzz committed
    * ExploratoryPeerSelector:
      - Limit to connected peers when near connection limit
zzz's avatar
zzz committed
    * Timestamper:
      - Use locale country if geoip unavailable
    * Transport:
      - Lower min NTCP idle time to 3m (was 5m)
      - Increase SSU conn limit by 33%
    * UPnP: Fix deprecation warning
    * Watchdog:
     - Defang him again

sponge's avatar
sponge committed
2009-06-06 sponge
zzz's avatar
zzz committed
    * Added BOB's license to licenses
sponge's avatar
sponge committed
    * Janitorial javadoc fixes *sigh*
    * bump to -13

sponge's avatar
sponge committed
2009-06-05 sponge
    * Merge and bump to -12

sponge's avatar
sponge committed
2009-06-05 sponge
    * BOB now cleans up tunnels, although they can take up to 5 minutes to
      disapear. This is due to the fact that the streaming lib doesn't
      actually remove the connections properly and kill them off when the
      manager is destroyed. I'm not certain if this is a bug, or a feature,
      but it sure is annoying, and you have to wait for the connections to
      time out. What should happen is the streaming lib should cause an IO
      error to the pending read or write.

zzz's avatar
zzz committed
2009-06-05 zzz
    * Build file:
      - Add license info for launch4j includes
    * Console:
      - 16x11 transparent flags for ch and np, thanks anonim!

sponge's avatar
sponge committed
2009-06-04 zzz
    * Console:
zzz's avatar
zzz committed
      - Update geoip file to June 3 version
sponge's avatar
sponge committed
      - Hide some controls if no wrapper on configservice.jsp
    * I2PTunnel:
      - Fix bug where delayed-open and close-on-idle tunnels would
        use a different tunnel pool instead of building their own
      - Add standby indication to web page
    * NetDb:
      - Try to talk directly to a floodfill if we don't know enough,
        to help integrate more quickly
      - Change a no-floodfill error to a warn
    * NetDb Stats:
      - Average TX and RX bw stats for additional anonymity,
        effective in next release
    * Reseed:
      - Limit to 200 pulled randomly from the full fetched list
    * Transport:
      - Increase default bw for new installs to 96/40
        (was 64/32). This is as high as we can go upstream
        without making the default class M.
    * Watchdog:
      - Allow disabling by property again
      - Logging tweaks

zzz's avatar
zzz committed
2009-05-30 zzz
    * Console:
      - config.jsp now cause graceful restart
      - More peers.jsp and profiles.jsp cleanup
      - tunnels.jsp improvements
      - Use CSS for form messages
      - Goodbye nonce spoof messages (sorry jr)
      - config.jsp: Comment out unused burst config code
      - Don't forget Serbia!
      - configadvanced.jsp cleanup
    * LoadTestManager: Delete, unused
    * Peer Selector: Make strict order opaque to hash value
    * SendGarlicMessageJob: Delete, unused
    * Session Keys:
      - Don't instantiate unused SessionKeyPersistenceHelper
      - Use TransientSessionKeyManager instead of PersistentSessionKeyManager
      - Add generics to TransientSessionKeyManager to help understand it
      - Change initial session map size to 64 (was 1024)
      - Prepare for per-destination SessionKeyManagers in ElGamalAESEngine
      - More stubs for per-destination managers in the client manager
    * Transports:
      - Adjust bids when near conn capacity
    * UDP:
      - Remove unused stats and test code
      - Only save IP when it changes
    * UPnP:
      - Prevent NPE after ParserException
      - Tweak to help startup problems?
      - Retry port forward if it fails
      - Make peers.jsp display faster
      - Lengthen POST timeout
      - More comments

2009-05-29 sponge
    * added big fat start/stop lock into BOB
    * added zap command to shut down BOB... now we need a way to start it
      after it stops. :-)

2009-05-27 Mathiasdm
    * Increase sendProcessingTime some more, add a property to configure.
      Configure with 'router.defaultProcessingTimeThrottle'.

2009-05-27 Mathiasdm
    * Increased sendProcessingTime limits and added testSuccessTime
      to avoid unwanted throttling

2009-05-26 Mathiasdm
    * Throttling extension by looking at sendProcessingTime

zzz's avatar
-7  
zzz committed
2009-05-26 zzz
    * Console:
      - configlogging.jsp cleanup
      - Flags tweak
    * NetDb:
      - Don't send our own hash in the don't-include list when exploring
      - Remove any pending write when removing a RouterInfo
      - Cleanup to use routerHash()
    * Streaming: Hopefuly fix infinite loop in the SYN queue handler

zzz's avatar
-6  
zzz committed
2009-05-25 zzz
    * GeoIP:
      - Save our own location in the config
      - Check whole netDb at startup (last try didn't work)
    * NTCP:
zzz's avatar
-7  
zzz committed
      - Increase routerinfo send frequency to every 90m (was 9h)
zzz's avatar
-6  
zzz committed
      - Don't send 3 floodfill infos at startup or with routerinfo
    * Profile Organizer: Increase min fast peers based on
      number of local destinations
    * Timestamper:
      - Use GeoIP to query a closer ntp source if available
      - Lengthen query time if well-synced
      - Cleanup

2009-05-24 mkvore
    * SAM: logging some exceptions at INFO level instead of ERROR

mkvore-commit's avatar
-5  
mkvore-commit committed
2009-05-24 zzz
    * Connection limits / throttle:
      - Better limits when no inbound TCP
        (limit inbound and outbound separately)
      - Don't offer to SSU introduce when near connection limit
    * Console:
      - Move flags from icons/ to docs/icons
      - peers.jsp cleanup
      - Add readme_zh.html
    * GeoIP:
      - Check netDb SSU IP too
      - Check whole netDb at startup
    * NTCP: Log who is sending us big messages
    * UPnP: Move logging from wrapper log to router log

mathiasdm's avatar
mathiasdm committed
2009-05-23 Mathiasdm
    * Router netDB:
      - Added flags to the netDB page

mathiasdm's avatar
mathiasdm committed
2009-05-22 Mathiasdm
    * desktopgui:
      - Updating works in general config
      - Switched to Swingworker threads for improved responsiveness

zzz's avatar
zzz committed
2009-05-21 zzz
    * Router Watchdog:
      - Log memory stats
      - Dump threads on linux
      - Restart after 20 minutes (give the dog his teeth back)

zzz's avatar
-2  
zzz committed
2009-05-21 zzz
    * DataStore:
      - Adjust interface to have persistent and non-persistent methods,
        to prepare for partial storage in RAM
    * ExpireRoutersJob:
      - Rewrite, not enabled yet
    * I2Punnel:
      - Increase eepsite default to 3+0 for new installs
    * PersistentDataStore:
      - Cleanup, simplify, and concurrentify
      - Tweak stats
      - Remove write limit
      - Flush to disk on shutdown
      - Don't write out what we just read in
    * Router and console:
      - Bundle geoIP files and flags in new installs,
        spiff up tunnels.jsp and profiles.jsp.
        Existing installs can get files with 'ant updaterWIthGeoIP'
        or in the console docs bundle 'ant consoleDocs'
dg2-new's avatar
dg2-new committed
      - Use flags for banlist and peers.jsp too
zzz's avatar
-2  
zzz committed
      - Tweak tunnels.jsp to show class letters
      - Hide in-progress details on tunnels.jsp
      - Add a little color to confignav
      - Remove 'no skew' message
      - More message tweaks if no wrapper
    * TunnelManager:
      - Remove now-unused isInUse()
    * UPnP:
      - Fix up port binding, add some logging on bind fails
      - Force IPv4 only for binds

2009-05-20 Mathiasdm
    * General configuration enabled by default
    * General configuration speed tab works completely

zzz's avatar
-1  
zzz committed
2009-05-17 zzz
    * Merge i2p.i2p.zzz.upnp branch
     * Major changes:
      - Detect IP with UPnP
      - Open firewall ports with UPnP
      - Detect IP by checking local interface addresses
      - Enable TCP auto-IP and auto-port by default, if UDP status is "OK"
      - Network configuration page rework
     * Other stuff:
      - Remove unused verifyupdate.jsp
     * Details of the UPnP and related Transport changes:
      - Add UDP Port configuration to config.jsp
      - Don't restart router when configs change on config.jsp;
        simply rebuild router info.
      - Clean up some port config code in UDP
      - Implement UPnP enable/disable
      - Start to rework inbound configuration
      - Tweak UPnP warning messages
      - Start of callbacks from UPnP to transports
      - Tell UDP local addresses at startup
      - NTCP Port must now be either auto or configured;
        now defaults to auto; and configured now trumps auto.
        Port configuration now does not affect whether inbound
        NTCP is enabled - the host configuration alone can do that.
      - i2np.ntcp.autoip=true redefined to enable inbound only if
        SSU reachability is OK. i2np.ntcp.autoip=always for the old behavior.
        autoip default is now "true".
        i2np.ntcp.hostname=xxx now trumps i2np.tcp.autoip.
      - SSU always tells NTCP when status changes.
      - Implement config save of new IP address options
      - Implement local address and UPnP configuration of UDP address
      - Limit received port to 1024 minimum
      - Simplify bw form
      - Add config link to UPnP status
      - Make short timeouts for UPnP HTTP POST so we don't hang when
        the UPnP device goes away
      - Fix a bug in UPnP HTTP Server timeout
      - Make short timeouts for the XML parser so we don't hang when
        the UPnP device goes away - same as for HTTP POST
      - Stuff the port mapping requester into a thread so it doesn't
        delay everything for several seconds
      - Handle UPnP devices that return IP = 0.0.0.0
      - Better HTML output when no IP found
      - Tweak logging
      - Set Disposer thread name
      - Keep the control point running after we find an IGD,
        so that we get notifications of it leaving or
        coming back or replaced.
      - Detect UPnP start failure
      - Sort local addresses
      - Store last IP for future laptop mode
      - Subscribe to service, doesn't seem to do anything though,
        need to test it more
      - Change UPnP listener port defaults, allow configuration option
      - Don't notify for non-changed options on config.jsp
      - Simplify config.jsp some more
      - No longer use i2np.udp.forceIntroducers
      - Tweak UDP port qualification
      - Fix allowing low ports again
      - Add option to completely disable NTCP, for those behind nasty firewalls
      - Use SSU reachability rather than global reachability for determining NTCP reachability,
        since we are now reporting NTCP reachability too
      - Tweak the config sub-navbar
      - Don't start UPnP if we have a public interface address
      - Fix setting IP to a local interface address
      - Work on the configuration help some more
      - Rework UDP peers.jsp table a little
      - Don't let UDP bid on messages that are too long
      - Clean up the max fragments code in UDP

zzz's avatar
zzz committed
2009-05-17 zzz
    * Build files:
      - Remove unneeded ant.jar from package (900KB)
      - Fail on Jsp compile errors
    * FloodfillVerifyJob: Don't consider an older search result as verified
    * logs.jsp: Add link to config
    * NetDb: Lower the routerinfo expiration again
    * SusiDNS:
      - Reduce displayed entries from 300 to 100
      - Add ability to go forward or back
      - Make textareas bigger
      - Clean up file names
      - Clarify messages about filter and search

* 2009-05-16  0.7.3 released

2009-05-16 Complication
    * Update versions, package release

sponge's avatar
sponge committed
2009-05-12 sponge
    * BOB clean up, change println's to _log.warn, bump BOB version
    * I2PSessionMuxedImpl.java changes as per zzz, and they test OK for me.

2009-05-12 mkvore
    * SAM: fix: warnings when generating javadoc

zzz's avatar
zzz committed
2009-05-11 zzz
    * Connect client: Fix NPE when used with advanced i2ptunnel features
    * Context: Don't instantiate unused AdminManager
    * logs.jsp: Put critical log at the top
    * NetDb: Don't accept stores of our own LeaseSets or RouterInfo

mkvore-commit's avatar
mkvore-commit committed
2009-05-11 mkvore
    * SAM: fix: removed ERROR level logging when a client disconnects
zzz's avatar
zzz committed

sponge's avatar
 
sponge committed
2009-05-09 sponge
    * merge

sponge's avatar
sponge committed
2009-05-09 sponge
    * fixed OOM on lock (woops! my bad!)

2009-05-08 Mathiasdm
    * desktopgui: moved files to stop polluting the namespace
          (everything now in net.i2p.desktopgui)
    * desktopgui: some variable renaming in general configuration

mkvore-commit's avatar
mkvore-commit committed
2009-05-07 mkvore
    * SAM: version 3 added
    * SAM: blocking case corrected on simultaneous client connection (v.1-3)
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2009-05-07 zzz
    * Add nibble.i2p to proxy list and hosts.txt

zzz's avatar
-9  
zzz committed
2009-05-07 zzz
    * Addressbook: Name the thread
    * Console:
      - More IE button fixes, try harder to not refresh the iframe after shutdown
      - Disable idle options for streamr client, it will never be
        idle because it pings the server
    * Floodfill Monitor: Slow down the volunteers
    * Throttle: Throttle at 90% so we throttle before we WRED

2009-05-06 Mathiasdm
    * Improvements to popup menu rightclick action
    * Added general configuration options (still not available by default)
    * General fixes
    * Added ant build options (irc says eche|on would like that ;))

sponge's avatar
sponge committed
2009-05-06 sponge
    * Hopefully the last fixes for BOB.
    * Fixes to prevent race in client-side I2CP and Notifier.

sponge's avatar
sponge committed
2009-05-03 sponge
    * More hopeful fixes for BOB.
    * Added new Robert ID to snark

zzz's avatar
-6  
zzz committed
2009-05-01 zzz
    * Build files:
      - Fix up susidns build file so it will work with gcj
      - Add consoleDocs target
    * Client: Fix race NPE (thanks sponge)
    * Console: fix ERR-UDP Disabled and Inbound TCP host/port not set
    * I2CP: Fix race NPE
    * I2PTunnel:
      - Try to fix locking to prevent duplicate destinations when using
        the new option new-dest-on-resume. Still not right for shared clients
        but should be better for non-shared.
    * Router console:
      - Add jbigi and cpu info to logs.jsp
    * Session key manager:
      - Log before a hang maybe
    * URL Launcher:
      - Launcher on linux was stopping after trying opera, whether it succeeded or failed.
        Now it keeps going to try firefox, etc. as designed.
      - Extend default delay from 5s to 15s so it will reliably start

sponge's avatar
sponge committed
2009-04-27 sponge
    * more BOB fixes, complete with warnings when things go wrong, and
      success messages when things turn around and go right. Terminates
      early so that applications wait no more than 10 seconds or so.
    * Reversed a few earlier patches that caused some odd behavior.
    * Changed some core println()'s to debugging messages.

zzz's avatar
-4  
zzz committed
2009-04-27 zzz
    * Build files:
      - New updaterWithJettyFixes target, build it for pkg
      - Pass compiler args down from top build.xml
    * GarlicMessageBuilder: Reduce bundled tags to 40 (was 100)
    * i2psnark: Add Postman2 tracker
    * I2PTunnel: Allow spaces in dest and proxy lists
    * NetDb:
      - Adjust RouterInfo expiration down to control memory usage
      - Display LeaseSets and RouterInfos on separate console pages
    * NTCP:
      - Correct the meanings of the i2np.ntcp.autoip and i2np.ntcp.autoport
        advanced config. If you have one of these set but not the other, you
        will have to adjust your configuration on config.jsp.
    * RouterConsole: iframe tweaks
    * StatisticsManager: Cleanup
    * Streaming: Don't let jrandom yell so loud
zzz's avatar
zzz committed
    * Tunnel Pool: Don't self-destruct if more than 6 IB tunnels configured
zzz's avatar
-4  
zzz committed

sponge's avatar
sponge committed
2009-04-25 sponge
    * I2PSessionMuxedImpl atomic fixes
    * BOB fixes. This should be the final bug wack. Good Luck to everybody!

zzz's avatar
-2  
zzz committed
2009-04-23 zzz
    * Blocklist: cleanup
    * eepget: handle -h, --help, bad options, etc.
      (http://forum.i2p/viewtopic.php?p=16261#16261)
    * Fragmenter: don't re-throw the corrupt fragment IllegalStateException,
      to limit the damage - root cause still not found
    * i2psnark: (http://forum.i2p/viewtopic.php?t=3317)
      - Change file limit to 512 (was 256)
      - Change size limit to 10GB (was 5GB)
      - Change request size to 16KB (was 32KB)
      - Change pipeline to 5 (was 3)
    * logs.jsp: Move version info to the top
    * Jetty: Fix temp dir name handling on windows, which was
      causing susidns not to start
      (http://forum.i2p/viewtopic.php?t=3364)
    * NTCP: Prevent IllegalStateException
    * PeerProfile:
      - Replace a hot lock with concurrent RW lock
      - Rewrite ugly IP Restriction code
      - Also use transport IP in restriction code
    * RouterConsole: Make summary bar a refreshing iframe
    * Transport: Start the previously unused CleanupUnreachable

sponge's avatar
sponge committed
2009-04-21 sponge
zzz's avatar
-2  
zzz committed
    * Code janitor work, basic corrections involving @Override, and
sponge's avatar
sponge committed
      appling final where it is important. Also fixed some equals methods
      and commented places that need fixing.

2009-04-18 Complication
    * Fix typo in "news.xml", no build number increase.

* 2009-04-18  0.7.2 released

2009-04-18 Complication
    * Update versions, package release

sponge's avatar
sponge committed
2009-04-17 sponge
    * fixed setIP, just be sure to distclean before building :-)
    * more lint taken care of as well.

sponge's avatar
sponge committed
2009-04-17 sponge
    * setIP wants to be a static method in the class, but it produces
      warnings about it being static from other code.

sponge's avatar
sponge committed
2009-04-17 sponge
    * Catch NPE in NTCP.
      This possibly augments fix 2009-04-11 welterde below.
    * Various LINT on NTCP sources, and removal of space-wasting
      spaces at end of lines in sources touched.

2009-04-13 Mathiasdm
    * Bugfix on tray icon updating
    * Some more work on the general configuration menu
      (currently not added to the tray icon menu yet, needs more work)
    * Tweaked the desktopgui logo

2009-04-13 Mathiasdm
    * Added I2P version and GUI version to desktopgui
    * Tweaks to the tray icon menu
    * Some starting work on a GUI general configuration menu
    * Bugfix allowing spaces in directory structure

dev's avatar
dev committed
2009-04-13 welterde
    * small fix in the eepproxy

dev's avatar
dev committed
2009-04-11 welterde
    * fixed NPE in NTCP transport

sponge's avatar
sponge committed
2009-04-11 sponge
    * i2ptunnel janitorial work and fixes on most locks.
      Some locks still need work, and are marked with LINT in the comment.
      Just grep for "LINT" to see where the remaining places are.

sponge's avatar
sponge committed
2009-04-10 sponge
    * More BOB threadgroup fixes, plus debug dump when things go wrong.
    * Fixes to streaminglib, I2CP, which are related to the TG problem.
    * JavaDocs fixups.

sponge's avatar
sponge committed
2009-04-08 sponge
    * More hopeful fixups to the infamous orpahned tunnel problem. *Sigh*

zzz's avatar
zzz committed
2009-04-08 zzz
    * IPV6/localhost:
      - Enable IPv6 stack in the JVM, hopefully won't break anything
      - Patch Jetty to support binding to IPv6 addresses
      - Allow multiple bind addresses for the router console
        in the clients.config file; for new installs the
        default is now "127.0.0.1,::1"
      - Change most instances of "localhost" to "127.0.0.1"
        throughout the code
    * Router:
      - Move some classes to private static inner

sponge's avatar
sponge committed
2009-04-07 sponge
    * BOB prevent jvac from optimizing out thread-group code from -10

zzz's avatar
zzz committed
2009-04-07 zzz
    * NTCP: Prevent occasional NPE introduced in -4
    * streamr: Synchronize DatagramMaker

sponge's avatar
sponge committed
2009-04-07 sponge
    * SimpleTimer2, SimpleScheduler fixed so that the threads all run from
      The main threadgroup, not in the current possible child threadgroup.
      So long as any SimpleTimer2/SimpleScheduler is started *BEFORE* any
      child threadgroups, the constructors are threadgroup safe. What would
      be super cool is if they were to be all jailed within thier very own
      threadgroup too, but, I2P isn't up to the task of this yet.
    * Fixes to BOB to ensure the above is true.

sponge's avatar
sponge committed
2009-04-06 sponge
    * Debugging to make SimpleTimer2 and SimpleScheduler easier to debug.
    * Fix for the config files in the GUI from mathiasdm

2009-04-04 sponge
    * Hopeful fixups to the infamous orpahned tunnel problem.
    * BOB now 0.0.5

zzz's avatar
-7  
zzz committed
2009-04-04 zzz
    * NTCP: Don't bid on messages too big to handle

zzz's avatar
-6  
zzz committed
2009-04-03 zzz
    * Console:
      - Fix bug with IE buttons not working,
        because it sends the label instead of the value
      - Display version of downloaded update
    * Update:
      - Change default to "Download and verify"
      - Change news fetch default to 24h (was 12h)

sponge's avatar
sponge committed
2009-04-03 sponge
    * Fix broken dependencies for BOB.jar
sponge's avatar
sponge committed
    * Router build version incremented to 5.
zzz's avatar
-6  
zzz committed

zzz's avatar
-3  
zzz committed
2009-04-02 zzz
    * Profiles:
      - Remove unused calculators and RateStats:
        CapacityCalculator, StrictSpeedCalculator, IsFailingCalculator;
        sendFailureSize, processSuccessRate, processfailureRate, commErrorRate,
        tunnelTestResponseTimeSlow
      - Reduced number of Rates in these RateStats:
        sendSuccessSize, receiveSize, rejectRate, failRate
      - ~5KB/profile savings total
      - Deflate speed calculation once an hour instead of once a day,
        to improve fast tier selection
      - Remove dup comment in persisted files
    * StatisticsManager - effective in 0.7.2:
      - Spoof uptime to 90m for all
      - Change tunnel stats from 10m to 60m
    * Transport:
      - Maintain a router hash -> IP map in transport,
        to support additional IP checks (unused for now)
      - Catch error on pre-2.6 kernels
      - Some concurrent conversion
      - Fix an HTML error on peers.jsp

2009-04-01 zzz
    * I2PTunnel: Fix tunnel close
      http://forum.i2p/viewtopic.php?t=3231

zzz's avatar
-1  
zzz committed
2009-03-30 zzz
    * I2CP:
      - Implement BandwidthLimitsMessage
      - Have i2psnark use new message, remove
        build dependency on router
    * Peer Selection:
      - Limit peers to a max % of all tunnels with
        router.maxTunnelPercentage=nn, default 33
      - Add chart to tunnels.jsp to see results

* 2009-03-29  0.7.1 released

2009-03-29 Complication
    * Update versions, package release

zzz's avatar
zzz committed
2009-03-27 zzz
    * Add readme_fr.html
    * License splash update
    * Catch rare TunnelGatewayMessage AIOOB, root cause unknown

zzz's avatar
zzz committed
2009-03-24 zzz
    * I2PTunnel:
      - Add some warnings about new features
      - Fix encrypted leasesets broken in about -4
      - Suppress log error on manual stop
      - Fix NPE on close of a tunnel not open yet
    * Transport:
      - Increase default bw to 64/32, burst 80/40
    * Tunnels: Change some fragmentation errors to warns

zzz's avatar
-9  
zzz committed
2009-03-16 zzz
    * help.jsp: Add some
    * I2PTunnel: Cleanup
    * I2PTunnelHTTPClient: Fix NPE on delayed open
    * I2PTunnelHTTPServer: Maybe catch an NPE
    * SOCKS: Allow .onion addresses for onioncat testing
    * Tunnel: Catch a rare AIOOB

zzz's avatar
-8  
zzz committed
2009-03-09 zzz
    * Client:
      - Clean up retry code
      - Bring I2CP listen error to the summary bar
        http://forum.i2p/viewtopic.php?t=3133
    * I2PSnark: Remove the http from the add torrent box
    * I2PTunnel:
      - Add persistent key option for standard and IRC clients
      - Add delay-open option for clients
      - Get regenerate-dest-on-reconnect working
      - Add default key file name
      - Add link to addressbook
      - I2PSink: Send protocol byte
    * OCMOSJ:
      - Change from 5% reply requests to at least
        once per minute, in hopes of reducing IRC drops
      - More clean up of the cache cleaning
    * Routerconsole: Don't OOM configpeer.jsp on huge blocklists

zzz's avatar
-7  
zzz committed
2009-02-26 zzz
    * I2CP Client: Add support for muxing
    * I2PTunnel:
      - Add new IRCServer tunnel type
      - Add SOCKS 4/4a support
      - Catch OOMs in HTTPServer
      - Name the IRCClient filter threads
      - Port Streamr to I2PTunnel
      - The beginnings of SOCKS UDP support
    * Naming: Add reverse lookup by hash
    * OCMOSJ: Clean up the cache cleaning
    * Router: Move addShutdownTask from Router to I2PAppContext
      so that apps can register more easily
    * Routerconsole:
      - Thread hard shutdown and restart requests from the routerconsole,
        and add a delay even if no tunnels, to allow time for a UI response
      - Sort the summary bar destinations
      - Move dest-to-hash converter to new helper class so we can
        use it in i2ptunnel

sponge's avatar
sponge committed
2009-02-22 sponge
    * BOB: Orphan tunnel issue fix, bump BOB version
    * bump to Build 6

zzz's avatar
-5  
zzz committed
2009-02-16 zzz
    * Streaming lib: Plug timer leak, don't send keepalives
      after close, don't disconnect hard after close

zzz's avatar
-4  
zzz committed
2009-02-15 zzz
    * Add licenses to all packages
    * I2PSession: Concurrent _messagesReceived
    * i2psnark: tmp file removal try #3
    * I2PTunnel:
      - Don't buffer POST data in HTTPClient
      - Display destination even when stopped
      - Enable key generation, dest modification, and
        hashcash estimation in the GUI
      - Add new CONNECT client
    * NetDb: Enforce 60s minimum leaseset publish interval
    * Streaming lib:
      - Plug connection leak
      - Move ConEvent from SimpleTimer to SimpleScheduler
      - Move RetransmissionTimer (ResendPacketEvent)
        from SimpleTimer to new SimpleTimer2
      - Move ActivityTimer and Flusher from SimpleTimer to RetransmissionTimer
      - SimpleTimer2 allows specifying "fuzz" to reduce
        timer queue churn further
    * Susidns: Fix save of new dest broken in 0.7
    * TunnelPool:
      - Allow leasesets with reduced leases for robustness and startup speed
      - Plug in-progress build leak

zzz's avatar
-3  
zzz committed
2009-02-07 zzz
dg2-new's avatar
dg2-new committed
    * ClientConnectionRunner, Banlist, TunnelDispatcher:
zzz's avatar
-3  
zzz committed
      Update using concurrent
    * Streaming ConnectionHandler: Bound SYN queue and
      use concurrent to prevent blowup
    * HTTP Proxy: Fix error msg for b32 addresses
    * I2CP: Implement optional reduce tunnels on idle - not hooked
      in to i2ptunnel GUI yet - still needs tweaks
    * I2CP MessageReader: Prevent rare NPE
    * I2CP Writer: Rewrite using concurrent
    * i2psnark: Add torrent and connection count
    * I2PTunnel & I2CP:
      - Fix tunnel reduction/restore, hook in the GUI
      - Hook leaseset encryption into the GUI
      - Implement saves for all the new stuff
      - Add cancel button
      - Add b32 display for non-http servers
      - Prep for CONNECT
      - Fix error msg when connection goes away
    * NetDb: Remove all DataPublisher stuff
    * Wrapper: Remove dup timeout

2009-02-02 sponge
    * Final? cleanups to Slackbuilds.
    * ant target for Slackbuilds.

sponge's avatar
sponge committed
2009-02-01 sponge
    * Slackbuild files... if we can have them for Debian, why not :-)

zzz's avatar
-2  
zzz committed
2009-02-01 zzz
    * Convert some inner classes to static (findbugs)
    * DataHelper.readLong(): Was returning -1 on EOF instead
      of throwing exception
    * i2psnark: Increase tunnels and pipeline to 3
    * NTCP: Use a java.util.concurrent execution queue instead of
      SimpleTimer for afterSend() to reduce lock contention
    * Remove source from susimail.war, susidns.war, i2ptunnel.war (85KB)
    * Routerconsole:
      - Move common methods to new HelperBase class
      - Make reseed link a button
    * SimpleScheduler: New replacement for SimpleTimer when events
      will not be rescheduled or cancelled, to reduce SimpleTimer
      lock contention
    * Tunnel Pool:
      - Remove tunnel from participating if can't contact next hop
      - Fail outbound build faster if can't contact first hop
    * Wrapper: Remove dup timeout

2009-01-31 dream
    * Debian files

sponge's avatar
sponge committed
2009-01-31 sponge
    * One line BOB discarded interger fix
sponge's avatar
sponge committed
      (not that it mattered at this point)

zzz's avatar
-1  
zzz committed
2009-01-25 zzz
    * Build files:
      - Don't bundle unneeded XML parser xercesImpl.jar (1MB)
      - Don't include unneeded stuff in Copy, Delete, Exec.jar (300KB)
    * I2CP:
      Implement new I2CP message ReconfigureSessionMessage.
      Will be used for tunnel reduction.
    * I2PTunnel Edit Pages:
      - Change default length to 2+0
      - Cleanup helper code
      - Prevent null spoofhost
      - Stub out the following new options (C=client, S=server):
        + Access list (S)
        + Certificate type (S)
        + Encrypted LeaseSet (S)
        + New dest on idle restart (C)
        + Tunnel closure on idle (C)
        + Tunnel reduction on idle (C,S)
    * I2PTunnel Socks:
      - Add support for SOCKS to GUI
      - Don't NPE on SOCKS 4, just close
      - Don't have SOCKS build a new dest for every request
      - Beginnings of SOCKS configuration by port
      - HTML error msg for attempted HTTP access
    * LeaseSet: Add encrypt/decrypt methods
    * netdb.jsp: Don't show stats by default
    * OCMOSJ: Bundle a reply when we switch tunnel or lease,
      to detect failure sooner
    * PublishLocalRouterInfoJob:
      - Delay for 5m at startup
      - Run every 20m (was 7.5m)
    * RebuildRouterInfoJob: Don't run it
    * Router: Add a keyring for decrypting leases
    * Routerconsole: Add configkeyring.jsp
    * SummaryHelper.getTransferred() move to DataHelper,
      rename to formatSize(), use on tunnels.jsp
    * Streaming, I2CP, Client Message sending:
      Pass message timeout through new I2CP message
      SendMessageExpiresMessage, so that the router
      uses the same expiration as the streaming lib.
      Should help reliability.
    * Streaming: TCB control block sharing

* 2009-01-24  0.7 released

2009-01-24 Complication
    * Update versions, package release

zzz's avatar
zzz committed
2009-01-17 zzz
    * NTCP: Prevent two NTCP Pumpers

zzz's avatar
zzz committed
2009-01-14 zzz
    * config.jsp: Fix burst seconds display
    * HTTPClient: Fix per-tunnel settings for i2cp.gzip and
      i2ptunnel.httpclient.send* (thx tino)
    * i2psnark:
      - Fix double completion message
      - Add crstrack
    * initialNews.xml: Add .de (thx echelon)
    * Message: Always distribute an inbound msg back out
      a tunnel to foil a possible latency-measuring attack
      (welterde)
    * Naming:
      - Change base32 names to *.b32.i2p
      - Add i2p.naming.hostsTxt.useB32 config
    * profiles.jsp: Remove 1m column
    * SAM: Don't build tests by default
    * Streaming:
      - Prevent a rare NPE
      - Reduce initial RTT to 8s (was 10s)
    * tunnels.jsp: Add netdb links

zzz's avatar
-9  
zzz committed
2009-01-08 zzz
    * addressbook: Prevent Base32 hostnames
    * build.xml: Remove readme_xx.html from updater
    * configtunnels.jsp: Fix display of outbound backup count
    * configupdate.jsp: Fix corruption of update URLs
    * i2psnark: Recognize Robert 0.3 and 4
    * ExploreJob/SearchJob - fix brokenness:
      - Give each search a minimum of time even at the end
      - Fix ExploreJob exclude peer list
      - Always add floodfills to exclude peer list
      - Don't queue keys for exploration or run ExploreJob
        if floodfill
      - Allow floodfills to return non-floodfills in
        a DSRM msg so exploration works
    * ExploreJob/SearchJob - more fixes:
      - Disable ExploreKeySelectorJob completely, just have
        StartExplorersJob select a random key if queue is empty
      - Add netDb.alwaysQuery=[B64Hash] for debugging
      - Queue results of exploration for more exploration
      - Floodfills periodically shuffle their KBuckets, and
        FloodfillPeerSelector sorts more keys, so that
        exploration works well
dg2-new's avatar
dg2-new committed
    * Banlist: Reduce max time to 30m (was 60m)
zzz's avatar
-9  
zzz committed
    * Streaming:
      - Reduce default initial window size from 12 to 6,
         to account for the MTU increase in the last release
         and try to limit initial packet loss
      - Reduce fast retransmit threshold from 3 to 2
dg2-new's avatar
dg2-new committed
    * Transport: Don't banlist a peer if we are at our
zzz's avatar
-9  
zzz committed
      connection limit

zzz's avatar
zzz committed
2009-01-03 zzz
    * config.jsp: Move the buttons up
    * configservice.jsp: Clean up and fix the broken (?)
      browser launch configuration
    * i2psnark:
      - Try again to remove the i2psnarkurl files on shutdown
      - Sort torrents with a locale-based sort
    * NetDb:
      - Expire routers with introducers after 90m.
        This should improve reachability to firewalled routers
        by keeping introducer info current.
      - Expire routers with no addresses after 90m.
      - Convert to java concurrent
    * Stats: Add router.memoryUsed, graph by default
    * Summary bar: Remove spurious UDP warning on startup
    * UpdateHandler: Make extensible for upcoming
      torrent updater

2008-12-15 zzz
    * Remove apps/ bogobot jdom pants q rome stasher syndie

zzz's avatar
zzz committed
2008-12-14 zzz
    * Contexts: Add int getProperty(String prop, int default)
    * I2PAppThread: Constructor fix
    * More split classes into their own files for mkvore
    * Streaming: Don't build test cases by default
    * Summary bar: Replace links with buttons
    * Transport:
      - Cleanup max connections code
      - Add i2np.udp.maxConnections
      - Set max connections based on share bandwidth
      - Add haveCapacity() that can be used for connection
        throttling in the router
      - Reject IBGW/OBEP requests when near connection limit
      - Reduce idle timeout when near connection limit
    * Tunnel request handler:
      - Require tunnel.dropLoad* stats
      - Speed up request loop
    * I2CP, HostsTxtNamingService, I2PTunnel:
      Implement Base32 Hash hostnames, via the naming service.
      Names are of the form [52-characters].i2p, where
      the 52 characters are the Base32 representation of our
      256-byte hash. The client requests a lookup of the hash
      via a brief I2CP session using new I2CP request/reply
      messages. The router looks up the leaseset for the hash
      to convert the hash to a dest. Convert the I2PTunnel
      'preview' links to use Base32 hostnames as a
      demonstration.

zzz's avatar
zzz committed
2008-12-08 zzz
    * ATalk: Move from core to apps
    * Blocklists: enable by default, include blocklist file
      in new installs
    * Build: Add findbugs target
    * Cleanup of removed netdb stats
    * Console:
      - Don't display restart button if no wrapper
      - Remove PRNG stats
    * Eepsite: Disable jetty webapps by default for new installs
    * i2psnark:
      - Add default i2psnark.config for new installs
      - Remove wishlist link
      - Recognize robert and i2psnarkxl clients
      - Increase max files to 256
    * Increase standalone heap size to 128MB
    * NetDb: Split classes into their own files for mkvore
    * PeerManager: Fix NPE on early shutdown
    * SusiDNS: Add textareas
    * Transport:
      - Fixes, avoid NPEs, and cleanups when NTCP and/or UDP transports disabled
      - More TCP removal cleanup
      - Clean up bandwidth limiting, centralize defaults
      - Force burst to be >= limit
      - Increase default bw to 48/24, burst 64/32
    * Tunnels: Avoid two NPEs on corrupt fragments

2008-12-01 zzz
    * i2psnark:
      - Refactor to allow running a single Snark without a SnarkManager again,
        by moving some things from SnarkManager to I2PSnarkUtil,
        having Snark call completeListener callbacks,
        and having Storage call storageListener callbacks.
        This is in preparation for using Snark for router updates.
        Step 2 is to allow multiple I2PSnarkUtil instances.
      - Big rewrite of Storage to open file descriptors on demand, and
        close them when unused, so we can support large numbers of torrents.

    * i2psnark:
      - Remove static instances of I2PSnarkUtil, ConnectionAcceptor,
        and PeerCoordinatorSet
      - Convert static classes in Snark to listeners
      - Fix Snark to work in single torrent mode again
      - Should now work with multiple single Snarks

    * i2psnark:
      - Use new I2PAppThread that does not call global listeners on OOM,
        so that OOMing apps will not shutdown the whole router.

    * i2psnark:
      - Don't create SnarkManager instance until first call,
        so it doesn't create the i2psnark dir, read the config,
        etc., for single Snark instances.
      - Don't read i2psnark.config twice; fix setting
        i2psnark.dir
      - More Snark constructor changes for calling from router
      - Make max connections per torrent configurable

    * SAM:
      - Use new I2PAppThread that does not call global listeners on OOM,
        so that OOMing SAM will not shutdown the whole router.

* 2008-12-01  0.6.5 released

2008-12-01 Complication
    * Update versions, package release, fix typo in comment

zzz's avatar
zzz committed
2008-11-26 zzz
    * Fix Windows UrlLauncher

2008-11-21 zzz
    * Cache DNS and negative DNS for 5m (was 1m and forever)
dg2-new's avatar
dg2-new committed
    * Delay banlist cleaner at startup
    * Strip wrapper properties from client config
    * Define multiple cert type
    * Prohibit negative maxSends in streaming
    * HTML fixup on configtunnels.jsp
    * Increase wrapper exit timeout from default 15s to 30s

zzz's avatar
zzz committed
2008-11-20 zzz
    * I2PTunnel: Handle missing fields in edit pages better
    * Move DummyNetworkDatabaseFacade to his own file
      to help the build dependencies
    * Drop old tcp transport and old tunnel build sources
    * EepGet:
      - Better handling of 504 gateway timeout
        (keep going up to limit of retry count rather
         than just one more partial fetch)
      - Add -t cmd line option for timeout
      - Better handling of 403, 409, 503 errors
      - Don't keep going after unknown return code
      - Don't delay before exiting after a failure

zzz's avatar
zzz committed
2008-11-15 zzz
    * Build files:
      - Don't die if depend not available
      - Only verify Jetty hash once
      - Add streaming lib tests to depend task
    * I2CP Compression:
      - Add i2cp.gzip option (default true)
      - Add compression stats
      - Don't bother compressing if really small

zzz's avatar
zzz committed
2008-11-13 zzz
    * Streaming:
      - Add more info to Connection.toString() for debugging
      - Fix lifetimeMessages{Sent,Received} stats
      - Reduce RTT damping to 0.875 (was 0.9)
      - Add a stream.con.initialRTT.{in,out} stats
    * Build files:
      - Use the depend task with caching for more accurate dependencies
      - Make sure the routerconsole gets the latest router version
      - Fix addressbook repeated builds
    * HTTPClient: Add config options to pass Via, Referer,
      and User-Agent through
    * Blocklists: Fix lists with hashes only

2008-11-11 zzz
    * Streaming - Fix several bugs and improve performance
      when the initial data is larger than one MTU,
      e.g. HTTP GETs with large URLs, CGI params or cookies,
      or large HTTP POSTS:
      - Don't reject additional packets received without a
        send stream ID (i.e. sent before the SYN ACK was received)
      - Put unknown non-SYN packets on the SYN queue also
        so they won't be rejected
      - Reduce flusher delay to 250ms (was 500)
      - Flush unless window is full (was window is non-empty)
    * Streaming: Enforce a minimum MTU of 512
    * I2PTunnel: Change "interactive" max window size to 16 (was 1)
    * NetDb: Fix a deadlock caused by last checkin

zzz's avatar
-9  
zzz committed
2008-11-09 zzz
    * build.xml: Build speedups:
      - Don't distclean in the updaterRouter target
      - Don't make prepUpdate and prepupdateSmall depend
        on distclean
      - Don't make susimail build always clean
      - Make pkg depend on distclean to be sure
      - Clean out more routerconsole and susidns files in 'ant clean'
      - i2ptunnel, routerconsole, susidns:
        Only build WEB-INF when necessary
      - systray: Only build jar when necessary
      - Don't build i2psnark standalone for the updater target
    * configclients.jsp: Provide a link when starting a webapp
    * configtunnels.jsp:
      - Code cleanup
      - Add 4-hop option
      - Remove +/- 0-2 option
    * javadoc: Add some more package.html files
    * I2PTunnelHTTPServer: Put the requestor's dest hash
      in the request headers
    * Jetty: Add a I2PRequestLog class to log request dest hash
    * NetDb: Don't drop routerInfos if we have connectivity
      issues or other problems
    * NTCP: Lower idle timeout to 10m (was 15m)
    * Routerconsole: Replace wtf msg w/ something nicer
    * Tunnel BuildHandler: add config router.participantOnly,
      set to true to refuse OBEP and IBGW roles, should
      reduce connections significantly if set.

zzz's avatar
zzz committed
2008-11-02 zzz
    * Certificates:
      - Add a signed Certificate type
      - Add a main() to PrivateKeyFile to generate
        Destinations with various Certificate types
      - Add a VerifiedDestination class to check Certificates
        of various types
      - Add a HashCash library from http://www.nettgryppa.com/code/
        (no distribution restrictions)
      - Allow non-null Certificates in addressbook
    * I2PTunnel: Move some wayward stats to the I2PTunnel group
    * NamingServices: Implement caching in the abstract class
    * NewsFetcher: Fix last updated time
    * Streaming: Increase MTU to 1730 (was 960);
      see ConnectionOptions.java for analysis
    * Throttle: Reduce default max tunnels to 2000 (was 2500)
    * clients.config: Disable SAM and BOB by default for new installs

2008-10-26 zzz
zzz's avatar
zzz committed
    * config.jsp: Add more help
    * peers.jsp: Clean up 'Listening on' formatting
    * profiles.jsp: Don't override locale number format
    * netdb.jsp: Indicate if hidden
    * summary.jsp: Indicate if hidden
    * i2ptunnel/edit.jsp: Disable word wrap in textarea
    * Blocklist: Change logging from ERROR to WARN
    * FloodfillMonitor:
       - Fix ff count (we forgot ourselves)
       - Don't become ff if hidden
    * HandleFloodfillDatabaseLookupMessageJob:
      Send back your routerinfo with the DSRM if not ff to
      spread the word that you aren't ff anymore
    * I2Ping:
       - Add -n count option
       - Add rtt output
       - Enhance help
       - Fix option handling
    * More findbugs cleanups
    * NetDb:
       - Fix behavior when router.isHidden=true
       - Delay StartExplorersJob for 10m at startup
       - Update dbLookup profile stats in FloodOnlySearchJob
         and FloodfillVerifyStoreJob
       - Fix response time store in profile in SearchJob
    * Stats:
       - Remove unused tunnel.buildSuccess and tunnel.buildFailure
       - Remove tunnel.buildRequestTime and 5m rate stats from
         netDb, effective in next release
    * UDP:
       - Don't do peer tests when hidden
       - Don't offer to introduce when hidden
       - Don't continually rebuild routerInfo when hidden
       - Don't continually rebuild routerInfo when
         i2np.udp.internalPort is set but i2np.udp.port is not
       - Remove some unused functions

zzz's avatar
zzz committed
2008-10-20 zzz
    * configclients.jsp: Handle clients with no args
    * index.jsp: Add readme_nl.html (thanks mathiasdm!),
      readme_sv.html (thanks hottuna!)
    * Big findbugs cleanup
    * Client: Prevent a race causing session reconnect
    * FloodfillMonitor:
       - Don't become ff if clock skew is high
       - Rebuild routerinfo immediately when ff status changes
    * FloodOnlySearchJob: Recover better if the floodfills
      you know are no longer floodfill or are gone
    * Installer: Bump min JRE to 1.5
    * ShellCommand: Fix main()

2008-10-14 zzz
    * index.jsp: Add multilanguage support for readme.html;
      add readme_de.html (thanks devzero!)
    * configupdate.jsp, configadvanced.jsp:
      Disable word wrap in textareas
    * install*.txt: Update for 1.5
    * summary.jsp: Remove failing peer count

2008-10-10 zzz
    * Profiles: Reduce reject penalty in
      capacity calculation to avoid a congestion collapse
    * Throttle: Change reject to BANDWIDTH from CRIT on shutdown
      for improved anonymity
    * Tunnels: Implement random discard to enforce share limit
    * Tunnel Tests: Add time for outbound delay, to avoid
      congestion collapse
    * UDPPacketReader: Adjust logging
    * build files: Change to source=1.5, target=1.5
    * configpeer.jsp: Table cleanup
    * i2psnark: Change default tunnel length from 1+1 to 2+0
    * peers.jsp: Change <,> to in,out for UDP

2008-10-09 sponge
    * Update version to -3
    * BOB database threadlocking fixes

sponge's avatar
sponge committed
2008-10-08 sponge
    * Update version to -2
    * Bugfixes and additions to BOB

sponge's avatar
sponge committed
2008-10-07 sponge
    * Bugfixes and additions to streaming.
    * Added SimpleStore class in utils.
    * Fixed SimpleTimer class to allow exit.
    * BOB (Basic Open Bridge) added.

* 2008-10-05  0.6.4 released

2008-10-05 Complication
    * Update versions, package release

zzz's avatar
zzz committed
2008-09-29 zzz
    * i2psnark: Add codevoid link, remove mastertracker

2008-09-23 zzz
    * config.jsp: Add some reachability help
    * configpeer.jsp: Add blocklist info
    * help.jsp: Add link to German FAQ
    * tunnels.jsp: Fix inactive participating count
dg2-new's avatar
dg2-new committed
    * SearchReplyJob: Don't look up references to banlisted peers
    * TunnelPeerSelector: Avoid a peer for 20s after a reject or timeout

2008-09-20 zzz
    * NetDb: Fix the totally broken "check new routers against blocklist"
      code from 3 checkins ago
    * tunnels.jsp: Sort participating tunnels by usage, display rate

zzz's avatar
zzz committed
2008-09-19 zzz
    * Tunnels:
      - Add missing message accounting for inbound gateways,
        we were underestimating participating traffic because of it,
        and the tunnels were classified "inactive"
      - Add participating tunnel role on tunnels.jsp

zzz's avatar
zzz committed
2008-09-18 zzz
    * Throttle:
      - Correctly check inbound and outbound total bw limits separately
      - Fix up and actually use the tunnel.participatingMessageCount stat,
        favor it if lower than the total bw stat, so that
        client traffic isn't included for throttle decisions
      - Reduce min message count from 60 to 40
    * Tunnel Dispatcher:
      - Add tunnel.participatingBandwidth stat
      - Remove all 3h and 24h stats

2008-09-15 zzz
    * FloodOnlySearchJob:
      - Ask non-floodfill peers if we don't know any floodfills
      - Lookup hashes in the DatabaseSearchReplyMessage if we
        don't know enough floodfills
    * NetDb: Check new routers against blocklist
    * Router: Shutdown clients first
    * Throttle:
      - Use 60s rather than 10m tunnel.participatingMessageCount stat
      - Fix a summary bar message
    * Tunnel Dispatcher: Update tunnel.participatingMessageCount
      every 20s, rather than at tunnel expiration, to maintain
      a more current stat
    * Tunnel Pool:
      - Prevent excess zero-hop tunnels
      - Always wait before looping in BuildExecutor
    * configlogging.jsp: Increase box width
    * logs.jsp: Remove unused connection log, cut wrapper log output in half

2008-09-12 zzz
    * Blocklist: Fix a log message format
    * HarvesterJob: Don't instantiate if disabled
    * i2psnark:
      - Add config i2psnark.linkPrefix to enable access to completed
        torrents from a different machine - examples:
           i2psnark.linkPrefix=file://///localserver/path/to/files/
           i2psnark.linkPrefix=http://localwebserver/path/
        (Stop i2psnark, add to i2psnark.config, restart)
      - Remove Galen and NickyB trackers
    * NetDb: Add netDb.exploreKeySet stat
    * netdb.jsp: Add parameter ?r=xxxxxx to view a single routerinfo,
      and ?r=. to view our own; change links on other pages too
    * Transport: Make 0.0.0.0/8 and 169.254.0.0/16 private

2008-09-06 zzz
    * EepGet command line: Fix byte counts after a failed resume
    * NTCP: Mark unreachable on outbound connection timeout
dg2-new's avatar
dg2-new committed
    * Banlist: Fix partial banlisting (still unused though)
    * Summary Bar: Warn if firewalled and floodfill
    * Throttle: Combine current and last bw measurement,
      reduce default max tunnels to 2500 (was 3000)
    * Tunnel BuildHandler: Logging cleanup
    * UpdateHandler: Cleanup, clarify failure message
    * DataHelper: Prepare for 999 day uptime :)

2008-08-29 zzz
    * Tunnel BuildExecutor: Debug cleanup
    * Profiles: Penalize capacity when tunnel build request times out
    * Shutdown: Call the shutdown hooks before the router shutdown
      rather than after
    * Stats: Remove tunnel.Bps.* stats when the tunnel pool is closed

2008-08-27 zzz
    * Floodfill Peer Selector: Prefer already-connected floodfill
      peer for direct RouterInfo stores, to mimimize floodfill
      connections
    * Peer Profiles: Classify connected peers as "active",
      which will help improve the fast pool
    * Transport Manager: Add isEstablished(Hash)
    * NTCP: Reduce max idle time from 20m to 15m
    * NetDb stats: Post-0.6.3 clean up

* 2008-08-24  0.6.3 released

2008-08-24 Complication
    * Update versions, package release

2008-08-20 zzz
    * Blocklists: Handle blank lines and \r\n in blocklist.txt
    * NTCP: Add connection limit, set by i2np.ntcp.maxConnections,
      default is 500 (very high for now)
    * Persistent data store: Increase write limit from 300 to 600
      so floodfill routers don't get backed up
2008-08-13 zzz
    * i2psnark: Fix OOM vulnerability by checking incoming message length
      (thanks devzero!)

zzz's avatar
zzz committed
2008-08-04 zzz
    * Floodfill Peer Selector:
      - Avoid peers whose netdb is old, or have a recent failed store,
dg2-new's avatar
dg2-new committed
        or are forever-banlisted
zzz's avatar
zzz committed
2008-07-30 zzz
    * Blocklists:
      - New, disabled by default, except for blocking of
dg2-new's avatar
dg2-new committed
        forever-banlisted peers. See source for instructions
zzz's avatar
zzz committed
        and file format.
    * Transport - Reject peers from inbound connections:
      - Check IP against blocklist
dg2-new's avatar
dg2-new committed
      - Check router hash against forever-banlist, then block IP
zzz's avatar
zzz committed

zzz's avatar
-9  
zzz committed
2008-07-16 zzz
    * configpeer.jsp: New
    * i2psnark: Open completed files read-only the first time
    * profiles.jsp: Show bonuses, link to configpeer.jsp
    * PRNG: Move logging from wrapper to router log
    * SSU:
        Don't proactively reconnect until 30m idle, so
        we don't lose introducer tags prematurely

2008-07-16 Oldaris
    * Imports cleanup

zzz's avatar
zzz committed
2008-07-07 zzz
    * i2psnark:
      - Repair corrupted files with wrong length rather than die
      - Register shutdown hook to properly shutdown torrents when
        the router shuts down, hopefully will reduce corruption
      - Add Galen tracker
zzz's avatar
-9  
zzz committed
      - Add a note about how to change directory
zzz's avatar
zzz committed
    * HTTP Proxy: Don't show jump links for unknown jump hosts
    * KeyManager:
      - Don't write router key backup when leaseSet keys are updated
      - Synchronize to prevent concurrent writes (thanks Galen!)
      - Backup keys every 7 days instead of every 5 minutes
    * LoadTestManager: Don't instantiate, it's disabled
zzz's avatar
zzz committed
    * Router console: Flag placeholder pages as noncacheable
    * Streaming lib:
      - Change some logging from WARN to INFO
      - Clean up toString()
    * SSU:
dg2-new's avatar
dg2-new committed
      - Try to pick better introducers by checking banlist,
zzz's avatar
zzz committed
        wasUnreachable list, failing list, and idle times
      - To keep introducer connections up and valid,
        periodically send a "ping" (a data packet with no data and no acks)
        to everybody that has been an introducer in the last two hours
      - Add a stat udp.receiveRelayRequestBadTag, make udp.receiveRelayRequest only for good ones
      - Remove some 60s and 5m stats, leave only the 10m ones
      - Narrow the range for the retransmit time after an allocation fail
      - Adjust some logging

zzz's avatar
zzz committed
2008-06-30 zzz
    * configstats.jsp: Fix NPE when no stats checked (thanks nothome27!)
    * i2psnark:
      - Fix NPE caused by race (thanks echelon!)
      - Add mastertracker, remove de-ebook
    * NTCP:
      - Try to fix 100% CPU, caused perhaps by JVM NIO bug...
      - Fix failsafe stats
    * PersistentDataStore: More leaseSet code cleanup
    * SimpleTimer: Change congestion message from error to warn

2008-06-24 zzz
    * FloodfillMonitorJob: Change range from 5-7 to 4-6
    * NTCP: Remove getIsInbound(), duplicate of isInbound()
    * PersistentDataStore: Don't try to remove nonexistent leaseSet files
    * Router console: add placeholder pages for i2psnark, i2ptunnel,
      susidns, and susimail for use when the .wars are not running
    * Streaming lib: Increase max window size to 128

2008-06-22 welterde
    * Optimize I2PDatagramDissector

2008-06-20 zzz
zzz's avatar
zzz committed
    * configclients.jsp: Add start button for clients and webapps.
    * PRNG: Add two stats
    * Summary bar:
      - Display Warning for TCP private IP address
      - Display PRNG stats
    * OutNetMessage: Change cache logging from WARN to INFO

2008-06-17 zzz
    * Comm System: Add new STATUS_HOSED for use when UDP bind fails
    * Summary bar: Display helpful errror message when UDP bind fails
    * UDP: Don't bid when UDP bind fails
    * configclients.jsp: Implement saves for clients and webapps.

2008-06-16 zzz
    * UDP: Prevent 100% CPU when UDP bind fails;
      change bind fail message from ERROR to CRIT
    * Refactor LoadClientAppsJob.java, move some functions to new
      ClientAppConfig.java, to make them easily available to
      new configclients.jsp
    * RouterConsoleRunner: Use a new config file, webapps.config,
      to control which .wars in webapps/ get run. Apps are enabled
      by default; disable by (e.g.) webapps.syndie.startOnLoad=false
      Config file is written if it does not exist.
      Implement methods for use by new configclients.jsp.
    * configclients.jsp: New. For both clients and webapps.
      Saves are not yet implemented.

2008-06-10 zzz
    * Floodfill: Add new FloodfillMonitorJob, which tracks active
      floodfills, and automatically enables/disables floodfill on
      Class O routers to maintain 5-7 total active floodfills
    * NetDb Stats:
      - Remove several more stats
      - Don't publish bw stats in first hour of uptime
      - Publish floodfill stats even if other stats are disabled
      - Changes not effective until 0.6.2.1 to provide cover.
    * Throttle: Use BANDWIDTH rather than CRIT as the rejection reason at
      startup, so peers don't list us as failing.
    * graphs.jsp: Fix a bug where it tries to display the combined
      bandwidth graph when it isn't available

zzz's avatar
zzz committed
2008-06-09 zzz
    * Propagate i2.i2p.i2p-0.6.2.1-pre branch to i2p.i2p

zzz's avatar
zzz committed
2008-06-09 zzz
    * Reachability: Restrict peers with no SSU address at all from inbound tunnels
    * News:
      - Add display of last updated and last checked time
        on index.jsp and configupdate.jsp
      - Add a function to get update version (unused for now)
    * config.jsp: Add another warning

2008-06-07 zzz
    * NetDb: Tweak some logging on lease problems
dg2-new's avatar
dg2-new committed
    * Banlist:
      - Add banlistForever() and isBanlistedForever(), unused for now
      - Sort the HTML output by router hash
    * netdb.jsp:
      - Sort the lease HTML output by dest hash, local first
      - Sort the router HTML output by router hash

zzz's avatar
zzz committed
2008-06-06 zzz
    * LeaseSet:
      - Sort the leases by expiration date in TunnelPool.locked_buildNewLeaseSet()
        to make later LeaseSet comparisons reliable. This cleans up the code too.
      - Fix broken old vs. new LeaseSet comparison
        in ClientConnectionRunner.requestLeaseSet(),
        so that we only sign and publish a new LeaseSet when it's really new.
        Should reduce outbound overhead both in LeaseSet publishing and LeaseSet bundling,
        and floodfill router load, since locked_buildNewLeaseSet() generates
        the same LeaseSet as before quite frequently, often just seconds apart.

zzz's avatar
zzz committed
2008-06-05 zzz
    * LeaseSet - code cleanup:
      - Add exception to enforce max # of leases = 6, should be plenty
      - Rewrite TunnelPool.locked_buildNewLeaseSet() so it doesn't add lots of
        leases and then immediately remove them again, triggering
        the new leaseSet size exception
      - Remove the now unused LeaseSet.removeLease(lease) and
        LeaseSet.removeLease(index)
      - Store first and last expiration for efficiency
    * Peer Profiles - Preparation for using bonuses:
      - Use CapacityBonus rather than ReachablilityBonus in the Capacity calculation
      - Persist CapacityBonus rather than ReachabilityBonus
      - Include SpeedBonus in the Speed calculation
      - Prevent negative values in Speed and Capacity when using bonuses
      - Clean up SpeedCalculator.java
    * HTTP Proxy error pages: Don't say eepsites are 'temporarily' down since we don't know
    * Add some config files for a future small distribution
    * configtunnels.jsp: Add warnings for <= 0 and >= 4 hop configurations

zzz's avatar
zzz committed
2008-06-01 zzz
    * Client Apps: Add new parameter for clients.config,
        clientApp.x.startOnLoad=false, to disable loading
        (for SAM for example). Defaults to true of course.
    * Logging: Move common WARN output to DEBUG so we can ask users to
        set the default log level to WARN without massive spewage
dg2-new's avatar
dg2-new committed
    * ProfileOrganizer: Restrict !isSelectable() (i.e. banlisted) peers from the High Capacity tier,
zzz's avatar
zzz committed
      not just the Fast tier, since we don't use them for tunnels anyway
    * SAM: Add some compiler flexibility to two obscure makefiles
    * i2psnark: Change displayed peer idents to match that shown by bytemonsoon
      (sponge's suggestion)
    * summary bar:
      - Hide ident, provide a tooltip and a link
      - Add a warning if you are firewalled and class O

zzz's avatar
zzz committed
2008-06-07 Complication
    * Fix version in news.xml so it could be published

* 2008-06-07  0.6.2 released

2008-06-07 Complication
    * Write announcement and prepare for release

2008-05-29 zzz
zzz's avatar
zzz committed
    * Fix up initialNews.xml

2008-05-27 zzz
    * Transport:
      - NTCP and UDP: Don't bid to connect to private IP addresses, mark unreachable
      - UDP: Don't bid when IP address missing, mark unreachable

2008-05-26 zzz
    * Throttle: Set a default router.maxParticipatingTunnels = 3000 (was none)
    * Stats: Add a fake uptime if not publishing stats, to get participating tunnels
    * build.xml:
      - Add an updaterSmall target which includes only the essentials
      - Add an updaterRouter target which includes only i2p.jar and router.jar
      - Clean up the build file some
      - Remove empty eepsite/ and subdirs from i2pupdate.zip
    * configtunnels.jsp: Add warning
    * i2psnark: Catch a bencode exception (bad peer from tracker) earlier
    * i2psnark-standalone: Fix exception http://forum.i2p/viewtopic.php?p=12217

2008-05-22 welterde
    * Change jetty download location in build script

zzz's avatar
zzz committed
2008-05-20 zzz
    * Reachability:
      - Call the previously unused profile.tunnelTestFailed()
        (redefined to include a probability argument)
        and severely downgrade a peer's capacity upon failures,
        depending on tunnel length and direction.
        This will help push unreachable and malicious peers
        out of the High Capacity tier.
      - Put recent fail rate on profiles.jsp
    * ProfileOrganizer: Logging cleanup
    * eepsite_index.html: Update add-host and jump links
    * HTTP Proxy: Remove trevorreznik jump server from list

dev's avatar
dev committed
2008-05-20 welterde
    * implemented PrivateKeyFile

2008-05-18 zzz
    * Throttle: Reject tunnels for first 20m uptime (was 10m)
    * TunnelPeerSelectors:
       - Re-enable strict ordering of peers,
         based on XOR distance from a random hash
       - Restrict peers with uptime < 90m from tunnels (was 2h),
         which is really 60m due to rounding in netDb publishing.
    * i2psnark:
       - Limit max pipelined requests from a single peer to 128KB
         (was unlimited; i2p-bt default is 5 * 64KB)
       - Increase max uploaders per torrent to 6 (was 4)
       - Reduce max connections per torrent to 16 (was 24) to increase
         unchoke time and reduce memory consumption
       - Strictly enforce max connections per torrent
       - Choke more gradually when over BW limit
    * help.jsp: Add a link to the FAQ
    * peers.jsp: Fix UDP direction indicators
    * hosts.txt: Add update.postman.i2p

zzz's avatar
zzz committed
2008-05-12 zzz
    * Outbound message:
      - Tweak the cache key for efficiency
    * Stats:
      - Require two udp stats when stats.full=false, caused NPE on peers.jsp
    * Summary bar:
      - Add messages when dropping tunnel requests due to load
    * Update Handler:
      - Add postman to the list
    * i2psnark:
      - Randomize the PeerCheckerTask start times to make global limiting
        work better
      - Calculate bw limits using 40s rather than 4m averages to make
        bw limiting work better
      - Change default bw limit from uplimit/3 to uplimit/2 due to
        overhead reduction from the leaseset bundling change
    * libjbigi:
      - Add documentation on dynamic build option
      - Add two speed tests to the build script
      - Clean up the build script, make it easier to build dynamic

zzz's avatar
zzz committed
2008-05-10 zzz
    * NetDb: Don't write the my.info file to disk, it isn't used for anything
    * Stats:
      - Simplify oldstats.jsp if no events in a stat
      - Fix the hosed inNetPool.droppedDeliveryStatusDelay stat
        (caused by an SSU hack)
    * Update Handler:
      - Add option to download and verify only
      - Add distinct error message if version check fails

2008-05-09 welterde
    * Add an update URL to the list

zzz's avatar
zzz committed
2008-05-07 zzz
    * Reachability:
      - Restrict peers requiring introducers from inbound tunnels,
        since it's slow and unreliable... and many of them advertise
        NTCP, which seems unlikely to work
      - Provide warning on summary bar if firewalled with inbound NTCP enabled
    * Stats: Remove the bw.[send,recv]Bps[1,15]s stats unless
      log level net.i2p.router.transport.FIFOBandwidthLimiter >= WARN
      at startup (you didn't get any data unless you set the log level anyway)
    * oldstats.jsp: Don't put 2 decimal places on integer event counts
    * Remove the Internals link from the menu bar
    * i2psnark: Extend startup delay from 1 to 3 minutes

2008-05-06 welterde
    * HTTP Proxy: Add i2jump.i2p jump service

zzz's avatar
-1  
zzz committed
2008-05-05 zzz
    * NetDb Stats: Cleanup of commented out stats
    * Outbound message:
      - Fix a couple of tunnel cache cleaning bugs
      - Cache based on source+dest pairs rather than just dest
      - Send the reply leaseSet only when necessary,
        rather than all the time (big savings in overhead)
      - Enable persistent lease selection again
      - Logging tweaks
    * Reachability:
      - Restrict <= .32 SSU-only peers from inbound tunnels,
        since they don't know if they are unreachable
      - Have SSU bid aggressively when it has less than 3 peers, so
        we can determine our IP address and do peer testing.
        Otherwise a router may never determine its IP address or reachability status.
    * Summary bar:
      - Add reachability status
      - Add participating tunnel acceptance status
    * Throttle: Reject tunnels for first 10m uptime
    * I2PTunnel: Change default outproxy to false.i2p
zzz's avatar
zzz committed
    * profiles.jsp: Add router version
zzz's avatar
-1  
zzz committed

zzz's avatar
zzz committed
* 2008-04-26  0.6.1.33 released

zzz's avatar
zzz committed
2008-04-20 zzz
    * Outbound message/Reachability:
      - Fix a bug from -19 causing the persistent lease selection
        removed in -17 to be back again
      - Use netDb-listed-unreachable instead of detected-unreachable
        for exclusion of unreachable peers from selected leases,
        as there are potential anonymity problems with using
        detected-unreachable
      - Tweak logging some more
    * NetDb stats: Remove a couple more including the inefficient stat_identities

zzz's avatar
zzz committed
2008-04-17 zzz
    * Reachability:
      - Track unreachable peers persistently
dg2-new's avatar
dg2-new committed
        (i.e. separately from banlist, and not cleared when they contact us)
zzz's avatar
zzz committed
      - Exclude detected unreachable peers from inbound tunnels
      - Exclude detected unreachable peers from selected leases
      - Exclude detected unreachable floodfill peers from lookups
      - Show unreachable status on profiles.jsp

zzz's avatar
zzz committed
2008-04-16 zzz
    * SSU/Reachability:
dg2-new's avatar
dg2-new committed
      - Extend banlist time from 4-8m to 40-60m
      - Add some banlist logging
      - Don't banlist twice when unreachable on all transports
zzz's avatar
zzz committed
      - Exclude netDb-listed unreachable peers from inbound tunnels;
        this won't help much since there are very few of these now
      - Remove 10s delay on inbound UDP connections used for the
        0.6.1.10 transition
      - Track and display UDP connection direction on peers.jsp
dg2-new's avatar
dg2-new committed
      - Show banlist status in-line on profiles.jsp
zzz's avatar
zzz committed

2008-04-15 zzz
    * SSU Reachability/PeerTestManager:
      - Back out strict peer ordering until we fix SSU
      - Back out persistent lease selection until we fix SSU
      - Fix detection of UDP REJECT_UNSOLICITED by recording status on expiration
      - Increase known Charlie time to 10m; 3m wasn't enough
      - Don't continue retransmitting peer test if we know Charlie
      - Don't run multiple peer tests at once
      - Tighten test frequency range to 6.5-19.5m, was 0-26m

2008-04-12 zzz
    * Addressbook: Disallow '.-' and '-.' in host names
    * NTCP: Don't drop a connection unless both directions are idle;
            Fix idle time for outbound connections
    * Outbound message: Make sure cached lease is in current leaseSet
    * Stats: Put all NetworkDatabase stats in same group
    * TunnelPool: Stop building tunnels and leaseSets after client shutdown
    * i2psnark: Add locking to prevent two I2CP connections

zzz's avatar
zzz committed
2008-04-07 zzz
    * i2psnark:
      - Implement upstream bandwidth limiting
      - Fix a rare NPE at startup/shutdown
      - Really increase retries for .torrent fetch
    * profiles.jsp: Minor cleanup
    * DataHelper: Only format < 5s as ms
    * Eepget: Fix percentage output on command line eepget retries
    * Lower partipating message priority from 400 to 200
    * NTCP: Add a debug message
    * Outbound message: Minor cleanup

2008-03-30 zzz
    * ExploratoryPeerSelector: Try NonFailing even more
    * HostsTxtNamingService: Add reverse lookup support
    * Outbound message: Minor cleanup
zzz's avatar
zzz committed
    * i2psnark TrackerClient: Minor cleanup
    * checklist.txt: Minor edit
    * hosts.txt: Add perv.i2p, false.i2p, mtn.i2p2.i2p
    * i2ptunnel.config: Change CVS client to mtn
    * netdb.jsp: Show leaseSet destinations using reverse lookup
    * profiles.jsp: First cut at showing floodfill data

2008-03-27 zzz
    * Send messages for the same destination to the same inbound
      lease to reduce out-of-order delivery.
    * ExploratoryPeerSelector: Back out the floodfill peer exclusion
      for now, as it prevents speed rating of those peers

2008-03-26 zzz
    * ReseedHandler: Support multiple urls,
      add netdb.i2p2.de as a 2nd default

zzz's avatar
zzz committed
2008-03-25 zzz
    * i2psnark:
      - Add support for secondary open trackers
      - Refactor and simplify the TrackerClient code
      - Add welterde's tracker to the default list
      - Don't have eepget retry announces
      - Slow down tracker contacts if they've failed for a while
      - Add some debug support showing connections (?p=2)
    * hosts.txt: Add nickyb.i2p, tracker.welterde.i2p
zzz's avatar
zzz committed

2008-03-22 zzz
    * NewsFetcher: Fix bug causing fetch every 10m

zzz's avatar
zzz committed
2008-03-22 zzz
    * Tunnel Testing:
      - Fix counting so it really takes 4 consecutive failures
        rather than 4 total to remove a tunnel
      - Credit or blame goes to the exploratory tunnel as well
        as the tunnel being tested
      - Adjust tunnel test timeout based on tunnel length
    * ExploratoryPeerSelector: Tweak logging
    * ProfileOrganizer: Adjust integration calculation again
    * build.xml: Add to help
    * checklist.txt: Tweak
    * readme.html: Fix forum links
    * netDb: Remove tunnel.testFailedTime

zzz's avatar
zzz committed
2008-03-19 zzz
    * ExploratoryPeerSelector:
      - Exclude floodfill peers
zzz's avatar
zzz committed
      - Tweak the HighCap vs. NonFailing decision; try NonFailing
        at least a minimum % of the time
zzz's avatar
zzz committed
    * i2psnark: Increase retries for .torrent fetch
    * IRC Proxy: Prevent mIRC from sending an alternate DCC request
      containing an IP
    * readme.html: Reorder some items
    * Stats: Add some more required stats
    * Streaming lib: Fix slow start to be exponential growth,
      fix congestion avoidance to be linear growth.
      Should speed up local connections a lot, and remote
      connections a little.

dg2-new's avatar
dg2-new committed
       - Prefer heard-from, unfailing, unbanlisted floodfill peers
zzz's avatar
zzz committed
2008-03-14 zzz
zzz's avatar
zzz committed
    * ProfileOrganizer:
       - Use more recent stats to calculate integration
zzz's avatar
zzz committed
       - Show that fast peers are also high-capacity on profiles.jsp
    * readme.html: Update Syndie link
    * TunnelPool: Update comments
    * netDb: Report 1-2h uptime as 90m to further frustrate tracking,
      get rid of the 60s tunnel stats
      (effective as of .33 to provide cover)

2008-03-13 zzz
Loading
Loading full blame...