[NiceShaper 0.6rc6 10.08.2008r.]

- poprawki dla kompilacji pod gcc w wersji 4.3
- rozszerzenie szerokosci kolumny statystyk
- usuniecie obsugi przestarzalych dyrektyw, support oraz iptables return
- przywrcenie dziaania uproszczonej wersji dyrektywy iface
- akceptowany jest interfejs ppp+

[NiceShaper 0.6rc5 07.06.2008r.]

Jako e zblia si czas na wydanie stabilnego nastpcy NiceShapera 0.5, gwnym obiektem prac nad t wersj bya jako kodu, 
przeoyo si to na zwikszenie stabilnoci, skutecznoci podziau cza, oraz zmniejszenie obcienia generowanego przez program.
Ilo atek skadajacych sie na to wydanie bya najwiksz z dotychczasowych wersji testowych. 

Tak wic, zmiany bezporednio zauwaalne dla uytkowania programu przedstawiajc si nastpujco:

Punkty z Mantisa:
- (#006) - przy klasach z wieloma filtrami uywajcych markowania tylko pierwszy filtr by wprowadzany do tc.
- (#012) - nowa dyrektywa: log, obsuguje sysloga, wskazany plik oraz ekran terminala (tylko w czasie inicjalizacji).
- (#014) - poprawiony problem z odczytem iptables return
- (#018) - Niepoprawnie czytane byy znaczniki markowania pakietw, podawane w formie szesnastkowej 0xNUMER
- (#019) - po duszym czasie dziaania, pojawiao si opnienie w statystykach 

Inne usunite problemy:
- jeli w sekcji byo kilka aliasw tego samego interfejsu, byy one le odczytywane co skutkowao, 
  niepotrzebnymi komunikatami bdw zgaszanymi przez program tc, przy starcie.
- usunito problem z pojawianiem si bardzo wysokich rate zaraz po starcie programu oraz wczaniu klas.
- usuniecie drobnych potencjalnych wyciekw pamici.
- usuniecie ryzyka niepoprawnej inicjalizacji klasy przy nikym ruchu na czu.
- oczyszczenie i usprawnienie kodu komunikacji miedzy procesowej.
- oparcie dania przekazania statystyk o sygnay systemowe, zamiast o plik flagi, ktrego obecno bya sprawdzana co pewien interwa czasowy, co jest niedopuszczalne. 
  Byo to rozwizanie ktre wprowadziem jako chwilowe a o ktrym cakowicie zapomniaem. Dodatkowo, poprawka ta mocno zwikszya responsywno statystyk, 
  szczeglnie zauwaalnie przy duych wartociach parametru reload.

Pozostae zmiany:
- kontrola konfiguracji jest teraz bardzo restrykcyjna
- dyrektywy oznaczone w poprzednich wydaniach rc jako przestarzae, zostay usunite z programu
- dyrektywa support mark-on nazywa si teraz mark-on-ifaces
- wykrycie uszkodzenia acuchw iptables NiceShapera, skutkuje natychmiastowym wyczeniem si programu
- sprawdzane jest wskazanie protokou oraz czy klasa podlega markowaniu pakietw jeli filtr tego wymaga
- obsuga filtra length
- obsuga negacji filtrw sport/dport/srcip/dstip
- jako zakoczenie kadej z sekcji wystarczy znacznik: "</>"
- moliwo komentowania caych blokw plikw konfiguracyjnych, tak jak to ma miejsce w wikszoci jzykw programowania (np./* */ w C/C++), przez znaczniki <# komentarz #>.
- nowa dyrektywa: iptables target w miejsce iptables-return - moliwo okrelenia celu filtra na ACCEPT,RETURN lub nawet DROP 
  ( chociaby prosta blokada zalegajcych z opatami klientw, szczeglnie wygodna dla konfiguracji generowanych automatycznie )
- w statystykach pojawia si przybliona suma wykorzystania pasma przez ca sekcje, moliwe jest take konfigurowanie statystyk poprzez opcje:
  stats classes {all|active|working|false} sum {top|bottom|false}
- domylne pliki konfiguracyjne maja teraz kocwk .ns, dodaem niedopracowany jeszcze niceshaper.syntax dla mc, pomoc w jego rozbudowie mile widziana.
- powrcia dyrektywa strict znana z poprzedniej stabilnej wersji NiceShapera. 

[NiceShaper 0.6rc4.1 25.10.2007r.]

DO WCZORAJ WYDANEJ WERSJI RC4 WKRAD SI BAD KTRY UTRUDNIA POPRAWNE REAGOWANIE NA PRZECIENIE CZA, PRZEZ CO PASMO MOGO ZOSTA W PENI WYSYCANE. UPGRADE OBOWIZKOWE!!!

[NiceShaper 0.6rc4 24.10.2007r.]

Wydanie to sponsoruje wydajno oraz stabilno i tym kwesti powiciem najwicej pracy. Oto zmiany od wersji poprzedniej:

- przepisana zostaa obsuga numeracji filtrw i znacznikw
- wyeliminowane zostay bedy pojawiajce si przy wielu filtrach istniejcych w ramach jednej klasy
- pojawiy si nowe moliwoci sterowania markowaniem pakietw
- wyeliminowane zostay drobne bdy w algorytmie podziau, powodujce ryzyko zwieszenia oraz pewne niecisoci w przyznawaniu pasma.
- opcje uruchomieniowe --no-daemon, --force-pidfile
- testowanie integralnoci firewalla w czasie dziaania
- obsuga esfq
- obsuga parametru perturb w sfq i esfq
- parametr overtake zosta wyrzucony
- akceptowany jest interfejs bond
- include {file|usersfile} - doczanie plikw konfiguracyjnych oraz konwersja i doczanie pliku users z wersji 0.5 NiceShapera, wyrzucone zostay wszelkie lady po rozszerzonej skladni usersfile czyli testowanej od pocztku linii 0.6 skadni
- usprawiony zosta protok komunikacji midzy procesami
- skrypt install.sh zastapiony przez Makefile, kompilacja z optymalizacjami, domylnie wczone O2
- dla interfejsw imq przekierowanie w ramach iptables jest teraz domylnie wczone std dyrektywa imq-redirect zostaje oznaczona jako przestarzaa, pozostawiona zostaa moliwo wyczenia automatycznego przekierowania poprzez opcje imq autoredirect {true|false} } ktra wobec powyszego domyslnie przyjmuje warto true
- przepisany parser plikw konfiguracyjnych, mog pojawi si naprawde gupie problemy kod wymaga duszego przetestowania, jednak ostatecznie zyskujemy jasn budowe dyrektyw konfiguracyjnych, wymusio to jeszcze kilka pedantycznych zmian zapisu:
- htb-scheduler, hbr-prio -> htb scheduler, htb prio
- support mark on -> support mark-on
- iptables-return > iptables return
- parametr mode zostaje zgaszany jako przestarzay, tak naprawde swoj nazw nie odzwierciedla spenianego zadania a w jego miejsce pojawia si parametr iptables hook,i tu najprociej dokona zastapie:
mode download >iptables hook POSTROUTING
mode upload >iptables hook PREROUTING
- dziki poprawionemu parserowi konfiguracji mamy lepsze wykrywanie bedw konfiguracji, oraz poprawione ich komunikowanie.
- default w ramach sekcji nie jest wymagany, opcje zostaj automatyczne rozpoznane i rozpropagowane na klasy, jednak mona go cigle uywa, nie zostaje wyrzucony gdy zwiksza czytelno.
- mozliwosc wyboru jzyka komunikatw bedw

[NiceShaper 0.6rc3 05.12.2006r.]

Wreszcie mamy algorytm dzielcy cze rwnie dobrze jak ten ze starego dobrego niceshapera 0.5. jeszcze w wersji podstawowej bez dodatkowych moliwoci przydzielania priorytetw , ale ze wzgldu na skok jakociowy nie mogem si oprze przedwczesnej publikacji;)
- parametr overtake zostaje usunity z programu a z kolejn wersj bdzie raportowany jako uycie nieznanej opcji.
- pliki konfiguracyjne oraz wynik polecenia `iptables -L` wczytywane s bezporednio do pamici i tam przetwarzane, a wic jest zysk w postaci wyeliminowania zbdnej bieganiny po dysku i mniejszego obcienie systemu.
- poprawiono bad w wyniku ktrego wykorzystanie cza przez klas do-not-shape wykazywane byo na poziomie nie wikszym od domylnego ceil sekcji.
- jako moliwo zmniejszenia objtoci pliku klas wprowadziem rednik bdcy rwnoznaczny z uyciem znaku nowej linii, std konfiguracja moe wyglda teraz tak:

class download eth1 ftp ; match from localhost srcip 192.168.0.10 dstip 192.168.0.0/24 ; do-not-shape
class download eth1 Komp_1 ; match dstip 192.168.0.15
class download eth1 Komp_2 ; match dstip 192.168.0.16
class download eth1 Komp_3 ; match dstip 192.168.0.17

- niestety ze wzgldu na przeduajce sie prac wprowadzenie penej obsugi markowania pakietw zostao przesunite na kolejne wydanie, dlatego trzeba zwraca uwag na moliwo podmiany pakietw zamarkowanych przed niceshaperem np. celem wysania wybranych usug kolejnym czem.
- podzikowania za pomoc w tropieniu bdw dla Zbigniewa Czernika.

[NiceShaper 0.6rc2 29.09.2006r.]

Wersja ta zawiera kilka zmian w skadni, std naley zadba o aktualizacj plikw konfiguracyjnych zawierajcych ponisze opcje:
- htb_prio -> htb-prio.
- scheduler -> htb-scheduler.
- imq auto redirect -> imq-redirect.
- do not shape -> do-not-shape.

Wprowadziem naprawd sporo poprawek napotkanych bdw i niedopracowa, midzy innymi:
- poprawne wyadowanie programu po wykonaniu niceshaper stop, restart lub wykryciu bdu w konfiguracji.
- poprawione wykrywanie bdw w konfiguracji.
- poprawnie dziaaj klasy typu virtual i wrapper.
- poprawka z bdnym przydzielaniem id filtrw gdy na jednym interfejsie wspdziaa kilka sekcji.
- wyrzucenie pozostaoci po eksperymentalnym wprowadzeniu priorytetw, priorytety pojawi sie w nowym algorytmie podziau dynamicznego.
- poprawka nie dziaajcego filtrowania po tos i ttl ( brak adowania moduw w iptables ).
- poprawki wpywajce na wydajno.

Z nowych funkcjonalnoci:
- obsuga vlanow w formie ethXX.xxxx oraz interfejsu ath.
- opcja iptables-return.
- w dyrektywie iface uywamy tych samych filtrw co przy konstruowaniu klas, uywamy tu take sowa match, dla wygody w prostych konfiguracjach mona te uy starego src/dst network.
- reload moe si teraz mieci w przedziale 0.1s do 600s z krokiem nie mniejszym ni 0.1s.

[NiceShaper 0.6rc1_01 20.08.2006r.]

Pki co bez fanfar, jednak wreszcie wczona do kodu zostaa eksperymentalna obsuga wielu sekcji co przedkada si na fakt e NiceShaper potrafi obsugiwa kad ilo skonfigurowanych cz, tym samym prosz szersze grono uytkownikw o raportowanie poprzez e-mail napotkanych problemw, jeli to moliwe z zaczeniem plikw konfiguracyjnych oraz zrzutw tekstowych z pracy programu uruchomionego z opcjami debugowania.
Przez tak wczesne wydanie licz na du ilo raportw, by w tym czasie zaj si sprawami stabilnoci i wydajnoci.
W planach jest take szersze opisanie nowej funkcjonalnoci na przykadach oraz tumaczenie dokumentacji na jzyk angielski, jak mylicie jaka jest szansa e NiceShaper 0.6 wypynie na szersze wody?;)

- dodatkowo pojawiy si opcje definiujce waciciela, grupe i uprawnienia do pliku statystyk.

[NiceShaper 0.6pre2_02 31.07.2006r.]

Symboliczne wydanie wypuszczone tylko dlatego e przez najblisze 2 tygodnie nie zapowiada si na jakiekolwiek prace gdy wreszcie wyjedzam na zasuony urlop ;), a problemy ktre aktualnie poprawiem mogy delikatnie utrudnia ycie.

- usunem warningi wystpujce przy kompilacji z opcja -Wall.
- usunem problem z komunikowaniem "unrecognized option" dla pewnego typu opcji.
- w momencie gdy plik konfiguracyjny zamykaa opcja match, klasa do ktrej filtr nalea zostawaa niepoprawnie zainicjowana.
- dodaem filtry state, tos i ttl, szczegy w dokumentacji.

[NiceShaper 0.6pre2_01 07.07.2006r.]

W ten dugi okres nieobecnoci ( sesja, mnstwo nowych obowizkw w pracy zawodowej i dugi weekend w wspaniaym Zakopanym ;) czyniem kolejne nieudane prby kontynuowania prac nad NiceShaper'em, wreszcie jednak w mijajcym tygodniu masa krytyczna motywacji przekroczya ilo obowizkw i udao mi si zasi do realizacji planw, wkadajc naprawd wiele godzin pracy by posprzta po poprzednich eksperymentach i wprowadzi kilka nowoci i udogodnie, oto gar najwaniejszych:

- usuniecie problemu generowania komunikatow "HTB: quantum of class 10001 is big. Consider r2q change."
- zgaszany komunikat bedy "Unknown arg `--dport'" powodowany jest przez brak wyszczeglnienia protokou co opisano w dokumentacji.
- pliki config, class, users i katalog konfiguracyjny mona wskazywa przez zestaw opcji.
- na starcie tabela mangle przeszukiwana jest na obecno starych nieusunitych wpisw, wygenerowanych przez wczeniejsze dziaania NiceShapera.
Bardzo prosty algorytm wyszukuje acuchy rozpoczynajce si od ns_, std nie wolno takich tworzy na wasny uytek gdy take zostan usunite. Jeli takie wpisy s potrzebne naley je odnowi po kadym uruchomieniu NiceShaper'a.
- filtry ipsrc i ipdst mog wskazywa cae podsieci IP ograniczone mask, ktra moe by zapisana w formie bitowej lub kropkowano-dziesitnej, jednoczenie druga forma nie musi by ciga bitowo. jednak takiej maski nie wolno uy dla filtru u32 ktry potrafi obsugiwa wycznie maske cig.
- bardzo duo kodu zostao napisanego w celu zapewnienia waciwej obsugi bedw w konfiguracji, obecnie kada nieznana opcja powoduje wyczenie inicjalizacji, a funkcja parsowania plikw konfiguracyjnych zostaa przepisana i dokadnie sprawdzona.
- nazwa klasy moe mie maksymalnie 20 znakw, co wydaje mi si jest wystarczajce.
- obsluga localhostu - okazalo sie ze pracy w programie nie byo wiele za to ogrom czasu poaro opracowanie podstawowych koncepcji i opisw w dokumentacji, jednak ostatecznie rozwizanie jest proste i wydaje si elastyczne, zapraszam do dokumentacji do rozdziau "Jak traktowa localhosta".

Tutaj nie powinna dziwi zmiana wersji na pre2, jednoczenie podyktowana kilkoma racjonalnymi wzgldami, pre1_03 okazao si do stabilne, zachowanie obecnej wersji ze wzgldu na miejscami spor przebudow kodu jest troszk nieprzewidywalne, wielu rzeczy nie zd przetestowa, licz na to e pomoecie wyszuka wszystkie niedocignicia a z przyjemnoci zabior si za ich usuwanie.

[NiceShaper 0.6pre1_03 10.04.2006r.]

- naprawde sporo pracy woyem w uzyskanie zadowalajcej stabilnoci, usunem jak si wydaje te wszystkie problemy spotykane przy wczaniu i wyczaniu ktre udao mi si osobicie wywoa.
Jedyne niedocignicie to fakt e w pewnych okolicznosciach NS nie potrafi zakoczy poprawnie pracy.
Naley wtedy wykonac # killall -9 niceshaper i usun plik /var/run/niceshaper.pid.
Kiedy tylko ten problem zostanie rozwizany otrzymamy wersje pre2, lecz ju teraz jest o wiele lepiej, std aktualizacja poprzednich wersji 0.6 jest zalecana.

[NiceShaper 0.6pre1_02 08.03.2006r.]

- naprawione segmentation fault po zapytaniu w convert.
- poprawione zgloszenie #00007
- przy wyjciu nie wykonujemy ip link set down dla interfejsw imq.
- przerobiono skrypt dla parametru uruchomieniowego convert, plik users jest teraz niekompatybilny z tym z wersji 0.5, lecz bdzie cigle wspierany w bardzo podobnej formie jako alternatywa dla pliku klas, ze wzgldu na swoj prostot oraz przejrzysto w sytuacji gdy interesuje nas wycznie podzia ruchu pomidzy poszczeglne komputery.
- W tym wydaniu plik users musi zosta jeszcze przekonwertowany na posta z klasami lecz w przyszoci NiceShaper potrafi bdzie korzysta z niego bezporednio, a wybr midzy nim a plikiem klas bdzie si odbywa za pomoc opcji konfiguracyjnej.
- kolejne prace w kierunku obsugi wielu cz.
- szczegy na temat zmian w pliku users w dokumentacji.

[NiceShaper 0.6pre1_01 14.02.2006r.]

- zaimplementowana obsuga IMQ, szczegy w dokumentacji ( Mantis #0000001 ).
- zaimplementowany prosty mechanizm debugingu dajcy mozliwoc wywietlania komend wysyanych do systemu.

[NiceShaper 0.6pre1_00 11.02.2006r.]

- by przypieszy prace zdecydowaem si na upublicznienie NiceShapera w wersji rozwojowej.
- po zapoznaniu si z moimi wpisami ktre moliwie szybko uka si w mantisie, bdzie mona zauway take wiele brakw w podstawowej funkcjonalnoci.
- dlatego prosz o zapoznanie si z programem oraz zgaszanie przemyle na forum, a bedw i propozycji wanie w Mantisie.
- kolejne wersje testowe ( snapshoty ) udostpniane bd razem z changelogiem wanie w tym dziale.
