Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.21.0 #677

Merged
merged 97 commits into from
Oct 11, 2022
Merged

Release 1.21.0 #677

merged 97 commits into from
Oct 11, 2022

Conversation

DeeDeeG
Copy link
Contributor

@DeeDeeG DeeDeeG commented Oct 10, 2022

Changelog

DeeDeeG (2):
Update Dependencies for May 2022 (#673)
Update dependencies for early October 2022 (#676)

Ernesto Tagwerker (1):
Fixes Apple M1 Issue w/ Docker (#672)

Mikena Wood (1):
update to new maps public key (#675)

Note

PR #675 updated Rails from 5.x to 6.x, and Ruby from 2.x to 3.x. And it also bumped many Ruby gems to much newer versions.

For that reason, I picked version number 1.21.0 to indicate this is a minor release rather than a patch release.

Checklist

  • Tested Mobile Responsiveness
  • Added Unit Tests
  • CI Passes
  • Deploys to Heroku on test Correctly (Maintainers will handle)
  • Added Documentation (Service and Code when required)

DeeDeeG and others added 30 commits March 31, 2019 16:33
Only applies during development and testing
when we use the "db/export.csv" data.

Doesn't affect production, which uses the real data in its db.
Also, clarify that there are two containers, web and db,
rather than just one; these can be viewed using
docker ps
Add border bottom to give each menu item more separation
Make filter with "focus" class more readable
Does effectively the same things as before,
but now in a simpler/faster way.

Some of the changes take inspiration from
@btyy77c's dockerAlpine branch:
https://github.com/btyy77c/refugerestrooms/blob/dockerAlpine/Dockerfile

The PhantomJS install is based on (mostly copy-pasted from)
@nkovacs' phantomjs image from Docker Hub:
https://github.com/nkovacs/selenium-standalone-phantomjs/blob/c5f6bba218472270/Dockerfile#L19-L22
(Also installs Node.js in /usr/local/
instead of installing Node.js in the root directory.)

With this updated script, we specify just a major version
and the script picks the latest minor/patch version within that.

--

Nodejs.org does most of the work by maintaining the "latest-v[MAJOR]"
folders; We only need to parse the "SHASUMS256.txt" file from there,
and pick the "linux-x64" variant, which works with our Docker setup.

At this point we can use the known directory URL, plus the filename
extracted from "SHASUMS256.txt", and download with curl, or wget, etc.

(e.g. "curl -L https://nodejs.org/dist/latest-v10.x/node-v10.16.0-linux-x64.tar.xz -o nodejs.tar.xz")

--

There is no "latest-LTS" folder or similar, so automatically getting
the latest LTS version would be more difficult.

We could search "nodejs.org/dist/" for folders with
the name "latest-[LETTERS-ONLY-STRING]", which would be the folders
of all the LTS codenames. Among these, the one with
the alphabetically last name is the latest LTS.

This would work at least until around 2040, when they may have
to loop around and re-use some earlier letters (a, b, c, etc.)
* yarn.lock: Update Node.js packages

* Gemfile.lock: Update gems
To fufill the open source agreement, we have to link to bugsnag now in our readme.
We do all the setup/build steps inside a Docker container,
so we don't need ruby tools outside of Docker
(on the Travis CI virtual machine instances).

Should save about 20 seconds of Travis CI build time.

--

Inspired by @btyy77c who did this first at their dockerAlpine branch:
  - btyy77c@393cf46

Documentation at Travis re: minimal/generic images:
  - https://docs.travis-ci.com/user/languages/minimal-and-generic/
This (the Alpine Linux-based postgresql image) is a smaller image
than the debian-based postgresql image,
so it should be marginally faster to download.

Seems like a good idea in general,
to speed up build times (even outside of Travis CI).

Also should save some disk space for developers.

--

Inspired by the general concept of @btyy77c's dockerAlpine branch:
  - https://github.com/btyy77c/refugerestrooms/commits/dockerAlpine

Docker Hub documentation on the alpine vs debian postgres images:
  - https://hub.docker.com/_/postgres#image-variants
This isn't needed anymore,
since we have removed the tumblr link from the footer.
Remove tumblr link from footer html, related places in the code
I noticed we were removing tumblr, here's one more instance
* Create devise.fil.yml

* Update devise.fil.yml

* Update for devise.fil.yml @100% Translation

* Update and rename devise.fil.yml to devise.fl.yml

* Update and rename devise.fl.yml to devise.fil.yml
Translated files from EN to FIL #451
* switched sass-rails gem (sass-rails --> sassc-rails)
DeeDeeG and others added 26 commits August 13, 2020 13:48
* Gemfile[.lock]: Update webpacker to 5.2.1

* Webpacker: Update config files

  Ran "rails webpacker:install" and committed the changes.

  In "config/webpacker.yml,"
  kept the ".js.erb" entry under "extensions:"
  so that "app/javascript/packs/lib/maps.js.erb" is included.

  In "config/webpack/environment.js,"
  kept jQuery and rails-erb-loader configs,
  as we are still using these.

* JS dependencies: Upgrade webpack-dev-server

  Commit the changes from running `rails webpacker:install`,
  but using a caret "^" semver range for "@rails/webpacker",
  rather than an exact version.

  (So that we get updates in the 5.x series)
* dependencies: Remove `swagger` node module

   We don't actually use this.

   Also removes 200 sub-dependencies,
   and makes our yarn.lock file about 1270 lines shorter!

* yarn.lock: Upgrade bootstrap to 4.5.2

   (Was at version 4.4.1)

* dependencies: Resolve node-fetch to ^2.6.1

* yarn.lock: Upgrade "selfsigned" and "node-forge"

* Gemfile[.lock]: Update Rails and dependencies

   rails was 5.2.4.3, now it's version 5.2.4.4
* Keeping filters state on pagination

* Fix Code Climates complaints.

* Fixed active issue on ada filter buttons

* Fixed undefined function problem when run rspec.
* Initialize rubocop

* Run rubocop with --fix

* Don't require magic comment

  This will affect every file and have potential side effects, so I'm
  going to start with this turned off.

* Resolve lint errors in `app`

* RSpec linting

* Resolve remaining

* Fix wrong change

* Singleton method for verify

* New lint rules

* Add rubocop to travis config

* Correct docker compose command

* Check for geo

  The condition was actually supposed to be `if geo = results.first`,
  because that's not always obvious the intention and fails lint, I'm just
  doing a truthy check for it which should be the same.

* Fix typo

* Add contributing docs for rubocop
* Applying ADA filters for the Map view of search.

* Changed comment for polyfill URLSearchParams

* Fixed bug of map marker content not showing.
* Provide a way to respond requests without thread-safe issues

  As rails docs says https://guides.rubyonrails.org/i18n.html#managing-the-locale-across-requests
  When we use 'I18n.locale =' the current locale could leak into following requests
  this is a standard and recommended way to deal with it :)

* Create a shared_example to test I18n locale switching

* Update spec/controllers/pages_controller_spec.rb
Enable puma clustered mode to process more requests and reduce latency
This way we don't need to rebuild everytime we add/update/remove a gem
* Remove unused git keep from models

* Improve identation/organization of Contact form

* Improve Restroom model organization by grouping method kinds
* Dockerfile: Update NodeJS to version 14

* yarn.lock: Bump ini from v1.3.5 to v1.3.8

* yarn.lock: Bump dompurify from v2.0.8 to v2.2.6

* Gemfile.lock: Bump nokogiri from 1.10.10 to 1.11.1

* Gemfile[.lock]: Update rails to v5.2.4.5

    Was version 5.2.4.4 (this is a patch version bump)

* Ruby: Update from 2.5.8 to 2.6.6

* Gemfile[.lock]: Update webmock (v3.2.1 to v3.12.1)

    Also update its transitive dependencies,
    within ranges allowed by Gemfile.

* Ruby: Update from 2.6.6 to 2.7.1

* Ruby: Update from 2.7.1 to 2.7.2

* Gemfile.lock: Update puma from 5.0.2 to 5.2.2

* yarn.lock: Update elliptic from v6.5.3 to v6.5.4
This reverts commit 6c63546.

We don't know for sure that we need these speed/latency gains,
and maintenance bandwidth is low for the project.

We don't want to potentially have to track down bugs,
or undo any damage done, so revert this change for now.
* yarn.lock: Update postcss-svgo, drop is-css

* yarn.lock: Update ssri to latest 6.x and 8.x

* yarn.lock: Update y18n from 4.0.0 to 4.0.3

* Gemfile[.lock]: Update Rails to 5.2.5
    Also update its dependencies.

* Gemfile.lock: Bump rexml from 3.2.4 to 3.2.5

* ruby: Bump Ruby from 2.7.2 to 2.7.3
* Gemfile[.lock]: Update Rails to 5.2.6

Also update its dependency Nokogiri to 1.11.7

* Gemfile.lock: Update Puma to 5.3.2

* yarn.lock: Update browserslist to 4.16.6

* yarn.lock: Update dns-packet to 1.3.4

* deps: Resolve chokidar to 3.x (3.4.2)

* yarn.lock: Update glob-parent to 5.1.2

* yarn.lock: Update hosted-git-info to 2.8.9

* yarn.lock: Update lodash to 4.17.21

* yarn.lock: Update postcss to 7.0.36

* yarn.lock: Update @rails/webpacker to 5.4.0

* yarn.lock: Update ua-parser-js to 0.7.28

* yarn.lock: Update url-parse to 1.5.1

* yarn.lock: Update ws to 6.2.2

* Gemfile.lock: Update rdoc to 6.3.1

* deps: Update [@rails/]webpacker to 5.4.0

Also ran `rails webpacker:install` in the Docker container.

This ensures the packages in `package[-lock].json` and
`Gemfile[.lock]` are in sync with the `webpacker` Ruby gem.

Had to review (and decline) certain conflicting file updates.

* Gemfile.lock: Update addressable to 2.8.0
* yarn.lock: Update color-string to 1.5.5

* ruby: Update from 2.7.3 to 2.7.4

* yarn.lock: Update tar from 6.0.5 to 6.1.7

* yarn.lock: Update path-parse from 1.0.6 to 1.0.7

* yarn.lock: Update url-parse from 1.5.1 to 1.5.3

* Gemfile.lock: Update jquery-rails from 4.3.5 to 4.4.0
This is for when an issue doesn't need
a complex explanation or rationale.

Or when the submitter already knows what they want to put,
and our existing, complex and lengthy template would get in the way.
* Gemfile.lock: Update nokogiri (1.11.7 to 1.12.5)

  Also update some of nokogiri's dependencies,
  specifically `mini_portile2` and `racc`.

* Gemfile.lock: Update puma (5.3.2 to 5.5.2)

  Also update puma's dependency nio4r (2.5.7 to 2.5.8).

* Gemfile[.lock]: Update better_errors 2.4 to 2.9.1

  Also update better_errors' dependency coderay (1.1.2 to 1.1.3).

* yarn.lock: Update tar (6.1.7 to 6.1.11)

* deps: Resolve ansi-regex to "^5.0.1"

* deps: Resolve ansi-html to ansi-html-community

  Pin to an exact version, 0.0.8, which I have personally verified
  only contains the desired change, plus package.json metadata changes
  and updates to README.md.

  (Pinning means we don't have to trust the independent GitHub user
  who published the fork, just the content of the patch.)

  One can do the following commands to download and inspect the contents
  of the packages themselves, as hosted on the npm package registry...
  - `npm pack ansi-html@0.0.7`
  - `npm pack ansi-html-community@0.0.8`
  Then extract the tarballs and compare the content.

  See the following for details of the fork and why it was made:
  - github.com/Tjatse[slash]ansi-html/issues/19
  - github.com/Tjatse[slash]ansi-html/issues/19#issuecomment-913119841

* deps: Resolve nth-check to 2.0.1

* ruby: Update Ruby version from 2.7.4 to 2.7.5

* deps: Update swagger-ui from 3.25.0 to 4.1.3
* yarn.lock: Update follow-redirects

  Update follow-redirects from 1.11.0 to 1.14.8.

* yarn.lock: Update selfsigned and node-forge

  Update selfsigned from 1.10.11 to 1.10.13
  Update node-forge from 0.10.0 to 1.2.1

* Gemfile[.lock]: Update rails from 5.2.6 to 5.2.6.3

  Also update some of its dependencies.

* yarn.lock: Update url-parse from 1.5.3 to 1.5.9

* yarn.lock: Update cross-fetch and node-fetch

  Also pull in some new indirect dependencies :/ ...

* Gemfile.lock: Update puma from 5.5.2 to 5.6.2

* Docker: Update NodeJS version to 16.x

  This is the new default over at Heroku.

  We should start developing and testing against this version of Node,
  in order to better match how our code will run in production/
  on the real site.

  (Reminder: We can always specify a version for production,
  if we need to, with the "engines" field of the package.json file.)

  See: https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version

* yarn.lock: Update prismjs and refractor

  Update prismjs from 1.25.0 to 1.27.0
  Update refractor from 3.5.0 to 3.6.0

* Gemfile.lock: Update nokogiri and mini_portile2

  Update nokogiri from 1.12.5 to 1.13.3,
  Update mini_portile2 from 2.6.1 to 2.8.0
* This causes problems in docker+apple m1

  (`ActiveSupport::EventedFileUpdateChecker`
  isn't working on Docker for Apple Silicon (M1) at the moment.)

  More here: evilmartians/terraforming-rails#34

* Make sure we use amd64 for Mac OS X M1 compatibility
* ruby: Upgrade Ruby from 2.7.5 to 2.7.6

* Gemfile.lock: Update nokogiri from 1.13.3 to 1.13.6

* Gemfile[.lock]: Update rails (5.2.6.3 --> 5.2.8) and its dependencies
    Also updates a few indirect dependencies.
    Specifically: concurrent-ruby, i18n, loofah, mini_mime, and thor.

* Gemfile.lock: Update puma from 5.6.2 to 5.6.4

* yarn.lock: Update minimist from 1.2.5 to 1.2.6

* yarn.lock: Update node-forge from 1.2.1 to 1.3.1

* yarn.lock: Update swagger-ui from 4.1.3 to 4.7.0
    Also update some of its dependencies, such as @braintree/sanitize-url.

* yarn.lock: Update async from 2.6.3 to 2.6.4

* Revert "yarn.lock: Update swagger-ui from 4.1.3 to 4.7.0"
    It broke when updating, not sure why. Possibly webpack-related???
    Back to swagger-ui 4.1.3.

* deps: Resolve @braintree/sanitize-url to v6.x
    Was v5.x. (This is a JS dependency, in package.json and yarn.lock.)

* yarn.lock: Update eventsource from 1.0.7 to 1.1.1

* Gemfile.lock: Update rack from 2.2.3 to 2.2.3.1
* update to new public key

* upgrade to rails 6

* add net gems to Gemfile

* update lock file

* fix linting errors with upgrade

* use proper "visible" syntax

* update API gems

* change to old css rspec helper
* yarn.lock: Update terser

* yarn.lock: Dedupe dependencies

* ruby: Bump Ruby from 3.1.0 to 3.1.2
  (Was recently updated from 2.7.6 to 3.1.0 in PR 675)
@DeeDeeG DeeDeeG merged commit 8a357c0 into master Oct 11, 2022
@DeeDeeG DeeDeeG deleted the release-1.21.0 branch October 11, 2022 15:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.