Skip to content

ServerUpdates

David Anderson edited this page Jan 11, 2024 · 5 revisions

The following briefly describe major additions to the API and server code. There are also frequent bug fixes, which are not shown here. See the git commit log for these.

BOINC app library updates

The following changes involve the BOINC API (the code that gets linked with applications).

date description
9 Jun 2014 fix bug that caused zero CPU time reported (affects wrappers only)
28 May 2014 boinc_temporary_exit() can convey notice to client (for vboxwrapper)
5 Jun 2013 fix bugs for apps that are mostly in critical section (e.g. GPU apps)
11 Oct 2012 apps check for client death using PID, not heartbeat messages

Server code updates

Major Changes since Release 0.9

The following changes have been made to the master branch since release 0.9.

date github pull request DB update? Other updates? description
17 May 2018 2472 Yes Adds periodic task delete_expired_users_and_hosts.php web/server: Allow users to delete their account (GDPR related). Export list of users who have add their account deleted via db_dump for 60 days. See design details
15 May 2018 2500 Yes No web: Send notification to old email address when email is changed. Allow user to revert the change. See design details
30 Apr 2018 2445 No No web: Add a mechanism allowing project admins to "delete" a user
17 Apr 2018 2401 No No web: use stronger password hashing. See design details
16 Apr 2018 2465 No No remote job submission: fix create_batch XML after API change
16 Apr 2018 2453 Yes Adds periodic task delete_expired_tokens.php web: adds mechanism for generating secure tokens/nonces and storing them in the db for a period of time

Older Server Code Updates

Release 0.9

Release 0.9 represents the code base as it was on April 11th, 2018.

The following is a list of recent changes to the server code (includes scheduler, daemons, PHP web pages, etc.). We encourage projects to periodically upgrade to the latest server code; there is a fairly constant stream of bug fixes and new features. There is a script that makes it fast and easy to upgrade.

