Changelog
==========

v3.6.3
----------------------------
2024.04.09

* Megállók
    * group_id javítás
    * normalized_name megjelenése
* Települések
    * normalized_name megjelenése
* Új tábla: stop_group
    * id
    * center_latitude
    * center_longitude
    * size
    * distance_avg
    * distance_med
    * related_routes (by route_key)
* SQL táblák
    * VARCHAR to TEXT

v3.6.2
----------------------------
2024.02.14

* BackupAgent
    * 30 napról 7 napra állítva (downloads only)
    * Clean up old directories patch

v3.6.1
----------------------------
2023.12.03

* Település visszafejtő
    * Felesleges Google API hívások megszüntetve!
    * Az engedélyzett közeli város hatósugara 10km re lett növelve az 5km-ről
* Shape bővítés
    * Minden olyan tripnél, ahol hiányos vagy érvénytelen a shape_id a source állományban, ott a megálló koordinátáiból
      mostantól létrejön egy fiktív shape. Vizuálisan bután fog kinézni, mert a koordináták megállókat fognak
      összekötni. Tehát nem a valós nyomvonal fog megjelenni, azonban a shape kötelező érték és így cserébe nem fog
      törlődni egyetlen trip sem. Mindezz sokkal több meneterendi adatot jelent! Szerencsére ez a probléma jellemzően
      és kizárólag a MÁV-os adatokat illeti, ott is csak pár százalékban hiányosak az adatok.
* Garázsmenetek
    * Az útvonal tömörítő ettől fogva egy kalap alá veszi az összes útvonalat és nem kezeli indirekt külön a garázsmenti
      útvonalakat. Tehát előfordulhat, hogy egy nem garázsmeneti útvonal beleépül egy garaázsmenetibe. Ezzel a figyelmen
      kívul hagyással jelentősen több útvonal lesz rejtett. Ennek az eredeti célja az volt, hogy biztos ami biztos
      tarton meg a rendszer egy "rendes" útvonalat a járatból.
    * Egyenlőre csak ki lett commentezve, ahol a csoportosítás történt. Szükség esetén csak vissza kell állítani.
        * DatabaseBuilder --, garage
        * GtfsRouteDirectionGenerator --garage

v3.6.0
----------------------------
2023.12.01

* Letöltés kezelő
    * Érvénytelen _temp fájlok és mappáinak törlése fix
* GTFS forrás
    * Újra teljes értékű a WeekendBus menetrendje
* Teljesítmény javítás
    * Az országos gtfs buildernél
    * A sub gtfs buildernél
* Kulcsok
    * Növelve lett az általános unique key range 10 ezerről 100 ezerre
        * Ez oldotta meg a WeekendBus bugot, mivel az ezt megelőző Volánbusz adatainak mennyisge átlépte a shape_id-nál
          a 10 ezret, és összeértek az kulcsok
* Járatok
    * Javított order_in_type (általános sorba rendezés)
* Naptárak
    * Ettől fogva a source adatbázis nem trimmel se negatív, se pozitív irányba!
    * A source adatbázisban folyamatosan a tényleges maximum adat érhető el!
    * Calendar trimmelést kizárólag a GtfsReleaseExport végezhez (GtfsMerger + GtfsReleaseTrimmer), mint minimum a mai
      nap + pl 60 nap

v3.5.1
----------------------------
2023.11.25

* Településkezelő
    * parent_id bevezetése
    * volán: agency name alapján történő beállítása
    * route_places tábla megjelenése
* Járatok
    * Járatcsoportok agency_id alapján csoportosul
    * order_in type agency id alapján csoportosul

v3.5.0
----------------------------
2023.11.23

* Adatbázis verzió: 4 -esre léptetve
* Generált útvonalak
    * Stabil állapotba lépett a nyomvonal tömörítés algoritmusa!!!!
        * Ettől fogva nem kevesebb, mint 80% adat szüntethethető meg a stop_set táblából.
    * A szülő és alárendelt útvonalak viszonyának számítása teljesen újra lett írva!
        * Létre lett hozva a teszteléshez egy egyértelmű logolási és számítási logika
        * Az érintett programkód direkt magyarul lett kódolva, hogy méginkább segítse az átláthatóságot.
    * Teljesen ki lett emelve és ki lett szervezve és generált útvonalakhoz szükséges index számtási rendszer
        * Ez a menetrendi rendszer központi magdja.
        * Megszűnt az összes korábbi hiba és nincs többé hibás pozíció számítás sem.
        * Közvetlen a parent_sequence kapja a helyes adatot és nincs már utókorrekció sem a pozitív kimenetelért.
        * Külön számított érték lett a place_sequence, amely a helyes település rendezést felel.
