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 || [https://github.com/BOINC/boinc/pull/2472 2472] || Yes || Adds [ProjectTasks 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 [RightToErasure design details] || || 15 May 2018 || [https://github.com/BOINC/boinc/pull/2500 2500] || Yes || No || web: Send notification to old email address when email is changed. Allow user to revert the change. See [EmailChangeNotification design details] || || 30 Apr 2018 || [https://github.com/BOINC/boinc/pull/2445 2445] || No || No || web: Add a mechanism allowing project admins to "delete" a user || || 17 Apr 2018 || [https://github.com/BOINC/boinc/pull/2401 2401] || No || No || web: use stronger password hashing. See [PasswordHash design details] || || 16 Apr 2018 || [https://github.com/BOINC/boinc/pull/2465 2465] || No || No || remote job submission: fix create_batch XML after API change || || 16 Apr 2018 || [https://github.com/BOINC/boinc/pull/2453 2453] || Yes || Adds [ProjectTasks 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 ==== [https://github.com/BOINC/boinc/releases/tag/server_release%2F0.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 [ToolUpgrade 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 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 config option || || 1.Oct.2010 || [22440] || || Deal correctly with 32-bit apps that require > 2GB RAM || || 22.Aug.2010 || [22282] || || Add 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 [AdaptiveReplication adaptive replication] || || 5/23/08 || [15281] || || Add support for [SchedMatch 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 [AssignedWork 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: 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 '[TeamImport 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 [HomogeneousRedundancy 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 , 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 ||