Skip to content

Commit cfda118

Browse files
committed
Merge branch 'master' into fix-examples-that-uses-yahoo
2 parents 9da7608 + 0fe5618 commit cfda118

File tree

1,575 files changed

+1085088
-4207
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,575 files changed

+1085088
-4207
lines changed

.github/workflows/ci.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: CI
2+
on: [push, pull_request]
3+
4+
jobs:
5+
build:
6+
runs-on: ubuntu-latest
7+
8+
strategy:
9+
fail-fast: false
10+
matrix:
11+
ruby: [2.4, 2.5, 2.6, 2.7, '3.0', 3.1, jruby]
12+
13+
env:
14+
JAVA_OPTS: '-Xmx1024m'
15+
RUBYOPT: '-w'
16+
JRUBY_OPTS: '--dev'
17+
18+
name: "Tests: Ruby ${{ matrix.ruby }}"
19+
steps:
20+
- name: Clone Repo
21+
uses: actions/checkout@v2
22+
- name: Setup Ruby ${{ matrix.ruby }}
23+
uses: ruby/setup-ruby@v1
24+
with:
25+
ruby-version: ${{ matrix.ruby }}
26+
bundler-cache: true
27+
- name: Run tests
28+
run: bundle exec rake ci

.github/workflows/experimental.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Experimental Rubies CI Run
2+
on:
3+
schedule:
4+
- cron: '0 0 * * *' # Runs every day at midnight
5+
workflow_dispatch:
6+
branches: [ master ]
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
continue-on-error: true
12+
13+
strategy:
14+
matrix:
15+
ruby: [head, jruby-head, truffleruby, truffleruby-head]
16+
17+
env:
18+
JAVA_OPTS: '-Xmx1024m'
19+
RUBYOPT: '-w'
20+
JRUBY_OPTS: '--dev'
21+
22+
name: "Tests: Experimental Ruby ${{ matrix.ruby }}"
23+
steps:
24+
- name: Clone Repo
25+
uses: actions/checkout@v2
26+
- name: Setup Ruby ${{ matrix.ruby }}
27+
uses: ruby/setup-ruby@v1
28+
with:
29+
ruby-version: ${{ matrix.ruby }}
30+
bundler-cache: true
31+
- name: Run tests
32+
run: bundle exec rake ci

.gitignore

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
# Yard documentation
99
/.yardoc
10-
/yardoc
1110

1211
# IDEs' files
1312
*.iml
@@ -29,6 +28,6 @@
2928
/spec/examples.txt
3029

3130
# Compiled files
32-
/lib/concurrent/concurrent_ruby.jar
33-
/lib/concurrent/**/concurrent_ruby_ext.*
34-
/lib/concurrent/concurrent_ruby_ext.*
31+
/lib/concurrent-ruby/concurrent/concurrent_ruby.jar
32+
/lib/concurrent-ruby/concurrent/**/concurrent_ruby_ext.*
33+
/lib/concurrent-ruby/concurrent/concurrent_ruby_ext.*

.rspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
-I lib-edge
12
--require spec_helper
23
--color
34
--warnings

.travis.yml

Lines changed: 0 additions & 53 deletions
This file was deleted.

.yardopts

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,5 @@
1-
--no-private
2-
--embed-mixins
3-
--output-dir ./yardoc
4-
--markup markdown
5-
--title=Concurrent Ruby
6-
--template default
7-
--template-path ./yard-template
8-
--default-return undocumented
9-
10-
./lib/**/*.rb
11-
./lib-edge/**/*.rb
12-
./ext/concurrent_ruby_ext/**/*.c
1+
--error:" use `bundle exec rake yard` instead"
2+
--output-dir tmp
3+
--
4+
no-lib
135
-
14-
doc/thread_pools.md
15-
doc/promises.out.md
16-
README.md
17-
LICENSE.txt
18-
CHANGELOG.md

BUILDING.md

