'light' theme (console & apps):
- Rework to reduce contrast (ticket #1996)
- Add custom radio/checkbox icons for Chrome/Blink
Console:
- 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
- /debug: 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)
- /jars:
- 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)
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: Enhance presentation of 'postman' links on login panel
- /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 2 column display at wider viewport width
- Increased spacing of lease information in leaseset tables
- Add div for "not initialized" message
- Reorganize content display in sybil database to reduce horizontal whitespace:
- Conditional 2-column display of sybil families
- Sybil router characteristics & threatpoints presented in multi-column view
- Added empty (n/a) fields to maintain visual consistency in column view
- /tunnels: ensure our tunnel tables display correctly in Arabic
- 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
- 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.
- New router.sigType config
- Generate / regenerate router keys based on config
- New router.keys2 file 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
- Add setting in i2ptunnel server edit page
- Comment out cert setting on i2ptunnel server edit page
- Show key type on susidns details page
- Show key type on LS debug page
- 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
- Display next key on LS debug page
- 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