-
Notifications
You must be signed in to change notification settings - Fork 4
/
IrpTransmogrifier.releasenotes.txt
281 lines (242 loc) · 13.6 KB
/
IrpTransmogrifier.releasenotes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
Release Notes for IrpTransmogrifier.
The notation #n refers to issues number n at
https://github.com/bengtmartensson/IrpTransmogrifier/issues
===============================================================================
2024-01-08: Version 1.2.13.
Although many lines of code has changed through refactorizations, the
present version consists of a few bug fixes and clarifications of medium importance.
Thanks to Sean Young for some non-trivial challenges (in particular #239!) ;-).
* Protocols: Amazon_fan, Roku-8bit new protocols. Renamed Pioneer->Pioneer-2Part, tweaks to NECx1, NECX-f16 and TCL_AC.
* Normal-form-IRP now uses +, not *. See #245.
* Robustness fix for BracketedIrSignalParser (frequency).
* Misc. code cleanup.
* Minor documentation update/clarification.
* Major refactoring for extraction bug. See #239.
* Do not nuke variants-intros that are equal to the repeats any more. #241.
* Changed error handling when parsing/lexing: Unknown tokens now stops parsing. #238.
===============================================================================
2023-03-01: Version 1.2.12.
This version consists of a few bug fixes and clarifications of medium importance.
Thanks to Sean Young for initiating most of them.
* XML EEP (External Entities Protection) fixes. Resolves #237.
* Check/enforce max BitField length when rendering. #235.
* More checks for compatible BitSpecs. #236.
* Per default, disallow BitFields widths > 63. #234
* Minor refactoring of *BitField classes.
* Make number parsing consistent (as long). #233.
* Disallow infinite bitfields to be part of an IrStream. #229.
* Ensure that irp with * repeat must have all intro variants empty. #231.
* Remove parameter specs and extent on NEC-Shirriff. Resolves #226.
* IrSignal: Do not nuke intro- and repeat-sequences because they are identical to the repeat sequence. #222, #223, #224.
* Protocol.checkSanity(): Do not warn for empty parmeterspecs if no bits in protocol.
* Sensible implementation of Variation.numberOfBits
* Set "Samsung32" as synonym for NECx-f16.
===============================================================================
2022-05-24: Version 1.2.11.
This version consists mainly of a few extensions, bugfixes and cleanups.
* If DecoderParameters.allDecodes is true, indicate which decode is preferred with new API call.
* Bugfix/cleanup on decoder parameter and --override handling. #214.
* Some cleanup of XML code generation.
* Decoded protocol parameters (in toString()) now ordered as in the IRP ParameterSpecs. #207.
* Analyze now optionally generates ParameterSpecs in the IRP. Resolves #202.
* New protocols: Eufy, F12x, Keeprite. ((From RMIR).
* Bugfix in IrpDatabase.toElement(Document ...). #219.
* Add intro, repeat, ending to --classify output. #218.
* Remove cName (@c-name in XML) completely. #217.
* Rename min-leadout to minimum-leading (pull request #212 from seanyoung).
* Bugfix for IrCoreUtils.parseLong(String, boolean, int). #211.
* New function IrpDatabase.setDocumentation.
===============================================================================
2021-06-27: Version 1.2.10. This version is considered "Long Time Stable".
* New protocols NEC-Yamaha and NEC1-Yamaha.
* Make RCMM32 an alias to Nokia32.
* Merge protocol fixes from rmProtocols.xml of RMIR, latest snapshot. #208.
* Make DirecTV an alias to DirecTV_P3. #206.
* Many small or internal fixes to the API, wrappers, tests, documentation, the build process.
* Added xpath processing to XmlTransmogrifier.
* Clarified Variations and remote marker; some constructs now disallowed, #200.
* New options --xml.
* Fixed broken xinclude, #199.
* Updated X10 protocols (mostly by Graham).
* Updated Apple protocol.
===============================================================================
Version 1.2.9: There is no version 1.2.9.
===============================================================================
2020-09-17: Version 1.2.8
* Support commitId in Version. Given out from "version" command.
* Set a sensible lead-out on protocols NEC-Shirriff and NEC-Shirriff-32.
* Bugfix for comments within irp:protocol/irp:parameter[@type='xml"]. #191.
* irp-protocols.xsd: Allow xml:space in <irp:documentation>. #188.
* New option decode --girr.
* New protocols TCL_AC, keeprite.
* Error message improvements.
* analyze --bit-usage now computes lengths of constant/varying segments.
* Fix problem with analyze/--parametertable. #190.
* IrpDatabase: Recycle get-ted Protocols. #189.
* IrpProtocols.xml: NECx2: put reject-repeatless=true
* Merge rmProtocols from remotemaster, several times.
===============================================================================
2020-07-05: Version 1.2.7
* Add Motorola as alt_name for Blaupunkt, #187. Remove Blaupunkt_relaxed.
* Merged rmProtocols.xml from RemoteMaster commit r1712 as well as r1714.
* Reformatted IrpProtocols.xml using list --dump.
* Now allows attribute xml:space in <irp:documentation>.
* Better check for circular prefer-overs, option --prefer-overs. Resolves #170.
* Recognize NULL as argument to --out. Resolves #186.
* Improvements in list --dump. #184, #183.
* Remove -v as command line option.
* New option --xslt by decode and analyze. #182.
* API: Fix usage of UnsupportedEncodingException. #181
* Replace option --encoding by separate options for input and output. #180.
* Protocols: Kaseikyo family protocols now "prefer-over"-ed Kaseikyo. #177
* analyze with --tsv: layout fixes.
* New main-class XmlTransmogrifier: allows command line validation, reformatting, transformations.
* Implemented local XML Entity resolver (for accessing common Schemas locally, not over tne net).
* API: new package org.harctoolbox.xml. Some classes relocated to this.
* New option --validate. #173.
* Fixes to the schema irp-protocols.xsd. #174, #172.
* API: New function Protocol.fillInDefaults(Map<String,Long>)
* New option --fatgirr.
* Bugfixes and improvements in analyze --girr.
===============================================================================
2020-05-24: Version 1.2.6
* Checksums (signed in released versions) now reside in files checksums.*. #169.
* Improvements in the main documentation.
* Changes to the Dyson protocol(s), as proposed by Graham Dixon.
* Rename JVC_alt -> JVC_squashed.
* Merged in new documentation for NEC*-f16 protocols from RemoteMaster v2.10 build 8.
* Rename protocol Dysan -> Dyson.
* Fixed inconsequent working of --radix. #167.
* Fix bug in analyze --invert. #163.
* New option --validate in analyze. #166.
* Make the radix prefixes in IrCoreUtils configurable in API. #165.
* Validate --radix command line option. #164.
* Refactor commands. Resolves #162.
* Fix bug in Biphase decoding. #161.
* Improved analyzer command line output for named parameters.
===============================================================================
2020-03-24: Version 1.2.5
* IrpProtocols.xml: Merge protocol updates from RemoteMaster 2.10b2.
* Better error messages for rendered IrSequences not ending with gap. #158.
* Bugfix: IrpDatabase patch problems. #160.
* API: IrpDatabase API fixes; avoid return null. #159.
* Bugfix: overflow problem with very large data sets in --namedinput. #157.
* IrCoreUtils.parseLong improvements.
* list command: hide some ("expert") options. --all new option.
* Improve decoding of short Pronto hex (slightly more forgiving).
* Fixed decoder bug in Extent.decode. #156.
* render, bitfield, expression: --parameters now synonym for --nameengine. #155.
===============================================================================
2020-01-15: Version 1.2.4
* Code generation xml: Some fixes, more attributes, in particular tolerances.
* Better error messages for --logclass.
* New option list --parsedirp.
* Don't nuke whitespace from IRP in database.
* list --gui working again.
* Improved command line documentation for logging commands.
* Better command decoding for the demodulate command.
* Fixed problem with 0 durations in render --modulate. #154.
* Schema irp-protocols: Attribute protocol/@name now required.
* Documentation update.
* New protocol: Akord.
* Analyzer: --parameterwidths now allows for optional parameter names. #150.
* Several issues with patch files fixed.
* Changes from Graham Dixon to uei-executor, several protocols.
* Changed parameterization of NEC*-f16 protocols.
* Added more test files and API examples.
* Update JCommander to the current version 1.78. #153.
* Refactoring of CommandDecode and Decode. #152.
===============================================================================
2019-11-12: Version 1.2.3
* Deploy releases to Maven Central repository, #149.
* Improvements to protocol documentation and HtmlDocumentation.
===============================================================================
2019-10-20: Version 1.2.2
* Bugfix: Fix implementation of IrpDatabase patchfile nuking by empty entries.
* Bugfix #148.
* Bugfix #147.
* IrpProtocols.xml: deleted unusable protocols.
* New constructor Decoder.SimpleDecodesSet(DecodeTree), new function Decoder.DecodeTree.toList().
===============================================================================
2019-10-16: Version 1.2.1
* Merge Graham Dixon's fixes http://www.hifi-remote.com/forums/viewtopic.php?t=101943&start=63
in particular in <irp:parameter name="uei-executor">.
* Updated protocol documentation etc in IrpProtocols.xml. Resolves #146.
* Implemented IrpDatabase.patch(File) etc, allowing for patching IrpDatabases.
From command line, allow several arguments to --config. Resolves #68.
* New option list --dump. Resolves #144.
* Rename IrpDatabase.toDocument to IrpDatabase.toXml
* Protocols: G.I.44DTVold removed; G.I.4DTVnoCheck -> G.I.4DTV_relaxed.
Remove all usable="true". Reordering.
===============================================================================
2019-10-11: Version 1.2.0
* New parameters in IrpProtocols.xml: frequency-low & frequency-high. #132.
* IrSignal.setFrequency replaced by IrSignal(IrSignal, double). #143.
* Reorganized the contributed directory.
* Fixed protocol Humax 4Phase. #142.
* Cleanup/efficiency fix in Protocol.toIrSequence(NameEngine, Pass).
* IrSequence.approximatelyEquals(IrSequence): much stricter default tolerances.
* Bugfix: Number.toString(int) now behaves properly also for Integers etc.
* Implement index reversal for large bitspecs. #141.
* Major refacoring of decoding, using Equation and BitwiseParameter. #127, #137.
* IrpProtocols.xml/irp:protocol[@name="NEC1-f16"]: set reject-repeatless to true.
* IrpProtocols.xml: rename protocol Ortek -> Ortek_NEClike.
* Remove attribute c-name in IrpProtocols.xml; add an explaining comment. #140.
* Refactored much of the Decoder stuff.
* Implemented predicates for prefer-overs. #134.
* Adjusted prefer-overs in IrpProtocols.xml to be compatible with the past.
* Improvements to list --check-sorted (previously --checksorted).
* Better user messages for no decodes.
* Improved logging, in particular for rendering.
* Move --override to common options.
* "New protocol" F12_relaxed.
* Moved irp from NamedProtocol to Protocol.
* Move ProtocolNotDecodableException and ProtocolNotRenderableException from NamedProtocol to Protocol.
* Encapsulate (hide) expansion in IrpDatabase. #139.
* Fix implementation of the short circuiting operators && and ||. #138.
* Fixed render --decode in the presence of defaults. #135.
* Extended API of IrpDatabase. #136.
* IrpDatabase now implements Iterable<NamedProtocol>. Cf. #136.
* Comment character of --input and --namedinput now settable using --commentStart. #133.
* Bugfix: render --decode misbehaved on protocol with definitions. #135
===============================================================================
2019-09-15: Version 1.1.1
Open issue: Protocol G.I.4DTV partially broken, see #126.
* --ignoreLeadingGarbage now forces IrSequence decoding.
* Improved logging of prefer-over removal of decodes (loglevel FINE).
* Bugfix: User parameters sometimes did not take effect (after #121). #131.
* IrpProtocols.xml: Prefer NEC2 over NEC, and prefer NEC1 over NEC1-rnc.
* For decoding of IrSignals, remove prefer-overs transitively. #130.
* Fixed definition of F12. #129.
* New render option --decode.
* Handle XHTML in element irp:documentation sensibly. #125.
* Allow XML in irp:parameter element. #124.
* Refusal to render decode-only protocols implemented. #123.
* New decode option --ignoreLeadingGarbage. #122.
* New decode option --override. #121.
* New common option --blacklist. #120.
* Refactoring some decoding stuff. Dramatic speedup on --recursive.
===============================================================================
2019-08-31: Version 1.1.0
* API example code added in directory contributed.
* Code generation code are now in a separate project IrProtocolCodeGeneration #108
* Pronto signals are per default loosely parsed #118, #117
* Bugfixes/improvements in Analyzer/Biphase* #116
* IrSignal.toString produces silly result in the presence of ModulatedIrSequence #115
* Refacturing of main class IrpTransmogrifier #114
* XML basedir problem fixed. (IrScrutinizer #314)
* Logging for debugging of (non-) decodes vastly improved #93
* Removed (non-owned) schemas and entitys files, #101.
* Fixes for non-recognized options in decode and analyze. #110.
* analyze now has --girr option #103
* New protocol classification (list --classify), constant intro/repeat #102
* Modulation/demodulation support: new command demodulate, command render has new
option --modulate; #100
* Remove support for the old ini file format, including convertconfig. #107
* Remove IctImporter #109
===============================================================================
2019-08-11: Version 1.0.1
* Allow for decode parameter not to override protocol specific values (API only).
(#112) (necessitated by IrScrutinizer issue #308).
* Robustness fix to BracketedIrSignalParser.
2019-08-06: Initial version 1.0.0.