* Megállók csoportosítása
    * Megjelent a stop_group_id érték, ami az 500 méteren belüli azonos megállókat jeloli.
* Megálló nevek
    * Összevonásra kerülnek azok a megálló nevek, amelyekben karekter elétrés található, de amúgy teljesen azonosak
    * A rendszer megkeresi a lehetséges maximum variációt és automtatikusan eldönti, hogy melyik megállónevet alkalmazza
    * Figyelembe van véve az ékezetes karakterek mennyiége, a kis és nagybetűk mennyisége, valamint, hogy 1 darab szóról
      van e szó.
    * Példák
        * A 'Dózsa Mozi' és 'Dózsa mozi' variációkból a 'Dózsa Mozi' lesz kiválasztva, mert több a nagybetű benne
        * A 'VIDEOTON' és 'Videoton' variációkból a 'Videoton' lesz kiválasztva, mert csupán 1 szó, amikor és ahol a
          kevesebb nagybetű a mérvadó
        * A 'ZF Hungária Kft.' és 'ZF Hungária kft.' variációkból a 'ZF Hungária Kft.' lesz kiválasztva, mert egyel több
          nagybetű van benne
    * Mindennek a célja, hogy az automatikus nyomvonal tömörítő méginkább egymásba tudjon tömöríteni azonos megállókat.
        * Az automatikus útvonal tömörító megálló azonosítóra vagy a megálló neve alapján tud tömöríteni.
        * Korábban nem tudta egybevonni a 'Dózsa Mozi' és 'Dózsa mozi'-t a volán 1125-ös két útvonalánál, mert tényleg
          nem egyezett sem a stop_key, sem pedig az stop_info_id. A mostani megálló név egységesétéssel azonos lett az
          info_id, ezért már is egybe tudott vonni két útvonalat.
* Városok specifikus támogatottsága
    * A megálló nevekből ki lett varázsolva a település név, hogy a megállónevek célzottan váljanak elérherővé
    * Megjelent a places tábla valamint a place_id a stop táblában
    * Ennek köszönhetően még kevesebb stop_info fog generálódni
    * A település adatbázis nemzetközi, amelyben 23 ezer település neve és koordinátája található meg. Mindebből 3600
      magyar település.
    * A hiányzó település nevek és adatok a Google rendszeréből kerülnek visszafejtésre
    * Mindez tovább növeli a település alapú exportálási lehetőségeket.
    * A városi szolgáltatók saját maguk település azonosítóit öröklik meg, azonban helyenként felülbírálásra
      kerülhetnek!
* Downloads
    * Megjelent az db_version érték
    * Ettől fogva ennek az értéknek is meg kell feleni folyamatosan
    * Abban az esetben, ha a gtfs download request nem határozza meg az általa támogatott adatbázis verziót, akkor
      minden esetben a legújabb kerül letöltésre.
    * Az állományok törlésére vontakozó általános 30 napos szabályzat kizárólag a legfrissebb adatbázis verzióra
      érvényes
    * A korábbi adatbázis verziókból kizárólag 1 darabot tart meg a rendszer, ami ha elérhető, akkor a __max lesz az

v3.4.0
----------------------------
2023.11.06

* Kényszerített futtatás
    * Ettől fogva forceBuild lesz a teljes builder, ha nincsenek korábbról globals fájlok.
    * Akkor hasznos, ha újragenerálás végett törölve lett a statikus kulcsokat tároló fájl
    * Ha forceBuild van, akkor mindenképp újraépül az adott work mappa teljes tartalma.
* Generált útvonalak
    * Tovább fejlesztett algoritmus!
    * Jelentősen több útvonal lesz hasznosan elrejtett
    * Mindez egyszerűbbé és átláthatóbbá teszi az eredményeket pl egy megálló választóban
    * Eredetileg kizárólag flow_hash alapján voltak tömörítve az útvonalak
    * Mostantól akkor is child lesz egy nyomvonal, ha az útvonal nem érint pár megállót
    * Felbújó teszteset: volán 1134 => hibásan generált a rendszer. Pár megálló sokkal előrébb lett pozícionálva, mint
      valójában lett volna a helye. Ez azt eredményezte, hogy a teljes nyomvonal család redundáns lett és a megálló
      választóban azonnal.
    * Az új algoritmus jelentősen szabálykövetőbb, mint kiderült pár kiemelt probléma

