Функции
ThreadPool
([#3383])after_refork
([#3386])Threadpool#trim
, если размер пула фиксирован ([#3384])Исправления ошибок
HttpParserError
на подкласс StandardError
([#3590], [#3552])Улучшение производительности
Переработка
Puma::Const::PipeRequest
([#3565])Вывод RUBY_DESCRIPTION
при запуске Puma ([#3407])
Автоматическое установление количества рабочих процессов при использовании WEB_CONCURRENCY=auto
([#3439], [#3437])
Маркировка как безопасной для использования Ractor ([#3486], [#3422])
Добавление опции enable_keep_alive
. true
имитирует существующее поведение, но теперь можно использовать false
для отключения keepalive для снижения задержки в хвосте очереди ([#3496])
Добавление параметров методов Puma для изменения ENV в изоляции для CI ([#3485])
Добавление опции ssl_ciphersuites
для шифров TLSv1.3 ([#3359], [#3343])
Теперь можно использовать --threads 5
или threads 5
для конфигурации максимального/минимального количества потоков одним числом (ранее требовалось указывать 5:5
) ([#3309])
Опция для отключения плагина systemd ([#3425], [#3424])
Добавление хука on_stopped
([#3411], [#3380])
Исправления ошибок
external_encoding
, set_encoding
, binmode
, binmode?
([#3214])Puma::Server.current
([#3360])Process.detach
([#3314], [#3313])jruby_restart.rb
и launcher.rb
для работы с ARM64 macOS JRuby ([#3467])* Оптимизация производительностиПереработка кода
start_with?
, добавляет тест ([#3510])Puma::Rack::Builder
([#3340])Документация
Ограничивает размер расширений блока. Без этого ограничения, атакующий может вызвать неограниченное потребление ресурсов (CPU, пропускная способность сети). (GHSA-c2f4-cvqm-65w2)## 6.4.1 / 2024-01-03
Исправление ошибок
idle-timeout
не работающий в режиме кластера ([#3235], [#3228], [#3282], [#3283])Поддержка
Документация
--keep-file-descriptors
из документации systemd ([#3248])on_thread_exit hook ([#2920])
on_thread_start_hook ([#3195])
Выключение при простоях ([#3209], [#2580])
Новое сообщение об ошибке при использовании занятого порта сервера управления ([#3204])* Рефакторинг
Удаление зависимости от Forwardable ([#3191], #3190)
Обновление использования URLMap Regexp для Ruby v3.3 ([#3165])
Исправления ошибок
Функции
supported_http_methods
([#3106], [#3014])Исправления ошибок
Рефакторинг
Функции
Исправления ошибок
Функции
PUMA_DEBUG
([#3036], [#3020])* Исправления ошибокУлучшение производительности
Отказ от поддержки Ruby 2.2 и 2.3 (теперь 2.4+) ([#2919])
Изменение функциональности remote_addr ([#2652], [#2653])
Больше не поддерживается Java 1.7 или ниже (последний выпуск JRuby, поддерживающий это, был JRuby 9.1) ([#2849])
Удаление nakayoshi GC ([#2933], [#2925])
wait_for_less_busy_worker теперь по умолчанию включен ([#2940])
Предварительное добавление всех переменных окружения с префиксом PUMA_
([#2924], [#2853])
Удаление некоторых констант ([#2957], [#2958], [#2959], [#2960])
Следующие классы теперь являются частью приватного API Puma: Client
, Cluster::Worker
, Cluster::Worker
, HandleRequest
. ([#2988])
Конфигурационные константы, такие как DefaultRackup
, удалены ([#2928])
Извлечение LogWriter
из Events
([#2798])
Принятие только стандартных 8 HTTP методов, другие отклоняются с кодом 501. ([#2932])
Функции
run_hooks
для использования позже ([#2917], [#2915])preload_app!
с fork_worker
([#2907])Переработка
Новые возможности
Исправление ошибок
Исправление ошибок/Безопасность
Исправление ошибок
Новые возможности
localhost
интеграции в ssl_bind
([#2764], [#2708])Исправление ошибок
Errno::EBADF
) для @notify.close
([#2745])Улучшение кода
Исправления ошибок
Новая функция (добавлена по ошибке — обычно мы не добавляем новые функции в исправления ошибок, извините!)
Безопасность
Новые функции
Исправления ошибок
Улучшение производительности
rack_url_scheme
к Puma::DSL, позволяет установку заголовка rack.url_scheme
([#2586], [#2569])* Исправления ошибокBinder#parse
- разрешение симлинков unix-пути, добавление create_activated_fds отладочного ENV ([#2643], [#2638])Random.bytes
, если доступно ([#2642])SSLContext
([#2633])IO.select
на IO#wait_*
при проверке одного IO ([#2666])Новые функции
Исправления ошибок
peerip
только если remote_addr_header
установлен ([#2609])puma_parser
([#2590])Переработка
drain
при завершении ([#2600])wait_for_less_busy_worker
([#2579])#flush
и #sync
к Puma::NullIO
([#2553])sync=true
для потоков STDOUT
и STDERR
([#2557])cork/uncork
для работы с ssl-клиентами ([#2550])rack/common_logger
, если :verbose=true
([#2547])MiniSSL::Socket#write
- использование data.byteslice(wrote..-1)
([#2543])@env[CONTENT_LENGTH]
как строки ([#2549])Новые возможности
flush
после записи сообщений для предотвращения изменения $stdout
и $stderr
с помощью sync=true
([#2486])* Исправления ошибок#string
к Puma::NullIO
([#2520])Улучшения
Server#read_body
([#2531])MAKE_WARNINGS_INTO_ERRORS
([#1953])## 5.1.1 / 2020-12-10Исправления ошибок
Новые возможности
PUMA_LOG_CONFIG
([#2472])QUERY_STRING
([#2485])Исправления ошибок
json
([#2473])json
для исправления ошибок фазированного перезапуска ([#2479])Исправления ошибок
preload_app
([#2461], [#2454])Bundler::GemNotFound
для гема nio4r
при фазированном перезапуске ([#2427], [#2018])on_booted
после запуска сервера ([#2431], [#2212])Добавлена возможность сборки без OpenSSL и динамической загрузки файлов, необходимых для SSL. Добавлен 'no ssl' CI ([#2305])
ПЕРВЫЙ ПОДХОД: Добавлена опция fork_worker
и команда refork
для уменьшения использования памяти путем форка из рабочего процесса вместо главного процесса. ([#2099])
ПЕРВЫЙ ПОДХОД: Добавлена конфигурация wait_for_less_busy_worker
. Это может уменьшить задержку на MRI путем вставки небольшой задержки перед заново-слушанием сокета, если рабочий процесс занят. ([#2079])
ПЕРВЫЙ ПОДХОД: Добавлена опция nakayoshi_fork
. Уменьшение использования памяти в предзагруженных приложениях режима кластера путем очистки памяти перед форком и компактации, где это возможно. ([#2093], [#2256])
Добавлена команда thread-backtraces
в pumactl для вывода отладочной информации о потоках. ([#2054])
Добавлено увеличение requests_count
в Puma.stats
. ([#2106])
Увеличена максимальная длина URI пути с 2048 до 8192 байт. ([#2167], [#2344])
lowlevel_error_handler
теперь вызывается при принудительном завершении пула потоков, и если задан вызываемый с тремя аргументами, мы теперь также передаем код состояния. ([#2203])
Ускорено фазированное перезапуск и таймаут рабочего процесса. ([#2220])
Добавлена конфигурация state_permission
для установки разрешений файла состояния. ([#2238])
Добавлен Puma.stats_hash
, который возвращает статистику в виде Hash вместо JSON строки. ([#2086], [#2253])
rack.multithread
и rack.
multiprocessтеперь динамически разрешаются через
max_threadи
workers` соответственно ([#2288]). Устаревшие функции, удаления и изменения API, нарушающие совместимость:
--control
был удален. Используйте --control-url
([#1487]).
worker_directory
был удален. Используйте directory
([#1487]).
min_threads
теперь устанавливается с помощью переменных окружения PUMA_MIN_THREADS и MIN_THREADS ([#2143]).
max_threads
теперь устанавливается с помощью переменных окружения PUMA_MAX_THREADS и MAX_THREADS ([#2143]).
max_threads
по умолчанию равен 5 для MRI или 16 для всех других интерпретаторов ([#2143]).
preload_app!
по умолчанию включен, если количество рабочих процессов больше 1 и устанавливается через WEB_CONCURRENCY
([#2143]).
Puma::Plugin.workers_supported?
был удален. Используйте Puma.forkable?
вместо него ([#2143]).
tcp_mode
был удален без замены ([#2169]).
Демонизация была удалена без замены ([#2170]).
Изменено #connected_port
на #connected_ports
([#2076]).
Конфигурация: environment
считается из RAILS_ENV
, если RACK_ENV
не найден ([#2022]).
Привязка лога на http:// для TCP-привязок, чтобы сделать её кликабельной ([#2300]). Исправления ошибок:
Исправление проблем загрузки JSON при фазовых перезапусках ([#2269]).
Улучшение надежности завершения работы ([#2312], [#2338]).
Закрытие клиентских HTTP-соединений, установленных с SSL-сервером с TLSv1.3 ([#2116]).
Не устанавливать user_config
по умолчанию в тихом режиме для возможности использования конфигурации файла ([#2074]).
Всегда закрывать SSL-соединение в Puma::ControlCLI
([#2211]).
Обновление extconf
.rb для Windows для использования с ssp и различными комбинациями Ruby/MSYS2 ([#2069])
Убедиться, что Unix-сокет сервера управления закрывается при завершении работы ([#2112])
Сохранение переменной окружения BUNDLE_GEMFILE
при использовании prune_bundler
([#1893])
Отправка 408 ошибки таймаута запроса даже при отключенной очереди запросов ([#2119])
Обработка IO::WaitReadable
вместо EAGAIN
для блокирующего чтения ([#2121])
Убедиться, что BUNDLE_GEMFILE
не указан в рабочих процессах, если не указан в основном процессе при использовании prune_bundler
([#2154])
Обработка и логирование исключений в хуках, определенных пользователем (on_worker_boot, after_worker_fork и т. д.) ([#1551])
Прямое чтение из сокета в #read_and_drop для избежания дополнительных ошибок SSL ([#2198])
Установка заголовка Connection: closed
при отключенной очереди запросов ([#2216])
Передача очередных запросов в пулы потоков при завершении работы сервера ([#2122])
Исправление нескольких мелких ошибок конкурентности в ThreadPool, которые могли повлиять на неглобальные Ruby ([#2220])
Исправление out_of_band
хука, который никогда не выполняется, если количество рабочих потоков больше 1 ([#2177])
Исправление точности таймаута завершения работы ThreadPool ([#2221])
Исправление UserFileDefaultOptions#fetch
для правильного использования default
([#2233])
Улучшение out_of_band
хука ([#2234])
Предпочтение файла rackup, указанного CLI ([#2225])
Исправление для запуска подпроцессов с опцией fork_worker ([#2267]) * Установка CONTENT_LENGTH
для разбитых запросов ([#2287])
JRuby - Добавление методов Puma::MiniSSL::Engine#init? и #teardown, выполнение всех тестов SSL ([#2317])
Улучшение надежности завершения работы ([#2312])
Решение проблемы с счетчиком ожидания пула потоков при убийстве потока
Ограничение версии rake-compiler до 0.9.4 для исправления исключения ClassNotFound
при использовании MiniSSL с Java8
Исправление рекурсивного prune_bundler
([#2319])
Убедиться, что TCP_CORK может быть использован
Исправление краевых случаев при разбитом теле запроса ([#2326])
Исправление утечки файловых дескрипторов в MiniSSL ([#2299])
Упрощение и рефакторинг
Удаление неиспользуемого аргумента загрузчика из инициализатора плагина ([#2095])
Упрощение Configuration.random_token
и удаление несуществующего несущейся замены ([#2102])
Упрощение парсинга URL в Runner#start_control
([#2111])
Удаление расширения IOBuffer и замена его на Ruby ([#1980])
Обновление Rack::Handler::Puma.run
для использования **options
([#2189])
Рефакторинг потока управления потоками ([#2220])
Парсинг статистики рабочих процессов кластера с помощью JSON вместо регулярных выражений ([#2124])
Поддержка параллельных тестов в отчетах о прогрессе в режиме verbose ([#2223])
Рефакторинг обработки ошибок в цикле принятия соединений сервера ([#2239])## 4.3.12 / 2022-03-30
Безопасность
Каждое исправление содержит отдельное исправление безопасности. Рекомендуется просто обновиться до 4.3.5/3.12.6.
Исправление ошибок
Безопасность
Безопасность
Функции
Исправления ошибок
--extra_runtime_dependencies
([#2050])verify_mode
([#1222])Pumactl имеет новый параметр окружения -e и читает конфигурационные файлы config/puma/<окружение>.rb
([#1885])
Точки с запятой теперь разрешены в путях URL (только MRI), полезно для Angular или Redmine ([#1934])
Разрешение определения дополнительных зависимостей при использовании prune_bundler ([#1105])
Puma теперь отображает правильный порт при привязке к порту 0, также отображает другие прослушиватели при привязке к локальному хосту ([#1786])
Отправка SIGINFO любому рабочему процессу Puma теперь выводит активные потоки и их трассировки стека ([#1320])
Все потоки Puma теперь имеют установленное имя на Ruby 2.3+ ([#1968])
4 исправления ошибок
Абсолютно тысячи строк улучшений и исправлений тестов благодаря @MSP-Greg## 4.1.1 / 2019-09-05
3 исправления ошибок
4 новых функций
log_formatter
([#1816])7 устранений ошибок
5 других изменений
ssl_bind
DSL ([#1689])select
([#1728])неинициализированная константа Puma::Cluster
([#1731])not_token
может быть установлено в true ([#1803])fork
([#1630])5 новых функций:
max_threads
Puma теперь находится в Puma.stats
([#1604])Puma.stats
([#1579])--control
теперь устарел в пользу --control-url
([#1487])2 исправления ошибок:
2 новых функции:
5 исправлений ошибок:
ps -p
для проверки наличия pid ([#1545])3 исправления ошибок:
closed?
к MiniSSL::Socket для использования в reactor ([#1510])2 новых функции:
9 исправлений ошибок:
2 других:
Сервер состояния теперь имеет новые команды /gc и /gc-status. ([#1384])
Постоянные и первые временные задержки теперь настраиваются. ([#1111])
Реализован RFC 2324. ([#1392])
12 исправлений ошибок:
3 рефакторинга:
1 известная проблема:
2 исправления ошибок:
2 новых функции:
9 исправлений ошибок:
1 известная проблема:
1 рефакторинг:
1 исправление ошибки:
2 исправления ошибок:
tmp/restart.txt
больше не ограничивает пользователя запуском более одного сервера из одного и того же каталога одновременно ([#1226])1 новая функция:
1 рефакторинг:
stdout
или stderr
не являются записываемыми ([#1175])get_dh1024
совместимым с OpenSSL v1.1.0. ([#1178])неинициализированная константа Puma::StateFile
. ([#1138])1 исправление ошибки:
8 исправлений ошибок:
2 новых участника проекта:
Добавление возможности обнаружения закрывающегося сервера. Исправление [#932]
Добавление поддержки Expect: 100-continue. Исправление [#519]
Лучшее проверение SSLContext. Исправление [#828]
Уточнение поведения '-t num'. Исправление [#984]
Отказ от дефолтного VERIFY_PEER. Исправление [#1028]
Отказ от использования ENV['PWD'] на Windows. Исправление [#1023]
Расширение области перехвата исключений приложения. Исправление [#1027]
Выполнение фоновых хуков после демонизации. Исправление [#925]
Обработка HUP как остановки, если нет переадресации IO. Исправление [#911]
Реализация обработки разбитых запросов. Исправление [#620]
Исключение только для возврата 500. Исправление [#1027]
Переадресация IO в режиме джавароя демона. Исправление [#778]## 3.5.2 / 2016-07-20
1 исправление ошибки:
persistent_timeout
не является nil
1 внесённый PR:
host:port
один раз. Исправление [#1022]1 небольшое улучшение:
persistent_timeout
через DSL.9 исправлений ошибок:
%
в строке запроса. Исправляет [#958]localhost
. Исправляет [#782]TCPLogger
в режиме tcp-кластера.verify_mode
verify_mode
на peer
ThreadPool
. Исправляет [#1010]5 исправлений документации:
2 небольших функции:
3 неизвестных:
5 исправлений документации:
2 небольших функции:
2 исправления документации:
3 вливания PR:
1 устаревшее изменение:
3 исправления ошибок:
2 вливания pull request:
4 исправления ошибок:
3 вливания pull request:
1 улучшение:
5 исправлений ошибок:
5 исправлений ошибок:
pid
для #Puma::ControlCLI:0x007f185fcef968' при выполнении pumactl с опцией --pid
.windows?
для Puma:Module' при выполнении pumactl.plugin :tmp_restart
в Windows.3 внесённых pull request:
1 исправление ошибки:
2 значительных изменения: * Ruby пред-2.0 больше не поддерживается. Мы постараемся не добавлять функции, которые сломают эти версии Ruby, но больше не будем тестировать их.
4 незначительные функции:
5 исправлений ошибок:
5 исправлений документации:
10 объединённых PR: * Объединяет pull request [#871] из deepj/travis
7 незначительных функций:
set_remote_address
old_worker_count
в статистическом URL7 исправлений ошибок:
before_fork
hook в файле состоянияNEWRELIC_DISPATCHER
Timeout.timeout
вместо Object.timeout
1 изменение документации:
12 объединённых PR * Объединение запроса на вливание [#822] из kwugirl/remove_NEWRELIC_DISPATCHER
1 исправление ошибки:
2 исправления ошибок:
2 объединённых PR:
1 исправление ошибки:
6 небольших улучшений:
5 исправлений ошибок:
18 PRs объединены:
Объединение запроса на слияние [#768] из nathansamson/patch-1
Объединение запроса на слияние [#773] из rossta/spelling_corrections
Объединение запроса на слияние [#774] из snow/master
Объединение запроса на слияние [#781] из sunsations/fix-typo
Объединение запроса на слияние [#791] из unleashed/allow_empty_tags
Объединение запроса на слияние [#793] из robdimarco/fix-working-directory-symlink-bug
Объединение запроса на слияние [#794] из peterkeen/patch-1
Объединение запроса на слияние [#795] из unleashed/redirects-from-cmdline
Объединение запроса на слияние [#796] из cschneid/fix_dsl_message
Объединение запроса на слияние [#799] из annafw/master
Объединение запроса на слияние [#800] из liamseanbrady/fix_typo
Объединение запроса на слияние [#801] из scottjg/ssl-chain-file
Объединение запроса на слияние [#802] из scottjg/ssl-crimes
Объединение запроса на слияние [#804] из burningTyger/patch-2
Объединение запроса на слияние [#809] из unleashed/threadpool-fix-race-in-shutdown * Объединение запроса на слияние [#810] из vlmonk/fix-pumactl-restart-bug
Объединение запроса на слияние [#814] из schneems/schneems/worker_timeout-docs
Объединение запроса на слияние [#817] из unleashed/worker-boot-timeout## 2.14.0 / 2015-09-18
1 небольшая функциональная возможность:
1 исправление ошибки:
Серьёзно, мне нужно переработать конфигурацию с тестами.
Релиз "очевидно, мне недостаточно тестов для конфигурации".
1 небольшая функциональная возможность:
3 исправления ошибок:
1 устаревание:
8 мелких багов исправлено:
4 PR объединены:
1 исправление теста:
2 исправления багов:
1 изменение документации:
5 исправлений ошибок:
enable_SSLv3
для JRuby1 внесённый pull request:
2 небольших улучшения:
on_worker_fork
, который позволяет имитировать поведение Unicornshutdown_debug
* 4 исправления ошибок:6 внесённых pull request:
2 исправления ошибок:
2 объединённых pull request:
9 исправлений ошибок:
10 PRs объединены:
1 исправление ошибки:
Если у вашего приложения есть проблемы с запуском, начните его без режима демонизации вначале для тестирования.
3 небольших улучшения:
5 устранений ошибок:
2 изменения в документации:
9 объединённых PR:
8 устранений ошибок:
6 объединённых PR:
4 устранения ошибок:
2 объединённых PR:
1 небольшое улучшение:
4 улучшения документации:
6 объединённых PRs:
4 исправления ошибок:
4 улучшения документации:
preload_app!
вместо preload_app
.1 исправление ошибок:
2 изменения документации:
6 объединённых PR:
Добавлена возможность автоматической загрузки конфигурационного файла. Исправляет [#438]
Добавлена возможность обнаружения и завершения работы зависших рабочих процессов. Исправляет [#333]
Добавлен booted_workers в ответ статистики
Добавлена конфигурация для настройки стандартного сообщения об ошибке
Добавлена опция prune_bundler
Добавлены индексы рабочих процессов, доступны через on_worker_boot. Исправляет [#440]
Добавлено красивое имя процесса
Отображение используемой версии Ruby* 7 устранений ошибок:
Добавлен статус 408 при таймауте.
Будьте более агрессивны с сокетами, которые блокируют запись. Исправляет [#449]
Ожидайте, что at_exit исключительно удаляет pidfile. Исправляет [#444]
Раскройте задержку и очередь прослушивания через запрос bind. Исправляет [#370]
JRuby поднимает исключение IOError, если сокет существует. Исправляет [#377]
Обрабатывайте запросы справедливо. Исправляет [#406]
Обрабатывайте SystemCallError также. Исправляет [#425]* 4 изменения в документации:
Добавлен 2.1.0 в матрицу
Добавлен бейдж Code Climate в README
Создан signals.md
Установлен лицензионный тип BSD. Исправляет [#432]
14 объединённых запросов на включение:
1 небольшое улучшение:
cd
, чтобы загрузить rvm gemset2 небольших улучшения:
4 устранения ошибок:
2 небольших улучшения:
pumactl restart
, чтобы запустить puma, если он не запущен6 исправлений ошибок:
1 экспериментальное улучшение:
5 небольших улучшений:
10 исправлений ошибок:
2 исправления ошибок:
1 изменение документации:
1 основное исправление ошибки:
pumactl start
. Исправляет [#287]2 внутренних изменения:
1 небольшое нововведение:
1 исправление ошибки:
1 основное нововведение:
2 небольших исправления ошибок:
2 небольших исправления ошибок:
Разрешение настройки прослушивающего сокета через переменную Capistrano
Вывод результатов команды 'stat' при использовании pumactl
Поддержка systemd socket activation* 15 исправлений ошибок:
Обработка закрытия труб при остановке. Исправляет [#270]
Выход с ошибкой при отсутствии настроек приложения
Обработка ConnectionError вместо низкоуровневых исключений
Настройка с помощью -C
файла конфигурации и on_worker_boot
Использование -w
Исправление некоторых опечаток в скриптах upstart
Убедитесь, что используется bytesize вместо size (MiniSSL write)
Исправление ошибки в puma-manager.conf
Исправление: остановка утечки сокетов при перезапуске (влияет на ruby 1.9.3 или более ранние версии)
Игнорирование ошибок на кросс-потоковой трубе. Исправляет [#246]
Игнорирование ошибок при разгерметизации сокета (он может уже быть закрыт)
Игнорирование тела при запросе HEAD. Исправляет [#278]
Обработка всех данных движка, когда это возможно. Исправляет [#251]
Правильная обработка всех исключений чтения. Исправляет [#252]
Лучшее обработание ошибок от сервера
3 изменения в документации:
Версия для RailsConf 2013!* 2 изменения в документации:
rackup -s Puma
, а не rackup -s puma
.15 исправлений ошибок:
-C
файла конфигурации и on_worker_boot
-w
3 изменения в документации:
Версия для RailsConf 2013!* 2 изменения в документации:
Начинайте с rackup -s Puma
, а не rackup -s puma
.
Мелкие исправления документации в разделе README.md, Capistrano* 2 исправления ошибок:
Исправление чтения RACK_ENV правильно. Исправляет [#234]
Добавление обработки tmp/sockets в cap рецепт; исправляет [#228]
3 мелких изменения:
5 мелких улучшений:
12 исправлений ошибок:
2 основных функции:
2 мелких функции:
5 исправлений ошибок:
1 основное улучшение:
1 исправление ошибки:
ЗАМЕЧАНИЕ: Поддержка SSL в JRuby в настоящее время недоступна. Поддержка будет добавлена в будущем, когда будет добавлен java Puma::MiniSSL.
1 основное исправление ошибки:
7 участников этого выпуска:
6 исправлений ошибок:
3 небольших улучшения:
1 исправление ошибки:
1 экспериментальная функция:
1 основная функция:
1 небольшая функция:
6 исправлений ошибок:
2 новых вкладчика:
1 исправление ошибки:
1 небольшая функция:
Выпущен!
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )