11requires ' Algorithm::BloomFilter' , ' 0.02' ;
2- requires ' Bytes::Random::Secure' ;
32requires ' CGI' , ' 4.31' ;
43requires ' CGI::Compile' ;
54requires ' CGI::Emulate::PSGI' ;
@@ -9,9 +8,6 @@ requires 'Class::XSAccessor', '1.18';
98requires ' Crypt::CBC' ;
109requires ' Crypt::DES' ;
1110requires ' Crypt::DES_EDE3' ;
12- requires ' Crypt::OpenPGP' , ' 1.12' ;
13- requires ' Crypt::SMIME' ;
14- requires ' DBD::mysql' , ' 4.037' ;
1511requires ' DBI' , ' 1.614' ;
1612requires ' DBIx::Class' ;
1713requires ' DBIx::Class::Helpers' , ' == 2.034002' ;
@@ -20,7 +16,6 @@ requires 'Daemon::Generic';
2016requires ' Date::Format' , ' 2.23' ;
2117requires ' Date::Parse' , ' 2.31' ;
2218requires ' DateTime' , ' 0.75' ;
23- requires ' DateTime::Format::MySQL' , ' 0.06' ;
2419requires ' DateTime::TimeZone' , ' 2.11' ;
2520requires ' Devel::NYTProf' , ' 6.04' ;
2621requires ' Digest::SHA' , ' 5.47' ;
@@ -38,7 +33,6 @@ requires 'IO::Compress::Gzip';
3833requires ' IO::Scalar' ;
3934requires ' IPC::System::Simple' ;
4035requires ' JSON::MaybeXS' , ' 1.003008' ;
41- requires ' JSON::RPC' , ' == 1.01' ;
4236requires ' JSON::Validator' , ' 3.05' ;
4337requires ' JSON::XS' , ' 2.0' ;
4438requires ' LWP::Protocol::https' , ' 6.07' ;
@@ -53,35 +47,24 @@ requires 'Module::Runtime', '0.014';
5347requires ' Mojo::JWT' , ' 0.07' ;
5448requires ' MojoX::Log::Log4perl' , ' 0.04' ;
5549requires ' Mojolicious' , ' 8.42' ;
56- requires ' Mojolicious::Plugin::ForwardedFor' ;
5750requires ' Moo' , ' 2.002004' ;
5851requires ' MooX::StrictConstructor' , ' 0.008' ;
5952requires ' Mozilla::CA' , ' 20160104' ;
6053requires ' Net::DNS' ;
6154requires ' Package::Stash' , ' 0.37' ;
6255requires ' Parse::CPAN::Meta' , ' 1.44' ;
6356requires ' PerlX::Maybe' ;
64- requires ' Pod::Coverage::TrustPod' ;
6557requires ' Regexp::Common' ;
6658requires ' Role::Tiny' , ' 2.000003' ;
67- requires ' SOAP::Lite' , ' 0.712' ;
6859requires ' Scope::Guard' , ' 0.21' ;
6960requires ' Sereal' , ' 4.004' ;
7061requires ' Sub::Quote' , ' 2.005000' ;
71- requires ' Sys::Syslog' ;
7262requires ' Template' , ' 2.24' ;
73- requires ' Test::CPAN::Meta' ;
74- requires ' Test::Pod' ;
75- requires ' Test::Pod::Coverage' ;
76- requires ' Test::Taint' , ' 1.06' ;
7763requires ' Text::CSV_XS' , ' 1.26' ;
78- requires ' Text::Diff' ;
7964requires ' Throwable' , ' 0.200013' ;
80- requires ' Tie::IxHash' ;
8165requires ' Type::Tiny' , ' 1.004004' ;
8266requires ' URI' , ' 1.55' ;
8367requires ' URI::Escape::XS' , ' 0.14' ;
84- requires ' XMLRPC::Lite' , ' 0.712' ;
8568requires ' perl' , ' 5.010001' ;
8669requires ' version' , ' 0.87' ;
8770recommends ' Safe' , ' 2.30' ;
@@ -109,3 +92,173 @@ on test => sub {
10992 requires ' Test::Selenium::Firefox' ;
11093 requires ' Test::WWW::Selenium' ;
11194};
95+ feature ' inbound_email' , ' Inbound Email' => sub {
96+ requires ' Email::MIME::Attachment::Stripper' ;
97+ requires ' Email::Reply' ;
98+ };
99+
100+ feature ' jobqueue' , ' Mail Queueing' => sub {
101+ requires ' Daemon::Generic' ;
102+ requires ' TheSchwartz' , ' 1.10' ;
103+ };
104+
105+ feature ' pg' , ' Postgres database support' => sub {
106+ requires ' DBD::Pg' , ' v2.19.3' ;
107+ };
108+
109+ feature ' auth_ldap' , ' LDAP Authentication' => sub {
110+ requires ' Net::LDAP' ;
111+ };
112+
113+ feature ' oauth2_server' , ' OAuth2 Server support' => sub {
114+ requires ' Mojolicious::Plugin::OAuth2::Server' , ' 0.44' ;
115+ };
116+
117+ feature ' sentry' , ' Sentry Support' => sub {
118+ requires ' Log::Log4perl::Appender::Raven' , ' 0.006' ;
119+ };
120+
121+ feature ' better_xff' , ' Improved behavior of MOJO_REVERSE_PROXY' => sub {
122+ requires ' Mojolicious::Plugin::ForwardedFor' ;
123+ };
124+
125+ feature ' s3' , ' Amazon S3 Attachment Storage' => sub {
126+ requires ' Class::Accessor::Fast' ;
127+ requires ' URI::Escape' ;
128+ requires ' XML::Simple' ;
129+ };
130+
131+ feature ' linux_pdeath' , ' Linux::Pdeathsig for a good parent/child relationships' => sub {
132+ requires ' Linux::Pdeathsig' ;
133+ };
134+
135+ feature ' html_desc' , ' More HTML in Product/Group Descriptions' => sub {
136+ requires ' HTML::Parser' , ' 3.67' ;
137+ requires ' HTML::Scrubber' ;
138+ };
139+
140+ feature ' xmlrpc' , ' XML-RPC Interface' => sub {
141+ requires ' SOAP::Lite' , ' 0.712' ;
142+ requires ' Test::Taint' , ' 1.06' ;
143+ requires ' XMLRPC::Lite' , ' 0.712' ;
144+ };
145+
146+ feature ' new_charts' , ' New Charts' => sub {
147+ requires ' Chart::Lines' , ' v2.4.10' ;
148+ requires ' GD' , ' 1.20' ;
149+ };
150+
151+ feature ' old_charts' , ' Old Charts' => sub {
152+ requires ' Chart::Lines' , ' v2.4.10' ;
153+ requires ' GD' , ' 1.20' ;
154+ };
155+
156+ feature ' alien_cmark' , ' Support GitHub-flavored markdown' => sub {
157+ requires ' Alien::libcmark_gfm' , ' 3' ;
158+ };
159+
160+ feature ' jsonrpc' , ' JSON-RPC Interface' => sub {
161+ requires ' JSON::RPC' , ' == 1.01' ;
162+ requires ' Test::Taint' , ' 1.06' ;
163+ };
164+
165+ feature ' sqlite' , ' SQLite database support' => sub {
166+ requires ' DBD::SQLite' , ' 1.29' ;
167+ requires ' DateTime::Format::SQLite' , ' 0.11' ;
168+ };
169+
170+ feature ' rest' , ' REST Interface' => sub {
171+ requires ' JSON::RPC' , ' == 1.01' ;
172+ requires ' Test::Taint' , ' 1.06' ;
173+ };
174+
175+ feature ' smtp_auth' , ' SMTP Authentication' => sub {
176+ requires ' Authen::SASL' ;
177+ };
178+
179+ feature ' memcached' , ' Memcached Support' => sub {
180+ requires ' Cache::Memcached::Fast' , ' 0.17' ;
181+ };
182+
183+ feature ' linux_pid' , ' Linux::PID' => sub {
184+ requires ' Linux::Pid' ;
185+ };
186+
187+ feature ' datadog' , ' Data Dog support' => sub {
188+ requires ' DataDog::DogStatsd' , ' 0.05' ;
189+ };
190+
191+ feature ' auth_radius' , ' RADIUS Authentication' => sub {
192+ requires ' Authen::Radius' ;
193+ };
194+
195+ feature ' chart_clicker' , ' Support nice-looking charts' => sub {
196+ requires ' Chart::Clicker' ;
197+ };
198+
199+ feature ' mfa' , ' Multi-Factor Authentication' => sub {
200+ requires ' Auth::GoogleAuth' , ' 1.01' ;
201+ requires ' GD::Barcode::QRcode' ;
202+ };
203+
204+ feature ' markdown' , ' Markdown syntax support for comments' => sub {
205+ requires ' Text::MultiMarkdown' , ' 1.000034' ;
206+ requires ' Unicode::GCString' ;
207+ };
208+
209+ feature ' patch_viewer' , ' Patch Viewer' => sub {
210+ requires ' PatchReader' , ' v0.9.6' ;
211+ };
212+
213+ feature ' typesniffer' , ' Sniff MIME type of attachments' => sub {
214+ requires ' File::MimeInfo::Magic' ;
215+ requires ' IO::Scalar' ;
216+ };
217+
218+ feature ' detect_charset' , ' Automatic charset detection for text attachments' => sub {
219+ requires ' Encode' , ' 2.21' ;
220+ requires ' Encode::Detect' ;
221+ };
222+
223+ feature ' mysql' , ' MySQL database support' => sub {
224+ requires ' DBD::mysql' , ' 4.037' ;
225+ requires ' DateTime::Format::MySQL' , ' 0.06' ;
226+ };
227+
228+ feature ' linux_smaps' , ' Linux::Smaps::Tiny for limiting memory usage' => sub {
229+ requires ' BSD::Resource' ;
230+ requires ' Linux::Smaps::Tiny' ;
231+ };
232+
233+ feature ' graphical_reports' , ' Graphical Reports' => sub {
234+ requires ' GD' , ' 1.20' ;
235+ requires ' GD::Graph' ;
236+ requires ' GD::Text' ;
237+ requires ' Template::Plugin::GD::Image' ;
238+ };
239+
240+ feature ' documentation' , ' Documentation' => sub {
241+ requires ' File::Copy::Recursive' ;
242+ requires ' File::Which' ;
243+ };
244+
245+ feature ' argon2' , ' Support hashing passwords with Argon2' => sub {
246+ requires ' Crypt::Argon2' , ' 0.004' ;
247+ };
248+
249+ feature ' oracle' , ' Oracle database support' => sub {
250+ requires ' DBD::Oracle' , ' 1.19' ;
251+ };
252+
253+ feature ' moving' , ' Move Bugs Between Installations' => sub {
254+ requires ' MIME::Parser' , ' 5.406' ;
255+ requires ' XML::Twig' ;
256+ };
257+
258+ feature ' extension_push_optional' , undef => sub {
259+ requires ' XML::Simple' ;
260+ };
261+
262+ feature ' updates' , ' Automatic Update Notifications' => sub {
263+ requires ' XML::Twig' ;
264+ };
0 commit comments