# 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 ` ` with Pomf version. Generated with grunt-swig.
(Juuso Lapinlampi)
- PHPDoc DocBlocks. (Juuso Lapinlampi)
- Improved abbreviation support (``) 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 . (Juuso Lapinlampi)
- `upload_file()` will no longer attempt to remove temporary files manually.
Temporary files are automatically garbage collected by PHP. (Juuso Lapinlampi)
- `` warning uses the older, almost legendary "autistic neckbeard"
rant again. (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)
- JavaScript-free uploader (`nojs.html`). Use the upload API with external
tools. (Juuso Lapinlampi)
- Other services page (`other.swig`). This page may be removed in the
next major version. (Juuso Lapinlampi)
- HTML and text responses. Use other supported response types instead.
(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 `` element instead of `` 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 `