Revision History

Program Versions

2.2.3 Service Update release 4/24/01
  • Increased the limit on automatic host connections
  • Increased the limit on incoming host connections
  • Changed the URL for Gnutella Web Search
  • Fixed Security hole with certain relative paths in web server URLs
  • Fixed Range HTTP header specifier now compliant (resumes downloads from non-BearShare servents)
  • Fixed Edit boxes no longer beep when ENTER is pressed
2.2.2 Service Update released 4/1/01
  • Fixed Older BearShare servents are correctly dropped even before the 14th of the month
2.2.1 Feature Update released 3/29/01
  • Revised FAQ and Help Center
  • Fixed Self connection logic aborts stray connections
  • Fixed Intermittent crash when returning search results
2.2.0 Feature Update released 3/13/01
  • New QHD extensions provide an indication if flags are set correctly
  • QoS is red if the server is busy
  • QoS is gray for servers that have not successfully completed at least one upload
  • QoS is green for servers known to have upload slots available
  • QoS is hollow for results without extended QHD information
  • QoS level is independent of push flag, firewalled addresses, or web server
  • QoS level displays at least 4 pixels and has a minimum column width
  • Sorts for all search result columns use and prefer extended information in search results
  • Sorts for the server speed column prefer averaged throughputs
  • Comparison for sorts uses old QoS information if no additional data is present
  • Busy servers always return different search results for the same query regardless of settings
  • Push flag validity indicator is set and checked in search results
  • Searches are not broadcast until no passive results come in for 5 seconds and there were less than 100 matches
  • Search results return the fastest average throughput seen in the last ten completed uploads as the speed of the host
  • Search Result list shows averaged throughput values in green
  • Search results always set the "Push" flag until the servent "proves" its ability to accept incoming connections
  • Push download search results are hidden, and Push download logic is disabled, until the servent "proves" its ability to accept incoming connections
  • Web Site flag only set after the servent "proves" its ability to accept incoming connections
  • Unlimited connections are allowed to and from loopback addresses regardless of settings
  • Passive Search defaults to always on, and removed from the setup
  • Changed the wording of the version upgrade dialog
  • License agreement modified to encourage users
  • Fixed Push messages are routed to the destination instead of being sent back to the sender
  • Fixed Size of QHD public area is checked to determine private data offset
  • Fixed Fixed bug where completed downloads could cause the program to crash later
  • Fixed Search results known to belong to the local user are not routed, even if the route expired

2.1.1 Service Update released 3/12/01
  • Older BearShare host depreferencing
  • Outgoing connection limits for firewalled hosts
  • Reduced the maximum limit on host connections
  • Fixed Less Busy downloads
  • Fixed Automatic connection logic ignores the loopback adapter

2.1.0 Service Update released 3/8/01
  • Pong rate limiting disabled
  • Fixed Push requests use a unique message ID for each request
  • Fixed Duplicate push messages are correctly filtered
  • Fixed Installer no longer waits for child processes

2.0.9 Service Update released 3/2/01
  • Fixed Port number correctly reported in crawler pongs

2.0.8 Service Update released 3/1/01
  • Min/Max controls for Hosts Page
  • Recommended Settings optimize resources for the entire network (Hosts Min=3)
  • Improved support for Clip2 and LimeWire Service Providers
  • Crawler pings are responded to with remote IP and ports of neighbors
  • Port numbers are cached for neighbors
  • Updated Origin icon for the Clip2 Service Provider

2.0.7 Service Update released 2/21/01
  • Pongs with ttl>1 are not returned unless client needs incoming connections
  • Pings with ttl>1 are not sent unless the host cache is low
  • Fixed Installer no longer causes Windows NT to complain about an invalid executable
  • Fixed Installer no longer fails under certain Windows 2000 configurations
  • Fixed Pongs with a zero port number are not stored in the host cache

2.0.6 Service Update released 2/7/01
  • Fixed Intermittent crash with network resources on auto connect
  • Fixed Intermittent crash with certain Reflector and LimeWire queries
  • Fixed Auto connection logic respects the maximum host limit

