Skip to content

POTI-board EVO v7.07.0 リリース v3.09.x以下の古いバージョンには重大なバグがあります。

Latest

Choose a tag to compare

@satopian satopian released this 28 Aug 11:13
· 1 commit to master since this release

古いバージョンに存在する重大なバグ

また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv6.xの開発です。v6.xの利用をおすすめします。

ダウンロード

このページの一番下のソースコードリンクからダウンロードできます。

POTI-board EVO v7.07.0 リリース

2026/08/12 v7.07.0

litaChix更新

バグ修正

  • レイヤーグループの移動・変形ができなくなっていたのを修正しました。
    このバグは2026年7月の更新で発生し、v7.07.0で修正されました。

pickr

PaintBBS NEOと連携して動作するカラーピッカー「pickr」を長押しした時にコンテキストメニューが開いていたのを修正しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php

2026/08/10 v7.06.0

バグ修正

  • 定数の二重定義でE-Warningレベルの警告が発生していたのを修正しました。
    このバグはv7.01.0で発生し、v7.06.0で修正されました。

パスワードハッシュのコストを10に

  • 従来のコストの設定値ではハッシュから実際のパスワードを割り出す時間が短すぎるため、コストを10に引き上げました。

変更があったファイル

  • potiboard.php

2026/08/08 v7.03.1

不正なクエリパラメータのチェック機能を強化

  • コンティニュー前画面、動画表示、管理者画面ログイン前画面にも不正なクエリパラメータチェックを追加しました。
    ホワイトリストにないクエリパラメータを拒絶します。

SNS共有機能をアップデート

Ci-enの記事をPommuにシェアできるようになりました | Ci-en|サービスインフォメーション

  • こちらの記事を参考にして、共有可能なSNSにポミュを追加しました。
image
$servers =
[

	["X","https://x.com"],
	["Bluesky","https://bsky.app"],
	["Threads","https://www.threads.net"],
	["Pawoo","https://pawoo.net"],
	["Pommu", "https://ch.dlsite.com/pommu"],
	["fedibird.com","https://fedibird.com"],
	["misskey.io","https://misskey.io"],
	["xissmie.xfolio.jp","https://xissmie.xfolio.jp"],
	["misskey.design","https://misskey.design"],
	["nijimiss.moe","https://nijimiss.moe"],
	["sushi.ski","https://sushi.ski"],

];

  • congig.phpの共有するサーバの一覧にポミュのURLを登録するとポミュへの共有が可能になります。
    ポミュへの共有が必要ない場合は、config.phpを更新する必要はありません。

litaChix更新

  • レイヤーとレイヤーマスクを別々に移動する機能を廃止して、レイヤーとレイヤーマスクの位置関係を保持するようになりました。
    変形した時にも、レイヤーマスクとレイヤーはリンクし、カットアンドペーストした時にもレイヤーとレイヤーマスクは常にリンクするようになりました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • klecks/ ディレクトリを上書きアップデート
  • neo.js
  • potiboard.php
  • sns_share.inc.php
  • config.php (ポミュへの共有機能を使う場合のみ更新)

2026/07/30 v7.01.0

config.phpに新規設定項目を追加

  • config.phpのパーミッションが0600に自動的に変わるようにしました。
    .htaccessで外部に表示しないようにしていました。
    また、直接アクセスしても何も表示されない筈です。
    しかしながら共用サーバの別ユーザによる操作の可能性はありました。
    第三者によるユーザーサイトの改ざん被害に関するご報告 - ロリポップ!レンタルサーバー
    このケースではwp-config.phpのパーミッションが0644だった事が悪用されました。
    そのため、config.phpのパーミッションが自動的に0600になるようにしました。
    普通に考えると共用サーバの別ユーザによるファイル操作ができる事自体が問題ですが、機密情報の入ったファイルには0644を使わないようにするという防御はエンドユーザーにもできる事なので今回対策を行いました。
//この設定ファイル (config.php) のパーミッション
define("PERMISSION_FOR_CONFIG", 0600);//初期値 0600
  • POTI-boardではそのほかのパーミッションも設定で変更が可能です。そのため、config.phpのパーミッションも設定できるようにしました。
    この設定項目は、0600では都合が悪い人だけが変更すれば良く、設定項目が存在しない時には0600が適用されます。
    0400などのほうがより安全にはなりますが、FTPでの上書きや削除もできなくなるため現実的はありません。
    そのため、デフォルト値は0600です。

GETパラメータで開いて欲しくないモード

  • POSTリクエストしか受け付けていない処理のモードがGETパラメータで表示される問題を修正しました。
    表示されるといってもエラーメッセージか、何も表示されていない画面でしたが、GETパラメータを様々に試行して攻撃するBOTはそういった箇所に隙があるはずだと考えて攻撃を開始します。
    そのため、POSTリクエストしか受け付けていない処理をGETパラメータで開いた時は403エラーを返すようにしました。

変更があったファイル

  • config.php (デフォルト値ではない値を設定したい場合のみ更新が必要でそれ以外は更新不要)
  • potiboard.php
  • sns_share.inc.php

2026/07/28 v7.00.8

config.phpに新規設定項目を追加

//ホスト名が逆引きできないIPアドレスからの管理者ログインを拒絶する
// する: true しない: false

define("REJECT_IF_NO_REVERSE_DNS_ADMIN_LOGIN", "0");

// ※"1"に設定すると、正当な管理者がログインできなくなる可能性があります。
// 大手プロパイダの回線であればログインできる筈ですが、公衆Wi-Fiなどで回線が変わるケースでは正当な管理者がログインできなくなる可能性があります。

ホスト名が逆引き出来ない回線からの管理画面へのアクセスを禁止する設定項目を追加しました。

/ホスト名が逆引きできないIPアドレスからの投稿を拒絶する
//する:1 しない:0
define("REJECT_IF_NO_REVERSE_DNS", "0");

以前から管理画面も、通常の投稿もすべて弾く上記設定はありました。
しかしながら、ホスト名が逆引きできない正当な投稿者は多く存在するため、全体で拒絶すると投稿できなくなる人が多く発生してしまいます。
そのため、管理画面限定で拒絶する設定項目を追加しました。

ユーザー編集・ユーザー削除画面での管理者パスワードを無効化

  • 掲示板の画面下部にある、記事番号とパスワードを入力して編集・削除を行うフォームでの管理者パスワードを無効化しました。
    今後は、管理者権限で編集・削除が行えるのは管理者画面にログインした時のみになります。
  • 管理者ログイン画面に入らなくても、パスワードが一致すれば管理者権限が使えるという状態はセキュリティ的に好ましくなく、番号とパスワードだけで操作する画面のため、管理者パスワードで誤って削除するつもりではなかった投稿を削除する誤操作の原因にもなっていました。

管理者パスワードの入力を伴う管理者ログイン画面を開く時はPOSTリクエストが必須に

  • 従来は、クエリパラメータ?mode=adminで管理者パスワード入力画面が表示されていました。
    つまりそのクエリパラメータのURLを表示すれば管理者パスワード入力画面が表示されていました。
    それでは、掲示板が設置されていない別のサイトからリンクする事もでき、固定URLを狙いうちにする攻撃に対して脆弱になります。
    そのため、POSTリクエストでのみ管理者パスワードの入力画面が開くようにしました。
    Javascriptにより、リンクをクリックするだけでPOSTリクエストが実行されるように工夫したため、従来と変わらない操作感になっています。
    POSTリクエストであるため、同一オリジンチェックやCookieチェックも同時に行う事ができるようになりました。

管理者ログインと管理者画面の操作にもCSRFトークンによるチェックを導入

  • CSRFトークンを追加し、不正な操作が実行されないようにしました。

テンプレートの互換性

  • 今回の更新で一部のテンプレートの互換性がなくなってしまいました。
    管理者画面で送信するPOSTリクエストの内容が変わってしまいました。
    また、管理者画面を表示するリンクにclass="js_admin_in_link"を追加してJavascriptによる操作を行うようになりました。

大きく変わったのはtemplates/basic/other.blade.phptemplates/mono/mono_other.blade.phpです。
テンプレートをカスタマイズしていない場合は、templates/ディレクトリを上書きするだけなのですが、カスタマイズしている人にとっては大きな変更かもしれません。
スタイルシートに影響がでるような変更はありませんが、テンプレートの一部の互換性がなくなってしまったため、メジャーバージョンを6から7に引き上げました。

変更があったファイル

  • config.php (新規設定項目を設定したい場合のみ更新)
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/js/basic_common.js
  • templates/basic/main.blade.php
  • templates/basic/other.blade.php

MONO

  • templates/mono/js/mono_common.js
  • templates/mono/mono_catalog.blade.php
  • templates/mono/mono_main.blade.php
  • templates/mono/mono_other.blade.php
  • templates/mono/mono_paint.blade.php

2026/07/25 v6.205.2

バグ修正

  • 返信モードで、備え付けのペイントツールで描画して、続きを描いた時に、サーバの応答が403エラーになり、画像の差換えが正常に行えなくなっていたバグを修正しました。
    クエリパラメータresidをホワイトリスト(許可リスト)に入れるのを忘れていたため発生していました。

パスワードなどの機密情報をGETパラメータで使用していた箇所を削除

  • 古くからの慣習で、GETパラメータで画像の差換えのためのパスワードを送信する事がありました。
    しかしそれは、そのURLがわかれば、パスワードもわかるという事を意味しています。
    そのため、POSTによるより安全な処理に移行する方法を模索し、安全なPOSTによる処理に移行していました。
    その時に、古い方式が必要な場合があるかもしれないと考えて、GETパラメータでパスワードを受け取る処理も残してしまいました。
    このセキュリティの穴を完全に除去するため、GETパラメータを使った画像の差換えのための機密情報の受け渡し処理を完全に削除しました。
    これまでも生のパスワードをGETにセットするべきではないと考えてOpenSSLで暗号化するなどの対策は行っていました。
    しかし、暗号化されたパスワードが漏洩すれば、その暗号化されたパスワードを復号化している処理では、暗号化されたパスワードそのものが開くための鍵になってしまいます。
    またオープンソースであるため、復号鍵が漏れていれば暗号化されたパスワードを復号化できてしまいます。
    そのため、GETパラメータを使用したパスワードの受け渡し処理を完全に削除しました。
  • しぃペインターの拡張ヘッダーにはGETパラメータのように見える処理があり、パスワードがセットされていますが、読み込みのためのものであり、GETではなく、POSTで送信されます。

変更があったファイル

  • neo.js
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php

2026/07/23 v6.203.2

バグ修正

  • PHP8で追加されたstr_contains()を使用してしまったため、PHP8.x環境では問題なく動作するものの、PHP7.3などで致命的エラーが発生していました。
    そのため、PHP7.xでも動作するstrpos()を使用するようにしました。

変更があったファイル

  • potiboard.php

2026/07/22 v6.203.1

サーバに負荷をかけるSQLインジェクションの試行を検出した時は403

  • このスクリプトはSQLを使用していないため、いくらSQLコマンドをインジェクションしても何も流出しません。
    しかしながら、これらのBOTによる攻撃はサーバへの負荷になります。
    そのため、GETパラメータでSQLインジェクションのパターンを検出した時は、403エラーを返すようにしました。

PaintBBS NEO更新

  • 手ぶれ補正レベル1の時の補正強度を弱くしました。
  • 線幅が8px以上の時の補正強度を弱くしました。
  • 画面が拡大されている時の補正強度を弱くしました。
  • 開発を継続できるようにするためコードの整理を行いました。

litaChix更新

  • 開発を継続できるようにするためコードの整理を行いました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • neo.js
  • potiboard.php

2026/07/15 v6.202.2

PHP8.6Alpha1でテスト

  • 11月にリリースされるPHPの最新バージョンPHP8.6のAlpha1でテストし、PHP8.6では非推奨である事が判明したmb_regex_encoding()を撤去しました。
  • PHPのrfcで非推奨化の議論が行われているlist()構文を撤去しました。

NEO、litaChix更新

  • これまではanyになっていた箇所に型を追加し、型の追加によって発生したTS型チェックのエラーを修正しました。
    開発を継続できるようにするためのコードの整理をすすめています。

loadcookie.js 更新

  • anyになっていた箇所に型を追加し、型の追加によって発生したTS型チェックのエラーを修正しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • neo.js
  • loadcookie.js
  • potiboard.php
  • search.inc.php
  • thumbnail_gd.inc.php

2026/07/11 v6.201.2

litaChix更新

  • これまでは、画像をコピーしてペーストすると、マスクで消えているはずの箇所がマスクなしでペーストされていました。
    そして、マスクをコピペするとマスクとしてペーストされず新規画像にグレースケールの画像としてペーストされていました。
    そのため、画像とマスクをセットでコピー(またはカット)し、画像とマスクがリンクした状態でペーストできるようにしました。
  • 選択範囲をかけて変形した時に、画像とマスクは別々に変形していました。
    そのため、画像とマスクがリンクした状態で変形できるようにしました。
    しかし、マスクだけ拡縮したい時やマスクだけ移動したりマスクを複製したい時もあるかもしれません。
    そのため、マスク編集時にはマスクのみの変形や移動、複製ができるようにしました。
    マスク編集時にはレイヤーとマスクの関係性をあえて切るこの仕様以外の箇所はクリスタに近い動作になりました。
    より一般的なペイントツールの操作に近くなり、直感的に操作できるようになりました。
    また、マスクの変形時にマスク画像の断片画像のグリッチが発生する古くから存在していた問題を解消しました。
    NEO、litaChixともに、class構文に移行しprototype構文は0件になりました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • neo.js
  • potiboard.php

2026/07/05 v6.200.1

litaChix更新

  • prototype構文をclassのメソッドに変更しました。
    473件あったprototype構文は3件のみになりました。
  • ツールのスポイトを選択した時にスポイト用の十字カーソルに切り換わらなくなっていたバグを修正しました。

PaintBBS NEO更新

  • 半角英数を使用して、bewなどを入力するとテキスト入力が終了するバグを修正しました。
    ショートカットキーのbで鉛筆に切り替わっていました。
    また、動的パレットやカラーピッカーの16進数の入力欄といったNEO本体以外の入力欄でbと入力するとNEOのツールが鉛筆に切り替わっていたのを修正しました。
    NEOのテキスト入力欄と、外部のテキスト入力欄の判定を分離し、さらに入力欄ではない時にのみNEOのショートカットキーを有効化するようにしました。

  • PaintBBS NEOの開発が開始された2016年当時は、古いブラウザに対応するため、prototype構文による実装が必要でした。
    しかし、そこから10年の時が流れ、prototype構文は必須ではなくなり、class構文が主流になりました。
    class構文を使用すると静的解析ツールによるバグの発見が容易になり、可読性も向上します。
    そのため、557箇所に及ぶprototype構文をES6 class構文に書き直しました。

カラーピッカーのデザインをClassicからMonolithに変更

image

カラーピッカーのサイズが大きすぎたため、pickrのCSSテーマをClassicからMonolithに変更しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • neo.js
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php

2026/06/30 v6.199.0

  • PWAとして使用するときに、動画が別タブとして開かなくなり、画面を閉じるリンクのクリックでPWAのアプリ全体が閉じてしまう問題を修正しました。
  • tegaki.jsの動画再生画面のviewportが正しく設定されていなかったのを修正しました。
  • litaChixを更新しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/main.blade.php
  • templates/basic/res.blade.php
  • templates/basic/tgkr_view.blade.php

MONO

  • templates/mono/mono_main.blade.php
  • templates/mono/tgkr_view.blade.php

2026/06/29 v6.198.2

  • PaintBBS NEOをv1.7.10に更新しました。
    ウィンドウビュー(フルスクリーン)モードの時にもカラーピッカーで描画色を選択できるようになりました。

image

  • 黒色の時にカラーピッカーの色相スライダーが動かなくなっていたのを修正しました。

変更があったファイル

  • neo.js
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php

2026/06/27 v6.197.0

PaintBBS NEO更新

  • PaintBBS NEOをv1.7.9に更新しました。
    PaintBBS NEO に外部ライブラリのカラーピッカーと連携するインターフェースを追加しました。
    そのインターフェースを使用して、GitHub - simonwep/pickr: 🎨 Pickr を実装しました。

image

これにより、カラーピッカーで描画色を変更できるようになりました。
この機能は、動的パレットの枠の中にありますが、動的パレットの一部ではありません。

tegaki.js更新

tegakiは一度カラーピッカーを閉じなければ色が確定しない仕様でした。
そのため、描き始めの色が意図した色にならない事がありました。
この問題を回避するため、カラーピッカーで色を選択した時点で、描画色に即座に色を反映するようにしました。

変更があったファイル

  • lib/pickr/ ディレクトリを上書きアップデート
  • neo.js
  • potiboard.php
  • tegaki/tegaki.js
  • search.inc.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php

2026/06/24 v6.193.1

動的パレットスクリプト更新

独自に改良を重ねてきた
BBS Note 動的パレット&マトリクス 2003/06/22
(C) のらネコ WonderCatStudio
を更新しました。
HTML <input type="color"> 属性値 - HTML | MDN
を使用して、グラデーション作成の色の設定を行う事ができるようになりました。
ブラウザ内蔵のカラーピッカーを使用して、色を設定できるようになりました。
残念ながらiPadやMacのSafariでは機能しません。

image

sakots/noReita: noReita, the oekaki BBS (php7.4~ , 8.x)で同様の機能が実装されたのをヒントにしましたが、異なるコードです。

変更があったファイル

  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php

2026/06/21 v6.192.0

litaChix更新

  • 混色ブラシで混色した時に明度・彩度が低下するのを緩和するため、色の計算をsRGBからリニアRGBに変更しました。
    また、混色ブラシで混色する時に、明度と彩度が下がりつづけるのを防止するため、暗い色と明るい色を混色する時に、明るい色を優先するようになりました。
    これにより、暗い色が明るい色に変化します。
    陰影のエッジをぼかすために混色する時には明るくならないとうまくいきません。
    これまではわずかに暗い色があるだけであっても、混色する事で暗い色が広がっていました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/06/20 v6.191.1

不正なクエリパラメータの時は403 Forbiddenを返す

  • カタログモードとレス返信モードのクエリパラメータのチェックを強化します。
    カタログモード時のクエリパラメータはmodecatalogpageのみが許可されそれ以外は403で拒絶されます。
    レス返信モード時にはres以外のクエリパラメータの時は403で拒絶します。

litaChix更新

  • 水彩ブラシなどで混色した時に明度・彩度が低下するのを緩和するため、色の計算をsRGBからリニアRGBに変更しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/06/18 v6.190.0

前のスレッドへのリンクが表示されなくなっていたバグを修正

  • 個別スレッド表示時にページの下段に表示される、前のスレッドへのリンクが表示されなくなっていたのを修正しました。

Chromeのメモリセーバーによる描画中の画像の破棄を防止

  • 非アクティブなタブをメモリを解放するために破棄するChromeのメモリセーバーによって描画中のイラストが消失する事があります。
    そのため、非アクティブになったタブのタイトルタグを変更しアスタリスク「*」を付けます。
    これにより、非アクティブになったタブの破棄を回避します。
    しかしこれは、現時点でのブラウザの仕様を利用したハックであり、もっとも確実な回避方法は、Chromeの設定の 「常にアクティブにするサイト」 にサイトを追加する事です。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • neo.js
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/js/visibility-change-title-rewrite.js
  • templates/basic/paint.blade.php
  • templates/basic/paint_axnos.blade.php
  • templates/basic/paint_klecks.blade.php
  • templates/basic/paint_tegaki.blade.php

MONO

  • templates/mono/js/visibility-change-title-rewrite.js
  • templates/mono/mono_paint.blade.php
  • templates/mono/paint_axnos.blade.php
  • templates/mono/paint_klecks.blade.php
  • templates/mono/paint_tegaki.blade.php

2026/06/16 v6.188.2

不正なクエリパラメータの時は403 Forbiddenを返す

  • サイトを攻撃するBOTはSQLインジェクションのコマンドなどをクエリパラメータに入れて短時間に送信してきます。
    この掲示板システムはSQLを使っていませんが、BOTはSQLを使っているはずだと推測してアクセスしてきます。
    その時に、SQLインジェクション攻撃は成立しませんが、サーバに負荷はかかります。
    そのため、不正なクエリパラメータを検出した時は、PHPの実行をとめ、403 Forbiddenを返すようにします。
    正当なパラメータをホワイトリストとしてセットし、それ以外を403にして攻撃を遮断します。

litaChix更新

  • litaChixはChickenPaintを改造したものです。
    そのオリジナルのChickenPaintが更新され、Chromeのメモリーセーバーによるタブの破棄に対する対策が実施されました。
    それを参考にlitaChixにも同様の機能を実装しました。
    また、litaChixには、60ストロークごとにブラウザのデーターベースに保存する機能があるため、タブがメモリーセーバーによって破棄された場合でもブラウザのデーターベースから復元できる可能性があります。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php
  • search.inc.php

変更があったテンプレート

BASIC

  • templates/basic/js/basic_common.js

MONO

  • templates/mono/js/mono_common.js

2026/06/12 v6.185.0

PaintBBS NEO、litaChix更新

  • TS型解析ツールを使用して、適切な型を指定しました。
    暗黙的にanyになっていた箇所に型を指定するとnullかもしれないという警告や、整合性がとれないという警告が多数発生するケースがほとんどであるため膨大な作業になりましたが、ひとつひとつ修正していきました。
    また、暗黙的にanyになるという警告も完全に解消しました。
    コードの内容からanyにせざるを得ない箇所を明示的にanyにし、型を明確にできる箇所には型を追加しました。
    この作業には約一ヶ月かかりましたが、コード内の関数をマウスオーバーするだけで関数のパラメータや返り値の型がわかるようになりました。
    また、コードに矛盾があれば新たな警告が発生するため、バグを未然に防ぐ事ができるようになりました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • neo.js
  • potiboard.php

