diff --git a/feed/bbook2rss.py b/feed/bbook2rss.py index 1ef19ec7..40e472bc 100755 --- a/feed/bbook2rss.py +++ b/feed/bbook2rss.py @@ -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, diff --git a/feed/build.jam b/feed/build.jam index 88bba26c..35928b64 100644 --- a/feed/build.jam +++ b/feed/build.jam @@ -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 : $(properties) ] ; + UPDATE_FILE on $(targets) + = [ get : $(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/* ] 5 $(CWD) $(CWD) + downloads-hashes.txt ; make history.rss : [ glob-rss history/* ] @@ -73,6 +77,7 @@ make history.rss : [ glob-rss history/* ] "http://www.boost.org/feed/history.rss" $(CWD) $(CWD) + history-hashes.txt ; make news.rss @@ -87,4 +92,5 @@ make news.rss 5 $(CWD) $(CWD) + news-hashes.txt ; diff --git a/feed/downloads-hashes.txt b/feed/downloads-hashes.txt new file mode 100644 index 00000000..5b4d5161 --- /dev/null +++ b/feed/downloads-hashes.txt @@ -0,0 +1,2 @@ +downloads/bjam_3_1_18.qbk,3fa0f751328cdf3b835878df36f729822e62276f246a097610cc00d71a552b6f,7bfe3ed40a63c66b92b69dac5087c46a23977d2b90fd21fdcbc94947ea4a1166 +history/boost_1_43_0.qbk,242b5e8f79076daf044d3298e84c5e6afce6f075c9ea94a80bb55ad5ee49b45a,26924935e36618f705723425e30a045ff0d06a13ec27645115ad490f744ef9c3 diff --git a/feed/history-hashes.txt b/feed/history-hashes.txt new file mode 100644 index 00000000..3acacaa0 --- /dev/null +++ b/feed/history-hashes.txt @@ -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 diff --git a/feed/history.rss b/feed/history.rss index 36a4c670..9aa1d152 100644 --- a/feed/history.rss +++ b/feed/history.rss @@ -6,7 +6,7 @@ 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.44.0$Date: 2010/07/14 08:17:45 $<span class="brief"><span class="purpose"> + Version 1.44.0$Date: 2010/07/14 17:52:06 $<span class="brief"><span class="purpose"> New Libraries: Updated Libraries: </span></span><div class="description"> @@ -15,147 +15,148 @@ <h3><span class="link">New Libraries</span></h3> <ul> <li> - <span class="library"><a href="/libs/msm/index.html">Meta State Machine</a>:</span> + <span class="library"><a href="/libs/msm/index.html">Meta State Machine</a>:</span> High-performance - expressive UML2 finite state machines, from Christophe Henry - </li> + expressive UML2 finite state machines, from Christophe Henry + </li> <li> - <span class="library"><a href="/libs/polygon/index.html">Polygon</a>:</span> + <span class="library"><a href="/libs/polygon/index.html">Polygon</a>:</span> Booleans/clipping, - resizing/offsetting and more for planar polygons with integral coordinates, - from Lucanus Simonson. - </li> + resizing/offsetting and more for planar polygons with integral coordinates, + from Lucanus Simonson. + </li> </ul> </div> <div id="version_1_44_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> - <span class="library"><a href="/libs/iostreams/index.html">Iostreams</a>:</span> - <ul> - <li> - Several fixes for file descriptors class, including a breaking change - to the constructors and <code><span class="identifier">open</span></code> - methods for <code><span class="identifier">file_descriptor</span></code>, - <code><span class="identifier">file_descriptor_source</span></code> - and <code><span class="identifier">file_descriptor_sink</span></code>. - See <a href="/libs/iostreams/doc/classes/file_descriptor.html">the - documentation</a> for details. The old methods are still available - if you define <code><span class="identifier">BOOST_IOSTREAMS_USE_DEPRECATED</span></code> - (<a href="https://svn.boost.org/trac/boost/ticket/3323">#3323</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3517">#3517</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4335">#4335</a>). - </li> - <li> - Fix several issues with compression and decompression (<a href="https://svn.boost.org/trac/boost/ticket/2318">#2318</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4091">#4091</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3348">#3348</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2783">#2783</a>, - <a href="https://svn.boost.org/trac/boost/ticket/1579">#1579</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3853">#3853</a>). - </li> - <li> - And a load more miscellaneous fixes (<a href="https://svn.boost.org/trac/boost/ticket/3851">#3851</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3279">#3279</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3689">#3689</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2356">#2356</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2996">#2996</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4102">#4102</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2998">#2998</a>, - <a href="https://svn.boost.org/trac/boost/ticket/1612">#1612</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2325">#2325</a>). - </li> - <li> - Almost all of this is by Steven Watanabe. For more detail see the <a href="/libs/iostreams/doc/release_notes.html">release notes</a>. - </li> - </ul> - </li> + <span class="library"><a href="/libs/iostreams/index.html">Iostreams</a>:</span> + <ul> + <li> + Several fixes for file descriptors class, including a breaking change + to the constructors and <code><span class="identifier">open</span></code> + methods for <code><span class="identifier">file_descriptor</span></code>, + <code><span class="identifier">file_descriptor_source</span></code> + and <code><span class="identifier">file_descriptor_sink</span></code>. + See <a href="/libs/iostreams/doc/classes/file_descriptor.html">the + documentation</a> for details. The old methods are still available + if you define <code><span class="identifier">BOOST_IOSTREAMS_USE_DEPRECATED</span></code> + (<a href="https://svn.boost.org/trac/boost/ticket/3323">#3323</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3517">#3517</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4335">#4335</a>). + </li> + <li> + Fix several issues with compression and decompression (<a href="https://svn.boost.org/trac/boost/ticket/2318">#2318</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4091">#4091</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3348">#3348</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2783">#2783</a>, + <a href="https://svn.boost.org/trac/boost/ticket/1579">#1579</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3853">#3853</a>). + </li> + <li> + And a load more miscellaneous fixes (<a href="https://svn.boost.org/trac/boost/ticket/3851">#3851</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3279">#3279</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3689">#3689</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2356">#2356</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2996">#2996</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4102">#4102</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2998">#2998</a>, + <a href="https://svn.boost.org/trac/boost/ticket/1612">#1612</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2325">#2325</a>). + </li> + <li> + Almost all of this is by Steven Watanabe. For more detail see the + <a href="/libs/iostreams/doc/release_notes.html">release notes</a>. + </li> + </ul> + </li> <li> - <span class="library"><a href="/libs/thread/index.html">Thread</a>:</span> - <ul> - <li> - Fixes for miscellaneous trac issues (<a href="https://svn.boost.org/trac/boost/ticket/2501">#2501</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4341">#4341</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4363">#4363</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3760">#3760</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3761">#3761</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3611">#3611</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2955">#2955</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4071">#4071</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3195">#3195</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3097">#3097</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2874">#2874</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4316">#4316</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4317">#4317</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4322">#4322</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3244">#3244</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2747">#2747</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4305">#4305</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3195">#3195</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2704">#2704</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2293">#2293</a>, - <a href="https://svn.boost.org/trac/boost/ticket/868">#868</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2918">#2918</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4238">#4238</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3269">#3269</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3178">#3178</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3195">#3195</a>). - </li> - <li> - Fixes for other miscellaneous issues (remove warnings, support newer - compilers, etc.) - </li> - </ul> - </li> + <span class="library"><a href="/libs/thread/index.html">Thread</a>:</span> + <ul> + <li> + Fixes for miscellaneous trac issues (<a href="https://svn.boost.org/trac/boost/ticket/2501">#2501</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4341">#4341</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4363">#4363</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3760">#3760</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3761">#3761</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3611">#3611</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2955">#2955</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4071">#4071</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3195">#3195</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3097">#3097</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2874">#2874</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4316">#4316</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4317">#4317</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4322">#4322</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3244">#3244</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2747">#2747</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4305">#4305</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3195">#3195</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2704">#2704</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2293">#2293</a>, + <a href="https://svn.boost.org/trac/boost/ticket/868">#868</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2918">#2918</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4238">#4238</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3269">#3269</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3178">#3178</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3195">#3195</a>). + </li> + <li> + Fixes for other miscellaneous issues (remove warnings, support newer + compilers, etc.) + </li> + </ul> + </li> <li> - <span class="library"><a href="/libs/numeric/ublas/index.html">uBLAS</a>:</span> - <ul> - <li> - New assignment operators to feed in vectors and matrices in many nice - ways (<a href="http://svn.boost.org/trac/boost/ticket/4034">#4034</a>). - Thank you Nasos - </li> - <li> - New doxygen-based <a href="/libs/numeric/ublas/doc/html/index.html">documentation</a> - </li> - <li> - Enable arithmetic operators (+,-,*,/) to work between ublas containers - of std::complex and integral types (<a href="http://svn/boost/org/trac/boost/ticket/3649">#3649</a>). - Thank you Neal - </li> - <li> - Removed unused variables in functional.hpp (<a href="http://svn.boost.org/trac/boost/ticket/4377">#4377</a>). - Thank you Marco - </li> - <li> - New matrix_indirect and vector_indirect views to access elements with - a matrix or vector of indices - </li> - </ul> - </li> + <span class="library"><a href="/libs/numeric/ublas/index.html">uBLAS</a>:</span> + <ul> + <li> + New assignment operators to feed in vectors and matrices in many + nice ways (<a href="http://svn.boost.org/trac/boost/ticket/4034">#4034</a>). + Thank you Nasos + </li> + <li> + New doxygen-based <a href="/libs/numeric/ublas/doc/html/index.html">documentation</a> + </li> + <li> + Enable arithmetic operators (+,-,*,/) to work between ublas containers + of std::complex and integral types (<a href="http://svn/boost/org/trac/boost/ticket/3649">#3649</a>). + Thank you Neal + </li> + <li> + Removed unused variables in functional.hpp (<a href="http://svn.boost.org/trac/boost/ticket/4377">#4377</a>). + Thank you Marco + </li> + <li> + New matrix_indirect and vector_indirect views to access elements + with a matrix or vector of indices + </li> + </ul> + </li> </ul> </div> <div id="version_1_44_0.updated_tools"> <h3><span class="link">Updated tools</span></h3> <ul> <li> - <span class="library"><a href="/tools/quickbook/index.html">Quickbook</a>:</span> - <ul> - <li> - Use the cygwin 1.7 API for better path handling. - </li> - <li> - Improved boostbook generation. - </li> - <li> - Tweak the grammar to clean up some edge cases. - </li> - <li> - For more detail see the <a href="/doc/libs/1_44_0/doc/html/quickbook/change_log.html#quickbook.change_log.version_1_5_2___boost_1_44_0">change - log</a>. - </li> - </ul> - </li> + <span class="library"><a href="/tools/quickbook/index.html">Quickbook</a>:</span> + <ul> + <li> + Use the cygwin 1.7 API for better path handling. + </li> + <li> + Improved boostbook generation. + </li> + <li> + Tweak the grammar to clean up some edge cases. + </li> + <li> + For more detail see the <a href="/doc/libs/1_44_0/doc/html/quickbook/change_log.html#quickbook.change_log.version_1_5_2___boost_1_44_0">change + log</a>. + </li> + </ul> + </li> </ul> </div> <div id="version_1_44_0.compilers_tested"> @@ -165,16 +166,16 @@ </p> <ul> <li> - <em>TODO</em> - </li> + <em>TODO</em> + </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> - <em>TODO</em> - </li> + <em>TODO</em> + </li> </ul> </div> <div id="version_1_44_0.acknowledgements"> diff --git a/feed/news-hashes.txt b/feed/news-hashes.txt new file mode 100644 index 00000000..0a23d0c0 --- /dev/null +++ b/feed/news-hashes.txt @@ -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 diff --git a/feed/news.rss b/feed/news.rss index 734b15fc..b062d14e 100644 --- a/feed/news.rss +++ b/feed/news.rss @@ -6,7 +6,7 @@ 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.44.0$Date: 2010/07/14 08:17:45 $<span class="brief"><span class="purpose"> + Version 1.44.0$Date: 2010/07/14 17:52:06 $<span class="brief"><span class="purpose"> New Libraries: Updated Libraries: </span></span><div class="description"> @@ -15,147 +15,148 @@ <h3><span class="link">New Libraries</span></h3> <ul> <li> - <span class="library"><a href="/libs/msm/index.html">Meta State Machine</a>:</span> + <span class="library"><a href="/libs/msm/index.html">Meta State Machine</a>:</span> High-performance - expressive UML2 finite state machines, from Christophe Henry - </li> + expressive UML2 finite state machines, from Christophe Henry + </li> <li> - <span class="library"><a href="/libs/polygon/index.html">Polygon</a>:</span> + <span class="library"><a href="/libs/polygon/index.html">Polygon</a>:</span> Booleans/clipping, - resizing/offsetting and more for planar polygons with integral coordinates, - from Lucanus Simonson. - </li> + resizing/offsetting and more for planar polygons with integral coordinates, + from Lucanus Simonson. + </li> </ul> </div> <div id="version_1_44_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> - <span class="library"><a href="/libs/iostreams/index.html">Iostreams</a>:</span> - <ul> - <li> - Several fixes for file descriptors class, including a breaking change - to the constructors and <code><span class="identifier">open</span></code> - methods for <code><span class="identifier">file_descriptor</span></code>, - <code><span class="identifier">file_descriptor_source</span></code> - and <code><span class="identifier">file_descriptor_sink</span></code>. - See <a href="/libs/iostreams/doc/classes/file_descriptor.html">the - documentation</a> for details. The old methods are still available - if you define <code><span class="identifier">BOOST_IOSTREAMS_USE_DEPRECATED</span></code> - (<a href="https://svn.boost.org/trac/boost/ticket/3323">#3323</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3517">#3517</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4335">#4335</a>). - </li> - <li> - Fix several issues with compression and decompression (<a href="https://svn.boost.org/trac/boost/ticket/2318">#2318</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4091">#4091</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3348">#3348</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2783">#2783</a>, - <a href="https://svn.boost.org/trac/boost/ticket/1579">#1579</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3853">#3853</a>). - </li> - <li> - And a load more miscellaneous fixes (<a href="https://svn.boost.org/trac/boost/ticket/3851">#3851</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3279">#3279</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3689">#3689</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2356">#2356</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2996">#2996</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4102">#4102</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2998">#2998</a>, - <a href="https://svn.boost.org/trac/boost/ticket/1612">#1612</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2325">#2325</a>). - </li> - <li> - Almost all of this is by Steven Watanabe. For more detail see the <a href="/libs/iostreams/doc/release_notes.html">release notes</a>. - </li> - </ul> - </li> + <span class="library"><a href="/libs/iostreams/index.html">Iostreams</a>:</span> + <ul> + <li> + Several fixes for file descriptors class, including a breaking change + to the constructors and <code><span class="identifier">open</span></code> + methods for <code><span class="identifier">file_descriptor</span></code>, + <code><span class="identifier">file_descriptor_source</span></code> + and <code><span class="identifier">file_descriptor_sink</span></code>. + See <a href="/libs/iostreams/doc/classes/file_descriptor.html">the + documentation</a> for details. The old methods are still available + if you define <code><span class="identifier">BOOST_IOSTREAMS_USE_DEPRECATED</span></code> + (<a href="https://svn.boost.org/trac/boost/ticket/3323">#3323</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3517">#3517</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4335">#4335</a>). + </li> + <li> + Fix several issues with compression and decompression (<a href="https://svn.boost.org/trac/boost/ticket/2318">#2318</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4091">#4091</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3348">#3348</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2783">#2783</a>, + <a href="https://svn.boost.org/trac/boost/ticket/1579">#1579</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3853">#3853</a>). + </li> + <li> + And a load more miscellaneous fixes (<a href="https://svn.boost.org/trac/boost/ticket/3851">#3851</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3279">#3279</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3689">#3689</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2356">#2356</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2996">#2996</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4102">#4102</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2998">#2998</a>, + <a href="https://svn.boost.org/trac/boost/ticket/1612">#1612</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2325">#2325</a>). + </li> + <li> + Almost all of this is by Steven Watanabe. For more detail see the + <a href="/libs/iostreams/doc/release_notes.html">release notes</a>. + </li> + </ul> + </li> <li> - <span class="library"><a href="/libs/thread/index.html">Thread</a>:</span> - <ul> - <li> - Fixes for miscellaneous trac issues (<a href="https://svn.boost.org/trac/boost/ticket/2501">#2501</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4341">#4341</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4363">#4363</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3760">#3760</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3761">#3761</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3611">#3611</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2955">#2955</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4071">#4071</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3195">#3195</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3097">#3097</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2874">#2874</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4316">#4316</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4317">#4317</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4322">#4322</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3244">#3244</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2747">#2747</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4305">#4305</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3195">#3195</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2704">#2704</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2293">#2293</a>, - <a href="https://svn.boost.org/trac/boost/ticket/868">#868</a>, - <a href="https://svn.boost.org/trac/boost/ticket/2918">#2918</a>, - <a href="https://svn.boost.org/trac/boost/ticket/4238">#4238</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3269">#3269</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3178">#3178</a>, - <a href="https://svn.boost.org/trac/boost/ticket/3195">#3195</a>). - </li> - <li> - Fixes for other miscellaneous issues (remove warnings, support newer - compilers, etc.) - </li> - </ul> - </li> + <span class="library"><a href="/libs/thread/index.html">Thread</a>:</span> + <ul> + <li> + Fixes for miscellaneous trac issues (<a href="https://svn.boost.org/trac/boost/ticket/2501">#2501</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4341">#4341</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4363">#4363</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3760">#3760</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3761">#3761</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3611">#3611</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2955">#2955</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4071">#4071</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3195">#3195</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3097">#3097</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2874">#2874</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4316">#4316</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4317">#4317</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4322">#4322</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3244">#3244</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2747">#2747</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4305">#4305</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3195">#3195</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2704">#2704</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2293">#2293</a>, + <a href="https://svn.boost.org/trac/boost/ticket/868">#868</a>, + <a href="https://svn.boost.org/trac/boost/ticket/2918">#2918</a>, + <a href="https://svn.boost.org/trac/boost/ticket/4238">#4238</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3269">#3269</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3178">#3178</a>, + <a href="https://svn.boost.org/trac/boost/ticket/3195">#3195</a>). + </li> + <li> + Fixes for other miscellaneous issues (remove warnings, support newer + compilers, etc.) + </li> + </ul> + </li> <li> - <span class="library"><a href="/libs/numeric/ublas/index.html">uBLAS</a>:</span> - <ul> - <li> - New assignment operators to feed in vectors and matrices in many nice - ways (<a href="http://svn.boost.org/trac/boost/ticket/4034">#4034</a>). - Thank you Nasos - </li> - <li> - New doxygen-based <a href="/libs/numeric/ublas/doc/html/index.html">documentation</a> - </li> - <li> - Enable arithmetic operators (+,-,*,/) to work between ublas containers - of std::complex and integral types (<a href="http://svn/boost/org/trac/boost/ticket/3649">#3649</a>). - Thank you Neal - </li> - <li> - Removed unused variables in functional.hpp (<a href="http://svn.boost.org/trac/boost/ticket/4377">#4377</a>). - Thank you Marco - </li> - <li> - New matrix_indirect and vector_indirect views to access elements with - a matrix or vector of indices - </li> - </ul> - </li> + <span class="library"><a href="/libs/numeric/ublas/index.html">uBLAS</a>:</span> + <ul> + <li> + New assignment operators to feed in vectors and matrices in many + nice ways (<a href="http://svn.boost.org/trac/boost/ticket/4034">#4034</a>). + Thank you Nasos + </li> + <li> + New doxygen-based <a href="/libs/numeric/ublas/doc/html/index.html">documentation</a> + </li> + <li> + Enable arithmetic operators (+,-,*,/) to work between ublas containers + of std::complex and integral types (<a href="http://svn/boost/org/trac/boost/ticket/3649">#3649</a>). + Thank you Neal + </li> + <li> + Removed unused variables in functional.hpp (<a href="http://svn.boost.org/trac/boost/ticket/4377">#4377</a>). + Thank you Marco + </li> + <li> + New matrix_indirect and vector_indirect views to access elements + with a matrix or vector of indices + </li> + </ul> + </li> </ul> </div> <div id="version_1_44_0.updated_tools"> <h3><span class="link">Updated tools</span></h3> <ul> <li> - <span class="library"><a href="/tools/quickbook/index.html">Quickbook</a>:</span> - <ul> - <li> - Use the cygwin 1.7 API for better path handling. - </li> - <li> - Improved boostbook generation. - </li> - <li> - Tweak the grammar to clean up some edge cases. - </li> - <li> - For more detail see the <a href="/doc/libs/1_44_0/doc/html/quickbook/change_log.html#quickbook.change_log.version_1_5_2___boost_1_44_0">change - log</a>. - </li> - </ul> - </li> + <span class="library"><a href="/tools/quickbook/index.html">Quickbook</a>:</span> + <ul> + <li> + Use the cygwin 1.7 API for better path handling. + </li> + <li> + Improved boostbook generation. + </li> + <li> + Tweak the grammar to clean up some edge cases. + </li> + <li> + For more detail see the <a href="/doc/libs/1_44_0/doc/html/quickbook/change_log.html#quickbook.change_log.version_1_5_2___boost_1_44_0">change + log</a>. + </li> + </ul> + </li> </ul> </div> <div id="version_1_44_0.compilers_tested"> @@ -165,16 +166,16 @@ </p> <ul> <li> - <em>TODO</em> - </li> + <em>TODO</em> + </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> - <em>TODO</em> - </li> + <em>TODO</em> + </li> </ul> </div> <div id="version_1_44_0.acknowledgements">