2.0.5 Service Update released 1/29/01
  • Gnucleus search results are identified
  • Files are written to disk per completed megabyte while downloading
  • Binary queries exceeding the agent TTL are not forwarded
  • Horizon update no longer refreshes the FreePeers horizon
  • Added Movie, QuickTime, RealAudio, RealMedia, and WAV files to the default user website and shared extensions
  • Digital code signing for new installs and updates
  • Installation creates Start Menu group for BearShare
  • Installation creates documentation and Upload Report shortcuts
  • Fixed Program no longer crashes on exit in certain cases
  • Fixed Connection logic respects the specified host count
  • Fixed Pings broadcasts further reduced to current hosts per second

2.0.4 Service Update released 1/23/01
  • Mactella search results are identified
  • Ping, pong throttle actively rate-limits network traffic
  • Bandwidth barrier throttle actively reduces broadcast query traffic
  • Bandwidth barrier timeout reduced to 10 seconds
  • Reduced probabilities of sending outgoing binary queries
  • Decreased default number of host connections per connection type
  • Decreased size of the ping routing tables
  • Increased size for query and push routing tables
  • Relaxed TTL rules on query hits, pong, and push messages
  • Default outgoing TTL reduced to 5
  • Incoming LimeWire Service Provider connections are correctly identified and always accepted

2.0.3 Service Update released 1/22/01
  • Fixed Downloads no longer corrupt the file in certain cases
  • Fixed HTTP response is correctly parsed in all cases

2.0.2 Service Update released 1/21/01
  • Drag and drop links from a browser to the Download List
  • Clear menu option from the Upload Menu
  • Revised interface for auto clear options in Uploads and Downloads
  • GUID generator encodes new protocol client information
  • Extended Ping messages from one hop are not dropped
  • Added Shockwave Flash formats to the default shared extensions
  • Fixed Browse Web Site works from any browser
  • Fixed Filter search setting is loaded on launch
  • Fixed Not Found errors do not retry in Downloads
  • Fixed Browse Web Site works through proxies
  • Fixed Push requests respect the forced IP address
  • Fixed Tab control labels respect the desktop color scheme

2.0.1 Service Update released 1/16/01
  • Square LED option
  • Fixed Connection logic uses less network resources

2.0.0 Major Update released 1/14/01
  • Serve Web Site
  • Browse Web Site from search results
  • Integration with Gnutella Web Search
  • Block IP addresses
  • Upload bandwidth limit controls
  • Search results show Quality of Service
  • Always Retry download enhancement
  • Send to tray from system menu
  • Enhanced connection management
  • Enhanced default settings
  • Shared files spoofing
  • Filtered search results for firewalled users
  • Refresh horizon
  • Streamlined connection interface
  • Fixed Downloads count correctly when manually starting a Busy
  • Fixed Forced IP setting is remembered properly in the Setup

1.3.2 Feature Update released 1/3/01
  • Fixed BearShare exits from the tray correctly
  • Search column in Search Results shows original search text, allows sorting
  • Type column in Search Results shows file type, allows sorting
  • Uptime column in Search Results, hidden by default, shows minutes of uptime
  • Version column in Search Results, hidden by default, shows the software and version
  • All matching keywords are hilited in the Search Results
  • Push flag in the Gnutella Open Protocol Extensions is set and checked

1.3.1 Feature Update released 12/29/00
  • Fixed Forced IP address is reported in Pongs
  • Browser download hindrance educates web-based freeloaders

1.3.0 Feature Update released 12/27/00
  • Fixed Search results from BearShare 1.2.6 servents are no longer dropped
  • Fixed Horizon entries age correctly so the hosts, FreePeers count go down and up
  • Fixed Download logic uses Push requests for IP address=0.0.0.0
  • Common Weblog Format generation option for uploads (see Webstats in docs)
  • Generates HTML reports for upload activity using bundled Webalizer product (see Webstats in docs)

1.2.6 Service Update released 12/26/00
  • Fixed localhost IP addresses (127.0.0.1) coming from pongs are no longer used when connecting automatically
  • Built-in support for the BearShare.Net service
  • About box with FreePeers Agent version number is more easily accessed

1.2.5 Service Update released 12/22/00
  • Fixed Yet another crashing defect related to large search results fixed
  • Fixed Program no longer crashes with Reflector 1.2 Beta
  • Fixed Agent no longer drops messages compliant with the Gnutella Open Protocol Extensions

1.2.4 Service Update released 12/20/00
  • Fixed Program no longer crashes intermittently when returning search results near the 64KB message length limit.
  • Fixed Program no longer crashes when connecting to a Reflector.

1.2.3 Service Update
  • Fixed Program doesn't sit in the tray forever after at least one push download gets a response and the user later exits