2026/06/04 v6.183.0

PaintBBS NEO更新

バグ修正

  • v1.5の時点から存在していたモバイル端末でBzの操作を完了しないまま、手書きや直線への切り換えを行った時にBzのハンドルが表示されたままになるバグを修正しました。

TS型解析ツールの警告を削減

  • ver1.6.60で「1000件以上あったTS型チェックの警告を10件に削減」したつもりになっていましたが、多くの型がanyになる事で警告がでなくなっていただけでした。
    型を明確にした結果、800件の警告が発生したため、JSDocの追加や修正を行い、コードそのものの書き直しを行いました。
    ライブラリとして使用しているlz-stringの警告は残っていますがあえて残しました。
    ライブラリがバージョンアップするたびにライブラリの警告を解消するための更新作業が発生するからです。

Neo.params

  • paramタグの代わりにObjectで設定するNeo.paramNeo.paramsに変更しました。
    設定項目が複数存在するため、複数形にしました。
    互換性を維持するため、v1.7.2で追加した単数形のNeo.paramでも設定できるようにしました。

変更があったファイル

  • neo.js
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php

2026/06/01 v6.182.0

バグ修正

テンプレートMONO使用時にPaintBBS NEOで続きを描く事ができなくなっていたのを修正

  • テンプレートMONO使用時にNEOで続きを描く事ができなくなっていました。
    このバグはv6.179.0で発生し、v6.182.0で修正されました。

PaintBBS NEOの新起動方法に対応

  • applet、paramタグを使った起動方法は古い掲示板との互換性を保つために必要でした。その仕様のため、新しく開発している掲示板でもapplet、paramタグが必須でした。
    PaintBBS NEOv1.7.2からそれらの古いJavaアプレットための記述方法に依存しない起動が可能になったため、POTI-boardもそれに対応しました。
    paramタグは2022年にHTML5 そして HTML Living Standardから削除されており、今後も動作するとは限りません。
    そのため、paramタグに依存しない起動方式を採用しました。

変更があったファイル

  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php

2026/05/31 v6.181.1

PHPDoc、JSDocを追加

  • 今後の開発の継続のため、JSDoc、PHPDocを追加しました。
    これによりコード内に出現する関数をマウスオーバーするだけで確認できるようになります。

litaChix更新

  • 筆圧を使用して描線した時に、線のところどろこに細く薄いブロックが出現する問題がありました。
    問題解決のために試行錯誤を重ねてきましたが、ついにボトルネックになっている箇所を突き止める事ができました。
    1ピクセルを4x4=16階調で処理していた箇所を8x8=64階調でサンプリングする事でこの問題を解決する事ができました。
    これにより、これまでにない綺麗な線で描画できるようになりました。

image

変更があったファイル

  • axnos/ ディレクトリを上書きアップデート
  • chickenpaint/ ディレクトリを上書きアップデート
  • neo.js
  • potiboard.php

変更があったテンプレート

  • templates/basic/js/basic_common.js
  • templates/mono/js/mono_common.js

2026/05/23 v6.179.1