v3.3.6
----------------------------
2023.11.02

* GtfsDownloader
    * loadArchive fixies
    * reArchive: kizárólag az eredeti fájlok kerülnek bele. (Korábban véletlen bele került a last_mod.log)
* BackupAgent
    * A source gtfs ettől fogva a módosítás dátuma alapján kerül mentésre
    * Backup policy szeparálása
        * Dátum taromány alapján
        * Mappa mennyiség alapján

v3.3.5
----------------------------
2023.10.11

* GtfsDownloader: offline reLoad patch
* Extra readme files at __backup /apps /globals /source directories

v3.3.4
----------------------------
2023.10.09

* GtfsBackupAgent: SourceLastModLog patch
* Univerzális útvonal algoritmus: javított nyomvonal tömörítés, ha kizárólag 2 megállóból áll a szakasz
* Nyomvonalak: megjelent a group_sequence érték. Specifikus nyomvonal tömörítéshez jött létre. Például a H8 hév-nél 6db
  Cinkota megálló van egymás után, ami valóban 6db differens fizikai megálló. Mindebből majd egy darab fog megjelenni.
* Járat lista: javított sorrend számítás dynamic_route esetekor

v3.3.3
----------------------------
2023.09.28

* GtfsDownloader: extractArchive error handling patch
* Cron: megjelenik a forrás gtfs módosításának dátuma és ideje

v3.3.2
----------------------------
2023.09.25

* Letöltések: fájl megtartás + szülő mappa törlés fixek
* EmptyDB: reCreate fix

v3.3.1
----------------------------
2023.09.23

* Letöltések
    * Korábbi menetrendek megtartása és törlése patch
    * Backup policy bevezetése: 30 napnal régebbi állományok mindeképp törlésre kerülnek
* Backup
    * Mentésre kerülnek a runtime log fájlok __backup/logs mappába
* Adatbázis
    * Minden egyes futtatás után létrejön az empty.db fájl a __generator/work mappába a gyors sql séma
      áttekinthetőségért.

v3.3.0
----------------------------
2023.09.21

* MÁV
    * Adatjavítás
        * Manual merge: group by type fix
        * Javított nyomvonal csoportosítás
        * Bővített manuális járat csoportosítás
    * StaticKey fix when long_name isEmpty
    * Ezentúl törlésre kerülnek az üres long_name-el rendelkező járatok
        * Csak akkor marad üresen egy long_name, ha tényleg semmiből sem tudta visszafejteni, vagy ki-generálni
* Általános
    * Körjáratok neveinek javítása
    * Shape redukció: direction, mint követelmény

v3.2.3
----------------------------
2023.09.09

* SQL: enabled high performance mode
    * JournalMode 'MEMORY'
    * Synchronous 'normal'
    * JournalSizeLimit '6144000'
    * MemoryMappingSize '30000000000'
    * PageSize '32768'
* GtfsReleaseTrimmer => direction_date fix
* Validators: direction_date check
* Termux support for Android

v3.2.2
----------------------------
2023.09.07

* Release konfiguráció
    * Szűkített generálás
    * Új 'enabled = false' paraméterként külön szabályozhatók
* Pontosított readme.md leírások
* Bővített CPU és DISK learások a futtatási információk között
* A source.db 7z-re alakítása ezentúl a build után történik
* Az aktuális dátum viszonyítások ezentúl a generátor start dátumán alapul
* Tegnapi letöltések
    * A ma és tegnap még minden letölthető állományt tartalmaz
    * Ettől visszafelé csak a 7z állomány és annak hash állománya érhető el

v3.2.1
----------------------------
2023.09.05

* Egyszersített gtfs downloader forráskód, 7z rögzítéssel
* A gtfs.hash ezentul a source-ba van és nem a work-be
* Pontosított __download/info.db
* Minden a mai naptól korábbi letöltés csak 7z formátumban érhető el
    * Ezzel 85%-ot spórol a tárhely
* ShellArchive
    * Át lett álltve native = false módra, mert nem javít a külön process
    * Az archive7z sdk végzi a tömörítést
