1------------------ 2CHANGE LOG 3------------------- 4----------- 520170721 6---------- 7v0.6.8 8 9Added .veritive flag to RoadStack to enable better control of accepting signed 10packets 11 12 13 14----------- 1520170313 16---------- 17v0.6.7 18 19Fixed tabs to spaces 20Added newRemote wrapper method aroung RemoteEstate() to allow for custom validation 21 of arguments when creating a new remote 22Fixed some test race timing conditions on faster computer with python3.6 23Fixed typo in stacking.py bug 24 25 26----------- 2720161228 28---------- 29v0.6.6 30 31Support for ipv6 32Bug fixes 33More detail in console log messages associated with stale sessions 34 35----------- 3620151018 37---------- 38v0.6.5 39 40Fixed to work with python 3.5 withoug simplejson. Removed encoding parameter. 41Fixed up unittests 42Add local test runners for sub section tests to run part of unit tests 43Added requirement of simpljson for python2.6 for object pairs hook 44 45 46 47----------- 4820151017 49---------- 50v0.6.4 51 52Fixed issue with windows errno 53Minor corrections 54Fixed imports of ioflo to be compat with ioflo 1.2.3 55Removed unused imports and normalized some imports 56 57 58----------- 5920150310 60---------- 61v0.6.3 62 63Changed imports ioflo.base.nonblocking to be compat with ioflo 1.2.1 64 65----------- 6620150212 67---------- 68v0.6.1 69 70Updated tutorial 71fixed log message 72 73 74----------- 7520150212 76---------- 77v0.6.0 78 79Added enum support using python 3.4 enums via backport enum34 80raeting.py NamedTuples replaced with enums 81 82----------- 8320150211 84---------- 85v0.5.3 86 87Added tutorial documents 88Fixed merge error 89Fixed bugs 90 91 92----------- 9320150204 94---------- 95v0.5.2 96 97Updated setup.py dependencies 98 99----------- 10020150204 101---------- 102v0.5.1 103 104Windows impossible file check 105More coverage tests 106 107----------- 10820150204 109---------- 110v0.5.0 111 112Python3 support 113 114 115 116----------- 11720150201 118---------- 119v0.4.7 120 121Added support for burst size limits in the Message transaction to deal with 122limits on UDP receive buffers on some hosts. Significant changes to how the 123Messenger and Messagent transactions work. 124 125Added more units tests for messaging. 126 127 128----------- 12920150128 130---------- 131v0.4.6 132 133Silently handles errno.ECONNRESET on transmit in Stack._handleOneTx for windows 134 135 136 137----------- 13820150128 139---------- 140v0.4.5 141 142Support for simultaneous vacuous joins between same two estates 143Correctly terminates one of the joins and allows other to complete 144Bugfixes 145More tests 146 147----------- 14820150120 149---------- 150v0.4.4 151 152Compatibility with ioflo 1.1.5 153 154----------- 15520150120 156---------- 157v0.4.3 158 159Minor bug fixes 160More units tests 161 162Changed semantics for initial alived state. As soon as estate completes 163initial bootstrap to allowed state it is also alived instead of waiting for 164manage alive transactions to complete. This enables messaging to commence 165immediately upon allowed. 166 167 168----------- 16920141201 170---------- 171v0.4.2 172 173fixed windows compat for autoaccept yard 174 175 176 177--------- 17820141125 179---------- 180v0.4.0 181 182Changed the allow transaction to bigendian structs not little endian 183This will break interoperability with older versions of raet. 184Msgpack is already bigendian and future binary packet header for raet 185should be big endian. 186 187 188more coverage unit tests 189fixed some bugs 190updated log messages 191updated comments 192updated indenting 193added more presence unit tests 194 195--------- 19620141029 197---------- 198v0.3.8 199 200Added more unit tests 201Updated and fixed some tests 202Joiner and Joinent transactions now persist local data (puid) upon successful completion 203 204 205--------- 20620141024 207---------- 208v0.3.7 209 210Added lots of unit tests for join (Joiner and Joinent) transaction 211Fixed some bugs 212Added better support (but not complete ) for windows 213 214 215 216--------- 21720141009 218---------- 219v0.3.6 220 221Made default timeout for Messenger and Messengent transaction to be 0.0, that is, 222never 223 224Added timout parameter to RoadStack.transmit() so timeout can be set on a 225message transaction by transaction basis 226Added timeout to txMsgs deque triple for RoadStack that is, (msg, uid, timeout) 227 228 229 230--------- 23120141008 232---------- 233v0.3.5 234 235Fixed bug in RoadKeep.loadRemoteRoleData() 236 237 238--------- 23920141006 240---------- 241v0.3.4 242 243Added socket error handling for additional failure modes in Stack._handleOneTx 244for sending 245 246--------- 24720141006 248---------- 249v0.3.3 250 251Fixed Python3 incompatabilities 252 253 254 255--------- 25620141002 257---------- 258v0.3.02 259 260Fixed bug in allow transaction that prevented allow on restart 261Fixed issue with unicode fqdn on debian 262 263 264--------- 26520140924 266---------- 267v0.3.01 268 269New support for peer RAET channel. Changed semantics of how Join transactions 270works. This will allows peer to peer joining 271 272--------- 27320140729 274--------- 275 276v0.2.11 277 278Lookup remote in stack handleOneRx by using packet.index since it already 279substitutes ha if se is zero. Then also lookup remote in haRemotes if not found 280in .uidRemotes 281 282Update joinent transaction 283 284Change the way persistence reaping is handled. Instead of removing remote from 285memory, mark it with .reaped attribute. This avoide problematic use case of 286having to restoreRemote from disk when doing lookup in Joinent. 287Update .manage 288 289Also unreap anytime a packet is received from a remote 290 291--------- 29220140724 293--------- 294 295v0.2.10 296 297Transactions now referenced and processed per remote not at stack.transactions 298sets stage for later doing broadcast transactions 299 300--------- 30120140724 302--------- 303 304v0.2.09 305 306Finished support for role keep files in Road 307 308--------- 30920140723 310--------- 311 312v0.2.08 313 314Support for msgpack in Keep files 315more support for role in Road estates 316fixes in join transaction 317 318--------- 31920140722 320--------- 321 322v0.2.07 323 324bugfix 325 326--------- 32720140722 328--------- 329 330v0.2.06 331 332If verify keep fails then clear the keep file. This autoclears cache 333when upgrading format of keep file. 334Also more support for role. 335 336--------- 33720140721 338--------- 339 340v0.2.05 341 342Refactored odicts indexing access attributes for remotes so can now access 343by uid, by name, or by ha. Updated associated accessors 344Provides more consistent view onto Stack Road or Lane 345Prepatory to adding remote.role for key management 346 347--------- 34820140715 349--------- 350 351v0.2.04 352 353Fixed race condition in Yarding makedirs 354 355Road Keep files are now stored by name not uid 356 357--------- 35820140714 359--------- 360 361v0.2.03 362 363Added parameter to verify keep to allow passing in verify fields 364 365--------- 36620140711 367--------- 368 369v0.2.02 370 371refactor nack handling 372refactor moveRemote, removeRemote, renameRemote 373 374 375--------- 37620140709 377--------- 378 379v0.2.01 380 381rxMsgs queue on LaneStack now a duple (msg, sender) 382where 383msg is message body dict 384sender is unique name of remote yard that sent the message 385 386 387--------- 38820140708 389--------- 390 391v0.2.00 392 393Ephemeral Lane Yards 394Yards now use a uuid for the session id so that there is no need to persist 395any Lane data in order to resolve ambiguous multi-page messages should one 396side restart in the middle of a multi-page message. 397No more keep for LaneStack. 398 399 400--------- 40120140708 402--------- 403 404v0.1.03 405 406fixed python 2.6 bug 407 408--------- 40920140708 410--------- 411 412v0.1.02 413 414Fixed bug in nacling catching wrong exception on verify 415 416Changed rxMsgs queue to be duple of (msg, name) 417so that application layer has access to remote name that sent the msg. 418 419--------- 42020140701 421--------- 422 423v0.1.01 424 425Added nacling.uuid function to allow unique yard names 426 427--------- 42820140701 429--------- 430 431v0.1.00 432 433Minor fixup prepping for release with SaltStack Release Candidate 434 435--------- 43620140625 437--------- 438 439v0.0.31 440 441Fixed roadstack .manage method to used aliveds 442 443 444--------- 44520140625 446--------- 447 448v0.0.30 449 450Reverted semantics of join wrt removing remotes. No longer removes rejected remotes 451out of band or future presence expire mechanism is needed to remove rejected remotes 452 453--------- 45420140625 455--------- 456 457v0.0.29 458 459Fixed a bug on renew in Joiner transaction 460 461--------- 46220140625 463--------- 464 465v0.0.28 466 467Fixed some race conditions 468 469 470--------- 47120140625 472--------- 473 474v0.0.27 475 476Support for reaping and restoring dead remotes on main estate road stack 477Support for saving and resending stale messages when session changes on rejoin 478or reallow 479Some other fixes 480 481 482 483--------- 48420140623 485--------- 486 487v0.0.26 488 489RoadStack.manage now provide underlying support needed for presence events 490and filtering of remote targets based on availabilty (allowed) status 491 492--------- 49320140617 494--------- 495 496v0.0.25 497 498Fixed race condisitons with two way join transactions now detects if join in 499progress added nack refuse so do not delete remote and transactions 500 501now works better with key managment when rejecting remotes. 502 503--------- 50420140617 505--------- 506 507v0.0.24 508 509fixed error in lane yard transmit 510 511--------- 51220140617 513--------- 514 515v0.0.23 516 517Better support for two way presence checking 518 519 520--------- 52120140617 522--------- 523 524v0.0.22 525 526joined status persistence 527session restarts on allow 528 529--------- 53020140617 531--------- 532 533v0.0.21 534 535fix requirements.txt issue 536 537 538--------- 53920140617 540--------- 541 542v0.0.20 543 544Fixed reaping of stale event yards 545Refactor RoadStack initiation method interfaces in preparation for later changes 546 547 548--------- 54920140617 550--------- 551 552v0.0.19 553 554Fixed issues with Raet in Salt that made minion joining problematic 555 556 557--------- 55820140616 559--------- 560 561v0.0.18 562 563Lots of cleanup refactoring of how session ids are managed. Now more correctly 564handles stale sessions id checking and packet rejection. 565 566--------- 56720140603 568--------- 569 570v0.0.16 571 572Added basedirpath to Stack creation to provide default way to guarantee that the 573stackname is part of the Keep dirpath so that Keep files especially for LaneStack yards 574are uniquely named 575 576Some other refactoring. 577 578--------- 57920140603 580--------- 581 582v0.0.15 583 584Added persistence to Lanes of Yard info. Add some unit tests 585Had to make quite a few changes to accomodate this with naming of Yard persistence 586files and directories since multiple LaneStacks on same host using same yard 587So made stackname differentiator 588 589Updated Salt to use this 590 591Add support for libnacl to replace PyNaCl. Ported PyNaCl high level interface. At some 592point will refactor to use simpler libnacl high level interface 593 594 595 596 597--------- 59820140523 599--------- 600 601v0.0.14 602 603Raet now has basic support for persistence. This is through the Aliver and Alivent 604transactions and inddicated by the state of RemoteEstate.alived attribute 605RoadStack objects now have a .manage method that is responsible for kicking off 606the RemoteEstate.manage method which starts alive transactions. 607 608The result is to mark the .alived property as True if communication is successful 609with the target of the transaction. 610 611 612Updated unit tests 613 614 615--------- 61620140516 617--------- 618 619v0.0.13 620 621Added "alive" transaction for keep alive preparatory to supporting presence 622Aliver and Alivent objects 623Refactored more rigorous normalized persistence of road data 624joined and allowed status more conistent 625Added some persistence fields 626Refactoring in support of persistence 627 628Updated unit tests 629 630 631--------- 63220140505 633--------- 634 635v0.0.12 636 637Updated unit tests 638Some bug fixes 639 640 641--------- 64220140502 643--------- 644 645v0.0.11 646 647Basic unittest suite added 648Some bug fixes 649 650 651 652--------- 65320140428 654--------- 655 656v0.0.10 657 658Fixed some corner conditions on the acceptance handling in join transactions 659Started added automated unit tests to replace the development tests 660 661 662 663