1.2.2 Service Update
  • Fixed Agent queries use TTL=2 instead of TTL=7 to avoid creating a traffic problem on the public Gnutella segments
  • Fixed Ping and Agent queries use TTL=1 on incoming connections to reduce the number of broadcast messages

1.2.1 Service Update
  • Fixed Timer service doesn't crash on program startup under Windows 95, or operating systems that don't support CreateWaitableTimer
  • Fixed Timer service operates correctly as a replacement for Windows versions that don't support CreateWaitableTimer
  • Fixed Server no longer crashes on dispose before reporting initialization errors to the user
  • Fixed Resizing the window no longer crashes
  • Fixed The server starts after the Setup Wizard completes, instead of immediately when the program is launched
  • Fixed Hosts don't show a '?' for the state under certain abort sequence scenarios
  • Fixed An empty text file is no longer being created on the E: drive
  • Fixed The host list is the same width as the other lists
  • Fixed Leds disable properly if server is shut down using the menu
  • IP Blocker is more strict with download requests from Gnutella web search engines
  • Download logic detects when remote host blocks you due to repeated requests
  • Setup Wizard adds Napster shared directories if present
  • Incoming service connections are detected before becoming temp
  • Upload logic decodes file name, user agent before anything else, for display
  • Sorts on Version put empty fields at the bottom
  • Earthlink/Mindspring icon has a white background
  • Earthlink/Mindspring DSL users have a slightly different icon