* A backup a source mappáról csak akkor készít mentést, ha valóban új a forrás
* A _generator source mappa ettől fogva semmit sem tárol egy sikeres build után
    * Minden amire szükség lehet, az elérhető ::latestFileFrom_BackupSource függvény segítségével
* Ettől fogve minden build után külön ki van takarítva minden használt könyvtár
* Jelölve lett a generátor verziója a kiküldött emailben

v3.2.0
----------------------------
2023.09.03

* Teljesen új mappa struktúrát kaptak a runtime és a kimeneti állományok
* Ezentúl 2 fő helyen található meg minden
    * __download
        * gtfs
            * Valamennyi konfiguráció letölthető eredménye
                * A fájlok visszamenőleg 30 napig érhetők el
                * Minden korábbi fájl automatikusan törlésre kerül!
            * Minden egyes konfiguráció dátum szerint van rendezve
            * Azon belül pedig naptár peridóikus rendszerben
                * __max | 1 | 5 | 10 | 30 | 60
        * info.db
            * A letöltések legfontosabb információ: pl created, checksum, útvonal
            * Ez a fájl minden esetben a futtatás legvégén jön létre, hogy az API minden esetben elkészült eredményeket
              lásson
            * A fájl tartalma sosem törlődik, mindig csak frissül!
    * __generator
        * globals
            * Generált egyedi kulcsok mappája
        * source
            * Eredei gtfs források és azok szükséges minimumra feldolgozott adatai
        * work
            * Véglegesre számított gtfs formátumok, forrás konfiguráció alapján
* Konfigurációba helyezett forceBuild ellenőrzés
* Egyszerűsített DeletAll.php

v3.1.6
----------------------------
2023.08.26

* Új egyesített konfiguráció: MÁV-Volán

v3.1.5
----------------------------
2023.08.20

* Backup agent
    * Biztonsági mentés készül ezentúl minden nap!
    * Ezzel megjelent a __backup mappa.
    * Kizárólag akkor készül mentés, ha az adott konfigurációnál tényleg új menetrendet adott ki a szolgáltató

v3.1.4
----------------------------
2023.08.06

* Javított távolság számítás és sub-exportok fix
* Apróságok
    * Logolás patch
    * Gyorsított sub-export
    * Módosított __globals forrás
    * .gitkeep fixies

v3.1.3
----------------------------
2023.08.06

* Alkonfigurációk
    * Jelentős gyorsítás történt a szolgáltatói adatok exportjánál => **GtfsRegionDistance**
    * Előre ki vannak számítva a viszonyított távolságok. Meglló <=> Település
    * A Volán adatokat még ellenőrzni szükséges!
* Egyéb
    * Javított log szövegezések
    * RunAll.php => elérhetővá vált a "-calculateRegionDistanceOnly" üzemmód

v3.1.2
----------------------------
2023.08.04

* Trip törlés patch
    * Hamarabb kerültek törlése a rossz tripek, mint kellett volna
    * Feldolgozási sorrend felcserélésével lett javítva
    * Feladat: törölni kell minden olyan tripet, ahol a következő érkezési idő hamrabb van, mint ahonnan érkezett
    * Ez egy szolgáltatói hiba az adatok generálásánál. Jellemzően a Volánbusznál fordul elő.
* MÁV
    * Teljes korrekció a jármű típusok kapcsán
    * Módosítva lett a városi busz (704) típusa általános távolsági buszra (200)
    * Biztonsági okokból blokkolni fog a generátor, ha új tpust vezet be a MÁV

v3.1.1
----------------------------
2023.07.30

* Volánbusz: új GTFS forrás beállítása
* Távolsági buszok
    * Megszűnt 701-es típus
    * Helyükre a 201, a 202 és 204-es típusok kerültek

v3.1.0
----------------------------
2023.02.23

* Json alapú cron konfiguráció, Teljes kiszervezés, ország függetlenre
    * ./gtfs/config/config.json
    * route_types
    * regions
    * build_configs
    * release_configs
* Konfigurációból rögzített járat típusok -ok
    * Új megjelenésekor a builder crashel és emailt küld
* A _release fájlokat az új gtfs merge -er, mint összeépítő hozza létre, json-ból irányítva
    * pl: pecs + mav_pecs + volan_pecs
