You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Last week there were 12 commits.
🛠️ [CircleCI workflow improvements (#4296) * CircleCI workflow improvements
Don't automatically build the Docker image.
Make the Python lint step requirement for the follow up steps. When it fails it usually means there is a code error which will prevent the next steps anyway.
No backward compatibility with Python 2.7 is kept.
This commit mostly contains changes made with 2to3 and manual
tweaking when necessary.
Use Python 3.7 as base docker image
Since it is not possible to change redash/base:debian to Python 3
without breaking future relases, its Dockerfile is temporarly
copied here.
Upgrade some requirements to newest versions
Some of the older versions were not compatible with Python 3.
Migrate tests to Python 3
Build frontend on Python 3
Make the HMAC sign function compatible with Python 3
In Python 3, HMAC only works with bytes so the strings and the
float used in the sign function need to be encoded.
Hopefully this is still backward compatible with already generated
signatures.
Remove redundant encoding header for Python 3 modules
Remove redundant string encoding in CLI
Rename list() functions in CLI
These functions shadow the builtin list function which is
problematic since 2to3 adds a fair amount of calls to the builtin
list when it finds dict.keys() and dict.values().
Only the Python function is renamed, from the perspective of the
CLI nothing changes.
Replace usage of Exception.message in CLI
message is not available anymore, instead use the string
representation of the exception.
psycopg2 returns buffer objects in Python 2.7 and memoryview
in Python 3. See #3156
Fix test relying on object address ordering
Decode bytes returned from Redis
Stop using e.message for most exceptions
Exception.message is not available in Python 3 anymore, except
for some exceptions defined by third-party libraries.
Fix writing XLSX files in Python 3
The buffer for the file should be made of bytes and the actual
content written to it strings.
Note: I do not know why the diff is so large as it's only a two
lines change. Probably a white space or file encoding issue.
Fix test by comparing strings to strings
Fix another exception message unavailable in Python 3
Fix export to CSV in Python 3
The UnicodeWriter is not used anymore. In Python 3, the interface
provided by the CSV module only deals with strings, in and out.
The encoding of the output is left to the user, in our case
it is given to Flask via make_response.
Make sure Redis connection uses decoded_responses option
Remove unused imports.
Use Redis' decode_responses option
Remove cases of explicit Redis decoding
Rename helper function and make sure it doesn't apply twice.
Don't add decode_responses to Celery Redis connection URL
Fix displaying error while connecting to SQLite
The exception message is always a string in Python 3, so no
need to try to decode things.
Fix another missing exception message
Handle JSON encoding for datasources returning bytes
SimpleJSON assumes the bytes it receives contain text data, so it
tries to UTF-8 encode them. It is sometimes not true, for instance
the SQLite datasource returns bytes for BLOB types, which typically
do not contain text but truly binary data.
This commit disables SimpleJSON auto encoding of bytes to str and
instead uses the same method as for memoryviews: generating a
hex representation of the data.
Removed setting SERVER_NAME in tests setup to avoid a warning.
Change get_next_path to not return empty string in case of a domain only value.
Fix redirect tests:
Since version 0.15 of Werkzeug it uses full path for fixing the location header instead of the root path.
Remove explicit dependency for Werkzeug
Switched pytz and certifi to unbinded versions.
Switch to new library for getting country from IP
python-geoip-geolite2 is not compatible with Python 3, instead
use maxminddb-geolite2 which is very similar as it includes
the geolite2 database in the package .
Here's the Weekly Digest for getredash/redash:
ISSUES
Last week 34 issues were created.
Of these, 14 issues have been closed and 20 issues are still open.
OPEN ISSUES
💚 #4303 Reduce refresh_queries's memory usage, by rauchy
💚 #4302 Restarting rq-scheduler reschedules all periodics, by rauchy
💚 #4301 Adjust RQ job priorities, by rauchy
💚 #4299 Admin status page's current tab does not preserve, by rauchy
💚 #4298 Auto-refresh admin status page, by rauchy
💚 #4297 Black support for the Python codebase, by arikfr
💚 #4295 Fix: number based alerts evaluation isn't working, by arikfr
💚 #4294 Update caniuse-lite, by arikfr
💚 #4293 New Elasticsearch query runner, by arikfr
💚 #4292 Split Dockerfile for production, by koooge
💚 #4291 Scatter Plot doesn't honor data label format, by susodapop
💚 #4290 Occuring 'SSL Connection Error: ASN' if using rds-ca-2019, by ikenji
💚 #4289 Dashboard parameter mapping: can't map different dropdown lists, by susodapop
💚 #4287 Fix Redash 8 requirements..., by Jakdaw
💚 #4286 Make Cypress tests work with [email protected], by arikfr
💚 #4285 refreshing snowflake schema w/o waking cluster, by monicagangwar
💚 #4279 Number-based alerts are broken, by susodapop
💚 #4278 Migrate Map visualization to React, by kravets-levko
💚 #4276 New feature - Alert muting, by ranbena
💚 #4270 Migrate Cohort visualization to React, by kravets-levko
CLOSED ISSUES
❤️ #4300 Show more workers per page, by rauchy
❤️ #4296 CircleCI workflow improvements, by arikfr
❤️ #4288 Use rq_redis_connection instead of redis_connection, by rauchy
❤️ #4284 Pin Cypress version, by arikfr
❤️ #4283 Extend result_ttl for refresh_queries, by rauchy
❤️ #4282 All database error messages are identical, by susodapop
❤️ #4281 Python 3 RQ modifications, by rauchy
❤️ #4280 Fix get_next_path tests, by arikfr
❤️ #4277 Apply test, by nitch193
❤️ #4275 Reduce RQ status load time (Python 3), by rauchy
❤️ #4274 Minor alert bug fixes, by ranbena
❤️ #4273 Extracted alert menu button, by ranbena
❤️ #4272 Fix impala connection, by foxdalas
❤️ #4269 quarterly interval in cohort, by thuanbvv
LIKED ISSUE
👍 #4290 Occuring 'SSL Connection Error: ASN' if using rds-ca-2019, by ikenji
It received 👍 x2, 😄 x0, 🎉 x0 and ❤️ x0.
NOISY ISSUE
🔈 #4279 Number-based alerts are broken, by susodapop
It received 8 comments.
PULL REQUESTS
Last week, 43 pull requests were created, updated or merged.
UPDATED PULL REQUEST
Last week, 29 pull requests were updated.
💛 #4297 Black support for the Python codebase, by arikfr
💛 #4285 refreshing snowflake schema w/o waking cluster, by monicagangwar
💛 #4276 New feature - Alert muting, by ranbena
💛 #4270 Migrate Cohort visualization to React, by kravets-levko
💛 #4267 Migrate Funnel visualization to React, by kravets-levko
💛 #4264 Parameter input feedback, by ranbena
💛 #4228 Migrate Dashboard to React, by gabrieldutra
💛 #4203 Migrate Public Dashboard Page to React, by gabrieldutra
💛 #4139 Migrate Chart visualization to React Part 2: Editor, by kravets-levko
💛 #3614 Force saml auth scheme, by leosunmo
💛 #3605 Schema Viewer Drawer, by emtwo
💛 #3604 Fix time parameter and add time units for prometheus query runner, by veerkat
💛 #3558 Add global options for data sources., by emtwo
💛 #3527 Closes #3497: Show correct values on hover of scatterplot., by emtwo
💛 #3516 Fix Impala connection issue while enables LDAP, by DeanThompson
💛 #3454 Avoid reporting bad requests to Sentry, by rauchy
💛 #3443 “Add Widget” Dialog steps, by ranbena
💛 #3409 Show query execution status at page load if query is running, by washort
💛 #3401 Add a data source description as hover text, by emtwo
💛 #3303 add thrift version 0.9.3 to requirements, by alon710
💛 #3293 Allow queries to be associated with tables as samples, by emtwo
💛 #3292 Closes #3192: Add data source config options., by emtwo
💛 #3226 LDAP dynamic Bind DN, by 2union
💛 #3178 WIP: Query metadata and execution status as React components, by washort
💛 #3140 WIP: implement schema browser as a react component, by spasovski
💛 #2652 don't autoexecute query on changing datasource, by alison985
💛 #2538 MsSql query_runner: Commit the transaction for inserts & Updates, by mattdjones
💛 #2478 [WIP] Excel & CSV query runner, by deecay
💛 #1424 Added support for running MongoDB queries on secondary in replicaset mode, by erans
MERGED PULL REQUEST
Last week, 14 pull requests were merged.
💜 #4296 CircleCI workflow improvements, by arikfr
💜 #4288 Use rq_redis_connection instead of redis_connection, by rauchy
💜 #4284 Pin Cypress version, by arikfr
💜 #4283 Extend result_ttl for refresh_queries, by rauchy
💜 #4281 Python 3 RQ modifications, by rauchy
💜 #4280 Fix get_next_path tests, by arikfr
💜 #4274 Minor alert bug fixes, by ranbena
💜 #4273 Extracted alert menu button, by ranbena
💜 #4262 Show worker's current job, by rauchy
💜 #4257 Reduce RQ status load time, by rauchy
💜 #4256 Monitor general RQ queues (default, periodic and schemas), by rauchy
💜 #4251 Migrate the application to Python 3, by NicolasLM
💜 #4175 Migrate Table visualization to React Part 2: Editor, by kravets-levko
💜 #4049 Introduce inheritance to the Parameter structure, by gabrieldutra
COMMITS
Last week there were 12 commits.
🛠️ [CircleCI workflow improvements (#4296) * CircleCI workflow improvements
Fix YAML syntax error.
Add separate build Docker image step for master branch](88ae639) by arikfr
🛠️ use rq_redis_connection instead of redis_connection (#4288) by rauchy
🛠️ [Migrate Table visualization to React Part 2: Editor (Migrate Table visualization to React Part 2: Editor #4175) * Migrate table editor to React: skeleton, Grid tab
Columns tab
Cleanup
Columns tab: DnD column sorting
Columns types should be JSX
New Columns tab UI/X
Use Sortable component on Columns tab
Tests: Grid Settings
Tests: Columns Settings
Tests: Editors for Text, Number, Boolean and Date/Time columns
Tests: Editors for Image and Link columns
Minor UI fix
Trigger build
Debounce inputs](7157244) by kravets-levko
🛠️ [Introduce inheritance to the Parameter structure (Introduce inheritance to the Parameter structure #4049) * Start draft for new Parameter structure
Add the rest of the methods
EnumParameter
QueryBasedDropdownParameter
DateParameter
DateRangeParameter
Update Parameter usage on code
Merge dynamicValue into normalizedValue
Add updateLocals and omit unwanted props
Allow null NumberParameter and omit parentQueryId
Rename parameter getValue to getExecutionValue
Update $$value to normalizedValue + omit on save
Add a few comments
Remove ngModel property from Parameter
Use value directly in DateRangeParameter
Use simpler separator for DateRange url param
Add backward compatibility
Use normalizeValue null value for isEmpty
Start creating jest tests
Add more tests
Normalize null value for multi mode in Enum
Use saved value for param isEmpty](9f78446) by gabrieldutra
🛠️ [Migrate the application to Python 3 (Migrate the application to Python 3 #4251) * Make core app compatible with Python 3
No backward compatibility with Python 2.7 is kept.
This commit mostly contains changes made with 2to3 and manual
tweaking when necessary.
Since it is not possible to change redash/base:debian to Python 3
without breaking future relases, its Dockerfile is temporarly
copied here.
Some of the older versions were not compatible with Python 3.
Migrate tests to Python 3
Build frontend on Python 3
Make the HMAC sign function compatible with Python 3
In Python 3, HMAC only works with bytes so the strings and the
float used in the sign function need to be encoded.
Hopefully this is still backward compatible with already generated
signatures.
The latter is not available in Python 3.
See https://bugs.python.org/issue17866
Remove redundant encoding header for Python 3 modules
Remove redundant string encoding in CLI
Rename list() functions in CLI
These functions shadow the builtin list function which is
problematic since 2to3 adds a fair amount of calls to the builtin
list when it finds dict.keys() and dict.values().
Only the Python function is renamed, from the perspective of the
CLI nothing changes.
message
is not available anymore, instead use the stringrepresentation of the exception.
Adapt test handlers to Python 3
Fix test that relied on dict ordering
Make sure test results are always uploaded (Make sure test results are always uploaded #4215)
Support encoding memoryview to JSON
psycopg2 returns
buffer
objects in Python 2.7 andmemoryview
in Python 3. See #3156
Fix test relying on object address ordering
Decode bytes returned from Redis
Stop using e.message for most exceptions
Exception.message is not available in Python 3 anymore, except
for some exceptions defined by third-party libraries.
The buffer for the file should be made of bytes and the actual
content written to it strings.
Note: I do not know why the diff is so large as it's only a two
lines change. Probably a white space or file encoding issue.
Fix test by comparing strings to strings
Fix another exception message unavailable in Python 3
Fix export to CSV in Python 3
The UnicodeWriter is not used anymore. In Python 3, the interface
provided by the CSV module only deals with strings, in and out.
The encoding of the output is left to the user, in our case
it is given to Flask via
make_response
.(Python 3) Use Redis' decode_responses=True option ((Python 3) Use Redis' decode_responses=True option #4232)
Fix test_outdated_queries_works_scheduled_queries_tracker (use utcnow)
Make sure Redis connection uses decoded_responses option
Remove unused imports.
Use Redis' decode_responses option
Remove cases of explicit Redis decoding
Rename helper function and make sure it doesn't apply twice.
Don't add decode_responses to Celery Redis connection URL
Fix displaying error while connecting to SQLite
The exception message is always a string in Python 3, so no
need to try to decode things.
Fix another missing exception message
Handle JSON encoding for datasources returning bytes
SimpleJSON assumes the bytes it receives contain text data, so it
tries to UTF-8 encode them. It is sometimes not true, for instance
the SQLite datasource returns bytes for BLOB types, which typically
do not contain text but truly binary data.
This commit disables SimpleJSON auto encoding of bytes to str and
instead uses the same method as for memoryviews: generating a
hex representation of the data.
Fix Python 3 compatibility with RQ
Revert some changes 2to3 tends to do (Revert some changes 2to3 tends to do #4261)
Revert some changes 2to3 tends to do when it errs on the side of caution regarding dict view objects.
Also fixed some naming issues with one character variables in list comprehensions.
Fix Flask warning.
Upgrade dependencies
Remove useless
iter
added by 2to3Fix get_next_path tests (Fix get_next_path tests #4280)
Removed setting SERVER_NAME in tests setup to avoid a warning.
Change get_next_path to not return empty string in case of a domain only value.
Fix redirect tests:
Since version 0.15 of Werkzeug it uses full path for fixing the location header instead of the root path.
Remove explicit dependency for Werkzeug
Switched pytz and certifi to unbinded versions.
Switch to new library for getting country from IP
python-geoip-geolite2
is not compatible with Python 3, insteaduse
maxminddb-geolite2
which is very similar as it includesthe geolite2 database in the package .
Python 3 RQ modifications (Python 3 RQ modifications #4281)
show current worker job (alongside with minor cosmetic column tweaks)
avoid loading entire job data for queued jobs
track general RQ queues (default, periodic and schemas)
get all active RQ queues
call get_celery_queues in another place
merge dicts the Python 3 way
extend the result_ttl of refresh_queries to 600 seconds to allow it to continue running periodically even after longer executions
Remove legacy Python flake8 tests](246eca1) by NicolasLM
🛠️ Pin Cypress version (#4284) by arikfr
🛠️ extend the result_ttl of refresh_queries to 600 seconds to allow it to continue running periodically even after longer executions (#4283) by rauchy
🛠️ [Monitor general RQ queues (default, periodic and schemas) (Monitor general RQ queues (default, periodic and schemas) #4256) * track general RQ queues (default, periodic and schemas)
get all active RQ queues
call get_celery_queues in another place](43b35b6) by rauchy
🛠️ avoid loading entire job data for queued jobs (#4257) by rauchy
🛠️ show current worker job (alongside with minor cosmetic column tweaks) (#4262) by rauchy
🛠️ Minor alert bug fixes (#4274) by ranbena
🛠️ Extracted alert menu button (#4273) by ranbena
CONTRIBUTORS
Last week there were 6 contributors.
👤 arikfr
👤 rauchy
👤 kravets-levko
👤 gabrieldutra
👤 NicolasLM
👤 ranbena
STARGAZERS
Last week there were 63 stagazers.
⭐ Cyyking
⭐ zclongpop123
⭐ masums
⭐ haymanyu
⭐ prabh-me
⭐ haugene
⭐ jf826916
⭐ ebongzzang
⭐ chideat
⭐ boldarli
⭐ Yun-xi
⭐ 1240288959
⭐ ryanrandell
⭐ ioniconline
⭐ gumiho-bai
⭐ abhinavs
⭐ vannn0512
⭐ tutuai
⭐ NETZkultur
⭐ fcschmidt
⭐ onoma2
⭐ PingjieTang
⭐ MFornander
⭐ vaniisgh
⭐ ladnack
⭐ chw2054
⭐ jstoobz
⭐ Fity
⭐ smodin
⭐ wangzaidali
⭐ niakki
⭐ phammanh029
⭐ AcidGo
⭐ rainbo
⭐ vrodic
⭐ jkkitakita
⭐ CLannadZSY
⭐ augiwan
⭐ itman209
⭐ roens
⭐ dyelton
⭐ oleggator
⭐ ybscypress
⭐ stanxia
⭐ donvito
⭐ naivefun
⭐ jsrpy
⭐ transwalle
⭐ neilcamilleri
⭐ viclyliu
⭐ clyhs
⭐ cryoz
⭐ strorch
⭐ taisukemino
⭐ idohurvitz
⭐ dmckeone
⭐ syshlang
⭐ mher
⭐ rivoobmab
⭐ jlgore
⭐ zhouxm
⭐ francolavayendev
⭐ Sys0MKNR
You all are the stars! 🌟
RELEASES
Last week there were no releases.
That's all for last week, please 👀 Watch and ⭐ Star the repository getredash/redash to receive next weekly updates. 😃
You can also view all Weekly Digests by clicking here.
The text was updated successfully, but these errors were encountered: