Project

General

Profile

Issues

Filters

Apply Clear

# Project Tracker Status Subject Assignee Updated
18926 Ruby master Feature Open Ractor should support mutexes and treat the block as critical section across ractors 07/26/2022 04:40 PM Actions
17298 Ruby master Feature Open Ractor's basket communication APIs 11/13/2020 04:16 PM Actions
17286 Ruby master Feature Open `Ractor.new` should accept `move: true` 11/08/2020 03:01 AM Actions
18127 Ruby master Feature Open Ractor-local version of Singleton 11/09/2021 02:45 PM Actions
17506 Ruby master Bug Open Ractor isolation broken by ThreadGroup 01/03/2021 08:05 PM Actions
18129 Ruby master Bug Open Ractor-incompatible global variables can be accessed through alias 08/23/2021 10:08 PM Actions
19112 Ruby master Bug Open Ractor garbage collection breaks/disables all active tracepoints 11/08/2022 10:58 AM Actions
17180 Ruby master Bug Open Ractor and constant referencing 09/20/2020 05:43 PM Actions
18814 Ruby master Feature Open Ractor: add method to query incoming message queue size 06/30/2022 10:58 AM Actions
9145 Ruby master Feature Open Queue#pop(true) return nil if empty instead of raising ThreadError 01/01/2018 07:41 PM Actions
17357 Ruby master Feature Open `Queue#pop` should have a block form for closed queues 01/12/2021 07:32 AM Actions
17146 Ruby master Bug Open Queue operations are allowed after it is frozen 10/20/2021 08:32 PM Actions
19096 Ruby master Misc Open [Question] Time with `-00:00` offset is in UTC 11/01/2022 05:17 PM Actions
18420 Ruby master Misc Open Question about how to handle IO.pipe reader and writer when forking 12/22/2021 12:04 AM Actions
17774 Ruby master Bug Open Quantified empty group causes regex to fail 10/13/2021 04:43 PM Actions
11923 Ruby master Feature Open Put Struct accessors into separate module to allow redefining them in Struct.new's block 05/17/2016 06:37 AM Actions
13026 Ruby master Feature Open Public singleton methods 02/22/2017 06:53 PM Actions
15338 Ruby master Feature Open Provide way for C extensions to query if global variable is defined 11/25/2018 09:32 AM Actions
10882 Ruby master Feature Open Provide Levenshtein distance implementation as part of stdlib 02/26/2015 03:56 PM Actions
17758 Ruby master Feature Open Provide Hash#count for performance improvement 03/28/2021 06:39 PM Actions
15017 Ruby master Feature Open Provide extended information about Signal 08/22/2018 05:42 AM Actions
10391 Ruby master Feature Open Provide %eISO-8859-1'string \xAA literal' string literals with explicit encoding 10/28/2014 10:27 AM Actions
19036 Ruby master Feature Open Provide a way to set path for File instances created with for_fd 11/17/2022 08:17 AM Actions
17004 Ruby master Feature Open Provide a way for methods to omit their return value 07/20/2020 05:44 AM Actions
14938 Ruby master Feature Open Provide API to get same result as ruby -wc 08/06/2018 06:27 PM Actions
16001 Ruby master Feature Open Provide an alias to Kernel#caller_locations(1,1) and Kernel#caller(1,1) 09/04/2019 02:31 PM Actions
13804 Ruby master Misc Open Protected methods cannot be overridden 08/10/2017 09:41 PM Actions
15811 Ruby master Feature Open Propsing new method for comparing equality of 2 (float) numbers relatively 07/29/2019 04:40 PM Actions
18410 Ruby master Feature Open Proposal to make inspect include underscores on numerics 12/16/2021 09:07 AM Actions
16287 Ruby master Feature Open Proposal to add .second and .third in particular to class Array 10/31/2019 01:47 PM Actions
14869 Ruby master Feature Open Proposal to add Hash#=== 08/09/2018 04:03 AM Actions
14916 Ruby master Feature Open Proposal to add Array#=== 08/09/2018 04:06 AM Actions
12843 Ruby master Feature Open Proposal to add a new method to class File in order to determine the name of the file without any suffix 10/17/2016 08:56 AM Actions
15879 Ruby master Feature Open Proposal: Time#to_i accepts :unit keyword 07/29/2019 07:32 AM Actions
18357 Ruby master Feature Open Proposal: stop raising when block passed to IO#each_* closes the IO 11/22/2021 09:03 PM Actions
12125 Ruby master Feature Open Proposal: Shorthand operator for Object#method 01/07/2022 06:23 PM Actions
16273 Ruby master Feature Open Proposal: Shorthand operator for "#instance_method" 01/14/2020 12:24 PM Actions
16341 Ruby master Feature Open Proposal: Set#to_proc and Hash#to_proc 11/12/2019 08:12 PM Actions
17786 Ruby master Feature Open Proposal: new "ends" keyword 04/11/2021 01:40 AM Actions
15580 Ruby master Feature Open Proposal: method addition to class String called .indices ( String#indices ) 07/29/2020 01:54 AM Actions
19061 Ruby master Feature Open Proposal: make a concept of "consuming enumerator" explicit 10/21/2022 08:28 PM Actions
18996 Ruby master Feature Open Proposal: Introduce new APIs to reline for changing dialog UI colours 11/29/2022 04:44 PM Actions
19024 Ruby master Feature Open Proposal: Import Modules 10/18/2022 07:55 AM Actions
11868 Ruby master Feature Open Proposal for RubyVM::InstructionSequence.compile to return an object containing the syntax error information currently written to STDERR 04/21/2016 05:49 AM Actions
11815 Ruby master Feature Open Proposal for method `Array#difference` 07/20/2020 11:34 PM Actions
11361 Ruby master Feature Open proposal for easy method to nil-guard for generated variable name. 02/21/2016 12:01 PM Actions
18150 Ruby master Misc Open Proposal: Deprecate leading zero syntax to declare octals, since it's extremely confusing (and Python 3 removed it too) 09/04/2021 03:21 AM Actions
18841 Ruby master Feature Open Proposal: autoload_relative 06/19/2022 11:22 PM Actions
17579 Ruby master Feature Open [Proposal] A suggestion for newline-separated shorthand notation, for the creation of Arrays containing strings that may contain ' ' (space) characters 01/25/2021 04:33 PM Actions
15864 Ruby master Feature Open Proposal: Add methods to determine if it is an infinite range 08/22/2019 07:36 AM Actions
10215 Ruby master Feature Open prohibit subclassing for classes without allocator in Ruby 09/08/2014 07:29 AM Actions
15302 Ruby master Feature Open Proc#with and Proc#by, for partial function application and currying 11/23/2018 10:16 AM Actions
7082 Ruby master Feature Open Process.kill 0 in windows can return spurious success 12/25/2017 06:15 PM Actions
8786 Ruby master Feature Open Process.clock_gettime(:realtime) 08/15/2013 10:33 PM Actions
15477 Ruby master Feature Open Proc#arity returns -1 for composed lambda Procs of known arguments 03/15/2019 12:39 PM Actions
16752 Ruby master Feature Open :private param for const_set 04/03/2020 12:35 AM Actions
17647 Ruby master Feature Open Print register `r11` on 32-bit ARM Linux 04/30/2021 11:22 AM Actions
18360 Ruby master Feature Open PrettyPrint enhancements 11/24/2021 12:15 AM Actions
16816 Ruby master Feature Open Prematurely terminated Enumerator should stay terminated 04/09/2021 09:24 PM Actions
17565 Ruby master Misc Open Prefer use of access(2) in rb_file_load_ok() to check for existence of require'd files 01/21/2021 08:52 PM Actions
16487 Ruby master Misc Open Potential for SIMD usage in ruby-core 01/16/2020 05:25 AM Actions
10343 Ruby master Feature Open Postfix notations for `when` and `else` inside `case` statement 10/08/2014 05:25 PM Actions
11446 Ruby master Feature Open Possible work around for the requirement to supplying arguments like this: .map(&:method, <arguments>) 08/14/2015 04:40 PM Actions
11630 Ruby master Feature Open possibility to serialize Proc or Lambda 11/23/2015 01:34 PM Actions
11700 Ruby master Feature Open positive flags for reverse lookup to socket 11/17/2015 02:48 AM Actions
17586 Ruby master Misc Open Please run Windows CI in all std-lib repos 01/28/2021 02:34 PM Actions
9853 Ruby master Feature Open Please consider quoted generation of hash like in %h( foo bar bee blaa ) 05/19/2014 04:43 PM Actions
10308 Ruby master Feature Open Pipes in Ruby 09/30/2014 11:21 PM Actions
14392 Ruby master Feature Open Pipe operator 12/13/2018 09:51 AM Actions
11100 Ruby master Feature Open Permit multiple captures with String[Regexp, ...] 01/24/2016 08:42 AM Actions
15172 Ruby master Feature Open Performance: create method(s) to mimic __builtin_ctz compiler directive functionality 12/28/2018 05:11 PM Actions
14574 Ruby master Feature Open percent literals and binary encoding strings 03/04/2018 07:38 AM Actions
18384 Ruby master Feature Open Pattern Match Object 05/07/2022 06:01 PM Actions
16370 Ruby master Feature Open Pattern matching with variable assignment (the priority of `in` operator) 11/27/2019 01:55 PM Actions
17925 Ruby master Bug Open Pattern matching syntax using semicolon one-line 06/04/2021 03:08 PM Actions
18583 Ruby master Feature Open Pattern-matching: API for custom unpacking strategies? 03/17/2022 01:10 PM Actions
14715 Ruby master Feature Open Pathname#== should compare by #realpath instead of #to_s 08/26/2019 07:38 PM Actions
10370 Ruby master Feature Open [PATCH] We don't need to check whether rb_block_call exists 01/29/2019 06:46 PM Actions
11634 Ruby master Feature Open [PATCH] variable.c (rb_global_tbl): convert to id_table 10/29/2015 08:11 PM Actions
15350 Ruby master Feature Open [PATCH] thread_sync.c (queue_sleep): remove deadlock checking 12/05/2018 08:42 AM Actions
14851 Ruby master Feature Open [PATCH] thread_pthread.c: remove non-sleepy timer thread implementation 07/19/2021 05:23 AM Actions
13514 Ruby master Feature Open [PATCH] thread_pthread.c (native_sleep): preserve old unblock function 07/27/2021 11:41 AM Actions
15310 Ruby master Bug Open [PATCH] thread_pthread.c: close race from UBF_TIMER and non-GVL-releasing thread 11/20/2018 12:50 AM Actions
14759 Ruby master Feature Open [PATCH] set M_ARENA_MAX for glibc malloc 03/15/2019 06:54 AM Actions
14153 Ruby master Feature Open [PATCH] resurrection of # -*- warn_past_scope: true -*- 12/26/2017 08:53 AM Actions
13245 Ruby master Feature Open [PATCH] reject inter-thread TLS modification 09/12/2017 12:54 PM Actions
11796 Ruby master Feature Open [PATCH] Refactor reduce call get_stat() 12/09/2015 02:33 PM Actions
11431 Ruby master Feature Open [PATCH] rb_parser_compile_*: remove volatile arg 07/27/2021 07:27 AM Actions
13103 Ruby master Feature Open [PATCH] random.c: use "__NR_" syscall prefix on Linux (instead of "SYS_") 01/11/2017 10:51 PM Actions
13719 Ruby master Feature Open [PATCH] net/http: allow existing socket arg for Net::HTTP.start 09/12/2020 09:45 PM Actions
11786 Ruby master Feature Open [PATCH] micro-optimize case dispatch even harder 12/09/2015 09:58 AM Actions
10225 Ruby master Feature Open [PATCH] *math.c: New method Math.normcdf 01/05/2018 09:01 PM Actions
11273 Ruby master Feature Open [PATCH] Make it possible to `load` from a FIFO file 07/23/2019 05:45 PM Actions
15006 Ruby master Feature Open [PATCH] io.c: use copy_file_range with every types of files 08/21/2018 07:52 PM Actions
15386 Ruby master Bug Open [PATCH] io.c (rb_io_check_char_readable): do not io_fflush buffered sockets 12/06/2018 11:38 AM Actions
13095 Ruby master Feature Open [PATCH] io.c (rb_f_syscall): remove deprecation notice 03/26/2017 06:21 AM Actions
14955 Ruby master Feature Open [PATCH] gc.c: use MADV_FREE to release most of the heap page body 08/14/2018 03:04 AM Actions
14177 Ruby master Feature Open PATCH: File::Stat#dev on Windows 12/25/2017 06:15 PM Actions
12017 Ruby master Feature Open [PATCH] dedupe string keys from Marshal.load 01/25/2016 09:02 AM Actions
8566 Ruby master Feature Open [PATCH] Allow to configure additional preludes 12/10/2014 01:13 PM Actions
10552 Ruby master Feature Open [PATCH] Add Enumerable#frequencies and Enumerable#relative_frequencies 11/30/2014 11:56 AM Actions
10927 Ruby master Feature Open [PATCH] Add default empty string to string replacements 03/04/2015 10:49 AM Actions
11315 Ruby master Feature Open [PATCH] Add Array#^ for parity with other set-like operations. 06/29/2015 05:05 AM Actions
10726 Ruby master Feature Open [PATCH 4/4] * New methods: Set#power 01/28/2015 07:48 AM Actions
10386 Ruby master Feature Open [PATCH 3/3] There is little possibility of using m_sqrt at complex.c 11/10/2014 11:10 PM Actions
10505 Ruby master Feature Open [PATCH 2/n] 同相条件を扱いたい./Object#eql? with block. (ja/en) 11/13/2014 05:52 PM Actions
10791 Ruby master Misc Open [PATCH 1/1] Remove unnecessary passing value from doc for Observable 11/29/2022 02:06 AM Actions
10474 Ruby master Feature Open [PATCH 1/1] Refactoring math.c (Combined some macros into one macro) 11/10/2014 10:29 PM Actions
10318 Ruby master Feature Open [PATCH 0/n] Let underscore be positionally matched arg to omit binding obvious variable. 12/10/2020 08:53 AM Actions
10455 Ruby master Feature Open [PATCH 0/n] Combine interface for creating new matrix 10/29/2014 10:17 PM Actions
10378 Ruby master Feature Open [PATCH 0/3] It's better (1 + 0i).real? return true 01/05/2018 09:01 PM Actions
17576 Ruby master Feature Open Partial Functions (procs, lambdas) 10/17/2022 04:12 PM Actions
16113 Ruby master Feature Open Partial application 03/02/2021 02:00 PM Actions
15734 Ruby master Feature Open Parsing of shorthand IPv4 addresses compatible with inet_aton 03/28/2019 05:50 PM Actions
18878 Ruby master Bug Open parse.y: Foo::Bar {} is inconsistently rejected 06/28/2022 03:38 AM Actions
18242 Ruby master Feature Open Parser makes multiple assignment sad in confusing way 10/09/2021 07:58 AM Actions
14785 Ruby master Feature Open Parse guard statements like regular conditionals 05/25/2018 05:46 AM Actions
12094 Ruby master Feature Open parameterized property assignment: o.prop(arg) = 1 03/17/2016 07:05 AM Actions
19150 Ruby master Bug Open pack/unpack silently ignores unknown directives 11/25/2022 04:24 PM Actions
15945 Ruby master Feature Open Option to truncate in `String#ljust`, `String#rjust`, and `String#center` 06/20/2019 02:39 PM Actions
18783 Ruby master Bug Open OptionParser should recognize "-" as an optional argument 05/19/2022 12:15 AM Actions
15724 Ruby master Feature Open Optionally suppress output from IRB for assignment expressions 03/27/2019 08:43 PM Actions
16431 Ruby master Feature Open Optionally load did_you_mean (and RubyGems) 12/18/2019 07:19 PM Actions
17115 Ruby master Feature Open Optimize String#casecmp? for ASCII strings 08/15/2020 03:48 AM Actions
12755 Ruby master Feature Open optimize instruction sequence 09/12/2016 07:05 AM Actions
16600 Ruby master Feature Open Optimized opcodes for frozen arrays and hashes literals 01/30/2020 09:51 AM Actions
15721 Ruby master Feature Open optimize comparison of special const 03/22/2019 06:25 AM Actions
9667 Ruby master Feature Open Optimization of __FILE__ and __dir__ 03/25/2014 04:48 AM Actions
16049 Ruby master Feature Open optimization for frozen dynamic string literals "#{exp}".dup and +"#{exp}" 08/14/2019 04:30 PM Actions
12403 Ruby master Feature Open Optimise Regexp#match? 05/24/2016 05:54 AM Actions
12869 Ruby master Feature Open open-uri's open rejects `BOM' in encoding 10/25/2016 05:06 AM Actions
8544 Ruby master Feature Open OpenURI should open 'file://' URIs 12/12/2015 04:30 PM Actions
15225 Ruby master Feature Open OpenStruct: Recursively converting child Hash objects to OpenStruct objects. 01/03/2021 02:30 AM Actions
14555 Ruby master Feature Open OpenStruct performance doesn't have to be slow... 02/27/2018 12:59 AM Actions
19136 Ruby master Bug Open OpenSSL::PKey::EC.check_key is useless when linked against OpenSSL 3 11/18/2022 08:03 PM Actions
11582 Ruby master Bug Open On Solaris, Rational#** returns -Infinity for Rational(0) when passed a negative Float 10/13/2015 03:12 AM Actions
17316 Ruby master Feature Open On memoization 05/13/2022 11:32 AM Actions
15463 Ruby master Feature Open oneshot coverage does not allow counting code lines without coverage 12/25/2018 12:52 PM Actions
17258 Ruby master Feature Open Oneshot Branch Coverage 10/09/2020 08:26 PM Actions
15936 Ruby master Feature Open on_error in lieu of rescue, raise 06/21/2019 07:05 PM Actions
18951 Ruby master Feature Open Object#with to set and restore attributes around a block 11/15/2022 09:18 AM Actions
12523 Ruby master Feature Open `Object#values_at` 01/05/2020 03:44 PM Actions
19159 Ruby master Bug Open ObjectSpace segfaults 11/29/2022 01:10 PM Actions
8614 Ruby master Feature Open Object#singleton_class with a block 07/12/2013 10:14 AM Actions
6758 Ruby master Feature Open Object#sequence 12/25/2017 06:15 PM Actions
18573 Ruby master Feature Open Object#pack1 02/08/2022 08:51 AM 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
17330 Ruby master Feature Open Object#non 08/19/2022 05:09 AM Actions
18894 Ruby master Feature Open Object#make_shareable 07/02/2022 11:42 PM Actions
8506 Ruby master Feature Open Object#iter_for / Object#to_iter 06/10/2013 05:21 PM Actions
11694 Ruby master Feature Open Numeric#nonpositive?, nonnegative? 11/16/2015 12:56 AM Actions
19137 Ruby master Feature Open Numbered parameters are not made available to IRB. 11/20/2022 10:18 AM Actions
18647 Ruby master Feature Open Non-recursive option for iseq-targeted Tracepoints in ruby 2.6+ 03/18/2022 09:41 AM Actions
8714 Ruby master Feature Open Non-interpolated regular expression literal 08/02/2013 08:00 PM Actions
18285 Ruby master Feature Open NoMethodError#message uses a lot of CPU/is really expensive to call 01/30/2022 12:45 PM Actions
18518 Ruby master Bug Open NoMemoryError + [FATAL] failed to allocate memory for twice 1 << large 01/28/2022 01:40 PM Actions
13634 Ruby master Misc Open NilClass is lying about respond_to?(:clone) 06/06/2017 08:27 AM Actions
14624 Ruby master Feature Open #{nil} allocates a fresh empty string each time 04/21/2018 11:12 AM Actions
19019 Ruby master Feature Open Nicely formatted exception messages in HTML 09/26/2022 09:19 PM Actions
15526 Ruby master Feature Open New way to destruct an object hash 01/14/2019 03:45 PM Actions
14951 Ruby master Feature Open New operator to evaluate truthy/falsy/logical equivalence 08/02/2018 07:16 AM Actions
14801 Ruby master Feature Open New method 'show_stack' to show Ruby stack(s) when program is running 06/01/2018 09:45 AM Actions
10181 Ruby master Feature Open New method File.openat() 10/22/2015 12:12 PM Actions
10366 Ruby master Feature Open New inspection form for rational 10/11/2014 12:50 AM Actions
6733 Ruby master Feature Open New inspect framework 11/24/2021 05:06 AM Actions
18915 Ruby master Feature Open New error class: NotImplementedYetError or scope change for NotImplementedError 11/15/2022 10:14 PM Actions
14430 Ruby master Feature Open net/http: use Socket.tcp with connect_timeout, instead of TCPSocket.open wrapped in Timeout.timeout 01/19/2021 10:01 AM Actions
11507 Ruby master Feature Open Net::HTTP should use TCP_CORK or TCP_NOPUSH to avoid fragmenting packets 09/04/2015 09:47 AM Actions
16482 Ruby master Feature Open net/http should support TLS connection to proxies 01/05/2020 05:52 PM Actions
8681 Ruby master Feature Open Net::HTTP should set TCP_NODELAY for requests with body 12/23/2021 11:43 PM Actions
17166 Ruby master Feature Open net/http not supporting unix domain sockets 09/12/2020 02:51 PM Actions
19017 Ruby master Bug Open Net::HTTP may block when attempting to reuse a persistent connection 09/24/2022 10:14 PM Actions
10179 Ruby master Feature Open Net::HTTP::Get.new("https://google.com").basic_auth(user_name, password) should throw exception stating the need to set use_ssl to true 09/13/2015 03:25 AM Actions
18661 Ruby master Bug Open Net::HTTP behavior changed between 2.6 and 3.1 on windows. 03/25/2022 01:57 PM Actions
17548 Ruby master Feature Open Need simple way to include symlink directories in Dir.glob 03/21/2022 01:35 PM Actions
10051 Ruby master Feature Open nbsp isn't remove with trim 07/17/2014 08:02 AM Actions
10168 Ruby master Feature Open Native Object#inspect method should single quote strings that don't need to be double quoted 01/01/2016 08:27 PM Actions
16114 Ruby master Misc Open Naming of "beginless range" 10/08/2019 03:06 PM Actions
16703 Ruby master Feature Open Namespace parameter for `Module#name` 03/24/2020 10:08 AM Actions
12317 Ruby master Feature Open Name space of a module 09/04/2016 04:59 PM Actions
18642 Ruby master Feature Open Named ripper fields 05/12/2022 01:37 PM Actions
18554 Ruby master Feature Open Move unicode_normalize to a default gem 01/31/2022 05:51 PM Actions
19079 Ruby master Bug Open Modules included in a DelegateClass cannot override delegate methods 10/23/2022 03:02 AM Actions
17354 Ruby master Bug Open Module#const_source_location is misleading for constants awaiting autoload 03/26/2021 05:56 PM Actions
12319 Ruby master Feature Open `Module#const_get` does not accept symbol with nested name 01/04/2020 07:24 PM Actions
18478 Ruby master Feature Open Module#constant_pairs 01/11/2022 07:55 PM Actions
16898 Ruby master Feature Open Modify the syntax of -> lambda expressions in ruby3 05/19/2020 02:02 AM Actions
16352 Ruby master Feature Open Modify Marshal to dump objects larger than 2 GiB 06/10/2020 04:12 AM Actions
15592 Ruby master Feature Open mode where "autoload" behaves like an immediate "require" 03/16/2022 09:58 AM Actions
15914 Ruby master Feature Open mkmf without libruby 06/12/2019 12:43 PM Actions
16517 Ruby master Feature Open mkmf.rb - changes for Windows ? 11/18/2022 12:24 AM Actions
9760 Ruby master Bug Open mkmf does not allow for linking against custom libraries when a system library is present 09/21/2022 10:56 AM Actions
15599 Ruby master Bug Open Mixing autoload and require causes deadlock and incomplete definition. 02/12/2019 01:40 PM Actions
16597 Ruby master Feature Open missing poll() 06/09/2022 09:14 AM Actions
17797 Ruby master Feature Open MIPS support for addr2line.c 04/13/2021 03:49 AM Actions
14480 Ruby master Bug Open miniruby crashing when compiled with -O2 or -O1 on aarch64 02/23/2021 10:35 AM Actions
13542 Ruby master Bug Open MinGW trunk Builds - Summary of Issues 05/19/2017 07:04 PM Actions
13485 Ruby master Bug Open MinGW TestEnumerable#test_callcc SEGV info 04/19/2017 04:17 PM Actions
13500 Ruby master Bug Open MinGW TestArity#test_proc_err_mess stops testing 04/26/2017 03:27 PM Actions
14957 Ruby master Bug Open MinGW, gcc 8.2.0, bootstraptest test_thread.rb - failure ? 08/03/2018 02:46 PM Actions
(801-1000/1583) Per page: 50, 100, 200, 500

Also available in: Atom CSV PDF