5.0.3 (2023-01-12)
:release-by: Albert Wang (@albertyw) Full Changelog
Fixes:
- #46 Retain ordering, view style and limit (#614)
- #157 prevent encoding errors in params (#617)
- #594 Silk fails on constraint check queries (#618) (Fixes compatibility with Django 4.1)
Features/Enhancements:
- #132 Add action on sql query list (#611)
- traceback only when needed (#387)
Dependencies:
- #625 Drop dependency to jinja2
5.0.2 (2022-10-12)
:release-by: Albert Wang (@albertyw) Full Changelog
Fixes:
- Multipart forms and RawPostDataException (#592)
- Decrease unnecessary database hits (#587) (#588)
Features/Enhancements:
- Remove unneeded pytz package (#603)
- Use contextlib in test_profile_parser (#590)
- Add support for storages, that don't implement full filesystem path (#596)
5.0.1 (2022-07-03)
:release-by: Albert Wang (@albertyw) Full Changelog
Fixes:
- Add jquery UI 1.13.1 images and fix collectstatic (#576)
5.0.0 (2022-06-20)
:release-by: Albert Wang (@albertyw) Full Changelog
Features/Enhancements:
- Drop support for Django 2.2 (EOL) (#567)
- Added silk_request_garbage_collect command for out-of-band garbage collection. (#541)
4.4.1 (2022-07-03)
:release-by: Albert Wang (@albertyw) Full Changelog
Fixes:
- Add jquery UI 1.13.1 images and fix collectstatic (#576)
4.4.0 (2022-06-20)
:release-by: Albert Wang (@albertyw) Full Changelog
Features/Enhancements:
- Switch 'Apply' and 'Clear all filters' ordering
- Make filters on Requests tab more visible
- Add small margin for filter selects
- Add 'Clear all filters' button
- Add message when there are no requests to display
- Making the error logging more accurate and explicit
- Fixing #530 - Adding support for SILKY_EXPLAIN_FLAGS
Maintenance and Cleanup:
- Remove unused js compilation pipeline (#561)
- Fix pre-commit-config
Dependencies:
- Update jquery to 3.6.0 and jquery-ui to 1.13.1 [#508]
- [pre-commit.ci] pre-commit autoupdate (#560, #571)
- Add django-upgrade to pre-commit hooks (#566)
Moved to 5.0.0
- Drop support for Django 2.2 (EOL) (#567)
4.3.0 (2022-03-01)
:release-by: Albert Wang (@albertyw) Full Changelog
Fixes:
- Use correct db in a multi db setup (jazzband#522)
Dependencies:
- Drop support for Python 3.6
- Add Python 3.10 compatibility
- Add Django 4.0 to tox.ini
- Update django version (#544)
- Django main (#528)
- Remove unneeded dependency Pygments
Maintenance and Cleanup:
- Jazzband: Created local 'CODE_OF_CONDUCT.md' from remote 'CODE_OF_CONDUCT.md'
- fix installation instructions in README
- Replace assertDictContainsSubset (#536)
- Fix issue avoid-misusing-assert-true found at https://codereview.doctor (#550)
- pre-commit autoupdate
4.2.0 (2021-23-10)
:release-by: Asif Saif Uddin (@auvipy) Full Changelog
- #427 Passed wsgi request to SILKY_PYTHON_PROFILER_FUNC
- Added Django 3.1 & 3.2 to test matrix
- Replace url with re_path for Django 4.0
- Move CI to GitHub Actions. #460 (jezdez)
- Do not crash when silk app is not included in urls
- Add the SILKY_JSON_ENSURE_ASCII configuration item to support Chinese
- Add row view for requests page (#440)
- RequestModelFactory: fallback if request body too large, fix #162 (#451)
- Add query execution plan to sql_detail (#452)
- Add Python 3.9 compatibility (#404)
- Replace re_path with path
- Fix transaction error for mysql
- parse query when count joins to match only Keyword
- fix: DB connection to ClearDB when multiple databases
- fix: DataCollector sql_queries model not found on filter(request=self.request)
- Generate missing row.css from sass
- Filter null values from most time overall summary
- Ensure sorting between longest requests
- Filter null values from most db time summary
- Ensure sorting between most db time requests
- Temporary fix for testing Django 2.2
- Fix egg metadata error
- Fixed a bug that the profile tab could not be opened when the source code contains japanese
- fix incorrectly made decorator
- Ensure sorting between most db queries requests
- Add tests that access the actual DB (#493)
- remove python 2 style codes from across the codebase
- Fix broken test on Windows 10 (SQLite) (#504)
- Remove Make Migrations (#503)
- Add Python 3.10 compatibility (#527)
4.1.0 (2020-08-07)
New features/Implemented enhancements:
Fixed bugs:
- Capture entire key name during cleansing in _mask_credentials #414 (ThePumpingLemma)
- Clear DB error when configuring silk to use a non-' default' database #417 (eshxcmhk)
- Fix force_text RemovedInDjango40Warning #422 (justinmayhew)
Closed issues:
- _mask_credentials uses UGC in a regex substitution #410 (barm)
- Django Silk is not compatible with Django 3.1: EmptyResultSet is removed in Django 3.1 #431 (Tirzono)
Merged pull requests:
- Wrap re.sub() in try-except #412 (bambookchos)
- Replace the call to re.findall with re.sub in _mask_credentials so matched values are not treated as regex patterns #413 (ThePumpingLemma)
- Capture entire key name during cleansing in _mask_credentials #414 (ThePumpingLemma)
- Clear DB error when configuring silk to use a non-' default' database #417 (eshxcmhk)
- Fix force_text RemovedInDjango40Warning #422 (justinmayhew)
- Make compatible with Django 3.1 #432 (Tirzono)
- Update README.md django-silk is tested with Django 3.1 #433 (Tirzono)
4.0.1 (2020-03-12)
New features/Implemented enhancements:
- Restructured clear db HTML #399 (nasirhjafri)
- JS workflow cleanup #397 (nasirhjafri)
- Refactor QA setup #393 (aleksihakli)
Fixed bugs:
- docs: Fix simple typo, tracebackk -> traceback #406 (timgates42)
- Clear DB page doesn't work with PostgreSQL and SQLite #396 (nasirhjafri)
Closed issues:
Merged pull requests:
- docs: Fix simple typo, tracebackk -> traceback #406 (timgates42)
- Restructured clear db HTML #399 (nasirhjafri)
- JS workflow cleanup #397 (nasirhjafri)
- Clear DB page doesn't work with PostgreSQL and SQLite #396 (nasirhjafri)
- Refactor QA setup #393 (aleksihakli)
4.0.0 (2020-01-09)
New features/Implemented enhancements:
- Ability to clean up all requests/queries #368 (nasirhjafri)
- Used bulk_create to save number of queries #370 (nasirhjafri)
- Dropped Python 2 and 3.4 support #380 (munza)
- Added Python 3.8 support #380 (nasirhjafri)
- Removed django<2.2 support and added django 3.0 support #385 (nasirhjafri)
- Add function support for enabling profiling #391 (tredzko)
Fixed bugs:
- Mask authorization header #376 (StefanMich)
Closed issues:
- Ability to clean up all requests/queries #365
- Use bulk_create to save number of queries #369
- Headers are not sanitized #375
- Django 3 support #382
- Support functional cProfile enable #390
Merged pull requests:
- Mask authorization header #376 (StefanMich)
- Ability to clean up all requests/queries #368 (nasirhjafri)
- Used bulk_create to save number of queries #370 (nasirhjafri)
- Dropped Python 2 and 3.4 support #380 (munza)
- Added Python 3.8 support #380 (nasirhjafri)
- Removed django<2.2 support and added django 3.0 support #385 (nasirhjafri)
- Add function support for enabling profiling #391 (tredzko)
3.0.4 (2019-08-12)
Implemented enhancements:
- templates: limit select width to its container one #351 (xrmx)
- Clean up RemovedInDjango30Warning with {% load staticfiles %} #353 (devmonkey22)
- Simplify pattern masking and handle dicts #355 (Chris7)
Fixed bugs:
- Fix masking sensitive data in batch JSON request #342 (nikolaik)
- Fix project url on PyPi #343 (luzfcb)
Closed issues:
- Clean up RemovedInDjango30Warning warning re
load staticfiles
in Django 2.1+ #352
Merged pull requests:
- Fix masking sensitive data in batch JSON request #342 (nikolaik)
- Fix project url on PyPi #343 (luzfcb)
- templates: limit select width to its container one #351 (xrmx)
- Clean up RemovedInDjango30Warning with {% load staticfiles %} #353 (devmonkey22)
- Simplify pattern masking and handle dicts #355 (Chris7)
3.0.2 (2019-04-23)
Implemented enhancements:
Fixed bugs:
- Long url path causes Http 500 #312
Closed issues:
- Permission checking is skipped due to order of silk_profile decorator #336
- Support gprof2dot 2017.09.19 #332
- Duplicate #310 #328
- Profiling management commands #327
- NoReverseMatch at /cart/detail/ Reverse for 'cart_add' with arguments not found. #324
- Request body sanitization #305
- How to profile middleware? #303
- Disabling Silk for specific URLs #292
- silk_clear_request_log fails on Postgres #290
- silk profile is not work, with dango-version 2.0.2 and django-silk version 2.0.0 #277
- DataError: value too long for type character varying(190) #179
Merged pull requests:
- Update gprof2dot requirement #333 (Regzon)
- Make Request.garbage_collect cheaper #331 (xrmx)
- Sort view filters values #330 (xrmx)
- Update Travis CI matrix #326 (kevin-brown)
- Fix unit for max response body size in readme #325 (st4lk)
- Mask sensitive data #322 (egichuri)
- Disclose security issues #321 (acu192)
- If there is no DataCollector().request then don't wrap sql queries #320 (rwlogel)
- Prevent path or view_name being longer than 190 characters #314 (smaccona)
- Disable postgres USER triggers #299 (gforcada)
- Fix #297 remove explicit byte string from migration 0003 #298 (florianm)
- Modernize middleware #296 (gforcada)
- Added a simple view in request detail context allowing to get python profile #295 (laurentb2)
3.0.1 (2018-07-03)
Closed issues:
Merged pull requests:
- #290 Fix silk_clear_request_log errors on Postgres #291 (devmonkey22)
3.0.0 (2018-05-15)
Implemented enhancements:
- Limiting request/response data don't available in pypi version #218
Fixed bugs:
- silk_clear_request_log taking longer than 30 minutes #239
Closed issues:
- Meta profiling does not work with Django 2.0 and higher #274
- Force opening a new window for SQL queries is very annoying #271
- DB Deadlock when stress testing with silk #265
- proplem with propagating code to pypi #264
- PSA: Cleanup silk_requests before updating to 1.1.0 #261
- Release 2.0.0 #259
Merged pull requests:
- Remove gitter links #285 (albertyw)
- Release 3.0.0 #283 (albertyw)
- Fix garbage collection logic for small tables #280 (albertyw)
- Fix view name #278 (drppi44)
- Revert "Opening sql queries in new tab is very useful" #276 (albertyw)
- Fix issue #274 #275 (MKolman)
- Truncate tables when running silk_clear_request_log #270 (albertyw)
- Makes example_app.models.Product.photo.upload_to a string instead of bytes #268 (vbawa)
- Make garbage collection filter more efficient #267 (albertyw)
- Drop support for Django < 1.11 and remove workarounds #266 (jdufresne)
2.0.0 (2018-01-16)
Fixed bugs:
- Links for Readme.md not working. #250
Closed issues:
- pypi version #252
- Remove support for django 1.7 #247
- migrations/0005_increase_request_prof_file_length.py does not match code #244
- Excessive number of queries in class method profile #240
- Django 2.0 support #229
- Create new release of silk #187
Merged pull requests:
- Release 2.0.0 #260 (albertyw)
- function declaration fix #254 (Yolley)
- Opening sql queries in new tab is very useful #253 (lokeshatbigbasket)
- Use force_text in ResponseModelFactory to avoid b' prefix in django 2 #251 (aadu)
- Remove django support 1.7 #249 (albertyw)
- Remove django 1.6 references #248 (albertyw)
- Update development status and python support to package classifiers #246 (albertyw)
- fix migration for request.prof_file field #245 (dennybiasiolli)
- fix alternative github tags installation url #243 (dennybiasiolli)
1.1.0 (2017-12-27)
Implemented enhancements:
- RemovedInDjango20Warning: on_delete will be a required arg for OneToOneField in Django 2.0. #183
- README missing info about how to import decorator #180
- Use redis for backend #163
- Difficult to install on windows: Needs wheels. #149
- Organise cProfile output as a sortable, more organised table. #33
Closed issues:
- Silk is incompatible with django-fullclean #219
- The dashboard shows views with no queries as most time taken in database #217
- No end_time for any captured request #213
- Bad alignment in profile table #206
- Visualization not visible #205
- Storage class as a setting #202
- Consider moving project to jazzband #184
- Request detail page never loads #175
- Number of queries and time showing as 0 #174
- NameError: name 'silk_profile' is not defined #172
- Query time-outs #158
Merged pull requests:
- Release 1.1.0 #242 (albertyw)
- Update package versions for test project #241 (albertyw)
- Return immediately #235 (Stranger6667)
- Fix missing db_time field #234 (albertyw)
- Test django 2 in travis #233 (albertyw)
- Lint silk directory and fix a python 3 blocker #232 (albertyw)
- Fix flaky test by rounding off floats #231 (albertyw)
- Fix github silk links to point to jazzband #230 (albertyw)
- Update docs to clarify how to install the middleware #228 (albertyw)
- Fix Django 2 deprecations #227 (albertyw)
- Add extra documentation covering environment variables and running tests #226 (richardnias)
- Filter out views that took no time in the database for the most time … #225 (hvdklauw)
- Removed typo errors and fixed contractions #222 (basifat)
- gprof2dot had a breaking change in 2017.09.19 #221 (richardnias)
- Allow prof_file to be blank, not null #220 (richardnias)
- Changed the theme of gprof2dot output to be more inline with rest of silk design #210 (danielbradburn)
- configurable storage class #204 (smcoll)
- increase Request.prof_file max_length to 300 #203 (smcoll)
- #33 organise cprofile output as a sortable table #200 (danielbradburn)
- left align pre tag text #199 (smcoll)
- add .venv* to .gitignore #198 (danielbradburn)
- Add missing gprof2dot to setup.py #197 (danielbradburn)
- README changes for visualisation and sql summary table sorting #195 (danielbradburn)
- Added UI element to filter requests by http verb #194 (danielbradburn)
- Sortable sql table #193 (danielbradburn)
- Visualize profile result #192 (danielbradburn)
- Added status code filter #191 (danielbradburn)
- Set jazzband to limit the number of rows of request/response data #190 (albertyw)
- Add python 3.6 to travis config #189 (albertyw)
- Add explicit on_delete to foreign key and one to one relationships #188 (albertyw)
- Replace django-silk organization with jazzband #186 (albertyw)
- Jazzband migration #185 (mtford90)
- Deprecation: update to warning #177 (lammertw)
- Add text-align property to pyprofile class for readability #176 (jeffreyckchau)
- Mention collectstatic #173 (goetzk)
1.0.0 (2017-03-25)
Fixed bugs:
- Silk shows 0 time for all requests? #161
- Failed to install index for silk.Request model: (1071, 'Specified key was too long; max key length is 767 bytes') #38
- IntegrityError: duplicate key value violates unique constraint "silk_response_request_id_key" #26
Closed issues:
- There is no reference to download a profile #170
- Build fails occasionally due to "missing manage.py" #32
Merged pull requests:
- Fixes #170 #171 (perdy)
- Wheel support #168 (auvipy)
- Improved MySQL support #167 (smaccona)
- some style improvements #166 (auvipy)
- Update travis matrix and requirments dependencies versions #165 (auvipy)
- Fixes #161 #164 (perdy)
0.7.3 (2017-02-13)
Fixed bugs:
- Profiling files get copied into MEDIA_ROOT #151
- Bad requirements for postgres based installations #142
Closed issues:
- Middleware setting in Django 1.10 #159
- When installing silk asking for mysql library. But I'm using postgresql. #150
- No Silk profiling was performed for this request. Use the silk_profile decorator/context manager to do so. #147
- ProgrammingError on postgresql #146
- [Error][Bug]adding silk middleware in MIDDLEWARE causes ImportError #108
Merged pull requests:
- Update middleware setting for Django >= 1.10 #160 (ukjin1192)
- Add favorite icons #156 (phuong)
- Bugfix for issue #153 #155 (Drache91)
- Improve profile storage #152 (r3m0t)
0.7.2 (2016-12-03)
Closed issues:
- Pypi version upload #141
Merged pull requests:
- Allow using Django 1.10 MIDDLEWARE setting instead of MIDDLEWARE_CLASSES #148 (lockie)
- Travis config to test on the different django database backends. #145 (mattjegan)
- Updates exception handling to use Django DatabaseError class #144 (hanleyhansen)
- Fix for byte string incompatibility in ResponseModelFactory.body() on py3 #143 (aljp)
0.7.1 (2016-10-01)
Merged pull requests:
- Operational Error When Silk Is Used On Big SQL Queries #140 (hanleyhansen)
0.7.0 (2016-09-21)
Implemented enhancements:
- Select a path to save profiling files #131
Merged pull requests:
- Remove trailing slashes in MANIFEST.in #139 (leifdenby)
- Django 1.10 compatibility #138 (shanx)
- Swap imports to avoid emitting warnings #136 (blag)
- Profiler files path configurable #135 (javaguirre)
- Fix ignored content body #134 (aehlke)
- Namespaced loggers #133 (aehlke)
0.6.2 (2016-07-28)
Closed issues:
- SnakeViz integration #83
Merged pull requests:
0.6.1 (2016-07-13)
Closed issues:
- Latest version of django-silk not installing because of missing dependency #127
- README.md missing in v0.6 #125
Merged pull requests:
0.6.0 (2016-07-12)
Closed issues:
- Local Dev of Silk. Template Error. #121
- Using django six rather then maintaining one #112
- PyPi release #106
Merged pull requests:
- update pillow requirement so installation succeeds #124 (SzySteve)
- Give users the ability to export .prof binary files for every request #123 (hanleyhansen)
- Make Silk Great Again and Upgrade Dev Project #122 (hanleyhansen)
- make file paths clickable that don't start with a slash #120 (chrono)
- clear data store in chunks #119 (chrono)
- remove claim to support django 1.6 #118 (chrono)
- removed six six utils and tests #117 (auvipy)
- used django utils six instead of sils utls six in some module #116 (auvipy)
- Lint fix and code cleaning #114 (auvipy)
- small updates #113 (auvipy)
- Render function instead of render_to_response #111 (auvipy)
- remove south migrations as not needed in less then 1.7 #110 (auvipy)
- versions upgrade and obsolete versions removal #109 (auvipy)
- Supporting django<1.8 #107 (wm3ndez)
0.5.7 (2016-03-16)
Implemented enhancements:
- Unittesting #87
- Add Ascending/Descending sort order GET parameter in RequestsView #84
- Support binary response bodies #1
Fixed bugs:
- TemplateSyntaxError at /silk/ Invalid filter: 'silk_date_time' #82
Closed issues:
- base64 encoded responses break unit tests for Python3 #98
- Refactor Unit Tests to test new sort ordering structure. #96
- Running tests from the Travis config file fails because of difference in django-admin/manage.py #91
- Support for missing URL names in Django 1.8 and 1.9 #89
- UnicodeDecodeError in sql.py: leads to 500 internal error #85
Merged pull requests:
- remove simplejson #105 (digitaldavenyc)
- Fixing Depreciation, Saving and Performance Tweaks #104 (Wrhector)
- Django 1.9 compatibility for the csrf context processor #100 (blag)
- URL patterns are just Python lists for Django 1.9+ #99 (blag)
- Refactor Unit Tests to test new sort ordering structure. #97 (trik)
- Add Ascending/Descending sort order GET parameter in RequestsView #95 (trik)
- Response bodies are now stored b64 encoded (support for binary responses). #94 (trik)
- Unittests for models #93 (Alkalit)
- Conditional migration tests #92 (florisdenhengst)
- Added support for missing URL names in Django 1.8-1.9. #90 (florisdenhengst)
- Avoid errors when doing migrate command #86 (msaelices)
- Namespace templatetags so they don't clash with existing application templatetags #81 (lmortimer)
- Added the use of Lambdas in settings.py to the README. #77 (bryson)
0.5.6 (2015-09-06)
Closed issues:
- Post-processing static assets fails due to missing font files #51
Merged pull requests:
- Fixed report handling timing not included in meta-timing #76 (rodcloutier)
- Support UUID in request headers #75 (rodcloutier)
- test on latest django versions in travis #72 (nikolas)
0.5.5 (2015-06-04)
Fixed bugs:
- Pin six.py within silk to avoid version incompatibility. #70
Closed issues:
- IntegrityError: NOT NULL constraint failed: silk_request.view_name #71
0.5.3 (2015-06-04)
Closed issues:
- null value in column "view_name" violates not-null constraint #66
- Migrations do not work with Django 1.5.9 #64
Merged pull requests:
- It's not random, is it? #69 (peterbe)
- Fix issue when view_name was Null #67 (bartoszhernas)
0.5.2 (2015-04-15)
Merged pull requests:
- Update model_factory.py #62 (karabijavad)
0.5.1 (2015-04-08)
Implemented enhancements:
- UTC time in templates #49
Fixed bugs:
- AttributeError: This StreamingHttpResponse instance has no
content
attribute #50
Closed issues:
0.5 (2015-04-08)
Implemented enhancements:
- 'thread._local' object has no attribute 'temp_identifier' (should log a warning stating that this is likely a middleware issue) #52
- Check to see if process_request of SilkyMiddleware has been called, and issue warnings on middleware placement if not #42
- Django 1.7 support #29
Fixed bugs:
- Django 1.5 support broken #60
Closed issues:
- Tests broken #61
- Deploying silk site-wide #56
- Migration error #54
- Silky doesn't work when django.middleware.gzip.GZipMiddleware is enabled #43
- static files not found problem #41
- No handlers could be found for logger "silk" #35
Merged pull requests:
- Add configuration option for custom intercept logic. #59 (kkaehler)
- commit_on_success -> atomic, for 1.8, as commit_on_success was removed #58 (karabijavad)
- Update README.md #57 (karabijavad)
- Add a Gitter chat badge to README.md #48 (gitter-badger)
- Tox integration added #47 (brmc)
- Edited ReadMe.md to avoid UnicodeDevodeError #44 (brmc)
- Added utf8 in curl query parameters #39 (ilvar)
- Revert "Fix errors in manifest file" #37 (mtford90)
- Fix IntegrityError caused by Request being saved 'None' raw_body #36 (JannKleen)
- Fix errors in manifest file #34 (joaofrancese)
v0.4 (2014-08-17)
Closed issues:
- Live demo link is broken #30
Merged pull requests:
0.3.2 (2014-07-22)
Fixed bugs:
Closed issues:
Merged pull requests:
- Added tests for _should_intercept and fixed bug with requests not being ... #28 (mackeian)
- Added missing requirement for running tests: mock #27 (mackeian)
0.3.1 (2014-07-05)
Implemented enhancements:
Fixed bugs:
- Conform to charset flag in Content-Type header of request/response #20
- HttpRequest body has UTF-8 Character causes UnicodeDecodeError ? #19
Closed issues:
- Problems with
six.moves.urllib
#22 - Incorrect string value: '\xCE\xBB, \xCF\x86...' for column 'raw_body' at row 1 #21
- Silk fails on binary staticfiles content #16
- Silk's static assets are served from the wrong path #11
0.3 (2014-06-17)
V0.2.2 (2014-06-13)
v0.2.2 (2014-06-13)
Closed issues:
- request: timestamp on list of requests #15
- AttributeError: 'thread._local' object has no attribute 'temp_identifier' #12
v0.2 (2014-06-12)
Fixed bugs:
- Stacktrace inspector allows users to see any file on the filesystem #10
v0.1.1 (2014-06-07)
Closed issues:
- Pip install direct from repo fails #9
- urls.py uses incorrect regex expressions #7
- requirements.txt must specify exact versions or version upper bounds #6
- Switch to PyPI for managing releases #4
Merged pull requests:
v0.1 (2014-06-06)
* *This Change Log was automatically generated by github_changelog_generator*⏎