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
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
|
# Change Log
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## `2.1.0` - Unreleased
### Added
- `CHANGELOG.md`. (Juuso Lapinlampi)
- HTML `<meta name="generator">` with Pomf version. Generated with grunt-swig.
(Juuso Lapinlampi)
- PHPDoc DocBlocks. (Juuso Lapinlampi)
- Improved abbreviation support (`<abbr>`) for screen reader users. (Juuso
Lapinlampi)
### Changed
- All client-side JavaScript replaced with more efficient, smaller vanilla
JavaScript. (Luminarys)
- Luminarys added to `package.json` contributors. (Juuso Lapinlampi)
- Missing essential PHP includes and classes are now errors (`require_once`)
instead of warnings (`include_once`). (Austin Gillmann)
- Non-abuse contact email to <info@pantsu.cat>. (Juuso Lapinlampi)
- `upload_file()` will no longer attempt to remove temporary files manually.
Temporary files are automatically garbage collected by PHP. (Juuso Lapinlampi)
### Deprecated
- Swig banners. Use Swig templates or an alternative. (Juuso Lapinlampi)
- Unused file expiration (`expire`). This feature may be removed in the next
major version. (Juuso Lapinlampi)
- `get_sha1()` function and `$sha1` variable. This API may be changed or removed
in the next major version, switching to SHA-256 hashes. (Juuso Lapinlampi)
- `csv_error`, `csv_success`, `html_error`, `html_success`, `json_error`,
`json_success`, `text_error` and `text_success` functions. The functions will
be renamed to `camelCase` format (e.g. `csvError`, `htmlSuccess`). (Juuso
Lapinlampi)
- Output buffering (`ob_start`). This feature may be removed in the next
major version. (Juuso Lapinlampi)
### Fixed
- Code cleanliness of `upload_file()` in `upload.php`. (Juuso Lapinlampi)
## `2.0.3` - Unreleased
### Fixed
- Incorrectly referring to uploaded/published works as "content" in FAQ,
according to the GNU Project. (Juuso Lapinlampi)
- An unusual case where an error response may return an invalid HTTP
status code when `PDO::ATTR_ERRMODE` is set to
`PDO::ERRMODE_EXCEPTION`. (Juuso Lapinlampi)
- Missing `lang` attribute on Japanese word "baka" in page layout.
(Juuso Lapinlampi)
- Missing space character typo about file size on the index page. (Juuso
Lapinlampi)
## `2.0.2` - 2016-05-20
### Changed
- `npm bugs` URL replaced with an email address. (Juuso Lapinlampi)
### Fixed
- LibreJS `@source` URL to git.pantsu.cat's new cgit tree. (Juuso Lapinlampi)
- `package.json` package name to lowercase as per NPM rules. (Juuso Lapinlampi)
- Alphabetical order of grunt-swig options in `Gruntfile.js`. (Juuso Lapinlampi)
- "Getting help" IRC contact for developers in `README.md`. (Juuso Lapinlampi)
- Missing Bootstrap license header in `pomf.css`. (Juuso Lapinlampi)
## `2.0.1` - 2016-01-28
### Changed
- Gyazo Client renamed to Gyazowin in tools page to match the actual project
name. (Juuso Lapinlampi)
### Removed
- Unused, commented `a:focus` `outline-offset` in CSS. (Luminarys)
- Unused `check_fileapi.swig` inclusion in `nojs.swig`. (Juuso Lapinlampi)
- Unused `span.old` and `section.ded` CSS rules leftover from 2.0.0 release.
(Eliot Whalan)
### Fixed
- ShareX URL and settings in tools page. (Juuso Lapinlampi)
- Gyazowin URL in tools page. (Juuso Lapinlampi)
- PHPCS lint error about a missing newline after `text_error()`. (Juuso
Lapinlampi)
- PHP warnings about undeclared variables in `html_success()` and
`text_success()`. (Juuso Lapinlampi)
## `2.0.0` - 2016-01-10
### Added
- "Other services" page for Pantsu.cat. (Eliot Whalan)
- `lang` attributes for screen reader accessibility. (Eliot Whalan)
- Configuration option `POMF_FILES_LENGTH` for number of random characters to
use in a generated filename. (Juuso Lapinlampi)
- JavaScript-free upload. (Eliot Whalan)
- HTML response API (for JavaScript-free upload). (Eliot Whalan)
- Text response API. (Eliot Whalan)
- limf and 1339secure to tools page. (Eliot Whalan, Juuso Lapinlampi)
- LibreJS compatibility. (Eliot Whalan)
- License headers in source code. (Juuso Lapinlampi)
- Link to Pantsu.cat's Tor hidden service. (Eliot Whalan)
- Credits, contributing, features, demo and getting help sections to
`README.md`. (Juuso Lapinlampi)
- Git mailmap. (Juuso Lapinlampi)
### Changed
- Rebrand from Pomf.se to Pantsu.cat. (Eliot Whalan)
- Viewports no longer have a maximum scale. (Eliot Whalan)
- All tool configurations on tools page to use Pantsu.cat for uploading. (Eliot
Whalan)
- "Autist neckbeard" warning on front page for users without JavaScript. (Eliot
Whalan)
- Response Content-Type charset is now all uppercase (UTF-8). (Juuso Lapinlampi)
- npm dependencies have been updated to latest versions as of release. Fixes
deprecation warnings. (Eliot Whalan)
- npm dependencies accept caret (minor release) instead of tilde (patch
release). (Eliot Whalan)
- Increase user-configured maximum upload size to 128MiB. (Eliot Whalan)
- The upload button is now a `<button>` element instead of `<a>` hyperlink.
Improves semantics and accessibility. (Juuso Lapinlampi)
- Banners are no longer displayed on the FAQ page. (Juuso Lapinlampi)
- FAQ has been rewritten from scratch to explain what Pantsu.cat is and what its
policies are. Semantically correct and prettier. (Juuso Lapinlampi)
### Deprecated
- Gyazo response API. Use text response instead. (Juuso Lapinlampi)
- JavaScript ES5 code. A future release will update the JavaScript source to
modern ES6. Browser compatibility may be affected. (Juuso Lapinlampi)
### Removed
- All unmaintained and dead tools from tools page. (Eliot Whalan)
- Internet Explorer 8 quirks mode compatibility in uglified JavaScript. (Juuso
Lapinlampi)
- Moe panel from core, including most of the code in core for it. It is now an
(unsupported) extension. (Eliot Whalan, Juuso Lapinlampi)
- Unnecessary TODO section from `README.md`. (Harry H)
- Code and images for non-free kawaii anime girls. The latter cannot be
redistributed with the source. (Juuso Lapinlampi)
- Unused Grunt `cssmin` task's banner option. (Juuso Lapinlampi)
- Grunt HTML minification task. (Juuso Lapinlampi)
- Unused Grunt `mkdir` task. (Juuso Lapinlampi)
- Unused "POCKY~" CSS style rules. (Juuso Lapinlampi)
- Unused, commented Mozilla file input JavaScript code. (Juuso Lapinlampi)
### Fixed
- Missing whitespace in upload button label. (Eliot Whalan)
- Favicon HTML markup now uses modern `rel="icon"` markup. (Eliot Whalan)
- Refactored `generate_name()` for bug fixing. (Juuso Lapinlampi)
- Use UNIX socket in `POMF_DB_CONN` configuration option for faster database
queries. (Juuso Lapinlampi)
- Format all PHP code to PSR-2 style guide, fixes lint errors. (Juuso
Lapinlampi)
- Decode `…` correctly when the file is too big. (Juuso Lapinlampi)
- Remove other `…` decoding hack in `case 413`. (Juuso Lapinlampi)
- Whitespace in Swig templates, PHP and JavaScript. (Juuso Lapinlampi)
- `README.md` header outline, fixes accessibility. (Juuso Lapinlampi)
- Add missing authors to `LICENSE` and other files. (Juuso Lapinlampi)
- Format and lint all JavaScript code to Airbnb ES5 style. About 350 lint
errors found, each carefully fixed by hand. (Juuso Lapinlampi)
- Ambiguity in choice of words for licensing (MIT to Expat). No actual change
of license. (Eliot Whalan)
- Use strict PHP comparison for upload `$tries`. (Juuso Lapinlampi)
- Remove multiple instances of code duplication in JavaScript. (Juuso
Lapinlampi)
- Virus scan banner is now informative (`.alert-info`), not an error
(`.alert-error`). (Juuso Lapinlampi)
- Reduced `npm install` time from 15-30 seconds to mere ~5 seconds (on modern
Intel i7-3770K machine), resulting in faster builds. (Juuso Lapinlampi)
- Minor `README.md` documentation errors. (Juuso Lapinlampi)
- WCAG 2.0 contrast (section 1.4.3) in `.alert-info`. (Juuso Lapinlampi)
- Capitalization of "ShareX" heading on tools page. (Juuso Lapinlampi)
## `1.0.0+8757e9a` - 2015-08-15
Last Git repository snapshot in `nokonoko/Pomf` before forking to `pantsu/pomf`.
No formal release.
### Added
- Gyazo and CSV response types. (Peter Lejeck)
- Flattr to donation banner. (Peter Lejeck)
- Label and message to Bitcoin URL in donation banner. (Peter Lejeck)
- CSS for donation buttons. (Peter Lejeck)
- Moe panel for login/administration. (Eric Johansson)
- Alternative email contact for file deletion in FAQ. (Eric Johansson)
- CSS for old and dead tools. (Peter Lejeck)
- Double dot file extensions support. Configurable in `settings.inc.php`. (Peter
Lejeck)
- Disclaimer about unsupported web browsers in FAQ. (Eric Johansson)
- Initial file expiration support for moe panel. (Eric Johansson)
- MySQL schema (`schema.sql`) for installing Pomf. (Eric Johansson, cenci0)
- MySQL schema (`update.sql`) to help migrate old databases to the new moe panel
schema. (cenci0, Austin Gillman)
- HTTP compression support in `upload.php`. (cenci0)
- Configuration option `POMF_URL`. (cenci0)
- `diverse_array` and `refiles` API in `upload.php`. (cenci0)
- HTML minification using grunt-contrib-htmlmin. (cenci0)
- Instructions in `README.md` on how to enable compression in Apache webserver.
(cenci0)
- Todo section to `README.md`. (Eric Johansson)
- Advice to disable PHP execution for uploaded `.php` files. (Eric Johansson)
- Configurable `{{max_upload_size`}} option in `Gruntfile.js` to replace
hardcoded 50MiB value. Defaults to value 50. (Kieran Harkin)
### Changed
- `POMF_DB_CONN` default host to `127.0.0.1`. (Eric Johansson)
- Paddings on `.alert` boxes simplified. (Peter Lejeck)
- Donation plea. (Peter Lejeck)
- Donate buttons are unified and on a single row. (Peter Lejeck)
- PayPal's encrypted `<form>` replaced with a link in donation banner. (Peter
Lejeck)
- Virus scans banner to match the donate banner scheme.
- Donate banner is now an `.alert-info` instead of `.alert-error`. (Peter
Lejeck)
- `generate_name` algorithm. Generates random lowercase letters from `a` to `z`
instead of a mix of CRC-32B and random lowercase letters. (Eric Johansson)
- Tools page tool names and API status updated. (Eric Johansson, Peter Lejeck)
- Gyazo `generate_name` algorithm to `FxxAxxG.png`, where `x` is a random
lowercase letter. Removes CRC-32B checksums and `$grill` parameter from the
function. (Eric Johansson)
- Increased length of `generate_name` return string by one character. (Eric
Johansson)
- Default `POMF_FILES_RETRIES` increased from 5 to 15. (Eric Johansson, Peter
Lejeck)
- `nav.swig` links to new places of interest of other Pomf.se projects and
social media. (Eric Johansson)
- Genericize defaults function into merge utility in `cheesesteak.js`. (Peter
Lejeck)
- `README.md` now uses a hyperlink to `@nekunekus` Twitter account. (Eric
Johansson)
- Refactored the core PHP code in Pomf. Introduced classes. (cenci0)
- `.alert-info`, `.alert-error`, `nav a` and `a` CSS colors to satisfy WCAG 2.0
requirements on contrast (section 1.4.3). Patch by Juuso Lapinlampi. (Eric
Johansson)
### Removed
- Link to mail newsletter in FAQ. (Eric Johansson)
- Unused `blackniggers/kittens.php`. Previously used for Gyazo client, now
replaced. (Eric Johansson)
- Unused `get_crc32` function in `UploadedFile.class.php`. Reported by Juuso
Lapinlampi. (Eric Johansson)
### Fixed
- `git clone` URL in `README.md`. (Eric Johansson)
- PHPDoc comments in `upload.php`. (Peter Lejeck)
- A bug in `refiles()`. Deferences `$file`. (Peter Lejeck, catboy)
- Broken tools download URLs. (Eric Johansson)
- Uploading files without file extension. (Eric Johansson)
- Bitcoin wallet URI in donation banner. (Eric Johansson)
- ShareX settings URL in tools. (Eric Johansson)
- Gyazo Client author's Twitter URL. (Eric Johansson)
- Code indentation in `upload.php`. (Peter Lejeck)
- Reduntant `settings.inc.php` inclusion twice in `upload.php`. (benwaffle)
- Moe panel incorrectly returning 5 entries instead of none in search while
there's no search query. (benwaffle)
- Copy-pasted code rolled into a `for` loop in `generate_name`. (Michael
"wafflestealer654")
- HTML validation for `case 413` in `pomf.js`. (cenci0)
- `README.md` title from Pomf.se to Pomf. (Eric Johansson)
- Pass full URL back to the client in response. (Kieran Harkin)
### Security
- Cross-site scripting vulnerability in moe panel from arbitrary `originalname`.
No CVE requested. Reported by Juuso Lapinlampi. (Eric Johansson)
## `v1.0.0` - 2013-10-31
Initial unofficial release in `nokonoko/Pomf`. Changes are since initial commit.
### Added
- `LICENSE` with Expat license. (Eric Johansson)
- Email and Twitter contacts to `README.md`. (Eric Johansson)
- Frequently asked questions (FAQ). (Eric Johansson)
- Favicon. (Eric Johansson)
- Kawaii anime girls (`grill.php`). (Eric Johansson)
- Web interface with JavaScript. (Eric Johansson, Peter Lejeck)
- Tools page. (Eric Johansson)
- `upload.php`, `UploadedFile.class.php`, `database.inc.php`,
`settings.inc.php`. (Eric Johansson, Peter Lejeck)
- Gyazo support (`blackniggers/kittens.php`) with `generate_name` function.
(Eric Johansson)
- Grunt buildsystem. (Peter Lejeck)
- Swig pages. (Peter Lejeck)
- Swig banners. (Peter Lejeck)
- `README.md` documentation. (Peter Lejeck)
### Changed
- `.gitignore` will only ignore `dist/` and `node_modules`. (Peter Lejeck)
### Removed
- `.gitattributes`. (Eric Johansson)
|