date SVN change set DB update? description
4 Sep 2014 use mysqli everywhere if available
15-18.Aug.2014 yes Add support for per-app credit
8 Aug 2014 Convey user CPID to client (for BoincTasks)
29 Jul 2014 version.xml can specify API version (for compressed apps)
25 Jul 2014 partial support in scheduler for generic coproessors (e.g. ASICs)
16 Jul 2014 scheduler support for client "brand"; store in DB
14 Jul 2014 add <maintenance_delay> config option
8 Jul 2014 matchmaker (score-based) scheduling is now the default
3 Jul 2014 fix bugs in changing code signing key
3 Jul 2014 scheduler: fix bugs if project has both NCI and regular apps
10 Jun 2014 add "delete_spammers.php" for removing various types of spam accounts
6 Jun 2014 yes app versions (as well as apps) can be marked as "beta"
4 Jun 2014 support CPU OpenCL apps in plan class spec
27 May 2014 fully implement targeted jobs
18 May 2014 include badges in XML stats export
8 May 2014 send notices w/ video or images only to 7.3+ clients
6 May 2014 file_deleter: delete .gz versions also
6 May 2014 add web page showing top CPU models and their stats
4 May 2014 yes apps can be marked as "exact fraction done" (base completion time est only on FD)
30 Apr 2014 generalize interface to PHPMailer
20 Apr 2014 support remote input files in create_work
18 Apr 2014 let projects disable forums and/or teams
10 Apr 2014 support efficient bulk job creation in create_work
2 Apr 2014 yes store job peak mem/disk usage in DB
26 Mar 2014 support gzipped input files
21 Mar 2014 use mysqli PHP functions if available
18 Mar 2014 add validator that checks for string in stderr
8 Mar 2014 enforce GPU job limits separately for each GPU type
6 Mar 2014 yes store gpu_active_frac, and use it in runtime estimation
13 Jan 2014 yes allow limit one # jobs in progress per submitter
5-20 Dec 2013 yes add generic support for badges
23 May 2013 yes parse client "product name" (e.g. phone model) and store in DB
9 May 2013 use HTTPS for forms containing password
25 Apr 2013 yes add support for multi-size apps
9 Apr 2013 add new score-based scheduling
25 Nov 2012 yes remote job submission: keep track of input files in DB
27 Aug 2012 yes add support for limited locality scheduling
24 Aug 2012 yes add non-compute intensive flag to app table
17 Aug 2012 yes add support for volunteer data archival
11 Jul 2012 pagination in forums
25 Jun 2012 scheduler: support Intel GPUs
6.Jun.2012 [25675] Add feature for specifying plan classes in an XML file
22.Feb.2012 [25321] Move antique file deletion to a separate program
30.Jan.2012 [25169] Remodel of "assigned job" mechanism
16.Sept.2011 [24225] Let validator flag job as "runtime outlier"; don't update statistics
20.Jul.2011 [23863] Change implementation of upload certificates to use standard XML
5.Jun.2011 [23636] Add homogeneous app version mechanism
30.Nov.2010 [22778] Server support for Virtualbox applications
9.Nov.2010 [22661] Add element to scheduler reply if we don't have apps for resource types
28.Oct.2010 [22601] Add <dont_send_jobs> config option
1.Oct.2010 [22440] Deal correctly with 32-bit apps that require > 2GB RAM
22.Aug.2010 [22282] Add <prefer_primary_platform> config option
7/12/10 [21896] Make high-priority server messages translatable (works with 6.11 client)
6/10/10 [21735] yes Remove some unused DB fields
6/1/10 [21674] Allow jobs-in-progress limits on per-app, per-processor etc. basis
4/21/10 [21230] yes Estimate reliability using # of consecutive valid results
4/5/10 [21093] For all back-end programs, -d 4 means show DB queries in log
3/9/10 [20816] yes New credit, runtime estimation systems
3/5/10 [20807] yes Improved implementation of locality scheduling
1/13/10 [20149] Client versions include release. Projects may need to update app_version.min_core_version, config options
12/20/09 [19997] Fix SQL injection vulnerability
9/25/09 [19162] Add plan classes for ATI GPU apps
9/15/09 [19053] Project-specified access control for admin web pages
9/3/09 [19002] yes Link jobs to the app version that computed them
8/19/09 [18868] Support jobs that use ATI GPUs, and that use fractional GPUs
7/29/09 [18764] All project-specific scheduling policies on a per-job level
5/20/09 [18182] Support read-only DB replica correctly
3/24/09 [17652] Compile translation files in upgrade and make_project
3/5/09 [17506] Support anonymous-platform coprocessor apps
3/2/09 [17430] Support a combination of locality and regular scheduling
2/13/09 various yes Add scheduler support for GPU apps; fix score-based scheduling; update web translation system; automated DB upgrade; web security fixes; improved log and client messages
9/7/08 [15982] Several security fixes in web code
7/2/08 [15543] Fix problem were clients with malformed global prefs get perpetual "Incomplete request" errors; fix bug that broke create_work
6/13/08 [15398] Handle quotes and slashes correctly in profiles and forums; fix bugs in team foundership transfer mechanism
6/5/08 [15363] Add support for missing optional files in validator/assimilator framework
6/4/08 [15357] yes Add support for adaptive replication
5/23/08 [15281] Add support for matchmaker scheduling
5/21/08 [15270] Don't send work if client has bad code sign key
5/15/08 [15232] Don't erroneously clear client's team name, venue, etc.
5/8/08 [15148] Divide scheduler debug messages into classes, individually selectable
5/6/08 [15137] Add "job size matching" feature (send large jobs to fast hosts)
3/7/08 [14875] yes Per-WU min bandwidth; improved messages for projects with user-selectable apps; other misc
3/4/08 [14842] Add super-easy mechanism for submitting single jobs
2/25/08 [14783] Add regexp-based mechanism for excluding particular CPUs or OSs
2/20/08 [14767] yes Add mechanism for assigning work to hosts, users, or teams
12/30/07 [14448] yes Add uniform/flexible notification mechanism; users can choose 1 email per event, daily digest email, or no email. REQUIRES ADDING NOTIFY.PHP AS A PERIODIC TASK IN CONFIG.XML
12/7/07 [14367] Add 'weak account key' mechanism
11/24/07 [14297] Config option to make team forums visible only to members
11/23/07 [14295] Fix bugs in import of BOINC-wide teams
11/23/07 [14294] Prevent UOTD from showing big image on front page. Use show_uotd().
11/20/07 [14275] Config option to require min avg credit to create or edit profile
11/20/07 [14272] yes Team search feature
11/17/07 [14240] HTML-escape text in BOINC-wide team export file
11/16/07 [14234] Add "team message board" feature
11/16/07 [14232] Don't show email addr to team founder if user has opted out
11/16/07 [14229] yes Add optional user job submission system
11/05/07 [14084] Add user search feature - link to this from home page
10/25/07 [13964] lines/page in top user/team/host lists is configurable
10/24/07 [13945] Add "merge computers by name" feature
10/23/07 [13938] Assimilator bug fix
10/19/07 [13917] yes Let moderators vote on banishment
10/04/07 [13774] Terminology changes in project web site
10/04/07 [13777] Fixed HR-related scheduler bug
10/01/07 [13732] yes New and improved "Find a team" function
09/28/07 [13712] scheduler: <max_wus_in_progress> option wasn't working
09/27/07 [13685] file upload handler: fix spurious "volume full" errors
09/26/07 [13673] yes Fix an annoyance using team foundership transfer
08/26/07 [13463] Preserve project specific preferences during web RPC
08/16/07 [13387] Improve client messages reporting insufficient disk/mem
08/15/07 [13322] Host merge fix (remove CPU capabilities string before attempting actual merge)
07/27/07 [13231] yes Let team founders view history of people joining/quitting team
07/26/07 [13223] Support for 'BOINC-wide teams'
07/20/07 [13201] update_versions: require that dir name == app name
07/19/07 [13193] Add 'suspend_if_no_recent_input' preference (let hosts power down)
07/18/07 [13182] Add 'mark all threads as read' feature (forums)
07/09/07 [13127] Improved feeder query; may fix DB performance problems
07/06/07 [13113] Major revisions to the homogeneous redundancy mechanism
07/05/07 [13104] Fix translation of top-users page
06/27/07 [13045] Relax restrictions on merging hosts
06/12/07 [12912] Add <no_darwin_6>, <no_amd_k6> options
06/06/07 [12834] Make list of supported platforms visible in get_project_config.php
06/04/07 [12813] yes Add a forum preference for private message notification
05/30/07 [12785] Add "merge hosts by name" function
05/27/07 [12754] yes Add Paypal-based donation system
05/24/07 [12743] Add mechanism to end project gracefully
Clone this wiki locally