2
0
mirror of https://github.com/boostorg/website.git synced 2026-01-29 08:02:20 +00:00

Try to avoid spurious changes to the rss feeds due to quickbook changes.

[SVN r64013]
This commit is contained in:
Daniel James
2010-07-14 18:17:57 +00:00
parent 98e582fa88
commit 060ee2edb4
7 changed files with 433 additions and 265 deletions

View File

@@ -7,8 +7,82 @@ import re
import optparse
import time
import xml.dom.minidom
import sys
import os.path
import hashlib
import codecs
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)):
with open(hash_file) as file:
for line in file:
(qbk_file, qbk_hash, rss_hash) = line.strip().split(',')
self.qbk_hashes[qbk_file] = (qbk_hash, rss_hash)
def save_hashes(self, hash_file):
with open(hash_file, "w") as file:
for qbk_file in sorted(self.qbk_hashes.keys()):
file.write(qbk_file + "," + ",".join(self.qbk_hashes[qbk_file]) + "\n")
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 = xml_file.replace('.xml', '.qbk')
if(not os.path.isfile(qbk_file)):
return (None, None)
with open(qbk_file) as file:
return (qbk_file, hashlib.sha256(file.read()).hexdigest())
class BoostBook2RSS:
def __init__(self):
@@ -16,6 +90,7 @@ class BoostBook2RSS:
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' )
@@ -49,29 +124,50 @@ class BoostBook2RSS:
'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 = xml.dom.minidom.parse(bb)
item = self.x(article.documentElement)
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:
try:
last_modified = item.getElementsByTagName('pubDate')[0]
last_modified = " ".join(
t.nodeValue for t in last_modified.childNodes
if t.nodeType == t.TEXT_NODE)
items.append([
time.mktime(time.strptime(
article.documentElement.getAttribute('last-revision'),
time.mktime(time.strptime(last_modified,
'%a, %d %b %Y %H:%M:%S %Z')),
item
item,
bb
])
except:
items.append([time.time(),item])
items.append([time.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:
@@ -145,6 +241,7 @@ class BoostBook2RSS:
else:
description_xhtml.appendChild(item)
body_item = body_item.nextSibling
return self.new_node(
'item',
title_xhtml,

View File

@@ -15,6 +15,7 @@ feature.feature title : : free ;
feature.feature uri : : free ;
feature.feature count : : free ;
feature.feature cwd : : free ;
feature.feature update-file : : free ;
rule get ( property : properties * )
{
@@ -36,11 +37,13 @@ rule rss ( targets * : sources * : properties * )
= % ;
PYTHON on $(targets)
= [ property.select <python.interpreter> : $(properties) ] ;
UPDATE_FILE on $(targets)
= [ get <update-file> : $(properties) ] ;
}
actions rss
{
"$(PYTHON:G=:E=python)" "$(BB2RSS)" "--channel-title=$(TITLE)" "--channel-link=$(LINK)" "--count=$(COUNT)" "--output=$(<)" "$(>)"
"$(PYTHON:G=:E=python)" "$(BB2RSS)" "--channel-title=$(TITLE)" "--channel-link=$(LINK)" "--count=$(COUNT)" "--update-file=$(UPDATE_FILE)" "--output=$(<)" "$(>)"
}
rule glob-rss ( p + )
@@ -65,6 +68,7 @@ make downloads.rss : [ glob-rss history/boost_1_43_0 downloads/* ]
<count>5
<location>$(CWD)
<cwd>$(CWD)
<update-file>downloads-hashes.txt
;
make history.rss : [ glob-rss history/* ]
@@ -73,6 +77,7 @@ make history.rss : [ glob-rss history/* ]
<uri>"http://www.boost.org/feed/history.rss"
<location>$(CWD)
<cwd>$(CWD)
<update-file>history-hashes.txt
;
make news.rss
@@ -87,4 +92,5 @@ make news.rss
<count>5
<location>$(CWD)
<cwd>$(CWD)
<update-file>news-hashes.txt
;

View File

@@ -0,0 +1,2 @@
downloads/bjam_3_1_18.qbk,3fa0f751328cdf3b835878df36f729822e62276f246a097610cc00d71a552b6f,7bfe3ed40a63c66b92b69dac5087c46a23977d2b90fd21fdcbc94947ea4a1166
history/boost_1_43_0.qbk,242b5e8f79076daf044d3298e84c5e6afce6f075c9ea94a80bb55ad5ee49b45a,26924935e36618f705723425e30a045ff0d06a13ec27645115ad490f744ef9c3

56
feed/history-hashes.txt Normal file
View File

@@ -0,0 +1,56 @@
history/boost_1_10_3.qbk,9240764403ca3c325db3cdf4c0066b5e7b47ba5ba823a186a025dc5a3a1a787f,9a2cfd227461b9e809e311178decc5f317ab473b5e72454ccb4f8531b8ab5a66
history/boost_1_10_4.qbk,0689082a973500ec14b00028b1e5f2a60648c64c307eb4364f2558253153ce9e,74e7a2ed82e40bfdeebca7e7198266bb7f04d7288ec97f5522e1cbff4f5b7237
history/boost_1_11_0.qbk,67382ac34c7c0e451e0e3bba2879e9bdcc12e33972a93fc69b60d6b3bc24dce7,07c1bc1d88ef77d15ae13ef24757201dd3033af49ab723c66b68c00eefa7b931
history/boost_1_11_1.qbk,413c4c979d4d80c6614be34a5a3325029cae62907e22ca3e535d70ed88db38a6,f2abf0cacaec346d9ae8f3a9371a37d8c02254df20b5f883930645d843a5abe4
history/boost_1_11_2.qbk,a4293ce0c46af865584bccf3f7354d82ee97c51866b43d34b4718cc1ce0f0725,8456870430969fa017687746fc779d672e12e0afd8e3e2be84ae39bc868afca1
history/boost_1_12_0.qbk,2a2dff5a3eef04b47230d85bfb8eddb103fdc1c15cc246df7f8a44d0a7e40e1e,2d9de129320c56c266092237627b51237e3762fea9a027f4b771ca62a6fdba84
history/boost_1_13_0.qbk,21f0a59c0d4435c7ad05767a6ccacec9d3afa77acdbf03b83284eb7bc9d30d91,f2ed76e90260dccb4a32ff172fa1fb90264fbfa9d7e33f1eb97726937dcb5ebb
history/boost_1_14_0.qbk,fab0872295832be003520f4107b36fc362fcabcfebbd81144218d5725799a72a,bcc75b1d0fdda11f545f03298c4007d9970cf2894f6149fd9d69dcd27cf06c00
history/boost_1_14_1.qbk,34c5c8b487b4d5118c94b850700be76d61b732020e03c74b595efbc1a20b304a,bf962fbda02e87f11c7a400fb57c980b4d9813083493f41a42e3db074e99fcc9
history/boost_1_14_2.qbk,23845765a7583d95f17645c8fc1e6b75e38aba0bc549ebfa45e0e3d1c432392e,31eeef2f6d348dee6e8e2873eb45acaba4a33e71d9dc7c55eec6989f19e74afa
history/boost_1_14_3.qbk,84994a759139b0855659f85d84ec8e26b63f0d570aef1edc1a1b09aa89236b04,a74b9dc8b6f0b6797ac56b75cb74b31e813e36b2ecaee0c444154086f43805ca
history/boost_1_15_0.qbk,64a74adf448937845c73f2927acd5320da956960c77a32620f9b1b4e764b9bc0,3d162a9c3908547bc3a286c2777f9efbc20a447dafaebc4fb9339709200967f6
history/boost_1_15_1.qbk,d9030c305a156f2c0c6e59a80ec2ebd4df88cd93cf7d11a95ec8ec5770c4e93d,e314efbae110dd64b15db20060d829278dc17f9614be9d9e3c771f2d92c1098e
history/boost_1_16_0.qbk,58953d476076c6d8d27316cb0414223f8a1b956cbf998dd40becc5a288ba9301,ebed71e04c4f2ea41625b1ec3bfb6ffd2a365300e4393105c6429ef64d5cedde
history/boost_1_16_1.qbk,e9cfe78093c2462b4166e779f2740fe6589eb5214ea9f3298416f25d3e1e0395,bd79d606846fe583b1340996014bee1bb2cdd9214fc3c9c5d66ae3d1b7bc10ad
history/boost_1_17_0.qbk,6438f2276c790ee013de72047c723747f088ce6757e1ea137383d08f2c6369bc,fc53015ccd60ab8f66628742f059ce687402cee1340f4afd665f906982451577
history/boost_1_18_0.qbk,f925c43a9967532c6bfb609999cf9932ca4a3523cac323225abdd99caed66ad8,33fd07359c57c51641c78809cf28f826eca14b560ce726f8133a2935ad5f117c
history/boost_1_18_1.qbk,ac4d5eb8957d6034bfbfc0ef57489871c5112914a3dd521259b2b3a2420cc835,44cb7c2a88ef9255bdb4efe7042d7f5882b0622ce825fa08e59ed06ea287e279
history/boost_1_18_2.qbk,2778a5854208d54f004f4203f39fcdad9ee9718392cf968d835438d3975b0012,5fc9e7685da619e5df09d8df4edf97f2607db0566151ebf8076e10947dfe6ea6
history/boost_1_18_3.qbk,1eef2eefbe325964ad040dc16940aa00798617196807c1e423c05a8579c95f88,77effd7092648dc513a630f6cb57ed533f42612beac29410d93c998e527c4a73
history/boost_1_19_0.qbk,5b95dbd6c984ee0dad1a981b0e850319ca2a7573c2bb85516bb50e689a7908f0,5a6ff21def74e85819dd460e1e3020011682f0bfad8f797387fc57b92a66c0ca
history/boost_1_20_0.qbk,cbbee6d4143caa4d06a378502c0a99bc92bba0092a87aa96f54712554ee02382,af3e877522abdbef56d0e39bc3880eee7ea3060a1697309b26b0c931d3d4c616
history/boost_1_20_1.qbk,5fdd753b16f712313c71ef2e9475f81af47ef92aea3b25646224722d7ae144a2,695bd43ab0d8d137aacbf9763a12676c2cf264791d882cb4ee20d0ae13497a91
history/boost_1_20_2.qbk,6fe8c0b5d027e6337fd652736f00c1d6d3784faea7918db9d7d344d0df88e7fa,f5d0588994320737a6e9fcdd3b6181abe33c6fa290195fb0be216a1f743daae7
history/boost_1_21_0.qbk,c4fcb70496be7d8f351c2e66c05f6619308b1b3587503365da891721b137e54a,e554bb024b9761a1df2669a209d12622c7137bdab4551fb28715df9c9e661eaf
history/boost_1_21_1.qbk,ea216b3c0896abdb2979b773c5ac64f4203b0a33842e146ea35a7eed44187859,bb8c15b4e16a6eb299ed4059daa64123726cd7fd0de845351b6d589f90cb7d17
history/boost_1_21_2.qbk,4e39a6e9abf9f3cadefa2f0118c16b3248eca21f3a6e82092d8107fecb88c5f7,b2170c6ba85f2cdd9d987d9d66043e0141d813578808f379874baa60bcdfb312
history/boost_1_22_0.qbk,fed6f6b97207175851e441540f057eef41aa2fde9698fbe7ca3876d715c3d020,4d212ff5c4f3e37ef013628a32fd79a0e5e7de9e3cd82c06b3529e128a04c2ed
history/boost_1_23_0.qbk,ce6ba3ffc607f8385943ff3ec6da9d7801df760330a586ec2e17462440f7e3de,477eeb738f991286054054039869b0662cfeeb41675bf99e6fb19a706f2145de
history/boost_1_24_0.qbk,99e21a2b4afa220f7f1fb76e0d8daa6b33d477a13f4003bcb4e6362e42f276b4,e1f83436b7fdc9877b3bdc5a82a93b8e34af9697cd9be1906af310ea50f9be85
history/boost_1_25_0.qbk,122dfbf8228a9e6426d1f3802202a991c9cae26112d2eb01df2c687884a8102d,103fa0c4c926351489732999dbbeb85b45dfec4016ae51ad999b52f7ddd58555
history/boost_1_25_1.qbk,d1bd9c0d14d8ecfda7772eacdd77770326ba94772b9ec9da21ccfbc308af5b77,3fd767b7e089cf91660546a6c0eddf92e4e695816891d3fc87d0601698cbcc4f
history/boost_1_26_0.qbk,5e09d51ba46a956dd5cc6670ce86a3c0dc1bef222b19f4ae636b6ed60abdc742,7025054be7efb776ced6c93fd7e3501ed38a28c13dfac448aabce8bfc46ad3b8
history/boost_1_27_0.qbk,ff4159154e1b4e7a3d515731df06ebab5624c4b3d08f9ec1f79451b18269fdb4,a9683c30baf9e31eef7d0d75cdc2eac079b5069c4685f4168199438c30144fa6
history/boost_1_28_0.qbk,cddd7dab0104f8b3151fc8cce324dff0c34135b7e2313f1382b782b9b2231138,4b525cf5fa0f6e6ae6949b026816cceae04eaaee25d3cdd009493683053c776b
history/boost_1_29_0.qbk,0e836ed411a1f5a53e75e860018b2b2ca4ab1cc3ad8544146cf0f4807b3485fe,e2c904c19eb64fdae9aa43395c65bda51eb0a99c367649ccce744902bd71bb5b
history/boost_1_30_0.qbk,a1d9822b63927c494baadbfbe3001f964d54920294fafe2b3b7a7419d3248342,deeb8423aeeb2f9ab9593134529af465dfdb8f129b3c1daa6a0a249a5baeb15d
history/boost_1_30_1.qbk,b86adefd51df94cc6c0e7fb539c63b72a3bb3cf2a2ee9922b6707030e9667d20,f941941f8b984f9e3afaab20deee8954404a279aef4da577c60e9de0716ce410
history/boost_1_30_2.qbk,ab06fe46b37714a58c55f0b6c8ef635dcde6e1fb6e8b682956275cf18c5ea693,3c1da34aec9d4d052c0167c862013d6accde2a8ff54508ca2aa9c24ed58be4ac
history/boost_1_31_0.qbk,e5c9ba807efecce7adfe2b79e85803c4a78cf15b5cc2bf6157fdb0428cbf7ad3,d339c9b8311acd31c589a9c807bfdd8b32d4ee0f1e3302efc2bc0c779868b823
history/boost_1_32_0.qbk,ad4cd6d8b407a169bb25d752798f13d9ff3df4f5bd8293f653685accd76ad65e,ba66bddfa22bb7ec12ecfd0bea568ffe6060ff60ab1f7610fc3f02a1d4efc50d
history/boost_1_33_0.qbk,47447e0da8cad3d75ef31b26067399b7e3be6ae87353773b383832efd48ac2b1,1c585fc312c3bcda5513007b305fe58144d62af9825b0b2b727071dd62fe708f
history/boost_1_33_1.qbk,1d923fdf5782719b57d9449abd36ba6940d5a48e9e206242a6700ece736597c3,6dd8234275971105f1764df912f49549fabe1ee4635728d6ab85d202d01cce40
history/boost_1_34_0.qbk,79ad2eba7d4b10547f5f8f6d1be055639cdc661ac47ecc1b49f3fc53fa9a996d,5490a672df11abac04dd53f8465af893a36444080f6931b6a73cb004737a435e
history/boost_1_34_1.qbk,8de6f8182e7f39fbe19f8a406c6e5943e65b3d8bf3b5785f5e987b748ba84dba,dea50dec707051d13b88b6ef83ce522703ffd136585ceb2a388f8cfd9f3900c6
history/boost_1_35_0.qbk,57d63e7992a16556d9d10eb55122139150842e5c82db4240672637d500571aa6,e40b1698c1d92bfca56285bdb9d38dd9688f4cea47f469a61aca534864caabae
history/boost_1_36_0.qbk,926eef99602cf999fc1e5af98c8d3d8f1e76d36a5472bda0507e3bcb5d3c7bf8,89d1b4969e1d7061a3bcb562e365d367f049e0473eb4ec1e909bfcd928abd9c9
history/boost_1_37_0.qbk,3736c373799bf0bd6711b254b2e954aabf520b004f79173a50ab44410164bb72,5e7a3d8e15b622bc9dd81334c978ca919c59ac38738155ab8dfc96da05fc5f78
history/boost_1_38_0.qbk,0dc18e6d36a36e650b7bdef522c7bb499ca65090e8300e52cb9f7c0bd246a417,158b0cf4d9c12d3505bac822292c11b062ceda908933e8d741b2ce2390d8f815
history/boost_1_39_0.qbk,9b8b61a593e7434a14b6a4849e9752a950bb948216b0ecaa21adaef847db0e75,c710f5c506f8db0cb45357e5d439dda886f7982b76e69ac72459202f1d3f33be
history/boost_1_40_0.qbk,1cbd35d1bbf7fba519658d0465006dc3ccde0b96240f3ce081cc2235babd7861,f7facd471c80ed74249b82ad0f71bf1aba7f152e3966069b3ea1e51cbb44649b
history/boost_1_41_0.qbk,826427c5daba1dc00aea14a2c57c6141dcdba4fc383c1c4616beb57d0c79aee5,4e919f57c667fec2e599d48c69b30bb2f10a7dd1d8ba551efbac83131c0ffa34
history/boost_1_42_0.qbk,36765d15b10a22aaa541044a5109f9f4d7366b9f54809f44d55e1d9d162a1537,0c0c2b687cdb2ef6680aad359a9f3eb4fb002fe14363041906ec585663211521
history/boost_1_43_0.qbk,242b5e8f79076daf044d3298e84c5e6afce6f075c9ea94a80bb55ad5ee49b45a,26924935e36618f705723425e30a045ff0d06a13ec27645115ad490f744ef9c3
history/boost_1_44_0.qbk,8703bf409b028ec71c228151f1cbd95780bf6b432664cea158e43285475fabae,60e9e7fe0be8be143f19994011674a8cfcb8a0bf7273af4413cb3bcb3928441b
history/unversioned.qbk,2810bfebb2d0739fad2f520df2c386dde484dd28bcd117422b9a95f6df449d8e,8002a54cd484904089f5ece182b03e50d50160c1e1e6b276be44bcf91c8214fb

View File

@@ -6,7 +6,7 @@
<description/>
<language>en-us</language>
<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)</copyright>
<item><title>Version 1.44.0</title><pubDate>$Date: 2010/07/14 08:17:45 $</pubDate><boostbook:purpose>&lt;span class=&quot;brief&quot;&gt;&lt;span class=&quot;purpose&quot;&gt;
<item><title>Version 1.44.0</title><pubDate>$Date: 2010/07/14 17:52:06 $</pubDate><boostbook:purpose>&lt;span class=&quot;brief&quot;&gt;&lt;span class=&quot;purpose&quot;&gt;
New Libraries: Updated Libraries:
&lt;/span&gt;&lt;/span&gt;</boostbook:purpose><description>&lt;div class=&quot;description&quot;&gt;
@@ -15,147 +15,148 @@
&lt;h3&gt;&lt;span class=&quot;link&quot;&gt;New Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/msm/index.html&quot;&gt;Meta State Machine&lt;/a&gt;:&lt;/span&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/msm/index.html&quot;&gt;Meta State Machine&lt;/a&gt;:&lt;/span&gt;
High-performance
expressive UML2 finite state machines, from Christophe Henry
&lt;/li&gt;
expressive UML2 finite state machines, from Christophe Henry
&lt;/li&gt;
&lt;li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/polygon/index.html&quot;&gt;Polygon&lt;/a&gt;:&lt;/span&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/polygon/index.html&quot;&gt;Polygon&lt;/a&gt;:&lt;/span&gt;
Booleans/clipping,
resizing/offsetting and more for planar polygons with integral coordinates,
from Lucanus Simonson.
&lt;/li&gt;
resizing/offsetting and more for planar polygons with integral coordinates,
from Lucanus Simonson.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;version_1_44_0.updated_libraries&quot;&gt;
&lt;h3&gt;&lt;span class=&quot;link&quot;&gt;Updated Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/iostreams/index.html&quot;&gt;Iostreams&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
Several fixes for file descriptors class, including a breaking change
to the constructors and &lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;open&lt;/span&gt;&lt;/code&gt;
methods for &lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;file_descriptor&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;file_descriptor_source&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;file_descriptor_sink&lt;/span&gt;&lt;/code&gt;.
See &lt;a href=&quot;/libs/iostreams/doc/classes/file_descriptor.html&quot;&gt;the
documentation&lt;/a&gt; for details. The old methods are still available
if you define &lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;BOOST_IOSTREAMS_USE_DEPRECATED&lt;/span&gt;&lt;/code&gt;
(&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3323&quot;&gt;#3323&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3517&quot;&gt;#3517&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4335&quot;&gt;#4335&lt;/a&gt;).
&lt;/li&gt;
&lt;li&gt;
Fix several issues with compression and decompression (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2318&quot;&gt;#2318&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4091&quot;&gt;#4091&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3348&quot;&gt;#3348&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2783&quot;&gt;#2783&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/1579&quot;&gt;#1579&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3853&quot;&gt;#3853&lt;/a&gt;).
&lt;/li&gt;
&lt;li&gt;
And a load more miscellaneous fixes (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3851&quot;&gt;#3851&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3279&quot;&gt;#3279&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3689&quot;&gt;#3689&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2356&quot;&gt;#2356&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2996&quot;&gt;#2996&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4102&quot;&gt;#4102&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2998&quot;&gt;#2998&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/1612&quot;&gt;#1612&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2325&quot;&gt;#2325&lt;/a&gt;).
&lt;/li&gt;
&lt;li&gt;
Almost all of this is by Steven Watanabe. For more detail see the &lt;a href=&quot;/libs/iostreams/doc/release_notes.html&quot;&gt;release notes&lt;/a&gt;.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/iostreams/index.html&quot;&gt;Iostreams&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
Several fixes for file descriptors class, including a breaking change
to the constructors and &lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;open&lt;/span&gt;&lt;/code&gt;
methods for &lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;file_descriptor&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;file_descriptor_source&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;file_descriptor_sink&lt;/span&gt;&lt;/code&gt;.
See &lt;a href=&quot;/libs/iostreams/doc/classes/file_descriptor.html&quot;&gt;the
documentation&lt;/a&gt; for details. The old methods are still available
if you define &lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;BOOST_IOSTREAMS_USE_DEPRECATED&lt;/span&gt;&lt;/code&gt;
(&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3323&quot;&gt;#3323&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3517&quot;&gt;#3517&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4335&quot;&gt;#4335&lt;/a&gt;).
&lt;/li&gt;
&lt;li&gt;
Fix several issues with compression and decompression (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2318&quot;&gt;#2318&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4091&quot;&gt;#4091&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3348&quot;&gt;#3348&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2783&quot;&gt;#2783&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/1579&quot;&gt;#1579&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3853&quot;&gt;#3853&lt;/a&gt;).
&lt;/li&gt;
&lt;li&gt;
And a load more miscellaneous fixes (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3851&quot;&gt;#3851&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3279&quot;&gt;#3279&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3689&quot;&gt;#3689&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2356&quot;&gt;#2356&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2996&quot;&gt;#2996&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4102&quot;&gt;#4102&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2998&quot;&gt;#2998&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/1612&quot;&gt;#1612&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2325&quot;&gt;#2325&lt;/a&gt;).
&lt;/li&gt;
&lt;li&gt;
Almost all of this is by Steven Watanabe. For more detail see the
&lt;a href=&quot;/libs/iostreams/doc/release_notes.html&quot;&gt;release notes&lt;/a&gt;.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/thread/index.html&quot;&gt;Thread&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
Fixes for miscellaneous trac issues (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2501&quot;&gt;#2501&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4341&quot;&gt;#4341&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4363&quot;&gt;#4363&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3760&quot;&gt;#3760&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3761&quot;&gt;#3761&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3611&quot;&gt;#3611&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2955&quot;&gt;#2955&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4071&quot;&gt;#4071&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3195&quot;&gt;#3195&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3097&quot;&gt;#3097&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2874&quot;&gt;#2874&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4316&quot;&gt;#4316&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4317&quot;&gt;#4317&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4322&quot;&gt;#4322&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3244&quot;&gt;#3244&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2747&quot;&gt;#2747&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4305&quot;&gt;#4305&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3195&quot;&gt;#3195&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2704&quot;&gt;#2704&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2293&quot;&gt;#2293&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/868&quot;&gt;#868&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2918&quot;&gt;#2918&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4238&quot;&gt;#4238&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3269&quot;&gt;#3269&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3178&quot;&gt;#3178&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3195&quot;&gt;#3195&lt;/a&gt;).
&lt;/li&gt;
&lt;li&gt;
Fixes for other miscellaneous issues (remove warnings, support newer
compilers, etc.)
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/thread/index.html&quot;&gt;Thread&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
Fixes for miscellaneous trac issues (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2501&quot;&gt;#2501&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4341&quot;&gt;#4341&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4363&quot;&gt;#4363&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3760&quot;&gt;#3760&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3761&quot;&gt;#3761&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3611&quot;&gt;#3611&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2955&quot;&gt;#2955&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4071&quot;&gt;#4071&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3195&quot;&gt;#3195&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3097&quot;&gt;#3097&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2874&quot;&gt;#2874&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4316&quot;&gt;#4316&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4317&quot;&gt;#4317&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4322&quot;&gt;#4322&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3244&quot;&gt;#3244&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2747&quot;&gt;#2747&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4305&quot;&gt;#4305&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3195&quot;&gt;#3195&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2704&quot;&gt;#2704&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2293&quot;&gt;#2293&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/868&quot;&gt;#868&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2918&quot;&gt;#2918&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4238&quot;&gt;#4238&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3269&quot;&gt;#3269&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3178&quot;&gt;#3178&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3195&quot;&gt;#3195&lt;/a&gt;).
&lt;/li&gt;
&lt;li&gt;
Fixes for other miscellaneous issues (remove warnings, support newer
compilers, etc.)
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/numeric/ublas/index.html&quot;&gt;uBLAS&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
New assignment operators to feed in vectors and matrices in many nice
ways (&lt;a href=&quot;http://svn.boost.org/trac/boost/ticket/4034&quot;&gt;#4034&lt;/a&gt;).
Thank you Nasos
&lt;/li&gt;
&lt;li&gt;
New doxygen-based &lt;a href=&quot;/libs/numeric/ublas/doc/html/index.html&quot;&gt;documentation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
Enable arithmetic operators (+,-,*,/) to work between ublas containers
of std::complex and integral types (&lt;a href=&quot;http://svn/boost/org/trac/boost/ticket/3649&quot;&gt;#3649&lt;/a&gt;).
Thank you Neal
&lt;/li&gt;
&lt;li&gt;
Removed unused variables in functional.hpp (&lt;a href=&quot;http://svn.boost.org/trac/boost/ticket/4377&quot;&gt;#4377&lt;/a&gt;).
Thank you Marco
&lt;/li&gt;
&lt;li&gt;
New matrix_indirect and vector_indirect views to access elements with
a matrix or vector of indices
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/numeric/ublas/index.html&quot;&gt;uBLAS&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
New assignment operators to feed in vectors and matrices in many
nice ways (&lt;a href=&quot;http://svn.boost.org/trac/boost/ticket/4034&quot;&gt;#4034&lt;/a&gt;).
Thank you Nasos
&lt;/li&gt;
&lt;li&gt;
New doxygen-based &lt;a href=&quot;/libs/numeric/ublas/doc/html/index.html&quot;&gt;documentation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
Enable arithmetic operators (+,-,*,/) to work between ublas containers
of std::complex and integral types (&lt;a href=&quot;http://svn/boost/org/trac/boost/ticket/3649&quot;&gt;#3649&lt;/a&gt;).
Thank you Neal
&lt;/li&gt;
&lt;li&gt;
Removed unused variables in functional.hpp (&lt;a href=&quot;http://svn.boost.org/trac/boost/ticket/4377&quot;&gt;#4377&lt;/a&gt;).
Thank you Marco
&lt;/li&gt;
&lt;li&gt;
New matrix_indirect and vector_indirect views to access elements
with a matrix or vector of indices
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;version_1_44_0.updated_tools&quot;&gt;
&lt;h3&gt;&lt;span class=&quot;link&quot;&gt;Updated tools&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/tools/quickbook/index.html&quot;&gt;Quickbook&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
Use the cygwin 1.7 API for better path handling.
&lt;/li&gt;
&lt;li&gt;
Improved boostbook generation.
&lt;/li&gt;
&lt;li&gt;
Tweak the grammar to clean up some edge cases.
&lt;/li&gt;
&lt;li&gt;
For more detail see the &lt;a href=&quot;/doc/libs/1_44_0/doc/html/quickbook/change_log.html#quickbook.change_log.version_1_5_2___boost_1_44_0&quot;&gt;change
log&lt;/a&gt;.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/tools/quickbook/index.html&quot;&gt;Quickbook&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
Use the cygwin 1.7 API for better path handling.
&lt;/li&gt;
&lt;li&gt;
Improved boostbook generation.
&lt;/li&gt;
&lt;li&gt;
Tweak the grammar to clean up some edge cases.
&lt;/li&gt;
&lt;li&gt;
For more detail see the &lt;a href=&quot;/doc/libs/1_44_0/doc/html/quickbook/change_log.html#quickbook.change_log.version_1_5_2___boost_1_44_0&quot;&gt;change
log&lt;/a&gt;.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;version_1_44_0.compilers_tested&quot;&gt;
@@ -165,16 +166,16 @@
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;TODO&lt;/em&gt;
&lt;/li&gt;
&lt;em&gt;TODO&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Boost's additional test compilers include:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;TODO&lt;/em&gt;
&lt;/li&gt;
&lt;em&gt;TODO&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;version_1_44_0.acknowledgements&quot;&gt;

5
feed/news-hashes.txt Normal file
View File

@@ -0,0 +1,5 @@
history/boost_1_40_0.qbk,1cbd35d1bbf7fba519658d0465006dc3ccde0b96240f3ce081cc2235babd7861,f7facd471c80ed74249b82ad0f71bf1aba7f152e3966069b3ea1e51cbb44649b
history/boost_1_41_0.qbk,826427c5daba1dc00aea14a2c57c6141dcdba4fc383c1c4616beb57d0c79aee5,4e919f57c667fec2e599d48c69b30bb2f10a7dd1d8ba551efbac83131c0ffa34
history/boost_1_42_0.qbk,36765d15b10a22aaa541044a5109f9f4d7366b9f54809f44d55e1d9d162a1537,0c0c2b687cdb2ef6680aad359a9f3eb4fb002fe14363041906ec585663211521
history/boost_1_43_0.qbk,242b5e8f79076daf044d3298e84c5e6afce6f075c9ea94a80bb55ad5ee49b45a,26924935e36618f705723425e30a045ff0d06a13ec27645115ad490f744ef9c3
history/boost_1_44_0.qbk,8703bf409b028ec71c228151f1cbd95780bf6b432664cea158e43285475fabae,60e9e7fe0be8be143f19994011674a8cfcb8a0bf7273af4413cb3bcb3928441b

View File

@@ -6,7 +6,7 @@
<description/>
<language>en-us</language>
<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)</copyright>
<item><title>Version 1.44.0</title><pubDate>$Date: 2010/07/14 08:17:45 $</pubDate><boostbook:purpose>&lt;span class=&quot;brief&quot;&gt;&lt;span class=&quot;purpose&quot;&gt;
<item><title>Version 1.44.0</title><pubDate>$Date: 2010/07/14 17:52:06 $</pubDate><boostbook:purpose>&lt;span class=&quot;brief&quot;&gt;&lt;span class=&quot;purpose&quot;&gt;
New Libraries: Updated Libraries:
&lt;/span&gt;&lt;/span&gt;</boostbook:purpose><description>&lt;div class=&quot;description&quot;&gt;
@@ -15,147 +15,148 @@
&lt;h3&gt;&lt;span class=&quot;link&quot;&gt;New Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/msm/index.html&quot;&gt;Meta State Machine&lt;/a&gt;:&lt;/span&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/msm/index.html&quot;&gt;Meta State Machine&lt;/a&gt;:&lt;/span&gt;
High-performance
expressive UML2 finite state machines, from Christophe Henry
&lt;/li&gt;
expressive UML2 finite state machines, from Christophe Henry
&lt;/li&gt;
&lt;li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/polygon/index.html&quot;&gt;Polygon&lt;/a&gt;:&lt;/span&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/polygon/index.html&quot;&gt;Polygon&lt;/a&gt;:&lt;/span&gt;
Booleans/clipping,
resizing/offsetting and more for planar polygons with integral coordinates,
from Lucanus Simonson.
&lt;/li&gt;
resizing/offsetting and more for planar polygons with integral coordinates,
from Lucanus Simonson.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;version_1_44_0.updated_libraries&quot;&gt;
&lt;h3&gt;&lt;span class=&quot;link&quot;&gt;Updated Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/iostreams/index.html&quot;&gt;Iostreams&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
Several fixes for file descriptors class, including a breaking change
to the constructors and &lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;open&lt;/span&gt;&lt;/code&gt;
methods for &lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;file_descriptor&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;file_descriptor_source&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;file_descriptor_sink&lt;/span&gt;&lt;/code&gt;.
See &lt;a href=&quot;/libs/iostreams/doc/classes/file_descriptor.html&quot;&gt;the
documentation&lt;/a&gt; for details. The old methods are still available
if you define &lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;BOOST_IOSTREAMS_USE_DEPRECATED&lt;/span&gt;&lt;/code&gt;
(&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3323&quot;&gt;#3323&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3517&quot;&gt;#3517&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4335&quot;&gt;#4335&lt;/a&gt;).
&lt;/li&gt;
&lt;li&gt;
Fix several issues with compression and decompression (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2318&quot;&gt;#2318&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4091&quot;&gt;#4091&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3348&quot;&gt;#3348&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2783&quot;&gt;#2783&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/1579&quot;&gt;#1579&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3853&quot;&gt;#3853&lt;/a&gt;).
&lt;/li&gt;
&lt;li&gt;
And a load more miscellaneous fixes (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3851&quot;&gt;#3851&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3279&quot;&gt;#3279&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3689&quot;&gt;#3689&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2356&quot;&gt;#2356&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2996&quot;&gt;#2996&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4102&quot;&gt;#4102&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2998&quot;&gt;#2998&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/1612&quot;&gt;#1612&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2325&quot;&gt;#2325&lt;/a&gt;).
&lt;/li&gt;
&lt;li&gt;
Almost all of this is by Steven Watanabe. For more detail see the &lt;a href=&quot;/libs/iostreams/doc/release_notes.html&quot;&gt;release notes&lt;/a&gt;.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/iostreams/index.html&quot;&gt;Iostreams&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
Several fixes for file descriptors class, including a breaking change
to the constructors and &lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;open&lt;/span&gt;&lt;/code&gt;
methods for &lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;file_descriptor&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;file_descriptor_source&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;file_descriptor_sink&lt;/span&gt;&lt;/code&gt;.
See &lt;a href=&quot;/libs/iostreams/doc/classes/file_descriptor.html&quot;&gt;the
documentation&lt;/a&gt; for details. The old methods are still available
if you define &lt;code&gt;&lt;span class=&quot;identifier&quot;&gt;BOOST_IOSTREAMS_USE_DEPRECATED&lt;/span&gt;&lt;/code&gt;
(&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3323&quot;&gt;#3323&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3517&quot;&gt;#3517&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4335&quot;&gt;#4335&lt;/a&gt;).
&lt;/li&gt;
&lt;li&gt;
Fix several issues with compression and decompression (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2318&quot;&gt;#2318&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4091&quot;&gt;#4091&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3348&quot;&gt;#3348&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2783&quot;&gt;#2783&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/1579&quot;&gt;#1579&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3853&quot;&gt;#3853&lt;/a&gt;).
&lt;/li&gt;
&lt;li&gt;
And a load more miscellaneous fixes (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3851&quot;&gt;#3851&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3279&quot;&gt;#3279&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3689&quot;&gt;#3689&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2356&quot;&gt;#2356&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2996&quot;&gt;#2996&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4102&quot;&gt;#4102&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2998&quot;&gt;#2998&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/1612&quot;&gt;#1612&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2325&quot;&gt;#2325&lt;/a&gt;).
&lt;/li&gt;
&lt;li&gt;
Almost all of this is by Steven Watanabe. For more detail see the
&lt;a href=&quot;/libs/iostreams/doc/release_notes.html&quot;&gt;release notes&lt;/a&gt;.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/thread/index.html&quot;&gt;Thread&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
Fixes for miscellaneous trac issues (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2501&quot;&gt;#2501&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4341&quot;&gt;#4341&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4363&quot;&gt;#4363&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3760&quot;&gt;#3760&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3761&quot;&gt;#3761&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3611&quot;&gt;#3611&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2955&quot;&gt;#2955&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4071&quot;&gt;#4071&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3195&quot;&gt;#3195&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3097&quot;&gt;#3097&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2874&quot;&gt;#2874&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4316&quot;&gt;#4316&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4317&quot;&gt;#4317&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4322&quot;&gt;#4322&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3244&quot;&gt;#3244&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2747&quot;&gt;#2747&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4305&quot;&gt;#4305&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3195&quot;&gt;#3195&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2704&quot;&gt;#2704&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2293&quot;&gt;#2293&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/868&quot;&gt;#868&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2918&quot;&gt;#2918&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4238&quot;&gt;#4238&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3269&quot;&gt;#3269&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3178&quot;&gt;#3178&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3195&quot;&gt;#3195&lt;/a&gt;).
&lt;/li&gt;
&lt;li&gt;
Fixes for other miscellaneous issues (remove warnings, support newer
compilers, etc.)
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/thread/index.html&quot;&gt;Thread&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
Fixes for miscellaneous trac issues (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2501&quot;&gt;#2501&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4341&quot;&gt;#4341&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4363&quot;&gt;#4363&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3760&quot;&gt;#3760&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3761&quot;&gt;#3761&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3611&quot;&gt;#3611&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2955&quot;&gt;#2955&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4071&quot;&gt;#4071&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3195&quot;&gt;#3195&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3097&quot;&gt;#3097&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2874&quot;&gt;#2874&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4316&quot;&gt;#4316&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4317&quot;&gt;#4317&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4322&quot;&gt;#4322&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3244&quot;&gt;#3244&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2747&quot;&gt;#2747&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4305&quot;&gt;#4305&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3195&quot;&gt;#3195&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2704&quot;&gt;#2704&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2293&quot;&gt;#2293&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/868&quot;&gt;#868&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2918&quot;&gt;#2918&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/4238&quot;&gt;#4238&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3269&quot;&gt;#3269&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3178&quot;&gt;#3178&lt;/a&gt;,
&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3195&quot;&gt;#3195&lt;/a&gt;).
&lt;/li&gt;
&lt;li&gt;
Fixes for other miscellaneous issues (remove warnings, support newer
compilers, etc.)
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/numeric/ublas/index.html&quot;&gt;uBLAS&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
New assignment operators to feed in vectors and matrices in many nice
ways (&lt;a href=&quot;http://svn.boost.org/trac/boost/ticket/4034&quot;&gt;#4034&lt;/a&gt;).
Thank you Nasos
&lt;/li&gt;
&lt;li&gt;
New doxygen-based &lt;a href=&quot;/libs/numeric/ublas/doc/html/index.html&quot;&gt;documentation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
Enable arithmetic operators (+,-,*,/) to work between ublas containers
of std::complex and integral types (&lt;a href=&quot;http://svn/boost/org/trac/boost/ticket/3649&quot;&gt;#3649&lt;/a&gt;).
Thank you Neal
&lt;/li&gt;
&lt;li&gt;
Removed unused variables in functional.hpp (&lt;a href=&quot;http://svn.boost.org/trac/boost/ticket/4377&quot;&gt;#4377&lt;/a&gt;).
Thank you Marco
&lt;/li&gt;
&lt;li&gt;
New matrix_indirect and vector_indirect views to access elements with
a matrix or vector of indices
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/libs/numeric/ublas/index.html&quot;&gt;uBLAS&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
New assignment operators to feed in vectors and matrices in many
nice ways (&lt;a href=&quot;http://svn.boost.org/trac/boost/ticket/4034&quot;&gt;#4034&lt;/a&gt;).
Thank you Nasos
&lt;/li&gt;
&lt;li&gt;
New doxygen-based &lt;a href=&quot;/libs/numeric/ublas/doc/html/index.html&quot;&gt;documentation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
Enable arithmetic operators (+,-,*,/) to work between ublas containers
of std::complex and integral types (&lt;a href=&quot;http://svn/boost/org/trac/boost/ticket/3649&quot;&gt;#3649&lt;/a&gt;).
Thank you Neal
&lt;/li&gt;
&lt;li&gt;
Removed unused variables in functional.hpp (&lt;a href=&quot;http://svn.boost.org/trac/boost/ticket/4377&quot;&gt;#4377&lt;/a&gt;).
Thank you Marco
&lt;/li&gt;
&lt;li&gt;
New matrix_indirect and vector_indirect views to access elements
with a matrix or vector of indices
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;version_1_44_0.updated_tools&quot;&gt;
&lt;h3&gt;&lt;span class=&quot;link&quot;&gt;Updated tools&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/tools/quickbook/index.html&quot;&gt;Quickbook&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
Use the cygwin 1.7 API for better path handling.
&lt;/li&gt;
&lt;li&gt;
Improved boostbook generation.
&lt;/li&gt;
&lt;li&gt;
Tweak the grammar to clean up some edge cases.
&lt;/li&gt;
&lt;li&gt;
For more detail see the &lt;a href=&quot;/doc/libs/1_44_0/doc/html/quickbook/change_log.html#quickbook.change_log.version_1_5_2___boost_1_44_0&quot;&gt;change
log&lt;/a&gt;.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;span class=&quot;library&quot;&gt;&lt;a href=&quot;/tools/quickbook/index.html&quot;&gt;Quickbook&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
Use the cygwin 1.7 API for better path handling.
&lt;/li&gt;
&lt;li&gt;
Improved boostbook generation.
&lt;/li&gt;
&lt;li&gt;
Tweak the grammar to clean up some edge cases.
&lt;/li&gt;
&lt;li&gt;
For more detail see the &lt;a href=&quot;/doc/libs/1_44_0/doc/html/quickbook/change_log.html#quickbook.change_log.version_1_5_2___boost_1_44_0&quot;&gt;change
log&lt;/a&gt;.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;version_1_44_0.compilers_tested&quot;&gt;
@@ -165,16 +166,16 @@
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;TODO&lt;/em&gt;
&lt;/li&gt;
&lt;em&gt;TODO&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Boost's additional test compilers include:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;TODO&lt;/em&gt;
&lt;/li&gt;
&lt;em&gt;TODO&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;version_1_44_0.acknowledgements&quot;&gt;