litaChix更新

  • TS型解析ツールを使用して、潜在的なバグを見つけ出し修正しました。
  • Blender(混色ブラシ)をマスクに使用した時に、オブジェクトがカラーである事を前提にしたメソッドを呼び出そうとしてエラーが発生していたのを修正しました。
  • どこからも呼び出されていないメモリ管理のコードを撤去しました。
  • TS型解析ツールの警告レベルは設定で緩くしてはいましたが、それでも数千件の警告がありました。
    それらのすべての警告をゼロにする事ができました。
  • litaChix起動のためのテンプレートのconst handleExit = ()=>{window.handleExit = ()=>{になりました。
    TS型解析ツールの警告を解消する時に、handleExit関数をwindow配下としたため、window配下に設定されないconstで定義した定数に代入した関数では動作しなくなりました。
  • Enterキー押下でカラーハーフトーンの確定ができなくなっていたのを修正しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php

HTML内のJavascriptの記述の変更があるため、このテンプレートの更新は必須になります。
変更後は今回更新したlitaChixで動作するようになり、また以前のバージョンのlitaChixでも動作します。

2026/05/16 v6.178.0

litaChix更新

  • TS型解析ツールを使用して、潜在的なバグを見つけ出し修正しました。
    また、Object.create(Parent)による継承の書き方ではTS型解析ツールが継承した事を理解できず警告を出し続けるためclass構文のextendsを使用した継承に書き直しました。
    大規模なリファクタリングになりました。
  • ペンの不透明度の初期値をもっとも濃い255に変更しました。
  • 鉛筆の不透明度をもっとも濃い255に変更し、初期サイズを16に戻しました。
  • 筆圧が急激に変化しないようにするためのローパスフィルタがより強くかかるようになりました。
  • ペンと鉛筆の手ぶれ補正の初期値を5%から6%に変更しました。

PaintBBS NEO更新

  • TS型解析ツールを使用して、潜在的なバグを見つけ出し修正しました。
  • new(Parent)やObject.create(Parent)による継承をclass構文のextendsを使用した継承に書き直しました。
  • PaintBBS NEOのペイント画面に新しく追加されたショートカットキー、鉛筆:B、消しゴム:Eの説明文を追加しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • neo.css
  • neo.js
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php

2026/05/06 v6.176.0

litaChix更新

  • 水彩ブラシを薄くしました。
  • 不透明度調整スライダーの値が低い時は緩やかに変化するようになりました。

PaintBBS NEO更新

  • ショートカットキーを追加しました。
    B:鉛筆・E:消しゴム・W:水彩・Delete|BackSpace:全消し(全消しツールへの切り替えではなく全消しが実行される)

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • neo.js
  • potiboard.php

2026/05/03 v6.175.0

litaChix更新

  • レイヤー名がダブルクリックで変更できなくなっていたのを修正しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート

2026/05/02 v6.173.2

PaintBBS NEO更新

  • 手ぶれ補正が必要なのは主にキャンバスサイズが等倍または縮小されている時であるため、手ぶれ補正の強度を拡大時に弱めるようにしました。
    手ぶれ補正は線画には有効でも塗りには適さない場合があるため線の幅が8より大きな時にも弱めるようにしました。
    拡大時でかつ8より線の幅が大きな時は両方のルールが適用されより手ぶれ補正の強度が弱くなります。
  • NEOが起動するHTMLファイルにスクリプトを追加してiPadの意図しないダブルタップズームが発生しないようにしました。

未定義の可能性がある変数を初期化

  • 未定義の可能性がある変数を初期化して、静的解析ツールの警告を解消しました。

関数の引数に型を指定

  • 関数の引数の型を指定して、静的解析ツールの警告を解消しました。

変更があったファイル

  • neo.js
  • picpost.inc.php
  • potiboard.php
  • save.inc.php
  • search.inc.php
  • thumbnail_gd.inc.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php

2026/04/29 v6.172.0

PaintBBS NEO更新

  • 最近の更新で発生したバグを修正しました。鉛筆・水彩ツールを切り替えた時に線幅が1pxにリセットされるバグを修正しました。
  • テキストツール以外のツールに切り替えても文字入力中画面が表示されたままになるバグを修正しました。
  • 傾けを使った時に空白になるはずの箇所に縞模様が出現する事がありました。
    これはオリジナルのPaintBBSの挙動を再現したものですが、ただ傾けたいだけの時には縞模様を消す手間がかかります。
    そのため追加された無効化オプションで縞模様の出現を無効化しました。

litaChix更新

  • カラーピッカーやスライダーを操作する時に、ペンを離しても値が変化しつづけて確定できない問題の報告が以前ありました。
    おそらく、touch-action:noneの指定がブラウザに解釈されなかった事が原因と思われますが、それらをサポートしていないブラウザでもpointermoveをJavascriptで無効化する事ができるため保険の意味合いもふくめてコードを修正しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • neo.js
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php

2026/04/27 v6.171.0

PaintBBS NEO更新

  • ダブルタップズームで意図しないズームが発生する事があるのを修正しました。

litaChix更新

  • 5未満の時のブラシサイズは0.5刻みになりました。1.5や3.5といった中間のサイズを選択できます。
    また、1から5の間のブラシサイズのスライダーを均等に割り、ブラシサイズの選択が容易になるようにしました。
  • 鉛筆の初期サイズは16から2になり、筆圧でブラシサイズが変わるようになりました。
    これまでは16pxで不透明度255、鉛筆というよりもベタ塗りのためのブラシ設定になっていました。
    もちろん、ツールオプションパレットで値を変更すれば従来と同じ設定に戻せます。
  • ペンの初期値の不透明度は250になりました。
    ペンなのに薄いという意見を反映して、ペンらしい不透明度に設定しました。

Tegaki更新

  • ダブルタップズームを防止する処理を追加しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • tegaki/ ディレクトリを上書きアップデート
  • neo.js
  • potiboard.php

2026/04/25 v6.170.1

tegaki.js更新

  • 手のひらツールを追加する以前の動画データが再生できなくなっていたのを修正しました。

PaintBBS NEO更新

  • 手ぶれ補正レベルの補正の強度をさげました。
  • 複雑に入り組んでいた描画とスライダー操作のEventListenerをpointerEventsに統一しました。

変更があったファイル

  • potiboard.php
  • neo.js
  • neo.css
  • tegaki/ ディレクトリを上書きアップデート

2026/04/23 v6.169.0

tegaki.js更新

  • 大きなキャンバスを開いた時や、キャンバスを拡大した時に画面のスクロールができなかったモバイル端末のために、手のひらツールアイコンを追加しました。

image

  • しかしながら、スマホ+指で画面をスクロールする時の動作と同じタッチスクロール機能で画面をスクロールしているため、マウスでは動作しません。

PaintBBS NEO更新

  • 手ぶれ補正レベルの補正の強度をさげました。

変更があったファイル

  • potiboard.php
  • neo.js
  • tegaki/ ディレクトリを上書きアップデート

2026/04/22 v6.167.0

tegaki.js更新

  • スペースキー押下で手のひらツールに切り換わるようにしました。
    (スクロールバーが表示されている場合のみ)

変更があったファイル

  • potiboard.php
  • tegaki/tegaki.js

2026/04/20 v6.166.2

PaintBBS NEO更新

変更があったファイル

  • neo.js

  • potiboard.php

  • スペースキー押下で手のひらツールに切り換わらなくなる事があったのを修正しました。

2026/04/19 v6.166.0

PaintBBS NEO更新

  • 手ぶれ補正のレベルを変更できるようになりました。

image

0で補正なし、5で最強。

変更があったファイル

  • neo.js
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php
  • templates/mono/css/
    CSSも変更しましたが、Paint画面のごくわずかな見た目の修正です。
    CSSをカスタマイズしている方はカスタマイズしたCSSをそのままご利用ください。

2026/04/18 v6.165.3

PaintBBS NEO更新

  • 手ぶれ補正機能をつけした。
    PaintBBS NEOで2000x2000ピクセルといった大きなキャンバスで描画する時に、縮小機能を使う事があります。
    しかしながら、縮小したキャンバスに描画すると微細な手のふるえが記録されてしまい、等倍で表示すると、著しい線の振れになっていました。
    そのため、手ぶれ補正(スタビライザー)機能を追加しました。
    この機能は等倍で描画する時にも機能し、キャンバスの上でペンが滑る感覚を低減するのに役立ちます。
    手ぶれ補正機能は追加されましたが、PaintBBS特有のジャギーのある描線はもちろんそのままです。

変更があったファイル

  • neo.js
  • neo.css
  • potiboard.php

2026/04/14 v6.163.1

PaintBBS NEO更新

  • コピー操作のリセットを、「CTRL+Z」や「元に戻す」などのアンドゥでもできるようにしました。

litaChix更新

  • litaChixには全画面モードがあり、「Esc(エスケープ)キー」は、全画面モードの解除のためにブラウザに予約されています。
    そのため、これまで「Escキー」を使用していたキャンセル処理を「CTRL+Z(アンドゥ)」に移動します。
    たとえば、Bz曲線の描画中の取り消しは「CTRL+Z」または、「アンドゥボタン」。
    変形操作の取り消しも「CTRL+Z」または「アンドゥボタン」になりました。
    「Escキー」は、ブラウザの全画面表示の解除専用になりました。

変更があったファイル

  • neo.js
  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/04/12 v6.162.0

NEO更新

しぃちゃんが作成したoekaki.htmlには次のような記述があります。

Escでコピーやベジエのリセット。(右クリックでも同じ)

オリジナルのPaintBBS v2.04やv2.19はこの説明書と同じ動作をします。
そのため、PaintBBS NEOでも、この操作説明書と同じ動作になるように機能を追加しました。

  • 右クリックによるベジェのリセット機能を追加しました。
  • 右クリックによるコピーのリセット機能を追加しました。
  • NEO v1.5.xの頃から存在していた、コピー操作キャンセル時に、コピー移動中画面の不透明度100%の画像が残る問題を修正しました。
  • コピーする選択範囲の確定時に、選択範囲内の画像がコピー移動中画面の不透明度100%の画像に切り替わる問題を修正しました。

litaChix更新

  • クセのある動作をしていたlitaChixのBz曲線を改修して、NEO、しぃペインターに近い動作になるようにしました。
    Bzの曲線を操作する2番目の直線のハンドルの開始位置を1番目の最後の位置にあわせました。
    Bzの操作途中にエスケープキー押下、または右クリックで操作をキャンセルします。

変更があったファイル

  • neo.js
  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/04/08 v6.161.0

NEO更新

  • ペンを離した際に一瞬表示される、ベジェ曲線のプレビューの表示のぶれを修正しました。

litaChix更新

  • スポイトで取得した色を表示する円カーソルのサイズがひと回り小さくなりました。
    20pxから18pxになりました。色の付いた内側は18pxから16pxになりました。

変更があったファイル

  • neo.js
  • neo.css
  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/04/07 v6.160.2

NEO更新

  • PaintBBS NEOで使用しているすべてのidに接頭辞"neo-"が追加されました。

変更があったファイル

  • neo.js
  • neo.css
  • potiboard.php

2026/04/06 v6.160.1

NEO更新

  • 画面の縮小時にレイアウトが崩れる問題を修正しました。

変更があったファイル

  • neo.css
  • potiboard.php

2026/04/06 v6.160.0

litaChix更新

  • colorPickerモードのprototypeの記述を修正しました。

NEO更新

  • idの衝突を回避するためidに接頭辞-neoを追加しました。

変更があったファイル

  • neo.js
  • neo.css
  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/04/05 v6.159.1

litaChix更新

  • iOSでメニューがタップできなくなっていた可能性があったのを修正しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/04/04 v6.159.0

litaChix更新

  • スポイトで取得した色を円カーソルで表示します。

image

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • klecks/ ディレクトリを上書きアップデート
  • potiboard.php

2026/04/01 v6.158.2

litaChix更新

  • スポイトの色の取得先が「表示色を取得」の時にも「非表示レイヤーです。」というエラーメッセージが表示されていたのを修正しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/04/01 v6.158.1

litaChix更新

  • スポイトのツールオプションパネルのラベルの上にマウスを乗せてもクリック可能な指の形のカーソルにならなかったのを修正しました。
  • 青色の配色を微調整しました。
  • 変形時の「非表示レイヤーです。」「レイヤーの不透明度が0%です。」といったメッセージがでるタイミングを調整しました。
    これまではメニュー→編集をタップした時点でこれらのメッセージが表示されていました。
  • 非表示レイヤーから色をスポイトしようとした時に「非表示レイヤーです。」「レイヤーの不透明度が0%です。」といったメッセージを出して処理を中断するようになりました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/03/30 v6.157.3

litaChix更新

  • レイヤーの完全に透明な箇所をスポイトしても色を取得をしなくなりました。
    透明な箇所をスポイトした時は、直前の色のまま保持され変化しなくなりました。
    これはFireAlpacaやKritaと同じ動作です。
    これまでは、レイヤーの透明の中の見えない白色や黒色を取得していました。
  • ショートカットキーによって動作が一時的に変更した時に、機能をしめすカーソル形状が一致しなくなる事があったのを修正しました。
  • 連続した同じキーからの入力を検出した時は、一回目のみ処理するようになりました。
    これまではタブキーを押し続けるとUIの表示と非表示の切り替わりが延々と行われていましたが、今はUIの表示か非表示のどちらか一回しか実行されません。
    同じ処理の繰り返しの防止になり、デバイスの負荷も下がります。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/03/29 v6.157.2

litaChix更新

  • スポイトする対象を「表示色」と「レイヤーの色」から選択できるようにしました。
    乗算やオーバーレイなどのレイヤー効果で表示色と個別レイヤーの色が一致しなくなる事があります。
    そして、これまではその個別のアクティブレイヤーから色をスポイトする方法がありませんでした。
    クリスタやFireAlpacaでは、画面全体の表示色とレイヤーの色のどちらから色を取得するのか選択する事ができます。
    それにならって、litaChixでも画面全体の色とレイヤーの色のどちらから色を取得するのかを選択できるようにしました。
image

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/03/25 v6.156.0

  • 混色ブラシツールの混色処理を改善しました。
    レイヤーの透明な箇所から不透明な箇所に向かって混色ブラシでストロークした時に、透明と混ざるようになりました。
    透明が混色ブラシによって引き伸ばされた箇所は透明になります。
image

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/03/23 v6.155.10

PaintBBS NEO更新

  • 縮小率、80%、60%、40%、20%が選択可能になりました。
    100%から20%ずつ縮小します。
  • 四角ツールで長方形の範囲を塗り潰す時の長方形の色の反転領域が作業を終了したあとも残るバグを修正しました。
    このバグはNEOのv1.6.25 (2026/03/15)で発生しv1.6.26で修正されました。

変更があったファイル

  • neo.js
  • potiboard.php

2026/03/22 v6.155.9

litaChix更新

  • 混色ブラシを改善しました。水彩ブラシの混色処理を使用して、自然な混色になるようにしました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/03/19 v6.155.8

tegaki.js更新

  • 1倍未満の時の表示倍率を0.5倍,、0.6倍、 0.7倍、 0.8倍、 0.9倍、1.0倍のように細かく設定できるようにしました。
  • 動画再生時にズームを使用して巻き戻した時に1.0倍にリセットされるようになりました。
  • モバイル端末で動画を再生した時にキャンバスをタッチ操作でスクロールできるようになりました。

変更があったファイル

  • tegaki/ ディレクトリを上書きアップデート
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/tgkr_view.blade.php

MONO

  • templates/mono/tgkr_view.blade.php

2026/03/18 v6.155.7

litaChix更新

  • レイヤーの不透明度が0%または非表示だった時はツールオプションパレットから変形した時にも警告を出して操作を停止するようになりました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/03/17 v6.155.6

litaChix更新

  • 移動ツールのツールオプションパネルに「複製」チェックボックスが付きました。
    「複製」にチェックが入っている時は、対象を複製したものを移動します。
image

変更があったファイル

  • tegaki/ ディレクトリを上書きアップデート
  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/03/17 v6.155.5

tegaki.js更新

  • 途切れ途切れに表示されていた50%縮小表示の時の描線をつながった描線として表示できるようにしました。

litaChix更新

  • altキーを押しながら移動ツールで移動した時にctrl+altキー同時押しの時にも複製されてしまう問題を修正しました。
    altキーのみの押下で複製になるようにしました。

変更があったファイル

  • tegaki/ ディレクトリを上書きアップデート
  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/03/15 v6.155.3

PaintBBS NEO更新

  • コピー・レイヤー結合時操作の画面全体更新の回数を最適化して負荷を削減しました。
    大きなキャンバスサイズの時に上記操作が重くなり、操作が困難になっていたのを修正しました。

変更があったファイル

  • neo.js
  • potiboard.php

2026/03/15 v6.155.2

litaChix更新

  • 変形操作中にオートセーブが作動して変形確定ダイヤログが表示される事があったのを修正しました。
  • 負荷が高い変形・移動と負荷が高いオートセーブが同時に実行されるのを回避します。
    変形・移動モード選択中はオートセーブを実行しなくなりました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/03/15 v6.155.1

Klecks更新

  • Klecksを最新版に更新しました。
    変形機能にメッシュ状のゆがみツールが追加されました。

変更があったファイル

  • klecks/ ディレクトリを上書きアップデート
  • potiboard.php

2026/03/14 v6.155.0

PaintBBS NEO更新

  • NEO更新。窓モードで縮小表示した時に画面スクロールが重くて操作不能に近い状態になっていたのを修正しました。
    この問題は2000x2000のようなきわめて大きなキャンバスサイズの時に発生していました。
    この問題を解決するため、縮小表示の描画品質を調整しスクロール時の画面再描画の回数を最適化しました。
    今はスムーズにスクロールできます。

変更があったファイル

  • neo.js
  • potiboard.php

2026/03/09 v6.153.1

litaChix更新

  • 移動・変形時の描画回数を減らし、デバイスの負荷を削減しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/03/09 v6.153.0

litaChix更新

  • 保存圧縮処理のメモリ使用量を下げました。iPadなどでオートセーブ中にメモリが圧迫されるのを回避します。
  • 描画中に頻繁に呼び出されるイベントリスナーが重複していたのを整理しました。
  • 単色ノイズはこれまで指定色と白でしたが、指定色が白の時にはただの真っ白になっていました。
    そのため、指定色と透明で構成されたノイズを出力するようになりました。
    これにより白い粒子などの表現が可能になります。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/03/05 v6.152.6

AXNOS Paint更新

  • レイヤーサムネイルとナビゲーターのサムネイルの更新頻度を下げて、メインのキャンバスの描画を高速化しました。

変更があったファイル

  • axnos/ ディレクトリを上書きアップデート
  • potiboard.php

2026/03/02 v6.152.5

  • Lightbox v2.12.0で画像のコピーができなくなっていたのを修正しました。
  • AXNOS Paintを更新しました。
  • litachixを更新しました。

変更があったファイル

  • axnos/ ディレクトリを上書きアップデート
  • chickenpaint/ ディレクトリを上書きアップデート
  • lib/lightbox/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/28 v6.152.2

Lightbox v2.12.0

  • 2月28日にリリースされた Lightbox v2.12.0をベースに、この掲示板で使うために再度カスタマイズしたものを同梱しました。
  • メモリーリークなどが解消されています。

エルビス演算子

  • ほんのわずかでもエルビス演算子のほうが三項演算子よりも動作が速いと知り、可読性やバグの発生の可能性の低減がみこまれる事などからエルビス演算子にできる箇所はエルビス演算子を使うように統一しました。

バグ

  • 追跡していないファイルを誤って除外していた事原因でKlecksに必要ないくつものコードをGitHubに転送していませんでした。
  • そのため、前回のKlecksの更新ではKlecksが正常に機能していなかった可能性があります。

変更があったファイル

  • klecks/ ディレクトリを上書きアップデート
  • lib/lightbox/ ディレクトリを上書きアップデート
  • potiboard.php
  • search.inc.php

2026/02/26 v6.152.0

  • ログファイルに記録されているマイクロ秒の処理をより安全な計算になるようにしました。
    ログファイルの破損などにより計算が失敗した時はmicrotime2time()関数が0を返すようになりました。

変更があったファイル

  • potiboard.php

2026/02/24 v6.151.6

メモリ節約

  • 使い終わった配列をunsetしてメモリを節約しました。

POST可能な最大値の計算

  • POST可能な最大値の計算をphp.iniの設定をもとに計算する時にバグが発生する可能性のある箇所を修正しました。
  • あいまいなキャストで数値に変換している箇所の数値と文字列を分離するようにしました。
    このあいまいなキャストによる数値への変換は将来のバージョンのPHPでは動作しなくなる可能性があるからです。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php
  • search.inc.php

2026/02/23 v6.150.1

litaChix更新

バグ修正

  • ファイルメニューから「PNGで保存」「ZIPで保存」した時に、ブラウザのデータベースに保存していたバックアップデータが消えてしまっていました。
    そのため、ファイルメニューから「PNGで保存」した直後にリロードしたり画面を移動した時に、描画途中のデータが復元されなくなっていました。
    該当箇所の引数を修正して、この問題を修正しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/22 v6.150.0

litaChix更新

  • これまでは「輝度を透明度に変換」した時に、「透明」と不透明あるいは半透明の「黒」に変換されていました。
  • 今回の更新で「透明」あるいはカラーピッカーで指定した「描画色」に変換されるようになりました。
    白い背景に黒い線画を描いてこのフィルタを実行すると、「透明」と「黒い線」ではなく、線の色が「カラーピッカーで選択した描画色」になります。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/21 v6.139.0

litaChix更新

  • 「メニュー>バックアップをブラウザに保存」の操作の時のUI/UXをモーダルに変更しました。
    これまでは、メニューを押下した10秒後にブラウザに保存したことを知らせるアラートが突然開く事がありました。
    この問題を解決するため操作直後にすぐに準備中である事を知らせるモーダルを開きます。処理が完了時したら処理が完了したことを知らせる通知を出します。
    ほとんどの場合、この処理は一瞬で終わりますが、キャンバスサイズが2000x2000で、レイヤー枚数が50枚以上ある時などは10秒ほどの待機時間が発生する事があります。
    そのため、準備中である事、処理に数秒を要する場合がある事を事前に知らせるようにしました。

1

2

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/17 v6.138.0

litaChix更新

  • 保存処理を高速化しました。
  • 「線の色を描画色に保存」フィルタを追加しました。
    線の色をカラーピッカーで選択中の色に一瞬で変更する事ができます。
    黒い線で書いてしまったけれど、下描きの青色の線に変更したい時などにご利用いただけます。
    (実際には線だけでなく不透明な箇所の色をすべて変更します。)

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/17 v6.137.2

litaChix更新

  • ウェブワーカー非使用バージョンの処理を高速化しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/16 v6.137.1

litaChix更新

ユーザの環境によって保存できなくなる問題を修正

  • サーバの設定やユーザのセキュリティソフトや広告ブロックによってv6.133.0で追加したlitaChixのウェブワーカーがブロックされてしまい、投稿できなくなるケースがある問題を修正しました。
  • ウェブワーカーの使用をやめfflateの別の機能でオートセーブ時のスムーズな描画を実現しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/15 v6.136.5

litaChix更新

  • 数値が低い時はスライダーをより緩やかに。ペンと鉛筆の手ぶれ補正の初期値を1%から2%に。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/15 v6.136.3

litaChix更新

  • ファイルメニューから投稿できなくなっていたのを修正しました。
    (フロッピーアイコンからの投稿はできていまいた)

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/14 v6.136.2

litaChix更新

  • 筆圧のローパスフィルタを調整しました。
  • ストローク開始時にはフィルタをかけないようにして、フィルタをかけた時に描線が細くなりすぎないようにしました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/12 v6.136.1

litaChix更新

  • 筆圧のローパスフィルタを調整しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/12 v6.136.0

litaChix更新

  • キャンバスの回転、手のひらツール使用時にのみ有効なピンチズームのためのTouchEventが、描画時にも有効になっていたのを修正しまいた。
  • TouchEventによって描画時に遅延が発生していたのを修正しました。

絵文字が拒絶されていたのを修正

  • v6.129.1で追加したZalgo text(ザルゴ・テキスト)を拒絶する正規表現によって、正当な絵文字まで拒絶されていたのを修正しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/11 v6.135.0

litaChix更新

  • レイヤー情報ファイル「.chi」の圧縮レベルを7から6に変更しました。
  • ごくわずかなファイルサイズの増加になりますが、圧縮時のCPU負荷が低減し処理が高速になります。

ファイルの存在確認をしてから削除する処理の見直し

  • ファイルの存在確認をしてファイルが存在していたら削除を実行する関数で、存在しないファイルを削除しようとしてエラーが発生するケースがあったのを修正しました。
    is_file()関数は状態をキャッシュするため、確認の前にキャッシュを削除します。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/10 v6.133.2

litaChix更新

  • ブラウザへのバックアップ保存に失敗した時にもバックアップありのフラグが保存されてしまう事があったのを修正しました。
  • バックアップデータが存在しない時にデータを読み込もうとして致命的エラーになる場合があるのを修正しました。
  • 続きを描く時のレイヤー情報の読み込み処理を非同期化してスムーズに起動するようにしました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/09 v6.133.1

litaChix更新

  • 圧縮処理の高速化と別スレッド化で圧縮時のオートセーブの描画遅延は解消しましたが、レイヤー情報の取得処理で200msもの遅延が発生する状態になっていました。
    該当箇所の処理を非同期化してこの問題を修正しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/09 v6.133.0

litaChix更新

  • データ圧縮ライブラリを「pako」から「fflate」に変更して高速化しました。
    単に速度が向上しただけでなく、ウェブワーカーにより、重い圧縮処理を別スレッドに分離します。
    これによりオートセーブの影響を受ける事なく快適に描画を続行できます。
    すでに改良をすすめ、オートセーブ時の影響は最小になっていましたが、巨大なキャンバスと多くのレイヤーがある時にごくわずかとはいえ、「今オートセーブ処理が入った」とわかる程度の遅延がありました。
    今回の更新でオートセーブによる遅延問題を根本的に解決しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/08 v6.132.0

litaChix更新

  • オートセーブ機能を調整しました。
    60ストロークと2分間隔のオートセーブが同時に実行されていたのを修正しました。
    一度オートセーブが実行された時から60ストロークまたは2分で保存します。
    オートセーブの実行時にリセットします。

Klecks更新

  • Klecksを更新しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • klecks/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/06 v6.131.1

litaChix更新

litaChix に画像消失を防止するオートセーブ機能を高速化

  • 描画中にオートセーブが実行された時にペンが一時的に止まる感触があったのを修正しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/06 v6.131.0

litaChix更新

litaChix に画像消失を防止するオートセーブ機能を追加

  • ブラウザのメモリセーバー機能で画像が破棄された場合や、ページ移動やブラウザを誤って閉じてしまった時に、オートセーブから復元できるようになりました。

  • ブラウザのローカルデータベース(IndexedDB)に未保存のデータをバックアップします。
    「2分経過後の最初のストローク」または「60ストローク」ごとにオートセーブします。

  • 「未保存のデータがあります。復元しますか?」という確認ダイアログが開いた時に「OK」を選択すると復元します。
    ただし、「キャンセル」を選択するとオートセーブしたバックアップデータは消えてしまいますのでご注意ください。

  • これまでは「PaintBBS NEO」と「AXNOS Paint」にだけ自動バックアップ機能が存在していました。
    今回の更新で、「PaintBBS NEO」と「AXNOS Paint」「litaChix」の3つのペイントツールでデーター消失を防止する自動バックアップ機能が使えるようになりました。

image

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/03 v6.130.0

litaChix更新

ブラシサイズを変更するショートカットキー「CTLRL+ALT+ドラッグ」を追加

  • Corel Painter、クリスタ、FireAlpacaなど一般的なペイントツールでは標準の、「CTLRL+ALT+ドラッグ」によるブラシサイズの変更ができるようになりました。
    ブラシサイズを変更するショートカットキー[ ]も引き続き使用できます。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/02/01 v6.129.1

litaChixの線の質を向上

  • 筆圧を敏感に拾ってしまいブラシサイズが均一にならない問題を修正しました。
    ローパスフィルタを使用して筆圧によるブラシサイズが急激に変化しないようにしました。
  • 浮動小数点で計算が可能な箇所は極力浮動小数点で計算し、ブラシサイズが整数値で極端に変化しないようにしました。

Zalgo スタイルのテキスト (Unicode 結合記号を使用したテキスト) 対策

  • Zalgo スタイルのテキスト (Unicode 結合記号を使用したテキスト) によるコメント欄の表示崩れを防止するため、Zalgo文字を禁止文字列に指定しました。
    ただし管理者パスワード使用時は入力可能です。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/01/27 v6.128.3

AXNOS Paint更新

  • さとぴあ改造版のAXNOS Paintがスマホで正常に動作しなくなっていたのを修正しました。

変更があったファイル

  • axnos/ ディレクトリを上書きアップデート
  • potiboard.php

2026/01/27 v6.128.2

litaChix更新

  • レイヤーグループ選択中時、マスク編集時のメニューのグレーアウト判定を見直しました。
    全体に適用結合レイヤーを追加のチェックボックスがある効果メニューは、フォルダ選択時にも操作可能になるようにしました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/01/26 v6.128.1

litaChix更新

  • レイヤーグループ選択中には操作できない「単色ハーフトーン」「モザイク」がクリック可能になっていたのを修正しました。
    レイヤーグループ選択中は、グレーアウトしてクリックできなくします。
  • 描線がカクカクする問題の修正はブラシサイズ16px以下限定でしたが、32px以下まで拡張されました。
    ブラシサイズ32pxでも高精度なイベントを取得します。
  • 高精度なイベントを処理するための判定処理を最適化し負荷を削減しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • klecks/ ディレクトリを上書きアップデート
  • potiboard.php

2026/01/23 v6.128.0

litaChix更新

image

  • レイヤーの透明/不透明の境界部分を縁取る「縁取り」フィルタを追加しました。
    カラーピッカーで選択中の色で縁取ります。
  • モノクロハーフトーンはこれまでは黒いドットでしたが、これを単色ハーフトーンに改良して、カラーピッカーで選択中の色でドットを描写するようになりました。
  • 単色ノイズ機能を改良して、カラーピッカーで選択中の色でノイズを作成するようになりました。
  • マスク編集中に使用できないフィルタは効果メニューの一覧表示時にグレーアウトして最初からクリックできなくなりました。
  • マスク編集時に「テクスチャで消去」を実行した時にエラーになっていたのを修正しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2026/01/21 v6.126.1

Lightbox更新

  • Lightbox2にjQuery4で非推奨になったコードが使用されていたため、独自に修正しました。

変更があったファイル

  • lib/lightbox/ ディレクトリを上書きアップデート
  • potiboard.php

2026/01/21 v6.126.0

PaintBBS NEOとlitaChixを更新

  • 素早くペンを動かした時のカクツキを解消する条件を最適化しました。
    これまではブラシサイズが10px以下の時にのみ高精度なイベントを取得してカクツキを解消していましたが、16px以下に条件が緩和されました。
    より大きなブラシでストロークした時にもカクツキが解消されます。
  • 描画していない、浮動カーソルの時にも高精度なイベントを取得していましたが、負荷が高くなるだけで意味がないため描画時にのみ高精度なイベントを取得するようになりました。

jQuery更新

  • 10年ぶりのメジャーリリスになるjQuery4.0.0に更新しました。
    現在は、jQueryを画像のポップアップ表示にのみ使用しています。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • neo.js
  • potiboard.php

追加されたファイル

  • lib/jquery-4.0.0.min.js

2026/01/17 v6.125.1

PaintBBS NEOとlitaChixを更新

素早くペンを動かした時に描線のカクツキが発生する問題を修正しました

  • PaintBBS NEOと、litaChixの両方に存在していた、素早くペンを動かした時の描線のカクツキを修正しました。
    ペンの動きが素早い時に、ポインターイベントが不足して描線が曲線にならず角になっていたのを修正しました。
    ブラウザによって間引かれたポインターイベントをもとに戻す処理を追加してこの問題を修正しました。
    しかしながら、太いブラシでより多くのイベントを処理すると端末の負荷が高まり、動作不良につながります。
    そのため線画の品質確保に必要な10px以下のブラシに限りより多くのペンの移動イベントを取得するようにしました。
    11px以上の時は従来と同じ動作になります。

oekaki_2026_01_17_06_44_30


修正前。曲線部分がカクカクしています。

oekaki_2026_01_17_06_44_20


修正後。曲線が正しく描画されてます。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • neo.js
  • potiboard.php

2026/01/15 v6.123.8

litaChix更新

  • カラーセットやメニューの項目を長押しした時に、Chromeの分割ビュー(分割タブ表示)が意図せず開いていたのを修正しました。
  • また、ペイントツールの更新というよりも掲示板の機能の更新内容になりますが、作成したカラーセットの色見本を続きを描く時にロードできるようになりました。
    これにより、続きを描く画面でカラーセットの色見本を引き継ぐ事ができるようになりました。

添付ファイルがJPEGの時はJPEGで保存

  • 位置情報の削除処理時にアップロード画像をWebP形式に変換していましたが、もとの画像形式がJPEGの時はJPEGで保存するようになりました。
    (掲示板に投稿した画像のまとめをpixivに投稿しようと思ったらpixivがWebP非対応といったトラブル回避のため)

細かなバグが修正されました

  • 画像の回転情報のExifが付いたJPEG画像がPNG形式で保存されるケースがあったのを修正しました。

変更があったファイル

  • axnos/ ディレクトリを上書きアップデート
  • chickenpaint/ ディレクトリを上書きアップデート
  • klecks/ ディレクトリを上書きアップデート
  • potiboard.php
  • save.inc.php
  • thumbnail_gd.inc.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php

2026/01/04 v6.121.2

位置情報が入った写真が公開されるリスクを軽減

位置情報(Exifなどに含まれる)をより徹底的に削除するようになりました

  • スマホで撮影した写真には位置情報(GPSデータ)が入っている事があります。
    位置情報が付くスマホの「写真」には、自宅で撮影した「イラスト」の写真も含まれます。
    これまでは、画像の形式がjpegで、PHPが位置情報を検出した場合にのみGDで新しく画像を作り直して情報を削除していました。
    また、初期設定値であれば幸いな事にスマホの写真のサイズは1024pxを超えている事がほとんどのため、画像のリサイズ処理が行われた時に位置情報が消えていました。
    しかしながら、WebP形式やPNG形式画像にもExifなどに含まれる位置情報(GPSデータ)が入ります。
    これをxnViewなどの画像ビューワーであらかじめリサイズされる制限値より小さなサイズにリサイズすると、掲示板のPHPのリサイズ処理は入らないため、そのままアップロードされていました。
    PNG形式・WebP形式の画像ファイルの位置情報の有無はPHPでは検出する事ができないため、位置情報のチェック処理が機能していませんでした。
    そのため位置情報の検出の有無に関わらず、GDで画像を作り直して上書きします。
    これによりすべてのアップロード画像のExifそのほかの位置情報を消去します。
  • ただしGDが機能しない場合もありえるため、あらかじめ位置情報が公開される事が無いようにカメラの設定や公開する画像の情報の確認をお願いします。
  • 通常のレンタルサーバの環境であれば、GDで作成された画像で毎回上書きされ、位置情報は残らななくなるものと思われますが、バグが100%無い事を保証する事は困難なため、位置情報が100%消える事も保証できません。
    十分にご注意ください。

変更があったファイル

  • potiboard.php
  • thumbnail_gd.inc.php

2025/12/31 v6.120.0

「litaChix」更新

image

  • カラーハーフトーンフィルタ、モノクロハーフトーンフィルタを付けました。
  • 出現するトーンのドットの背景は透明になる仕様です。それを利用してクリッピングレイヤーで色を変更する事が可能になります。
  • たとえば、キャラクターの周囲をグレーで塗り潰して、それをぼかしフィルタでぼかして、モノクロハーフトーンフィルタで網点に変換。その後、その網点をクリッピングレイヤーで色を付ければ、黒いドットは赤や青のドットになります。
  • カラーハーフトーンフィルタは全体に適用結合レイヤーを追加時には自動的に乗算レイヤーになります。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/parts/copyright.blade.php

MONO

  • templates/mono/parts/mono_copyright.blade.php

2025/12/28 v6.119.0

「litaChix」更新

  • 効果メニューの「色収差フィルタ」がより実用的になりました。
  • 色の出現が、左からシアン・マゼンタ・イエローになりました。
    これはクリスタの色収差フィルタと同じ並び方です。
    たとえば、以前は、人物画に色収差フィルタをかけると目のまぶたたの上にイエローが出現していましたが、今はシアン(青系)・マゼンタ(赤系)・イエロー(黄)の順です。
  • 色のずれ方をX軸(横)Y軸(縦)それぞれに設定できるようになりました。負の値も設定可能です。

「Klecks」更新

  • 高度なレイヤー結合のショートカットキー「ctrl+shift+e」が追加されました。

型の統一

  • true/falseのboolとarrayが混在していた変数をarrayに統一しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • klecks/ ディレクトリを上書きアップデート
  • potiboard.php

2025/12/19 v6.118.0

「litaChix」更新

  • モザイク(ピクセレート)フィルタを追加しました。

image

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/12/17 v6.117.0

「litaChix」更新

  • ペンの先を「角ピクセル」にした時の描画品質を向上させました。
  • 横幅によってはアイコンがずれて表示される事があったのを修正しました。

「AXNOS Paint」更新

  • 最大で2000pxまで指定可能にしました。(従来は1800px)

変更があったファイル

  • axnos/ ディレクトリを上書きアップデート
  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/12/11 v6.116.1

「litaChix」更新

「円ハードエッジ」以外の時の描画品質を向上

  • litaChixを更新しました。ペン先が「円ハードエッジ」以外の時の描画品質が向上しました。
    これまでは、「円ソフト」等を選択して細い線を描く時に筆圧によって線がまったく描かれない箇所が発生して線が途切れていました。
    また、突然線が太くなる段差が発生していました。
    線が途切れず、突然太くならないように調整しました。
不透明度255の時のペンの濃さを調整
  • ペンでブラシの不透明度の最大値255に設定しても薄かったため、不透明度131-255の範囲のブラシの実際の濃さを調整し濃くなるようにしました。
    UIで設定可能な最大値ではなく、内部処理にも最大値があります。その最大の濃さにするとアンチエイリアスの品質に問題がでます。 そのため、ほかのペイントツールのペンの実際の色をスポイトして調査し、一般的なペイントツールのペンの濃さと近くなるようにしました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/12/07 v6.115.1

「litaChix」の大きなバグを修正

  • v6.115.0でズームアウト時のスムージングの品質を「高」に設定しましたが、それが原因でlitaChixの描画速度が極端に落ちてしまい、描画遅延が発生していました。
    そのため、描画の遅延が発生しない以前の設定にもどしました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/12/06 v6.115.0

「litaChix」更新

  • 全画面モードが付きました。モニターの画面全体に動画を表示する時のように、ペイント画面を全画面モードで表示します。
    フルスクリーンモードアイコンをタップで全画面モード。もう一度フルスクリーンアイコンをタップで全画面モードを終了。または
    ESCキー押下で全画面モードを終了します。

image

  • メニューバーの上下の余白が広すぎて画面を有効活用できなかった問題を修正しました。
  • ズームアウト時の線画のアンチエイリアスの品質が向上しました。
    これまでは30%前後まで縮小した時にジャギーが発生していましたが、スムースに表示できるようになりました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/12/03 v6.113.1

「litaChix」更新

  • 「消去」「塗り潰し」「変形」「選択解除」アイコンが太すぎたため、SVGアイコンウェイトを600から500に変更しました。
  • 上部のパレット表示/非表示ボタンと「消去」「塗り潰し」「変形」「選択解除」アイコンの表示位置が常に右揃えになるようにしました。
image

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/12/02 v6.113.0

「litaChix」を大幅にアップデート

選択範囲がかかっている事がわかりやすくなりました

  • これまでは、選択範囲がかかっていても選択領域に点線の枠が表示されるのみでした。
    きわめて小さな選択範囲がかかっているときに「塗り潰しができない」「描画できない」等の問題が発生する事がありました。

  • そのため選択範囲の外側に半透明のグレーを乗せて暗くし、その範囲には描画できない事を明確にしました。
    選択範囲がかかっている時は「選択解除アイコン」を青色で表示し「選択解除ボタン」に青色の枠を付けます。
    これにより、選択範囲がかかっている事がわかりやすくなります。

image

  • また「消去」「塗り潰し」「変形」「選択解除」アイコンを上部に追加しました。
    これにより、使用頻度の高い操作をすばやく行う事ができるようになります。
    スマホのような画面の小さな端末には表示されない補助的的なUIです。

image

変更があったファイル

  • axnos/ ディレクトリを上書きアップデート
  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/11/28 v6.112.2

「litaChit」は「litaChix」になりました。

  • まだ「ChickenPaint Be」から改名してからわずか一週間ですが、「Chit」の語感があまりよくないため「Chix」(ひよこの複数形をくずしたもの)」に再度改名しました。
    「Chicken」から「Chick(ひよこ)」「Chicks(ひよこの複数形)」それをくずした「Chix」です。

PaintBBS NEOで縮小表示ができるようになりました。

  • これまでは「-」(マイナス)ボタンを押下しても1倍未満になる事はありませんでしたが、今回の更新で「0.5倍」「0.2倍」ズームアウトできるようになりました。
    極めて大きなキャンバスでも描画可能になり、スマホのような小さな画面でもキャンバスの全体を表示できるようになりました。

PaintBBS NEOの動画再生の操作部分を上に表示

  • 極めて大きな動画の時や小さな画面のスマホで動画を再生する時に、操作部分を下ではなく上に表示します。
  • ブラウザの表示領域の高さが不足している時にのみ、操作部分を上に表示します。
  • これにより、大きなサイズの動画の再生時に、「-」マイナスボタンで縮小表示したり、巻き戻したりできるようになります。

image

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • neo.js
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php
  • templates/basic/parts/copyright.blade.php
  • templates/basic/parts/paint_form.blade.php

MONO

  • templates/mono/mono_paint.blade.php
  • templates/mono/parts/mono_copyright.blade.php
  • templates/mono/parts/mono_paint_form.blade.php

2025/11/20 v6.111.2

「ChickenPaint Be」は「litaChit」になりました

  • さとぴあによるChickenPaintの改造版「ChickenPaint Be」の名称は「litaChit」になりました。
  • 設定項目には、「chickenpaint」という名前の変数が残っており、ファイル名も「chickenpaint.js」のままで、オリジナルのChickenPaintと高い互換性があります。
  • 変ったのはブランド名だけです。
  • 「litaChit」は「lita(スェーデン語で小さな)」「Chit(伝票、メモ、紙切れ)」を組み合わせた造語です。

image

今回の更新で、ファイルメニューから画像をダウンロードする時にPNG画像、固有形式CHI、色見本のACOが連続してダウンロードされる仕様から、画像だけ保存、まとめてZIPで保存に変わりました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php
  • templates/basic/parts/copyright.blade.php
  • templates/basic/parts/paint_form.blade.php

MONO

  • templates/mono/mono_paint.blade.php
  • templates/mono/parts/mono_copyright.blade.php
  • templates/mono/parts/mono_paint_form.blade.php

2025/11/17 v6.109.0

  • ChickenPaint と Klecks そして AXNOS Paintを更新しました。

Changed Files

  • chickenpaint/ ディレクトリを上書きアップデート
  • klecks/ ディレクトリを上書きアップデート
  • axnos/ ディレクトリを上書きアップデート
  • potiboard.php

2025/11/13 v6.109.0

  • KlecksとChickenPaintを更新しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • klecks/ ディレクトリを上書きアップデート
  • potiboard.php

2025/11/08 v6.108.1

ChickenPaint Be更新

  • 選択範囲の縦横比を固定するチェックボックスが機能しなくなっていたのを修正しました。

コード整理

  • 関数が長くなりすぎていたため、 個別スレッドの下段に表示する前後のスレッドの画像一覧を作成する処理を別の関数に分離しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/11/03 v6.107.0

Klecks更新

  • Klecksを最新版にアップデートしました。
    選択範囲ツールで直接変形操作ができるようになりました。

変更があったファイル

  • klecks/ ディレクトリを上書きアップデート
  • potiboard.php
  • sns_share.inc.php

2025/10/31 v6.105.0

投稿する前に添付ファイルの画像をプレビュー

  • 画像ファイルの選択時に、画像の中身を画像として表示します。

image

これにより、投稿する前にどの画像が選択されたのかが明確にわかるようになります。

Twitterドメイン廃止に伴う更新

  • 内部で使用していた「twitter.com」を「x.com」に書き換えました。
    「twitter.com」から「x.com」にリダイレクトされていましたが、まもなく「twitter.com」が終了して、「x.com」に統一されるようです。
    この内部の処理が古いままになっている場合は、「SNSで共有」機能で「X」に共有できなくなります。

変更があったファイル

  • potiboard.php
  • sns_share.inc.php

変更があったテンプレート

BASIC

  • templates/basic/js/basic_common.js
  • templates/basic/other.blade.php
  • templates/basic/res.blade.php

MONO

  • templates/mono/css/ ディレクトリを上書きアップデート
  • templates/mono/js/mono_common.js
  • templates/mono/mono_main.blade.php
  • templates/mono/mono_other.blade.php

2025/10/23 v6.102.2

ChickenPaint Be更新

  • 「P」ボタンの表示色が、全パレット表示/非表示の動作と同期していなかったのを修正しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/10/22 v6.102.1

ChickenPaint Be更新

  • ボタンを押下しても変形確定ダイアログがクローズしない事があったのを修正しました。
  • キャンバスの回転モード時には、手のひらツールと同じ「grab」カーソルを表示するようになりました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/10/19 v6.102.0

ChickenPaint Be更新

モバイルモードとPCモードをボタン1つで切り替え可能に

  • これはでは画面が小さな端末のためのモバイルモードは、画面が小さくかつマルチタッチの時にのみ有効でした。
    しかし、PCで作業する時にも画面を広く使いたい時があります。
    そのため、PCで作業する時にも「モバイルモード」ボタンを押下すればモバイルモードに切り替わるようにしました。
    また、タブレット端末などでモバイルモードで起動すると、これまではモバイルモードでしか使う事ができませんでしたが、PCモードに切り替える事ができるようになりました。
    「モバイルモード」ボタンと「PCモード」ボタンは押下するたびに入れ替わります。

2025_10_13_001_ChickenPaint_Be_モバイルモードPCモード切り替え

Pale Moon+Javaアプレットで起動したしぃペインターの投稿ができなくなっていたのを修正

The Pale Moon Project homepageというJavaプラグインが使用可能なブラウザで、オラクルのJavaプラグインを使ってしぃペインターで投稿するときに、投稿に失敗するようになっていたのを修正しました。
Javaからの送信の時の動作を見誤っていた事が原因でした。
Chrome+CheerpJで起動したしぃペインターではこれまでも問題なく投稿が可能でした。
CheerpJで起動したしぃペインターではJavaScriptとしてデータを送信していたからです。

変更があったファイル

  • BladeOne/ ディレクトリを上書きアップデート
  • chickenpaint/ ディレクトリを上書きアップデート
  • picpost.inc.php
  • potiboard.php

2025/10/13 v6.101.5

ChickenPaint Beのバグを修正

「ChickenPaintはレイヤーパレットが縮められない」という指摘を受けて調査した結果、以下の問題が存在していた事がわかりました。

  • 座標がずれている。
  • スマホ・タブレット・Windows Inkのペンを使用時に、Touchムーブイベントが割り込んで競合が発生してイベントがキャンセルされている。

この二点を改善し、レイヤーパレットを縮めたり伸ばしたりする操作が問題なく行えるようにしました。

2025_10_13_001_ChickenPaint_Be_レイヤーパレットの伸縮

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/10/11 v6.101.3

PaintBBS NEO更新

  • 特定サイトのドメイン名を含むドメイン名の時に誤動作する問題を修正しました。

変更があったファイル

  • neo.js
  • potiboard.php

2025/10/07 v6.101.2

ChickenPaint Be更新

色収差フィルタの動作を改善

image

  • 「結合レイヤー」が自動的に追加される事をわかりやすくするため、チェックボックスのラベル名を「全体に適用 (結合レイヤーを追加)」にしました。
  • 前回更新した時のラベル名は「現在のレイヤーのみ」でしたが、今回の更新によりチェックボックスの意味は逆になりました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/10/06 v6.101.1

ChickenPaint Be更新

色収差フィルタの動作を改善

image

  • 「現在のレイヤーのみ」にチェックを入れるとv6.101.0と同じ動作になり、チェックを外すと、「結合レイヤーを追加」を自動的に行って別レイヤーに結合画像を追加し、その結合した画像に色収差フィルタをかけます。
    これまでは、わざわざ「結合レイヤーを追加」するか「全レイヤーを結合」しなければならないケースがほとんどでした。
    その処理を自動化しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/10/04 v6.101.0

ChickenPaint Be更新

色収差フィルタを追加しました

  • 色収差 (RGBずらし) フィルタを実装しました。
  • レイヤーの透明な箇所には色がずれない仕様のため、「レイヤーを結合」するか、全レイヤーを結合した新しいレイヤーを追加する「結合レイヤーを追加」で可視レイヤーを結合してからこのフィルタを使います。
適用例
image

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/09/25 v6.100.1

  • ChickenPaint Beの「下のレイヤーと混色」機能に問題が見つかったため、「全レイヤー混合」機能に動作を戻しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/09/22 v6.98.1

ChickenPaint Be更新

  • 不透明度調整スライダーを改善しました。
    これまでは、水彩ブラシの不透明度は1-7を選択してもまったく描画できず、8ではじめて色が出る状態でした。
    これを不透明度1でブラシから色が出る状態にマッピングしなおしました。
    また、不透明度が低い時のスライダーの動作を緩やかにしました。
    これにより、不透明度を下げた時の微調整が可能になります。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/09/20 v6.98.0

ChickenPaint Be更新

水彩ブラシの白引きずり黒引きずりを修正

  • 透明の中にある白や黒と混色しない仕様になりました。

  • 水彩ブラシの使用時に白が引きずられて浮き上がったり、黒が引きられて色が黒くなる事がありました。
    レイヤー内の透明に見える箇所に実際は白色や黒色があり、混色系ブラシで描画するとその色が混ざっていました。
    そのため、下のレイヤーでクリッピングして水彩ブラシで塗る時などに、選択色ではない白色が浮き上がることがありました。
    レイヤーが透明な時には混色を行わずブラシの選択色をそのまま描画するようにして、この問題を回避しました。

  • 不透明な箇所の混色処理は従来と変わりありません。

選択範囲内のみ描画する事ができるようになりました。

  • 選択範囲がある時は、選択範囲内のみブラシで描画できるようになりました。
    これまでは選択範囲のありなしに関わらず、キャンバス全体に描画されていました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/09/18 v6.97.0

ChickenPaint Be更新

  • バケツ塗り(floood fill)をマスクに対して行った時にグレースケールのバケツ塗りの処理が正しく行われないバグを修正しました。

同一オリジンチェックに$_SERVER['HTTP_SEC_FETCH_SITE']を併用

  • オリジンとホスト名を比較して一致しない時には同一オリジンチェックでエラーにしていましたが、正規ユーザーが拒絶されてしまう事例があったため、$_SERVER['HTTP_SEC_FETCH_SITE']same-siteを返す時には、同一オリジンチェックを通すようにしました。
    Sec-Fetch-Site header - HTTP | MDN
    MDN

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • picpost.inc.php
  • potiboard.php
  • save.inc.php

2025/09/17 v6.96.6

バケツ塗りを改善

  • ChickenPaint Beで別のレイヤーの画像を参照して「バケツ塗り」ができるようになりました。
    線画のレイヤーとバケツ塗りするレイヤーを分ける事が可能になりました。
    これまでは線画の領域を塗り潰す時に、同一レイヤー内でしか塗り潰せませんでしたが、「全レイヤー参照」にチェックが入っていれば、「全レイヤー」の画像を統合した画像を元に塗り潰しの領域を判定します。
    また「領域拡張」機能が追加され、アンチエイリアスの境界を塗り潰せるようになりました。
    「バケツ塗り」の不透明度が調整できるようになりました。
    「バケツ塗り」に半透明色が使えるようになりました。
    v6.96.6で「バケツ塗り」の不透明度が「領域拡張」に反映されないバグを修正しました。

image

ChickenPaint Beの新機能 バケツ塗りの全レイヤー参照・領域拡張 - YouTube

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/09/16 v6.96.3

ChickenPaint Be更新

テクスチャ塗り潰し

  • テクスチャを選択している時は、そのテクスチャで選択範囲を塗り潰す事ができるようになりました。
2025_09_15_002_ChickenPaint_Be.mp4

また、「効果」メニューにテクスチャで消去を追加し、選択しているテクスチャで消去できるようになりました。

バグ修正

  • レイヤーの移動を←↓↑→キーで行う事が最近のアップデートでできるようになりました。
    しかしながら、ぼかしの値を調整するモーダルの数値の入力時に意図せずレイヤーが動いてしまう問題がありました。
    モーダルが開いている時は←↓↑→キーによる移動を無効化する事でこの問題を修正しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • klecks/ ディレクトリを上書きアップデート
  • potiboard.php

2025/09/12 v6.96.1

ChickenPaint Be更新

  • テクスチャの拡大縮小ができるようになりました。
    拡大率が500%から800%に拡張されました。
  • テクスチャのサムネイルが明度・コントラスト・倍率などのスライダで見えなくなってしまう問題を修正しました。

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2025/09/11 v6.96.0

ChickenPaint Be更新

  • テクスチャの拡大縮小ができるようになりました。
2025_09_11_002_ChickenPaint_Be.mp4

ChickenPaint Beの新機能 表示の左右反転 - YouTube

ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube

ChickenPaint Beの新機能 選択範囲パネル・ズームと回転パネル - YouTube

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2025/09/09 v6.95.2

ChickenPaint Be更新

  • ChickenPaint Beのレイヤー名に日本語を含むマルチバイト文字が使えるようになりました。
    これまでは英数字以外を入力すると続きを描く時に文字化けが発生していました。
    これからは、多国語に対応し、絵文字にも対応します。

image

「投稿者名をコピー」機能を改善

  • 「投稿者名をコピー」時に全角に変換されていたHTMLの特殊文字を安全に半角でコメント欄にコピーします。

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

変更があったテンプレート

BASIC

  • templates/basic/res.blade.php

MONO

  • templates/mono/mono_main.blade.php

2025/09/07 v6.93.2

PHP8.5ベータ2でテスト

  • 11月にリリースされるPHP8.5のベータ版でテストを行い正常に動作する事を確認しました。
    エラーや警告は発生しません。

待機時間を1.2秒から0.8秒に短縮

  • 画面が表示されてからボタン押下が可能になるまでの時間を1.2秒から0.8秒に短縮しました。
    この待機時間はbot対策のために導入されましたが、1.2秒では人による操作でも「少し待ってください」というエラーメッセージが頻繁に表示される事があり、そのため、0.8秒待機に短縮されました。

SNS連携時に空白が+のまま投稿される問題を修正

  • スマホでthreadsに「SNSで共有する」と、半角スペースが記号の+に変換されて投稿される問題を修正しました。
    スペースを+に変換しないURLエンコードに変更し、この問題を解決しました。

Klecks更新

  • Klecksを最新版にアップデートしました。

変更があったファイル

  • potiboard.php
  • search.inc.php
  • sns_share.inc.php
  • klecks/ ディレクトリを上書きアップデート

2025/09/02 v6.92.5

ChickenPaint Be更新

バグ修正

  • テクスチャの輝度/コントラストのスライダーが正しく動作しなくなっていたのを修正しました。
image

CSSを整理

  • Bootstrap v5.3.0からv5.3.8にCSSを変更。
  • BootstrapのCSSとChickenPaint独自のCSSが混在していていたのを可能な範囲で分離して開発が継続できるようにしました。

ChickenPaint Beの新機能 表示の左右反転 - YouTube

ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube

ChickenPaint Beの新機能 選択範囲パネル・ズームと回転パネル - YouTube

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2025/09/02 v6.92.2

ChickenPaint Be更新

  • ツールオプションパレットのボタンにアイコンを追加しました。
  • ライトボタンの背景色を非アクティブレイヤーのグレーと同じになるように調整しました。
image image

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート
  • klecks/ ディレクトリを上書きアップデート

2025/08/29 v6.92.1

ChickenPaint Be更新

  • 回転角をスライダーで180度にするときに、実際のキャンバスの角度と同期しようとして+180度と-180度が交互に入れ替わりちらつく問題を修正しました。

image

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2025/08/28 v6.92.0

ChickenPaint Be更新

  • ボタンのサイズを調整しました。

image

  • 2025年のブラウザ環境には必要がない古いブラウザのための拡大縮小時のスムージング処理のポリフィルを削除しました。
  • Bootstrapを最新版のv5.3.8にアップデートしました。

Klecks更新

  • 選択範囲内にのみブラシで描画する事ができるようになりました。
    (ビルドと日本語訳のみさとぴあ)

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート
  • klecks/ ディレクトリを上書きアップデート

2025/08/26 v6.91.0

ChickenPaint Be更新

  • ボタンの色を調整しました。

image

Klecks更新

  • 選択範囲でできる事が多くなりました。選択範囲内の画像の色を変更したり、選択範囲内の画像を変形する事ができるようになりました。

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート
  • klecks/ ディレクトリを上書きアップデート

2025/08/24 v6.90.3

ChickenPaint Be更新

  • ボタンの色を調整しました。
  • 「表示をリセット」を「表示を初期化」に変更しました。
image

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2025/08/23 v6.90.2

ChickenPaint Be更新

  • ボタンの色を調整しました。
  • ボタンの余白を調整しました。

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2025/08/22 v6.90.1

ChickenPaint Beのバグを修正

  • ズームと回転パネルのスライダーが同期しないケースがあったのを修正しました。

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2025/08/20 v6.90.0

  • GPS情報の消去条件を変更しました。
    これまでは「緯度と経度の両方が存在する」場合にのみGPSデータを消去していました。
    これからは「緯度または経度のいずれかが存在する」場合にGPSデータを消去します。
    経度だけ、緯度だけというGPS情報は基本的に存在しないはずですが、なんらかのデータ破損で片方だけになった時にも、GPS情報を削除します。

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2025/08/20 v6.89.5

ChickenPaint Be更新

ツールオプションパレットに「ズームと回転」を追加

  • ツールオプションパレットに「ズームと回転」を追加しました。
    手のひらツール・回転ツール選択時、スペースキー押下時などに表示されます。
    ズームの倍率・キャンバスの回転角度をスライダーで操作できます。
    「表示をリセット」ボタン押下で、「拡大率」「回転角度」「表示の左右反転」をすべてリセットします。

image

回転をリセットするショートカットキー

  • ALT+0で、回転をリセットする事ができるようになりました。

ChickenPaint Beの新機能 表示の左右反転 - YouTube

ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2025/08/17 v6.88.3

ChickenPaint Be更新

  • 選択ツール使用時に「縦横比を維持」するチェックボックが表示されるようになりました。
    変形ボタンが青色になりました。
    Enterキー押下で変形します。

image

ChickenPaint Beの新機能 表示の左右反転 - YouTube

ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2025/08/16 v6.88.2

ChickenPaint Be更新

  • 変形操作時に「縦横比を維持」するチェックボックスが表示されるようになりました。

image

ChickenPaint Beの新機能 表示の左右反転 - YouTube

ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2025/08/16 v6.88.1

ChickenPaint Be更新

ワークフローを改善

  • ツールオプションパレットに「すべて選択」「選択解除」「変形」ボタンが表示されるようになりました(長方形選択ツール・移動ツール使用時)。
image

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2025/08/14 v6.87.1

ChickenPaint Be更新

  • 表示の左右反転時に変形操作を行い変形対象を回転する時に、ペンの回転方向と対象の回転方向が逆になるバグを修正しました。
  • 左右反転時に←↓↑→方向キーで対象を移動する時に、左右逆に移動するバグを修正しました。

ChickenPaint Beの新機能 表示の左右反転 - YouTube

ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

変更があったテンプレート

BASIC

  • templates/basic/icomoon/demo-files/demo.js

MONO

  • templates/mono/icomoon/demo-files/demo.js

2025/08/13 v6.87.0

ChickenPaint Be更新

作業効率を劇的に改善する「表示の左右反転」機能を追加

  • ChickenPaint Beを更新しました。

  • これまでは画像全体を反転するためレイヤーを1枚ずつ左右反転していました。
    そのため、レイヤーが50枚ある時は、50枚のレイヤーを1枚ずつ反転する必要がありました。

  • 今回追加された「表示の左右反転」は、全レイヤーの表示を一括で反転します。

  • 「表示の」左右反転のため、実際の画像には変更が加えられず、アンドゥの履歴にも残りません。

  • 左右反転ボタンに赤枠が付いている時が反転状態です。

  • 赤枠が付いている時の画像を正しい向きと誤認すると、反転した画像が投稿されてしまいますのでご注意ください。

  • 今回追加した「表示の左右反転」機能は、一般的なペイントツールでよく使われている機能です。

ChickenPaint Beの新機能 表示の左右反転 - YouTube

ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2025/08/10 v6.86.7

ChickenPaint Beのバグを修正

  • 変形操作中にスペースキー押下で一時的なパンモード(キャンバスの移動)に入った時に、ペン・マウスを移動するたびにカーソルが入れ替わりちらつく問題を修正しました。

ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2025/08/09 v6.86.6

ChickenPaint Beのバグを修正

  • CTRL+スペースでズームモードに入ってペンを左右に動かした時に、ズーム中であるにも関わらずパン可能(キャンバスの移動)カーソルに切り替わってしまう問題を修正しました。
    Chromeでは、ペンで押下している時にカーソルが消えるため気が付きにくい問題でしたが、マウス使用時やFirefox、Edge使用時にはペン押下時にもカーソルが表示されたままになるため、動作モードと一致しないカーソルが表示されていました。
  • 移動ツールを選択時に、スペースを押下してパン(キャンバスの移動)モードに入った時にペンを動かすと、ペンを動かすたびに移動ツールのカーソルと、パンカーソルが入れ替り、ちらつく問題を修正しました。
  • CTRL+スペースでズームモードに入ったあとでCTRLキーをキーアップした時に、カーソルがパン可能にならずパンの動作中のカーソルになる問題を修正しました。
  • CTRL+スペースでズームモードに入った時に、選択ツールが動作しなくなる問題を修正しました。

ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2025/08/07 v6.86.5

ペン左右ドラッグでズームのMac OS対応

  • [CTRL+スペース]キー同時押しの時に、ペンを左右にドラッグすると拡大縮小するズームをv6.86.0で追加しました。
    しかしながら、MacではこのショートカットキーがOSで既に使用されているため、ショートカットキーが使えない状態になっていました。
    そのため、[CTRL+スペース]でズームはそのまま残した上で、[Z]キー押下でズームモードに入るショートカットも追加しました。

  • [Z]を押しながらペンを左右にドラッグすると拡大縮小します。
    [CTRL+スペース]を押しながらペンを左右にドラッグしても拡大縮小します。

ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2025/08/06 v6.86.3

ChickenPaint Be更新

  • 変形操作時に↓キー押下でメニューが開くのを防止します。
    メニュー→編集→変形で変形モードに入った時に、メニューにフォーカスが残ったままになり、↓キーでメニューが開いていました。
    この問題に対応するため、変形モードに入った時にメニューバーのフォーカスを外し、で変形中の選択範囲内画像を移動できるようにします。

ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2025/08/05 v6.86.1

ChickenPaint Be更新

  • 移動ツール選択時、変形操作中の時に選択範囲内画像を方向キー「←↓↑→」で移動できるようにしました。
    これにより1ピクセル単位で移動できるようになりました。

ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2025/08/02 v6.86.0

ChickenPaint Beのズーム機能が向上

  • ピンチズーム、ペンの左右ドラッグによる拡大縮小、2種類の新しい無段階ズームが付きました。
  • これまでは、虫眼鏡アイコンで1.5倍拡大、0.75倍縮小といった段階的なズームを使うか、マウスホイールによる無段階ズームを使うしかありませんでした。
    iPadやスマホにはマウスホイールが存在しないため、無段階ズームを利用する事ができませんでした。
    ピンチズームの実装により、iPadやスマホでも無段階ズームを使う事ができるようになりました。

ピンチズームを実装

  • 選択されているツールが「手のひら(キャンバスの移動)」「回転」でモバイル端末などのタッチデバイスの時に、2本指によるピンチズームが使えるようになりました。

ChickenPaint Beにピンチズームを実装 - YouTube

ペンの左右ドラッグで拡大縮小

  • ペン、またはマウスの時に「CTRL」+「スペース」キーを押下するとズームモードに入ります。
    ズームモードに入るとカーソルもズームカーソルに変わり、ペンを左にドラッグすると縮小し、右にドラッグすると拡大します。

ChickenPaint Beにペン左右ドラッグによる拡大縮小機能を実装 - YouTube

BladeOne更新

  • テンプレートエンジンBladeOneをv4.19にアップデートしました。

変更があったファイル

  • potiboard.php
  • BladeOne/ ディレクトリを上書きアップデート
  • chickenpaint/ ディレクトリを上書きアップデート

2025/07/24 v6.85.3

ChickenPaint Beのバグを修正

  • jQueryをJavaScriptに書き直す過程で、未定義変数が発生していたのを修正しました。
    変形操作中にレイヤーの追加を行おうとした時に表示されるダイアログで確定しても、レイヤーが追加されなくなっていました。
    あとからレイヤーの追加をやり直す事はできていたので操作できなくなっていた訳ではありませんが、未定義エラーが発生するバグでした。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/07/14 v6.85.2

CheerpJバージョンアップ

  • JavaアプレットのしぃペインターをJavaスクリプトに変換するCheerpJをv4.2に更新しました。
  • 少し前のバージョンからAndroidやiOS等のモバイル端末にも対応しています。
  • 例えばJavaアプレットのしぃペインターをiPhoneで起動して描いて投稿できます。

変更があったファイル

  • potiboard.php

2025/07/08 v6.85.0

PHP8.5RFCで非推奨の議論が開始された関数と構文を修正

PHP8.5RFC
PHP: rfc:deprecations_php_8_5
で非推奨になる可能性がある関数と構文を修正しました。
(現時点では議論中)

リソースからオブジェクトへの変換で no-op 関数を廃止します。
非推奨imagedestroy()

PHP8.0で何もしなくなったこれらの関数をPHP8未満と以上で分岐してPHP7とPHP8.5の両方に対応できるように書き直しました。

言語/構文の非推奨:
switch文のcaseの後のセミコロンは非推奨です

switchのcaseのあとのセミコロンをコロンに統一しました。

変更があったファイル

  • picpost.inc.php
  • potiboard.php
  • save.inc.php
  • thumbnail_gd.inc.php

2025/07/06 v6.83.0

バグ修正

  • ChickenPaint Beを更新しました。
    キャンバスに描画した画像に段差が発生する問題の根本原因を修正しました。
    canvasタグの HTML 属性の高さには整数が指定され、style 属性には浮動小数点が指定されていたのを修正しました。
    高さの計算時にあらかじめ整数化しておき、HTML 属性、style 属性ともに、同じ値の整数が指定されるようにします。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/07/03 v6.82.1

ChickenPaint Be更新

  • レイヤー名をリネームする時に軽微なエラーが発生していたのを修正しました。

バグ修正

  • exif_read_data()に解析不能なEXIF ヘッダが渡された時にエラーが発生するため、@でエラー制御します。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/07/01 v6.82.0

ChickenPaint Be更新

  • 既存のレイヤーを残したまま全レイヤーを結合した新レイヤーを追加するレイヤー操作メニューを追加しました。
    従来の「全レイヤー結合」を実行すると、全レイヤーを結合して1枚のレイヤーになります。
    今回追加された「結合レイヤーを追加」を実行すると、既存のレイヤーを残したまま全レイヤーを結合した新レイヤーが追加されます。
    クリスタの「表示レイヤーのコピーを結合」に相当する機能です。
    表示レイヤーのコピーを結合 CLIP STUDIO PAINT ユーザーガイド

操作方法

メニュー>レイヤー>結合レイヤーを追加
または、ショートカットキー「Shift+Alt+E」。

コード整理

  • sns_share.inc.phpのコードを整理しました。動作は何も変わりません。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php
  • sns_share.inc.php

2025/06/29 v6.81.3

バグ修正

  • 「続きを描く」でバージョン6以前のログファイル形式のログを処理した時にログを分割するカンマの数が不足して配列のキーが未定義になっていたのを修正しました。
    このバグは、v6.80.8で発生し、v6.81.3で修正されました。

テキスト修正

  • PaintBBSのペイント画面の下に表示されるテキストのtypoを修正しました。

変更があったファイル

  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php

2025/06/25 v6.81.2

EdgeのIEモードを含むIE全バージョンのサポートを終了しました

  • JavaScriptの更新を重ねた結果インターネットエクスプローラー(IE)から投稿できなくなっていた事が判明しました。
    コードを古い書き方に戻してIEでも投稿できるようにする事も考えましたが、古いブラウザの使用にはセキュリティリスクがともないます。
    しぃペインターはChrome+CheerpJで起動と投稿が可能で、今やiPhoneでしぃペインターを使う事もできます。
    Javaプラグインを使ってしぃペインターを使う事ができるブラウザ、The Pale Moon Project homepageも存在します。
    そのため、IEの対応を終了します。
  • IE対応のために厳格なチェックを行う事ができなかったSame-originチェックをより厳格に行う事ができるようになりました。

変更があったファイル

  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php
  • templates/mono/parts/style-switcher.blade.php

2025/06/23 v6.80.8

  • 指定日数を超過した古い記事の「続きを描く」リンクがでない仕様ですが、リンクが存在しなくても、urlを直打ちすると「続きを描く」画面が表示される事が判明しました。
    続きを描く処理に指定日数を超過しているかどうかを確認する処理を追加して、指定日数を超過している時はエラーメッセージを表示するようにしました。
  • テンプレートBASICの検索画面の文字フォントがメイリオのままになっていたのを修正しました。
    その他の画面では、ブラウザのデフォルトフォントが使用されており、最新版のChromeでは、「Noto Sans JP」で表示されていました。
    今回の修正ですべてのページでブラウザのデフォルトフォントで表示されるようになります。

変更があったファイル

  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/search.css

2025/06/14 v6.80.5

  • ChickenPaintを更新しました。使用しているパッケージの著作権表示を最新の情報に更新しました。
    動作は何も変わりません。
  • 禁止ホストからアクセスがあった時の動作を調整しました。
    ホスト名が逆引きできなかった時に拒絶する設定の時に、IPv6のIPアドレスが逆引きできず、正当なユーザーも拒絶されてしまう問題を修正しました。
    逆引きできないホストとして拒絶するのは、IPアドレスがIPv4形式の時だけになりました。
    IPv6アドレスを拒絶したい時は、config.phpの「拒絶するホスト」にIPv6のアドレスを登録します。
    (レンタルサーバがIPv4の時は、IPv6アドレスではなくIPv4からの投稿になるようです。)

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/06/11 v6.80.2

PCHアップロードペイントの時には描画時間や工程数によって制限されないように

  • config.php次の設定で、投稿に必要なペイント時間、工程数が設定されている時に、管理画面からアップロードペイントを行うと、警告のアラートが開き、警告の内容にしがたって追加の作業を行う必要がありました。
define("SECURITY_CLICK", "60");  
define("SECURITY_TIMER", "60");  

ここの設定項目が空白の""の時には発生しない問題ですが、投稿に必要な作画時間の秒数、作画のためのクリック数が設定されていると、「描画時間が短すぎます。」「工程数が少なすぎます。」といったアラートが開きます。
通常の新規投稿時にこのアラートが開くのはそのように設定しているため仕様ですが、例えばPaintBBS NEOの動画ファイルPCHファイルを管理画面からアップロードしてキャンバスに読み込んで投稿する場合はどうでしょうか?
PaintBBS NEOの.pchや、ChickenPaintの固有ファイル拡張子である.chiファイル、Klecksの.psd(Photoshop形式ファイル)をアップロードする時は、過去の作品の再掲が目的である場合が多く、その時に「描画時間が短すぎます。」「工程数が少なすぎます。」などのアラートが開くのは適切ではないケースがほとんどです。
GIFアニメーションで見てみましょう。

20250610_PCHアップロードペイントの時は描画時間の制限を受けない

  • 今回の更新で、管理画面からお絵かきアプリ固有ファイルをアップロードして描画キャンバスに読み込んで投稿する時には、設定に関わらず、「描画時間が短すぎます。」「工程数が少なすぎます。」などのアラートは開かなくなり、キャンバスへの読み込みの直後にすぐに投稿できるようになりました。

変更があったファイル

  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint_klecks.blade.php

MONO

  • templates/mono/paint_klecks.blade.php
    (テンプレートを更新するとKlecksのpsdファイルを管理画面から投稿した時に、描画時間によって制限されなくなります。それ以外は特に変わりはありませんので、テンプレートの更新は必須ではありません。)

2025/06/09 v6.79.2

php.iniから値を正しく取得できていなかったバグを修正

  • php.iniから、
    post-max-size(PHPマニュアル)
    の値を取得する時に、単位を認識していませんでした。
    取得した数値をすべてMBとして処理していました。
    例えば100KBに設定されている時に、100MBと認識していました。
    今回の更新で、100MB100MB100KBは、0.09765625MBと認識されるようになりました。
    このように値に浮動小数点が含まれるため、ペイント画面のJavaScriptによる計算時にも小数点以下を含めた値を想定して計算します。

  • PaintBBS NEOと、Klecksで、php.iniから値を取得できなかった時に、NEOでは動画の切り捨て、Klecksでは投稿不能になっていたのを修正しました。
    値の取得に失敗した時には0が返り0MBよりファイルサイズが大きいと判断されて投稿が失敗するのを修正しました。
    今回の更新で取得した値が0の時は制限するべき上限値が取得できなかったものと判断し、投稿を可能にします。

  • php.iniの設定で許容されている範囲を超えるファイルサイズの画像が送信された時に、PHPのエラーになっていたのを修正しました。
    JavaScriptを更新して、フロントでファイルサイズをチェックします。
    フォームの"MAX_FILE_SIZE"の上限サイズを、JavaScriptで読み取って計算します。
    これにより、"MAX_FILE_SIZE"を超過するファイルが100MBのような過大なファイルサイズの時にも、PHPのエラーにならず、フロントのJavaScriptで拒絶します。
    もちろん、PHPの内部のバックエンドでもファイルサイズをチェックします。

変更があったファイル

  • neo.js
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/js/basic_common.js
  • templates/basic/paint_klecks.blade.php
  • templates/basic/paint_tegaki.blade.php
  • templates/basic/parts/paint_form.blade.php

MONO

  • templates/mono/js/mono_common.js
  • templates/mono/paint_klecks.blade.php
  • templates/mono/paint_tegaki.blade.php
  • templates/mono/parts/mono_paint_form.blade.php

問題なく動作している場合はテンプレートを更新しなくても、そのまま使って大丈夫です。
basic_common.js``mono_common.jsを更新すると、アップロードするファイルのサイズチェックがJavaScriptでも行われるようになり、サーバのPHPのエラーを回避できる場合があります。
各ペイント画面のテンプレートは、ファイルサイズの制限値が0の時に投稿不能にならないように調整しましたが、現時点で投稿できているのであれば更新してもしなくても、動作は特に変わりません。

2025/06/06 v6.78.2

  • 禁止ホストの時は編集・削除が完全にできなくなるようにしました。
    フォームの表示からサブミットまでの時間を計測して、1.2秒の待機が必要になるようにしました。
    セッションの特定のキーが存在しない時には拒絶するため、フォームに直接外部から投稿を試みた時の攻撃が失敗する可能性がより高くなります。
    待機時間が1.2秒であればフォームを見つけ次第投稿を開始するbotは排除できる可能性が高く、よほど素早く操作しない限り人間の操作でエラーになる事はないと思います。

変更があったファイル

  • potiboard.php

2025/06/02 v6.77.8

config.phpに新規設定項目を追加

  • config.phpに新規設定項目を追加しました。
//禁止ホストからのアクセスがあった時は、SESSIONにキャッシュする
//する:1 しない:0
define("USE_BADHOST_SESSION_CACHE", "0");

// ※禁止ホスト判定をセッションに保存します。
// 禁止ホスト判定されるとブラウザを再起動するまで解除されません。

IPアドレスを変えながら投稿を試みるスパムbotがいます。
この時に、一度でも禁止ホストだった時には、セッションを終了するまで該当クライアントを拒絶し続けるようにします。
これにより、ホスト名を変更しても、スパムbotからの投稿は拒絶され続けます。
しかしながら、正当なユーザがこの規制に巻き込まれた時は、ブラウザを終了してセッションを終了するまで投稿できなくなってしまいます。
掲示板の利用形態や、スパムの被害の度合いなどを総合的に考えた上で、慎重に設定する必要があります。

禁止ホストからのアクセス時には管理者ログイン画面を表示しない

  • フォームを見つけ次第投稿を開始するbotがいます。
    そのため、禁止ホストからのアクセス時には新規投稿画面を表示しないようにしました。
    また管理者ログイン画面も表示しなくなりました。
    アクセスを禁止しているホストからは管理者ログイン画面が見えなくなります。

変更があったファイル

  • potiboard.php
  • config.php
    (新規設定項目の追加が必要な場合のみ更新します)

2025/05/31 v6.77.2

しぃペインター起動のためのCheerpJをv4.1に更新

  • JavaアプレットをPC版Chromeや、iPhone・iPad・Androidで使えるようにするCheerpJをv4.1に更新しました。
    v4.1は最新の安定バージョンです。
    CheerpJにより、JavaアプレットであるしぃペインターをJavaプラグイン不要で起動します。
    モダンブラウザ・モバイル端末でしぃペインターを利用できます。

変更があったファイル

  • potiboard.php

2025/05/30 v6.77.1

ホスト名が逆引きできないIPアドレスからの投稿を拒絶する設定項目を追加

  • 大手接続プロパイダは、ほとんどの場合IPアドレスからホスト名を逆引きできます。
    匿名性の高いVPN、プロキシからの場合は逆引きできない事が多い傾向にあります。
    匿名性の高いIPアドレスからの投稿を遮断するため、ホスト名が逆引きできないIPアドレスからの投稿を拒絶できるようにします。
//ホスト名が逆引きできないIPアドレスからの投稿を拒絶する
//する:1 しない:0
define("REJECT_IF_NO_REVERSE_DNS", "0");

// ※逆引きできないIPアドレスの利用者も多いため、"1" にすると一部の正当なユーザーが投稿できなくなる可能性があります。

config.phpのどこでも構いませんので、上記設定項目を追加する事で、ホスト名が逆引きできないIPアドレスからの投稿を拒絶できるようになります。
管理者画面に表示されているホスト名が、IPアドレスで表示されている場合は、逆引きできないIPアドレスからの投稿です。

変更があったファイル

  • potiboard.php
  • config.php
    (新規設定項目が必要ない場合はconfig.phpの更新は必要ありません。現在設定ずみのものをそのままお使いください。)

2025/05/28 v6.77.0

JavaScriptが有効になっていない端末からの投稿を拒絶する設定項目を追加

  • JavaScriptを経由して投稿する処理を追加しました。
    そして、JavaScriptを経由した投稿である事を示すフラグを追加し、そのフラグが存在しない時は投稿を拒絶できるようにしました。
    JavaScriptを処理できない簡単なスパムbotを排除できます。
  • config.phpに新規設定項目を追加して、JavaScript経由ではない投稿を拒絶するしないを設定できるようにしました。
    一律でJavaScript経由以外を拒絶する設定にすると、今回更新されたJavaScriptを使用しなければならなくなり、既存のテンプレート付属のJavaScriptのままでは投稿が不可能になるケースが発生するかもしれないからです。
    config.phpに該当箇所の設定項目が存在しない時は、JavaScript経由でもJavaScriptを経由しない投稿どちらも受け入れます。

config.phpのどこでもいいので以下の設定項目を追加して、値を"1"にすると、JavaScriptを経由していない投稿を拒絶します。

//JavaScriptを経由していない投稿を拒絶
// する: 1 しない: 0
// する: 1 にすると、JavaScriptを無効にしているクライアントからの投稿は拒絶されます。
// また、common.js が対応バージョンでない場合も拒絶されます。
define("REJECT_WITHOUT_JAVASCRIPT", "1"); 
  • ブラウザ自動化botからの投稿を拒絶する処理もJavaScriptに追加しています。

変更があったファイル

  • config.php
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/js/basic_common.js

MONO

  • templates/mono/js/mono_common.js
  • templates/mono/template_ini.php

2025/05/28 v6.76.5

ChickenPaint更新

  • Bootstrapを2025年5月にリリースされたv5.3.6に更新しました。
  • タブレットサポート画面のFirefoxのヘルプのリンクを削除しました。
    (2025年の環境では情報が古くなっているため)

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/05/27 v6.76.3

Bot対策を強化

  • 少し前のバージョンからCookieの有効チェック、Same-originチェックを行い不正な投稿を弾いていましたが、それに加え、入力フォームの表示からsubmitボタン押下までの時間を計測して、短すぎる時はエラーにします。
  • これらの対策だけではスパムや総当たり攻撃を完全に防止する事はできませんが、ブラウザを使用せず、フォームの入力欄に直接投稿をこころみるタイプのBotの遮断には一定の効果があるものと思われます。

非推奨になったX-Frame-OptionsをCSPに

2024年12月に非推奨になったX-Frame-Options - HTTP | MDNを、Content-Security-Policy (CSP) - HTTP | MDNに置き換えました。
クリックジャッキングを防止するために必要な機能です。
しかしながら、フレーム内で表示したい人が一定数存在するため、config.phpでフレーム内表示を拒絶するしないを設定できるようにしています。
安全なウェブサイトの作り方 - 1.9 クリックジャッキング | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構
フレーム内への表示を許可すると上記クリックジャッキングの脆弱性が発生するため、デフォルトではフレーム内表示を拒絶します。

変更があったファイル

  • potiboard.php

2025/05/23 v6.75.6

  • パスワード関連の処理の関数を作成してコードの可読性を向上させました。
  • hash_equals()関数を導入してセキュリティを高めました。

変更があったファイル

  • potiboard.php

2025/05/19 v6.73.9

tegaki.jsをスマホ対応に

  • tegaki.jsをスマホ対応にしました。
20250519_tegaki.mp4

Google Pixel7a相当の画面の幅と高さあるスマホなら幅350px、高さ450pxのキャンバス全体を表示して描画できます。

変更があったファイル

  • potiboard.php
  • tegaki/ ディレクトリを上書きアップデート

2025/05/10 v6.73.8

CheerpJ更新

  • CheerpJv3.1に巻き戻していたCheerpJを最新バージョンに更新しました。
    CheerpJv4.0で発生していた描線のひっかかりは解消されました。
    また、CheerpJv3.1では操作できなかったレイヤーの新規追加・削除、レイヤーの並べ替えなどがモバイル端末で操作可能になりました。
    つまり、 iPadやAndroidなどのスマホでもしぃペインターを使う事ができるようになったという事です。
    ただし、Javaプラグインでは可能なブラウザバック時のデータ復元はできません。
    しぃペインターのデータ送信形式は、ロリポップなどでデフォルトでonになっているWAFのセキュリティチェックで攻撃と誤って認識される事があります。
    これらの問題はHTML5版のしぃお絵かき、PaintBBS NEOにはありませんが、しぃペインターには存在する問題です。

変更があったファイル

  • potiboard.php

2025/04/30 v6.73.6

ペイントツール更新

  • AXNOS Paintを更新しました。
  • Klecksを更新しました。

文字フォントをブラウザのデフォルトに

  • 文字フォントのメイリオの指定を削除して、ブラウザのデフォルトの文字フォントで表示するようになりました。
  • Windows版Chrome、Edgeで文字フォントをカスタマイズしていない時の文字フォントはGoogleとAdobeが共同開発した"Noto Sans JP"になります。

動画・続きを描くのリンクが無い時は、動画表示・続きを描くのdivのブロックを表示しない

  • テンプレートBASICでは、動画・続きを描くのリンクが存在しない時にも動画表示・続きを描くのdivのブロックが表示されてしまいその幅の分だけ本文が下に押し下げられていました。
    それを回避するため、PHPでifの分岐を作り、動画・続きを描くのリンクが存在しない時はそのリンクのためのdivのブロックを表示しないようにしました。

変更があったファイル

  • axnos/ ディレクトリを上書きアップデート
  • klecks/ ディレクトリを上書きアップデート
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/basic.css
  • templates/basic/main.blade.php
  • templates/basic/res.blade.php

MONO

  • templates/mono/css/mono_dark.css
  • templates/mono/css/mono_dark.min.css
  • templates/mono/css/mono_deep.css
  • templates/mono/css/mono_deep.min.css
  • templates/mono/css/mono_main.css
  • templates/mono/css/mono_main.min.css
  • templates/mono/css/mono_mayo.css
  • templates/mono/css/mono_mayo.min.css

テンプレート部分の変更は、単に見た目の変更です。
テンプレートやCSSをカスタマイズしている方は更新する必要はありません。
そのままお使いください。

2025/04/24 v6.73.5

CheerpJv3.1に巻き戻し

  • CheerpJv4.0では、しぃペインターで線を引く時の引き始めの時にひっかかり、長めに線を引かないと線がでないため、v3.1に巻き戻しました。

変更があったファイル

  • potiboard.php

2025/04/24 v6.73.3

CheerpJv4.0対応

  • 古いJavaアプレットのしぃペインターをChromeで起動して描いて投稿できるようにするためのCheerpJがv4.0になりました。
  • v4.0にあわせて安全性のためのハッシュ値と高速起動のためのオプションをセットしました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/04/12 v6.73.2

NEOの動画再生ビューワーの操作をスマホ・タブレット対応に

  • PaintBBS NEOの動画再生ビューワーの操作をスマホ・タブレット、Windows Ink有効時のペンタブレット対応にしました。
  • 動画再生の進捗バーの任意の箇所で再生を停止したり巻き戻したりする操作はこれまでマウスに最適化されていましたが、今回の更新でタッチデバイスに対応しました。
  • 動画再生ビューワーで拡大表示した時の画像のスクロールもマウスに最適化されていましたが、こちらもタッチデバイスに対応し、スマホ・タブレットでも操作可能になりました。

ビューワー操作のスマホ対応

変更があったファイル

  • potiboard.php
  • neo.js

2025/04/10 v6.73.1

Chrome 135 でPaintBBS NEOの文字がかすれる問題を修正

image

文字のかすれが発生した画面

  • Windows版Chrome 135で、ゴシック体のデフォルトフォントがメイリオから"Noto Sans JP"に切り替わりました。
  • その影響で文字の太さを100に指定していたNEOの日本語の文字列の可読性が著しく低下してしまいました。
  • 他の環境では文字がやや太くなってしまう可能性もありますが、太さ300でもかすれが発生するため、太さ指定のCSSをコメントアウトして文字の太さが標準になるようにしました。

image

修正後の画面

変更があったファイル

  • potiboard.php
  • neo.css
  • neo.js
  • chickenpaint/ ディレクトリを上書きアップデート

2025/04/09 v6.73.0

jQueryを段階的に削減

  • ChickenPaint BeのjQueryは完全にJavaScriptに置き換えられました。
    しかしスクロールすると出てくる上に戻るリンクは依然としてjQueryで動いていました。
    その上に戻るリンクをjQueryからJavaScriptに置き換えました。
    これにより、jQueryを使用しているのは画像をポップアップ表示するLightbox2のみとなりました。
    万が一jQueryの開発が終了したとしても、画像のポップアップ表示の実装のための選択肢はあるため対応できるでしょう。

変更があったファイル

  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/basic.css
  • templates/basic/js/basic_common.js

MONO

  • templates/mono/css/ ディレクトリを上書きアップデート
  • templates/mono/js/mono_common.js

CSSをカスタマイズしている方はCSSファイル内のどこでもいいので、

#page_top {
 visibility: hidden;
}

の追加をお願いします。
また、追加しなくても掲示板の表示時に一瞬、上に戻るボタンが表示される事があるだけです。

2025/04/05 v6.72.3

送信関連のJavaScriptのコードを整理

  • Formデータの送信時の処理の流れ方を整理しました。
  • jQueryを使って処理していた、無効化されたボタンの再有効化処理をJavaScriptに置き換えました。

動的パレットスクリプトをリファクタリング

  • 2025年のブラウザ環境では推奨されないコードが残っていたのを修正しました。

変更があったファイル

  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/js/basic_common.js
  • templates/basic/paint.blade.php

MONO

  • templates/mono/js/mono_common.js
  • templates/mono/mono_paint.blade.php

2025/04/05 v6.72.2

脱jQuery

  • ChickenPaintに残っていたjQueryをすべて素のJavaScriptに置き換えました。
    chickenpaint.jsのファイルサイズはわずか498kbになりました。
    脱jQueryの実現により今後のjQueryの開発に左右されなくなります。
    仮にjQueryの開発が終了したとしてもChickenPaintには何も影響がありません。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • tegaki/ ディレクトリを上書きアップデート
  • potiboard.php

2025/04/02 v6.72.1

バグ修正

  • NEOの動画再生時に軽微なエラーが発生していたのを修正しました。
    v1.6.15で発生したバグですが、動画の再生時にコンソールにエラーが表示されるのみで動作には影響のないエラーでした。
    NEOを更新して修正しましたが、バージョンはv1.6.15のままです。

ChickenPaintのjQueryを段階的に削減

  • どこまで減らせるのかわかりませんが、JavaScriptに置き換える事ができる箇所はできるだけJavaScriptに置き換えています。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • neo.js
  • potiboard.php

2025/03/31 v6.72.0

バグ修正

  • loadcookie.jsにバグが見つかりました。
  • kecks、NEO、ChickenPaintなどのアプリ固有ファイルがあり、ツール選択メニューが表示されていない時のコンティニュー時に、直前に使用したアプリが起動してしまうバグが見つかりました。
  • 本来は、アプリ固有ファイルがある時には、そのアプリが自動的に選択されて起動するはずなのですが、COOKIEによって上書きされてしまっていました。
  • この問題は、2025/03/10 v6.68.3で発生し、v6.72.0で修正されました。
    その関係でloadcookie.jsが使用されている箇所にバージョン番号をクエリパラメータとしてセットする処理を追加しましたが、必要なテンプレートの更新数が多くなってしまいます。
    loadcookie.jsの更新してブラウザでハード再読み込みするだけでこの問題は修正できます。
    AXNOS Paintと、klecksとtegakiのテンプレートの通信エラー時のエラーメッセージをより詳細にする更新も入っていますが、テンプレートの全更新みたいな事になってしまいますので、最低限loadcookie.jsを更新してください…というお願いになります。

変更があったファイル

  • potiboard.php
  • loadcookie.js

更新があったテンプレート

  • ほとんど全部
    ただし、めったに発生しないエラーのエラーメッセージのリファクタリングだったり、確実にloadcookie.jsを更新するためパラメータの追加だったりしますので、テンプレートをカスタマイズしている方は更新しなくても大丈夫です。

2025/03/30 v6.71.1

ChickenPaint Be更新

  • レイヤーマスクをレイヤーパレットのゴミ箱アイコンで削除できるようになりました。
    これまでは、ゴミ箱アイコンをタップするとレイヤー全体が削除されていました。
    これまでは、メニュー→レイヤー→レイヤーマスク削除を選択しなければ、レイヤーマスクを削除できませんでした。

レイヤーマスクをゴミ箱アイコンで削除

  • 変数宣言されていない変数が混在していたのを修正しました。
  • 間違った引数が修正されました。
  • 通信エラー時により詳細なエラーメッセージを表示します。

image

変更があったファイル

  • app/chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/03/27 v6.71.0

PHP8.5対応準備

flock()関数の返り値の確認が必須になったためラッパー関数を作成して対応

PHP: rfc:marking_return_value_as_important

  • 2025年秋にリリース予定のPHP8.5では、flock()の返り値の確認が必須になるため、ラッパー関数を作成してファイルロックに失敗した時はエラーになるようにしました。
  • 続きを描く→画像差し換えの時にファイルロックが失敗した時には新規投稿に切り替えるようにしてイラストが失われないようにします。

SNSで共有するに、xissmie.xfolio.jpを追加。

config.phpにxissmie.xfolio.jpを次のように追加します。
新規設置ではない場合は、既存のconfig.phpの設定項目が優先されてしまうため、手動で書き足す必要があります。

$servers =
[
		
	["X","https://x.com"],
	["Bluesky","https://bsky.app"],
	["Threads","https://www.threads.net"],
	["pawoo.net","https://pawoo.net"],
	["fedibird.com","https://fedibird.com"],
	["misskey.io","https://misskey.io"],
	["xissmie.xfolio.jp","https://xissmie.xfolio.jp"],
	["misskey.design","https://misskey.design"],
	["nijimiss.moe","https://nijimiss.moe"],
	["sushi.ski","https://sushi.ski"],
];

変更があったファイル

  • potiboard.php
  • sns_share.inc.php

2025/03/26 v6.70.2

NEO更新

  • ホスト名に特定サイトのホスト名が含まれる時に、誤動作が発生する可能性があったのを修正しました。
  • 該当サイトのドメイン名+サブドメインであることをチェックしてこの問題を修正しました。

正規表現のリファクタリング

  • 何度も似た条件で処理していた正規表現を1行にまとめました。

explode()の分割を最小限に

  • 行を2つに分割するだけですむ箇所に第三引数のlimitを追加しました。これまでは2つに分割するだけですむ処理をカンマの数だけ分割していました。

変更があったファイル

  • neo.js
  • potiboard.php

2025/03/22 v6.69.0

PaintBBS v1.6.15

  • PaintBBS NEOを更新しました。より詳細なエラーメッセージを表示します。
    Screen-2025-03-22_15-37-49
  • v1.6.15で、Petit NoteとPOTI-boardで使用していた派生版のNEOにしかなかった機能を追加しました。
    また、互換性の問題が発生しないようにするための設定項目を追加しました。
    これにより、派生版を使う必要がなくなりました。

変更があったファイル

  • neo.js
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php

2025/03/20 v6.68.6

しぃペインターのポップアップメニューがiPadで操作可能になりました

  • CheerpJ v3.1でiPadやスマホでもしぃペインターで投稿できるようになりましたが、レイヤーの新規作成・削除・並べ替え・合成方法変更などの操作はPCのマウスでなければ操作できず、モバイル端末では操作不可能でした。
  • この問題をCheerpJの開発元に報告したところ、わずか2日で対応版できました。
  • その対応版を先行的にPOTI-boardに導入し、iPadやスマホでもしぃペインターが操作できるようにしました。

image

メール通知クラスのリファクタリング

  • 存在するべきではない誤ったエスケープ処理が削除され、入るべきではない箇所の不要な改行コードの削除処理が追加されました。

しぃペインターが起動しない問題が解消

  • CheerpJを使ったモバイル端末でのしぃペインターが起動に失敗する問題を開発元に報告し、その結果、CDNのキャッシュの破損が原因である事がわかり、そのキャッシュ破損の原因も判明して2025年3月19日現在は問題が解决しています。

動的パレットのセレクトボックスが13個以上ある時にスクロール表示になる仕様をもとの仕様へ

  • テンプレートMONOのペイント画面の動的パレットのパレットの数が13個以上ある時に、13個までしかボックスに表示されずスクロール表示になっていたのを本来の仕様にもどしました。
  • 13という数が変数ではなく、13という固定された文字列になっていたのを変数に戻しました。

変更があったファイル

  • noticemail/noticemail.inc
  • potiboard.php

変更があったテンプレート

MONO

  • templates/mono/mono_paint.blade.php
  • templates/mono/css/ ディレクトリを上書きアップデート
    (ペイント画面の動的パレットとアプレットの位置関係を修正しています。特に困っていない場合はCSSを更新する必要はありません。)

2025/03/10 v6.68.3

PHP8.5のrfcで削除が提案されているfilter_input()関数の使用を中止してユーザー定義関数へ

  • PHP: rfc:deprecations_php_8_5このrfcでfilter_input()関数の削除が提案されています。
  • 2/3以上の賛成がなければ非推奨にはなりませんがPHP8.5が出る頃には今よりも時間がなくなっている可能性があるため、作業ができる時に作業しました。
  • filter_input()関数の使用を中止して、代わりにユーザー定義関数を作成し、125箇所あった、filter_input()関数を書き直しました。

古いJavaScriptをリファクタリング

  • loadcookie.jsをES6の文法で書き直して厳格モード"usestrict"に設定しました。
  • テンプレートMONOのJavaScriptのコードに型チェックを追加しました。

変更があったファイル

  • loadcookie.js
  • picpost.inc.php
  • potiboard.php
  • save.inc.php
  • search.inc.php
  • sns_share.inc.php

変更があったテンプレート

MONO

  • templates/mono/js/mono_common.js

2025/03/05 v6.67.6

JavaScriptの型チェック

  • 22年前のスクリプト、動的パレットスクリプトをリファクタリング。
    TypeScriptの型チェックを利用して型を指定、ES6、厳格モードに対応したコードに修正。
  • Cookieの発行などを行っているJavaScriptファイルに型チェックを導入してより確実な値を取得。

改善

  • 日記モード時や、画像アップロードもコメントのみの新規投稿も行わない時に、新規投稿フォームのURLを指定すると、投稿フォームが開いてしまっていたのを修正しました。
    ただし、本来使用しないはずのフォームは開いているものの、そこからの投稿は設定どおり正しく失敗していました。
  • PHPの関数の戻り値の型宣言に矛盾があったのを修正しました。
  • 日本語が無ければ拒絶の条件を緩和して半角カタカナを日本語に含めます。
  • 「レス20件省略中」の時の20件分の記事の計算を省略して処理を軽くします。
  • CheerpJのドキュメントを参考にしてしぃペインターの起動時に必要になるファイルを起動オプションで指定し、起動時間を短縮します。

未解決の課題 (2025年3月19日現在は解决ずみ)

  • CheerpJを使ったしぃペインター*の起動に失敗する問題を、開発元に報告しましたが、コンテンツ配信ネットワークのファイルの破損が原因でJavaアプレットの解析に失敗する事例が発生しています。
    (しぃちゃんPaintBBSはしぃペインターではありません。しぃペインターにはアンチエイリアスの効いたペンや、カラーピッカー等があり、レイヤーを200枚以上使う事ができます。)
  • ブラウザを変更すると問題なく起動する事がある、時間帯によっては起動する事がある事がわかっています。
  • Chromeの拡張機能、CheerpJをインストールできる環境の場合は、拡張機能を利用する事でCDNの障害を回避して問題なくしぃペインターを起動できるようです。
  • 拡張機能のCheerpJには、すでに必要なファイルが入っているため、毎回CDNを経由してファイルをダウンロードする必要がありません。そのためCDNの障害の影響を受けないようです。
    CheerpJ Applet Runner - Chrome ウェブストア
  • もちろん、The Pale Moon Projectのような、2025年の環境でもJavaプラグインをサポートしているブラウザでJavaアプレットのしぃペインターを起動して投稿する事もできます。

変更があったファイル

  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/js/basic_common.js
  • templates/basic/paint.blade.php

MONO

  • templates/mono/js/mono_common.js
  • templates/mono/mono_paint.blade.php

2025/02/24 v6.65.6

バグ修正

  • 直接入力で Bluesky または Threadsのリンクが入力されている時に、他の SNSを選択できなくなる問題を修正しました。

変更があったファイル

  • BladeOne/ ディレクトリを上書きアップデート
  • chickenpaint/ ディレクトリを上書きアップデート
  • klecks/ ディレクトリを上書きアップデート
  • potiboard.php
  • sns_share.inc.php

2025/02/15 v6.65.3

Klecks更新

  • ペンブラシに「散布パラメータ」が付きました。
  • キャンバスの回転時に直線ツールのアンドゥ処理が正常に行わなわれないバグが修正されました。

変更があったファイル

  • klecks/ ディレクトリを上書きアップデート
  • potiboard.php

2025/02/14 v6.65.2

  • 端末の画面が横幅768px以上でなければ、しぃペインターを選択できなくしていた処理をみなおし、600px以上に変更しました。
    CheerpJv3.1で、スマホ・タブレットからの投稿も可能になりましたが、スマホでしぃペインターのUIを操作するのはあまり現実的ではありません。しかし、横幅600pxのAndroidタブレットであれあタッチペンなどを駆使すればJavaアプレットのしぃペインターでの作画は可能なはずです。
    そのため、横幅600pxの画面幅の端末の時にもしぃペインターを選択可能にします。
  • TwitterカードをLargeサイズに変更しました。これまでもBlueskyではLargeサイズ相当のOGPイメージが表示されていたため、Xでも大きなOGP画像を表示します。
  • コード整理。null合体演算子を使用してコードの文字数を削減しました。

変更があったファイル

  • potiboard.php
  • search.inc.php

変更があったテンプレート

BASIC

  • templates/basic/main.blade.php
  • templates/basic/js/basic_common.js
    (このJavaScriptファイルでしぃペインターのメニューを出すかどうかを判定する画面の横幅チェックを行っています。)

MONO

  • templates/mono/js/mono_common.js
    (このJavaScriptファイルでしぃペインターのメニューを出すかどうかを判定する画面の横幅チェックを行っています。)
  • templates/mono/mono_main.blade.php

2025/02/06 v6.65.0

しぃペインターをモダンブラウザChrome/Safariで起動するためのCheerpJをv3.1に

  • 2025年2月5日にリリースされた、CheerpJv3.1にアップデートしました。
  • CheerpJv3.1ではしぃペインターの最後の投稿するボタンの「Yes」をペンタブのペンや、モバイル端末でも押下可能です。
  • これまでは最後の投稿ボタンがマウス以外では無反応だったためPC以外でのしぃペインターの使用が不可能でした。
  • ただし、サーバのWAFは今後もしぃペインターからの生データの送信を画像のパターンによっては攻撃とみなして「403エラー」で拒絶する可能性があります。画像のパターンを少しだけ変更して再度投稿すると投稿に成功する事もありますが、Javaのデータ送信方式とWAFは相性が悪いため、攻撃と誤認される可能性があります。
  • また、レイヤーの並べ替えにはマウスが必要なため、線画を最初から上のレイヤーに描いておく、コピーツールを使ってレイヤーを移動する必要があるなど、しぃペインターのタブレット端末での操作にはまだ問題があります。

Klecksを最新版に

  • アンドゥ履歴をHTMLキャンバス以外の場所に保存する事で安定性が向上しているようです。
  • 選択範囲機能が追加されました。
  • 開発中の箇所には「開発中」という日本語訳をあててています。その箇所が完成してから更新するつもりでしたが、クラッシュを回避できるかもしれないアンドゥ履歴の保存方法の変更があったため、更新しました。

負の値が入らないはずの箇所を最適化

  • 記事番号やページ番号等、マイナスの値が入ることを想定していない箇所にマイナスの値をセット可能になっていたのを修正しました。

不要になったテンポラリ内ファイルの処理方法

  • 最適化しました。

ChickenPaint更新

  • jQueryを減らしJavaScriptで書く事ができる箇所をJavaScriptに書き直しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • klecks/ ディレクトリを上書きアップデート
  • potiboard.php
  • search.inc.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php
  • templates/basic/paint_klecks.blade.php
    (このファイルを更新しないと、Klecksで投稿に失敗します)

MONO

  • templates/mono/mono_paint.blade.php
  • templates/mono/paint_klecks.blade.php
    (このファイルを更新しないと、Klecksで投稿に失敗します)

2025/01/15 v6.62.9

NEO更新

  • PaintBBS NEOを更新して、キャンバス周辺の格子部分をタッチした時のスクロールの制御処理をNEO本体に移動しました。
  • これまでは、格子模様の箇所をタッチした時にスクロールが発生しないようにするためにNEOの外部のJavaScriptで制御していました。
  • v6.62.7で続きを描く時に描画アニメーションをスキップする機能を追加しましたが、画像を取得した直後にアンドゥするとキャンバスが空白になっていました。
  • この問題を修正するため、続きを描く画面でアニメーションをスキップする時は動画のアンドゥの履歴を保存しないようにしました。
  • 静止画が表示された後の加筆の履歴は保存されます。

テンプレートMONOで変数が未定義になっていたのを修正

  • v6.62.7で追加した処理の変数が未定義エラーになる場合があったのを修正しました。

変更があったファイル

  • neo.js
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php

2025/01/13 v6.62.8

ChickenPaint 更新

  • 上のレイヤーと下のクリッピング元のレイヤーを結合する処理は改善できていました。
  • しかし、下のレイヤーがクリッピング元ではなく、そのさらに下にクリッピング元のレイヤーがある時に、正常に結合できない問題が発生していました。
  • 今回の更新でこの問題を修正しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2025/01/12 v6.62.7

関数の戻り値の型をチェックするようになりました

  • PHP7.1で追加された機能を使って関数の戻り値の型を指定して指定通りの型が返って来なかった時には致命的エラーになるようにしました。
    これまでは期待した型ではなかった時にも動作しつづけていました。
    これにより、バグの発見が容易になります。

動画保存機能が存在しないツールを選択した時には、「動画記録」のチェックボックスを表示しない

2025_01_08_save_Playback

  • これまでは、ChickenPaintなど動画を記録しないペイントツールが選択されている時にも「動画記録」のチェックボックスが表示されていました。
  • 選択されているペイントツールが、PaintBBS NEO、しぃペインター、Tegakiのうちのどれかであれば、「動画記録」のチェックボックスを表示します。

テンプレート MONOで、しぃペインターやNEOで横に長いキャンバスを開いた時のレイアウトを変更

  • しぃペインターなどで横に長いキャンバスを開いた時は、ヘッダやフッタも追随して長くなるようになりました。
  • これまでは、アプレットだけが横に長くなっていました。
  • MONOでNEOやしぃペインターを選択した時の動的パレットの配置が必ず右横になるようになりました。
  • これまでは、ブラウザの幅が狭い時に、アプレットの下に回り込んでいました。

続きを描く、動画再生からの戻り先が個別記事に

  • 続きを描く、動画再生からの「戻る」リンクのリンク先が個別記事になりました。
  • これまでは掲示板トップに戻っていました。

ChickenPaint Be更新

2025_01_12_下のレイヤと結合した時にもクリッピングの状態を維持

  • クリッピングマスクを適用した状態のまま1枚のレイヤーに結合する事ができるようになりました。
  • これまでは、クリッピングレイヤーを下のレイヤーと結合するとクリッピングマスクが無効化されてしまい盛大にはみ出していました。

変更があったファイル

  • BladeOne/ ディレクトリを上書きアップデート
  • chickenpaint/ ディレクトリを上書きアップデート
  • picpost.inc.php
  • potiboard.php
  • save.inc.php
  • search.inc.php
  • sns_share.inc.php
  • thumbnail_gd.inc.php

変更があったテンプレート

BASIC

  • templates/basic/basic.css
  • templates/basic/js/basic_common.js
  • templates/basic/main.blade.php
  • templates/basic/res.blade.php
  • templates/basic/paint.blade.php
  • templates/basic/parts/paint_form.blade.php

MONO

  • templates/mono/css/mono_dark.css
  • templates/mono/css/mono_deep.css
  • templates/mono/css/mono_main.css
  • templates/mono/css/mono_mayo.css
  • templates/mono/js/mono_common.js
  • templates/mono/mono_main.blade.php
  • templates/mono/mono_paint.blade.php
  • templates/mono/parts/mono_paint_form.blade.php

現在ご利用になられているテンプレートで問題がなく、見た目に関連する新しい機能が必要ない場合は、今お使いのテンプレートをそのままご利用ください。
また、templates/ディレクトリを上書きすれば、どのファイルを更新するしないを判別する必要もなく、更新はすぐに終わります。
見た目のカスタマイズをしていない方は、templates/ディレクトリの上書きアップデートをお試しください。

2024/12/24 v6.59.1.1

PaintBBS NEOの続きを描く画面でアニメーションを再生しない

  • NEOで続きを描くと、描いた手順の描画アニメが再生され再生を最後まで待つか、画面をタップして再生をスキップする必要がありました。
  • 今回の更新で続きを描く画面では描画アニメを再生せず、アニメデータからレイヤー情報だけを取得して静止画として画面に出力するようになりました。
  • これにより、アニメの再生がはじまった時にタップしてスキップする必要がなくなりました。
  • オリジナルのPaintBBSにより近い動作になりました。

変更があったファイル

  • neo.js
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php

2024/12/17 v6.57.1

「SNSで共有」機能がThreadsに対応しました

241216_Threads対応

  • Meta社のSNS「Threads」の共有リンクが作成できるようになりました。
    変更するファイルの数は少ないのですが、「Threads」に対応させるには、config.phpの再設定が必要になります。
    「Threads」対応の必要が無い場合は、config.phpの再設定は必要ありません。
// SNS共有の時に一覧で表示するサーバ
//例 	["表示名","https://example.com (SNSのサーバのurl)"],(最後にカンマが必要です)

$servers =
[
		
	["X","https://x.com"],
	["Bluesky","https://bsky.app"],
	["Threads","https://www.threads.net"],
	["pawoo.net","https://pawoo.net"],
	["fedibird.com","https://fedibird.com"],
	["misskey.io","https://misskey.io"],
	["misskey.design","https://misskey.design"],
	["nijimiss.moe","https://nijimiss.moe"],
	["sushi.ski","https://sushi.ski"],

];

// SNS共有の時に開くWindowsの幅と高さ

//windowの幅 初期値 600
define("SNS_WINDOW_WIDTH","600");

//windowの高さ 初期値 600
define("SNS_WINDOW_HEIGHT","600");

["Threads","https://www.threads.net"],
が1行追加になり
さらに
define("SNS_WINDOW_WIDTH","600");
define("SNS_WINDOW_HEIGHT","600");
のように、初期値を600pxに変更しています。
ここのウィンドウサイズを変更しなくても表示できますが、画面下側が少し隠れ気味になります。
また、従来のウィンドウ幅でSNSの共有先の画面が表示されたあとの操作のための幅と高さが不足していたかもしれません。
そのため、幅、高さともに600pxに拡張しています。

変更があったファイル

  • potiboard.php
  • sns_share.inc.php
  • config.php
    (SNS共有で、Threadsの共有リンクを作成したい場合は更新が必要)

2024/12/12 v6.57.1

PaintBBS NEOで動画が保存されない時は警告を出す

  • PaintBBS NEOで動画データが保存されない時は「レイヤー情報は保存されません。続行してよろしいですか?」という確認ダイヤログを表示します。
    キャンセルすれば、レイヤー情報が保存されない事を前提にした作画を続行できます。

マークダウン形式のリンク機能を改善

  • マークダウン形式のリンク[文字列](URL)を改善しました。
    文字列を指定する[]の中にさらに[]がある時は、バックスラッシュ(円マーク)でエスケープします。
    エスケープされていれば
    [12345] Petit Note
    のようなリンクになります。
    例)