1.2.0 First public release
  • Smooth, flicker free drawing in all lists
  • Sortable columns in all lists with context sensitivity
  • Rubberband column headers
  • Tri state status indicators
  • Feedback for service connections
  • Host status indicator shows unstable connections
  • Uploads and downloads show amount of data sent and received
  • Search Page provides animation during searches
  • Hosts that reach a bandwidth barrier have the bandwidth drawn in red
  • Host message percentages show idle, bandwidth barriers in color
  • Removal of hosts that hit a bandwidth barrier by default, and configurable
  • Private IP addresses in search results are drawn in red
  • Port number display for incoming connections is supressed, since it is randomly assigned
  • Error reporting verbosity is configurable through the setup and the settings file
  • Bandwidth and count statistics on hosts, uploads, downloads, and monitor pages
  • Agent permits Temp connections as a courtesy to other hosts
  • Agent waits for Temp connections to get their pongs
  • Timeouts for host connect, handshake, disconnect, and message completion
  • Temp connections get dropped they don't send a ping within the timeout
  • Agent responds with all files for Reflector or LimeWire browse queries that are one hop away, overriding the max query hits setting
  • Incoming service connections are allowed even if the limit on hosts is reached. This can be turned off in the settings file.
  • Passive searching mode examines all query responses for matches
  • Agressive filtering of search results, off by default
  • Filtering of searches by minimum speed and minimum size
  • Can handle and return more than 255 query hits for searches
  • Automatic detection of other FreePeers Agents on the network
  • Proper response to HTTP HEAD requests
  • Timeouts for connect, request, and disconnect on uploads
  • Proper TCP/IP shutdown sequence for all connections
  • Shared files are scanned in a separate thread
  • Shared files are immediately usable for query responses as they are scanned, even if the list is large
  • File watchdog monitors shared files for changes
  • Optimized using a profiler, all critical sections removed and replaced with atomic variables and spin locks
  • Filenames are stored in canonical format when scanned, to speed local searches
  • Incoming queries are canonicalized before matching
  • Upload List shows all connections, even if they are simple requests or the server is busy
  • Search results from hosts that are disconnecting are examined
  • Search results from expired messages are still examined, but not forwarded
  • URL encoded upload requests are decoded before being displayed
  • Communications layer works with 500 sockets and more
  • Agent responds to pings only if client accepts incoming, and not firewalled, else IP address 0.0.0.0 is returned.
  • Agent responds to queries only if client allows uploads.
  • Server status indicator flashes red if the listening socket failed
  • Completed uploads and downloads show the total time in the Time column
  • Host, upload, and downloads lists show time remaining if there is a timeout.
  • Host list shows all connections at least temporarily (if it was an upload request)
  • Cue text for empty edit boxes in the Hosts and Search pages
  • Elapsed time indicators show seconds if the minutes is less than 5
  • Agent will retry busy servers on downloads using configurable settings
  • Agent correctly responds to all upload requests with well formed headers, even if the server is busy
  • Agent handles legacy HTTP requests from older Gnutella clients
  • Rescanning the shared folder still permits access to the file list through atomic variables
  • UI thread gets a small priority boost during high load in the Agent
  • Search results store coalesces duplicate host information to reduce memory consumption
  • Search results filtered for duplicates
  • Incoming Push requests contact the remote host if the upload limit is reached
  • Splitter bars move in increments of the font height
  • Reorder of pane drawing depending on splitter movement to reduce jiggle
  • Replacements that take buffer sizes for C runtime routines to prevent buffer overrun attacks
  • Checking on all buffers and incoming data to prevent buffer overrun attacks
  • Completed uploads and downloads show the total time and average throughput
  • Installer prompts the user to launch the program after installation
  • Setup Wizard hides the more advanced controls on certain pages
  • File indices are preserved if the file is the same when the shared folder is rescanned
  • Rates use interval analysis when events occur less than once per second
  • Downloading files are opened in shared read mode
  • Transfer progress graphics
  • Download menu provides option to open the file using the file association
  • Search, upload, and download lists provide option to connect to host
  • Setup and server errors are routed to the host errors display
  • Search results are URL decoded
  • Directory components are stripped from incoming search results
  • Added more cases for identifying businesses and foreign ISPs for Origins
  • Added state, and sometimes city, identifications for the major ISPs
  • Added more university and college identifiers
  • Added U.S. and some foreign military identifiers
  • Origin is displayed for uploads and downloads
  • Search result list provides feedback for files the user already selected
  • User agent and server types are applied to the host list if the IP matches
  • Entropy collection munges incoming socket data as well as operating system variables
  • Random number generator changes the key after each output from the block cipher
  • Server fingerprint distinguishes duplicate IP addresses from firewalled hosts on Agent queries
  • Baselines for all UI text line up
  • Blue indicator during service connections
  • Query monitor turns off after 10 minutes to conserve CPU when unattended
  • Legend for the indicator panel
  • Push requests for invalid files still contact the client to send the HTTP status
  • Search logic requires that all words match
  • Search monitor canonicalizes the search before display
  • Empty socket buffers go on the deleted list for speed
  • Each socket threads handles up to 61 connections now
  • Memory measurement classes track every byte
  • Service connection indicator works even if the user types the name or IP address manually
  • Routing table stats only display a capacity if the table fills
  • Hosts page displays a level 1 warning if the routing tables fill before 10 minutes
  • Temp hosts don't get routing tables allocated
  • Routing table sizes can be adjusted while the program is running
  • Explore opens the Windows explorer for any local file
  • Connect Host switches to the Hosts page
  • Double clicking for open/play/download depending on context
  • Installer preserves the settings file
  • Ping/Pong throttling when hosts reach the bandwidth barrier
  • Idle connection monitor sends a ping before disconnecting an idle host
  • UI provides feedback for idling, bandwidth barrier, and high duplicates in the message column
  • Message column right justifies each item
  • Minimizing to the tray area on exit also removes the taskbar tab
  • Program icon uses a transparent background
  • Search results checks the shared file list for matches
  • Custom draw list items look and work the same in all video modes
  • More aliases on LimeWire domains to detect service connections
  • Window respects the color scheme and font size of the desktop
  • Zoomed view can also display the statistics panel, permitting back-tabbing
  • Download logic parses some extended error information that exists past the HTTP response header on some servers.
  • Downloader automatically reconnects on a download if it is interrupted
  • IP blocker denies connections if the remote host connects too many times, or requests the same file over and over again, in a given time period.
  • IP profile database maintains the host name, server type, user agent, and connectivity history for every address.
  • Download logic uses the IP profile database to determine when to give up
  • Download logic puts failed downloads on 'hold' pending anlaysis of other downloads from the same host, before giving up.
  • Download logic starts downloads from the least utilized server when there are multiple downloads from different hosts queued.
  • Dragging with the right mouse button on the column dividers performs a mirror-image resize operation
  • Added more repairing of malformed Content-Range responses from non-compliant servers
  • Added FreePeers Agent count to the hosts horizon
  • Consolidated the memory displays to Server, Network, and Total in statistics
  • Added a configurable delay to host, download, and upload lists for displaying failed items
  • Version update flag added to Agent queries so development can use new versions without triggering the dialog