* Specialis sub_exportok támogatása gtfs -ből. Városnév, mint megállót keresve, km sugár, vagy mindkettő alapján
* Kódba égett BUILD_CONFIG konfiguráció teljes kivezetésre került
* Php-ba szervezett gtfs source.zip letöltő
    * A korábbi bash alapú megoldás teljesen megszűnt
    * Biztonsági patch: hibás forrás esetekor nem írja felül a legutóbbit
* Automatikus mappa generálás és tisztítás
    * Jelenleg 56 konfigrucáió létezik al-konfigurációkkal
    * Még további ~6 várható
* Egyedi cmd parancsok támogatása, 'pecs' -force -skipDownload -skipSourceParse stb..
* Konfiguráció alapra helyezett DeleteAll.php
* Gtfs típusok beveztése: city or country => provider
* Bbővített gtfs_info tábla
* NO_Teljesen automata source gtfs építés. Manuális schema építés megszüntetése. (ex : AutoSourceParser)
* NO_Teljesen automata release gtfs fájl építés. Új konfignál már egy kapavágás sem kell. (ex : AutoGtfsBuilder)
* Teljesen újraszervezett mappa szerkezet és futtathatóság (gtfs_folder + RunAll.php)
* Teljes arhiválási folyamat PHP-ba került. 7z és zip kimenetekkel. Jelszavas és jelszó nélküli dupla verziókban
    * A korábbi bash zip alap teljes megszüntetésre került
* Folyamat egyszerűsített / átalakított (Run)All.php
* ?? Tovább gyorsított shape extend ~30%
* Legutóbbi email tartalom html fájlba mentése 'daily_report' + 'latest_error' neveken
* NO_Email tartalom informatív bővítése
* Rögzített run.log fájl bevezetése.A korábbi sub_log kivezetésre kerültek
* Log echo vizuál full patch + tisztázott log rendszer
* Új hash rendszer kialakítása a _release gtfs -ekhez
    * A _work mappa továbbra is a legutóbb érvényes source_csv.zip alapján működik / buildel vagy sem.
    * Egy _release gtfs bármennyi szolgálatót tartalmazhat, ezért ott más hash kerül mentésre
    * SHA256 => 18|20230101|20230115 <= gtfs.hash
    * Közlekedő járatok mennyisége | Közlekedő első dátum | Közlekedő utolsó dátum

v3.0.0_stabile
----------------------------
2023.01.29

* Új konfigurációk
    * MÁV
    * Volánbusz
* Véglegesítés
    * Generált útvonalak
    * Megállók közitt eltelt idők
* Teljesítmény növelése
    * stop_set generálása
    * shape_redukálás
    * shape újrakulcsolás
* Email jelentő beveztése
    * Napi jelentés
    * Hiba jelentés

v3.0.0_preview
----------------------------
2020-Q3 - 2022-Q4

* Teljes könyvtár és szerkezet szeparáció
* Source és Builder sztéválasztása
* Univerzális útvonalak bevezetése
* Adat trimmelés null -ra, ha üres annak tartalma
* Naptárak redukálása
* Pécs: tüke naptár érvényesítése aktív kapcsolattal, weboldalukról
* Járat csoportok számítása
* Körjáratok számítása
* Járatok valódi sorrendének kialakítása
* Szenzitív szolgáltató adatok prefixelése
* Új konfigurációk beveztése
    * Budaörs
    * Dombóvár
    * MÁV
        * Speciális wrapperrel, tömörítővel
    * Szombathely
    * WeekendBus
* Adatbázis kiegészítése
    * route_dates
    * agency
    * app_meta
    * trip_headsign
    * order_hash
    * related_routes
    * stop_enter_exit
    * trip_initial_time
    * trip_blocks
    * stop_info
    * direction
    * direction_lines
    * direction_main
    * direction_hidden
    * direction_garage
    * trip_delta_times
    * bikes_allowed
    * wheelchair_accessible
    * boarding_door
    * ...
* AWS Lightsail -re váltás

v2.0.0
----------------------------
2019

* Új városok a konfigrucáióban

    * Budapest
    * Kecskemét
    * Miskolc
    * Pécs
    * Szeged

Version 1.0.0
----------------------------
2017

* Tervezés megkezdése Budapest, Pécs konfigruációkkal
* Teszt jelleggel alkalmazásokhoz rögzítése
* Aws EC2 publikálás

.
.
.

**Powered by: MenetBrand**