[\[12345\] Petit Note](https://example.com)

マークダウン形式のリンクを作成するChromeの拡張機能のいくつかは、上記の例のように[]の中の[]をバックスラッシュでエスケープしますから、拡張機能が作成したマークダウンのリンクをそのまま使う事ができます。

変更があったファイル

  • axnos/axnospaint-lib.min.js

  • neo.js

  • potiboard.php

  • search.inc.php

  • templates/basic/paint.blade.php

  • templates/mono/mono_paint.blade.php

2024/12/03 v6.56.6

AXNOS Paint 更新

  • 画面が小さな端末に対応したUIになりました。

変更があったファイル

  • axnos/ ディレクトリを上書きアップデート
  • potiboard.php

2024/12/04 v6.56.5

ChickenPaint Beで通信エラーが発生した時のHTTPステータスコードをよりわかりやすく

  • これまでChickenPaint Beで通信エラーが発生した時のエラーメッセージは英語のみでした。
    今回の更新で日本語環境の時には、通信エラー時のエラーメッセージが日本語で表示されるようになりました。
  • 最初に表示される「画像を保存できませんでした。」に続く文言に「エラーメッセージをご確認ください。」と入るようになりました。
    エラーが発生した状況の詳細は、このアラートではなく次に表示されるエラーメッセージにあるのでそちらを見て欲しいからです。

image

「エラーメッセージをご確認ください」に文言を変更。

image

エラーメッセージの3桁の数字がHTTPステータスコードである事をわかりやすく表示。

この場合は「404」なので、404Not Foundです。
サーバが混雑している時には「503」が返ってくる可能性が高く、サーバによる拒否であれば「403」が返ってきます。
「200」の時には投稿可能な状態なので、エラーメッセージは表示されず投稿処理が行われます。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2024/12/03 v6.56.3

ユーザー認証コードの見直し

  • ユーザーコードを64文字に拡大しました。
  • 画像差し換え時の認証コードのハッシュ値の種にパスワードを使用するのを止めました。
  • 画像差し換え時の認証コードに、記事番号と記事IDをそのまま含める形にしより確実な認証ができるようにしました。
  • 画像差し換え処理の時にも、投稿された画像の本人確認を追加して、ユーザーコードあるいはIPアドレスが一致する時にのみ画像を投稿するようにしました。

画像差し換え・記事編集時に記事が既に削除されていた時に発生する問題を修正

  • 問題は続きを描いている最中に記事が削除されて、次の人が同じパスワードで記事を投稿した時に起こります。
    次の人の投稿も同じ「記事番号」と「パスワード」になるからです。
    この時、次の人の投稿を「続きを描く」で続きを描いた投稿が上書きしてしまいます。
    記事の編集中に記事が削除され、同じ「記事番号」と同じ「パスワード」の別の投稿が記事の編集中に投稿された時にも同様の問題が発生します。
  • この問題を回避するため、続きを描く・記事編集の時に、上書きする記事がもとの記事と同一かどうかを記事のUNIXタイムスタンプで確認します。

ChickenPaint Be更新

Feature request/proposal: converting brightness to opacity · Issue #4 · satopian/ChickenPaint_Be

  • 「輝度を透明度」に変換機能を追加しました。
  • @SuzuSuzu-HaruHaruさんが作成した原型をもとに不透明度の計算方法を調整し、一般的なペイントソフトと比較しても遜色のない機能として実装しました。

image

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/other.blade.php

MONO

  • templates/mono/mono_other.blade.php

テンプレートを更新しなくてもこれまで通り動作します。
ただし、更新しない場合は、記事の編集中に記事が削除されてしまっていた時に、次の投稿を上書きする可能性は残ります。
この問題は20年前からPOTI-boardに存在していた問題ですから、問題が発生するケースはおそらくごく稀です。

2024/11/26 v6.53.8

コードを整理

  • 長過ぎる画像差し換えのforeachのネストを短くしました。

  • 必要の無いbasename()を削除しました。

  • GDが使用可能かどうかをチェックしていた関数を簡素化して、thumbnail_gd.inc.phpのclassのメソッドにまとめました。

  • PHP8.4で、exit()が言語構造から関数になったため、丸括弧なしのexit;exit();に変更しました。
    丸括弧なしのexit;は将来のバージョンのPHPでは非推奨になる可能性があります。

【PHP8.4】exitが言語構造ではなくなった #日本語訳 - Qiita
https://qiita.com/rana_kualu/items/60912b8cac8deeaa3560

バグ修正

  • 続きを描く時のパスワード認証処理で、存在しない記事ナンバーを意図的に指定するとexplode()が失敗して、PHPのエラーになっていたのを修正しました。
    (通常の使用では発生せず、不正な処理が行われた時に、サーバのエラーログにPHPのエラーとして記録されていました。)
  • config.php;で$addinfoに掲示板の追加の説明文を指定しても、新規投稿のフォームに表示されていなかったのを修正しました。
    (お絵かき時と、返信時には追加の説明文が表示されていましたが、新規投稿フォームには表示されていませんでした。)

変更があったファイル

  • potiboard.php
  • thumbnail_gd.inc.php

変更があったテンプレート

BASIC

  • templates/basic/other.blade.php

MONO

  • templates/mono/mono_other.blade.php
    (単に新規投稿フォームに$addinfoが表示されるようになっただけなので、必要な人だけ更新)

2024/11/20 v6.51.3

ログファイルサイズの5MB制限を廃止

ログファイルが5MBを超過した時に、ログファイルとして必要なの項目を考慮しない形でログファイルがカットされてしまっていました。
そのため、ログファイル取得時の5MB制限を廃止しました。
代わりに、ログファイルのサイズチェックを追加します。
ログファイルが15MBを超過している時は、エラーメッセージを表示します。(書き込み時とペイントボタン押下時)
しかしながら、ログファイルのファイルサイズが15MBになる頃には、掲示板がかなり重くなっているはずです。
およそ、8000件の投稿までなら稼働実績がありますが、それ以上になると動作が不安定になる可能性が高いです。
もっと多くの書き込みを保存したい時は、
satopian/Petit_Note: 「お絵かき掲示板PHPスクリプトPetit Note」 for PaintBBS NEO, tegaki.js,AXNOS Paint,ChickenPaint and Klecks. (PHP7.0 - PHP8.4)
https://github.com/satopian/Petit_Note
の利用をご検討ください。
こちらは、1スレッド1ログファイル形式のため、8000スレッド保存可能です。
1スレッドに200発言なら8000x200=160万件投稿稿可能です。

config.phpに新規設定項目を追加

ログファイルのサイズチェックの制限値を一律で15MBにしても良かったのですが、一応設定できるようにしておきました。
特にこだわりがない場合は、設定項目を追加する必要はありません。
設定項目が存在しない場合は、デフォルトの制限値15MBが適用されます。

//ログファイルのファイルサイズの制限値(単位MB)
//大きな値を設定すると動作が不安定になる可能性があります。
define("MAX_LOG_FILESIZE", "15");

Firefoxのメニューバーがaltキー押下で開閉する問題

アクノスペイント使用時に、altキーを押下してもFirefoxのメニューバーが開閉しないようにしました。
アクペのショートカットキーにはaltが割当られていないため、関係ないといえば関係ないのですが。

変更があったファイル

  • potiboard.php
  • config.php
    (config.phpを変更する必要はありませんがどうしても設定したい人向けに設定項目を追加しています)

変更があったテンプレート

BASIC

  • templates/basic/paint_axnos.blade.php

MONO

  • templates/mono/paint_axnos.blade.php

2024/11/19 v6.50.3

PHP8.4のRFCで削除が検討されていた関数を新しい関数へ

PHP8.4のRFCで削除が検討されたものの、反対票がわずかに多かったため非推奨にならなかった関数のいくつかをPOTI-board EVOで使用していました。

PHP: rfc:deprecations_php_8_4
https://wiki.php.net/rfc/deprecations_php_8_4

Deprecate uniqid()
Deprecate md5(), sha1(), md5_file(), and sha1_file()

PHP8.4では非推奨にならなかったものの、今後の事を考えて別の関数への置き換える事にしました。

古い暗号化処理の関数を新しい関数に

Deprecate uniqid()

uniqid()の使用をやめ、代わりにrandom_bytes()を使用します。

同じ画像チェックのためのハッシュ値のアルゴリズムをmd5からsha256へ

Deprecate md5()

PHP8.4のRFCでmd5()の廃止も検討されていました。
そのため、同じ画像が連続投稿されるのを防止するために使用していたmd5による画像のハッシュ値の取得をsha256に変更しました。

問題点

  • これまでログファイルに記録されていたハッシュ値はmd5で取得したものであるため、過去の画像のハッシュ値は意味をなさなくなってしまいます。
  • そのため、v6.50.3への更新のあと新規に投稿された画像のみが重複チェックの対象になります。
  • config.phpの$badfileも新しく作り直す必要があります。
//拒絶する画像のハッシュ値
$badfile = array("dummyhash","dummyhash2");

(拒絶画像の指定をしているユーザーはほとんどいないと思いますが。)

変更があったファイル

  • neo.css
  • neo.js
  • picpost.inc.php
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/other.blade.php

MONO

  • templates/mono/mono_other.blade.php

2024/11/11 v6.39.12

.htaccessの記述方法をApache2.4形式に

  • Apache2.2は2017で公式サポートが終了しましたが、そのApache2.2形式のhtaccessを使用していた事が判明したため、Apache2.4形式に書き直しました。

変更があったファイル

  • potiboard.php
  • .htaccess
  • templates/.htaccess

2024/11/08 v6.39.11

Klecksでファイルサイズが大きすぎる時に詳細なエラーメッセージを表示

  • 「ファイルサイズが大きすぎます。制限値:20MB 現在値30MB」のような形式でエラーメッセージを表示します。
    Klecksで出力するPNG形式の画像ファイルとPSD形式のレイヤー情報を合計した値が、サーバの許容値を超えてしまった時に、なぜ投稿できないのかを詳細に表示します。
    これまでは「投稿に失敗。時間を置いて再度投稿して下さい。」とだけ表示されていました。
    レイヤー情報込みのファイルサイズなので、レイヤーの枚数が多いほど上限を超えやすくなります。
    レイヤーを結合すればファイルサイズは小さくなります。

image

日本語表示時。

image

英語表示時。

変更があったファイル

  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint_klecks.blade.php

MONO

  • templates/mono/paint_klecks.blade.php

2024/11/06 v6.39.9

ChickenPaint Be更新

  • ファイルサイズがサーバの許容値を超えている時により詳細なエラーメッセージを表示します。
    「ファイルサイズがサーバーの上限を超えています。」というエラーメッセージを表示します。
    また、上限値と現在のファイルサイズも表示します。
    これまでは「お絵かきが保存できませんでした。再度投稿してみてください。」とだけ表示されていました。
    ChickenPaintのレイヤーを統合して整理すれば投稿時のファイルサイズは小さくなります。このエラーメッセージが表示されて投稿できない時はレイヤーの統合を行えば投稿が可能になる場合があります。

image

アップロード容量の制限値を知りたい(ファイルマネージャ、FTP、PHP) - よくあるご質問 - さくらのサポート情報
https://faq.sakura.ad.jp/s/article/000001463

さくらのレンタルサーバでは、初期設定で5MBまでとなっており、それよりも大きなファイルサイズを許容してたい時は、php.iniを編集します。
POTI-boardでは、post_max_sizeとupload_max_filesizeの両方の値をみて、より小さなほうを制限値として使いますので、以下の2つの上限値を調整する必要があります。
php.iniの編集方法はサーバのマニュアルなどでご確認ください。

以下の設定例の単位はMBです。
あまり大きくしすぎるとDdos攻撃の被害にあいやすくなる事がありますので、ご注意ください。
JavaScriptのアプリの安定性なども含めて考慮すると大きくても25MBぐらいが妥当だと思います。

設定例

; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; https://php.net/post-max-size
post_max_size = 20M

; Maximum allowed size for uploaded files.
; https://php.net/upload-max-filesize
upload_max_filesize = 20M

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/mono_paint.blade.php

2024/11/03 v6.39.8

ChickenPaint Be更新

  • ChickenPaint Beのテクスチャパレットがスクロールできなくなっていたのを修正しました。
    ( テクスチャパレットのスクロールが必要になるのはスマホのような小さな画面の端末の時です。)

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2024/11/03 v6.39.7

サムネイル作成の一連のGD処理をクラス化して、可読性の高いソースコードに

  • thumbnail_gd.phpに機能を詰め込んだ結果、ソースコードの可読性が著しく低下してしまったため静的クラスにまとめ直しました。
    thumbnail_gd.phpは削除されました。
    代わりにthumbnail_gd.inc.phpを使います。
    thumbnail_gd.phpは不要になりましたが、サーバ上に残っていても問題ありません。
    不要なファイルを削除しようとして、必要なファイルを削除してしまう事もありますので、削除する時は十分にご注意ください。
    thumbnail_gd.inc.php`は、Petit Noteと共通のクラスになりました。
    Petit Note、POTI-boardそれぞれの2種類のファイルをメンテナンスする必要がなくなりました。

お絵かき画像の実態サイズが縮小されるバグを修正しました

//アップロード時の幅と高さの最大サイズ これ以上は縮小
define("MAX_W_PX", "1024"); //幅
define("MAX_H_PX", "1024"); //高さ

お絵かきできる最大サイズよりも、MAX_W_PXまたはMAX_H_PXで設定したサイズのほうが小さな時に、画像が縮小されてしまうバグを修正しました。
本来は、お絵かき画像の画像サイズの制限は、お絵かきできる最大サイズで指定するべきで、投稿したあとに、最初の画像よりも小さくなるのは意図していなかった動作でした。

テンプレートBASICに、トリップコードが表示できるようになりました。

  • BASICテンプレートにもトリップコードを表示できるようにしました。(MONOには以前から実装ずみ)

image

この画像の「◆CSZ6G0yP9Q」の部分がトリップコードです。
名前を入力するときに「さとぴあ#abcd」のように入力すると「abcd」の部分がトリップコードに変換されます。
「◆CSZ6G0yP9Q」という文字しかわからない場合は、もとの入力が何だったのかを推測する事が難しいため、匿名掲示板で本人である事の証明する時に使われているものです。
たとえば、掲示板の管理者と名乗る書き込みが本当に管理者によるものなのかどうかをトリップコードで確認する事ができます。
古いPOTI-boardにもともとあった機能を使う人がいないという理由で取り外していましたが、一定の需要が存在している事が判明したため、再度実装しました。

テンプレートMONOで投稿時に投稿したレスの箇所に画面がスクロールするようになりました

  • MONOは入力欄が上部にあるため、投稿完了時に返信画面の一番上の位置を表示していました。
    しかしながら、それでは返信コメントの投稿が完了したのかどうかわからない時があるため、返信したコメントが見える位置まで画面をスクロールするようにしました。

変更があったファイル

  • potiboard.php
    追加されたファイル
  • thumbnail_gd.inc.php

削除されたファイル

  • thumbnail_gd.php

変更があったテンプレート

BASIC

  • templates/basic/basic.css
  • templates/basic/main.blade.php
  • templates/basic/res.blade.php

MONO

  • templates/mono/mono_main.blade.php
  • templates/mono/mono_paint.blade.php

2024/11/01 v6.39.3

  • PNG形式画像がMAX_KBを超える時は、JPEGに変換して投稿を可能にする機能を改修し、potiboard.phpで処理していたGDの処理をthumbnail_gd.phpに移動しました。
    既存のGD処理を活用して、potiboard.phpのコードを短縮しました。
  • お絵かきの時には画像のファイルサイズがMAX_KBで指定した値を超えていても、エラーにせず投稿を完了させるようにしました。
    投稿フォームからの添付ファイルの画像は、これまで通り、MAX_KB超過時にエラーになります。
    これまでも存在していてた仕様ですが、もとのファイルサイズがとても大きくても、縦横の制限で縮小が入り、MAX_KBよりファイルサイズが大きな時はPNGをJPEGに変換します。その結果、最終的なファイルサイズがMAX_KBの範囲内に収まれば投稿は成功します。

変更があったファイル

  • potiboard.php
  • thumbnail_gd.php

2024/10/26 v6.38.1

ChickenPaint Be 更新

ブラシプレビューの円をドラッグしてブラシサイズを変更する機能をペン対応に

2024-10-26-ブラシパレット

  • ブラシプレビューのプレビュー画面の円をドラッグしてブラシサイズを変更する操作がペンでもできるようになりました。
    ペンでも操作できるようにするため、マウスに最適化されていた処理をPointerEventに書き直しました。
    また、各パレットとメインメニューのtouchmoveEventのデフォルトの動作をキャンセルし、誤動作が発生しないようにしました。
    ペンが画面から離れているにもかかわらず、ドラッグしている対象が動いたままになる問題を修正しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2024/10/25 v6.38.0

ChickenPaint Be 更新

テクスチャパレットにノイズテクスチャを追加

image

  • 「テクスチャパレット」に「ノイズテクスチャ」を追加しました。
    これまでも、「効果メニュー」の「単色ノイズ」とレイヤー効果でノイズをのせる事ができましたが、それとも少し違うノイズを出す事ができます。
    ペンや鉛筆と組み合わせて使う事で、より鉛筆らしい線を描写できます。
    また水彩ブラシなどの厚塗りの時にも効果を発揮します。

消しゴム使用時はテクスチャを無効化

  • 消しゴム使用時はテクスチャを無効化する処理を追加しました。
    テクスチャを選択している時にも、消しゴムで消去できるようになりました。
    これまでは、テクスチャを選択したまま消しゴムをかけると、薄くはなるものの、消す事ができませんでした。
  • 薄消しゴム使用時はテクスチャが適用されます。消しゴムを使ったテクスチャのかけ合わせによる模様の作成をする時は薄消しゴムをご利用ください。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2024/10/23 v6.37.8

検索処理のコードを最適化

  • 同じ処理の繰り返しを関数化してコードの可読性を高めました。
    この関数化により同じ繰り返を繰り返していた16行を4行にまとめる事ができました。

ChickenPaint Be更新

  • Bootstrapをグローバルに宣言するのをやめ必要な箇所にimportするようにしました。
    また、削減可能な処理を削除しました。
    ビルドの日付が、「ChickenPaint Beについて」に入るようになりました。
    これにより、いつビルドされたChickenPaint Beなのかが一目でわかるようになります。

image

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php
  • search.inc.php

2024/10/15 v6.37.7

ChickenPaint Be更新

  • ChickenPaint Be拡大縮小のショートカットキーをKlecksやAXNOS Paintと同じ、「+」「-」に変更しました。
    これまでは、「ctrl + +」「ctrl + -」のように「ctrlキー」と一緒に押下する必要がありました。
  • ChickenPaint Beのファイルサイズを23.7%削減。
    ビルドツールの変更とIE互換のために使用していたポリフィルのパッケージの削除により、ファイルサイズを779KBから594KBに削減する事ができました。
    軽量化により、より高速に起動できるようになりました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2024/10/04 v6.37.6

Lightbox更新

  • Lightbox v2.11.5にアップデートし、さらにそこから再度改造してお絵かき掲示板仕様にしました。

AXNOS Paint更新

  • レイヤーのサムネイル画像の背景を単色グレーから市松模様に変更しました。
  • レイヤーのサムネイル画像の線画等の太さを太くして視認性を向上させました。
    これはAXNOS Paintの公式対応ではなく、改造版の仕様変更です。
    この仕様変更によって問題が発生した場合の責任はオリジナルのAXNOS Paintの開発者にはありませんので、そのような内容をオリジナルのAXNOS Paintの開発者に問い合わせないようお願いします。

変更があったファイル

  • axnos/
  • lib/lightbox/
  • potiboard.php

2024/09/30 v6.37.3

PaintBBS NEO更新

別ページに移動してしまった時や、ブラウザのタブを誤って閉じた時に画像を復元する機能が、PaintBBS NEOにはありますが、復元時にあやまって小さなキャンバスサイズを選択して復元すると、その小さなキャンバスサイズにあわせて画像が切り取られていました。
その後に大きなキャンバスサイズを選択して再度復元しても、画像は小さく切り取られたままでした。
今回の更新により、再度大きなキャンバスサイズを選択すればもとのサイズで画像を復元できるようになりました。

変更があったファイル

  • neo.js
  • potiboard.php

2024/09/28 v6.37.2

PaintBBS NEO更新

PCの電源が落ちた状態からの画像の復元ができるようになりました

別ページに移動してしまった時や、ブラウザのタブを誤って閉じた時に画像を復元する機能が、PaintBBS NEOにはありますが、落雷による停電等でPCの電源が落ちてしまった時は、画像を復元する事ができませんでした。
ページを移動した時やタブを閉じた時にしかバックアップ用のデータを保存していなかったため、落雷等による予期しない電源の遮断時に復元データは保存されていませんでした。
そのため、復元用のデータを10ストロークごとに保存し、ブラウザを完全に終了した時にもデータを保存するようにしました。
そして、データの保存先がモバイル端末の時と同じようにローカルストレージになるように変更しました。
しかし、これだけでは問題が残ります。
試し書き等のデータが1週間後あるいはもっと先まで保存され続け、予期しないタイミングで復元される可能性があります。
それらを考え、3日以上経過した古い復元データは自動的に破棄する仕様にしました。
近年の気候変動により、雷雨による停電が増えています。
今回のPaintBBS NEO v1.6.5により、突然停電になった時でも、描画途中のデータを復元できるようになりました。
PC版のChrome、EdgeそしてFirefoxで動作確認しています。

変更があったファイル

  • neo.js
  • potiboard.php

2024/09/27 v6.37.0

PHP8.4対応

2024年11月リリース予定のPHP8.4RC版のテスト環境を作り、POTI-boardのテストを行いました。
結果、BladeOneで非推奨のエラーが発生する事が判明しました。
PHP8.4はまだ正式にリリースされていないため、BladeOneのPHP8.4対応はこれから行われるものと思われますが、比較的容易にパッチをあてる事ができる箇所であったため、非公式にパッチをあてたBladeOneを作成し同梱しました。

PaintBBS NEO更新

substring()とslice()が混在していたコードをslice()に統一しました。(動作変わらず)

変更があったファイル

  • BladeOne/ ディレクトリを上書きアップデート
  • neo.css
  • neo.js
  • potiboard.php

2024/09/19 v6.36.3

ChickenPaint Be更新

  • Bootstrap3、Bootstrap4のレガシーなCSSクラスを整理しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2024/09/07 v6.36.1

ペイント画面のテンプレートを更新しました。

  • Klecksで続きを描く時にPNG、JPEGなどの画像ファイルの読み込みに失敗する事があるのを修正しました。
  • Klecksで透過PNGから続きを描いた時に透過にならず白塗りつぶし背景になるバグを修正しました。
    レイヤー情報を記録しているPSDファイルが存在している時にはこの問題は発生しないため発見が遅れました。
  • 画像を保存するためのファイルが存在しない時の404エラーのエラーメッセージを修正しました。
    エラーメッセージにインクルードして使っている直接呼び出していないファイル名が表示されていました。

AXNOS Paint更新

リリースされたAXNOS Paint V2.3.0をPetit Note用に改造し直しました。

変更があったファイル

  • axnos/ ディレクトリを上書きアップデート
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint_axnos.blade.php
  • templates/basic/paint_klecks.blade.php
  • templates/basic/paint_tegaki.blade.php

MONO

  • templates/mono/paint_axnos.blade.php
  • templates/mono/paint_klecks.blade.php
  • templates/mono/paint_tegaki.blade.php

2024/09/05 v6.36.0

AXNOS Paint更新

  • 公式版のAXNOS Paintが更新されたため、それにあわせて起動オプションを追加しました。
    AXNOS Paintを改造して1000px制限を1800pxに拡大しました。

  • AXNOS Paintで続きを描く時に、元の画像が掲示板で設定している幅と高さの最大値を超えているときは、画像の幅と高さをもとに最大値を設定するようになりました。
    これにより、幅と高さの最大値が1000pxで続きを描く時の元の画像が幅2000px、高さ2000pxの時は、幅1800px 高さ1800pxのキャンバスが開きます。
    お絵かきできる最大の幅と高さの最大値が1000pxでも、続きを描く時のもとの画像サイズにあわせて幅と高さを拡張します。
    しかし、AXNOS Paintの制限値1800pxを超える事はありません。
    AXNOS Paintの本来の最大の幅と高さは1000pxであるため、キャンバスサイズが1800pxの時に発生する問題は、AXNOS Paint公式の問題ではなく、改造版の問題です。
    画像のサイズがお絵かきできる最小値より小さくなる場合も想定してPOTI-board側で調整しました。

  • AXNOS Paintの最新版でAndroid端末+消しゴムツール使用時にピンチズームが動作しなくなる事がある問題が修正されました。

変更があったファイル

  • axnos/ ディレクトリを上書きアップデート
  • potiboard.php

変更があったファイル

  • axnos/ ディレクトリを上書きアップデート
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint_axnos.blade.php

MONO

  • templates/mono/paint_axnos.blade.php

2024/09/02 v6.35.5

AXNOS Paint更新

  • 掲示板で設定したキャンバスサイズの最大値と最小値がAXNOS Paintの設定タブのキャンバスサイズ最大値、最小値に反映されるようになりました。
  • ブラウザの優先言語の設定が日本語以外の時には英語UIで起動するようになりました。
  • 改造して使用していた続きを描くための処理をAXNOS Paint公式のものに置き換えました。

klecksで発生していた軽微な問題を修正

  • Klecksの自由変形処理画面の操作中にペンの長押しを検知して右クリックメニューが開いてしまう問題を修正しました。

変更があったファイル

  • axnos/ ディレクトリを上書きアップデート
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint_axnos.blade.php
  • templates/basic/paint_klecks.blade.php

MONO

  • templates/mono/paint_axnos.blade.php
  • templates/mono/paint_klecks.blade.php

2024/08/21 v6.35.3

改造版AXNOS Paintを更新

  • レイヤーの合成結果がSAIやFireAlpacaと近くなるように変更しました。
    これは現時点では改造版のAXNOS Paintの仕様変更です。この変更によって発生したレイヤーの合成結果に関する問題は改造版の問題であり、開発元が作成したオリジナル版のAXNOS Paintの問題ではありません。
    そのような問題もあるためバージョン情報に改造版のリポジトリのURLを追記して改造版である事を明確にしました。
  • AXNOS PaintとTegakiの投稿ボタン連打対策を行いました
    投稿ボタンを連打すると何枚も画像が送信され、未投稿画像に入る問題を修正しました。
    AXNOS Paintの仕様にそった通信処理に変更しました。

変更があったファイル

  • axnos/ ディレクトリを上書きアップデート
  • tegaki/ ディレクトリを上書きアップデート
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint_axnos.blade.php

MONO

  • templates/mono/paint_axnos.blade.php

2024/08/09 v6.35.2

AXNOS Paintを更新しました。

  • MacOS+Safariブラウザで、ツールパレットを移動すると、描画時にツールパレットがカーソルと一緒についてきてしまい描く事ができなかった問題を非公式に修正しました。
    この問題は、Safariの最新版では再現しません。Safari14で発生する問題に対処するための非公式な修正です。

変更があったファイル

  • axnos/ ディレクトリを上書きアップデート
  • potiboard.php

2024/08/08 v6.35.1

AXNOS Paintに対応しました。

AXNOS Paintとは (アクノスペイントとは) [単語記事] - ニコニコ大百科

image

config.phpに新規設定項目追加

//Axnos Paintを使う 使う:1 使わない:0 
define("USE_AXNOS", "1");

この設定項目が存在しない時は、Axnos Paintを使うになります。
Axnos Paintをペイントアプリ選択一覧に出したくない時は、上記設定項目を追加してください。

変更があったファイル

  • axnos/ ディレクトリを上書きアップデート
  • potiboard.php
  • config.php
    Axnos Paintをペイントアプリ選択一覧に出したくない時は、config.phpを更新します。
    Axnos Paintを使う設定で問題ない場合はconfig.phpを更新する必要はありません。

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php
  • templates/basic/paint_axnos.blade.php
  • templates/basic/parts/copyright.blade.php
  • templates/basic/parts/paint_form.blade.php

MONO

  • templates/mono/mono_paint.blade.php
  • templates/mono/paint_axnos.blade.php
  • templates/mono/parts/mono_copyright.blade.php
  • templates/mono/parts/mono_paint_form.blade.php

2024/08/04 v6.33.8

ChickenPaint Be更新

  • ツールパレットのぼかしツールのショートカットキーをUに設定しました。
    これで、キャンバスの回転とハンドツールによる移動以外のツールパレットのショートカットキーがすべて割り当てずみになりました。
    キャンバスの回転は、R+ドラッグ、ハンドツールはシフト+ドラッグで同様の操作ができるため、ツールパレットのこの機能のショートカットキーは設定しませんでした。
  • オリジナルのChickenPaintと同じように変形確定ボタンをパレットの横幅いっぱいに広がるようにしました。
    これはBootstrap5対応にする時に、必要なCSSが一部欠落した事が原因だったため、オリジナルのChickenPaintのCSSの一部を追加しなおしました。

potiboard.phpのコードを整理

  • 続きを描く時の記事番号とパスワードを照合する処理のネストを浅くしました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2024/07/27 v6.33.6

パスワードを連続して間違えた時のエラーメッセージを変更

これまでは、「拒絶されました。」とだけ表示されていたエラーメッセージを「 連続したパスワードの誤入力を検知したためロックしています。」に変更しました。
これまでは「拒絶されました。」というエラーメッセージが表示される個所が二個所あり、原因の特定が困難になる事がありました。

変更があったファイル

  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/template_ini.php

MONO

  • templates/mono/template_ini.php

2024/07/27 v6.33.5

ChickenPaint Beのバグを修正しました。

  • 2024/07/13 v6.32.9でChickenPaint Beがレイヤー2枚で起動するようになりましたが、その時に自動的に作成される透明レイヤーが正しく動作していなかったのを修正しました。
    混色系ブラシで描画した時に黒を引き摺り画面が黒くなっていました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2024/07/24 v6.33.2

ChickenPaint Be更新

  • コードを整理しました。機能に変更はありません。

klecksを更新

  • Klecksを最新版にアップデートしました。細かな修正が行われています。

管理者パスワードを5回間違えた時のロック解除

/*セキュリティ*/

// 管理者パスワードを5回連続して間違えた時は拒絶する
// する: 1 しない: 0
// する: 1 にするとセキュリティは高まりますが、ログインページがロックされた時の解除に手間がかかります。

define("CHECK_PASSWORD_INPUT_ERROR_COUNT", "0");

//ftp等でアクセスして、
// `templates/errorlog/error.log`
// を削除すると、再度ログインできるようになります。
// このファイルには、間違った管理者パスワードを入力したクライアントのIPアドレスが保存されています。
// 上記ファイルは手動で削除しなくても、ロック発生から3日経過すると自動的に削除され、ロックが解除されます。
// また、 しない: 0 に設定しなおせば上記ファイルは削除され、ロックが解除されます。

管理者パスワードを5回連続して間違えた時は拒絶する設定を有効にして、拒絶されてしまった時の対処方法はこれまで、ftp接続して、templates/errorlog/error.logを削除するしかありませんでした。
それでは面倒なので、3日後には自動的にロックが解除されるようにしました。
また、拒絶しないに設定しなおすと、上記エラーログが削除されるようにしました。
その後すぐに拒絶するに設定を戻してもロック解除ずみなので、次の5回連続誤入力までロックされません。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • klecks/ ディレクトリを上書きアップデート
  • potiboard.php

2024/07/19 v6.32.11

ChickenPaint Be更新

  • フォルダ結合アイコンのデザインを変更しました。

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2024/07/15 v6.32.10

ChickenPaint Be更新

  • レイヤーパレットに複製アイコンを追加しました。
    レイヤーやレイヤーグループを1タップで複製できるようになりました。
    これまではショートカットキーを使用するか、上段のメニューから複製を選択する必要がありました。
  • 下のレイヤーと結合アイコンをより視覚的にわかりやすいものに変更しました。
  • レイヤーグループ結合アイコンを下のレイヤーと結合アイコンと同じ位置に配置しました。
    レイヤーグループのフォルダ選択時はグループ結合アイコンになり、レイヤーの選択時には下のレイヤーと結合アイコンに入れ替わります。

ChickenPaintのレイヤーパレットに複製iconを追加

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2024/07/13 v6.32.9

ChickenPaint Be更新

  • 背景レイヤーと透明なレイヤー合計2枚で起動します。
    白い背景レイヤーに線画を描く事故を減らせます。

image

変更があったファイル

  • potiboard.php
  • chickenpaint/ ディレクトリを上書きアップデート

2024/07/09 v6.32.8

Klecks更新

変更があったファイル

  • klecks/ ディレクトリを上書きアップデート
  • potiboard.php

2024/07/05 v6.32.7

ChickenPaint Be更新

  • iPad Air相当の幅または.高さが820px以下でタッチデバイスの時にモバイルモードで起動するようになりました。
    これまでは、幅または高さが800px以下という条件だったため、iPad Airの時はPC用UIで起動していました。
    またPCでブラウザのウィンドウサイズを小さくした時にもモバイル用の画面に切り替わっていましたが、タッチデバイス判定処理を追加した事によりPCの時はPC用のUIが起動するようになりました。

.htaccess更新

拡張子.jsonの呼び出しを禁止する設定にしていましたが、PWAやスマホのホーム画面に設定するためのアイコンを設定するmanifest.jsonの呼び出しも禁止になってしまいタッチアイコンが設定できなくなっていたため、ファイル名がmanifest.jsonの場合は呼び出し可能になるように設定を変更しました。
この更新はmanifest.jsonの設置が必要ない場合は関係ないため、その場合は更新する必要はありません。

テンプレートエンジンBladeOneを最新版に

  • BladeOneの最新版v4.13に更新しました。

変更があったファイル

  • potiboard.php
  • .htaccess
  • BladeOne/ ディレクトリを上書きアップデート
  • chickenpaint/ ディレクトリを上書きアップデート

2024/06/19 v6.32.5

テンプレートMONOを更新しました。
フォーム入力欄の説明文を英語から日本語に変更しました。
スマホ時のフォームの表示方法を変更しました。

localhost_221021_59_poti-kaini_potiboard5_potiboard php_res=299(iPad Mini) localhost_221021_59_poti-kaini_potiboard5_potiboard php_res=299(Pixel 7)

変更があったファイル

  • potiboard.php

変更があったテンプレート

MONO

  • templates/mono/css/ ディレクトリを上書きアップデート
  • templates/mono/mono_main.blade.php
  • templates/mono/mono_other.blade.php

2024/06/12 v6.32.2

ChickenPaint Be更新

  • レイヤーパレットの不透明度調整スライダの文字がぼやけてしまう問題を修正しました。

image

  • ツールオプションのスライダの間隔を広げて、指で操作できるようにしました。

  • 画面の幅に余裕があるにも関わらずツールオプションの画面上からの位置がモバイルモード時は操作パレットの下になってしまっていたため、画面幅-(ツールパレット+操作パレット)<200pxの時は、操作パレットの下の位置、それ以上の画面の横幅がある時は最上段に表示するようにしました。
    これによりより広く画面を使えるようになります。

paintbbs sakura ne jp_oeb_cgi_petit_(iPad Mini)
iPad mini シミュレート画面。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2024/06/10 v6.32.1

ChickenPaint Be更新

  • 768px以下の幅と高さのデバイスの時はスマホ用のUIに切り替えてパレットを折りたたみます。UIが使用する面積が少なくなるため、より大きなキャンバスに描画する事ができるようになります。
iPad.mini.mp4
  • スマホ用UIの時のカラーセットのマージンを広げ、指でタップできるようにしました。

NEOの描画画面の描画時間の時計をタップするとスクリーンキーボードが出現する問題

  • 表示専用であるにも関わらずスマホのスクリーンキーボードが表示されてしまうため、readonly属性を追加しました。
    Screenshot_20240610-103937_600
    2018年以前から発生していたと思われる問題。

テンプレートMONOのCSSを調整

スマホ時のペイントアプリ選択とキャンバスサイズ設定の入力画面のマージンが足りず誤タップが発生しやすい状態だったため、行の高さを調整しました。

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

変更があったテンプレート

BASIC

  • templates/basic/paint.blade.php

MONO

  • templates/mono/css/ ディレクトリを上書きアップデート
  • templates/mono/mono_paint.blade.php

2024/06/09 v6.31.23

ChickenPaint Be更新

  • スマホモードの時のパレットのタイトルバーの厚みを折りたたみ/展開の操作を容易にするため増やしました。
  • スマホモード時のレイヤーパレットの操作アイコンの間隔が狭くなっていたため広げました。
  • 折りたたみ/展開のアイコンと閉じるアイコンの両方を表示する事により誤タップが発生して、誤って閉じてしまう事があったため、スマホモード時は閉じるアイコンを表示しなくなりました。
    代わりに上段の表示/非表示のショートカットメニューで操作します。

Screenshot_20240609-201946 Screenshot_20240609-201955

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php

2024/06/08 v6.31.22

ChickenPaint Be更新

  • パレット表示非表示のショートカットメニューがスマホ・タブレット以外でも常に表示されるようになりました。
  • 横幅にあわせたレスポンシブデザインをさらに最適化しました。
  • ショートカットメニューの色を黄色からライトグレーに変更しました。
default.mp4

変更があったファイル

  • chickenpaint/ ディレクトリを上書きアップデート
  • potiboard.php