Project

General

Profile

Issues

Filters

Apply Clear

# Project Tracker Status Subject Assignee Updated
17391 Ruby master Feature Open How about removing File.exists? 07/19/2021 05:18 AM Actions
17390 Ruby master Misc Open Class and method-level docs for Ractor 12/13/2020 06:33 PM Actions
17383 Ruby master Bug Open 3.0 recursion memory|speed issues 12/09/2020 05:41 PM Actions
17380 Ruby master Feature Open Useful `include/prepend` in `refine` matz (Yukihiro Matsumoto) 12/10/2020 02:58 PM Actions
17375 Ruby master Feature Open Add scheduler callbacks for transferring fibers 12/07/2020 11:31 PM Actions
17373 Ruby master Bug Open Ruby 3.0 is slower at Discourse bench than Ruby 2.7 01/04/2021 06:47 AM Actions
17359 Ruby master Bug Open Ractor copy mode is not Ractor-safe ko1 (Koichi Sasada) 12/02/2020 05:42 PM Actions
17357 Ruby master Feature Open `Queue#pop` should have a block form for closed queues 01/12/2021 07:32 AM Actions
17356 Ruby master Feature Open Alignment of memory allocated through Fiddle struct's malloc 12/02/2020 11:06 AM Actions
17354 Ruby master Bug Open Module#const_source_location is misleading for constants awaiting autoload 03/26/2021 05:56 PM Actions
17353 Ruby master Feature Open Functional chaining operator 11/30/2020 03:29 AM Actions
17349 Ruby master Bug Open Rake での並行実行における正規表現マッチングの異常 08/13/2021 08:13 PM Actions
17337 Ruby master Bug Open Don't embed Ruby build-time configuration in Ruby 12/21/2020 04:17 PM Actions
17333 Ruby master Feature Open Enumerable#many? 12/11/2020 03:38 AM Actions
17330 Ruby master Feature Open Object#non 01/25/2021 03:54 PM Actions
17326 Ruby master Feature Open Add Kernel#must! to the standard library 11/30/2020 03:26 PM Actions
17325 Ruby master Feature Open Adds Fiber#cancel, which forces a Fiber to break/return 11/19/2020 12:34 AM Actions
17316 Ruby master Feature Open On memoization 01/05/2021 04:46 PM Actions
17315 Ruby master Feature Open Hash #transform 11/13/2020 08:38 PM Actions
17311 Ruby master Feature Open Improve performance Array#deconstruct & Array#to_ary 11/08/2020 07:12 AM Actions
17309 Ruby master Misc Open URI.escape being deprecated, yet there is no replacement 11/11/2020 12:52 AM Actions
17298 Ruby master Feature Open Ractor's basket communication APIs 11/13/2020 04:16 PM Actions
17290 Ruby master Feature Open Syntax sugar for boolean keyword argument 10/29/2020 04:51 AM Actions
17288 Ruby master Feature Open Optimize __send__ call with a literal method name matz (Yukihiro Matsumoto) 10/30/2020 12:17 AM Actions
17286 Ruby master Feature Open `Ractor.new` should accept `move: true` 11/08/2020 03:01 AM Actions
17285 Ruby master Feature Open Less strict `Ractor.select` 10/26/2020 03:15 AM Actions
17279 Ruby master Feature Open Allow a negative step in Range#step with a block matz (Yukihiro Matsumoto) 10/22/2020 02:23 AM Actions
17263 Ruby master Bug Open Fiber context switch degrades with number of fibers, limit on number of fibers 10/22/2020 10:43 AM Actions
17258 Ruby master Feature Open Oneshot Branch Coverage 10/09/2020 08:26 PM Actions
17210 Ruby master Feature Open More readable and useful `Set#inspect` knu (Akinori MUSHA) 05/19/2021 10:12 PM Actions
17208 Ruby master Feature Open Add `Set#compact` and `Set#compact!` methods 11/05/2020 10:44 AM Actions
17206 Ruby master Feature Open Introduce new Regexp option to avoid global MatchData allocations 10/28/2020 10:43 PM Actions
17199 Ruby master Misc Open id outputed by inspect and to_s output does not allow to find actual object_id and vice-versa 10/20/2020 09:35 PM Actions
17196 Ruby master Bug Open Segmentation Fault with Socket#close in Ractors ko1 (Koichi Sasada) 10/15/2020 03:18 PM Actions
17184 Ruby master Feature Open No stdlib function to perform simple string replacement matz (Yukihiro Matsumoto) 02/23/2021 09:27 PM Actions
17180 Ruby master Bug Open Ractor and constant referencing 09/20/2020 05:43 PM Actions
17174 Ruby master Misc Open "Error relocating, symbol not found" error when compiling a native extension on Alpine with Ruby >=2.4 10/06/2020 11:19 AM Actions
17173 Ruby master Feature Open open-uri で ciphers を設定したい akr (Akira Tanaka) 09/25/2020 09:17 AM Actions
17166 Ruby master Feature Open net/http not supporting unix domain sockets 09/12/2020 02:51 PM Actions
17165 Ruby master Feature Open Add `filter` and `flatten` keywords to `Enumerable#map` 09/13/2020 09:41 AM Actions
17163 Ruby master Feature Open Rename `begin` 09/09/2020 03:04 AM Actions
17159 Ruby master Bug Open extend `define_method` for Ractor 10/29/2020 04:06 PM Actions
17156 Ruby master Feature Open Refinements per directory tree 12/07/2020 05:19 AM Actions
17155 Ruby master Feature Open Add a Diggable mixin 09/05/2020 02:08 PM Actions
17154 Ruby master Misc Open Update Pathname Documentation to Clarify Expected Behavior akr (Akira Tanaka) 09/05/2020 01:18 PM Actions
17151 Ruby master Feature Open Support multiple builtin ruby code for implimatation in Ruby & C 09/05/2020 01:41 AM Actions
17148 Ruby master Feature Open stdbuf(1) support 09/07/2020 04:12 AM Actions
17146 Ruby master Bug Open Queue operations are allowed after it is frozen 10/20/2021 08:32 PM Actions
17143 Ruby master Feature Open Improve support for warning categories 11/20/2020 01:05 PM Actions
17142 Ruby master Bug Open Ruby fails to build in AIX 03/20/2021 07:08 AM Actions
17140 Ruby master Feature Open Merge Enumerable#grep(_v) with Enumerable#select/reject 02/10/2021 07:56 AM Actions
17137 Ruby master Misc Open Cooperation on maintaining official docker ruby images 09/02/2020 05:03 PM Actions
17134 Ruby master Feature Open Add resolv_timeout to TCPSocket 12/10/2020 09:09 AM Actions
17127 Ruby master Feature Open Some TrueClass methods are faster if implemented in Ruby 11/05/2020 07:11 AM Actions
17121 Ruby master Feature Open Remove ENV#index 08/13/2020 09:58 AM Actions
17120 Ruby master Bug Open String#start_with? return wrong result for Regexp patterns containing /\K/ 08/13/2020 05:10 PM Actions
17115 Ruby master Feature Open Optimize String#casecmp? for ASCII strings 08/15/2020 03:48 AM Actions
17099 Ruby master Feature Open Remove boolean argument and warning from Module#attr 12/18/2020 04:15 AM Actions
17097 Ruby master Feature Open `map_min`, `map_max` 01/13/2021 01:24 AM Actions
17056 Ruby master Feature Open Array#index: Allow specifying the position to start search as in String#index 09/25/2020 01:41 PM Actions
17053 Ruby master Misc Open RDoc for Hash Keys 07/28/2020 01:21 AM Actions
17047 Ruby master Feature Open Support parameters for MAIL FROM and RCPT TO 05/17/2021 04:54 AM Actions
17040 Ruby master Feature Open cleanup include/ruby/backward* 08/26/2020 07:07 AM Actions
17037 Ruby master Bug Open rounding of Rational#to_f 08/26/2020 03:54 AM Actions
17036 Ruby master Feature Open Regexp deconstruction keys to allow pattern matching 07/19/2020 02:45 PM Actions
17016 Ruby master Feature Open Enumerable#accumulate 04/27/2021 03:14 PM Actions
17006 Ruby master Feature Open Let `Kernel#Hash` take a block to provide the default value 07/04/2020 07:51 AM Actions
17004 Ruby master Feature Open Provide a way for methods to omit their return value 07/20/2020 05:44 AM Actions
17001 Ruby master Feature Open [Feature] Dir.scan to yield dirent for efficient and composable recursive directory scaning 06/30/2020 07:57 PM Actions
16997 Ruby master Bug Open IO#gets converts some \r\n to \n with universal_newline: false 08/26/2020 05:20 PM Actions
16995 Ruby master Feature Open Sets: <=> should be specialized 06/26/2020 08:43 PM Actions
16993 Ruby master Feature Open Sets: from hash keys using Hash#key_set 06/27/2020 05:44 AM Actions
16992 Ruby master Feature Open Sets: officially ordered matz (Yukihiro Matsumoto) 09/03/2020 02:08 PM Actions
16991 Ruby master Feature Open Sets: add Set#join 06/26/2020 08:29 PM Actions
16990 Ruby master Feature Open Sets: operators compatibility with Array 02/22/2021 11:37 PM Actions
16987 Ruby master Feature Open Enumerator::Lazy vs Array methods 07/15/2020 04:56 PM Actions
16986 Ruby master Feature Open Anonymous Struct literal matz (Yukihiro Matsumoto) 12/14/2020 08:19 PM Actions
16985 Ruby master Feature Open Improve `pp` for `Hash` and `String` akr (Akira Tanaka) 06/26/2020 09:51 AM Actions
16980 Ruby master Misc Open Improve documentation on JSON#parse and JSON#parse! drbrain (Eric Hodel) 06/23/2020 06:04 PM Actions
16978 Ruby master Feature Open Ruby should not use realpath for __FILE__ nobu (Nobuyoshi Nakada) 07/04/2021 08:35 PM Actions
16971 Ruby master Feature Open weak_ref&.some_method should behave like object&.some_method 06/19/2020 03:17 PM Actions
16968 Ruby master Feature Open Remove `$IGNORECASE` from English.rb 06/18/2020 04:34 AM Actions
16960 Ruby master Feature Open Feedback regarding => in ‘As’ Pattern Matching 06/13/2020 12:32 AM Actions
16959 Ruby master Bug Open Weakmap has specs and third-party usage despite being a private API 06/13/2020 08:54 PM Actions
16952 Ruby master Feature Open Kernel.exec gives an incorrect error message when passed a script with a non-existing shebang 06/11/2020 08:40 PM Actions
16946 Ruby master Feature Open Add an `intersperse` method 06/11/2020 01:47 AM Actions
16944 Ruby master Misc Open questions about Net::IMAP patches 06/16/2020 02:28 PM Actions
16929 Ruby master Feature Open Add GC.start(compact: true) 06/01/2020 03:42 PM Actions
16928 Ruby master Feature Open Array#include_all? & Array#include_any? 06/01/2020 09:27 PM Actions
16927 Ruby master Bug Open String#tr won't return the expected result for some sign with diacritics 06/01/2020 05:24 AM Actions
16924 Ruby master Feature Open instance_eval equivalent for RubyVM::InstructionSequence 05/30/2020 03:49 PM Actions
16920 Ruby master Bug Open TestThread#test_signal_at_join fails on aarch64 05/29/2020 04:54 PM Actions
16913 Ruby master Feature Open Add `ARGF#each_io` 05/25/2020 11:33 PM Actions
16908 Ruby master Bug Open Strange behaviour of Hash#shift when used with `default_proc`. 09/27/2021 05:37 AM Actions
16905 Ruby master Bug Open Ruby required to build Ruby on Haiku? 05/24/2020 08:08 AM Actions
16899 Ruby master Feature Open Add method `Array#both_end` 05/18/2020 01:44 AM Actions
16898 Ruby master Feature Open Modify the syntax of -> lambda expressions in ruby3 05/19/2020 02:02 AM Actions
16897 Ruby master Feature Open General purpose memoizer in Ruby 3 with Ruby 2 performance 06/26/2020 03:51 PM Actions
16895 Ruby master Misc Open Request for cooperation: Try your applications/libraries with master branch and debug options 05/15/2020 11:51 PM Actions
16894 Ruby master Feature Open Integer division for Ruby 3 matz (Yukihiro Matsumoto) 05/18/2020 03:41 PM Actions
16889 Ruby master Bug Open TracePoint.enable { ... } also activates the TracePoint for other threads, even outside the block ko1 (Koichi Sasada) 08/20/2021 09:48 PM Actions
16838 Ruby master Feature Open Enumerator::ArithmeticSequence missing allocator for #clone and #dup 05/18/2020 10:44 PM Actions
16833 Ruby master Feature Open Add Enumerator#empty? 05/06/2020 07:55 PM Actions
16829 Ruby master Bug Open Exceptions raised from within an enumerated method lose part of their stacktrace 05/05/2020 09:06 PM Actions
16820 Ruby master Bug Open LEGAL is out of sync 08/19/2020 11:08 AM Actions
16818 Ruby master Feature Open Rename `Range#%` to `Range#/` 05/07/2020 08:49 AM Actions
16817 CommonRuby Feature Open attr_predicate or attr_query or attr_something for ? methods 08/30/2021 07:50 PM Actions
16816 Ruby master Feature Open Prematurely terminated Enumerator should stay terminated 04/09/2021 09:24 PM Actions
16810 Ruby master Bug Open ruby segfaults on s390x with musl libc 03/05/2021 01:38 AM Actions
16803 Ruby master Misc Open Discussion: those internal macros reside in public API headers 05/14/2020 12:27 PM Actions
16795 Ruby master Feature Open build ruby.exe on Windows against ruby-static.lib omitting x64-vcruntime-ruby.dll (no '--enable-shared' option for Windows) 04/17/2020 01:22 PM Actions
16794 Ruby master Feature Open Rightward operators 09/10/2020 09:34 PM Actions
16791 Ruby master Feature Open Shortcut for Process::Status.exitstatus 05/19/2020 03:16 AM Actions
16790 Ruby master Feature Open string format and refinements 04/16/2020 03:06 AM Actions
16781 Ruby master Feature Open alias :fold :reduce 05/16/2020 08:28 AM Actions
16776 Ruby master Bug Open Regression in coverage library 04/18/2020 02:31 PM Actions
16773 Ruby master Feature Open Reduce allocations in net/http 04/10/2020 11:36 AM Actions
16761 Ruby master Feature Open Add an API to move the entire heap, as to make testing GC.compact compatibility easier 05/07/2020 04:03 PM Actions
16757 Ruby master Feature Open Add intersection to Range 04/03/2020 09:29 PM Actions
16755 Ruby master Feature Open warning: `if' at the end of line without an expression 04/03/2020 11:28 PM Actions
16752 Ruby master Feature Open :private param for const_set 04/03/2020 12:35 AM Actions
16750 Ruby master Misc Open Change typedef of VALUE for better type checking 04/03/2020 02:34 AM Actions
16745 Ruby master Feature Open Improving Date and DateTime comparison 03/31/2020 10:32 PM Actions
16742 Ruby master Feature Open RbConfig.windows? and RbConfig.host_os 04/11/2020 02:00 PM Actions
16741 Ruby master Feature Open Implement Shellwords.shellescape correctly for Windows 03/29/2020 07:54 AM Actions
16739 Ruby master Feature Open Allow Hash#keys and Hash#values to accept a block for filtering output 07/10/2020 04:09 PM Actions
16703 Ruby master Feature Open Namespace parameter for `Module#name` 03/24/2020 10:08 AM Actions
16688 Ruby master Feature Open Allow #to_path object as argument to system() 04/13/2020 05:37 PM Actions
16684 Ruby master Feature Open Use the word "to" instead of "from" in backtrace 04/10/2020 07:58 AM Actions
16678 Ruby master Misc Open Array#values_at has unintuitive behavior when supplied a range starting with negative index 03/09/2020 02:06 PM Actions
16673 Ruby master Feature Open total_timeout for Net::HTTP 03/07/2020 06:25 AM Actions
16671 Ruby master Misc Open BASERUBY version policy 03/05/2020 01:11 AM Actions
16667 Ruby master Feature Open Allow parameters to Symbol#to_proc and Method#to_proc 03/03/2020 03:40 PM Actions
16666 Ruby master Feature Open 'string' - 'str' as a shortcut for 'string'.gsub('str', '')? 03/01/2020 08:38 PM Actions
16665 Ruby master Feature Open Add an Array#except_index method 03/15/2020 03:37 PM Actions
16663 Ruby master Feature Open Add block or filtered forms of Kernel#caller to allow early bail-out 10/26/2021 07:29 PM Actions
16659 Ruby master Misc Open Documentation on Regexp missing for absence pattern (?~pat) docs 02/27/2020 04:16 PM Actions
16657 Ruby master Feature Open Don't ship bundled gems as .gem files as well as in expanded form 02/27/2020 06:50 AM Actions
16648 Ruby master Feature Open improve GC performance by 5% with builtin_prefetch 02/29/2020 06:27 PM Actions
16638 Ruby master Feature Open Structured Data for Syslog 02/17/2020 07:06 PM Actions
16637 Ruby master Feature Open Time#to_s and Date#to_s accept strftime format string 02/17/2020 09:46 PM Actions
16629 Ruby master Misc Open ruby-loco now built & saved on GitHub, both mingw & mswin builds 02/12/2020 01:53 PM Actions
16627 Ruby master Feature Open net/imap: support NAMESPACE extension (RFC2342) 12/08/2020 07:36 AM Actions
16621 Ruby master Feature Open Second block parameter of Pathname#glob to be relative path from self 02/12/2020 11:27 PM Actions
16615 Ruby master Feature Open Group style access scope for macros 03/09/2020 02:39 PM Actions
16610 Ruby master Feature Open net/imap: support IMAP4 ID extension (RFC2971) 12/08/2020 07:27 AM Actions
16601 Ruby master Feature Open Let `nil.to_a` and `nil.to_h` return a fixed instance 02/01/2020 10:12 AM Actions
16600 Ruby master Feature Open Optimized opcodes for frozen arrays and hashes literals 01/30/2020 09:51 AM Actions
16597 Ruby master Feature Open missing poll() 05/29/2020 05:52 PM Actions
16563 Ruby master Feature Open Let rb_mod_const_at and rb_const_list use an ID table instead for inherited VS private constant segregation 01/26/2020 04:38 PM Actions
16562 Ruby master Feature Open Expose rb_io_set_encoding_internal to reduce function calls on loading source files 01/27/2020 06:05 AM Actions
16559 Ruby master Feature Open Net::HTTP#request injects "Connection: close" header if #started? is false, wasting HTTP server resources naruse (Yui NARUSE) 05/28/2020 07:37 PM Actions
16557 Ruby master Feature Open Deduplicate Regexp literals 02/28/2020 11:44 AM Actions
16517 Ruby master Feature Open mkmf.rb - changes for Windows ? 01/20/2020 06:05 PM Actions
16511 Ruby master Feature Open Staged warnings and better compatibility for keyword arguments in 2.7.1 02/25/2020 06:54 PM Actions
16507 Ruby master Misc Open =~ vs include? or match? 01/12/2020 11:27 PM Actions
16495 Ruby master Feature Open Inconsistent quotes in error messages matz (Yukihiro Matsumoto) 08/07/2020 12:27 AM Actions
16493 Ruby master Bug Open TestThreadQueue#test_thr_kill is flaky on AArch64 01/09/2020 09:39 AM Actions
16492 Ruby master Bug Open TestBugReporter#test_bug_reporter_add test failures jaruga (Jun Aruga) 08/24/2021 01:12 PM Actions
16489 Ruby master Feature Open Make rb_warn_deprecated a public API 01/09/2020 01:22 AM Actions
16487 Ruby master Misc Open Potential for SIMD usage in ruby-core 01/16/2020 05:25 AM Actions
16482 Ruby master Feature Open net/http should support TLS connection to proxies 01/05/2020 05:52 PM Actions
16479 Ruby master Feature Open Let execution context local storage be backed by an ID table 01/04/2020 01:41 AM Actions
16478 Ruby master Feature Open Fold symbol tables for tracking basic operation method redefinition changes into a single ID table 01/04/2020 01:42 AM Actions
16476 Ruby master Feature Open Socket.getaddrinfo cannot be interrupted by Timeout.timeout Glass_saga (Masaki Matsushita) 12/28/2020 10:41 AM Actions
16471 Ruby master Feature Open Two feature requests for WeakRef: get original object, callback feature 01/02/2020 03:44 PM Actions
16464 Ruby master Misc Open Which core objects should support deconstruct/deconstruct_keys? 12/30/2019 07:54 AM Actions
16460 Ruby master Feature Open External names for keyword parameters in method definitions 01/02/2020 02:11 AM Actions
16456 Ruby master Feature Open Ruby 2.7 argument delegation (...) should be its own kind of parameter in Method#parameters 10/13/2021 12:12 PM Actions
16451 Ruby master Feature Open Special ternary operator for methods ending in `?` 12/26/2019 09:03 PM Actions
16436 Ruby master Misc Open hash missing #last method, make it not so consistent (it has #first) 01/06/2021 09:47 AM Actions
16431 Ruby master Feature Open Optionally load did_you_mean (and RubyGems) 12/18/2019 07:19 PM Actions
16425 Ruby master Feature Open Add Thread#dig 12/17/2019 12:15 AM Actions
16411 Ruby master Feature Open Safer keyword argument extension 12/10/2019 02:45 AM Actions
16408 Ruby master Misc Open Ruby docs list incorrect method signatures for PTY::getpty/PTY::spawn 12/12/2019 05:12 PM Actions
16396 Ruby master Misc Open What is the reason for this behaviour of Find.find? 12/09/2019 02:51 PM Actions
16381 Ruby master Feature Open Accept resolv_timeout in Net::HTTP 11/29/2019 04:38 PM Actions
16374 Ruby master Feature Open Object#nullify to provide scalars with the effect similar to Enumerable#reject 12/08/2019 02:30 AM Actions
16373 Ruby master Feature Open RDoc for some of the Kernel methods cannot be found in Kernel module 05/29/2020 09:29 PM Actions
16370 Ruby master Feature Open Pattern matching with variable assignment (the priority of `in` operator) 11/27/2019 01:55 PM Actions
16356 Ruby master Feature Open Method#inspect of argument forwarding 11/21/2019 01:54 PM Actions
16352 Ruby master Feature Open Modify Marshal to dump objects larger than 2 GiB 06/10/2020 04:12 AM Actions
16347 CommonRuby Feature Open InmutableObject 11/15/2019 08:41 PM Actions
16346 Ruby master Misc Open Confusing macro name: RUBY_MARK_NO_PIN_UNLESS_NULL 11/13/2019 07:39 AM Actions
16341 Ruby master Feature Open Proposal: Set#to_proc and Hash#to_proc 11/12/2019 08:12 PM Actions
16336 Ruby master Feature Open Allow private constants to be accessed with absolute references 11/14/2019 06:21 PM Actions
16296 Ruby master Feature Open Alternative behavior for `...` in method body if `...` is not in method definition 11/10/2019 10:20 AM Actions
16295 Ruby master Feature Open Chainable aliases for String#-@ and String#+@ 03/30/2021 11:11 PM Actions
16291 Ruby master Feature Open Introduce support for resize in rb_ary_freeze and prefer internal use of rb_ary_freeze and rb_str_freeze for String and Array types nobu (Nobuyoshi Nakada) 12/25/2020 02:43 AM Actions
16288 Ruby master Bug Open Segmentation fault with finalizers, threads 12/19/2019 07:46 PM Actions
16287 Ruby master Feature Open Proposal to add .second and .third in particular to class Array 10/31/2019 01:47 PM Actions
16282 Ruby master Feature Open Add "call data" wrapper IMEMO object so inline cache can be updated 10/29/2019 12:13 AM Actions
16277 Ruby master Bug Open UNIXServer#listen fails with Errno::EADDRINUSE error under Windows 10 / WSL Ubuntu 18.04 10/25/2019 03:39 PM Actions
16276 Ruby master Feature Open For consideration: "private do...end" / "protected do...end" 11/19/2019 04:27 AM Actions
16273 Ruby master Feature Open Proposal: Shorthand operator for "#instance_method" 01/14/2020 12:24 PM Actions
16267 Ruby master Misc Open MinGW CI - add to Actions ? 10/21/2019 01:10 AM Actions
16265 Ruby master Bug Open Test (spec) failure using current MSYS2 tools, related to -fstack-protector and possibly D_FORTIFY_SOURCE=2 12/03/2019 03:09 PM Actions
16252 Ruby master Feature Open Hash#partition should return hashes 10/27/2021 02:31 PM Actions
16249 Ruby master Feature Open Dir#empty? and File#empty? 10/19/2019 12:49 PM Actions
16246 Ruby master Feature Open require with an optional block that is evaluated when requiring fails 10/09/2019 11:16 AM Actions
(201-400/1735) Per page: 50, 100, 200, 500

Also available in: Atom CSV PDF