From 9c4f60619d43748d5da83ff285ada3230aa43054 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Mon, 3 Jan 2011 12:59:31 +0000 Subject: [PATCH 01/34] Branch the site to introduce new site build script. [SVN r67615] --- feed/bbook2rss.py | 28 ++++++++++++++-------------- feed/history-hashes.txt | 2 +- feed/news-hashes.txt | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/feed/bbook2rss.py b/feed/bbook2rss.py index 99f4a445..9e94575b 100755 --- a/feed/bbook2rss.py +++ b/feed/bbook2rss.py @@ -11,6 +11,7 @@ import sys import os.path import hashlib import codecs +from email.utils import parsedate_tz class RssUpdateCheck: """ Tracks which items in an rss feed have been updated. @@ -160,20 +161,19 @@ class BoostBook2RSS: item = self.x(article.documentElement) if item: - try: - last_modified = item.getElementsByTagName('pubDate')[0] - last_modified = " ".join( - t.nodeValue for t in last_modified.childNodes - if t.nodeType == t.TEXT_NODE) - last_modified = last_modified.replace(',', ' ') - items.append([ - time.mktime(time.strptime(last_modified, - '%a %d %b %Y %H:%M:%S %Z')), - item, - bb - ]) - except: - items.append([time.time(),item,bb]) + last_modified = item.getElementsByTagName('pubDate')[0] + last_modified = " ".join( + t.nodeValue for t in last_modified.childNodes + if t.nodeType == t.TEXT_NODE) + last_modified = last_modified.replace(',', ' ').strip() + + if not last_modified or last_modified[0] == '$': + last_modified_time = time.time() + else: + last_modified_time = parsedate_tz(last_modified) + last_modified_time = time.mktime(last_modified_time[:-1]) - last_modified_time[-1] + + items.append([last_modified_time, item, bb]) self.new_hashes = RssUpdateCheck() items.sort(lambda x,y: -cmp(x[0],y[0])) diff --git a/feed/history-hashes.txt b/feed/history-hashes.txt index 0ad6ae3c..eed8b184 100644 --- a/feed/history-hashes.txt +++ b/feed/history-hashes.txt @@ -54,5 +54,5 @@ history/boost_1_42_0.qbk,36765d15b10a22aaa541044a5109f9f4d7366b9f54809f44d55e1d9 history/boost_1_43_0.qbk,242b5e8f79076daf044d3298e84c5e6afce6f075c9ea94a80bb55ad5ee49b45a,26924935e36618f705723425e30a045ff0d06a13ec27645115ad490f744ef9c3 history/boost_1_44_0.qbk,5afefb7a3ac845e5bca131096f43532bc849a358a76fb5b81d1771c859567fe7,38b3363ee32e6ac268e029baaa675b4a6e21cc5ff2abb6310f9cc19d8ccc5ce5 history/boost_1_45_0.qbk,26ea33eb12d21314ae3a4c3eaa2dab5ace7d90929a1a3073b3bda7b99ff3c5b6,efa947fe7348a82a0dd9d03dc01d3f9fef69d42f3e761bc9a6491453b24d43d2 -history/boost_1_46_0.qbk,c4681d09de40fc408e413d1b4ff30132f944dc967baa1e1a51912794ac7aa929,e2f58ba7e56d263ea50e02accc7a55bae14f85d8b80003397faa7bb7d5685ca1 +history/boost_1_46_0.qbk,c4681d09de40fc408e413d1b4ff30132f944dc967baa1e1a51912794ac7aa929,df570d02023e0c23c1c463c85afaa743777c53e7c63d8f436cc80e8b01555ef9 history/unversioned.qbk,2810bfebb2d0739fad2f520df2c386dde484dd28bcd117422b9a95f6df449d8e,8002a54cd484904089f5ece182b03e50d50160c1e1e6b276be44bcf91c8214fb diff --git a/feed/news-hashes.txt b/feed/news-hashes.txt index 68ceeac0..9eadb09f 100644 --- a/feed/news-hashes.txt +++ b/feed/news-hashes.txt @@ -2,4 +2,4 @@ history/boost_1_42_0.qbk,36765d15b10a22aaa541044a5109f9f4d7366b9f54809f44d55e1d9 history/boost_1_43_0.qbk,242b5e8f79076daf044d3298e84c5e6afce6f075c9ea94a80bb55ad5ee49b45a,26924935e36618f705723425e30a045ff0d06a13ec27645115ad490f744ef9c3 history/boost_1_44_0.qbk,5afefb7a3ac845e5bca131096f43532bc849a358a76fb5b81d1771c859567fe7,38b3363ee32e6ac268e029baaa675b4a6e21cc5ff2abb6310f9cc19d8ccc5ce5 history/boost_1_45_0.qbk,26ea33eb12d21314ae3a4c3eaa2dab5ace7d90929a1a3073b3bda7b99ff3c5b6,efa947fe7348a82a0dd9d03dc01d3f9fef69d42f3e761bc9a6491453b24d43d2 -history/boost_1_46_0.qbk,c4681d09de40fc408e413d1b4ff30132f944dc967baa1e1a51912794ac7aa929,9e7c6ac020f99192468913faa5813c8eea611c1449330f1f7a50cd402dfdd57f +history/boost_1_46_0.qbk,c4681d09de40fc408e413d1b4ff30132f944dc967baa1e1a51912794ac7aa929,df570d02023e0c23c1c463c85afaa743777c53e7c63d8f436cc80e8b01555ef9 From be6c2a245ba9d0f876453ae64cd38811f46c2690 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Mon, 3 Jan 2011 17:42:40 +0000 Subject: [PATCH 02/34] New website build script. [SVN r67623] --- build/boost_site/__init__.py | 0 build/boost_site/boostbook_parser.py | 210 ++++++++++ build/boost_site/pages.py | 245 +++++++++++ build/boost_site/state.py | 113 +++++ build/boost_site/templite.py | 87 ++++ build/boost_site/util.py | 16 + build/build.py | 262 ++++++++++++ build/download-entries.php | 92 ----- build/news-entries.php | 102 ----- .../download-template.html} | 0 .../entry-template.html} | 0 .../history-template.html} | 0 .../index-src.html} | 0 .../news-template.html} | 0 feed/bbook2rss.py | 391 ------------------ 15 files changed, 933 insertions(+), 585 deletions(-) create mode 100755 build/boost_site/__init__.py create mode 100755 build/boost_site/boostbook_parser.py create mode 100755 build/boost_site/pages.py create mode 100755 build/boost_site/state.py create mode 100755 build/boost_site/templite.py create mode 100755 build/boost_site/util.py create mode 100755 build/build.py delete mode 100644 build/download-entries.php delete mode 100644 build/news-entries.php rename build/{download-index.php => templates/download-template.html} (100%) rename build/{history-entries.php => templates/entry-template.html} (100%) rename build/{history-index.php => templates/history-template.html} (100%) rename build/{index-src.php => templates/index-src.html} (100%) rename build/{news-index.php => templates/news-template.html} (100%) delete mode 100755 feed/bbook2rss.py diff --git a/build/boost_site/__init__.py b/build/boost_site/__init__.py new file mode 100755 index 00000000..e69de29b diff --git a/build/boost_site/boostbook_parser.py b/build/boost_site/boostbook_parser.py new file mode 100755 index 00000000..79355288 --- /dev/null +++ b/build/boost_site/boostbook_parser.py @@ -0,0 +1,210 @@ +#!/usr/bin/env python +# Copyright 2007 Rene Rivera +# Copyright 2011 Daniel James +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) + +import xml.dom.minidom, time +from email.utils import parsedate_tz + +class BoostBookParser: + def __init__(self, document = None): + if document: + self.document = document + else: + self.document = xml.dom.minidom.getDOMImplementation().createDocument(None, "body", None) + + def parse(self, filename): + article = xml.dom.minidom.parse(filename) + + article_node = article.documentElement + if article_node.nodeName != 'article': + print "Boostbook file not article:", filename + return + + brief_xhtml = self.new_fragment( + *self.x_children(article_node.getElementsByTagName('articlepurpose')[0]) + ) + + title_xhtml = self.new_fragment( + *self.x_children(article_node.getElementsByTagName('title')[0]) + ) + + download_item = None + download_node = article_node.getElementsByTagName('download') + if download_node: + download_item = self.get_child(download_node[0]).data + + pub_date = article_node.getAttribute('last-revision').strip() + + if not pub_date or pub_date[0] == '$': + pub_date = 'In Progress' + last_modified = time.time() + else: + last_modified = parsedate_tz(pub_date) + last_modified = time.mktime(last_modified[:-1]) - last_modified[-1] + + description_xhtml = self.x(article_node) + + return { + 'title_fragment' : title_xhtml, + 'purpose_fragment' : brief_xhtml, + 'description_fragment' : description_xhtml, + 'pub_date' : pub_date, + 'last_modified' : last_modified, + 'download_item' : download_item + } + + def x(self, node): + "Call conversion method for node" + + # This used to deal with multiple arguments and kwargs, but I didn't + # understand what it was doing, and it never used it, so I simplified + # it to just deal with a single node. + + name = 'x_'+node.nodeName.replace('-','_').replace('#','_') + + if hasattr(self,name): + return getattr(self,name)(node) + else: + assert False, 'Unknown node type %s'%(name) + return None + + def x_children( self, parent, **kwargs ): + result = [] + for n in parent.childNodes: + result.append(self.x(n)) + return result + + def x_article(self,node): + description_xhtml = self.new_fragment() + for body_item in node.childNodes: + if body_item.nodeName in ['title', 'articleinfo']: + continue + if self.get_child(body_item, tag = 'download'): + continue + description_xhtml.appendChild(self.x(body_item)) + + return description_xhtml + + def x__text(self,node): + return self.document.createTextNode(node.data); + + def x_para(self,node): + return self.new_node('p', + *self.x_children(node)) + + def x_simpara(self,node): + return self.new_node('div', + *self.x_children(node)) + + def x_ulink(self,node): + return self.new_node('a', + href=node.getAttribute('url'), + *self.x_children(node)) + + def x_section(self,node): + return self.new_node('div', + id=node.getAttribute('id'), + *self.x_children(node)) + + def x_title(self,node): + return self.new_node('h3', + *self.x_children(node)) + + def x_link(self,node): + return self.new_node('span', + klass='link', + *self.x_children(node)) + + def x_itemizedlist(self,node): + return self.new_node('ul', + *self.x_children(node)) + + def x_listitem(self,node): + return self.new_node('li', + *self.x_children(node)) + + def x_phrase(self,node): + return self.new_node('span', + klass=node.getAttribute('role'), + *self.x_children(node)) + + def x_code(self,node): + return self.new_node('code', + *self.x_children(node)) + + def x_literal(self,node): + return self.new_node('tt', + *self.x_children(node)) + + def x_emphasis(self,node): + return self.new_node('em', + *self.x_children(node)) + + def x_inlinemediaobject(self,node): + image = self.get_child(node,'imageobject') + if image: + image = self.get_child(image,'imagedata') + if image: + image = image.getAttribute('fileref') + alt = self.get_child(node,'textobject') + if alt: + alt = self.get_child(alt,'phrase') + if alt and alt.getAttribute('role') == 'alt': + alt = self.get_child(alt).data.strip() + else: + alt = None + if not alt: + alt = '[]' + if image: + return self.new_node('img', + src=image, + alt=alt) + else: + return None + + def get_child( self, root, tag = None, id = None, name = None): + for n in root.childNodes: + found = True + if tag and found: + found = found and tag == n.nodeName + if id and found: + if n.hasAttribute('id'): + found = found and n.getAttribute('id') == id + else: + found = found and n.hasAttribute('id') and n.getAttribute('id') == id + if name and found: + found = found and n.hasAttribute('name') and n.getAttribute('name') == name + if found: + return n + return None + + def new_fragment( self, *child ): + result = self.document.createDocumentFragment() + for c in child: + if c: + result.appendChild(c) + return result + + def new_node( self, tag, *child, **kwargs ): + result = self.document.createElement(tag) + for k in kwargs.keys(): + if kwargs[k] != '': + if k == 'id': + result.setAttribute('id',kwargs[k]) + elif k == 'klass': + result.setAttribute('class',kwargs[k]) + else: + result.setAttribute(k,kwargs[k]) + for c in child: + if c: + result.appendChild(c) + return result + + def new_text( self, tag, data, **kwargs ): + result = self.new_node(tag,**kwargs) + data = data.strip() + if len(data) > 0: + result.appendChild(self.document.createTextNode(data)) + return result diff --git a/build/boost_site/pages.py b/build/boost_site/pages.py new file mode 100755 index 00000000..721b7767 --- /dev/null +++ b/build/boost_site/pages.py @@ -0,0 +1,245 @@ +#!/usr/bin/env python +# Copyright 2011 Daniel James +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) + +import boost_site.state, boost_site.util +import os, hashlib, xml.dom.minidom, re, fnmatch, subprocess, tempfile, time + +class Pages: + """ Tracks which items in an rss feed have been updated. + + Stores meta data about the quickbook file, including the signature + of the quickbook file and the rss item. + """ + def __init__(self, hash_file): + self.hash_file = hash_file + + # Map of quickbook filename to Page + self.pages = {} + + # Map of rss hash to quickbook filename + self.rss_hashes = {} + + if(os.path.isfile(hash_file)): + hashes = boost_site.state.load(hash_file) + for qbk_file in hashes: + record = hashes[qbk_file] + self.pages[qbk_file] = Page(qbk_file, record) + if(record.get('rss_hash')): + self.rss_hashes[record['rss_hash']] = qbk_file + + def save(self): + save_hashes = {} + for x in self.pages: + save_hashes[x] = self.pages[x].state() + boost_site.state.save(save_hashes, self.hash_file) + + def add_qbk_file(self, qbk_file, location): + file = open(qbk_file) + try: + qbk_hash = hashlib.sha256(file.read()).hexdigest() + finally: + file.close() + + record = None + + if qbk_file not in self.pages: + self.pages[qbk_file] = record = \ + Page(qbk_file) + else: + record = self.pages[qbk_file] + if record.dir_location: + assert record.dir_location == location + if record.qbk_hash == qbk_hash: + return + if record.page_state != 'new': + record.page_state = 'changed' + + record.qbk_hash = qbk_hash + record.dir_location = location + + # You might be wondering why I didn't just save the rss items - would + # be able to save all the items not just the ones in the feed. + # I mostly wanted to minimise the amount of stuff that was checked in + # to subversion with each change. + def load_rss(self, rss_file, xml_doc): + rss_items = {} + + if(os.path.isfile(rss_file)): + rss = xml.dom.minidom.parse(rss_file) + for item in rss.getElementsByTagName('item'): + hashed = hash_dom_node(item) + if hashed in self.rss_hashes: + rss_items[self.rss_hashes[hashed]] = { + 'quickbook': self.rss_hashes[hashed], + 'item': xml_doc.importNode(item, True), + 'last_modified': self.pages[self.rss_hashes[hashed]].last_modified + } + else: + print "Unable to find quickbook file for rss item:" + print hashed + + return rss_items + + def add_rss_item(self, item): + self.pages[item['quickbook']].rss_hash = hash_dom_node(item['item']) + + def convert_quickbook_pages(self, refresh = False): + try: + subprocess.check_call(['quickbook', '--version']) + except: + print "Problem running quickbook, will not convert quickbook articles." + return + + bb_parser = boost_site.boostbook_parser.BoostBookParser() + + for page in self.pages: + page_data = self.pages[page] + if page_data.page_state or refresh: + xml_file = tempfile.mkstemp('', '.xml') + os.close(xml_file[0]) + xml_filename = xml_file[1] + try: + print "Converting " + page + ":" + subprocess.check_call(['quickbook', '--output-file', xml_filename, '-I', 'feed', page]) + page_data.load(bb_parser.parse(xml_filename), refresh) + finally: + os.unlink(xml_filename) + + boost_site.templite.write_template(page_data.location, + 'build/templates/entry-template.html', + { 'page': page_data }) + + + def match_pages(self, patterns, count = None): + filtered = set() + for pattern in patterns: + filtered = filtered | set(fnmatch.filter(self.pages.keys(), pattern)) + + entries = [self.pages[x] for x in filtered if self.pages[x].page_state != 'new'] + entries = sorted(entries, key = lambda x: x.last_modified, reverse=True) + if count: + entries = entries[:count] + return entries + +def hash_dom_node(node): + return hashlib.sha256(node.toxml('utf-8')).hexdigest() + +class Page: + def __init__(self, qbk_file, attrs = None): + self.qbk_file = qbk_file + + if not attrs: attrs = { 'page_state' : 'new' } + + self.page_state = attrs.get('page_state', None) + self.dir_location = attrs.get('dir_location', None) + self.location = attrs.get('location', None) + self.id = attrs.get('id', None) + self.title_xml = attrs.get('title', None) + self.purpose_xml = attrs.get('purpose', None) + self.last_modified = attrs.get('last_modified') + self.pub_date = attrs.get('pub_date') + self.download_item = attrs.get('download') + self.qbk_hash = attrs.get('qbk_hash') + self.rss_hash = attrs.get('rss_hash') + + self.loaded = False + + def state(self): + return { + 'page_state': self.page_state, + 'dir_location': self.dir_location, + 'location': self.location, + 'id' : self.id, + 'title': self.title_xml, + 'purpose': self.purpose_xml, + 'last_modified': self.last_modified, + 'pub_date': self.pub_date, + 'download': self.download_item, + 'qbk_hash': self.qbk_hash, + 'rss_hash': self.rss_hash + } + + def load(self, values, refresh = False): + assert self.dir_location or refresh + assert not self.loaded + + self.title_xml = boost_site.util.fragment_to_string(values['title_fragment']) + self.purpose_xml = boost_site.util.fragment_to_string(values['purpose_fragment']) + self.description_xml = boost_site.util.fragment_to_string(values['description_fragment']) + + self.pub_date = values['pub_date'] + self.last_modified = values['last_modified'] + self.download_item = values['download_item'] + self.id = re.sub('[\W]', '_', self.title_xml).lower() + if self.dir_location: + self.location = self.dir_location + self.id + '.html' + self.dir_location = None + self.page_state = None + + self.loaded = True + + def web_date(self): + if self.pub_date == 'In Progress': + return self.pub_date + else: + return time.strftime('%B %d, %Y %H:%M GMT', time.gmtime(self.last_modified)) + + def download_table(self): + if(not self.download_item): + return '' + + match = re.match('.*/boost/(\d+)\.(\d+)\.(\d+)/', self.download_item) + if(match): + major = int(match.group(1)) + minor = int(match.group(2)) + point = int(match.group(3)) + base_name = 'boost_' + match.group(1) + '_' + match.group(2) + '_' + match.group(3) + + # Pick which files are available by examining the version number. + # This could possibly be meta-data in the rss feed instead of being + # hardcoded here. + + # TODO: Key order hardcoded later. + + downloads = { + 'unix' : [base_name + '.tar.bz2', base_name + '.tar.gz'], + 'windows' : [] + } + + if(major == 1 and minor >= 32 and minor <= 33): + downloads['windows'].append(base_name + '.exe') + elif(major > 1 or minor > 34 or (minor == 34 and point == 1)): + downloads['windows'].append(base_name + '.7z') + downloads['windows'].append(base_name + '.zip') + + # Print the download table. + + output = '' + output = output + '' + output = output + '' + output = output + '' + + for platform in ['unix', 'windows']: + files = downloads[platform] + output += "\n" + output += '' + output += ''.join( + '' + for file in files + ) + output += '' + + output += '
Downloads
PlatformFile
1): + output += ' rowspan="' + str(len(files)) + '"'; + output += '>' + boost_site.util.htmlencode(platform) + '
' + boost_site.util.htmlencode(file) + '
' + return output + else: + # If the link didn't match the normal version number pattern + # then just use the old fashioned link to sourceforge. */ + + return '

Download this release.

'; diff --git a/build/boost_site/state.py b/build/boost_site/state.py new file mode 100755 index 00000000..ddd9e0de --- /dev/null +++ b/build/boost_site/state.py @@ -0,0 +1,113 @@ +#!/usr/bin/env python +# Copyright 2011 Daniel James +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) + +import os + +class StateParseError: + None + +def load(file_path): + state = {} + + if(file_path and os.path.isfile(file_path)): + file = open(file_path) + try: + while (True): + c = file.read(1) + if(not c): + break + if(c == '#'): + file.readline() + continue + if(c != '('): + raise StateParseError() + record_key = file.readline().rstrip() + if(not record_key): raise StateParseError() + record = {} + key = None + value = None + type = None + while (True): + c = file.read(1) + if((c == ')' or c == '-') and key): + if(not key): + raise StateParseError() + + if(type == 'String'): + value = value[:-1] + + record[key] = value + + if(c == ')'): + if(file.readline() != '\n'): raise StateParseError() + break + elif(c == '-'): + key = file.readline().rstrip() + if(not key): raise StateParseError() + type = 'None' + value = None + elif(c == '.'): + if(not key or type != 'None'): raise StateParseError() + type = 'Float' + value = float(file.readline()) + elif(c == '!'): + if(not key or type != 'None'): raise StateParseError() + type = 'Bool' + value = bool(file.readline()) + elif(c == '='): + if(not key or type != 'None'): raise StateParseError() + type = 'Int' + value = int(file.readline()) + elif(c == '"'): + if(not key): raise StateParseError() + if(type == 'None'): + type = 'String' + value = file.readline().decode('utf-8') + elif(type == 'String'): + value = value + file.readline().decode('utf-8') + else: + raise StateParseError() + else: + raise StateParseError() + state[record_key] = record + finally: + file.close() + + return state + +def save(state, file_path): + file = open(file_path, "w") + try: + for record_key in sorted(state.keys()): + record = state[record_key] + + file.write("(") + file.write(record_key) + file.write("\n") + + for key in sorted(record.keys()): + file.write("-") + file.write(key) + file.write("\n") + + if record[key] is not None: + if isinstance(record[key], basestring): + file.write('"') + file.write(record[key].replace("\n", "\n\"").encode('utf-8')) + file.write("\n") + elif isinstance(record[key], bool): + file.write('!') + file.write(str(record[key])) + file.write("\n") + elif isinstance(record[key], (int, float)): + file.write('.') + file.write(str(record[key])) + file.write("\n") + else: + assert False + + file.write(")\n") + finally: + file.close() diff --git a/build/boost_site/templite.py b/build/boost_site/templite.py new file mode 100755 index 00000000..85d99b88 --- /dev/null +++ b/build/boost_site/templite.py @@ -0,0 +1,87 @@ +# Templite +# +# Taken from: +## {{{ http://code.activestate.com/recipes/496702/ (r3) +# +# Modified to use unicode, and added convenience method. +# +# Licensed under the PSF License + +import re + +# TODO: Integrate with main class? +def write_template(location, template, params): + template_file = open(template, 'r') + try: + template_format = template_file.read().decode('utf-8') + finally: + template_file.close() + + t = Templite(template_format) + output = t(params) + output_file = open(location, 'w') + try: + output_file.write(output.encode('utf-8')) + finally: + output_file.close() + +class Templite(object): + delimiter = re.compile(r"\$\{(.*?)\}\$", re.DOTALL) + + def __init__(self, template): + self.tokens = self.compile(template) + + @classmethod + def from_file(cls, file): + """ + loads a template from a file. `file` can be either a string, specifying + a filename, or a file-like object, supporting read() directly + """ + if isinstance(file, basestring): + file = open(file) + return cls(file.read()) + + @classmethod + def compile(cls, template): + tokens = [] + for i, part in enumerate(cls.delimiter.split(template)): + if i % 2 == 0: + if part: + tokens.append((False, part.replace("$\\{", "${"))) + else: + if not part.strip(): + continue + lines = part.replace("}\\$", "}$").splitlines() + margin = min(len(l) - len(l.lstrip()) for l in lines if l.strip()) + realigned = "\n".join(l[margin:] for l in lines) + code = compile(realigned, "" % (realigned[:20],), "exec") + tokens.append((True, code)) + return tokens + + def render(__self, __namespace = None, **kw): + """ + renders the template according to the given namespace. + __namespace - a dictionary serving as a namespace for evaluation + **kw - keyword arguments which are added to the namespace + """ + namespace = {} + if __namespace: namespace.update(__namespace) + if kw: namespace.update(kw) + + def emitter(*args): + for a in args: output.append(unicode(a)) + def fmt_emitter(fmt, *args): + output.append(fmt % args) + namespace["emit"] = emitter + namespace["emitf"] = fmt_emitter + + output = [] + for is_code, value in __self.tokens: + if is_code: + eval(value, namespace) + else: + output.append(value) + return "".join(output) + + # shorthand + __call__ = render diff --git a/build/boost_site/util.py b/build/boost_site/util.py new file mode 100755 index 00000000..ce529f23 --- /dev/null +++ b/build/boost_site/util.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python +# Copyright 2011 Daniel James +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) + +def htmlencode(text): + return text.replace('&', '&').replace('<', '<').replace('>', '&rt;') + +def fragment_to_string(fragment): + """ + Convert a minidom document fragment to a string. + + Because 'toxml' doesn't work: + http://bugs.python.org/issue9883 + """ + return ''.join(x.toxml('utf-8').decode('utf-8') for x in fragment.childNodes) diff --git a/build/build.py b/build/build.py new file mode 100755 index 00000000..5652bacb --- /dev/null +++ b/build/build.py @@ -0,0 +1,262 @@ +#!/usr/bin/env python +# Copyright 2007 Rene Rivera +# Copyright 2011 Daniel James +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) + +"""Usage: python build.py [command] + +If command is omitted then 'update' is used. + +Commands: + +update Update the html pages and rss feeds for new or updated + quickbook files. + +refresh Reconvert all the quickbook files and regenerate the html + pages. Does not update the rss feeds or add new pages. + Useful for when quickbook, the scripts or the templates have + been updated. + +docs Update the documentation list from doc/libraries.xml. + Requires php to be on the path and the site to be configured. + +start Setup the state file and regenerate html files from the old + hashes files. + +""" + +import os, sys, subprocess, glob, re, time, xml.dom.minidom, codecs +import boost_site.templite, boost_site.pages, boost_site.boostbook_parser, boost_site.util + +################################################################################ + +settings = { + 'pages': { + 'users/history/': { + 'src_files' : ['feed/history/*.qbk'], + 'template' : 'build/templates/entry-template.html' + }, + 'users/news/': { + 'src_files' : ['feed/news/*.qbk'], + 'template' : 'build/templates/entry-template.html' + }, + 'users/download/': { + 'src_files' : ['feed/downloads/*.qbk'], + 'template' : 'build/templates/entry-template.html' + } + }, + 'index-pages' : { + 'users/download/index.html' : 'build/templates/download-template.html', + 'users/history/index.html' : 'build/templates/history-template.html', + 'users/news/index.html' : 'build/templates/news-template.html', + 'index.html' : 'build/templates/index-src.html' + }, + 'feeds' : { + 'feed/downloads.rss' : { + 'title': 'Boost Downloads', + 'matches': ['feed/history/*.qbk', 'feed/downloads/*.qbk'], + 'count': 5 + }, + 'feed/history.rss' : { + 'title': 'Boost History', + 'matches': ['feed/history/*.qbk'] + }, + 'feed/news.rss' : { + 'title': 'Boost News', + 'matches': ['feed/news/*.qbk', 'feed/history/*.qbk'], + 'count': 5 + } + } +} + +################################################################################ + +def main(argv): + os.chdir(os.path.join(os.path.dirname(sys.argv[0]), "../")) + + if len(argv) > 1: + print __doc__ + return + + if len(argv) == 1 and argv[0]: + command = argv[0] + else: + command = 'update' + + if command == 'docs': + return update_php_docs() + elif command == 'update': + return update_quickbook(False) + elif command == 'refresh': + return update_quickbook(True) + elif command == 'start': + status = convert_hash_files() + if(status != 0): return status + return update_quickbook(True) + else: + print __doc__ + return + +def update_php_docs(): + try: + subprocess.check_call(['php', 'build/build.php']) + except: + print "PHP documentation serialization failed." + +def convert_hash_files(): + hashes = {} + + for hash_file in glob.glob('feed/*-hashes.txt'): + new_hashes = load_hashes(hash_file) + + for qbk_file in new_hashes: + full_path = 'feed/%s' % qbk_file + if(full_path in hashes and hashes[full_path] != new_hashes[qbk_file]): + print "Contradiction for %s" % qbk_file + return -1 + else: + hashes[full_path] = new_hashes[qbk_file] + + state = {} + + for location in settings['pages']: + pages_data = settings['pages'][location] + for src_file_pattern in pages_data['src_files']: + for qbk_file in glob.glob(src_file_pattern): + if qbk_file in hashes: + state = hashes[qbk_file] + state['dir_location'] = location + + boost_site.state.save(hashes, 'build/state/feed-pages.txt') + return 0 + +def load_hashes(hash_file): + qbk_hashes = {} + + file = open(hash_file) + try: + for line in file: + (qbk_file, qbk_hash, rss_hash) = line.strip().split(',') + qbk_hashes[qbk_file] = {'qbk_hash': qbk_hash, 'rss_hash': rss_hash} + return qbk_hashes + finally: + file.close() + +def update_quickbook(refresh): + # Now check quickbook files. + + pages = boost_site.pages.Pages('build/state/feed-pages.txt') + + if not refresh: + for location in settings['pages']: + pages_data = settings['pages'][location] + for src_file_pattern in pages_data['src_files']: + for qbk_file in glob.glob(src_file_pattern): + pages.add_qbk_file(qbk_file, location) + + pages.save() + + # Translate new and changed pages + + pages.convert_quickbook_pages(refresh) + + # Generate 'Index' pages + + for index_page in settings['index-pages']: + boost_site.templite.write_template( + index_page, + settings['index-pages'][index_page], + { 'pages' : pages }) + + # Generate RSS feeds + + if not refresh: + for feed_file in settings['feeds']: + feed_data = settings['feeds'][feed_file] + rss_feed = generate_rss_feed(feed_file, feed_data) + rss_channel = rss_feed.getElementsByTagName('channel')[0] + old_rss_items = pages.load_rss(feed_file, rss_feed) + + feed_pages = pages.match_pages(feed_data['matches']) + if 'count' in feed_data: + feed_pages = feed_pages[:feed_data['count']] + + for qbk_page in feed_pages: + if qbk_page.loaded: + item = generate_rss_item(rss_feed, qbk_page.qbk_file, qbk_page) + pages.add_rss_item(item) + rss_channel.appendChild(item['item']) + elif qbk_page.qbk_file in old_rss_items: + rss_channel.appendChild(old_rss_items[qbk_page.qbk_file]['item']) + else: + print "Missing entry for %s" % qbk_page.qbk_file + + output_file = open(feed_file, 'w') + try: + output_file.write(rss_feed.toxml('utf-8')) + finally: + output_file.close() + + pages.save() + +################################################################################ + +def generate_rss_feed(feed_file, details): + rss = xml.dom.minidom.parseString(''' + + + BoostBook2RSS + %(title)s + %(link)s + %(description)s + %(language)s + %(copyright)s + + +''' % { + 'title' : details['title'], + 'link' : "http://www.boost.org/" + feed_file, + 'description' : '', + 'language' : 'en-us', + 'copyright' : 'Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)' + } ) + + return rss + +def generate_rss_item(rss_feed, qbk_file, page): + assert page.loaded + + item = rss_feed.createElement('item') + + title = xml.dom.minidom.parseString('%s' % page.title_xml) + item.appendChild(rss_feed.importNode(title.documentElement, True)) + + # TODO: Convert date format? + node = rss_feed.createElement('pubDate') + node.appendChild(rss_feed.createTextNode(page.pub_date)) + item.appendChild(node) + + node = rss_feed.createElement('boostbook:purpose') + node.appendChild(rss_feed.createTextNode(page.purpose_xml)) + item.appendChild(node) + + if page.download_item: + node = rss_feed.createElement('boostbook:downlaod') + node.appendChild(rss_feed.createTextNode(page.download_item)) + item.appendChild(node) + + node = rss_feed.createElement('description') + node.appendChild(rss_feed.createTextNode(page.description_xml)) + item.appendChild(node) + + return({ + 'item': item, + 'quickbook': qbk_file, + 'last_modified': page.last_modified + }) + +################################################################################ + +if __name__ == "__main__": + main(sys.argv[1:]) \ No newline at end of file diff --git a/build/download-entries.php b/build/download-entries.php deleted file mode 100644 index 4a75aca8..00000000 --- a/build/download-entries.php +++ /dev/null @@ -1,92 +0,0 @@ -db as $_guid => $_value) { - echo "Building $_guid\n"; - - ob_start(); -?> - - - - - <?php print $_downloads->db[$_guid]['title']; ?> - - - - - - - -
- -
- -
-
-
-
-
-
-

db[$_guid]['title']; ?>

-
- -
-

db[$_guid]['title']; ?>

- -

db[$_guid]['date']; ?>

- - echo_download_table($_guid); ?> - -
- db[$_guid]['description']; ?> -
-
-
-
-
- - - -
-
-
- - - - - \ No newline at end of file diff --git a/build/news-entries.php b/build/news-entries.php deleted file mode 100644 index 8a9701e8..00000000 --- a/build/news-entries.php +++ /dev/null @@ -1,102 +0,0 @@ -db as $_guid => $_value) { - echo "Building $_guid\n"; - - ob_start(); -?> - - - - - <?php print $_news->db[$_guid]['title']; ?> - - - - - - - - -
- -
- -
-
-
-
-
-
-

db[$_guid]['title']; ?>

-
- -
-

db[$_guid]['title']; ?>

- -

db[$_guid]['date']; ?>

- - echo_download_table($_guid); ?> - -
- db[$_guid]['description']; ?> -
-
-
-
-
- - - -
-
-
- - - - - \ No newline at end of file diff --git a/build/download-index.php b/build/templates/download-template.html similarity index 100% rename from build/download-index.php rename to build/templates/download-template.html diff --git a/build/history-entries.php b/build/templates/entry-template.html similarity index 100% rename from build/history-entries.php rename to build/templates/entry-template.html diff --git a/build/history-index.php b/build/templates/history-template.html similarity index 100% rename from build/history-index.php rename to build/templates/history-template.html diff --git a/build/index-src.php b/build/templates/index-src.html similarity index 100% rename from build/index-src.php rename to build/templates/index-src.html diff --git a/build/news-index.php b/build/templates/news-template.html similarity index 100% rename from build/news-index.php rename to build/templates/news-template.html diff --git a/feed/bbook2rss.py b/feed/bbook2rss.py deleted file mode 100755 index 9e94575b..00000000 --- a/feed/bbook2rss.py +++ /dev/null @@ -1,391 +0,0 @@ -#!/usr/bin/python -# Copyright 2007 Rene Rivera -# Distributed under the Boost Software License, Version 1.0. -# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) - -import re -import optparse -import time -import xml.dom.minidom -import sys -import os.path -import hashlib -import codecs -from email.utils import parsedate_tz - -class RssUpdateCheck: - """ Tracks which items in an rss feed have been updated. - - Stores in a csv file the quickbook file, the quickbook file's signature, - the generated rss item's signature. If the quickbook hasn't changed and an - item in the rss feed matches the stored signature it uses that instead of - the newly generated xml. - - This is pretty dodgy since it's in the wrong stage of building - this should - be done before the quickbook files are compiled. In order to work it has to - guess the name of the quickbook file. With the current build setup it always - guesses correctly. - - Overall a bit poor, but it works. More or less. - """ - def __init__(self, hash_file = None): - # Map of quickbook filename to (quickbook hash, rss hash) - self.qbk_hashes = {} - # Map of rss item hash to rss item - self.rss_items = {} - - if(hash_file and os.path.isfile(hash_file)): - self.load_hashes(hash_file) - - # You might be wondering why I didn't just save the rss items - would - # be able to save all the items not just the ones in the feed. - # I mostly wanted to minimise the amount of stuff that was checked in - # to subversion with each change. - def load_rss(self, rss_file): - if(os.path.isfile(rss_file)): - rss = xml.dom.minidom.parse(rss_file) - for item in rss.getElementsByTagName('item'): - self.rss_items[self.hash_node(item)] = item - - def load_hashes(self, hash_file): - if(hash_file and os.path.isfile(hash_file)): - file = open(hash_file) - try: - for line in file: - (qbk_file, qbk_hash, rss_hash) = line.strip().split(',') - self.qbk_hashes[qbk_file] = (qbk_hash, rss_hash) - finally: - file.close() - - def save_hashes(self, hash_file): - file = open(hash_file, "w") - try: - for qbk_file in sorted(self.qbk_hashes.keys()): - file.write(qbk_file + "," + ",".join(self.qbk_hashes[qbk_file]) + "\n") - finally: - file.close() - - def check_file(self, xml_file): - (qbk_file, new_qbk_hash) = self.hash_qbk_file(xml_file) - if(qbk_file not in self.qbk_hashes): - return - (old_qbk_hash, rss_hash) = self.qbk_hashes[qbk_file] - if(old_qbk_hash != new_qbk_hash or rss_hash not in self.rss_items): - return - return self.rss_items[rss_hash] - - def add_file(self, xml_file, item): - (qbk_file, qbk_hash) = self.hash_qbk_file(xml_file) - if(qbk_file): - self.qbk_hashes[qbk_file] = (qbk_hash, self.hash_node(item)) - - def hash_node(self, node): - return hashlib.sha256(node.toxml('utf-8')).hexdigest() - - # This is very dodgy.... - def hash_qbk_file(self, xml_file): - qbk_file = os.path.normpath(xml_file.replace('.xml', '.qbk')).replace('\\', '/') - if(not os.path.isfile(qbk_file)): - return (None, None) - file = open(qbk_file) - try: - return (qbk_file, hashlib.sha256(file.read()).hexdigest()) - finally: - file.close() - -class BoostBook2RSS: - - def __init__(self): - opt = optparse.OptionParser( - usage="%prog [options] input+") - opt.add_option( '--output', - help="output RSS file" ) - opt.add_option( '--update-file' ) - opt.add_option( '--channel-title' ) - opt.add_option( '--channel-link' ) - opt.add_option( '--channel-language' ) - opt.add_option( '--channel-copyright' ) - opt.add_option( '--channel-description' ) - opt.add_option( '--count', type='int' ) - self.output = 'out.rss' - self.channel_title = '' - self.channel_link = '' - self.channel_language = 'en-us' - self.channel_copyright = 'Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)' - self.channel_description = '' - self.count = None - self.input = [] - self.update_file = None - self.rss_update_check = None - ( _opt_, self.input ) = opt.parse_args(None,self) - self.rss = xml.dom.minidom.parseString(''' - - - BoostBook2RSS - %(title)s - %(link)s - %(description)s - %(language)s - %(copyright)s - - -''' % { - 'title' : self.channel_title, - 'link' : self.channel_link, - 'description' : self.channel_description, - 'language' : self.channel_language, - 'copyright' : self.channel_copyright - } ) - - if self.update_file: - self.rss_update_check = RssUpdateCheck(self.update_file) - - if self.output: - self.rss_update_check.load_rss(self.output) - - self.add_articles() - self.gen_output() - if self.update_file and self.new_hashes: - self.new_hashes.save_hashes(self.update_file) - - def add_articles(self): - channel = self.get_child(self.rss.documentElement,tag='channel') - items = [] - for bb in self.input: - article = None - item = None - if(self.rss_update_check): - item = self.rss_update_check.check_file(bb) - if(not item): - article = xml.dom.minidom.parse(bb) - item = self.x(article.documentElement) - - if item: - last_modified = item.getElementsByTagName('pubDate')[0] - last_modified = " ".join( - t.nodeValue for t in last_modified.childNodes - if t.nodeType == t.TEXT_NODE) - last_modified = last_modified.replace(',', ' ').strip() - - if not last_modified or last_modified[0] == '$': - last_modified_time = time.time() - else: - last_modified_time = parsedate_tz(last_modified) - last_modified_time = time.mktime(last_modified_time[:-1]) - last_modified_time[-1] - - items.append([last_modified_time, item, bb]) - - self.new_hashes = RssUpdateCheck() - items.sort(lambda x,y: -cmp(x[0],y[0])) - for item in items[0:self.count]: - channel.appendChild(item[1]) - self.new_hashes.add_file(item[2], item[1]) - - def gen_output(self): - if self.output: - out = open(self.output,'w') - else: - out = sys.stdout - if out: - writer = codecs.lookup('utf-8')[3](out) - self.rss.writexml(writer, encoding='utf-8') - - #~ Turns the internal XML tree into an output UTF-8 string. - def tostring(self): - #~ return self.boostbook.toprettyxml(' ') - return self.rss.toxml('utf-8') - - def x(self, *context, **kwargs): - node = None - names = [ ] - for c in context: - if c: - if not isinstance(c,xml.dom.Node): - suffix = '_'+c.replace('-','_').replace('#','_') - else: - suffix = '_'+c.nodeName.replace('-','_').replace('#','_') - node = c - names.append('x') - names = map(lambda x: x+suffix,names) - if node: - for name in names: - if hasattr(self,name): - return getattr(self,name)(node,**kwargs) - else: - assert False, 'Unknown node type %s'%(name) - return None - - def x_children( self, parent, **kwargs ): - result = [] - for n in parent.childNodes: - child = self.x(n) - if child: - result.append(child) - else: - child = n.cloneNode(False) - if hasattr(child,'data'): - child.data = re.sub(r'\s+',' ',child.data) - for grandchild in self.x_children(n,**kwargs): - child.appendChild(grandchild) - return result - - def x_article(self,node): - brief_xhtml = self.new_node('span', - self.x(self.get_child(self.get_child(node,tag='articleinfo'), - tag='articlepurpose' - )), - klass='brief' - ) - - title_xhtml = self.new_node('title', - *self.x_children(self.get_child(node,tag='title'))) - - description_xhtml = self.new_node('div',klass='description') - download_item = None - body_item = node.firstChild - while body_item: - if body_item.nodeName not in ['title', 'articleinfo']: - item = self.x(body_item) - if item: - download_i = self.get_child(item,tag='boostbook:download') - if download_i: - download_item = download_i - else: - description_xhtml.appendChild(item) - body_item = body_item.nextSibling - - return self.new_node( - 'item', - title_xhtml, - self.new_text('pubDate',node.getAttribute('last-revision')), - self.new_text('boostbook:purpose',brief_xhtml.toxml()), - download_item, - self.new_text('description',description_xhtml.toxml()) - ) - - def x__text(self,node): - return self.rss.createTextNode(node.data); - - def x_para(self,node): - return self.new_node('p', - *self.x_children(node)) - - def x_simpara(self,node): - return self.new_node('div', - *self.x_children(node)) - - def x_ulink(self,node): - return self.new_node('a', - href=node.getAttribute('url'), - *self.x_children(node)) - - def x_section(self,node): - return self.new_node('div', - id=node.getAttribute('id'), - *self.x_children(node)) - - def x_title(self,node): - return self.new_node('h3', - *self.x_children(node)) - - def x_link(self,node): - return self.new_node('span', - klass='link', - *self.x_children(node)) - - def x_itemizedlist(self,node): - return self.new_node('ul', - *self.x_children(node)) - - def x_listitem(self,node): - return self.new_node('li', - *self.x_children(node)) - - def x_phrase(self,node): - return self.new_node('span', - klass=node.getAttribute('role'), - *self.x_children(node)) - - def x_code(self,node): - return self.new_node('code', - *self.x_children(node)) - - def x_literal(self,node): - return self.new_node('tt', - *self.x_children(node)) - - def x_emphasis(self,node): - return self.new_node('em', - *self.x_children(node)) - - def x_inlinemediaobject(self,node): - image = self.get_child(node,'imageobject') - if image: - image = self.get_child(image,'imagedata') - if image: - image = image.getAttribute('fileref') - alt = self.get_child(node,'textobject') - if alt: - alt = self.get_child(alt,'phrase') - if alt and alt.getAttribute('role') == 'alt': - alt = self.get_child(alt).data.strip() - else: - alt = None - if not alt: - alt = '[]' - if image: - return self.new_node('img', - src=image, - alt=alt) - else: - return None - - def x_articlepurpose(self,node): - return self.new_node('span', - klass='purpose', - *self.x_children(node)) - - def x_download(self,node): - return self.new_text('boostbook:download', - self.get_child(node).data) - - def get_child( self, root, tag = None, id = None, name = None): - for n in root.childNodes: - found = True - if tag and found: - found = found and tag == n.nodeName - if id and found: - if n.hasAttribute('id'): - found = found and n.getAttribute('id') == id - else: - found = found and n.hasAttribute('id') and n.getAttribute('id') == id - if name and found: - found = found and n.hasAttribute('name') and n.getAttribute('name') == name - if found: - return n - return None - - def new_node( self, tag, *child, **kwargs ): - result = self.rss.createElement(tag) - for k in kwargs.keys(): - if kwargs[k] != '': - if k == 'id': - result.setAttribute('id',kwargs[k]) - elif k == 'klass': - result.setAttribute('class',kwargs[k]) - else: - result.setAttribute(k,kwargs[k]) - for c in child: - if c: - result.appendChild(c) - return result - - def new_text( self, tag, data, **kwargs ): - result = self.new_node(tag,**kwargs) - data = data.strip() - if len(data) > 0: - result.appendChild(self.rss.createTextNode(data)) - return result - - -BoostBook2RSS() From 909c8b45e71b74857e2264ba1c46992d3fe0247d Mon Sep 17 00:00:00 2001 From: Daniel James Date: Mon, 3 Jan 2011 17:44:26 +0000 Subject: [PATCH 03/34] Single cannonical location for release notes. [SVN r67624] --- .htaccess | 2 + users/download/version_1_44_0.html | 1043 --------------------------- users/download/version_1_45_0.html | 893 ----------------------- users/news/version_1_40_0.html | 621 ---------------- users/news/version_1_41_0.html | 487 ------------- users/news/version_1_42_0.html | 565 --------------- users/news/version_1_43_0.html | 560 --------------- users/news/version_1_44_0.html | 1053 ---------------------------- users/news/version_1_45_0.html | 903 ------------------------ users/news/version_1_46_0.html | 129 ---- 10 files changed, 2 insertions(+), 6254 deletions(-) delete mode 100644 users/download/version_1_44_0.html delete mode 100644 users/download/version_1_45_0.html delete mode 100644 users/news/version_1_40_0.html delete mode 100644 users/news/version_1_41_0.html delete mode 100644 users/news/version_1_42_0.html delete mode 100644 users/news/version_1_43_0.html delete mode 100644 users/news/version_1_44_0.html delete mode 100644 users/news/version_1_45_0.html delete mode 100644 users/news/version_1_46_0.html diff --git a/.htaccess b/.htaccess index 7e72889b..b954af7b 100644 --- a/.htaccess +++ b/.htaccess @@ -23,6 +23,8 @@ RewriteRule ^.*$ http://www\.boost\.org%{REQUEST_URI} [R=301] ########## Rewrites to serve up dynamic RSS feeds. +RewriteRule ^users/news/(version_[-\w]+)$ users/history/$1 [L,R=301] +RewriteRule ^users/download/(version_[-\w]+)$ users/history/$1 [L,R=301] RewriteRule ^users/news/([-\w]+)$ users/news/$1.html [L] RewriteRule ^users/download/([-\w]+)$ users/download/$1.html [L] RewriteRule ^users/history/([-\w]+)$ users/history/$1.html [L] diff --git a/users/download/version_1_44_0.html b/users/download/version_1_44_0.html deleted file mode 100644 index 2284512c..00000000 --- a/users/download/version_1_44_0.html +++ /dev/null @@ -1,1043 +0,0 @@ - - - - - Version 1.44.0 - - - - - - - -
-
- -
-
-
-
-
-
-

Version 1.44.0

-
- -
-

Version 1.44.0

- -

August 13th, 2010 17:00 GMT

- - - -
Downloads
PlatformFile
unixboost_1_44_0.tar.bz2
boost_1_44_0.tar.gz
windowsboost_1_44_0.7z
boost_1_44_0.zip
-
-
- - - -
-

New Libraries

-
    -
  • -
    - Meta State Machine: - High-performance - expressive UML2 finite state machines, from Christophe Henry -
    -
  • -
  • -
    - Polygon: - Booleans/clipping, - resizing/offsetting and more for planar polygons with integral coordinates, - from Lucanus Simonson. -
    -
  • -
-
-
-

Updated Libraries

-
    -
  • -
    - Accumulators: -
      -
    • -
      - Correct miscellaneous documentation inaccuracies -
      -
    • -
    -
    -
  • -
  • -
    - Asio: -
      -
    • -
      - Reduced compile times. (Note that some programs may need to add additional - #includes, e.g. - if the program uses boost::array - but does not explicitly include <boost/array.hpp>.) -
      -
    • -
    • -
      - Reduced the size of generated code. -
      -
    • -
    • -
      - Refactored deadline_timer - implementation to improve performance. -
      -
    • -
    • -
      - Improved multiprocessor scalability on Windows by using a dedicated - hidden thread to wait for timers. -
      -
    • -
    • -
      - Improved performance of asio::streambuf - with async_read() - and async_read_until(). These read operations now use - the existing capacity of the streambuf - when reading, rather than limiting the read to 512 bytes. -
      -
    • -
    • -
      - Added optional separate compilation. To enable, add #include <boost/asio/impl/src.cpp> - to one source file in a program, then build the program with BOOST_ASIO_SEPARATE_COMPILATION - defined in the project/compiler settings. Alternatively, BOOST_ASIO_DYN_LINK may be defined - to build a separately-compiled Asio as part of a shared library. -
      -
    • -
    • -
      - Added new macro BOOST_ASIO_DISABLE_FENCED_BLOCK - to permit the disabling of memory fences around completion handlers, - even if thread support is enabled. -
      -
    • -
    • -
      - Reworked timeout examples to better illustrate typical use cases. -
      -
    • -
    • -
      - Ensured that handler arguments are passed as const - types. -
      -
    • -
    • -
      - Fixed incorrect parameter order in null_buffers - variant of async_send_to - (#4170). -
      -
    • -
    • -
      - Ensured unsigned char - is used with isdigit - in getaddrinfo emulation - (#4201). -
      -
    • -
    • -
      - Fixed handling of very small but non-zero timeouts (#4205). -
      -
    • -
    • -
      - Fixed crash that occurred when an empty buffer sequence was passed - to a composed read or write operation. -
      -
    • -
    • -
      - Added missing operator+ overload in buffers_iterator - (#4382). -
      -
    • -
    • -
      - Implemented cancellation of null_buffers - operations on Windows. -
      -
    • -
    -
    -
  • -
  • -
    - Config: -
      -
    • -
      - Added new defect macro, BOOST_NO_COMPLETE_VALUE_INITIALIZATION. -
      -
    • -
    • -
      - Added new defect macro BOOST_NO_0X_HDR_TYPEINDEX, - fixes issue #4274. -
      -
    • -
    • -
      - Added support for code visibility in GCC. -
      -
    • -
    • -
      - Fixed issues #4385, - #4324, - #4221, - #4182, - #4178, - #4152, - #4115. - #4112, - #4059, - #4041, - #4012. -
      -
    • -
    -
    -
  • -
  • -
    - Filesystem: -
      -
    • -
      - This release contains both version 2 and version 3 of the library. - Version 3 is a major upgrade that will break some existing user code, - so version 2 is the default. Users are encouraged to migrate to version - 3. See 'Version 2' - and 'Version 3' - for more information. -
      -
    • -
    • -
      - Fix problems with symbol visibility for shared libraries. -
      -
    • -
    • -
      - Fix various minor problems. -
      -
    • -
    • -
      - Fixed issues: #3863, - #4248. -
      -
    • -
    -
    -
  • -
  • -
    - Foreach: -
      -
    • -
      - Add boost/foreach_fwd.hpp for forward declarations of - foreach's customization points, fixes #3998. -
      -
    • -
    • -
      - Remove out-of-date work-arounds for sun compilers, fixes #4306. -
      -
    • -
    -
    -
  • -
  • -
    - Fusion: -
      -
    • -
      - Added fusion::reverse_fold, fusion::iter_fold - and fusion::reverse_iter_fold (#1623). -
      -
    • -
    -
    -
  • -
  • -
    - Hash: -
      -
    • -
      - Option to prevent implicit casts when calling the hash function by - defining the macro BOOST_HASH_NO_IMPLICIT_CASTS, - which can avoid some subtle problems. This might be activated by - default in a future version. -
      -
    • -
    -
    -
  • -
  • -
    - Iostreams: -
      -
    • -
      - Several fixes for file descriptors class, including a breaking change - to the constructors and open - methods for file_descriptor, - file_descriptor_source - and file_descriptor_sink. - See the - documentation for details. The old methods are still available - if you define BOOST_IOSTREAMS_USE_DEPRECATED - (#3323, - #3517, - #4335). -
      -
    • -
    • -
      - Fix several issues with compression and decompression (#2318, - #4091, - #3348, - #2783, - #1579, - #3853). -
      -
    • -
    • -
      - And a load more miscellaneous fixes (#3851, - #3279, - #3689, - #2356, - #2996, - #4102, - #2998, - #1612, - #2325). -
      -
    • -
    • -
      - Thanks to Steven Watanabe for almost all these fixes. For more detail - see the release - notes. -
      -
    • -
    -
    -
  • -
  • -
    - Math: -
      -
    • -
      - Fixed incorrect range and support for Rayleigh distribution. -
      -
    • -
    -
    -
  • -
  • -
    - MPL: -
      -
    • -
      - Make mpl::string work with mpl::transform. -
      -
    • -
    -
    -
  • -
  • -
    - Multi-index Containers: -
      -
    • -
      - Fixed a bug preventing the use of modify_key - with rollback in ordered - and hashed - indices when Modifier - and Rollback are - different types (ticket #4130). -
      -
    • -
    -
    -
  • -
  • -
    - Proto: -
      -
    • -
      - Minor change in behavior: when using - proto::and_ as a transform, apply all - transforms but only return the result of applying the last. See Proto's - Release - Notes for details. -
      -
    • -
    • -
      - Minor change in behavior: proto::as_expr and proto::as_child - no longer run objects that are already proto expressions through - the expression domain's generator. See Proto's Release - Notes for details. -
      -
    • -
    • -
      - Minor change in behavior: Proto - uses proto::basic_expr instead of proto::expr when possible for better compile - times. See Proto's Release - Notes for details. -
      -
    • -
    • -
      - Add support for sub-domains. -
      -
    • -
    • -
      - Introduce per-domain as_expr - and as_child customization - points to allow for domain-specific customization of variable capture - behavior. -
      -
    • -
    • -
      - The proto::_default transform is also a grammar - that matches the expressions the transform knows how to handle. -
      -
    • -
    • -
      - Add proto::_void, a no-op primitive transform - that does nothing and returns void. -
      -
    • -
    • -
      - The proto::pass_through transform doesn't - strip expression wrappers, fixes #4175. -
      -
    • -
    • -
      - Const-correctness fixes when invoking proto domains. -
      -
    • -
    -
    -
  • -
  • -
    - Regex: - -
    -
  • -
  • -
    - Spirit: - Spirit V2.4, - see the 'What's - New' section for details. -
    -
  • -
  • -
    - System: -
      -
    • -
      - Change system_category and generic_category to functions, to conform - to the C++0x FCD. This change may cause compile errors some user - code; the fix is add "()" to references to system_category - and generic_category, so that they become function calls. -
      -
    • -
    • -
      - Fix problems with symbol visibility for shared libraries. -
      -
    • -
    • -
      - Fixed issues: #4254, - #3994, - #3474. -
      -
    • -
    -
    -
  • -
  • -
    - Thread: - -
    -
  • -
  • -
    - TR1: -
      -
    • -
      - Fixed VC10 support. -
      -
    • -
    • -
      - std::tr1::result_of always uses the TR1 ResultOf - protocol, even on compilers that support the C++0x decltype-based implementation. -
      -
    • -
    -
    -
  • -
  • -
    - Type Traits: -
      -
    • -
      - Added support for rvalue references throughout the library, plus - two new traits classes is_rvalue_reference and is_lvalue_reference. - Fixes #4407 - and #3804. -
      -
    • -
    • -
      - Fixed ticket #3621. -
      -
    • -
    -
    -
  • -
  • -
    - uBLAS: -
      -
    • -
      - New assignment operators to feed in vectors and matrices in many - nice ways (#4034). - Thank you Nasos -
      -
    • -
    • -
      - New doxygen-based documentation -
      -
    • -
    • -
      - Enable arithmetic operators (+,-,*,/) to work between ublas containers - of std::complex and integral types (#3649). - Thank you Neal -
      -
    • -
    • -
      - Removed unused variables in functional.hpp (#4377). - Thank you Marco -
      -
    • -
    • -
      - New matrix_indirect and vector_indirect views to access elements - with a matrix or vector of indices -
      -
    • -
    -
    -
  • -
  • -
    - Utility: -
      -
    • -
      - Added a new template class, boost::initialized<T>, - in order to fix #3472. -
      -
    • -
    • -
      - New version of value_initialized<T> no longer calls memset when the compiler has implemented - value-initialization completely (#3869). -
      -
    • -
    • -
      - New template boost::tr1_result_of - that implements the TR1 ResultOf protocol even if boost::result_of - uses the C++0x decltype-based - implementation. -
      -
    • -
    -
    -
  • -
  • -
    - Uuid: -
      -
    • -
      - Define BOOST_UUID_NO_TYPE_TRAITS - to remove the dependency on Boost.TypeTraits. -
      -
    • -
    • -
      - Stream operator<< - handles left, internal, and right manipulators. -
      -
    • -
    • -
      - Added to_string, - to_wstring to convert - a uuid to a string. -
      -
    • -
    • -
      - Fixed minor bugs in documentation. -
      -
    • -
    -
    -
  • -
  • -
    - Wave: - See the Changelog - for details. -
    -
  • -
  • -
    - Xpressive: -
      -
    • -
      - Replace non-portable using - declarations with typedefs - in nested_results. -
      -
    • -
    • -
      - Support user-defined assertions with placeholders for non-local variables. -
      -
    • -
    -
    -
  • -
-
-
-

Updated tools

-
    -
  • -
    - Boostbook: -
      -
    • -
      - Significantly faster. -
      -
    • -
    • -
      - Improved syntax highlighter. -
      -
    • -
    -
    -
  • -
  • -
    - Quickbook: -
      -
    • -
      - Use the cygwin 1.7 API for better path handling. -
      -
    • -
    • -
      - Improved boostbook generation. -
      -
    • -
    • -
      - Tweak the grammar to clean up some edge cases. -
      -
    • -
    • -
      - For more detail see the change - log. -
      -
    • -
    -
    -
  • -
-
-
-

Compilers Tested

-

- Boost's primary test compilers are: -

-
    -
  • -
    - OS X: -
      -
    • -
      - GCC 4.0.1 on Intel Leopard. -
      -
    • -
    -
    -
  • -
  • -
    - Linux: -
      -
    • -
      - GCC 4.4 on 64-bit Suse. -
      -
    • -
    -
    -
  • -
  • -
    - Windows: -
      -
    • -
      - Visual C++ 7.1 SP1, 8.0 SP1, 9.0 SP1 and 10.0. -
      -
    • -
    • -
      - GCC 4.3.3, using Mingw. -
      -
    • -
    -
    -
  • -
  • -
    - FreeBSD: -
      -
    • -
      - GCC 4.2.1, 32 and 64 bit. -
      -
    • -
    -
    -
  • -
-

- Boost's additional test compilers include: -

-
    -
  • -
    - Linux: -
      -
    • -
      - Intel 10.1 on 32 bit Red Hat Enterprise Linux. -
      -
    • -
    • -
      - Intel 10.1, 11.0, 11.1 on 64 bit Red Hat Enterprise Linux. -
      -
    • -
    • -
      - GCC 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.5 on Red Hat Enterprise Linux. -
      -
    • -
    • -
      - GCC, with C++0x extensions, 4.3.4, 4.4.3, 4.5 on Red Hat Enterprise - Linux. -
      -
    • -
    • -
      - GCC 4.4 on 64 bit Suse. -
      -
    • -
    • -
      - QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise - Linux. -
      -
    • -
    • -
      - Clang from subversion (will be released with LLVM 2.8). -
      -
    • -
    -
    -
  • -
  • -
    - OS X: -
      -
    • -
      - Intel C++ Compiler 10.1, 11.0, 11.1 on Leopard. -
      -
    • -
    • -
      - GCC 4.0.1, 4.2.1 (Apple build). -
      -
    • -
    • -
      - GCC 4.4 -
      -
    • -
    • -
      - GCC, with C++0x extensions, 4.4 -
      -
    • -
    • -
      - Clang from subversion (will be released with LLVM 2.8). -
      -
    • -
    -
    -
  • -
  • -
    - Windows: -
      -
    • -
      - Visual C++ 7.1 SP, 8.0, 9.0 on 32-bit XP. -
      -
    • -
    • -
      - Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0. -
      -
    • -
    • -
      - Visual C++ 10.0 on XP. -
      -
    • -
    • -
      - Visual C++ 10.0 on 64-bit Windows 7. -
      -
    • -
    • -
      - Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.1 (2010). -
      -
    • -
    • -
      - Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit. -
      -
    • -
    • -
      - GCC 4.3.3, 4.5 on Mingw. -
      -
    • -
    • -
      - GCC, with C++0x extensions, 4.5 on Mingw. -
      -
    • -
    -
    -
  • -
  • -
    - AIX: -
      -
    • -
      - IBM XL C/C++ Enterprise Edition, V11.1.0.0, on AIX Version 5.3.0.40. -
      -
    • -
    -
    -
  • -
  • -
    - FreeBSD: -
      -
    • -
      - GCC 4.2.1 on FreeBSD 7.2, 64 bit. -
      -
    • -
    • -
      - GCC 4.2.1 on FreeBSD 8.0, 32 bit. -
      -
    • -
    -
    -
  • -
  • -
    - Solaris: -
      -
    • -
      - Sun C++ 5.10 on Solaris 5.10. -
      -
    • -
    -
    -
  • -
-
-
-

Acknowledgements

-

- Beman Dawes, Eric Niebler, - Rene Rivera, Daniel James - and Vladimir Prus managed this release. -

-

- Thanks to Marshall Clow for organizing the bug sprint and to everyone who took - part. -

-
-
-
-
-
-
- - - -
-
-
- - - - diff --git a/users/download/version_1_45_0.html b/users/download/version_1_45_0.html deleted file mode 100644 index ceea3d7d..00000000 --- a/users/download/version_1_45_0.html +++ /dev/null @@ -1,893 +0,0 @@ - - - - - Version 1.45.0 - - - - - - - -
-
- -
-
-
-
-
-
-

Version 1.45.0

-
- -
-

Version 1.45.0

- -

November 19th, 2010 16:00 GMT

- - - -
Downloads
PlatformFile
unixboost_1_45_0.tar.bz2
boost_1_45_0.tar.gz
windowsboost_1_45_0.7z
boost_1_45_0.zip
-
-
- - - -
-

Updated Libraries

-
    -
  • -
    - Asio: - -
    -
      -
    • -
      - Fixed a problem on kqueue-based platforms where a deadline_timer - may never fire if the io_service - is running in a background thread (#4568). -
      -
    • -
    • -
      - Fixed a const-correctness issue that prevented valid uses of has_service<> - from compiling (#4638). -
      -
    • -
    • -
      - Fixed MinGW cross-compilation (#4491). -
      -
    • -
    • -
      - Removed dependency on deprecated Boost.System functions (#4672). -
      -
    • -
    • -
      - Ensured close()/closesocket() - failures are correctly propagated (#4573). -
      -
    • -
    • -
      - Added a check for errors returned by InitializeCriticalSectionAndSpinCount - (#4574). -
      -
    • -
    • -
      - Added support for hardware flow control on QNX (#4625). -
      -
    • -
    • -
      - Always use pselect() on HP-UX, if it is available (#4578). -
      -
    • -
    • -
      - Ensured handler arguments are passed as lvalues (#4744). -
      -
    • -
    • -
      - Fixed Windows build when thread support is disabled (#4680). -
      -
    • -
    • -
      - Fixed a Windows-specific problem where deadline_timer - objects with expiry times set more than 5 minutes in the future may - never expire (#4745). -
      -
    • -
    • -
      - Fixed the resolver - backend on BSD platforms so that an empty service name resolves to - port number 0, as per the - documentation (#4690). -
      -
    • -
    • -
      - Fixed read operations so that they do not accept buffer sequences of - type const_buffers_1 - (#4746). -
      -
    • -
    • -
      - Redefined Protocol - and id to avoid clashing - with Objective-C++ keywords (#4191). -
      -
    • -
    • -
      - Fixed a vector reallocation - performance issue that can occur when there are many active deadline_timer objects (#4780). -
      -
    • -
    • -
      - Fixed the kqueue backend so that it compiles on NetBSD (#4662). -
      -
    • -
    • -
      - Fixed the socket io_control() implementation on 64-bit Mac OS X - and BSD platforms (#4782). -
      -
    • -
    • -
      - Fixed a Windows-specific problem where failures from accept() - are incorrectly treated as successes (#4859). -
      -
    • -
    • -
      - Deprecated the separate compilation header <boost/asio/impl/src.cpp> - in favour of <boost/asio/impl/src.hpp> (#4560). -
      -
    • -
    -
  • -
  • -
    - Config: - -
    -
      -
    • -
      - Added new defect macros, BOOST_NO_VARIADIC_MACROS - and BOOST_NO_NUMERIC_LIMITS_LOWEST. -
      -
    • -
    • -
      - Minor fixes (#4670, - #4563, - #4474, - #4508). -
      -
    • -
    -
  • -
  • -
    - Flyweight: - -
    -
      -
    • -
      - Fixed a hanging problem with intermodule_holder in Win32 - platforms related to a Boost.Interprocess issue described at ticket - #4606. -
      -
    • -
    • -
      - Removed an internal assertion incompatible with program termination - via std::exit. -
      -
    • -
    -
  • -
  • -
    - Foreach: - -
    -
      -
    • -
      - Fix ambiguitiy by making auto_any - constructor explicit. -
      -
    • -
    -
  • -
  • -
    - Fusion: - -
    -
      -
    • -
      - Added BOOST_FUSION_ADAPT_ADT, - BOOST_FUSION_ADAPT_TPL_ADT, - BOOST_FUSION_ADAPT_ASSOC_ADT - and BOOST_FUSION_ADAPT_ASSOC_TPL_ADT. -
      -
    • -
    -
  • -
  • -
    - Graph: - -
    -
      -
    • -
      - Added Stoer-Wagner min-cut algorithm contributed by Daniel Trebbien. -
      -
    • -
    • -
      - Added implicit graph (implicit_graph) and A* (astar_maze) examples - contributed by W. P. McNeill. -
      -
    • -
    • -
      - Added bundled property support for graph properties. -
      -
    • -
    • -
      - Fixed bugs #4556, - #4622, - #4631, - #4715, - #4753, - #4758 - and #4793 - plus others not in Trac. -
      -
    • -
    • -
      - Fixed documentation bugs #4731 - and #4737. -
      -
    • -
    -
  • -
  • -
    - Interprocess: - -
    - -
  • -
  • -
    - Math: - -
    -
      -
    • -
      - Added inverse gamma distribution and inverse chi_square and scaled - inverse chi_square. -
      -
    • -
    • -
      - Added warnings about potential ambiguity with std random library in - distribution and function names. -
      -
    • -
    • -
      - Editorial revision of documentation, and added FAQ. -
      -
    • -
    -
  • -
  • - - -
  • -
  • -
    - MultiArray: - -
    -
      -
    • -
      - Fixes for bugs #3581, - #3820, - #3989, - #4032, - plus other bugs not in Trac. -
      -
    • -
    • -
      - Added new examples and test cases. -
      -
    • -
    -
  • -
  • -
    - Proto: - -
    -
      -
    • -
      - Knock down value of proto::N, - fixes bug #4602, -
      -
    • -
    • -
      - Support non-rtti compilers -
      -
    • -
    • -
      - Fix bug with proto::matches, - array types and the wildcard pattern. -
      -
    • -
    • -
      - Make Proto work on MSVC with the /clr option -
      -
    • -
    • -
      - Add const-qualified overloads of proto::eval -
      -
    • -
    -
  • -
  • -
    - Spirit: - Spirit V2.4.1, - see the 'What's - New' section for details. -
    -
  • -
  • -
    - TypeTraits: - -
    -
      -
    • -
      - Added new traits add_rvalue_reference, add_lvalue_reference and common_type. -
      -
    • -
    • -
      - Minor fixes to is_signed, is_unsigned and is_virtual_base_of. -
      -
    • -
    -
  • -
  • -
    - uBLAS: - -
    -
      -
    • -
      - Tickets closed: -
      - -
    • -
    • -
      - Mixed types operation are possible and new tests added (like matrix<complex>+matrix<double>), -
      -
    • -
    • -
      - New features: -
      -
        -
      • -
        - a new size<> operator is available. For example size<1>(A+B) - give the number of rows of the sum of matrices A and B, -
        -
      • -
      -
    • -
    -
  • -
  • -
    - Unordered: - -
    -
      -
    • -
      - Fix inserting from iterators which return by copy from operator* - in boost::unordered_map and boost::unordered_set. -
      -
    • -
    -
  • -
  • -
    - Wave: - -
    - -
  • -
  • -
    - Xpressive: - -
    -
      -
    • -
      - xpressive::as handles wide-char sub_match objects, fixes bug #4496 -
      -
    • -
    -
  • -
-
-
-

Updated Tools

-
    -
  • -
    - Boostbook: - -
    -
      -
    • -
      - Fix syntax highlighter for comments at the end of code blocks. -
      -
    • -
    -
  • -
  • -
    - Quickbook: - -
    -
      -
    • -
      - Fix command line macros. -
      -
    • -
    • -
      - Nested code snippets. -
      -
    • -
    • -
      - Nested documentation info comments. -
      -
    • -
    • -
      - Revert xml escaping document info, it broke some documentation files - (will now be in 1.6). -
      -
    • -
    • -
      - Some other small tweaks. See the - change log for more info. -
      -
    • -
    -
  • -
-
-
-

Compilers Tested

-

- Boost's primary test compilers are: -

-
    -
  • -
    - Linux: -
    -
      -
    • -
      - GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.4.5, 4.5.1. -
      -
    • -
    • -
      - GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.0. -
      -
    • -
    • -
      - Intel: 10.1, 11.0, 11.1 -
      -
    • -
    • -
      - Pathscale: 3.2. -
      -
    • -
    -
  • -
  • -
    - OS X: -
    -
      -
    • -
      - GCC: 4.0.1, 4.2.1, 4.4 -
      -
    • -
    • -
      - GCC, C++0x mode: 4.4. -
      -
    • -
    • -
      - Intel: 11.1 -
      -
    • -
    -
  • -
  • -
    - Windows: -
    -
      -
    • -
      - Visual C++: 7.1, 8.0, 9.0 and 10.0. -
      -
    • -
    • -
      - GCC, mingw: 4.3.3. -
      -
    • -
    -
  • -
  • -
    - FreeBSD: -
    -
      -
    • -
      - GCC: 4.2.1, 32 bit. -
      -
    • -
    • -
      - GCC: 4.2.1, 64 bit. -
      -
    • -
    -
  • -
-

- Boost's additional test compilers include: -

-
    -
  • -
    - Linux: -
    -
      -
    • -
      - GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.4.5, 4.5.0, 4.6.0 (dev version). -
      -
    • -
    • -
      - GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.0. -
      -
    • -
    • -
      - Intel: 10.1, 11.0, 11.1. -
      -
    • -
    • -
      - pgCC 10.1. -
      -
    • -
    • -
      - PathScale: 3.2. -
      -
    • -
    • -
      - Clang from subversion. -
      -
    • -
    -
  • -
  • -
    - OS X: -
    -
      -
    • -
      - Intel C++ Compiler: 10.1, 11.0, 11.1. -
      -
    • -
    • -
      - GCC: 4.0.1, 4.2.1, 4.4.4 -
      -
    • -
    • -
      - GCC, C++0x mode: 4.4.4 -
      -
    • -
    • -
      - Clang from subversion. -
      -
    • -
    -
  • -
  • -
    - Windows: -
    -
      -
    • -
      - Borland: 5.9.3, 6.1.3 (2009), 6.2.1 (2010), 6.3.0 -
      -
    • -
    • -
      - GCC, mingw: 4.3.3, 4.4.5, 4.5.1 -
      -
    • -
    • -
      - GCC, mingw, C++0x mode: 4.5.1 -
      -
    • -
    • -
      - Visual C++: 7.1, 8.0, 9.0, 10.0 -
      -
    • -
    -
  • -
  • -
    - AIX: -
    -
      -
    • -
      - IBM XL C/C++ Enterprise Edition, V11.1.0.0. -
      -
    • -
    -
  • -
  • -
    - FreeBSD: -
    -
      -
    • -
      - GCC 4.2.1, 64 bit. -
      -
    • -
    -
  • -
  • -
    - Solaris: -
    -
      -
    • -
      - Sun C++: 5.10. -
      -
    • -
    -
  • -
-
-
-

Acknowledgements

-

- Beman Dawes, Eric Niebler, - Rene Rivera, Daniel James - and Vladimir Prus managed this release. -

-
-
-
-
-
-
- - - -
-
-
- - - - diff --git a/users/news/version_1_40_0.html b/users/news/version_1_40_0.html deleted file mode 100644 index ecdb1dc9..00000000 --- a/users/news/version_1_40_0.html +++ /dev/null @@ -1,621 +0,0 @@ - - - - - Version 1.40.0 - - - - - - - - -
-
- -
-
-
-
-
-
-

Version 1.40.0

-
- -
-

Version 1.40.0

- -

August 27th, 2009 17:00 GMT

- - - -
Downloads
PlatformFile
unixboost_1_40_0.tar.bz2
boost_1_40_0.tar.gz
windowsboost_1_40_0.7z
boost_1_40_0.zip
-
-
- - - -
-

Update

-

- Added missing notes for Graph and Property Map. -

-
-
-

Boost.CMake

-

- Boost.CMake is now distributed separately. - The cmake build for boost is BROKEN in the - tarballs above. See the Boost.CMake - wiki page for pointers to working versions. -

-
-
-

Updated Libraries

-
    -
  • - Accumulators: -
      -
    • - Works on GCC 4.4. -
    • -
    -
  • -
  • - Asio: -
      -
    • - Added a new ping example to illustrate the use of ICMP sockets. -
    • -
    • - Changed the buffered*_stream<> templates to treat 0-byte reads - and writes as no-ops, to comply with the documented type requirements - for SyncReadStream, - AsyncReadStream, SyncWriteStream and AsyncWriteStream. -
    • -
    • - Changed some instances of the throw - keyword to boost::throw_exception() - to allow Asio to be used when exception support is disabled. Note that - the SSL wrappers still require exception support (#2754). -
    • -
    • - Made Asio compatible with the OpenSSL 1.0 beta (#3256). -
    • -
    • - Eliminated a redundant system call in the Solaris /dev/poll - backend. -
    • -
    • - Fixed a bug in resizing of the bucket array in the internal hash maps - (#3095). -
    • -
    • - Ensured correct propagation of the error code when a synchronous accept - fails (#3216). -
    • -
    • - Ensured correct propagation of the error code when a synchronous read - or write on a Windows HANDLE fails. -
    • -
    • - Fixed failures reported when _GLIBCXX_DEBUG - is defined (#3098). -
    • -
    • - Fixed custom memory allocation support for timers (#3107). -
    • -
    • - Tidied up various warnings reported by g++ (#1341, - #2618). -
    • -
    • - Various documentation improvements, including more obvious hyperlinks - to function overloads, header file information, examples for the handler - type requirements, and adding enum values to the index (#3157, - #2620). -
    • -
    -
  • -
  • - Circular Buffer: - -
  • -
  • - Foreach: -
      -
    • - Workaround for conflict with Python headers (#3000). -
    • -
    -
  • -
  • - Function: - -
  • -
  • - Fusion: -
      -
    • - Improved compile times for fusion::vector. -
    • -
    -
  • -
  • - Graph: -
      -
    • - Merged in the Parallel - Boost Graph Library, giving a full suite of graph algorithms - and data structures for distributed-memory computers (such as clusters). -
    • -
    • - Updates to the interface of the compressed sparse row graph, including - constructors from unsorted edge lists. -
    • -
    • - An implicit grid graph, saving memory over using the former generator. -
    • -
    • - New algorithms: Dijkstra's single-source shortest path algorithm without - a separate color map and an algorithm to find maximal common subgraphs - between two graphs. -
    • -
    • - Assorted bug fixes. -
    • -
    -
  • -
  • - Hash: -
      -
    • - Automatically configure the float functions using template metaprogramming - instead of trying to configure every possibility manually. -
    • -
    -
  • -
  • - Interprocess: -
      -
    • - Windows shared memory is created in Shared Documents folder so that it - can be shared between services and processes -
    • -
    • - Fixed bugs #2967, - #2973, - #2992, - #3138, - #3166, - #3205. -
    • -
    -
  • -
  • - Intrusive: -
      -
    • - Code cleanup in tree_algorithms.hpp and avl_tree_algorithms.hpp -
    • -
    • - Fixed bug #3164. -
    • -
    -
  • -
  • - MPL: -
      -
    • - Added mpl::char_ and mpl::string - for compile-time string manipulation, based on multichar literals (#2905). -
    • -
    • - Updated MPL Reference Manual. -
    • -
    • - Bug fixes. -
    • -
    -
  • -
  • - Program.Options: -
      -
    • - Support for building with disabled exceptions (#2096). -
    • -
    • - Unicode parser no longer drops original tokens (#2425). -
    • -
    • - Fixed crash on user-inserted items in variables_map - (#2782). -
    • -
    -
  • -
  • - Property Map: -
      -
    • - Moved property map code into a separate directory, boost/property_map/. The old files exist and forward to - the new ones; the previous files directly in boost/ will be removed in Boost 1.42.0. -
    • -
    • - Moved distributed property maps to boost::graph::parallel - namespace. -
    • -
    • - Added a property map based on a boost::shared_array, - providing a simpler interface. -
    • -
    -
  • -
  • - Proto: -
      -
    • - PrimitiveTransforms have stricter conformance to ResultOf protocol. (Warning: - some invalid code may break.) -
    • -
    • - Add a sensible default for proto::_default's - template parameter. -
    • -
    • - Improved default evaluation strategy for pointers to members. -
    • -
    • - GCC 3.4 portability fixes (#3021). -
    • -
    • - Work around Visual C++'s non-std-compliant ciso646 macros. -
    • -
    -
  • -
  • - Random: -
      -
    • - Made the constructors of all the generators call the copy constructor - when passed a non-const reference. -
    • -
    • - Changed seeding functions to accept any arithmetic type. As a side-effect, - the exact signature of seed changed for some classes. -
    • -
    • - Major bug fixes in uniform_int. -
    • -
    -
  • -
  • - Serialization: -
      -
    • - Removed deprecated headers: boost/static_warning.hpp, - boost/state_saver.hpp, boost/smart_cast.hpp, - boost/pfto.hpp. Use the the equivalent headers - in the boost/serialization/ - directory instead (#3062). -
    • -
    • - detail::archive_serializer_map should now be - used instead of detail::archive_pointer_iserializer. - For more details see the - library release notes. -
    • -
    -
  • -
  • - Unordered: -
      -
    • - Implement emplace for - all compilers, not just ones with rvalue references and variadic templates - (#1978). -
    • -
    • - Create less buckets by default. -
    • -
    • - Some minor tweaks for better compiler support (#2908, - #3096, - #3082). -
    • -
    -
  • -
  • - Xpressive: -
      -
    • - Works on Visual C++ 10.0 (#3124). -
    • -
    -
  • -
-
-
-

Build System

-

- The default naming of libraries in Unix-like environment now matches system - conventions, and does not include various decorations. Naming of libraries - on Cygwin was also fixed. Support for beta versions of Microsoft Visual Studio - 10 was added. With gcc, 64-bit compilation no longer requires that target architecture - be specified. -

-
-
-

Updated Tools

-
    -
  • - Boostbook: -
      -
    • - Hide INTERNAL ONLY - enums in doxygen documentation (#3242). -
    • -
    • - Tweaked appearance of member classes/structs/unions in a class synopsis. -
    • -
    -
  • -
  • - Quickbook: -
      -
    • - Support python code snippets (#3029). -
    • -
    • - Add teletype source mode - (#1202) -
    • -
    -
  • -
-
-
-

Compilers Tested

-

- Boost's primary test compilers are: -

-
    -
  • - OS X: -
      -
    • - GCC 4.0.1 on Intel Tiger and Leopard -
    • -
    • - GCC 4.0.1 on PowerPC Tiger -
    • -
    -
  • -
  • - Linux: -
      -
    • - GCC 4.3.3 on Ubuntu Linux. -
    • -
    -
  • -
  • - Windows: -
      -
    • - Visual C++ 7.1 SP1, 8.0 SP1 and 9.0 SP1 on Windows XP. -
    • -
    -
  • -
-

- Boost's additional test compilers include: -

-
    -
  • - Linux: -
      -
    • - Intel 9.0 on Red Hat Enterprise Linux. -
    • -
    • - Intel 10.0 on Red Hat Enterprise Linux. -
    • -
    • - Intel 10.1 on 64-bit Linux Redhat 5.1 Server. -
    • -
    • - Intel 10.1 on Suse Linux on 64 bit Itanium. -
    • -
    • - Intel 11.0 on Red Hat Enterprise Linux. -
    • -
    • - Intel 11.1 on Red Hat Enterprise Linux. -
    • -
    • - GCC 3.4.3, GCC 4.0.1, GCC 4.2.4, GCC 4.3.3 and GCC 4.4.0 on Red Hat Enterprise - Linux. -
    • -
    • - GCC 4.3.3 and GCC 4.4.0 with C++0x extensions on Red Hat Enterprise Linux. -
    • -
    • - GCC 4.1.1, 4.2.1 on 64-bit Red Hat Enterprise Linux. -
    • -
    • - GCC 4.1.2 on Suse Linux on 64 bit Itanium. -
    • -
    • - GCC 4.1.2 on 64-bit Redhat Server 5.1. -
    • -
    • - GCC Open64 4.2.2 on Red Hat Enterprise Linux. -
    • -
    • - GCC 4.3.4 on Debian unstable. -
    • -
    • - QLogic PathScale(TM) Compiler Suite: Version 3.1 on Red Hat Enterprise - Linux. -
    • -
    • - GCC version 4.2.0 (PathScale 3.2 driver) on 64-bit Red Hat Enterprise - Linux. -
    • -
    • - Sun 5.9 on Red Hat Enterprise Linux. -
    • -
    -
  • -
  • - OS X: -
      -
    • - Intel 10.1, 11.0 on Intel Leopard. -
    • -
    • - Intel 10.1, 11.0 on Intel Tiger. -
    • -
    • - GCC 4.0.1, 4.2.1 on Intel Leopard. -
    • -
    • - GCC 4.0.1 on Intel Tiger. -
    • -
    • - GCC 4.0.1 on PowerPC Tiger. -
    • -
    -
  • -
  • - Windows: -
      -
    • - Visual C++ 7.1 on XP. -
    • -
    • - Visual C++ 9.0 on XP. -
    • -
    • - Visual C++ 9.0 on Vista. -
    • -
    • - Visual C++ 9.0 on Vista 64-bit. -
    • -
    • - Visual C++ 9.0, using STLport 5.2, on XP and Windows Mobile 5.0. -
    • -
    • - Visual C++ 10.0 beta. -
    • -
    • - Borland 5.9.3, 6.1.0, 6.1.3. -
    • -
    • - Borland C++ Builder 2007 and 2009. -
    • -
    • - Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit. -
    • -
    • - Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 64-bit. -
    • -
    • - GCC 4.3.3 and 4.4.0, on Mingw with C++0x features. -
    • -
    -
  • -
  • - AIX: -
      -
    • - IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0, on AIX Version 5.3.0.40. -
    • -
    -
  • -
  • - Solaris: -
      -
    • - Sun C++ 5.7, 5.8, 5.9 on Solaris 5.10. -
    • -
    • - GCC 3.4.6 on Solaris 5.10. -
    • -
    -
  • -
-
-
-

Acknowledgements

-

- Beman Dawes, Eric Niebler, - Rene Rivera, and Daniel - James managed this release. -

-
-
-
-
-
-
- - - -
-
-
- - - - diff --git a/users/news/version_1_41_0.html b/users/news/version_1_41_0.html deleted file mode 100644 index 051280c5..00000000 --- a/users/news/version_1_41_0.html +++ /dev/null @@ -1,487 +0,0 @@ - - - - - Version 1.41.0 - - - - - - - - -
-
- -
-
-
-
-
-
-

Version 1.41.0

-
- -
-

Version 1.41.0

- -

November 17th, 2009 17:00 GMT

- - - -
Downloads
PlatformFile
unixboost_1_41_0.tar.bz2
boost_1_41_0.tar.gz
windowsboost_1_41_0.7z
boost_1_41_0.zip
-
-
- - - -
-

New Libraries

-
    -
  • - Property Tree: A - tree data structure especially suited to storing configuration data, from - Marcin Kalicinski and Sebastian Redl. -
  • -
-
-
-

Updated Libraries

-
    -
  • - DateTime: -
      -
    • - The default format for time durations is now "%-%O:%M:%S%F" instead of "%-%H:%M:%S%F" - that was used previously. In order to retain the old behavior, the format - string has to be specified explicitly during the time IO facet construction - (#1861). -
    • -
    • - Gregorian dates now use 32-bit integer type internally on 64-bit platforms - (#3308). -
    • -
    • - See the full - changelog for more detail. -
    • -
    -
  • -
  • - Filesystem: - -
  • -
  • - Iostreams: - Some old - unreleased developments. There are still several open issues that should - be fixed in the next version. -
      -
    • - Add a grep filter (#1627). -
    • -
    • - Support archives with multiple members (#1896). -
    • -
    • - Make tee work with input - streams (#791). -
    • -
    • - Improved filesystem interoperability. -
    • -
    • - Several warnings fixed or suppressed (including #1618, - #1875, - #2779). -
    • -
    • - Various other fixes (including #1580, - #1671). -
    • -
    -
  • -
  • - Math: - Substantially improved - the performance of the incomplete gamma function and it's inverse: this enhances - the performance of the gamma, poisson, chi-squared and non-central chi-squared - distributions. -
  • -
  • - Multi-index Containers: - Maintenance - fixes. Consult the library release - notes for further information. -
  • -
  • - Proto: -
      -
    • - Clean up some MSVC warnings and errors in /Za (disable Microsoft extensions) - mode. -
    • -
    • - Fixes for c++0x mode on various compilers. -
    • -
    -
  • -
  • - Python: - Boost.Python now - supports Python 3 (Haoyu Bai's Google Summer of Code project, mentored by - Stefan Seefeld). -
  • -
  • - Regex: - Added support for - many Perl 5.10 syntax elements including named sub-expressions, branch resets - and recursive regular expressions. -
  • -
  • - Spirit: This is the initial - official release of the new Spirit V2.1, a completely new library for parsing, - lexing, and output generation. Note: this release is not backwards compatible - with earlier versions. Known issue: qi::symbol::find - will match a symbol that starts with the string you're searching for. This - will be fixed in the next version. -
  • -
  • - System: -
      -
    • - Bug fix: (#3559). -
    • -
    -
  • -
  • - Thread: -
      -
    • - Support for futures, promises and packaged tasks added -
    • -
    • - boost::thread_specific_ptr is now faster when - there are lots of thread-specific objects -
    • -
    • - Some Boost.Thread facilities are now header-only -
    • -
    -
  • -
  • - Unordered: - Major update: -
      -
    • - Replaced a lot of the macro based implementation with a cleaner template - based implementation. -
    • -
    • - Reduced memory use. -
    • -
    • - Full details in the - changelog. -
    • -
    -
  • -
  • - Utility: - A "const" - issue of value_initialized - is fixed: Its data() - member function and its conversion operator are replaced by overloads for - const and non-const access (#2548). -
  • -
  • - Wave: - See the changelog - for details. -
  • -
  • - Xpressive: -
      -
    • - Fix infinite loop with some uses of \Q...\E quotemeta - (#3586). -
    • -
    • - Eliminate unreachable code warnings on MSVC -
    • -
    • - Clean up some MSVC warnings and errors in /Za ("disable Microsoft - extensions") mode. -
    • -
    • - Fixes for c++0x mode on various compilers. -
    • -
    -
  • -
-
-
-

Build System

-

- A bug preventing "fat" 32-bit + 64-bit builds on OSX has been fixed. -

-
-
-

Boost.CMake moved

-

- The cmake version of boost has moved; the Boost.CMmake release will be separate - and will lag the main release slightly, but will also be capable of producing - patch releases as necessary. -

-

- More information on the Boost - CMake wiki page. -

-
-
-

Updated Tools

-
    -
  • - Quickbook 1.5: - These - changes require your document to use the [quickbook 1.5] tag: -
      -
    • - More intuitive syntax and variable lookup for template calls (#1174, #2034, #2036). -
    • -
    • - Image attributes (#1157) -
    • -
    • - Table Ids (#1194) -
    • -
    • - Better handling of whitespace in section - syntax. (#2712) -
    • -
    -
  • -
-
-
-

Compilers Tested

-

- Boost's primary test compilers are: -

-
    -
  • - OS X: -
      -
    • - GCC 4.0.1 on Intel Tiger and Leopard. -
    • -
    • - GCC 4.0.1 on PowerPC Tiger. -
    • -
    -
  • -
  • - Linux: -
      -
    • - GCC 4.4.1 on Ubuntu Linux. -
    • -
    • - GCC 4.4 on Debian -
    • -
    -
  • -
  • - Windows: -
      -
    • - Visual C++ 7.1 SP1, 8.0 SP1 and 9.0 SP1 on Windows XP. -
    • -
    -
  • -
-

- Boost's additional test compilers include: -

-
    -
  • - Linux: -
      -
    • - Intel 10.1 on Red Hat Enterprise Linux. -
    • -
    • - Intel 10.1 on 64-bit Red Hat Enterprise Linux. -
    • -
    • - Intel 10.1 on Suse Linux on 64 bit Itanium. -
    • -
    • - Intel 11.0 on 32 bit Red Hat Enterprise Linux. -
    • -
    • - Intel 11.0 on 64 bit Red Hat Enterprise Linux. -
    • -
    • - Intel 11.1 on 64 bit Red Hat Enterprise Linux. -
    • -
    • - Intel 11.1 on 64 bit Linux Redhat 5.1 Server. -
    • -
    • - GCC 3.4.3, GCC 4.2.4, GCC 4.3.3 and GCC 4.4.1 on Red Hat Enterprise Linux. -
    • -
    • - GCC 4.3.3 and GCC 4.4.1 with C++0x extensions on Red Hat Enterprise Linux. -
    • -
    • - GCC 4.3.3 on 64-bit Redhat Server 5.1. -
    • -
    • - GCC 4.3.3 on 64 bit Linux. -
    • -
    • - GCC 4.3.4 on Debian unstable. -
    • -
    • - GCC 4.3.2 on 64 bit Gentoo. -
    • -
    • - QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise - Linux. -
    • -
    • - Sun 5.9 on Red Hat Enterprise Linux. -
    • -
    -
  • -
  • - OS X: -
      -
    • - Intel C++ Compiler 11.1 on Leopard. -
    • -
    • - Intel C++ Compiler 10.1, 11.0. -
    • -
    • - GCC 4.0.1 on Intel Tiger. -
    • -
    • - GCC 4.0.1 on PowerPC Tiger. -
    • -
    -
  • -
  • - Windows: -
      -
    • - Visual C++ 7.1, 8,0, 9,0 on XP. -
    • -
    • - Visual C++ 9.0 on 32-bit Vista. -
    • -
    • - Visual C++ 9.0 on AMD 64-bit Vista. -
    • -
    • - Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0. -
    • -
    • - Visual C++ 10.0 beta 1 with a - patch for the program options lib. -
    • -
    • - Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.0 (2010). -
    • -
    • - Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit. -
    • -
    • - GCC 4.4.1 on Mingw, with and without C++0x extensions. -
    • -
    -
  • -
  • - AIX: -
      -
    • - IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0, on AIX Version 5.3.0.40. -
    • -
    -
  • -
  • - FreeBSD: -
      -
    • - GCC 4.2.1 on FreeBSD 7.0. -
    • -
    -
  • -
  • - Solaris: -
      -
    • - Sun C++ 5.10 on Solaris 5.10. -
    • -
    -
  • -
-
-
-

Acknowledgements

-

- Beman Dawes, Eric Niebler, - Rene Rivera, and Daniel - James managed this release. -

-
-
-
-
-
-
- - - -
-
-
- - - - diff --git a/users/news/version_1_42_0.html b/users/news/version_1_42_0.html deleted file mode 100644 index 8ef70138..00000000 --- a/users/news/version_1_42_0.html +++ /dev/null @@ -1,565 +0,0 @@ - - - - - Version 1.42.0 - - - - - - - - -
-
- -
-
-
-
-
-
-

Version 1.42.0

-
- -
-

Version 1.42.0

- -

February 2nd, 2010 14:00 GMT

- - - -
Downloads
PlatformFile
unixboost_1_42_0.tar.bz2
boost_1_42_0.tar.gz
windowsboost_1_42_0.7z
boost_1_42_0.zip
-
-
- - - -
-

New Libraries

-
    -
  • - Uuid: - A universally unique - identifier, from Andy Tompkins. -
  • -
-
-
-

Updated Libraries

-
    -
  • - Asio: -
      -
    • - Added a new HTTP Server 4 example illustrating the use of stackless coroutines - with Asio. -
    • -
    • - Changed handler allocation and invocation to use boost::addressof - to get the address of handler objects, rather than applying operator& - directly (#2977). -
    • -
    • - Restricted MSVC buffer debugging workaround to 2008, as it causes a crash - with 2010 beta 2 (#3796, - #3822). -
    • -
    • - Fixed a problem with the lifetime of handler memory, where Windows needs - the OVERLAPPED structure - to be valid until both the initiating function call has returned and - the completion packet has been delivered. -
    • -
    • - Don't block signals while performing system calls, but instead restart - the calls if they are interrupted. -
    • -
    • - Documented the guarantee made by strand objects with respect to order - of handler invocation. -
    • -
    • - Changed strands to use a pool of implementations, to make copying of - strands cheaper. -
    • -
    • - Ensured that kqueue support is enabled for BSD platforms (#3626). -
    • -
    • - Added a boost_ prefix - to the extern "C" - thread entry point function (#3809). -
    • -
    • - In getaddrinfo emulation, - only check the socket type (SOCK_STREAM - or SOCK_DGRAM) if a service - name has been specified. This should allow the emulation to work with - raw sockets. -
    • -
    • - Added a workaround for some broken Windows firewalls that make a socket - appear bound to 0.0.0.0 when it is in fact bound to 127.0.0.1. -
    • -
    • - Applied a fix for reported excessive CPU usage under Solaris (#3670). -
    • -
    • - Added some support for platforms that use older compilers such as g++ - 2.95 (#3743). -
    • -
    -
  • -
  • - Circular Buffer: -
      -
    • - Added methods erase_begin(size_type) and erase_end(size_type) with constant - complexity for such types of stored elements which do not need an explicit - destruction e.g. int or double. -
    • -
    • - Similarly changed implementation of the clear() method and the destructor - so their complexity is now constant for such types of stored elements - which do not require an explicit destruction (the complexity for other - types remains linear). -
    • -
    -
  • -
  • - Fusion: -
      -
    • - The accumulator is the first argument to the functor of fusion::fold and fusion::accumulate - (#2355). -
    • -
    • - Added support for associative iterators and views (#3473). -
    • -
    -
  • -
  • - Graph: -
      -
    • - Removed old interface to compressed_sparse_row_graph, - making new interface the default. -
    • -
    -
  • -
  • - Integer: -
      -
    • - Reverted Trunk to release branch state (i.e. a "known good state"). -
    • -
    • - Fixed issues: 653, - 3084, - 3177, - 3180, - 3568, - 3657, - 2134. -
    • -
    • - Added long long support to boost::static_log2, boost::static_signed_min, - boost::static_signed_max, boost::static_unsigned_minboost::static_unsigned_max, - when available. -
    • -
    • - The argument type and the result type of boost::static_signed_min - etc are now typedef'd. Formerly, they were hardcoded as unsigned - long and int respectively. Please, use the - provided typedefs in new code (and update old code as soon as possible). -
    • -
    -
  • -
  • - Iostreams: - -
  • -
  • - Program.Options: -
      -
    • - Information about option name added to a few exception classes and various - clean ups in exception classes (#3423). -
    • -
    • - Description wordwrapping in presense of default parameters fixed (#2613). -
    • -
    • - Empty value in configuration file is now permitted (#1537). -
    • -
    • - Quotes are no longer stripped from string values (#850). -
    • -
    • - Fix endless loop in case of long default arguments (#689). -
    • -
    • - Fix compile warning caused by usage of boost::any (#2562). -
    • -
    • - Fix memory bug in example/response_file.cpp (#3525). -
    • -
    • - Most compilation warnings were fixed (#3608). -
    • -
    • - Make column width for description text configurable. (#3703). -
    • -
    • - Add general split function: split_unix() (#2561). -
    • -
    • - Enable open config files from given file name (#3264). -
    • -
    • - Additional flag for required options (#2982). -
    • -
    • - Enable case insensitive style for command line (#3498). -
    • -
    -
  • -
  • - PropertyMap: -
      -
    • - Removed old header files (directly in the boost/ directory); they were deprecated since - 1.40, replaced by headers in boost/property_map/. -
    • -
    -
  • -
  • - Proto: -
      -
    • - Fix const correctness issues with proto::flatten - and friends (#3364). -
    • -
    • - Accomodate recent change to fusion::fold, - remove old support for Doxygen and pre-1.35 Fusion (#3553). -
    • -
    • - In binary operations, when one operand has a user-specified domain and - the other has the default domain, the user-specified domain trumps. -
    • -
    • - Fix BOOST_PROTO_EXTENDS - to work with elaborated types. -
    • -
    • - Work around EDG compiler bug with function types and cv-qualification. -
    • -
    -
  • -
  • - Regex: -
      -
    • - Added support for Functors rather than strings as format expressions. -
    • -
    • - Improved error reporting when throwing exceptions to include better more - relevant information. -
    • -
    • - Improved performance and reduced stack usage of recursive expressions. -
    • -
    • - Fixed tickets #2802, - #3425, - #3507, - #3546, - #3631, - #3632, - #3715, - #3718, - #3763, - #3764 -
    • -
    -
  • -
  • - Spirit: - Spirit V2.2, see - the 'What's - New' section for details. -
  • -
  • - Unordered: -
      -
    • - Support instantiating the containers with incomplete value types. -
    • -
    • - Add erase_return_void - as a temporary workaround for the current erase - which can be inefficient because it has to find the next element to return - an iterator (#3693). -
    • -
    • - Add templated find overload for compatible keys. -
    • -
    • - Improved codegear compatibility. -
    • -
    • - Other minor changes, full details in the - changelog. -
    • -
    -
  • -
  • - Xpressive: -
      -
    • - match_results no longer - relies on undefined behavior in std::list - (#3278). -
    • -
    • - Do NOT copy singular iterators (#3538). -
    • -
    • - Eliminate gcc and darwin warnings (#3734). -
    • -
    -
  • -
-
-
-

Compilers Tested

-

- Boost's primary test compilers are: -

-
    -
  • - OS X: -
      -
    • - GCC 4.0.1 on Intel Leopard. -
    • -
    • - GCC 4.0.1 on PowerPC Tiger. -
    • -
    -
  • -
  • - Linux: -
      -
    • - GCC 4.4.1 on Ubuntu Linux. -
    • -
    • - GCC 4.4 on Debian. -
    • -
    -
  • -
  • - Windows: -
      -
    • - Visual C++ 7.1 SP1, 8.0 SP1 and 9.0 SP1 on Windows XP. -
    • -
    • - Visual C++ 9.0 on Windows 2008, 64 bit. -
    • -
    • - GCC 4.3.3, using Mingw -
    • -
    -
  • -
  • - FreeBSD: -
      -
    • - GCC 4.2.1, 32 and 64 bit. -
    • -
    -
  • -
-

- Boost's additional test compilers include: -

-
    -
  • - Linux: -
      -
    • - Intel 10.1 on Red Hat Enterprise Linux. -
    • -
    • - Intel 10.1 on 64 bit Red Hat Enterprise Linux. -
    • -
    • - Intel 11.0 on 32 bit Red Hat Enterprise Linux. -
    • -
    • - Intel 11.0 on 64 bit Red Hat Enterprise Linux. -
    • -
    • - Intel 11.1 on 64 bit Red Hat Enterprise Linux. -
    • -
    • - Intel 11.1 on 64 bit Linux Redhat 5.1 Server. -
    • -
    • - Intel 11.1 on Suse Linux 64 bit. -
    • -
    • - GCC 3.4.6, GCC 4.2.4, GCC 4.3.4 and GCC 4.4.2 on Red Hat Enterprise Linux. -
    • -
    • - GCC 4.3.4 and GCC 4.4.2 with C++0x extensions on Red Hat Enterprise Linux. -
    • -
    • - GCC 4.4.1 on 64 bit Linux. -
    • -
    • - GCC 4.4.3 on Debian unstable. -
    • -
    • - QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise - Linux. -
    • -
    -
  • -
  • - OS X: -
      -
    • - Intel C++ Compiler 10.1, 11.0, 11.1 on Leopard. -
    • -
    • - GCC 4.0.1 on Intel Leopard. -
    • -
    • - GCC 4.0.1 on PowerPC Tiger. -
    • -
    -
  • -
  • - Windows: -
      -
    • - Visual C++ 7.1, 8,0, 9,0 on XP. -
    • -
    • - Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0. -
    • -
    • - Visual C++ 10.0 beta 2. -
    • -
    • - Visual C++ 10.0 on 32-bit Vista. -
    • -
    • - Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.1 (2010). -
    • -
    • - Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit. -
    • -
    • - GCC 4.4.1 on Mingw, with and without C++0x extensions. -
    • -
    -
  • -
  • - AIX: -
      -
    • - IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0, on AIX Version 5.3.0.40. -
    • -
    -
  • -
  • - FreeBSD: -
      -
    • - GCC 4.2.1 on FreeBSD 7.0, 32 bit and 64 bit. -
    • -
    -
  • -
  • - Solaris: -
      -
    • - Sun C++ 5.10 on Solaris 5.10. -
    • -
    -
  • -
-
-
-

Acknowledgements

-

- Beman Dawes, Eric Niebler, - Rene Rivera, Daniel James - and Vladimir Prus managed this release. -

-
-
-
-
-
-
- - - -
-
-
- - - - diff --git a/users/news/version_1_43_0.html b/users/news/version_1_43_0.html deleted file mode 100644 index abe54d29..00000000 --- a/users/news/version_1_43_0.html +++ /dev/null @@ -1,560 +0,0 @@ - - - - - Version 1.43.0 - - - - - - - - -
-
- -
-
-
-
-
-
-

Version 1.43.0

-
- -
-

Version 1.43.0

- -

May 6th, 2010 12:00 GMT

- - - -
Downloads
PlatformFile
unixboost_1_43_0.tar.bz2
boost_1_43_0.tar.gz
windowsboost_1_43_0.7z
boost_1_43_0.zip
-
-
- - - -
-

New Libraries

-
    -
  • - Functional/factory: - Function - objects for dynamic and by-value construction, from Tobias Schwinger. -
  • -
  • - Functional/forward: - Function - object adapters to address the forwarding problem, from Tobias Schwinger. -
  • -
-
-
-

Major Updates

-
    -
  • - Range: - Boost.Range has - undergone extensive updates that it include all of the features from the - recently reviewed Boost.RangeEx, from Neil Groves. -
      -
    • - Range-based version of the full STL iterator based algorithms. -
    • -
    • - Range adaptors which can be combined with range-based algorithms for - unprecedented expressiveness and efficiency. -
    • -
    • - New functions: irange, istream_range, join, combine. -
    • -
    -
  • -
-
-
-

Updated Libraries

-
    -
  • - Accumulators: -
      -
    • - Avoid premature template evaluation in operator overload return types. -
    • -
    -
  • -
  • - Array: -
      -
    • - Added support for SunCC compiler. -
    • -
    • - Added 'fill' member function. -
    • -
    • - Changed exception code to use boost::throw_exception. -
    • -
    -
  • -
  • - Asio: -
      -
    • - Improved performance. -
    • -
    • - Reduced compile times. -
    • -
    • - Reduced the size of generated code. -
    • -
    • - Extended the guarantee that background threads don't call user code to - all asynchronous operations (#3923). -
    • -
    • - Changed to use edge-triggered epoll on Linux. -
    • -
    • - Changed to use timerfd - for dispatching timers on Linux, when available. -
    • -
    • - Changed to use one-shot notifications with kqueue on Mac OS X and BSD - platforms. -
    • -
    • - Added a bitmask type ip::resolver_query_base::flags - as per the TR2 proposal. This type prevents implicit conversion from - int to flags, - allowing the compiler to catch cases where users incorrectly pass a numeric - port number as the service name. -
    • -
    • - Added #define NOMINMAX - for all Windows compilers. Users can define BOOST_ASIO_NO_NOMINMAX - to suppress this definition (#3901). -
    • -
    • - Fixed a bug where 0-byte asynchronous reads were incorrectly passing - an error::eof result to the completion handler - (#4023). -
    • -
    • - Changed the io_control() member functions to always call ioctl on the underlying descriptor - when modifying blocking mode (#3307). -
    • -
    • - Changed the resolver implementation to longer require the typedefs InternetProtocol::resolver_query and InternetProtocol::resolver_iterator, - as neither typedef is part of the documented InternetProtocol - requirements. The corresponding typedefs in the ip::tcp, - ip::udp and ip::icmp - classes have been deprecated. -
    • -
    • - Fixed out-of-band handling for reactors not based on select(). -
    • -
    • - Added new BOOST_ASIO_DISABLE_THREADS - macro that allows Asio's threading support to be independently disabled. -
    • -
    • - Minor documentation improvements. -
    • -
    -
  • -
  • - Fusion: -
      -
    • - Added new macros for adapting or defining custom types. See the Changelog - for details. -
    • -
    -
  • -
  • - Iostreams: - -
  • -
  • - Multi-index Containers: - -
  • -
  • - Proto: -
      -
    • - Minor change in behavior: non-const expression self-assignment creates - an assign node. See Proto's Release - Notes for details. -
    • -
    • - Minor change to recommended expression extension mechanism: use BOOST_PROTO_EXTENDS_USING_ASSIGN(). - See Proto's Release - Notes for details. -
    • -
    • - Fix error in invocation of callable monomorphic function objects in Proto - transforms. -
    • -
    • - Fix misc const correctness issues, work around fusion bug. -
    • -
    • - Add non-const function call overloads to proto terminals. -
    • -
    • - Add a default constructor to proto::literal<>. -
    • -
    • - Do not use deprecated config macros. -
    • -
    • - Add proto::assert_matches() - function and friends to <boost/proto/debug.hpp>. -
    • -
    • - functional::make_expr<> - and functional::unpack_expr<> - return const-qualified rvalues. -
    • -
    • - Add documentation for Expr and Domain concepts. -
    • -
    -
  • -
  • - Random: -
      -
    • - Put the implementation of random_device in a compiled lib, and added - Windows support. -
    • -
    • - Rewrote the documentation using Quickbook/Doxygen/Boostbook and brought - it up to date. -
    • -
    -
  • -
  • - Spirit: - Spirit V2.3, see - the 'What's - New' section for details. -
  • -
  • - Thread: -
      -
    • - Uses boost::throw_exception for all exceptions - except thread_interrupted -
    • -
    • - Added fix for issue 2742 -
    • -
    • - Optimizations to mutex locks and call_once -
    • -
    -
  • -
  • - Unordered: -
      -
    • - erase_return_void is - now quick_erase (#3966). -
    • -
    -
  • -
  • - Uuid: -
      -
    • - Split generators into separate files. -
    • -
    • - Fixed bug in basic_random_generator (#3971). -
    • -
    • - Updated documentation. -
    • -
    -
  • -
  • - Wave: - See the Changelog - for details. -
  • -
  • - Xpressive: -
      -
    • - Add missing include to <boost/xpressive/regex_error.hpp>. -
    • -
    -
  • -
-
-
-

Build System

-
    -
  • - When cross-compiling to GNU targets, static libraries are properly created. - Previously, using such libraries resulted in Archive has no index - error. -
  • -
  • - The naming of DLL and import libraries with gcc compiler on Windows, both - mingw and cygwin, now matches default conventions of those environments. - Previously, the naming scheme was the same as for other Windows compilers. -
  • -
-
-
-

Updated Tools

-
    -
  • - Quickbook: -
      -
    • - Unicode escape characters. -
    • -
    • - Support the UTF-8 byte order mark. -
    • -
    • - Disallow [ in simple markup. - Fixes some errors with mismatched punctuation. -
    • -
    • - Add a command line flag (-D) to define macros at the command - line. -
    • -
    • - Improved post-processor output. -
    • -
    • - Check that [section] and [endsect] - tags are balanced in templates. -
    • -
    -
  • -
-
-
-

Compilers Tested

-

- Boost's primary test compilers are: -

-
    -
  • - OS X: -
      -
    • - GCC 4.0.1 on Intel Leopard. -
    • -
    -
  • -
  • - Linux: -
      -
    • - GCC 4.4.1 on Ubuntu Linux. -
    • -
    • - GCC 4.4 on 64-bit Suse. -
    • -
    -
  • -
  • - Windows: -
      -
    • - Visual C++ 8.0 SP1 and 9.0 SP1 on Windows XP. -
    • -
    • - GCC 4.3.3, using Mingw -
    • -
    -
  • -
  • - FreeBSD: -
      -
    • - GCC 4.2.1, 32 and 64 bit. -
    • -
    -
  • -
-

- Boost's additional test compilers include: -

-
    -
  • - Linux: -
      -
    • - Intel 10.1, 11.1 on 32 bit Red Hat Enterprise Linux. -
    • -
    • - Intel 10.1, 11.0, 11.1 on 64 bit Red Hat Enterprise Linux. -
    • -
    • - GCC 3.4.6, 4.2.4, 4.3.4, 4.4.3 on Red Hat Enterprise Linux. -
    • -
    • - GCC 4.3.4, 4.4.3 with C++0x extensions on Red Hat Enterprise Linux. -
    • -
    • - QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise - Linux. -
    • -
    -
  • -
  • - OS X: -
      -
    • - Intel C++ Compiler 10.1, 11.0, 11.1 on Leopard. -
    • -
    • - GCC 4.0.1 on Intel Leopard. -
    • -
    • - Clang from subversion. -
    • -
    -
  • -
  • - Windows: -
      -
    • - Visual C++ 8,0, 9,0 on 32-bit XP. -
    • -
    • - Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0. -
    • -
    • - Visual C++ 10.0 on XP. -
    • -
    • - Visual C++ 10.0 on 64-bit Windows 7. -
    • -
    • - Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.1 (2010). -
    • -
    • - Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit. -
    • -
    • - GCC 4.3.3 on Mingw. -
    • -
    • - GCC 4.4.3 on Mingw, with and without C++0x extensions. -
    • -
    • - GCC 4.5 on Mingw. -
    • -
    -
  • -
  • - AIX: -
      -
    • - IBM XL C/C++ Enterprise Edition, V10.1.0.0, on AIX Version 5.3.0.40. -
    • -
    -
  • -
  • - FreeBSD: -
      -
    • - GCC 4.2.1 on FreeBSD 7.2, 64 bit. -
    • -
    • - GCC 4.2.1 on FreeBSD 8.0, 32 bit. -
    • -
    -
  • -
  • - Solaris: -
      -
    • - Sun C++ 5.10 on Solaris 5.10. -
    • -
    -
  • -
-
-
-

Acknowledgements

-

- Beman Dawes, Eric Niebler, - Rene Rivera, Daniel James - and Vladimir Prus managed this release. -

-
-
-
-
-
-
- - - -
-
-
- - - - diff --git a/users/news/version_1_44_0.html b/users/news/version_1_44_0.html deleted file mode 100644 index 40e79a0f..00000000 --- a/users/news/version_1_44_0.html +++ /dev/null @@ -1,1053 +0,0 @@ - - - - - Version 1.44.0 - - - - - - - - -
-
- -
-
-
-
-
-
-

Version 1.44.0

-
- -
-

Version 1.44.0

- -

August 13th, 2010 17:00 GMT

- - - -
Downloads
PlatformFile
unixboost_1_44_0.tar.bz2
boost_1_44_0.tar.gz
windowsboost_1_44_0.7z
boost_1_44_0.zip
-
-
- - - -
-

New Libraries

-
    -
  • -
    - Meta State Machine: - High-performance - expressive UML2 finite state machines, from Christophe Henry -
    -
  • -
  • -
    - Polygon: - Booleans/clipping, - resizing/offsetting and more for planar polygons with integral coordinates, - from Lucanus Simonson. -
    -
  • -
-
-
-

Updated Libraries

-
    -
  • -
    - Accumulators: -
      -
    • -
      - Correct miscellaneous documentation inaccuracies -
      -
    • -
    -
    -
  • -
  • -
    - Asio: -
      -
    • -
      - Reduced compile times. (Note that some programs may need to add additional - #includes, e.g. - if the program uses boost::array - but does not explicitly include <boost/array.hpp>.) -
      -
    • -
    • -
      - Reduced the size of generated code. -
      -
    • -
    • -
      - Refactored deadline_timer - implementation to improve performance. -
      -
    • -
    • -
      - Improved multiprocessor scalability on Windows by using a dedicated - hidden thread to wait for timers. -
      -
    • -
    • -
      - Improved performance of asio::streambuf - with async_read() - and async_read_until(). These read operations now use - the existing capacity of the streambuf - when reading, rather than limiting the read to 512 bytes. -
      -
    • -
    • -
      - Added optional separate compilation. To enable, add #include <boost/asio/impl/src.cpp> - to one source file in a program, then build the program with BOOST_ASIO_SEPARATE_COMPILATION - defined in the project/compiler settings. Alternatively, BOOST_ASIO_DYN_LINK may be defined - to build a separately-compiled Asio as part of a shared library. -
      -
    • -
    • -
      - Added new macro BOOST_ASIO_DISABLE_FENCED_BLOCK - to permit the disabling of memory fences around completion handlers, - even if thread support is enabled. -
      -
    • -
    • -
      - Reworked timeout examples to better illustrate typical use cases. -
      -
    • -
    • -
      - Ensured that handler arguments are passed as const - types. -
      -
    • -
    • -
      - Fixed incorrect parameter order in null_buffers - variant of async_send_to - (#4170). -
      -
    • -
    • -
      - Ensured unsigned char - is used with isdigit - in getaddrinfo emulation - (#4201). -
      -
    • -
    • -
      - Fixed handling of very small but non-zero timeouts (#4205). -
      -
    • -
    • -
      - Fixed crash that occurred when an empty buffer sequence was passed - to a composed read or write operation. -
      -
    • -
    • -
      - Added missing operator+ overload in buffers_iterator - (#4382). -
      -
    • -
    • -
      - Implemented cancellation of null_buffers - operations on Windows. -
      -
    • -
    -
    -
  • -
  • -
    - Config: -
      -
    • -
      - Added new defect macro, BOOST_NO_COMPLETE_VALUE_INITIALIZATION. -
      -
    • -
    • -
      - Added new defect macro BOOST_NO_0X_HDR_TYPEINDEX, - fixes issue #4274. -
      -
    • -
    • -
      - Added support for code visibility in GCC. -
      -
    • -
    • -
      - Fixed issues #4385, - #4324, - #4221, - #4182, - #4178, - #4152, - #4115. - #4112, - #4059, - #4041, - #4012. -
      -
    • -
    -
    -
  • -
  • -
    - Filesystem: -
      -
    • -
      - This release contains both version 2 and version 3 of the library. - Version 3 is a major upgrade that will break some existing user code, - so version 2 is the default. Users are encouraged to migrate to version - 3. See 'Version 2' - and 'Version 3' - for more information. -
      -
    • -
    • -
      - Fix problems with symbol visibility for shared libraries. -
      -
    • -
    • -
      - Fix various minor problems. -
      -
    • -
    • -
      - Fixed issues: #3863, - #4248. -
      -
    • -
    -
    -
  • -
  • -
    - Foreach: -
      -
    • -
      - Add boost/foreach_fwd.hpp for forward declarations of - foreach's customization points, fixes #3998. -
      -
    • -
    • -
      - Remove out-of-date work-arounds for sun compilers, fixes #4306. -
      -
    • -
    -
    -
  • -
  • -
    - Fusion: -
      -
    • -
      - Added fusion::reverse_fold, fusion::iter_fold - and fusion::reverse_iter_fold (#1623). -
      -
    • -
    -
    -
  • -
  • -
    - Hash: -
      -
    • -
      - Option to prevent implicit casts when calling the hash function by - defining the macro BOOST_HASH_NO_IMPLICIT_CASTS, - which can avoid some subtle problems. This might be activated by - default in a future version. -
      -
    • -
    -
    -
  • -
  • -
    - Iostreams: -
      -
    • -
      - Several fixes for file descriptors class, including a breaking change - to the constructors and open - methods for file_descriptor, - file_descriptor_source - and file_descriptor_sink. - See the - documentation for details. The old methods are still available - if you define BOOST_IOSTREAMS_USE_DEPRECATED - (#3323, - #3517, - #4335). -
      -
    • -
    • -
      - Fix several issues with compression and decompression (#2318, - #4091, - #3348, - #2783, - #1579, - #3853). -
      -
    • -
    • -
      - And a load more miscellaneous fixes (#3851, - #3279, - #3689, - #2356, - #2996, - #4102, - #2998, - #1612, - #2325). -
      -
    • -
    • -
      - Thanks to Steven Watanabe for almost all these fixes. For more detail - see the release - notes. -
      -
    • -
    -
    -
  • -
  • -
    - Math: -
      -
    • -
      - Fixed incorrect range and support for Rayleigh distribution. -
      -
    • -
    -
    -
  • -
  • -
    - MPL: -
      -
    • -
      - Make mpl::string work with mpl::transform. -
      -
    • -
    -
    -
  • -
  • -
    - Multi-index Containers: -
      -
    • -
      - Fixed a bug preventing the use of modify_key - with rollback in ordered - and hashed - indices when Modifier - and Rollback are - different types (ticket #4130). -
      -
    • -
    -
    -
  • -
  • -
    - Proto: -
      -
    • -
      - Minor change in behavior: when using - proto::and_ as a transform, apply all - transforms but only return the result of applying the last. See Proto's - Release - Notes for details. -
      -
    • -
    • -
      - Minor change in behavior: proto::as_expr and proto::as_child - no longer run objects that are already proto expressions through - the expression domain's generator. See Proto's Release - Notes for details. -
      -
    • -
    • -
      - Minor change in behavior: Proto - uses proto::basic_expr instead of proto::expr when possible for better compile - times. See Proto's Release - Notes for details. -
      -
    • -
    • -
      - Add support for sub-domains. -
      -
    • -
    • -
      - Introduce per-domain as_expr - and as_child customization - points to allow for domain-specific customization of variable capture - behavior. -
      -
    • -
    • -
      - The proto::_default transform is also a grammar - that matches the expressions the transform knows how to handle. -
      -
    • -
    • -
      - Add proto::_void, a no-op primitive transform - that does nothing and returns void. -
      -
    • -
    • -
      - The proto::pass_through transform doesn't - strip expression wrappers, fixes #4175. -
      -
    • -
    • -
      - Const-correctness fixes when invoking proto domains. -
      -
    • -
    -
    -
  • -
  • -
    - Regex: - -
    -
  • -
  • -
    - Spirit: - Spirit V2.4, - see the 'What's - New' section for details. -
    -
  • -
  • -
    - System: -
      -
    • -
      - Change system_category and generic_category to functions, to conform - to the C++0x FCD. This change may cause compile errors some user - code; the fix is add "()" to references to system_category - and generic_category, so that they become function calls. -
      -
    • -
    • -
      - Fix problems with symbol visibility for shared libraries. -
      -
    • -
    • -
      - Fixed issues: #4254, - #3994, - #3474. -
      -
    • -
    -
    -
  • -
  • -
    - Thread: - -
    -
  • -
  • -
    - TR1: -
      -
    • -
      - Fixed VC10 support. -
      -
    • -
    • -
      - std::tr1::result_of always uses the TR1 ResultOf - protocol, even on compilers that support the C++0x decltype-based implementation. -
      -
    • -
    -
    -
  • -
  • -
    - Type Traits: -
      -
    • -
      - Added support for rvalue references throughout the library, plus - two new traits classes is_rvalue_reference and is_lvalue_reference. - Fixes #4407 - and #3804. -
      -
    • -
    • -
      - Fixed ticket #3621. -
      -
    • -
    -
    -
  • -
  • -
    - uBLAS: -
      -
    • -
      - New assignment operators to feed in vectors and matrices in many - nice ways (#4034). - Thank you Nasos -
      -
    • -
    • -
      - New doxygen-based documentation -
      -
    • -
    • -
      - Enable arithmetic operators (+,-,*,/) to work between ublas containers - of std::complex and integral types (#3649). - Thank you Neal -
      -
    • -
    • -
      - Removed unused variables in functional.hpp (#4377). - Thank you Marco -
      -
    • -
    • -
      - New matrix_indirect and vector_indirect views to access elements - with a matrix or vector of indices -
      -
    • -
    -
    -
  • -
  • -
    - Utility: -
      -
    • -
      - Added a new template class, boost::initialized<T>, - in order to fix #3472. -
      -
    • -
    • -
      - New version of value_initialized<T> no longer calls memset when the compiler has implemented - value-initialization completely (#3869). -
      -
    • -
    • -
      - New template boost::tr1_result_of - that implements the TR1 ResultOf protocol even if boost::result_of - uses the C++0x decltype-based - implementation. -
      -
    • -
    -
    -
  • -
  • -
    - Uuid: -
      -
    • -
      - Define BOOST_UUID_NO_TYPE_TRAITS - to remove the dependency on Boost.TypeTraits. -
      -
    • -
    • -
      - Stream operator<< - handles left, internal, and right manipulators. -
      -
    • -
    • -
      - Added to_string, - to_wstring to convert - a uuid to a string. -
      -
    • -
    • -
      - Fixed minor bugs in documentation. -
      -
    • -
    -
    -
  • -
  • -
    - Wave: - See the Changelog - for details. -
    -
  • -
  • -
    - Xpressive: -
      -
    • -
      - Replace non-portable using - declarations with typedefs - in nested_results. -
      -
    • -
    • -
      - Support user-defined assertions with placeholders for non-local variables. -
      -
    • -
    -
    -
  • -
-
-
-

Updated tools

-
    -
  • -
    - Boostbook: -
      -
    • -
      - Significantly faster. -
      -
    • -
    • -
      - Improved syntax highlighter. -
      -
    • -
    -
    -
  • -
  • -
    - Quickbook: -
      -
    • -
      - Use the cygwin 1.7 API for better path handling. -
      -
    • -
    • -
      - Improved boostbook generation. -
      -
    • -
    • -
      - Tweak the grammar to clean up some edge cases. -
      -
    • -
    • -
      - For more detail see the change - log. -
      -
    • -
    -
    -
  • -
-
-
-

Compilers Tested

-

- Boost's primary test compilers are: -

-
    -
  • -
    - OS X: -
      -
    • -
      - GCC 4.0.1 on Intel Leopard. -
      -
    • -
    -
    -
  • -
  • -
    - Linux: -
      -
    • -
      - GCC 4.4 on 64-bit Suse. -
      -
    • -
    -
    -
  • -
  • -
    - Windows: -
      -
    • -
      - Visual C++ 7.1 SP1, 8.0 SP1, 9.0 SP1 and 10.0. -
      -
    • -
    • -
      - GCC 4.3.3, using Mingw. -
      -
    • -
    -
    -
  • -
  • -
    - FreeBSD: -
      -
    • -
      - GCC 4.2.1, 32 and 64 bit. -
      -
    • -
    -
    -
  • -
-

- Boost's additional test compilers include: -

-
    -
  • -
    - Linux: -
      -
    • -
      - Intel 10.1 on 32 bit Red Hat Enterprise Linux. -
      -
    • -
    • -
      - Intel 10.1, 11.0, 11.1 on 64 bit Red Hat Enterprise Linux. -
      -
    • -
    • -
      - GCC 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.5 on Red Hat Enterprise Linux. -
      -
    • -
    • -
      - GCC, with C++0x extensions, 4.3.4, 4.4.3, 4.5 on Red Hat Enterprise - Linux. -
      -
    • -
    • -
      - GCC 4.4 on 64 bit Suse. -
      -
    • -
    • -
      - QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise - Linux. -
      -
    • -
    • -
      - Clang from subversion (will be released with LLVM 2.8). -
      -
    • -
    -
    -
  • -
  • -
    - OS X: -
      -
    • -
      - Intel C++ Compiler 10.1, 11.0, 11.1 on Leopard. -
      -
    • -
    • -
      - GCC 4.0.1, 4.2.1 (Apple build). -
      -
    • -
    • -
      - GCC 4.4 -
      -
    • -
    • -
      - GCC, with C++0x extensions, 4.4 -
      -
    • -
    • -
      - Clang from subversion (will be released with LLVM 2.8). -
      -
    • -
    -
    -
  • -
  • -
    - Windows: -
      -
    • -
      - Visual C++ 7.1 SP, 8.0, 9.0 on 32-bit XP. -
      -
    • -
    • -
      - Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0. -
      -
    • -
    • -
      - Visual C++ 10.0 on XP. -
      -
    • -
    • -
      - Visual C++ 10.0 on 64-bit Windows 7. -
      -
    • -
    • -
      - Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.1 (2010). -
      -
    • -
    • -
      - Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit. -
      -
    • -
    • -
      - GCC 4.3.3, 4.5 on Mingw. -
      -
    • -
    • -
      - GCC, with C++0x extensions, 4.5 on Mingw. -
      -
    • -
    -
    -
  • -
  • -
    - AIX: -
      -
    • -
      - IBM XL C/C++ Enterprise Edition, V11.1.0.0, on AIX Version 5.3.0.40. -
      -
    • -
    -
    -
  • -
  • -
    - FreeBSD: -
      -
    • -
      - GCC 4.2.1 on FreeBSD 7.2, 64 bit. -
      -
    • -
    • -
      - GCC 4.2.1 on FreeBSD 8.0, 32 bit. -
      -
    • -
    -
    -
  • -
  • -
    - Solaris: -
      -
    • -
      - Sun C++ 5.10 on Solaris 5.10. -
      -
    • -
    -
    -
  • -
-
-
-

Acknowledgements

-

- Beman Dawes, Eric Niebler, - Rene Rivera, Daniel James - and Vladimir Prus managed this release. -

-

- Thanks to Marshall Clow for organizing the bug sprint and to everyone who took - part. -

-
-
-
-
-
-
- - - -
-
-
- - - - diff --git a/users/news/version_1_45_0.html b/users/news/version_1_45_0.html deleted file mode 100644 index 583c209a..00000000 --- a/users/news/version_1_45_0.html +++ /dev/null @@ -1,903 +0,0 @@ - - - - - Version 1.45.0 - - - - - - - - -
-
- -
-
-
-
-
-
-

Version 1.45.0

-
- -
-

Version 1.45.0

- -

November 19th, 2010 16:00 GMT

- - - -
Downloads
PlatformFile
unixboost_1_45_0.tar.bz2
boost_1_45_0.tar.gz
windowsboost_1_45_0.7z
boost_1_45_0.zip
-
-
- - - -
-

Updated Libraries

-
    -
  • -
    - Asio: - -
    -
      -
    • -
      - Fixed a problem on kqueue-based platforms where a deadline_timer - may never fire if the io_service - is running in a background thread (#4568). -
      -
    • -
    • -
      - Fixed a const-correctness issue that prevented valid uses of has_service<> - from compiling (#4638). -
      -
    • -
    • -
      - Fixed MinGW cross-compilation (#4491). -
      -
    • -
    • -
      - Removed dependency on deprecated Boost.System functions (#4672). -
      -
    • -
    • -
      - Ensured close()/closesocket() - failures are correctly propagated (#4573). -
      -
    • -
    • -
      - Added a check for errors returned by InitializeCriticalSectionAndSpinCount - (#4574). -
      -
    • -
    • -
      - Added support for hardware flow control on QNX (#4625). -
      -
    • -
    • -
      - Always use pselect() on HP-UX, if it is available (#4578). -
      -
    • -
    • -
      - Ensured handler arguments are passed as lvalues (#4744). -
      -
    • -
    • -
      - Fixed Windows build when thread support is disabled (#4680). -
      -
    • -
    • -
      - Fixed a Windows-specific problem where deadline_timer - objects with expiry times set more than 5 minutes in the future may - never expire (#4745). -
      -
    • -
    • -
      - Fixed the resolver - backend on BSD platforms so that an empty service name resolves to - port number 0, as per the - documentation (#4690). -
      -
    • -
    • -
      - Fixed read operations so that they do not accept buffer sequences of - type const_buffers_1 - (#4746). -
      -
    • -
    • -
      - Redefined Protocol - and id to avoid clashing - with Objective-C++ keywords (#4191). -
      -
    • -
    • -
      - Fixed a vector reallocation - performance issue that can occur when there are many active deadline_timer objects (#4780). -
      -
    • -
    • -
      - Fixed the kqueue backend so that it compiles on NetBSD (#4662). -
      -
    • -
    • -
      - Fixed the socket io_control() implementation on 64-bit Mac OS X - and BSD platforms (#4782). -
      -
    • -
    • -
      - Fixed a Windows-specific problem where failures from accept() - are incorrectly treated as successes (#4859). -
      -
    • -
    • -
      - Deprecated the separate compilation header <boost/asio/impl/src.cpp> - in favour of <boost/asio/impl/src.hpp> (#4560). -
      -
    • -
    -
  • -
  • -
    - Config: - -
    -
      -
    • -
      - Added new defect macros, BOOST_NO_VARIADIC_MACROS - and BOOST_NO_NUMERIC_LIMITS_LOWEST. -
      -
    • -
    • -
      - Minor fixes (#4670, - #4563, - #4474, - #4508). -
      -
    • -
    -
  • -
  • -
    - Flyweight: - -
    -
      -
    • -
      - Fixed a hanging problem with intermodule_holder in Win32 - platforms related to a Boost.Interprocess issue described at ticket - #4606. -
      -
    • -
    • -
      - Removed an internal assertion incompatible with program termination - via std::exit. -
      -
    • -
    -
  • -
  • -
    - Foreach: - -
    -
      -
    • -
      - Fix ambiguitiy by making auto_any - constructor explicit. -
      -
    • -
    -
  • -
  • -
    - Fusion: - -
    -
      -
    • -
      - Added BOOST_FUSION_ADAPT_ADT, - BOOST_FUSION_ADAPT_TPL_ADT, - BOOST_FUSION_ADAPT_ASSOC_ADT - and BOOST_FUSION_ADAPT_ASSOC_TPL_ADT. -
      -
    • -
    -
  • -
  • -
    - Graph: - -
    -
      -
    • -
      - Added Stoer-Wagner min-cut algorithm contributed by Daniel Trebbien. -
      -
    • -
    • -
      - Added implicit graph (implicit_graph) and A* (astar_maze) examples - contributed by W. P. McNeill. -
      -
    • -
    • -
      - Added bundled property support for graph properties. -
      -
    • -
    • -
      - Fixed bugs #4556, - #4622, - #4631, - #4715, - #4753, - #4758 - and #4793 - plus others not in Trac. -
      -
    • -
    • -
      - Fixed documentation bugs #4731 - and #4737. -
      -
    • -
    -
  • -
  • -
    - Interprocess: - -
    - -
  • -
  • -
    - Math: - -
    -
      -
    • -
      - Added inverse gamma distribution and inverse chi_square and scaled - inverse chi_square. -
      -
    • -
    • -
      - Added warnings about potential ambiguity with std random library in - distribution and function names. -
      -
    • -
    • -
      - Editorial revision of documentation, and added FAQ. -
      -
    • -
    -
  • -
  • - - -
  • -
  • -
    - MultiArray: - -
    -
      -
    • -
      - Fixes for bugs #3581, - #3820, - #3989, - #4032, - plus other bugs not in Trac. -
      -
    • -
    • -
      - Added new examples and test cases. -
      -
    • -
    -
  • -
  • -
    - Proto: - -
    -
      -
    • -
      - Knock down value of proto::N, - fixes bug #4602, -
      -
    • -
    • -
      - Support non-rtti compilers -
      -
    • -
    • -
      - Fix bug with proto::matches, - array types and the wildcard pattern. -
      -
    • -
    • -
      - Make Proto work on MSVC with the /clr option -
      -
    • -
    • -
      - Add const-qualified overloads of proto::eval -
      -
    • -
    -
  • -
  • -
    - Spirit: - Spirit V2.4.1, - see the 'What's - New' section for details. -
    -
  • -
  • -
    - TypeTraits: - -
    -
      -
    • -
      - Added new traits add_rvalue_reference, add_lvalue_reference and common_type. -
      -
    • -
    • -
      - Minor fixes to is_signed, is_unsigned and is_virtual_base_of. -
      -
    • -
    -
  • -
  • -
    - uBLAS: - -
    -
      -
    • -
      - Tickets closed: -
      - -
    • -
    • -
      - Mixed types operation are possible and new tests added (like matrix<complex>+matrix<double>), -
      -
    • -
    • -
      - New features: -
      -
        -
      • -
        - a new size<> operator is available. For example size<1>(A+B) - give the number of rows of the sum of matrices A and B, -
        -
      • -
      -
    • -
    -
  • -
  • -
    - Unordered: - -
    -
      -
    • -
      - Fix inserting from iterators which return by copy from operator* - in boost::unordered_map and boost::unordered_set. -
      -
    • -
    -
  • -
  • -
    - Wave: - -
    - -
  • -
  • -
    - Xpressive: - -
    -
      -
    • -
      - xpressive::as handles wide-char sub_match objects, fixes bug #4496 -
      -
    • -
    -
  • -
-
-
-

Updated Tools

-
    -
  • -
    - Boostbook: - -
    -
      -
    • -
      - Fix syntax highlighter for comments at the end of code blocks. -
      -
    • -
    -
  • -
  • -
    - Quickbook: - -
    -
      -
    • -
      - Fix command line macros. -
      -
    • -
    • -
      - Nested code snippets. -
      -
    • -
    • -
      - Nested documentation info comments. -
      -
    • -
    • -
      - Revert xml escaping document info, it broke some documentation files - (will now be in 1.6). -
      -
    • -
    • -
      - Some other small tweaks. See the - change log for more info. -
      -
    • -
    -
  • -
-
-
-

Compilers Tested

-

- Boost's primary test compilers are: -

-
    -
  • -
    - Linux: -
    -
      -
    • -
      - GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.4.5, 4.5.1. -
      -
    • -
    • -
      - GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.0. -
      -
    • -
    • -
      - Intel: 10.1, 11.0, 11.1 -
      -
    • -
    • -
      - Pathscale: 3.2. -
      -
    • -
    -
  • -
  • -
    - OS X: -
    -
      -
    • -
      - GCC: 4.0.1, 4.2.1, 4.4 -
      -
    • -
    • -
      - GCC, C++0x mode: 4.4. -
      -
    • -
    • -
      - Intel: 11.1 -
      -
    • -
    -
  • -
  • -
    - Windows: -
    -
      -
    • -
      - Visual C++: 7.1, 8.0, 9.0 and 10.0. -
      -
    • -
    • -
      - GCC, mingw: 4.3.3. -
      -
    • -
    -
  • -
  • -
    - FreeBSD: -
    -
      -
    • -
      - GCC: 4.2.1, 32 bit. -
      -
    • -
    • -
      - GCC: 4.2.1, 64 bit. -
      -
    • -
    -
  • -
-

- Boost's additional test compilers include: -

-
    -
  • -
    - Linux: -
    -
      -
    • -
      - GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.4.5, 4.5.0, 4.6.0 (dev version). -
      -
    • -
    • -
      - GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.0. -
      -
    • -
    • -
      - Intel: 10.1, 11.0, 11.1. -
      -
    • -
    • -
      - pgCC 10.1. -
      -
    • -
    • -
      - PathScale: 3.2. -
      -
    • -
    • -
      - Clang from subversion. -
      -
    • -
    -
  • -
  • -
    - OS X: -
    -
      -
    • -
      - Intel C++ Compiler: 10.1, 11.0, 11.1. -
      -
    • -
    • -
      - GCC: 4.0.1, 4.2.1, 4.4.4 -
      -
    • -
    • -
      - GCC, C++0x mode: 4.4.4 -
      -
    • -
    • -
      - Clang from subversion. -
      -
    • -
    -
  • -
  • -
    - Windows: -
    -
      -
    • -
      - Borland: 5.9.3, 6.1.3 (2009), 6.2.1 (2010), 6.3.0 -
      -
    • -
    • -
      - GCC, mingw: 4.3.3, 4.4.5, 4.5.1 -
      -
    • -
    • -
      - GCC, mingw, C++0x mode: 4.5.1 -
      -
    • -
    • -
      - Visual C++: 7.1, 8.0, 9.0, 10.0 -
      -
    • -
    -
  • -
  • -
    - AIX: -
    -
      -
    • -
      - IBM XL C/C++ Enterprise Edition, V11.1.0.0. -
      -
    • -
    -
  • -
  • -
    - FreeBSD: -
    -
      -
    • -
      - GCC 4.2.1, 64 bit. -
      -
    • -
    -
  • -
  • -
    - Solaris: -
    -
      -
    • -
      - Sun C++: 5.10. -
      -
    • -
    -
  • -
-
-
-

Acknowledgements

-

- Beman Dawes, Eric Niebler, - Rene Rivera, Daniel James - and Vladimir Prus managed this release. -

-
-
-
-
-
-
- - - -
-
-
- - - - diff --git a/users/news/version_1_46_0.html b/users/news/version_1_46_0.html deleted file mode 100644 index c4af84fe..00000000 --- a/users/news/version_1_46_0.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - Version 1.46.0 - - - - - - - - -
-
- -
-
-
-
-
-
-

Version 1.46.0

-
- -
-

Version 1.46.0

- -

In Progress

- - -
-
- - -
-

New Libraries

-
    -
  • -
    - Icl: - Interval Container - Library, interval sets and maps and aggregation of associated values, from - Joachim Faulhaber. -
    -
  • -
-
-
-

Updated Libraries

-
    -
  • -
    - TODO -
    -
  • -
-
-
-

Compilers Tested

-

- Boost's primary test compilers are: -

-
    -
  • -
    - TODO -
    -
  • -
-

- Boost's additional test compilers include: -

-
    -
  • -
    - TODO -
    -
  • -
-
-
-

Acknowledgements

-

- TODO -

-
-
-
-
-
-
- - - -
-
-
- - - - From 0a747eb7a791df5a05dfc56ea077b2a15871574e Mon Sep 17 00:00:00 2001 From: Daniel James Date: Mon, 3 Jan 2011 17:49:29 +0000 Subject: [PATCH 04/34] Convert templates to python. [SVN r67625] --- build/templates/download-template.html | 63 ++++++++++------------ build/templates/entry-template.html | 55 ++++++------------- build/templates/history-template.html | 61 +++++++++------------ build/templates/index-src.html | 71 ++++++++++++------------ build/templates/news-template.html | 75 ++++++++++++-------------- 5 files changed, 137 insertions(+), 188 deletions(-) diff --git a/build/templates/download-template.html b/build/templates/download-template.html index eacf95be..a92b0632 100644 --- a/build/templates/download-template.html +++ b/build/templates/download-template.html @@ -1,13 +1,13 @@ - - - Boost Downloads + ${ emit(title) }$ @@ -16,8 +16,7 @@ $_downloads = new boost_feed(dirname(__FILE__) . '/../feed/downloads.rss', '/use
- -
+
@@ -25,7 +24,7 @@ $_downloads = new boost_feed(dirname(__FILE__) . '/../feed/downloads.rss', '/use
-

Boost Downloads

+

${ emit(title) }$

@@ -38,25 +37,24 @@ $_downloads = new boost_feed(dirname(__FILE__) . '/../feed/downloads.rss', '/use

Packaged - Releases

db as $_guid => $_item ) { ?> - -

- -

- -

-

- - - + Releases${ +for entry in entries: + emit('\n') + emit('

%s

\n\n' % entry.title_xml) + emit('

%s

\n\n' % entry.web_date()) + emit('

\n') + emit(' %s

\n\n' % entry.purpose_xml) + emit(' ') +}$

Old Boost Releases

Old versions of boost can be found on the

+
@@ -152,12 +149,10 @@ svn co

Copyright Rene Rivera 2006-2007.

-
-
+
+
diff --git a/build/templates/entry-template.html b/build/templates/entry-template.html index 12acedbb..c448485c 100644 --- a/build/templates/entry-template.html +++ b/build/templates/entry-template.html @@ -1,25 +1,15 @@ -db as $_guid => $_value) { - echo "Building $_guid\n"; - - ob_start(); -?> - <?php print $_history->db[$_guid]['title']; ?> + ${ emit(page.title_xml) }$ - - +""") +}$
- -
+
@@ -43,29 +33,26 @@ foreach($_history->db as $_guid => $_value) {
-

db[$_guid]['title']; ?>

+

${ emit(page.title_xml) }$

db[$_guid]['title']; ?>

+ "news-title">${ emit(page.title_xml) }$

db[$_guid]['date']; ?>

- - echo_download_table($_guid); ?> + "news-date">${ emit(page.web_date()) }$

+ ${ emit(page.download_table()) }$
- db[$_guid]['description']; ?> -
+
${ emit(page.description_xml) }$
+
@@ -79,24 +66,12 @@ foreach($_history->db as $_guid => $_value) { - + +
- diff --git a/build/templates/history-template.html b/build/templates/history-template.html index 0243cb09..be9e5ad7 100644 --- a/build/templates/history-template.html +++ b/build/templates/history-template.html @@ -1,14 +1,12 @@ -sort_by('pubdate'); -?> - - Boost Version History + ${ emit(title) }$ @@ -17,8 +15,7 @@ $_history->sort_by('pubdate');
- -
+
@@ -26,37 +23,31 @@ $_history->sort_by('pubdate');
-

Boost Version History

+

${ emit(title) }$

+ ${ +for entry in entries: + emit('\n') + emit('

\n %s

\n\n' % (entry.id, entry.id, entry.location, entry.title_xml)) + emit('

%s

\n\n' % (entry.web_date())) + emit('
\n') + emit(' %s' % (entry.purpose_xml)) + emit('
\n\n') + emit(' ') +}$
+
@@ -70,12 +61,10 @@ $_history->sort_by('pubdate'); - + +
diff --git a/build/templates/index-src.html b/build/templates/index-src.html index c6549b88..6a83231a 100644 --- a/build/templates/index-src.html +++ b/build/templates/index-src.html @@ -1,10 +1,10 @@ -sort_by('pubdate'); -$_downloads = new boost_feed(dirname(__FILE__) . '/../feed/downloads.rss', '/users/download'); -?> - @@ -23,15 +23,13 @@ $_downloads = new boost_feed(dirname(__FILE__) . '/../feed/downloads.rss', '/use Note: Editing website content is documented at: http://www.boost.org/development/website_updating.html --> -\n"; -?> - +${ + # Obviously doesn't apply here. + emit("\n"); +}$
- -
+
@@ -103,14 +101,18 @@ http://www.boost.org/development/website_updating.html

Downloads

More Downloads... @@ -121,15 +123,13 @@ http://www.boost.org/development/website_updating.html

News

    - db as $_guid => $_item ) { $_count += 1; if ($_count > 3) { break; } ?> - -
  • '; ?>'; ?> - -
  • -
+ ${ +for entry in news: + emit('\n') + emit('
  • %s\n' % (entry.location, entry.title_xml)) + emit(' %s\n' % entry.purpose_xml) + emit(' %s
  • ' % (entry.web_date())) +}$

    More News... (RSS)

    @@ -143,8 +143,7 @@ http://www.boost.org/development/website_updating.html
    +
    @@ -160,12 +159,10 @@ http://www.boost.org/development/website_updating.html

    Copyright Beman Dawes, David Abrahams, 1998-2005.

    Copyright Rene Rivera 2004-2007.

    - - + +
    diff --git a/build/templates/news-template.html b/build/templates/news-template.html index 73176a93..499ef14e 100644 --- a/build/templates/news-template.html +++ b/build/templates/news-template.html @@ -1,14 +1,12 @@ -sort_by('pubdate'); -?> - - Boost News + ${ emit(title) }$ @@ -17,8 +15,7 @@ $_news->sort_by('pubdate');
    - -
    +
    @@ -26,42 +23,40 @@ $_news->sort_by('pubdate');
    -

    Boost News

    +

    ${ emit(title) }$

    -
      - db as $_guid => $_item ) { ?> - -
    • '; ?>'; ?>
    • -
    db as $_guid => $_item ) { ?> - -

    - '; ?>'; ?>

    - -

    - -
    - -
    - -
    -
    + ${ +emit('
      \n') +emit(' ') +for entry in entries: + emit('\n') + emit('
    • %s
    • ' % (entry.id, entry.title_xml)) +emit('
    ') +for entry in entries: + emit('\n') + emit('

    \n') + emit(' %s' % (entry.id, entry.id, entry.location, entry.title_xml)) + emit('

    \n\n') + emit('

    %s

    \n\n' % (entry.web_date())) + emit('
    \n') + emit(' %s' % (entry.purpose_xml)) + emit('
    \n\n') + emit(' ') +}$
    +
    @@ -75,12 +70,10 @@ $_news->sort_by('pubdate'); - + +
    From c99f749b2c2b6ee75073e3dee71e28030aa20d2a Mon Sep 17 00:00:00 2001 From: Daniel James Date: Wed, 2 Mar 2011 09:29:46 +0000 Subject: [PATCH 05/34] Start release notes for 1.46.1 [SVN r69473] --- feed/history-hashes.txt | 1 + feed/history.rss | 78 +++- feed/history/boost_1_46_1.qbk | 25 +- feed/news-hashes.txt | 2 +- feed/news.rss | 571 ++++------------------------- index.html | 21 +- users/download/version_1_46_0.html | 2 +- users/history/index.html | 15 + users/history/version_1_46_1.html | 148 ++++++++ users/news/index.html | 39 +- users/news/version_1_46_1.html | 148 ++++++++ 11 files changed, 518 insertions(+), 532 deletions(-) create mode 100644 users/history/version_1_46_1.html create mode 100644 users/news/version_1_46_1.html diff --git a/feed/history-hashes.txt b/feed/history-hashes.txt index f90fcc85..6a2d5f76 100644 --- a/feed/history-hashes.txt +++ b/feed/history-hashes.txt @@ -55,4 +55,5 @@ history/boost_1_43_0.qbk,242b5e8f79076daf044d3298e84c5e6afce6f075c9ea94a80bb55ad history/boost_1_44_0.qbk,5afefb7a3ac845e5bca131096f43532bc849a358a76fb5b81d1771c859567fe7,38b3363ee32e6ac268e029baaa675b4a6e21cc5ff2abb6310f9cc19d8ccc5ce5 history/boost_1_45_0.qbk,26ea33eb12d21314ae3a4c3eaa2dab5ace7d90929a1a3073b3bda7b99ff3c5b6,efa947fe7348a82a0dd9d03dc01d3f9fef69d42f3e761bc9a6491453b24d43d2 history/boost_1_46_0.qbk,1682fbdf4b35e481d2c16bbb33aede55618b267f950f2d4aed70afe399ea1b26,0ae2f9a1995f28f4a71fadd9a84c009747690c7a29a56b8f3f9a7b76fe29c933 +history/boost_1_46_1.qbk,2323e6c69c2a74c3e0ddc504bab0d9161d0301013fb97acc11437a0f5dba4d1e,aa4b825d79280f9b091362272877970a2d3f2c560e665a740981cbb8703d2ada history/unversioned.qbk,2810bfebb2d0739fad2f520df2c386dde484dd28bcd117422b9a95f6df449d8e,8002a54cd484904089f5ece182b03e50d50160c1e1e6b276be44bcf91c8214fb diff --git a/feed/history.rss b/feed/history.rss index 734a11fa..436f5b97 100644 --- a/feed/history.rss +++ b/feed/history.rss @@ -6,7 +6,83 @@ en-us Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) - Version 1.46.0Mon, 21 Feb 2011 15:36:13 -0500<span class="brief"><span class="purpose"> + Version 1.46.1$Date$<span class="brief"><span class="purpose"> + Bug fix release. Updated Libraries: Fusion, Proto, Unordered. + </span></span><div class="description"> + + + <div id="version_1_46_1.updated_libraries"> + <h3><span class="link">Updated Libraries</span></h3> + <ul> + <li> + <div> + <span class="library"><a href="/libs/fusion/">Fusion</a>:</span> + - Fix <code><span class="identifier">disable_if</span></code> + for Visual C++ 7.1/8.0 + </div> + </li> + <li> + <div> + <span class="library"><a href="/libs/proto/">Proto</a>:</span> + - Make <code><span class="identifier">display_expr</span></code> + copyable (<a href="https://svn.boost.org/trac/boost/ticket/5096">#5096</a>). + - Fix const correctness problem in <code><span class="identifier">pass_through</span></code>. + </div> + </li> + <li> + <div> + <span class="library"><a href="/libs/unordered/">Unordered</a>:</span> + - Add missing copy + constructors and assignment operators when using rvalue references (<a href="https://svn.boost.org/trac/boost/ticket/5119">#5119</a>). + </div> + </li> + </ul> + </div> + <div id="version_1_46_1.other_changes"> + <h3><span class="link">Other changes</span></h3> + <ul> + <li> + <div> + Update getting started guide to reflect changes to boost build. + </div> + </li> + <li> + <div> + In quickbook, workaround optimization bug in g++ 4.4. + </div> + </li> + </ul> + </div> + <div id="version_1_46_1.compilers_tested"> + <h3><span class="link">Compilers Tested</span></h3> + <p> + Boost's primary test compilers are: + </p> + <ul> + <li> + <div> + <em>TODO</em> + </div> + </li> + </ul> + <p> + Boost's additional test compilers include: + </p> + <ul> + <li> + <div> + <em>TODO</em> + </div> + </li> + </ul> + </div> + <div id="version_1_46_1.acknowledgements"> + <h3><span class="link">Acknowledgements</span></h3> + <p> + <em>TODO</em> + </p> + </div> +</div>Version 1.46.0Mon, 21 Feb 2011 15:36:13 -0500<span class="brief"><span class="purpose"> New Libraries: Icl. Updated Libraries: Array, Asio, Bind, Concept Check, Filesystem, Fusion, Hash, Iterator, Math, Meta State Machine, Optional, Pool, Program Options, Proto, Signals, Spirit, Tokenizer, Unordered, Wave. Updated Tools: Boostbook, diff --git a/feed/history/boost_1_46_1.qbk b/feed/history/boost_1_46_1.qbk index 1634b206..0dd923de 100644 --- a/feed/history/boost_1_46_1.qbk +++ b/feed/history/boost_1_46_1.qbk @@ -1,7 +1,10 @@ [article Version 1.46.1 [quickbook 1.5] [source-mode c++] - [purpose New Libraries: Updated Libraries: ] + [purpose + Bug fix release. + Updated Libraries: Fusion, Proto, Unordered. + ] [authors [Dawes, Beman]] [last-revision ] ] @@ -14,7 +17,25 @@ [section Updated Libraries] -* /TODO/ +* [phrase library..[@/libs/fusion/ Fusion]:] + - Fix `disable_if` for Visual C++ 7.1/8.0 + +* [phrase library..[@/libs/proto/ Proto]:] + - Make `display_expr` copyable + ([@https://svn.boost.org/trac/boost/ticket/5096 #5096]). + - Fix const correctness problem in `pass_through`. + +* [phrase library..[@/libs/unordered/ Unordered]:] + - Add missing copy constructors and assignment operators when using + rvalue references + ([@https://svn.boost.org/trac/boost/ticket/5119 #5119]). + +[endsect] + +[section Other changes] + +* Update getting started guide to reflect changes to boost build. +* In quickbook, workaround optimization bug in g++ 4.4. [endsect] diff --git a/feed/news-hashes.txt b/feed/news-hashes.txt index 53e901da..b76b28f9 100644 --- a/feed/news-hashes.txt +++ b/feed/news-hashes.txt @@ -1,5 +1,5 @@ -history/boost_1_42_0.qbk,36765d15b10a22aaa541044a5109f9f4d7366b9f54809f44d55e1d9d162a1537,0c0c2b687cdb2ef6680aad359a9f3eb4fb002fe14363041906ec585663211521 history/boost_1_43_0.qbk,242b5e8f79076daf044d3298e84c5e6afce6f075c9ea94a80bb55ad5ee49b45a,26924935e36618f705723425e30a045ff0d06a13ec27645115ad490f744ef9c3 history/boost_1_44_0.qbk,5afefb7a3ac845e5bca131096f43532bc849a358a76fb5b81d1771c859567fe7,38b3363ee32e6ac268e029baaa675b4a6e21cc5ff2abb6310f9cc19d8ccc5ce5 history/boost_1_45_0.qbk,26ea33eb12d21314ae3a4c3eaa2dab5ace7d90929a1a3073b3bda7b99ff3c5b6,efa947fe7348a82a0dd9d03dc01d3f9fef69d42f3e761bc9a6491453b24d43d2 history/boost_1_46_0.qbk,1682fbdf4b35e481d2c16bbb33aede55618b267f950f2d4aed70afe399ea1b26,0ae2f9a1995f28f4a71fadd9a84c009747690c7a29a56b8f3f9a7b76fe29c933 +history/boost_1_46_1.qbk,2323e6c69c2a74c3e0ddc504bab0d9161d0301013fb97acc11437a0f5dba4d1e,aa4b825d79280f9b091362272877970a2d3f2c560e665a740981cbb8703d2ada diff --git a/feed/news.rss b/feed/news.rss index 8093350e..64ccd2a0 100644 --- a/feed/news.rss +++ b/feed/news.rss @@ -6,7 +6,83 @@ en-us Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) - Version 1.46.0Mon, 21 Feb 2011 15:36:13 -0500<span class="brief"><span class="purpose"> + Version 1.46.1$Date$<span class="brief"><span class="purpose"> + Bug fix release. Updated Libraries: Fusion, Proto, Unordered. + </span></span><div class="description"> + + + <div id="version_1_46_1.updated_libraries"> + <h3><span class="link">Updated Libraries</span></h3> + <ul> + <li> + <div> + <span class="library"><a href="/libs/fusion/">Fusion</a>:</span> + - Fix <code><span class="identifier">disable_if</span></code> + for Visual C++ 7.1/8.0 + </div> + </li> + <li> + <div> + <span class="library"><a href="/libs/proto/">Proto</a>:</span> + - Make <code><span class="identifier">display_expr</span></code> + copyable (<a href="https://svn.boost.org/trac/boost/ticket/5096">#5096</a>). + - Fix const correctness problem in <code><span class="identifier">pass_through</span></code>. + </div> + </li> + <li> + <div> + <span class="library"><a href="/libs/unordered/">Unordered</a>:</span> + - Add missing copy + constructors and assignment operators when using rvalue references (<a href="https://svn.boost.org/trac/boost/ticket/5119">#5119</a>). + </div> + </li> + </ul> + </div> + <div id="version_1_46_1.other_changes"> + <h3><span class="link">Other changes</span></h3> + <ul> + <li> + <div> + Update getting started guide to reflect changes to boost build. + </div> + </li> + <li> + <div> + In quickbook, workaround optimization bug in g++ 4.4. + </div> + </li> + </ul> + </div> + <div id="version_1_46_1.compilers_tested"> + <h3><span class="link">Compilers Tested</span></h3> + <p> + Boost's primary test compilers are: + </p> + <ul> + <li> + <div> + <em>TODO</em> + </div> + </li> + </ul> + <p> + Boost's additional test compilers include: + </p> + <ul> + <li> + <div> + <em>TODO</em> + </div> + </li> + </ul> + </div> + <div id="version_1_46_1.acknowledgements"> + <h3><span class="link">Acknowledgements</span></h3> + <p> + <em>TODO</em> + </p> + </div> +</div>Version 1.46.0Mon, 21 Feb 2011 15:36:13 -0500<span class="brief"><span class="purpose"> New Libraries: Icl. Updated Libraries: Array, Asio, Bind, Concept Check, Filesystem, Fusion, Hash, Iterator, Math, Meta State Machine, Optional, Pool, Program Options, Proto, Signals, Spirit, Tokenizer, Unordered, Wave. Updated Tools: Boostbook, @@ -3165,498 +3241,5 @@ and Vladimir Prus managed this release. </p> </div> -</div>Version 1.42.0Tue 2 Feb 2010 14:00:00 GMT<span class="brief"><span class="purpose"> - New Libraries: Uuid. Updated Libraries: Asio, Circular Buffer, Fusion, Graph, - Integer, Iostreams, Program.Options, PropertyMap, Proto, Regex, Spirit, Unordered, - Xpressive. - </span></span>http://sourceforge.net/projects/boost/files/boost/1.42.0/<div class="description"> - - - - <div id="version_1_42_0.new_libraries"> - <h3><span class="link">New Libraries</span></h3> - <ul> - <li> - <span class="library"><a href="/libs/uuid/index.html">Uuid</a>:</span> - A universally unique - identifier, from Andy Tompkins. - </li> - </ul> - </div> - <div id="version_1_42_0.updated_libraries"> - <h3><span class="link">Updated Libraries</span></h3> - <ul> - <li> - <span class="library"><a href="/libs/asio/index.html">Asio</a>:</span> - <ul> - <li> - Added a new HTTP Server 4 example illustrating the use of stackless coroutines - with Asio. - </li> - <li> - Changed handler allocation and invocation to use <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">addressof</span></code> - to get the address of handler objects, rather than applying <code><span class="keyword">operator</span><span class="special">&amp;</span></code> - directly (<a href="https://svn.boost.org/trac/boost/ticket/2977">#2977</a>). - </li> - <li> - Restricted MSVC buffer debugging workaround to 2008, as it causes a crash - with 2010 beta 2 (<a href="https://svn.boost.org/trac/boost/ticket/3796">#3796</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3822">#3822</a>). - </li> - <li> - Fixed a problem with the lifetime of handler memory, where Windows needs - the <code><span class="identifier">OVERLAPPED</span></code> structure - to be valid until both the initiating function call has returned and - the completion packet has been delivered. - </li> - <li> - Don't block signals while performing system calls, but instead restart - the calls if they are interrupted. - </li> - <li> - Documented the guarantee made by strand objects with respect to order - of handler invocation. - </li> - <li> - Changed strands to use a pool of implementations, to make copying of - strands cheaper. - </li> - <li> - Ensured that kqueue support is enabled for BSD platforms (<a href="https://svn.boost.org/trac/boost/ticket/3626">#3626</a>). - </li> - <li> - Added a <code><span class="identifier">boost_</span></code> prefix - to the <code><span class="keyword">extern</span> <span class="string">&quot;C&quot;</span></code> - thread entry point function (<a href="https://svn.boost.org/trac/boost/ticket/3809">#3809</a>). - </li> - <li> - In <code><span class="identifier">getaddrinfo</span></code> emulation, - only check the socket type (<code><span class="identifier">SOCK_STREAM</span></code> - or <code><span class="identifier">SOCK_DGRAM</span></code>) if a service - name has been specified. This should allow the emulation to work with - raw sockets. - </li> - <li> - Added a workaround for some broken Windows firewalls that make a socket - appear bound to 0.0.0.0 when it is in fact bound to 127.0.0.1. - </li> - <li> - Applied a fix for reported excessive CPU usage under Solaris (<a href="https://svn.boost.org/trac/boost/ticket/3670">#3670</a>). - </li> - <li> - Added some support for platforms that use older compilers such as g++ - 2.95 (<a href="https://svn.boost.org/trac/boost/ticket/3743">#3743</a>). - </li> - </ul> - </li> - <li> - <span class="library"><a href="/libs/circular_buffer/index.html">Circular Buffer</a>:</span> - <ul> - <li> - Added methods erase_begin(size_type) and erase_end(size_type) with constant - complexity for such types of stored elements which do not need an explicit - destruction e.g. int or double. - </li> - <li> - Similarly changed implementation of the clear() method and the destructor - so their complexity is now constant for such types of stored elements - which do not require an explicit destruction (the complexity for other - types remains linear). - </li> - </ul> - </li> - <li> - <span class="library"><a href="/libs/fusion/index.html">Fusion</a>:</span> - <ul> - <li> - The accumulator is the first argument to the functor of <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">fold</span></code> and <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">accumulate</span></code> - (<a href="https://svn.boost.org/trac/boost/ticket/2355">#2355</a>). - </li> - <li> - Added support for associative iterators and views (<a href="https://svn.boost.org/trac/boost/ticket/3473">#3473</a>). - </li> - </ul> - </li> - <li> - <span class="library"><a href="/libs/graph/index.html">Graph</a>:</span> - <ul> - <li> - Removed old interface to <code><span class="identifier">compressed_sparse_row_graph</span></code>, - making new interface the default. - </li> - </ul> - </li> - <li> - <span class="library"><a href="/libs/integer/index.html">Integer</a>:</span> - <ul> - <li> - Reverted Trunk to release branch state (i.e. a &quot;known good state&quot;). - </li> - <li> - Fixed issues: <a href="https://svn.boost.org/trac/boost/ticket/653">653</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3084">3084</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3177">3177</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3180">3180</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3548">3568</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3657">3657</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2134">2134</a>. - </li> - <li> - Added long long support to <tt>boost::static_log2</tt>, <tt>boost::static_signed_min</tt>, - <tt>boost::static_signed_max</tt>, <tt>boost::static_unsigned_min</tt><tt>boost::static_unsigned_max</tt>, - when available. - </li> - <li> - The argument type and the result type of <tt>boost::static_signed_min</tt> - etc are now typedef'd. Formerly, they were hardcoded as <tt>unsigned - long</tt> and <tt>int</tt> respectively. Please, use the - provided typedefs in new code (and update old code as soon as possible). - </li> - </ul> - </li> - <li> - <span class="library"><a href="/libs/iostreams/index.html">Iostreams</a>:</span> - <ul> - <li> - Fixed many outstanding issues. Thanks to Richard Smith for his work on - this. (<a href="https://svn.boost.org/trac/boost/ticket/3612">#3612</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3311">#3311</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2094">#2094</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3010">#3010</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2894">#2894</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3011">#3011</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3352">#3352</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3505">#3505</a>). - </li> - <li> - For more information see the <a href="/libs/iostreams/doc/release_notes.html">library - release notes</a>. - </li> - </ul> - </li> - <li> - <span class="library"><a href="/libs/program_options/index.html">Program.Options</a>:</span> - <ul> - <li> - Information about option name added to a few exception classes and various - clean ups in exception classes (<a href="https://svn.boost.org/trac/boost/ticket/3423">#3423</a>). - </li> - <li> - Description wordwrapping in presense of default parameters fixed (<a href="https://svn.boost.org/trac/boost/ticket/2613">#2613</a>). - </li> - <li> - Empty value in configuration file is now permitted (<a href="https://svn.boost.org/trac/boost/ticket/1537">#1537</a>). - </li> - <li> - Quotes are no longer stripped from string values (<a href="https://svn.boost.org/trac/boost/ticket/850">#850</a>). - </li> - <li> - Fix endless loop in case of long default arguments (<a href="https://svn.boost.org/trac/boost/ticket/689">#689</a>). - </li> - <li> - Fix compile warning caused by usage of boost::any (<a href="https://svn.boost.org/trac/boost/ticket/2562">#2562</a>). - </li> - <li> - Fix memory bug in example/response_file.cpp (<a href="https://svn.boost.org/trac/boost/ticket/3525">#3525</a>). - </li> - <li> - Most compilation warnings were fixed (<a href="https://svn.boost.org/trac/boost/ticket/3608">#3608</a>). - </li> - <li> - Make column width for description text configurable. (<a href="https://svn.boost.org/trac/boost/ticket/3703">#3703</a>). - </li> - <li> - Add general split function: split_unix() (<a href="https://svn.boost.org/trac/boost/ticket/2561">#2561</a>). - </li> - <li> - Enable open config files from given file name (<a href="https://svn.boost.org/trac/boost/ticket/3264">#3264</a>). - </li> - <li> - Additional flag for required options (<a href="https://svn.boost.org/trac/boost/ticket/2982">#2982</a>). - </li> - <li> - Enable case insensitive style for command line (<a href="https://svn.boost.org/trac/boost/ticket/3498">#3498</a>). - </li> - </ul> - </li> - <li> - <span class="library"><a href="/libs/property_map/index.html">PropertyMap</a>:</span> - <ul> - <li> - Removed old header files (directly in the <code><span class="identifier">boost</span><span class="special">/</span></code> directory); they were deprecated since - 1.40, replaced by headers in <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">property_map</span><span class="special">/</span></code>. - </li> - </ul> - </li> - <li> - <span class="library"><a href="/libs/proto/index.html">Proto</a>:</span> - <ul> - <li> - Fix const correctness issues with <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">flatten</span></code> - and friends (<a href="https://svn.boost.org/trac/boost/ticket/3364">#3364</a>). - </li> - <li> - Accomodate recent change to <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">fold</span></code>, - remove old support for Doxygen and pre-1.35 Fusion (<a href="https://svn.boost.org/trac/boost/ticket/3553">#3553</a>). - </li> - <li> - In binary operations, when one operand has a user-specified domain and - the other has the default domain, the user-specified domain trumps. - </li> - <li> - Fix <code><span class="identifier">BOOST_PROTO_EXTENDS</span></code> - to work with elaborated types. - </li> - <li> - Work around EDG compiler bug with function types and cv-qualification. - </li> - </ul> - </li> - <li> - <span class="library"><a href="/libs/regex/index.html">Regex</a>:</span> - <ul> - <li> - Added support for Functors rather than strings as format expressions. - </li> - <li> - Improved error reporting when throwing exceptions to include better more - relevant information. - </li> - <li> - Improved performance and reduced stack usage of recursive expressions. - </li> - <li> - Fixed tickets <a href="https://svn.boost.org/trac/boost/ticket/2802">#2802</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3425">#3425</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3507">#3507</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3546">#3546</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3631">#3631</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3632">#3632</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3715">#3715</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3718">#3718</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3763">#3763</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3764">#3764</a> - </li> - </ul> - </li> - <li> - <span class="library"><a href="/libs/spirit/index.html">Spirit</a>:</span> - Spirit V2.2, see - the '<a href="/doc/libs/1_42_0/libs/spirit/doc/html/spirit/what_s_new.html">What's - New</a>' section for details. - </li> - <li> - <span class="library"><a href="/libs/unordered/index.html">Unordered</a>:</span> - <ul> - <li> - Support instantiating the containers with incomplete value types. - </li> - <li> - Add <code><span class="identifier">erase_return_void</span></code> - as a temporary workaround for the current <code><span class="identifier">erase</span></code> - which can be inefficient because it has to find the next element to return - an iterator (<a href="http://svn.boost.org/trac/boost/ticket/3693">#3693</a>). - </li> - <li> - Add templated find overload for compatible keys. - </li> - <li> - Improved codegear compatibility. - </li> - <li> - Other minor changes, full details in <a href="/doc/html/unordered/changes.html#unordered.changes.boost_1_42_0">the - changelog</a>. - </li> - </ul> - </li> - <li> - <span class="library"><a href="/libs/xpressive/index.html">Xpressive</a>:</span> - <ul> - <li> - <code><span class="identifier">match_results</span></code> no longer - relies on undefined behavior in <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span></code> - (<a href="https://svn.boost.org/trac/boost/ticket/3278">#3278</a>). - </li> - <li> - Do NOT copy singular iterators (<a href="https://svn.boost.org/trac/boost/ticket/3538">#3538</a>). - </li> - <li> - Eliminate gcc and darwin warnings (<a href="https://svn.boost.org/trac/boost/ticket/3734">#3734</a>). - </li> - </ul> - </li> - </ul> - </div> - <div id="version_1_42_0.compilers_tested"> - <h3><span class="link">Compilers Tested</span></h3> - <p> - Boost's primary test compilers are: - </p> - <ul> - <li> - OS X: - <ul> - <li> - GCC 4.0.1 on Intel Leopard. - </li> - <li> - GCC 4.0.1 on PowerPC Tiger. - </li> - </ul> - </li> - <li> - Linux: - <ul> - <li> - GCC 4.4.1 on Ubuntu Linux. - </li> - <li> - GCC 4.4 on Debian. - </li> - </ul> - </li> - <li> - Windows: - <ul> - <li> - Visual C++ 7.1 SP1, 8.0 SP1 and 9.0 SP1 on Windows XP. - </li> - <li> - Visual C++ 9.0 on Windows 2008, 64 bit. - </li> - <li> - GCC 4.3.3, using Mingw - </li> - </ul> - </li> - <li> - FreeBSD: - <ul> - <li> - GCC 4.2.1, 32 and 64 bit. - </li> - </ul> - </li> - </ul> - <p> - Boost's additional test compilers include: - </p> - <ul> - <li> - Linux: - <ul> - <li> - Intel 10.1 on Red Hat Enterprise Linux. - </li> - <li> - Intel 10.1 on 64 bit Red Hat Enterprise Linux. - </li> - <li> - Intel 11.0 on 32 bit Red Hat Enterprise Linux. - </li> - <li> - Intel 11.0 on 64 bit Red Hat Enterprise Linux. - </li> - <li> - Intel 11.1 on 64 bit Red Hat Enterprise Linux. - </li> - <li> - Intel 11.1 on 64 bit Linux Redhat 5.1 Server. - </li> - <li> - Intel 11.1 on Suse Linux 64 bit. - </li> - <li> - GCC 3.4.6, GCC 4.2.4, GCC 4.3.4 and GCC 4.4.2 on Red Hat Enterprise Linux. - </li> - <li> - GCC 4.3.4 and GCC 4.4.2 with C++0x extensions on Red Hat Enterprise Linux. - </li> - <li> - GCC 4.4.1 on 64 bit Linux. - </li> - <li> - GCC 4.4.3 on Debian unstable. - </li> - <li> - QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise - Linux. - </li> - </ul> - </li> - <li> - OS X: - <ul> - <li> - Intel C++ Compiler 10.1, 11.0, 11.1 on Leopard. - </li> - <li> - GCC 4.0.1 on Intel Leopard. - </li> - <li> - GCC 4.0.1 on PowerPC Tiger. - </li> - </ul> - </li> - <li> - Windows: - <ul> - <li> - Visual C++ 7.1, 8,0, 9,0 on XP. - </li> - <li> - Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0. - </li> - <li> - Visual C++ 10.0 beta 2. - </li> - <li> - Visual C++ 10.0 on 32-bit Vista. - </li> - <li> - Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.1 (2010). - </li> - <li> - Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit. - </li> - <li> - GCC 4.4.1 on Mingw, with and without C++0x extensions. - </li> - </ul> - </li> - <li> - AIX: - <ul> - <li> - IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0, on AIX Version 5.3.0.40. - </li> - </ul> - </li> - <li> - FreeBSD: - <ul> - <li> - GCC 4.2.1 on FreeBSD 7.0, 32 bit and 64 bit. - </li> - </ul> - </li> - <li> - Solaris: - <ul> - <li> - Sun C++ 5.10 on Solaris 5.10. - </li> - </ul> - </li> - </ul> - </div> - <div id="version_1_42_0.acknowledgements"> - <h3><span class="link">Acknowledgements</span></h3> - <p> - <a href="/users/people/beman_dawes.html">Beman Dawes</a>, Eric Niebler, - <a href="/users/people/rene_rivera.html">Rene Rivera</a>, Daniel James - and Vladimir Prus managed this release. - </p> - </div> </div> \ No newline at end of file diff --git a/index.html b/index.html index 7bab1570..7c216867 100644 --- a/index.html +++ b/index.html @@ -109,6 +109,14 @@ http://www.boost.org/development/website_updating.html
      +
    • Version 1.46.1 + + Bug fix release. Updated Libraries: Fusion, Proto, Unordered. + + In Progress
    • Version 1.46.0 November 19th, 2010 16:00 GMT
    • -
    • Version 1.44.0 - - New Libraries: Meta State Machine, Polygon. Updated Libraries: Accumulators, - Asio, Config, Filesystem, Foreach, Fusion, Hash, Iostreams, Math, MPL, Multi-index - Containers, Proto, Regex, Spirit, Thread, TR1, Type Traits, uBLAS, Utility, - Uuid, Wave, Xpressive. Updates for Quickbook and Boostbook. - - August 13th, 2010 17:00 GMT
    + "news-date">November 19th, 2010 16:00 GMT

    More News... (RSS)

    diff --git a/users/download/version_1_46_0.html b/users/download/version_1_46_0.html index c107eb21..6be2624e 100644 --- a/users/download/version_1_46_0.html +++ b/users/download/version_1_46_0.html @@ -902,7 +902,7 @@ From e1ac54bc7b3c7a2f72114609fed525cf436a37da Mon Sep 17 00:00:00 2001 From: Daniel James Date: Mon, 7 Mar 2011 21:08:00 +0000 Subject: [PATCH 08/34] Merge from live [SVN r69630] --- build/index-src.php | 1 + community/review_schedule.html | 62 +++++++++++++++++++++------------- index.html | 1 + 3 files changed, 41 insertions(+), 23 deletions(-) diff --git a/build/index-src.php b/build/index-src.php index c6549b88..7cbf6d2f 100644 --- a/build/index-src.php +++ b/build/index-src.php @@ -17,6 +17,7 @@ $_downloads = new boost_feed(dirname(__FILE__) . '/../feed/downloads.rss', '/use + + + Boost Sandbox + Joel Falcou - @@ -296,23 +300,6 @@ http://www.boost.org/development/website_updating.html April 7, 2011 - April 16, 2011 - - XInt - - Chad Nelson - - - - - - Vladimir Prus - - March 2, 2011 - March 12, 2011 - - Context @@ -389,6 +376,34 @@ http://www.boost.org/development/website_updating.html + + Review Wizard Status Report + + + + Ronald Garcia + + March 4, 2011 + + + Report + + + + XInt + + Chad Nelson + + Vladimir Prus + + March 2, 2011 - March 12, 2011 + + + Ongoing + + Boost 1.46 Released @@ -413,7 +428,7 @@ http://www.boost.org/development/website_updating.html - Ongoing + Pending @@ -442,7 +457,7 @@ http://www.boost.org/development/website_updating.html - Accepted -- Added to SVN + Accepted @@ -960,7 +975,8 @@ http://www.boost.org/development/website_updating.html February 18, 2008 - February 27, 2008 Accepted + "http://lists.boost.org/boost-announce/2008/03/0179.php">Accepted + -- Added in 1.?? diff --git a/index.html b/index.html index 7c216867..f460295e 100644 --- a/index.html +++ b/index.html @@ -11,6 +11,7 @@ + + + + +
    +
    + +
    +
    +
    +
    +
    +
    +

    Version 1.46.1

    +
    + +
    +

    Version 1.46.1

    + +

    In Progress

    + + +
    +
    + + +
    +

    Updated Libraries

    +
      +
    • +
      + Asio: + +
      +
        +
      • +
        + EV_ONESHOT seems to + cause problems on some versions of Mac OS X, with the io_service destructor getting stuck + inside the close() + system call. Changed the kqueue backend to use EV_CLEAR + instead (#5021). +
        +
      • +
      • +
        + Fixed compile failures with some versions of g++ + due to the use of anonymous enums (#4883). +
        +
      • +
      • +
        + Fixed a bug on kqueue-based platforms, where some system calls that + repeatedly fail with EWOULDBLOCK + are not correctly re-registered with kqueue. +
        +
      • +
      • +
        + Changed asio::streambuf to ensure that its internal + pointers are updated correctly after the data has been modified using + std::streambuf member functions. +
        +
      • +
      • +
        + Fixed a bug that prevented the linger socket option from working on + platforms other than Windows. +
        +
      • +
      +
    • +
    • +
      + Fusion: + +
      +
        +
      • +
        + Fix disable_if for + Visual C++ 7.1/8.0 +
        +
      • +
      +
    • +
    • +
      + Filesystem: + +
      +
        +
      • +
        + Fix for STLPort (#5217). +
        +
      • +
      • +
        + PGI large file support +
        +
      • +
      +
    • +
    • +
      + Graph: + +
      + +
    • +
    • +
      + Icl: + +
      +
        +
      • +
        + Intersects for interval_maps and segment_type/element_type (#5207). +
        +
      • +
      • +
        + Fixed some ambiguous calls to functions in boost and std namespaces. +
        +
      • +
      • +
        + Other bug fixes, and documentation fixes. +
        +
      • +
      +
    • +
    • +
      + Math: + +
      +
        +
      • +
        + Several minor bug fixes. +
        +
      • +
      +
    • +
    • +
      + Polygon: + +
      +
        +
      • +
        + Disabled 45-degree booleans optimization. +
        +
      • +
      +
    • +
    • +
      + Proto: + +
      +
        +
      • +
        + Make display_expr copyable + (#5096). +
        +
      • +
      • +
        + Fix const correctness problem in pass_through. +
        +
      • +
      +
    • +
    • +
      + Property Tree: + +
      +
        +
      • +
        + Fix compile error in JSON parser. +
        +
      • +
      +
    • +
    • +
      + Signals2: + +
      +
        +
      • +
        + Fix unused parameter warning. +
        +
      • +
      +
    • +
    • +
      + TR1: + +
      +
        +
      • +
        + Allow specialization of std::tr1::hash. +
        +
      • +
      • +
        + Improved support for Pathscale and Sun compilers. +
        +
      • +
      +
    • +
    • +
      + Unordered: + +
      +
        +
      • +
        + Add missing copy constructors and assignment operators when using rvalue + references (#5119). +
        +
      • +
      +
    • +
    +
    +
    +

    Other changes

    +
      +
    • +
      + Update getting started guide to reflect changes to boost build. +
      +
    • +
    • +
      + In quickbook, workaround optimization bug in g++ 4.4. +
      +
    • +
    +
    +
    +

    Compilers Tested

    +

    + Boost's primary test compilers are: +

    +
      +
    • +
      + Linux: +
      +
        +
      • +
        + GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.1, 4.4.3, 4.4.5, 4.5.2 +
        +
      • +
      • +
        + GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.2 +
        +
      • +
      • +
        + Intel: 10.1, 11.0, 11.1 +
        +
      • +
      • +
        + Clang: 2.8 +
        +
      • +
      • +
        + Pathscale: 3.2 +
        +
      • +
      +
    • +
    • +
      + OS X: +
      +
        +
      • +
        + GCC: 4.0.1, 4.2.1, 4.4 +
        +
      • +
      • +
        + GCC, C++0x mode: 4.4. +
        +
      • +
      • +
        + Intel: 11.1 +
        +
      • +
      +
    • +
    • +
      + Windows: +
      +
        +
      • +
        + Visual C++: 7.1, 8.0, 9.0 and 10.0. +
        +
      • +
      • +
        + GCC, mingw: 4.4.0. +
        +
      • +
      +
    • +
    • +
      + FreeBSD: +
      +
        +
      • +
        + GCC: 4.2.1, 64 bit. +
        +
      • +
      +
    • +
    +

    + Boost's additional test compilers include: +

    +
      +
    • +
      + Linux: +
      +
        +
      • +
        + GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.4.4, 4.4.5, 4.5.2 +
        +
      • +
      • +
        + GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.2 +
        +
      • +
      • +
        + pgCC: 11.2 +
        +
      • +
      • +
        + Intel: 10.1, 11.0, 11.1 +
        +
      • +
      • +
        + PathScale: 3.2, 4.0.8 +
        +
      • +
      • +
        + Visual Age C++: 10.1 +
        +
      • +
      • +
        + Clang from subversion +
        +
      • +
      +
    • +
    • +
      + OS X: +
      +
        +
      • +
        + Intel C++ Compiler: 10.1, 11.0, 11.1 +
        +
      • +
      • +
        + GCC: 4.0.1, 4.2.1, 4.4.4 +
        +
      • +
      • +
        + GCC, C++0x mode: 4.4.4 +
        +
      • +
      • +
        + Clang from subversion, with GNU libstdc++, libc++ and libc++ in C++0x + mode. +
        +
      • +
      +
    • +
    • +
      + Windows: +
      +
        +
      • +
        + Visual C++: 7.1, 9.0, 10.0 +
        +
      • +
      • +
        + Visual C++ with STLport: 9.0 +
        +
      • +
      • +
        + Visual C++, Windows Mobile 5, with STLport: 9.0 +
        +
      • +
      • +
        + GCC, mingw: 4.5.1 +
        +
      • +
      • +
        + GCC, mingw, C++0x mode: 4.5.1 +
        +
      • +
      • +
        + Borland: 6.1.3 (2009), 6.2.1 (2010) +
        +
      • +
      +
    • +
    • +
      + AIX: +
      +
        +
      • +
        + IBM XL C/C++ Enterprise Edition, V11.1.0.0 +
        +
      • +
      +
    • +
    • +
      + Solaris: +
      +
        +
      • +
        + Sun C++: 5.10 +
        +
      • +
      +
    • +
    +
    +
    +

    Acknowledgements

    +

    + Beman Dawes, Eric Niebler, + Rene Rivera, Daniel James + and Vladimir Prus managed this release. +

    +
    +
    +
    +
    +
    +
    + + + +
    +
    +
    + + + + From 11695f7eaaaae15fb19c426de6f8ddf8412992c7 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Wed, 9 Mar 2011 19:20:40 +0000 Subject: [PATCH 23/34] Add release note for iostreams. [SVN r69779] --- feed/downloads-hashes.txt | 2 +- feed/downloads.rss | 25 ++++++++++++++++++++++--- feed/history-hashes.txt | 2 +- feed/history.rss | 25 ++++++++++++++++++++++--- feed/history/boost_1_46_0.qbk | 7 ++++++- feed/news-hashes.txt | 2 +- feed/news.rss | 25 ++++++++++++++++++++++--- index.html | 8 ++++---- users/download/index.html | 2 +- users/download/version_1_46_0.html | 19 +++++++++++++++++++ users/history/index.html | 6 +++--- users/history/version_1_46_0.html | 19 +++++++++++++++++++ users/news/index.html | 6 +++--- users/news/version_1_46_0.html | 19 +++++++++++++++++++ 14 files changed, 143 insertions(+), 24 deletions(-) diff --git a/feed/downloads-hashes.txt b/feed/downloads-hashes.txt index 06d9df48..8eca9a26 100644 --- a/feed/downloads-hashes.txt +++ b/feed/downloads-hashes.txt @@ -1,2 +1,2 @@ -history/boost_1_46_0.qbk,1682fbdf4b35e481d2c16bbb33aede55618b267f950f2d4aed70afe399ea1b26,0ae2f9a1995f28f4a71fadd9a84c009747690c7a29a56b8f3f9a7b76fe29c933 +history/boost_1_46_0.qbk,a3a47e0af538e0c3b611c31efb5e7d0cbd4b27a99f77bc8f01a3c6a0cd17d999,edcd6035c761c9ec8424f8a02c268285a3d66ca9cc7d225e41c890a233afcec6 history/boost_1_46_1.qbk,873fa08dfe42e79d8087316c70e00502dddda1fc364718cc21df946eaba48609,bf8241e6449800c4e6e56abeb8d8e76401b11930f2e168a455effaea71f71df5 diff --git a/feed/downloads.rss b/feed/downloads.rss index 77c7a7bc..0377e24a 100644 --- a/feed/downloads.rss +++ b/feed/downloads.rss @@ -486,9 +486,9 @@ </div> </div>
    Version 1.46.0Mon, 21 Feb 2011 15:36:13 -0500<span class="brief"><span class="purpose"> New Libraries: Icl. Updated Libraries: Array, Asio, Bind, Concept Check, Filesystem, - Fusion, Hash, Iterator, Math, Meta State Machine, Optional, Pool, Program Options, - Proto, Signals, Spirit, Tokenizer, Unordered, Wave. Updated Tools: Boostbook, - Inspect, Quickbook. + Fusion, Hash, Iostreams, Iterator, Math, Meta State Machine, Optional, Pool, + Program Options, Proto, Signals, Spirit, Tokenizer, Unordered, Wave. Updated + Tools: Boostbook, Inspect, Quickbook. </span></span>http://sourceforge.net/projects/boost/files/boost/1.46.0/<div class="description"> @@ -729,6 +729,25 @@ </li> </ul> </li> + <li> + <div> + <span class="library"><a href="/libs/iostreams/index.html">Iostreams</a>:</span> + + </div> + <ul> + <li> + <div> + Use <code><span class="identifier">BOOST_ASSERT</span></code> instead + of <code><span class="identifier">assert</span></code>. + </div> + </li> + <li> + <div> + Fixed flush regression (<a href="https://svn.boost.org/trac/boost/ticket/4590">#4590</a>). + </div> + </li> + </ul> + </li> <li> <div> <span class="library"><a href="/libs/iterator/index.html">Iterator</a>:</span> diff --git a/feed/history-hashes.txt b/feed/history-hashes.txt index 6b494a23..2dd7ce96 100644 --- a/feed/history-hashes.txt +++ b/feed/history-hashes.txt @@ -54,6 +54,6 @@ history/boost_1_42_0.qbk,36765d15b10a22aaa541044a5109f9f4d7366b9f54809f44d55e1d9 history/boost_1_43_0.qbk,242b5e8f79076daf044d3298e84c5e6afce6f075c9ea94a80bb55ad5ee49b45a,26924935e36618f705723425e30a045ff0d06a13ec27645115ad490f744ef9c3 history/boost_1_44_0.qbk,5afefb7a3ac845e5bca131096f43532bc849a358a76fb5b81d1771c859567fe7,38b3363ee32e6ac268e029baaa675b4a6e21cc5ff2abb6310f9cc19d8ccc5ce5 history/boost_1_45_0.qbk,26ea33eb12d21314ae3a4c3eaa2dab5ace7d90929a1a3073b3bda7b99ff3c5b6,efa947fe7348a82a0dd9d03dc01d3f9fef69d42f3e761bc9a6491453b24d43d2 -history/boost_1_46_0.qbk,1682fbdf4b35e481d2c16bbb33aede55618b267f950f2d4aed70afe399ea1b26,0ae2f9a1995f28f4a71fadd9a84c009747690c7a29a56b8f3f9a7b76fe29c933 +history/boost_1_46_0.qbk,a3a47e0af538e0c3b611c31efb5e7d0cbd4b27a99f77bc8f01a3c6a0cd17d999,edcd6035c761c9ec8424f8a02c268285a3d66ca9cc7d225e41c890a233afcec6 history/boost_1_46_1.qbk,873fa08dfe42e79d8087316c70e00502dddda1fc364718cc21df946eaba48609,bf8241e6449800c4e6e56abeb8d8e76401b11930f2e168a455effaea71f71df5 history/unversioned.qbk,2810bfebb2d0739fad2f520df2c386dde484dd28bcd117422b9a95f6df449d8e,8002a54cd484904089f5ece182b03e50d50160c1e1e6b276be44bcf91c8214fb diff --git a/feed/history.rss b/feed/history.rss index c5ed5600..c78c31e1 100644 --- a/feed/history.rss +++ b/feed/history.rss @@ -486,9 +486,9 @@ </div> </div>Version 1.46.0Mon, 21 Feb 2011 15:36:13 -0500<span class="brief"><span class="purpose"> New Libraries: Icl. Updated Libraries: Array, Asio, Bind, Concept Check, Filesystem, - Fusion, Hash, Iterator, Math, Meta State Machine, Optional, Pool, Program Options, - Proto, Signals, Spirit, Tokenizer, Unordered, Wave. Updated Tools: Boostbook, - Inspect, Quickbook. + Fusion, Hash, Iostreams, Iterator, Math, Meta State Machine, Optional, Pool, + Program Options, Proto, Signals, Spirit, Tokenizer, Unordered, Wave. Updated + Tools: Boostbook, Inspect, Quickbook. </span></span>http://sourceforge.net/projects/boost/files/boost/1.46.0/<div class="description"> @@ -729,6 +729,25 @@ </li> </ul> </li> + <li> + <div> + <span class="library"><a href="/libs/iostreams/index.html">Iostreams</a>:</span> + + </div> + <ul> + <li> + <div> + Use <code><span class="identifier">BOOST_ASSERT</span></code> instead + of <code><span class="identifier">assert</span></code>. + </div> + </li> + <li> + <div> + Fixed flush regression (<a href="https://svn.boost.org/trac/boost/ticket/4590">#4590</a>). + </div> + </li> + </ul> + </li> <li> <div> <span class="library"><a href="/libs/iterator/index.html">Iterator</a>:</span> diff --git a/feed/history/boost_1_46_0.qbk b/feed/history/boost_1_46_0.qbk index aebc67fb..f99aa126 100644 --- a/feed/history/boost_1_46_0.qbk +++ b/feed/history/boost_1_46_0.qbk @@ -4,7 +4,7 @@ [purpose New Libraries: Icl. Updated Libraries: Array, Asio, Bind, Concept Check, - Filesystem, Fusion, Hash, + Filesystem, Fusion, Hash, Iostreams, Iterator, Math, Meta State Machine, Optional, Pool, Program Options, Proto, Signals, Spirit, Tokenizer, Unordered, Wave. @@ -104,6 +104,11 @@ ([@https://svn.boost.org/trac/boost/ticket/4756 #4756]). * Avoid `-Wconversion` warnings. +* [phrase library..[@/libs/iostreams/index.html Iostreams]:] + * Use `BOOST_ASSERT` instead of `assert`. + * Fixed flush regression + ([@https://svn.boost.org/trac/boost/ticket/4590 #4590]). + * [phrase library..[@/libs/iterator/index.html Iterator]:] * fixed problem with `implicit_cast` ([@https://svn.boost.org/trac/boost/ticket/3645 #3645]) diff --git a/feed/news-hashes.txt b/feed/news-hashes.txt index d3d85728..cf399e34 100644 --- a/feed/news-hashes.txt +++ b/feed/news-hashes.txt @@ -1,5 +1,5 @@ history/boost_1_43_0.qbk,242b5e8f79076daf044d3298e84c5e6afce6f075c9ea94a80bb55ad5ee49b45a,26924935e36618f705723425e30a045ff0d06a13ec27645115ad490f744ef9c3 history/boost_1_44_0.qbk,5afefb7a3ac845e5bca131096f43532bc849a358a76fb5b81d1771c859567fe7,38b3363ee32e6ac268e029baaa675b4a6e21cc5ff2abb6310f9cc19d8ccc5ce5 history/boost_1_45_0.qbk,26ea33eb12d21314ae3a4c3eaa2dab5ace7d90929a1a3073b3bda7b99ff3c5b6,efa947fe7348a82a0dd9d03dc01d3f9fef69d42f3e761bc9a6491453b24d43d2 -history/boost_1_46_0.qbk,1682fbdf4b35e481d2c16bbb33aede55618b267f950f2d4aed70afe399ea1b26,0ae2f9a1995f28f4a71fadd9a84c009747690c7a29a56b8f3f9a7b76fe29c933 +history/boost_1_46_0.qbk,a3a47e0af538e0c3b611c31efb5e7d0cbd4b27a99f77bc8f01a3c6a0cd17d999,edcd6035c761c9ec8424f8a02c268285a3d66ca9cc7d225e41c890a233afcec6 history/boost_1_46_1.qbk,873fa08dfe42e79d8087316c70e00502dddda1fc364718cc21df946eaba48609,bf8241e6449800c4e6e56abeb8d8e76401b11930f2e168a455effaea71f71df5 diff --git a/feed/news.rss b/feed/news.rss index 92f35947..6a6ce920 100644 --- a/feed/news.rss +++ b/feed/news.rss @@ -486,9 +486,9 @@ </div> </div>Version 1.46.0Mon, 21 Feb 2011 15:36:13 -0500<span class="brief"><span class="purpose"> New Libraries: Icl. Updated Libraries: Array, Asio, Bind, Concept Check, Filesystem, - Fusion, Hash, Iterator, Math, Meta State Machine, Optional, Pool, Program Options, - Proto, Signals, Spirit, Tokenizer, Unordered, Wave. Updated Tools: Boostbook, - Inspect, Quickbook. + Fusion, Hash, Iostreams, Iterator, Math, Meta State Machine, Optional, Pool, + Program Options, Proto, Signals, Spirit, Tokenizer, Unordered, Wave. Updated + Tools: Boostbook, Inspect, Quickbook. </span></span>http://sourceforge.net/projects/boost/files/boost/1.46.0/<div class="description"> @@ -729,6 +729,25 @@ </li> </ul> </li> + <li> + <div> + <span class="library"><a href="/libs/iostreams/index.html">Iostreams</a>:</span> + + </div> + <ul> + <li> + <div> + Use <code><span class="identifier">BOOST_ASSERT</span></code> instead + of <code><span class="identifier">assert</span></code>. + </div> + </li> + <li> + <div> + Fixed flush regression (<a href="https://svn.boost.org/trac/boost/ticket/4590">#4590</a>). + </div> + </li> + </ul> + </li> <li> <div> <span class="library"><a href="/libs/iterator/index.html">Iterator</a>:</span> diff --git a/index.html b/index.html index 8c26e771..a45fb4d4 100644 --- a/index.html +++ b/index.html @@ -124,9 +124,9 @@ http://www.boost.org/development/website_updating.html New Libraries: Icl. Updated Libraries: Array, Asio, Bind, Concept Check, Filesystem, - Fusion, Hash, Iterator, Math, Meta State Machine, Optional, Pool, Program Options, - Proto, Signals, Spirit, Tokenizer, Unordered, Wave. Updated Tools: Boostbook, - Inspect, Quickbook. + Fusion, Hash, Iostreams, Iterator, Math, Meta State Machine, Optional, Pool, + Program Options, Proto, Signals, Spirit, Tokenizer, Unordered, Wave. Updated + Tools: Boostbook, Inspect, Quickbook. February 21st, 2011 20:36 GMT @@ -162,7 +162,7 @@ http://www.boost.org/development/website_updating.html