Lines changed: 0 additions & 34 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 125 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,141 @@
11
## Current
22

3+
## Release v1.1.9 (5 Jun 2021)
4+
5+
concurrent-ruby:
6+
7+
* (#866) Child promise state not set to :pending immediately after #execute when parent has completed
8+
* (#905, #872) Fix RubyNonConcurrentPriorityQueue#delete method
9+
* (2df0337d) Make sure locks are not shared on shared when objects are dup/cloned
10+
* (#900, #906, #796, #847, #911) Fix Concurrent::Set tread-safety issues on CRuby
11+
* (#907) Add new ConcurrentMap backend for TruffleRuby
12+
13+
## Release v1.1.8 (20 January 2021)
14+
15+
concurrent-ruby:
16+
17+
* (#885) Fix race condition in TVar for stale reads
18+
* (#884) RubyThreadLocalVar: Do not iterate over hash which might conflict with new pair addition
19+
20+
## Release v1.1.7 (6 August 2020)
21+
22+
concurrent-ruby:
23+
24+
* (#879) Consider falsy value on `Concurrent::Map#compute_if_absent` for fast non-blocking path
25+
* (#876) Reset Async queue on forking, makes Async fork-safe
26+
* (#856) Avoid running problematic code in RubyThreadLocalVar on MRI that occasionally results in segfault
27+
* (#853) Introduce ThreadPoolExecutor without a Queue
28+
29+
## Release v1.1.6, edge v0.6.0 (10 Feb 2020)
30+
31+
concurrent-ruby:
32+
33+
* (#841) Concurrent.disable_at_exit_handlers! is no longer needed and was deprecated.
34+
* (#841) AbstractExecutorService#auto_terminate= was deprecated and has no effect.
35+
Set :auto_terminate option instead when executor is initialized.
36+
37+
## Release v1.1.6.pre1, edge v0.6.0.pre1 (26 Jan 2020)
38+
39+
concurrent-ruby:
40+
41+
* (#828) Allow to name executors, the name is also used to name their threads
42+
* (#838) Implement #dup and #clone for structs
43+
* (#821) Safer finalizers for thread local variables
44+
* Documentation fixes
45+
* (#814) Use Ruby's Etc.nprocessors if available
46+
* (#812) Fix directory structure not to mess with packaging tools
47+
* (#840) Fix termination of pools on JRuby
48+
49+
concurrent-ruby-edge:
50+
51+
* Add WrappingExecutor (#830)
52+
53+
## Release v1.1.5, edge v0.5.0 (10 Mar 2019)
54+
55+
concurrent-ruby:
56+
57+
* fix potential leak of context on JRuby and Java 7
58+
59+
concurrent-ruby-edge:
60+
61+
* Add finalized Concurrent::Cancellation
62+
* Add finalized Concurrent::Throttle
63+
* Add finalized Concurrent::Promises::Channel
64+
* Add new Concurrent::ErlangActor
65+
66+
## Release v1.1.4 (14 Dec 2018)
67+
68+
* (#780) Remove java_alias of 'submit' method of Runnable to let executor service work on java 11
69+
* (#776) Fix NameError on defining a struct with a name which is already taken in an ancestor
70+
71+
## Release v1.1.3 (7 Nov 2018)
72+
73+
* (#775) fix partial require of the gem (although not officially supported)
74+
75+
## Release v1.1.2 (6 Nov 2018)
76+
77+
* (#773) more defensive 1.9.3 support
78+
79+
## Release v1.1.1, edge v0.4.1 (1 Nov 2018)
80+
81+
* (#768) add support for 1.9.3 back
82+
83+
## Release v1.1.0, edge v0.4.0 (31 OCt 2018) (yanked)
84+
85+
* (#768) yanked because of issues with removed 1.9.3 support
86+
87+
## Release v1.1.0.pre2, edge v0.4.0.pre2 (18 Sep 2018)
88+
89+
concurrent-ruby:
90+
91+
* fixed documentation and README links
92+
* fix Set for TruffleRuby and Rubinius
93+
* use properly supported TruffleRuby APIs
94+
95+
concurrent-ruby-edge:
96+
97+
* add Promises.zip_futures_over_on
98+
99+
## Release v1.1.0.pre1, edge v0.4.0.pre1 (15 Aug 2018)
100+
3101
concurrent-ruby:
4102

5-
* [Promises](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Promises.html)
103+
* requires at least Ruby 2.0
104+
* [Promises](http://ruby-concurrency.github.io/concurrent-ruby/1.1.0/Concurrent/Promises.html)
6105
are moved from `concurrent-ruby-edge` to `concurrent-ruby`
7-
* #644 Fix Map#each and #each_pair not returning enumerator outside of MRI
8-
* #659 Edge promises fail during error handling
9-
* #741 Raise on recursive Delay#value call
10-
* #727 #717 fix global IO executor on JRuby
11-
* #740 Drop support for CRuby 1.9, JRuby 1.7, Rubinius.
12-
* #737 Move AtomicMarkableReference out of Edge
13-
* #708 Prefer platform specific memory barriers
14106
* Add support for TruffleRuby
15-
* #734 Fix Array/Hash/Set construction broken on TruffleRuby
16-
* #735 Fix wrong expected exception in channel spec assertion
107+
* (#734) Fix Array/Hash/Set construction broken on TruffleRuby
108+
* AtomicReference fixed
17109
* CI stabilization
18-
* #729 Allow executor option in `Promise#then`
19-
* #725 fix timeout check to use timeout_interval
20-
* #719 update engine detection
21-
* #660 Add specs for Promise#zip/Promise.zip ordering
22-
* #654 Promise.zip execution changes
23-
* #666 Add thread safe set implementation
24-
* #651 #699 #to_s, #inspect should not output negative object IDs.
25-
* #685 Avoid RSpec warnings about raise_error
26-
* #680 Avoid RSpec monkey patching, persist spec results locally, use RSpec
27-
v3.7.0
28-
* #665 Initialize the monitor for new subarrays on Rubinius
29-
* #661 Fix error handling in edge promises
30110
* remove sharp dependency edge -> core
31111
* remove warnings
32112
* documentation updates
113+
* Exchanger is no longer documented as edge since it was already available in
114+
`concurrent-ruby`
115+
* (#644) Fix Map#each and #each_pair not returning enumerator outside of MRI
116+
* (#659) Edge promises fail during error handling
117+
* (#741) Raise on recursive Delay#value call
118+
* (#727) #717 fix global IO executor on JRuby
119+
* (#740) Drop support for CRuby 1.9, JRuby 1.7, Rubinius.
120+
* (#737) Move AtomicMarkableReference out of Edge
121+
* (#708) Prefer platform specific memory barriers
122+
* (#735) Fix wrong expected exception in channel spec assertion
123+
* (#729) Allow executor option in `Promise#then`
124+
* (#725) fix timeout check to use timeout_interval
125+
* (#719) update engine detection
126+
* (#660) Add specs for Promise#zip/Promise.zip ordering
127+
* (#654) Promise.zip execution changes
128+
* (#666) Add thread safe set implementation
129+
* (#651) #699 #to_s, #inspect should not output negative object IDs.
130+
* (#685) Avoid RSpec warnings about raise_error
131+
* (#680) Avoid RSpec monkey patching, persist spec results locally, use RSpec
132+
v3.7.0
133+
* (#665) Initialize the monitor for new subarrays on Rubinius
134+
* (#661) Fix error handling in edge promises
33135

34136
concurrent-ruby-edge:
35137

36-
* #659 Edge promises fail during error handling
138+
* (#659) Edge promises fail during error handling
37139
* Edge files clearly separated in `lib-edge`
38140
* added ReInclude
39141

0 commit comments

Comments
 (0)