This repository has been archived by the owner on Feb 18, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathCHANGELOG
193 lines (169 loc) · 9.41 KB
/
CHANGELOG
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
2014-08-22 / v1.4.6 / theyak
* All code has been reformatted to make it easier to debug
* Fixed bug with BBCODE_VERBATIM which would not parse correctly if end tag was not lower case
* Remove PCRE_EXTENDED mode which would crash PHP.
* Cleaned up some notices
* Fix bug in Internal_RebuildSmileys debug statement
* Add ability to set maximum number of smileys
* Add allow_params rule to prevent params on some tags, e.g., [b], [i], [u]
2010-09-17 / v1.4.5 / Phantom Inker (inker2576@yahoo.com)
* SECURITY FIX: Fixed a bug that would allow arbitrary HTML
injection via the standard [acronym] tag.
2010-08-16 / non-released / Phantom Inker (inker2576@yahoo.com)
* Added another unit test for unclosed lists.
2010-06-05 / v1.4.4 / Phantom Inker (inker2576@yahoo.com)
* Fixed the long-standing bug in verbatim parsing so that
interior content is now truly verbatim and unprocessed.
This allows source code to be correctly represented inside
a [code] block even if it contains things like ['foo'].
* Fixed typos (missing $this-> and wrong variable names) in
SetDefaultRule() and SetWikiURL() that caused them to
reference things that didn't exist.
* Fixed a typo (missing backslash) in IsValidURL() that caused
it to miss some legal URLs.
* Fixed a bug that was incorrectly generating lists in some cases.
2009-10-31 / non-released / Phantom Inker (inker2576@yahoo.com)
* Fixed a bug in SetWikiURL that referenced an invalid function
parameter.
* Fixed a bug in the lexer that was causing comments to produce
an invalid following state (and thus causing comments to
effectively turn off tag parsing thereafter!).
* Added tests for the comment bug, and for a reported (but not
yet reproduced) quote bug.
2009-10-10 / v1.4.3 / Phantom Inker (inker2576@yahoo.com)
* Fixed a bug in plain mode that was causing tags processed in
plain mode to throw errors (it was calling a function that
had since been renamed).
* Added tests for plain mode to ensure this omission won't
happen again.
2009-06-21 / v1.4.2 / Phantom Inker (inker2576@yahoo.com)
* SECURITY FIX: [img] tag was allowing HTML content to be passed
through.
2009-04-03 / v1.4.1 / Phantom Inker (inker2576@yahoo.com)
* Fixed documentation for [quote] tag's url= attribute.
2009-03-20 / v1.4.1 / Phantom Inker (inker2576@yahoo.com)
* Added support for SetURLTarget() and GetURLTarget(), and
extended support for SetURLTargeting().
* Added four more regression tests for URL targeting.
2009-02-16 / v1.4.0 RELEASE / Phantom Inker (inker2576@yahoo.com)
* Replaced parsing logic for tags so that an equal-sign before
whitespace can be considered part of a tag's value. This
allows [url=http://foo.com?bar=baz] to be parsed the way the
user expects. Note that this does break some (probably
invalid) tags, but overall, the new parsing algorithm seems
to be a win.
* Added several regression tests for the new tag-parsing logic.
* Added SetURLTargetable() and GetURLTargetable(). However, the
default setting is to have this disabled for security reasons.
* Updated [url] tag to support URL targeting, using the standard
target="" form.
* Fixed Wikify() so that wiki links with ' or , in them will be
processed correctly.
* Added the _tag, _endtag, _hasend, and _params tag parameters.
* Added new appendix H for the tag parameters; added additional
documentation for Set/GetURLTargetable().
* Added $debug flag to BBCodeLexer, replicated from the same flag in
class BBCode itself.
2009-01-08 / v1.3.4 / Phantom Inker (inker2576@yahoo.com)
* Replaced IsValidEmail() with e-mail validator from AddedBytes.com,
which does a considerably better job of validating incorrect
e-mails. This fixes a bug were some e-mail addresses in [email]
tags were being rejected even though they were legal.
2008-12-01 / v1.3.3 / Phantom Inker (inker2576@yahoo.com)
* Added regression tests for [[wiki]] tags due to possible issue
identified in debugging CMXpress v0.9.8.
2008-11-06 / v1.3.2 / Phantom Inker (inker2576@yahoo.com)
* Added regression tests for parsing equal signs in tags per tracker
ID #2220598.
2008-08-08 / v1.3.1 RELEASE / Phantom Inker (inker2576@yahoo.com)
* Added profiler class and profiling code.
* Added support for removable sections in compressed version.
* Removed major performance bottleneck in Internal_ProcessSmileys()
that cut overall parsing times to about one third of what they
were before.
* Added PHP 4 compatiblity check for str_split; fixes a significant
bug on PHP 4 systems.
* Simplified test script's time output, since the new profiling code can
track it more accurately when debugging.
2008-08-07 / v1.3 RELEASE / Phantom Inker (inker2576@yahoo.com)
* Exposed the functionality of FillTemplate() as a public function.
* Changed template-filling to have its default encoding be RAW, not
HTMLEncode(). This will affect any ENHANCED rule used with v1.2
or earlier; those rules MUST be converted to use the new /e
flag or they will not function properly.
* Changed 'plain_link' processing to use FillTemplate().
* Added URL/domain-name/email-address auto-detection (turned off by default).
* Added conformance tests for URL/etc. auto-detection.
* Added URL/etc. auto-detection APIs to documentation.
* Added 'k' flag and '.' operator to FillTemplate().
* Added FillTemplate() API to documentation.
* Added FillTemplate() example.
* Changed example programs to use "nbbc.php", not "src/nbbc_main.php".
* Added RSS example to demonstrate limiting and plain modes.
* Changed full example to offer checkboxes for testing various modes.
* Added an appendix containing sample CSS.
* Added usage sections to the documentation for limited-length mode,
plain-HTML mode, and URL-autodetection mode.
* Added new NBBC logo :-)
Stats: 127 KB source, 260 KB user's manual, 131 conformance tests [ALL PASS].
2008-08-04 / v1.2 RELEASE / Phantom Inker (inker2576@yahoo.com)
* Added output-limiting mode.
* Added output-limit tails.
* Added fuzzy output limiting.
* Added plain-text mode.
* Added API documentation for output-limit and plain-text mode.
* Changed examples to use XHTML header declarations
* Added limiting example.
* Added strip_tags() calls to [url], [email], and [img] tags for safety.
* Fixed double-encoding bug in [url], [email], and [img] tags when specifying
the URL as content instead of in the tag itself.
* Fixed double-encoding bug in the [color] and [acronym] tags.
2008-07-30 / v1.1 RELEASE / Phantom Inker (inker2576@yahoo.com)
* Added more conformance tests and expanded some existing ones.
* Added performance-measuring to test_nbbc.php.
* Optimized lexer pattern to return fewer text tokens whenever possible.
* Optimized stack to use symbolic constants instead of strings.
* Optimized whitespace removal to perform fewer lexer calls.
* Optimized parser core when dealing with text/whitespace/newlines.
* Optimized text-collection to use output buffering instead of string cats.
* Optimized smiley conversions for the most common case.
* Several other small optimizations and cleanups.
* Overall performance improvement of about 30%.
* Fixed incorrect rule declaration logic for callback functions.
* Fixed section-link glitch in user's manual.
* Fixed bug that was prohibiting uncompressed version from working right.
* Removed (currently) unused BBCODE_OUTPUT_TEXT declarations (these probably
need to be added in for real at a later date).
* Added sample CSS appendix to user's manual.
* Added short table-of-contents to user's manual for web site.
* Added five example scripts to the new examples/ directory.
Stats: 105 KB source, 217 KB user's manual, 121 conformance tests [ALL PASS].
2008-07-29 / v1.0 RELEASE / Phantom Inker (inker2576@yahoo.com)
* Added newline-ignore mode and conformance tests for it.
* Finished writing first-edition user's manual.
Stats: 102 KB source, 212 KB user's manual, 120 conformance tests [ALL PASS].
2008-07-24 / v1.0 RC5 / Phantom Inker (inker2576@yahoo.com)
* Added alternate tag-marker modes and conformance tests for it.
* Added ampersand pass-through mode and conformance tests for it.
* Fixed HTML-encoding error in BBCODE_VERBATIM tags; converted [code]
tag to use direct htmlspecialchars() calls.
2008-07-23 / v1.0 RC4 / Phantom Inker (inker2576@yahoo.com)
* Updated tests to recognize new CSS classes in standard library's output.
* Fixed class-output bugs in standard library.
2008-07-21 / v1.0 RC3 / Phantom Inker (inker2576@yahoo.com)
* Converted user's manual to new auto-generating format, and wrote
additional documentation. User's manual is now about 90% complete.
* Reworked directory structure to be cleaner, and added support for
generating compacted "nbbc.php" version.
2008-07-16 / v1.0 RC2 / Phantom Inker (inker2576@yahoo.com)
* Fix decoding issue to be more permissive, which corrects nesting errors
for broken [column] tags and other class-nesting issues.
* Add support for removing floating ending tags whose start tags had been
consumed during output-generation.
2008-07-14 / v1.0 RC / Phantom Inker (inker2576@yahoo.com)
* Proposed final release candidate: Implements full BBCode language, plus
smileys and wiki-links, with no apparent failures or caveats.
* Added conformance test script with 49 tests.
2008-07-01 / alpha / Phantom Inker (inker2576@yahoo.com)
* First usable build; no version number. Performs basic compiling and stack
transforms; currently very limited in what it can process.