I am teaching a computer programming course this fall, which I teach every fall. I have one programming assignment per week. Each assignment's instructions are zipped and uploaded to a Canvas file that is unique to each assignment. From each assignments page, I include a hyperlink to its zip file instructions for students to download.
Assignments with due dates automatically show up on the Canvas calendar, which is incredibly helpful. (I would hate to have to manually create separate calendar events for each assignment, and then maintain two redundant due dates: 1 for the assignment, and 1 for its calendar event. But the assignment is hidden from the calendar if it is not yet published, or if today's date is prior to the assignment available date.
The problem for me is that this is kind of an "all or nothing" situation. Students either see both the assignment's due date on the calendar and the assignment's contents, or neither. My preference is to show ALL the assignments due dates on the calendar for the entire course, so that students can see and plan their whole course. What I wish to hide before the assignment is available is its content, which in my case is the zip file linked from the assignment page.
One further wrinkle, I tried un-publishing (and making it hidden in student files) the zip file in the Canvas Files area. But this is thwarted. From the Student view, a published, visible, and available assignment that links to a hidden file allows the file to be downloaded by the student, even though the file itself is not publish or not visible to students. Also, it seems any hyperlink to the file from any page (one that I might have forgotten about) could inadvertently make the file visible to students. So "hiding" the file does not seem to work.
Again, the feature lacking for me is to be able to show assignment due dates on the calendar before the assignment's available date. Students needs to know that there will be an assignment in the future, they can see it on the calendar, but it's content is not ready for them to view until I make the assignment available.