|
| 1 | +--- |
| 2 | +title: Changelog |
| 3 | +--- |
| 4 | + |
| 5 | + |
| 6 | +## [2.0.1](https://github.com/Tharos/LeanMapper/tree/v2.0.1) (12. 9. 2013) |
| 7 | + |
| 8 | +* Přidány metody `LeanMapper\Result::cleanReferencingResultsCache` a `LeanMapper\Row::cleanReferencingRowsCache`. |
| 9 | + |
| 10 | + [Informace na GitHubu](https://github.com/Tharos/LeanMapper/issues/10) |
| 11 | + |
| 12 | + |
| 13 | +## [2.0.0](https://github.com/Tharos/LeanMapper/tree/v2.0.0) (26. 8. 2013) |
| 14 | + |
| 15 | +* Přidána podpora pro vlastní konvence – rozhraní `LeanMapper\IMapper` a defaultní implementace `LeanMapper\DefaultMapper` (BC break) |
| 16 | + |
| 17 | + [Informace na Nette fóru](http://forum.nette.org/cs/14592-lean-mapper-tenke-orm-nad-dibi?p=4#p105850) |
| 18 | + |
| 19 | + [Ukázka hezkého mapperu od Jana Nedbala](http://pastebin.com/dZjk1qaw) |
| 20 | + |
| 21 | +* Odstraněna přežitá metoda `LeanMapper\Entity::getEntityClass`, je žádoucí použít `LeanMapper\IMapper::getEntityClass` (BC break) |
| 22 | + |
| 23 | + [Informace na Nette fóru](http://forum.nette.org/cs/14592-lean-mapper-tenke-orm-nad-dibi?p=9#p108540) |
| 24 | + |
| 25 | +* Odstraněna přežitá metoda `LeanMapper\Repository::getEntityClass`, je žádoucí použít `LeanMapper\IMapper::getEntityClass` (BC break) |
| 26 | + |
| 27 | + [Informace na Nette fóru](http://forum.nette.org/cs/14592-lean-mapper-tenke-orm-nad-dibi?p=9#p108540) |
| 28 | + |
| 29 | +* Přidána protected metoda `LeanMapper\Entity::initDefaults` |
| 30 | + |
| 31 | + [Informace na Nette fóru](http://forum.nette.org/cs/14592-lean-mapper-tenke-orm-nad-dibi?p=4#p105770) |
| 32 | + |
| 33 | +* Přidána podpora pro výchozí hodnoty uvedené v anotacích |
| 34 | + |
| 35 | + [Informace na Nette fóru](http://forum.nette.org/cs/14592-lean-mapper-tenke-orm-nad-dibi?p=9#p108616) |
| 36 | + |
| 37 | +* Přidána podpora pro správu jednoduchých M:N vazeb |
| 38 | + |
| 39 | + [Informace na Nette fóru](http://forum.nette.org/cs/14592-lean-mapper-tenke-orm-nad-dibi?p=4#p105942) |
| 40 | + |
| 41 | +* Přidána podpora pro single table inehritance |
| 42 | + |
| 43 | + [Informace na Nette fóru](http://forum.nette.org/cs/14592-lean-mapper-tenke-orm-nad-dibi?p=5#p106593) |
| 44 | + |
| 45 | +* Vylepšena podpora výčtového typu (přidána metoda `LeanMapper\Reflection\Property::getEnumValues`) |
| 46 | + |
| 47 | + [Informace na Nette fóru](http://forum.nette.org/cs/14592-lean-mapper-tenke-orm-nad-dibi?p=6#p107052) |
| 48 | + |
| 49 | +* Zlepšen parser anotací, přidány nové příznaky a odstraněn příznak `m:extra` (BC break) |
| 50 | + |
| 51 | + [Informace na Nette fóru](http://forum.nette.org/cs/14592-lean-mapper-tenke-orm-nad-dibi?p=8#p107950) |
| 52 | + |
| 53 | +* Přidán whitelist do metody `LeanMapper\Entity::getData` |
| 54 | + |
| 55 | + [Informace na Nette fóru](http://forum.nette.org/cs/14592-lean-mapper-tenke-orm-nad-dibi?p=8#p107950) |
| 56 | + |
| 57 | +* Přepracován systém filtrů – nové třídy `LeanMapper\Connection` a `LeanMapper\Fluent` (BC break) |
| 58 | + |
| 59 | + [Informace na Nette fóru](http://forum.nette.org/cs/14592-lean-mapper-tenke-orm-nad-dibi?p=9#p108425) \\ |
| 60 | + [Informace na Nette fóru](http://forum.nette.org/cs/14592-lean-mapper-tenke-orm-nad-dibi?p=9#p108493) |
| 61 | + |
| 62 | +* Přidán systém událostí |
| 63 | + |
| 64 | + [Informace na Nette fóru](http://forum.nette.org/cs/14592-lean-mapper-tenke-orm-nad-dibi?p=10#p108822) \\ |
| 65 | + [Propojení s Kdyby\Events](http://forum.nette.org/cs/15165-observer-v-nette-mam-spravny-navrh#p108884) |
| 66 | + |
| 67 | +* Provedena dekompozice `LeanMapper\Repository` (vyčleněny protected metody `Repository::insertIntoDatabase`, `Repository::updateInDatabase`, `Repository::deleteFromDatabase`) |
| 68 | + |
| 69 | + [Informace na Nette fóru](http://forum.nette.org/cs/14592-lean-mapper-tenke-orm-nad-dibi?p=11#p109028) |
| 70 | + |
| 71 | +* Přejmenovány metody `markAsCreated` na `markAsAttached` (BC break) |
| 72 | + |
| 73 | + [Informace na Nette fóru](http://forum.nette.org/cs/14592-lean-mapper-tenke-orm-nad-dibi?p=11#p109108) |
| 74 | + |
| 75 | +* Přidána metoda `LeanMapper\Entity::__isset` |
| 76 | + |
| 77 | + [Informace na Nette fóru](http://forum.nette.org/cs/14592-lean-mapper-tenke-orm-nad-dibi?p=11#p109211) |
| 78 | + |
| 79 | +* Entity není možné vytvářet z detached `LeanMapper\Row` (BC break) |
| 80 | + |
| 81 | +* Změněna viditelnost několika metod (všechny na méně omezující variantu) |
| 82 | + |
| 83 | +* Zlepšen výkon jádra a in-memory cache |
| 84 | + |
| 85 | +* Vylepšeny chybové hlášky |
| 86 | + |
| 87 | +* Při přístupu k položce mají metody vždy přednost před anotacemi |
| 88 | + |
| 89 | + [Informace na Nette fóru](http://forum.nette.org/cs/14592-lean-mapper-tenke-orm-nad-dibi?p=8#p107950) |
| 90 | + |
| 91 | + |
| 92 | +## [1.4.0](https://github.com/Tharos/LeanMapper/tree/v1.4.0) (21. 6. 2013) |
| 93 | + |
| 94 | +* V `LeanMapper\Result` se negeneruje `SELECT *`, ale `SELECT table.*` (teoreticky je to BC break) |
| 95 | + |
| 96 | +* Statická proměnná `LeanMapper\Repository::$defaultEntityNamespace` byla nahrazena stejnojmennou protected proměnnou (BC break) |
| 97 | + |
| 98 | +* Hodnota anotace `@entity` nad repositářem může být fully qualified (začíná `\`) a pokud není, tak se využívá `$defaultEntityNamespace` (BC break) |
| 99 | + |
| 100 | +* Nízkoúrovňová metoda `getModifiedData()` byla přejmenována na `getModifiedRowData()`, byla doplněna nízkoúrovňová `getRowData()` a vysokoúrovňová `getData()` (BC break) |
| 101 | + |
| 102 | +* Konstruktor entity nově umí přijmout i pole nebo instanci `Traversable` |
| 103 | + |
| 104 | +* Do `Repository` a `Entity` byla doplněna protected metoda `createCollection()`, jejímž přetížením lze zařídit, aby Lean Mapper vracel skupinu entit v nějaké uživatelské kolekci namísto jednoduchého `array` |
| 105 | + |
| 106 | +* Upraven `AliasesParser` tak, že stavovým automatem prochází jenom ty části kódu, ve kterých může být nějaký `use` (významné zlepšení výkonu) |
| 107 | + |
| 108 | +* Upravena kontrola typů položek tak, že jsou přijímány i potomci vyžadovaných tříd (pokud položka vyžaduje `DateTime`, nově prochází i `DibiDateTime` atp.) |
| 109 | + |
| 110 | +* Přidán příznak `m:extra` (možnost snadného vlastního rozšíření anotace) |
| 111 | + |
| 112 | +* Upraven `LeanMapper\Result` tak, že při získávání souvisejících dat může volitelně využívat „IN“ nebo „UNION“ strategii (viz jak to řeší NotORM a také viz [tento článek](http://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax-row-per-group-in-sql/)) – je to důležité pro správné limitování a řazení |
| 113 | + |
| 114 | +* Přidán příznak `m:enum` (podpora pro výčtový typ, například `m:enum(self::STATUS_*))` – thx [@JanTvrdik](http://forum.nette.org/cs/14592-lean-mapper-tenke-orm-nad-dibi#p105080) |
| 115 | + |
| 116 | + |
| 117 | + |
| 118 | +## [1.3.1](https://github.com/Tharos/LeanMapper/tree/v1.3.1) (10. 6. 2013) |
| 119 | + |
| 120 | +* Přidána anotace `@property-read` pro definici *read only* položek entity |
| 121 | + |
| 122 | +* V anotacích `@property` a `@property-read` v entitě je nově možné upřesnit, na jaký sloupec v `LeanMapper\Row` se položka mapuje (např. `@property string $bookName (book_name)`) |
| 123 | + |
| 124 | +* Opraveny známé chyby |
0 commit comments